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.22.0 18// protoc v3.11.2 19// source: google/ads/googleads/v2/common/criteria.proto 20 21package common 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 wrappers "github.com/golang/protobuf/ptypes/wrappers" 29 enums "google.golang.org/genproto/googleapis/ads/googleads/v2/enums" 30 _ "google.golang.org/genproto/googleapis/api/annotations" 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// This is a compile-time assertion that a sufficiently up-to-date version 43// of the legacy proto package is being used. 44const _ = proto.ProtoPackageIsVersion4 45 46// A keyword criterion. 47type KeywordInfo struct { 48 state protoimpl.MessageState 49 sizeCache protoimpl.SizeCache 50 unknownFields protoimpl.UnknownFields 51 52 // The text of the keyword (at most 80 characters and 10 words). 53 Text *wrappers.StringValue `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` 54 // The match type of the keyword. 55 MatchType enums.KeywordMatchTypeEnum_KeywordMatchType `protobuf:"varint,2,opt,name=match_type,json=matchType,proto3,enum=google.ads.googleads.v2.enums.KeywordMatchTypeEnum_KeywordMatchType" json:"match_type,omitempty"` 56} 57 58func (x *KeywordInfo) Reset() { 59 *x = KeywordInfo{} 60 if protoimpl.UnsafeEnabled { 61 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[0] 62 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 63 ms.StoreMessageInfo(mi) 64 } 65} 66 67func (x *KeywordInfo) String() string { 68 return protoimpl.X.MessageStringOf(x) 69} 70 71func (*KeywordInfo) ProtoMessage() {} 72 73func (x *KeywordInfo) ProtoReflect() protoreflect.Message { 74 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[0] 75 if protoimpl.UnsafeEnabled && x != nil { 76 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 77 if ms.LoadMessageInfo() == nil { 78 ms.StoreMessageInfo(mi) 79 } 80 return ms 81 } 82 return mi.MessageOf(x) 83} 84 85// Deprecated: Use KeywordInfo.ProtoReflect.Descriptor instead. 86func (*KeywordInfo) Descriptor() ([]byte, []int) { 87 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{0} 88} 89 90func (x *KeywordInfo) GetText() *wrappers.StringValue { 91 if x != nil { 92 return x.Text 93 } 94 return nil 95} 96 97func (x *KeywordInfo) GetMatchType() enums.KeywordMatchTypeEnum_KeywordMatchType { 98 if x != nil { 99 return x.MatchType 100 } 101 return enums.KeywordMatchTypeEnum_UNSPECIFIED 102} 103 104// A placement criterion. This can be used to modify bids for sites when 105// targeting the content network. 106type PlacementInfo struct { 107 state protoimpl.MessageState 108 sizeCache protoimpl.SizeCache 109 unknownFields protoimpl.UnknownFields 110 111 // URL of the placement. 112 // 113 // For example, "http://www.domain.com". 114 Url *wrappers.StringValue `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` 115} 116 117func (x *PlacementInfo) Reset() { 118 *x = PlacementInfo{} 119 if protoimpl.UnsafeEnabled { 120 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[1] 121 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 122 ms.StoreMessageInfo(mi) 123 } 124} 125 126func (x *PlacementInfo) String() string { 127 return protoimpl.X.MessageStringOf(x) 128} 129 130func (*PlacementInfo) ProtoMessage() {} 131 132func (x *PlacementInfo) ProtoReflect() protoreflect.Message { 133 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[1] 134 if protoimpl.UnsafeEnabled && x != nil { 135 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 136 if ms.LoadMessageInfo() == nil { 137 ms.StoreMessageInfo(mi) 138 } 139 return ms 140 } 141 return mi.MessageOf(x) 142} 143 144// Deprecated: Use PlacementInfo.ProtoReflect.Descriptor instead. 145func (*PlacementInfo) Descriptor() ([]byte, []int) { 146 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{1} 147} 148 149func (x *PlacementInfo) GetUrl() *wrappers.StringValue { 150 if x != nil { 151 return x.Url 152 } 153 return nil 154} 155 156// A mobile app category criterion. 157type MobileAppCategoryInfo struct { 158 state protoimpl.MessageState 159 sizeCache protoimpl.SizeCache 160 unknownFields protoimpl.UnknownFields 161 162 // The mobile app category constant resource name. 163 MobileAppCategoryConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=mobile_app_category_constant,json=mobileAppCategoryConstant,proto3" json:"mobile_app_category_constant,omitempty"` 164} 165 166func (x *MobileAppCategoryInfo) Reset() { 167 *x = MobileAppCategoryInfo{} 168 if protoimpl.UnsafeEnabled { 169 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[2] 170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 171 ms.StoreMessageInfo(mi) 172 } 173} 174 175func (x *MobileAppCategoryInfo) String() string { 176 return protoimpl.X.MessageStringOf(x) 177} 178 179func (*MobileAppCategoryInfo) ProtoMessage() {} 180 181func (x *MobileAppCategoryInfo) ProtoReflect() protoreflect.Message { 182 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[2] 183 if protoimpl.UnsafeEnabled && x != nil { 184 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 185 if ms.LoadMessageInfo() == nil { 186 ms.StoreMessageInfo(mi) 187 } 188 return ms 189 } 190 return mi.MessageOf(x) 191} 192 193// Deprecated: Use MobileAppCategoryInfo.ProtoReflect.Descriptor instead. 194func (*MobileAppCategoryInfo) Descriptor() ([]byte, []int) { 195 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{2} 196} 197 198func (x *MobileAppCategoryInfo) GetMobileAppCategoryConstant() *wrappers.StringValue { 199 if x != nil { 200 return x.MobileAppCategoryConstant 201 } 202 return nil 203} 204 205// A mobile application criterion. 206type MobileApplicationInfo struct { 207 state protoimpl.MessageState 208 sizeCache protoimpl.SizeCache 209 unknownFields protoimpl.UnknownFields 210 211 // A string that uniquely identifies a mobile application to Google Ads API. 212 // The format of this string is "{platform}-{platform_native_id}", where 213 // platform is "1" for iOS apps and "2" for Android apps, and where 214 // platform_native_id is the mobile application identifier native to the 215 // corresponding platform. 216 // For iOS, this native identifier is the 9 digit string that appears at the 217 // end of an App Store URL (e.g., "476943146" for "Flood-It! 2" whose App 218 // Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). 219 // For Android, this native identifier is the application's package name 220 // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link 221 // "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). 222 // A well formed app id for Google Ads API would thus be "1-476943146" for iOS 223 // and "2-com.labpixies.colordrips" for Android. 224 // This field is required and must be set in CREATE operations. 225 AppId *wrappers.StringValue `protobuf:"bytes,2,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` 226 // Name of this mobile application. 227 Name *wrappers.StringValue `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` 228} 229 230func (x *MobileApplicationInfo) Reset() { 231 *x = MobileApplicationInfo{} 232 if protoimpl.UnsafeEnabled { 233 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[3] 234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 235 ms.StoreMessageInfo(mi) 236 } 237} 238 239func (x *MobileApplicationInfo) String() string { 240 return protoimpl.X.MessageStringOf(x) 241} 242 243func (*MobileApplicationInfo) ProtoMessage() {} 244 245func (x *MobileApplicationInfo) ProtoReflect() protoreflect.Message { 246 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[3] 247 if protoimpl.UnsafeEnabled && x != nil { 248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 249 if ms.LoadMessageInfo() == nil { 250 ms.StoreMessageInfo(mi) 251 } 252 return ms 253 } 254 return mi.MessageOf(x) 255} 256 257// Deprecated: Use MobileApplicationInfo.ProtoReflect.Descriptor instead. 258func (*MobileApplicationInfo) Descriptor() ([]byte, []int) { 259 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{3} 260} 261 262func (x *MobileApplicationInfo) GetAppId() *wrappers.StringValue { 263 if x != nil { 264 return x.AppId 265 } 266 return nil 267} 268 269func (x *MobileApplicationInfo) GetName() *wrappers.StringValue { 270 if x != nil { 271 return x.Name 272 } 273 return nil 274} 275 276// A location criterion. 277type LocationInfo struct { 278 state protoimpl.MessageState 279 sizeCache protoimpl.SizeCache 280 unknownFields protoimpl.UnknownFields 281 282 // The geo target constant resource name. 283 GeoTargetConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=geo_target_constant,json=geoTargetConstant,proto3" json:"geo_target_constant,omitempty"` 284} 285 286func (x *LocationInfo) Reset() { 287 *x = LocationInfo{} 288 if protoimpl.UnsafeEnabled { 289 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[4] 290 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 291 ms.StoreMessageInfo(mi) 292 } 293} 294 295func (x *LocationInfo) String() string { 296 return protoimpl.X.MessageStringOf(x) 297} 298 299func (*LocationInfo) ProtoMessage() {} 300 301func (x *LocationInfo) ProtoReflect() protoreflect.Message { 302 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[4] 303 if protoimpl.UnsafeEnabled && x != nil { 304 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 305 if ms.LoadMessageInfo() == nil { 306 ms.StoreMessageInfo(mi) 307 } 308 return ms 309 } 310 return mi.MessageOf(x) 311} 312 313// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead. 314func (*LocationInfo) Descriptor() ([]byte, []int) { 315 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{4} 316} 317 318func (x *LocationInfo) GetGeoTargetConstant() *wrappers.StringValue { 319 if x != nil { 320 return x.GeoTargetConstant 321 } 322 return nil 323} 324 325// A device criterion. 326type DeviceInfo struct { 327 state protoimpl.MessageState 328 sizeCache protoimpl.SizeCache 329 unknownFields protoimpl.UnknownFields 330 331 // Type of the device. 332 Type enums.DeviceEnum_Device `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.DeviceEnum_Device" json:"type,omitempty"` 333} 334 335func (x *DeviceInfo) Reset() { 336 *x = DeviceInfo{} 337 if protoimpl.UnsafeEnabled { 338 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[5] 339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 340 ms.StoreMessageInfo(mi) 341 } 342} 343 344func (x *DeviceInfo) String() string { 345 return protoimpl.X.MessageStringOf(x) 346} 347 348func (*DeviceInfo) ProtoMessage() {} 349 350func (x *DeviceInfo) ProtoReflect() protoreflect.Message { 351 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[5] 352 if protoimpl.UnsafeEnabled && x != nil { 353 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 354 if ms.LoadMessageInfo() == nil { 355 ms.StoreMessageInfo(mi) 356 } 357 return ms 358 } 359 return mi.MessageOf(x) 360} 361 362// Deprecated: Use DeviceInfo.ProtoReflect.Descriptor instead. 363func (*DeviceInfo) Descriptor() ([]byte, []int) { 364 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{5} 365} 366 367func (x *DeviceInfo) GetType() enums.DeviceEnum_Device { 368 if x != nil { 369 return x.Type 370 } 371 return enums.DeviceEnum_UNSPECIFIED 372} 373 374// A preferred content criterion. 375type PreferredContentInfo struct { 376 state protoimpl.MessageState 377 sizeCache protoimpl.SizeCache 378 unknownFields protoimpl.UnknownFields 379 380 // Type of the preferred content. 381 Type enums.PreferredContentTypeEnum_PreferredContentType `protobuf:"varint,2,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.PreferredContentTypeEnum_PreferredContentType" json:"type,omitempty"` 382} 383 384func (x *PreferredContentInfo) Reset() { 385 *x = PreferredContentInfo{} 386 if protoimpl.UnsafeEnabled { 387 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[6] 388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 389 ms.StoreMessageInfo(mi) 390 } 391} 392 393func (x *PreferredContentInfo) String() string { 394 return protoimpl.X.MessageStringOf(x) 395} 396 397func (*PreferredContentInfo) ProtoMessage() {} 398 399func (x *PreferredContentInfo) ProtoReflect() protoreflect.Message { 400 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[6] 401 if protoimpl.UnsafeEnabled && x != nil { 402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 403 if ms.LoadMessageInfo() == nil { 404 ms.StoreMessageInfo(mi) 405 } 406 return ms 407 } 408 return mi.MessageOf(x) 409} 410 411// Deprecated: Use PreferredContentInfo.ProtoReflect.Descriptor instead. 412func (*PreferredContentInfo) Descriptor() ([]byte, []int) { 413 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{6} 414} 415 416func (x *PreferredContentInfo) GetType() enums.PreferredContentTypeEnum_PreferredContentType { 417 if x != nil { 418 return x.Type 419 } 420 return enums.PreferredContentTypeEnum_UNSPECIFIED 421} 422 423// A listing group criterion. 424type ListingGroupInfo struct { 425 state protoimpl.MessageState 426 sizeCache protoimpl.SizeCache 427 unknownFields protoimpl.UnknownFields 428 429 // Type of the listing group. 430 Type enums.ListingGroupTypeEnum_ListingGroupType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.ListingGroupTypeEnum_ListingGroupType" json:"type,omitempty"` 431 // Dimension value with which this listing group is refining its parent. 432 // Undefined for the root group. 433 CaseValue *ListingDimensionInfo `protobuf:"bytes,2,opt,name=case_value,json=caseValue,proto3" json:"case_value,omitempty"` 434 // Resource name of ad group criterion which is the parent listing group 435 // subdivision. Null for the root group. 436 ParentAdGroupCriterion *wrappers.StringValue `protobuf:"bytes,3,opt,name=parent_ad_group_criterion,json=parentAdGroupCriterion,proto3" json:"parent_ad_group_criterion,omitempty"` 437} 438 439func (x *ListingGroupInfo) Reset() { 440 *x = ListingGroupInfo{} 441 if protoimpl.UnsafeEnabled { 442 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[7] 443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 444 ms.StoreMessageInfo(mi) 445 } 446} 447 448func (x *ListingGroupInfo) String() string { 449 return protoimpl.X.MessageStringOf(x) 450} 451 452func (*ListingGroupInfo) ProtoMessage() {} 453 454func (x *ListingGroupInfo) ProtoReflect() protoreflect.Message { 455 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[7] 456 if protoimpl.UnsafeEnabled && x != nil { 457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 458 if ms.LoadMessageInfo() == nil { 459 ms.StoreMessageInfo(mi) 460 } 461 return ms 462 } 463 return mi.MessageOf(x) 464} 465 466// Deprecated: Use ListingGroupInfo.ProtoReflect.Descriptor instead. 467func (*ListingGroupInfo) Descriptor() ([]byte, []int) { 468 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{7} 469} 470 471func (x *ListingGroupInfo) GetType() enums.ListingGroupTypeEnum_ListingGroupType { 472 if x != nil { 473 return x.Type 474 } 475 return enums.ListingGroupTypeEnum_UNSPECIFIED 476} 477 478func (x *ListingGroupInfo) GetCaseValue() *ListingDimensionInfo { 479 if x != nil { 480 return x.CaseValue 481 } 482 return nil 483} 484 485func (x *ListingGroupInfo) GetParentAdGroupCriterion() *wrappers.StringValue { 486 if x != nil { 487 return x.ParentAdGroupCriterion 488 } 489 return nil 490} 491 492// A listing scope criterion. 493type ListingScopeInfo struct { 494 state protoimpl.MessageState 495 sizeCache protoimpl.SizeCache 496 unknownFields protoimpl.UnknownFields 497 498 // Scope of the campaign criterion. 499 Dimensions []*ListingDimensionInfo `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"` 500} 501 502func (x *ListingScopeInfo) Reset() { 503 *x = ListingScopeInfo{} 504 if protoimpl.UnsafeEnabled { 505 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[8] 506 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 507 ms.StoreMessageInfo(mi) 508 } 509} 510 511func (x *ListingScopeInfo) String() string { 512 return protoimpl.X.MessageStringOf(x) 513} 514 515func (*ListingScopeInfo) ProtoMessage() {} 516 517func (x *ListingScopeInfo) ProtoReflect() protoreflect.Message { 518 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[8] 519 if protoimpl.UnsafeEnabled && x != nil { 520 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 521 if ms.LoadMessageInfo() == nil { 522 ms.StoreMessageInfo(mi) 523 } 524 return ms 525 } 526 return mi.MessageOf(x) 527} 528 529// Deprecated: Use ListingScopeInfo.ProtoReflect.Descriptor instead. 530func (*ListingScopeInfo) Descriptor() ([]byte, []int) { 531 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{8} 532} 533 534func (x *ListingScopeInfo) GetDimensions() []*ListingDimensionInfo { 535 if x != nil { 536 return x.Dimensions 537 } 538 return nil 539} 540 541// Listing dimensions for listing group criterion. 542type ListingDimensionInfo struct { 543 state protoimpl.MessageState 544 sizeCache protoimpl.SizeCache 545 unknownFields protoimpl.UnknownFields 546 547 // Dimension of one of the types below is always present. 548 // 549 // Types that are assignable to Dimension: 550 // *ListingDimensionInfo_ListingBrand 551 // *ListingDimensionInfo_HotelId 552 // *ListingDimensionInfo_HotelClass 553 // *ListingDimensionInfo_HotelCountryRegion 554 // *ListingDimensionInfo_HotelState 555 // *ListingDimensionInfo_HotelCity 556 // *ListingDimensionInfo_ListingCustomAttribute 557 // *ListingDimensionInfo_ProductBiddingCategory 558 // *ListingDimensionInfo_ProductChannel 559 // *ListingDimensionInfo_ProductChannelExclusivity 560 // *ListingDimensionInfo_ProductCondition 561 // *ListingDimensionInfo_ProductItemId 562 // *ListingDimensionInfo_ProductType 563 // *ListingDimensionInfo_UnknownListingDimension 564 Dimension isListingDimensionInfo_Dimension `protobuf_oneof:"dimension"` 565} 566 567func (x *ListingDimensionInfo) Reset() { 568 *x = ListingDimensionInfo{} 569 if protoimpl.UnsafeEnabled { 570 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[9] 571 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 572 ms.StoreMessageInfo(mi) 573 } 574} 575 576func (x *ListingDimensionInfo) String() string { 577 return protoimpl.X.MessageStringOf(x) 578} 579 580func (*ListingDimensionInfo) ProtoMessage() {} 581 582func (x *ListingDimensionInfo) ProtoReflect() protoreflect.Message { 583 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[9] 584 if protoimpl.UnsafeEnabled && x != nil { 585 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 586 if ms.LoadMessageInfo() == nil { 587 ms.StoreMessageInfo(mi) 588 } 589 return ms 590 } 591 return mi.MessageOf(x) 592} 593 594// Deprecated: Use ListingDimensionInfo.ProtoReflect.Descriptor instead. 595func (*ListingDimensionInfo) Descriptor() ([]byte, []int) { 596 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{9} 597} 598 599func (m *ListingDimensionInfo) GetDimension() isListingDimensionInfo_Dimension { 600 if m != nil { 601 return m.Dimension 602 } 603 return nil 604} 605 606func (x *ListingDimensionInfo) GetListingBrand() *ListingBrandInfo { 607 if x, ok := x.GetDimension().(*ListingDimensionInfo_ListingBrand); ok { 608 return x.ListingBrand 609 } 610 return nil 611} 612 613func (x *ListingDimensionInfo) GetHotelId() *HotelIdInfo { 614 if x, ok := x.GetDimension().(*ListingDimensionInfo_HotelId); ok { 615 return x.HotelId 616 } 617 return nil 618} 619 620func (x *ListingDimensionInfo) GetHotelClass() *HotelClassInfo { 621 if x, ok := x.GetDimension().(*ListingDimensionInfo_HotelClass); ok { 622 return x.HotelClass 623 } 624 return nil 625} 626 627func (x *ListingDimensionInfo) GetHotelCountryRegion() *HotelCountryRegionInfo { 628 if x, ok := x.GetDimension().(*ListingDimensionInfo_HotelCountryRegion); ok { 629 return x.HotelCountryRegion 630 } 631 return nil 632} 633 634func (x *ListingDimensionInfo) GetHotelState() *HotelStateInfo { 635 if x, ok := x.GetDimension().(*ListingDimensionInfo_HotelState); ok { 636 return x.HotelState 637 } 638 return nil 639} 640 641func (x *ListingDimensionInfo) GetHotelCity() *HotelCityInfo { 642 if x, ok := x.GetDimension().(*ListingDimensionInfo_HotelCity); ok { 643 return x.HotelCity 644 } 645 return nil 646} 647 648func (x *ListingDimensionInfo) GetListingCustomAttribute() *ListingCustomAttributeInfo { 649 if x, ok := x.GetDimension().(*ListingDimensionInfo_ListingCustomAttribute); ok { 650 return x.ListingCustomAttribute 651 } 652 return nil 653} 654 655func (x *ListingDimensionInfo) GetProductBiddingCategory() *ProductBiddingCategoryInfo { 656 if x, ok := x.GetDimension().(*ListingDimensionInfo_ProductBiddingCategory); ok { 657 return x.ProductBiddingCategory 658 } 659 return nil 660} 661 662func (x *ListingDimensionInfo) GetProductChannel() *ProductChannelInfo { 663 if x, ok := x.GetDimension().(*ListingDimensionInfo_ProductChannel); ok { 664 return x.ProductChannel 665 } 666 return nil 667} 668 669func (x *ListingDimensionInfo) GetProductChannelExclusivity() *ProductChannelExclusivityInfo { 670 if x, ok := x.GetDimension().(*ListingDimensionInfo_ProductChannelExclusivity); ok { 671 return x.ProductChannelExclusivity 672 } 673 return nil 674} 675 676func (x *ListingDimensionInfo) GetProductCondition() *ProductConditionInfo { 677 if x, ok := x.GetDimension().(*ListingDimensionInfo_ProductCondition); ok { 678 return x.ProductCondition 679 } 680 return nil 681} 682 683func (x *ListingDimensionInfo) GetProductItemId() *ProductItemIdInfo { 684 if x, ok := x.GetDimension().(*ListingDimensionInfo_ProductItemId); ok { 685 return x.ProductItemId 686 } 687 return nil 688} 689 690func (x *ListingDimensionInfo) GetProductType() *ProductTypeInfo { 691 if x, ok := x.GetDimension().(*ListingDimensionInfo_ProductType); ok { 692 return x.ProductType 693 } 694 return nil 695} 696 697func (x *ListingDimensionInfo) GetUnknownListingDimension() *UnknownListingDimensionInfo { 698 if x, ok := x.GetDimension().(*ListingDimensionInfo_UnknownListingDimension); ok { 699 return x.UnknownListingDimension 700 } 701 return nil 702} 703 704type isListingDimensionInfo_Dimension interface { 705 isListingDimensionInfo_Dimension() 706} 707 708type ListingDimensionInfo_ListingBrand struct { 709 // Brand of the listing. 710 ListingBrand *ListingBrandInfo `protobuf:"bytes,1,opt,name=listing_brand,json=listingBrand,proto3,oneof"` 711} 712 713type ListingDimensionInfo_HotelId struct { 714 // Advertiser-specific hotel ID. 715 HotelId *HotelIdInfo `protobuf:"bytes,2,opt,name=hotel_id,json=hotelId,proto3,oneof"` 716} 717 718type ListingDimensionInfo_HotelClass struct { 719 // Class of the hotel as a number of stars 1 to 5. 720 HotelClass *HotelClassInfo `protobuf:"bytes,3,opt,name=hotel_class,json=hotelClass,proto3,oneof"` 721} 722 723type ListingDimensionInfo_HotelCountryRegion struct { 724 // Country or Region the hotel is located in. 725 HotelCountryRegion *HotelCountryRegionInfo `protobuf:"bytes,4,opt,name=hotel_country_region,json=hotelCountryRegion,proto3,oneof"` 726} 727 728type ListingDimensionInfo_HotelState struct { 729 // State the hotel is located in. 730 HotelState *HotelStateInfo `protobuf:"bytes,5,opt,name=hotel_state,json=hotelState,proto3,oneof"` 731} 732 733type ListingDimensionInfo_HotelCity struct { 734 // City the hotel is located in. 735 HotelCity *HotelCityInfo `protobuf:"bytes,6,opt,name=hotel_city,json=hotelCity,proto3,oneof"` 736} 737 738type ListingDimensionInfo_ListingCustomAttribute struct { 739 // Listing custom attribute. 740 ListingCustomAttribute *ListingCustomAttributeInfo `protobuf:"bytes,7,opt,name=listing_custom_attribute,json=listingCustomAttribute,proto3,oneof"` 741} 742 743type ListingDimensionInfo_ProductBiddingCategory struct { 744 // Bidding category of a product offer. 745 ProductBiddingCategory *ProductBiddingCategoryInfo `protobuf:"bytes,13,opt,name=product_bidding_category,json=productBiddingCategory,proto3,oneof"` 746} 747 748type ListingDimensionInfo_ProductChannel struct { 749 // Locality of a product offer. 750 ProductChannel *ProductChannelInfo `protobuf:"bytes,8,opt,name=product_channel,json=productChannel,proto3,oneof"` 751} 752 753type ListingDimensionInfo_ProductChannelExclusivity struct { 754 // Availability of a product offer. 755 ProductChannelExclusivity *ProductChannelExclusivityInfo `protobuf:"bytes,9,opt,name=product_channel_exclusivity,json=productChannelExclusivity,proto3,oneof"` 756} 757 758type ListingDimensionInfo_ProductCondition struct { 759 // Condition of a product offer. 760 ProductCondition *ProductConditionInfo `protobuf:"bytes,10,opt,name=product_condition,json=productCondition,proto3,oneof"` 761} 762 763type ListingDimensionInfo_ProductItemId struct { 764 // Item id of a product offer. 765 ProductItemId *ProductItemIdInfo `protobuf:"bytes,11,opt,name=product_item_id,json=productItemId,proto3,oneof"` 766} 767 768type ListingDimensionInfo_ProductType struct { 769 // Type of a product offer. 770 ProductType *ProductTypeInfo `protobuf:"bytes,12,opt,name=product_type,json=productType,proto3,oneof"` 771} 772 773type ListingDimensionInfo_UnknownListingDimension struct { 774 // Unknown dimension. Set when no other listing dimension is set. 775 UnknownListingDimension *UnknownListingDimensionInfo `protobuf:"bytes,14,opt,name=unknown_listing_dimension,json=unknownListingDimension,proto3,oneof"` 776} 777 778func (*ListingDimensionInfo_ListingBrand) isListingDimensionInfo_Dimension() {} 779 780func (*ListingDimensionInfo_HotelId) isListingDimensionInfo_Dimension() {} 781 782func (*ListingDimensionInfo_HotelClass) isListingDimensionInfo_Dimension() {} 783 784func (*ListingDimensionInfo_HotelCountryRegion) isListingDimensionInfo_Dimension() {} 785 786func (*ListingDimensionInfo_HotelState) isListingDimensionInfo_Dimension() {} 787 788func (*ListingDimensionInfo_HotelCity) isListingDimensionInfo_Dimension() {} 789 790func (*ListingDimensionInfo_ListingCustomAttribute) isListingDimensionInfo_Dimension() {} 791 792func (*ListingDimensionInfo_ProductBiddingCategory) isListingDimensionInfo_Dimension() {} 793 794func (*ListingDimensionInfo_ProductChannel) isListingDimensionInfo_Dimension() {} 795 796func (*ListingDimensionInfo_ProductChannelExclusivity) isListingDimensionInfo_Dimension() {} 797 798func (*ListingDimensionInfo_ProductCondition) isListingDimensionInfo_Dimension() {} 799 800func (*ListingDimensionInfo_ProductItemId) isListingDimensionInfo_Dimension() {} 801 802func (*ListingDimensionInfo_ProductType) isListingDimensionInfo_Dimension() {} 803 804func (*ListingDimensionInfo_UnknownListingDimension) isListingDimensionInfo_Dimension() {} 805 806// Brand of the listing. 807type ListingBrandInfo struct { 808 state protoimpl.MessageState 809 sizeCache protoimpl.SizeCache 810 unknownFields protoimpl.UnknownFields 811 812 // String value of the listing brand. 813 Value *wrappers.StringValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 814} 815 816func (x *ListingBrandInfo) Reset() { 817 *x = ListingBrandInfo{} 818 if protoimpl.UnsafeEnabled { 819 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[10] 820 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 821 ms.StoreMessageInfo(mi) 822 } 823} 824 825func (x *ListingBrandInfo) String() string { 826 return protoimpl.X.MessageStringOf(x) 827} 828 829func (*ListingBrandInfo) ProtoMessage() {} 830 831func (x *ListingBrandInfo) ProtoReflect() protoreflect.Message { 832 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[10] 833 if protoimpl.UnsafeEnabled && x != nil { 834 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 835 if ms.LoadMessageInfo() == nil { 836 ms.StoreMessageInfo(mi) 837 } 838 return ms 839 } 840 return mi.MessageOf(x) 841} 842 843// Deprecated: Use ListingBrandInfo.ProtoReflect.Descriptor instead. 844func (*ListingBrandInfo) Descriptor() ([]byte, []int) { 845 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{10} 846} 847 848func (x *ListingBrandInfo) GetValue() *wrappers.StringValue { 849 if x != nil { 850 return x.Value 851 } 852 return nil 853} 854 855// Advertiser-specific hotel ID. 856type HotelIdInfo struct { 857 state protoimpl.MessageState 858 sizeCache protoimpl.SizeCache 859 unknownFields protoimpl.UnknownFields 860 861 // String value of the hotel ID. 862 Value *wrappers.StringValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 863} 864 865func (x *HotelIdInfo) Reset() { 866 *x = HotelIdInfo{} 867 if protoimpl.UnsafeEnabled { 868 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[11] 869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 870 ms.StoreMessageInfo(mi) 871 } 872} 873 874func (x *HotelIdInfo) String() string { 875 return protoimpl.X.MessageStringOf(x) 876} 877 878func (*HotelIdInfo) ProtoMessage() {} 879 880func (x *HotelIdInfo) ProtoReflect() protoreflect.Message { 881 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[11] 882 if protoimpl.UnsafeEnabled && x != nil { 883 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 884 if ms.LoadMessageInfo() == nil { 885 ms.StoreMessageInfo(mi) 886 } 887 return ms 888 } 889 return mi.MessageOf(x) 890} 891 892// Deprecated: Use HotelIdInfo.ProtoReflect.Descriptor instead. 893func (*HotelIdInfo) Descriptor() ([]byte, []int) { 894 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{11} 895} 896 897func (x *HotelIdInfo) GetValue() *wrappers.StringValue { 898 if x != nil { 899 return x.Value 900 } 901 return nil 902} 903 904// Class of the hotel as a number of stars 1 to 5. 905type HotelClassInfo struct { 906 state protoimpl.MessageState 907 sizeCache protoimpl.SizeCache 908 unknownFields protoimpl.UnknownFields 909 910 // Long value of the hotel class. 911 Value *wrappers.Int64Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 912} 913 914func (x *HotelClassInfo) Reset() { 915 *x = HotelClassInfo{} 916 if protoimpl.UnsafeEnabled { 917 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[12] 918 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 919 ms.StoreMessageInfo(mi) 920 } 921} 922 923func (x *HotelClassInfo) String() string { 924 return protoimpl.X.MessageStringOf(x) 925} 926 927func (*HotelClassInfo) ProtoMessage() {} 928 929func (x *HotelClassInfo) ProtoReflect() protoreflect.Message { 930 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[12] 931 if protoimpl.UnsafeEnabled && x != nil { 932 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 933 if ms.LoadMessageInfo() == nil { 934 ms.StoreMessageInfo(mi) 935 } 936 return ms 937 } 938 return mi.MessageOf(x) 939} 940 941// Deprecated: Use HotelClassInfo.ProtoReflect.Descriptor instead. 942func (*HotelClassInfo) Descriptor() ([]byte, []int) { 943 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{12} 944} 945 946func (x *HotelClassInfo) GetValue() *wrappers.Int64Value { 947 if x != nil { 948 return x.Value 949 } 950 return nil 951} 952 953// Country or Region the hotel is located in. 954type HotelCountryRegionInfo struct { 955 state protoimpl.MessageState 956 sizeCache protoimpl.SizeCache 957 unknownFields protoimpl.UnknownFields 958 959 // The Geo Target Constant resource name. 960 CountryRegionCriterion *wrappers.StringValue `protobuf:"bytes,1,opt,name=country_region_criterion,json=countryRegionCriterion,proto3" json:"country_region_criterion,omitempty"` 961} 962 963func (x *HotelCountryRegionInfo) Reset() { 964 *x = HotelCountryRegionInfo{} 965 if protoimpl.UnsafeEnabled { 966 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[13] 967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 968 ms.StoreMessageInfo(mi) 969 } 970} 971 972func (x *HotelCountryRegionInfo) String() string { 973 return protoimpl.X.MessageStringOf(x) 974} 975 976func (*HotelCountryRegionInfo) ProtoMessage() {} 977 978func (x *HotelCountryRegionInfo) ProtoReflect() protoreflect.Message { 979 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[13] 980 if protoimpl.UnsafeEnabled && x != nil { 981 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 982 if ms.LoadMessageInfo() == nil { 983 ms.StoreMessageInfo(mi) 984 } 985 return ms 986 } 987 return mi.MessageOf(x) 988} 989 990// Deprecated: Use HotelCountryRegionInfo.ProtoReflect.Descriptor instead. 991func (*HotelCountryRegionInfo) Descriptor() ([]byte, []int) { 992 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{13} 993} 994 995func (x *HotelCountryRegionInfo) GetCountryRegionCriterion() *wrappers.StringValue { 996 if x != nil { 997 return x.CountryRegionCriterion 998 } 999 return nil 1000} 1001 1002// State the hotel is located in. 1003type HotelStateInfo struct { 1004 state protoimpl.MessageState 1005 sizeCache protoimpl.SizeCache 1006 unknownFields protoimpl.UnknownFields 1007 1008 // The Geo Target Constant resource name. 1009 StateCriterion *wrappers.StringValue `protobuf:"bytes,1,opt,name=state_criterion,json=stateCriterion,proto3" json:"state_criterion,omitempty"` 1010} 1011 1012func (x *HotelStateInfo) Reset() { 1013 *x = HotelStateInfo{} 1014 if protoimpl.UnsafeEnabled { 1015 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[14] 1016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1017 ms.StoreMessageInfo(mi) 1018 } 1019} 1020 1021func (x *HotelStateInfo) String() string { 1022 return protoimpl.X.MessageStringOf(x) 1023} 1024 1025func (*HotelStateInfo) ProtoMessage() {} 1026 1027func (x *HotelStateInfo) ProtoReflect() protoreflect.Message { 1028 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[14] 1029 if protoimpl.UnsafeEnabled && x != nil { 1030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1031 if ms.LoadMessageInfo() == nil { 1032 ms.StoreMessageInfo(mi) 1033 } 1034 return ms 1035 } 1036 return mi.MessageOf(x) 1037} 1038 1039// Deprecated: Use HotelStateInfo.ProtoReflect.Descriptor instead. 1040func (*HotelStateInfo) Descriptor() ([]byte, []int) { 1041 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{14} 1042} 1043 1044func (x *HotelStateInfo) GetStateCriterion() *wrappers.StringValue { 1045 if x != nil { 1046 return x.StateCriterion 1047 } 1048 return nil 1049} 1050 1051// City the hotel is located in. 1052type HotelCityInfo struct { 1053 state protoimpl.MessageState 1054 sizeCache protoimpl.SizeCache 1055 unknownFields protoimpl.UnknownFields 1056 1057 // The Geo Target Constant resource name. 1058 CityCriterion *wrappers.StringValue `protobuf:"bytes,1,opt,name=city_criterion,json=cityCriterion,proto3" json:"city_criterion,omitempty"` 1059} 1060 1061func (x *HotelCityInfo) Reset() { 1062 *x = HotelCityInfo{} 1063 if protoimpl.UnsafeEnabled { 1064 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[15] 1065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1066 ms.StoreMessageInfo(mi) 1067 } 1068} 1069 1070func (x *HotelCityInfo) String() string { 1071 return protoimpl.X.MessageStringOf(x) 1072} 1073 1074func (*HotelCityInfo) ProtoMessage() {} 1075 1076func (x *HotelCityInfo) ProtoReflect() protoreflect.Message { 1077 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[15] 1078 if protoimpl.UnsafeEnabled && x != nil { 1079 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1080 if ms.LoadMessageInfo() == nil { 1081 ms.StoreMessageInfo(mi) 1082 } 1083 return ms 1084 } 1085 return mi.MessageOf(x) 1086} 1087 1088// Deprecated: Use HotelCityInfo.ProtoReflect.Descriptor instead. 1089func (*HotelCityInfo) Descriptor() ([]byte, []int) { 1090 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{15} 1091} 1092 1093func (x *HotelCityInfo) GetCityCriterion() *wrappers.StringValue { 1094 if x != nil { 1095 return x.CityCriterion 1096 } 1097 return nil 1098} 1099 1100// Listing custom attribute. 1101type ListingCustomAttributeInfo struct { 1102 state protoimpl.MessageState 1103 sizeCache protoimpl.SizeCache 1104 unknownFields protoimpl.UnknownFields 1105 1106 // String value of the listing custom attribute. 1107 Value *wrappers.StringValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 1108 // Indicates the index of the custom attribute. 1109 Index enums.ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex `protobuf:"varint,2,opt,name=index,proto3,enum=google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex" json:"index,omitempty"` 1110} 1111 1112func (x *ListingCustomAttributeInfo) Reset() { 1113 *x = ListingCustomAttributeInfo{} 1114 if protoimpl.UnsafeEnabled { 1115 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[16] 1116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1117 ms.StoreMessageInfo(mi) 1118 } 1119} 1120 1121func (x *ListingCustomAttributeInfo) String() string { 1122 return protoimpl.X.MessageStringOf(x) 1123} 1124 1125func (*ListingCustomAttributeInfo) ProtoMessage() {} 1126 1127func (x *ListingCustomAttributeInfo) ProtoReflect() protoreflect.Message { 1128 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[16] 1129 if protoimpl.UnsafeEnabled && x != nil { 1130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1131 if ms.LoadMessageInfo() == nil { 1132 ms.StoreMessageInfo(mi) 1133 } 1134 return ms 1135 } 1136 return mi.MessageOf(x) 1137} 1138 1139// Deprecated: Use ListingCustomAttributeInfo.ProtoReflect.Descriptor instead. 1140func (*ListingCustomAttributeInfo) Descriptor() ([]byte, []int) { 1141 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{16} 1142} 1143 1144func (x *ListingCustomAttributeInfo) GetValue() *wrappers.StringValue { 1145 if x != nil { 1146 return x.Value 1147 } 1148 return nil 1149} 1150 1151func (x *ListingCustomAttributeInfo) GetIndex() enums.ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex { 1152 if x != nil { 1153 return x.Index 1154 } 1155 return enums.ListingCustomAttributeIndexEnum_UNSPECIFIED 1156} 1157 1158// Bidding category of a product offer. 1159type ProductBiddingCategoryInfo struct { 1160 state protoimpl.MessageState 1161 sizeCache protoimpl.SizeCache 1162 unknownFields protoimpl.UnknownFields 1163 1164 // ID of the product bidding category. 1165 // 1166 // This ID is equivalent to the google_product_category ID as described in 1167 // this article: https://support.google.com/merchants/answer/6324436 1168 Id *wrappers.Int64Value `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 1169 // Two-letter upper-case country code of the product bidding category. It must 1170 // match the campaign.shopping_setting.sales_country field. 1171 CountryCode *wrappers.StringValue `protobuf:"bytes,2,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 1172 // Level of the product bidding category. 1173 Level enums.ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel `protobuf:"varint,3,opt,name=level,proto3,enum=google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel" json:"level,omitempty"` 1174} 1175 1176func (x *ProductBiddingCategoryInfo) Reset() { 1177 *x = ProductBiddingCategoryInfo{} 1178 if protoimpl.UnsafeEnabled { 1179 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[17] 1180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1181 ms.StoreMessageInfo(mi) 1182 } 1183} 1184 1185func (x *ProductBiddingCategoryInfo) String() string { 1186 return protoimpl.X.MessageStringOf(x) 1187} 1188 1189func (*ProductBiddingCategoryInfo) ProtoMessage() {} 1190 1191func (x *ProductBiddingCategoryInfo) ProtoReflect() protoreflect.Message { 1192 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[17] 1193 if protoimpl.UnsafeEnabled && x != nil { 1194 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1195 if ms.LoadMessageInfo() == nil { 1196 ms.StoreMessageInfo(mi) 1197 } 1198 return ms 1199 } 1200 return mi.MessageOf(x) 1201} 1202 1203// Deprecated: Use ProductBiddingCategoryInfo.ProtoReflect.Descriptor instead. 1204func (*ProductBiddingCategoryInfo) Descriptor() ([]byte, []int) { 1205 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{17} 1206} 1207 1208func (x *ProductBiddingCategoryInfo) GetId() *wrappers.Int64Value { 1209 if x != nil { 1210 return x.Id 1211 } 1212 return nil 1213} 1214 1215func (x *ProductBiddingCategoryInfo) GetCountryCode() *wrappers.StringValue { 1216 if x != nil { 1217 return x.CountryCode 1218 } 1219 return nil 1220} 1221 1222func (x *ProductBiddingCategoryInfo) GetLevel() enums.ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel { 1223 if x != nil { 1224 return x.Level 1225 } 1226 return enums.ProductBiddingCategoryLevelEnum_UNSPECIFIED 1227} 1228 1229// Locality of a product offer. 1230type ProductChannelInfo struct { 1231 state protoimpl.MessageState 1232 sizeCache protoimpl.SizeCache 1233 unknownFields protoimpl.UnknownFields 1234 1235 // Value of the locality. 1236 Channel enums.ProductChannelEnum_ProductChannel `protobuf:"varint,1,opt,name=channel,proto3,enum=google.ads.googleads.v2.enums.ProductChannelEnum_ProductChannel" json:"channel,omitempty"` 1237} 1238 1239func (x *ProductChannelInfo) Reset() { 1240 *x = ProductChannelInfo{} 1241 if protoimpl.UnsafeEnabled { 1242 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[18] 1243 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1244 ms.StoreMessageInfo(mi) 1245 } 1246} 1247 1248func (x *ProductChannelInfo) String() string { 1249 return protoimpl.X.MessageStringOf(x) 1250} 1251 1252func (*ProductChannelInfo) ProtoMessage() {} 1253 1254func (x *ProductChannelInfo) ProtoReflect() protoreflect.Message { 1255 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[18] 1256 if protoimpl.UnsafeEnabled && x != nil { 1257 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1258 if ms.LoadMessageInfo() == nil { 1259 ms.StoreMessageInfo(mi) 1260 } 1261 return ms 1262 } 1263 return mi.MessageOf(x) 1264} 1265 1266// Deprecated: Use ProductChannelInfo.ProtoReflect.Descriptor instead. 1267func (*ProductChannelInfo) Descriptor() ([]byte, []int) { 1268 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{18} 1269} 1270 1271func (x *ProductChannelInfo) GetChannel() enums.ProductChannelEnum_ProductChannel { 1272 if x != nil { 1273 return x.Channel 1274 } 1275 return enums.ProductChannelEnum_UNSPECIFIED 1276} 1277 1278// Availability of a product offer. 1279type ProductChannelExclusivityInfo struct { 1280 state protoimpl.MessageState 1281 sizeCache protoimpl.SizeCache 1282 unknownFields protoimpl.UnknownFields 1283 1284 // Value of the availability. 1285 ChannelExclusivity enums.ProductChannelExclusivityEnum_ProductChannelExclusivity `protobuf:"varint,1,opt,name=channel_exclusivity,json=channelExclusivity,proto3,enum=google.ads.googleads.v2.enums.ProductChannelExclusivityEnum_ProductChannelExclusivity" json:"channel_exclusivity,omitempty"` 1286} 1287 1288func (x *ProductChannelExclusivityInfo) Reset() { 1289 *x = ProductChannelExclusivityInfo{} 1290 if protoimpl.UnsafeEnabled { 1291 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[19] 1292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1293 ms.StoreMessageInfo(mi) 1294 } 1295} 1296 1297func (x *ProductChannelExclusivityInfo) String() string { 1298 return protoimpl.X.MessageStringOf(x) 1299} 1300 1301func (*ProductChannelExclusivityInfo) ProtoMessage() {} 1302 1303func (x *ProductChannelExclusivityInfo) ProtoReflect() protoreflect.Message { 1304 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[19] 1305 if protoimpl.UnsafeEnabled && x != nil { 1306 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1307 if ms.LoadMessageInfo() == nil { 1308 ms.StoreMessageInfo(mi) 1309 } 1310 return ms 1311 } 1312 return mi.MessageOf(x) 1313} 1314 1315// Deprecated: Use ProductChannelExclusivityInfo.ProtoReflect.Descriptor instead. 1316func (*ProductChannelExclusivityInfo) Descriptor() ([]byte, []int) { 1317 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{19} 1318} 1319 1320func (x *ProductChannelExclusivityInfo) GetChannelExclusivity() enums.ProductChannelExclusivityEnum_ProductChannelExclusivity { 1321 if x != nil { 1322 return x.ChannelExclusivity 1323 } 1324 return enums.ProductChannelExclusivityEnum_UNSPECIFIED 1325} 1326 1327// Condition of a product offer. 1328type ProductConditionInfo struct { 1329 state protoimpl.MessageState 1330 sizeCache protoimpl.SizeCache 1331 unknownFields protoimpl.UnknownFields 1332 1333 // Value of the condition. 1334 Condition enums.ProductConditionEnum_ProductCondition `protobuf:"varint,1,opt,name=condition,proto3,enum=google.ads.googleads.v2.enums.ProductConditionEnum_ProductCondition" json:"condition,omitempty"` 1335} 1336 1337func (x *ProductConditionInfo) Reset() { 1338 *x = ProductConditionInfo{} 1339 if protoimpl.UnsafeEnabled { 1340 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[20] 1341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1342 ms.StoreMessageInfo(mi) 1343 } 1344} 1345 1346func (x *ProductConditionInfo) String() string { 1347 return protoimpl.X.MessageStringOf(x) 1348} 1349 1350func (*ProductConditionInfo) ProtoMessage() {} 1351 1352func (x *ProductConditionInfo) ProtoReflect() protoreflect.Message { 1353 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[20] 1354 if protoimpl.UnsafeEnabled && x != nil { 1355 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1356 if ms.LoadMessageInfo() == nil { 1357 ms.StoreMessageInfo(mi) 1358 } 1359 return ms 1360 } 1361 return mi.MessageOf(x) 1362} 1363 1364// Deprecated: Use ProductConditionInfo.ProtoReflect.Descriptor instead. 1365func (*ProductConditionInfo) Descriptor() ([]byte, []int) { 1366 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{20} 1367} 1368 1369func (x *ProductConditionInfo) GetCondition() enums.ProductConditionEnum_ProductCondition { 1370 if x != nil { 1371 return x.Condition 1372 } 1373 return enums.ProductConditionEnum_UNSPECIFIED 1374} 1375 1376// Item id of a product offer. 1377type ProductItemIdInfo struct { 1378 state protoimpl.MessageState 1379 sizeCache protoimpl.SizeCache 1380 unknownFields protoimpl.UnknownFields 1381 1382 // Value of the id. 1383 Value *wrappers.StringValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 1384} 1385 1386func (x *ProductItemIdInfo) Reset() { 1387 *x = ProductItemIdInfo{} 1388 if protoimpl.UnsafeEnabled { 1389 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[21] 1390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1391 ms.StoreMessageInfo(mi) 1392 } 1393} 1394 1395func (x *ProductItemIdInfo) String() string { 1396 return protoimpl.X.MessageStringOf(x) 1397} 1398 1399func (*ProductItemIdInfo) ProtoMessage() {} 1400 1401func (x *ProductItemIdInfo) ProtoReflect() protoreflect.Message { 1402 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[21] 1403 if protoimpl.UnsafeEnabled && x != nil { 1404 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1405 if ms.LoadMessageInfo() == nil { 1406 ms.StoreMessageInfo(mi) 1407 } 1408 return ms 1409 } 1410 return mi.MessageOf(x) 1411} 1412 1413// Deprecated: Use ProductItemIdInfo.ProtoReflect.Descriptor instead. 1414func (*ProductItemIdInfo) Descriptor() ([]byte, []int) { 1415 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{21} 1416} 1417 1418func (x *ProductItemIdInfo) GetValue() *wrappers.StringValue { 1419 if x != nil { 1420 return x.Value 1421 } 1422 return nil 1423} 1424 1425// Type of a product offer. 1426type ProductTypeInfo struct { 1427 state protoimpl.MessageState 1428 sizeCache protoimpl.SizeCache 1429 unknownFields protoimpl.UnknownFields 1430 1431 // Value of the type. 1432 Value *wrappers.StringValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 1433 // Level of the type. 1434 Level enums.ProductTypeLevelEnum_ProductTypeLevel `protobuf:"varint,2,opt,name=level,proto3,enum=google.ads.googleads.v2.enums.ProductTypeLevelEnum_ProductTypeLevel" json:"level,omitempty"` 1435} 1436 1437func (x *ProductTypeInfo) Reset() { 1438 *x = ProductTypeInfo{} 1439 if protoimpl.UnsafeEnabled { 1440 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[22] 1441 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1442 ms.StoreMessageInfo(mi) 1443 } 1444} 1445 1446func (x *ProductTypeInfo) String() string { 1447 return protoimpl.X.MessageStringOf(x) 1448} 1449 1450func (*ProductTypeInfo) ProtoMessage() {} 1451 1452func (x *ProductTypeInfo) ProtoReflect() protoreflect.Message { 1453 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[22] 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 ProductTypeInfo.ProtoReflect.Descriptor instead. 1465func (*ProductTypeInfo) Descriptor() ([]byte, []int) { 1466 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{22} 1467} 1468 1469func (x *ProductTypeInfo) GetValue() *wrappers.StringValue { 1470 if x != nil { 1471 return x.Value 1472 } 1473 return nil 1474} 1475 1476func (x *ProductTypeInfo) GetLevel() enums.ProductTypeLevelEnum_ProductTypeLevel { 1477 if x != nil { 1478 return x.Level 1479 } 1480 return enums.ProductTypeLevelEnum_UNSPECIFIED 1481} 1482 1483// Unknown listing dimension. 1484type UnknownListingDimensionInfo struct { 1485 state protoimpl.MessageState 1486 sizeCache protoimpl.SizeCache 1487 unknownFields protoimpl.UnknownFields 1488} 1489 1490func (x *UnknownListingDimensionInfo) Reset() { 1491 *x = UnknownListingDimensionInfo{} 1492 if protoimpl.UnsafeEnabled { 1493 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[23] 1494 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1495 ms.StoreMessageInfo(mi) 1496 } 1497} 1498 1499func (x *UnknownListingDimensionInfo) String() string { 1500 return protoimpl.X.MessageStringOf(x) 1501} 1502 1503func (*UnknownListingDimensionInfo) ProtoMessage() {} 1504 1505func (x *UnknownListingDimensionInfo) ProtoReflect() protoreflect.Message { 1506 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[23] 1507 if protoimpl.UnsafeEnabled && x != nil { 1508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1509 if ms.LoadMessageInfo() == nil { 1510 ms.StoreMessageInfo(mi) 1511 } 1512 return ms 1513 } 1514 return mi.MessageOf(x) 1515} 1516 1517// Deprecated: Use UnknownListingDimensionInfo.ProtoReflect.Descriptor instead. 1518func (*UnknownListingDimensionInfo) Descriptor() ([]byte, []int) { 1519 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{23} 1520} 1521 1522// Criterion for hotel date selection (default dates vs. user selected). 1523type HotelDateSelectionTypeInfo struct { 1524 state protoimpl.MessageState 1525 sizeCache protoimpl.SizeCache 1526 unknownFields protoimpl.UnknownFields 1527 1528 // Type of the hotel date selection 1529 Type enums.HotelDateSelectionTypeEnum_HotelDateSelectionType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum_HotelDateSelectionType" json:"type,omitempty"` 1530} 1531 1532func (x *HotelDateSelectionTypeInfo) Reset() { 1533 *x = HotelDateSelectionTypeInfo{} 1534 if protoimpl.UnsafeEnabled { 1535 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[24] 1536 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1537 ms.StoreMessageInfo(mi) 1538 } 1539} 1540 1541func (x *HotelDateSelectionTypeInfo) String() string { 1542 return protoimpl.X.MessageStringOf(x) 1543} 1544 1545func (*HotelDateSelectionTypeInfo) ProtoMessage() {} 1546 1547func (x *HotelDateSelectionTypeInfo) ProtoReflect() protoreflect.Message { 1548 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[24] 1549 if protoimpl.UnsafeEnabled && x != nil { 1550 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1551 if ms.LoadMessageInfo() == nil { 1552 ms.StoreMessageInfo(mi) 1553 } 1554 return ms 1555 } 1556 return mi.MessageOf(x) 1557} 1558 1559// Deprecated: Use HotelDateSelectionTypeInfo.ProtoReflect.Descriptor instead. 1560func (*HotelDateSelectionTypeInfo) Descriptor() ([]byte, []int) { 1561 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{24} 1562} 1563 1564func (x *HotelDateSelectionTypeInfo) GetType() enums.HotelDateSelectionTypeEnum_HotelDateSelectionType { 1565 if x != nil { 1566 return x.Type 1567 } 1568 return enums.HotelDateSelectionTypeEnum_UNSPECIFIED 1569} 1570 1571// Criterion for number of days prior to the stay the booking is being made. 1572type HotelAdvanceBookingWindowInfo struct { 1573 state protoimpl.MessageState 1574 sizeCache protoimpl.SizeCache 1575 unknownFields protoimpl.UnknownFields 1576 1577 // Low end of the number of days prior to the stay. 1578 MinDays *wrappers.Int64Value `protobuf:"bytes,1,opt,name=min_days,json=minDays,proto3" json:"min_days,omitempty"` 1579 // High end of the number of days prior to the stay. 1580 MaxDays *wrappers.Int64Value `protobuf:"bytes,2,opt,name=max_days,json=maxDays,proto3" json:"max_days,omitempty"` 1581} 1582 1583func (x *HotelAdvanceBookingWindowInfo) Reset() { 1584 *x = HotelAdvanceBookingWindowInfo{} 1585 if protoimpl.UnsafeEnabled { 1586 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[25] 1587 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1588 ms.StoreMessageInfo(mi) 1589 } 1590} 1591 1592func (x *HotelAdvanceBookingWindowInfo) String() string { 1593 return protoimpl.X.MessageStringOf(x) 1594} 1595 1596func (*HotelAdvanceBookingWindowInfo) ProtoMessage() {} 1597 1598func (x *HotelAdvanceBookingWindowInfo) ProtoReflect() protoreflect.Message { 1599 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[25] 1600 if protoimpl.UnsafeEnabled && x != nil { 1601 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1602 if ms.LoadMessageInfo() == nil { 1603 ms.StoreMessageInfo(mi) 1604 } 1605 return ms 1606 } 1607 return mi.MessageOf(x) 1608} 1609 1610// Deprecated: Use HotelAdvanceBookingWindowInfo.ProtoReflect.Descriptor instead. 1611func (*HotelAdvanceBookingWindowInfo) Descriptor() ([]byte, []int) { 1612 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{25} 1613} 1614 1615func (x *HotelAdvanceBookingWindowInfo) GetMinDays() *wrappers.Int64Value { 1616 if x != nil { 1617 return x.MinDays 1618 } 1619 return nil 1620} 1621 1622func (x *HotelAdvanceBookingWindowInfo) GetMaxDays() *wrappers.Int64Value { 1623 if x != nil { 1624 return x.MaxDays 1625 } 1626 return nil 1627} 1628 1629// Criterion for length of hotel stay in nights. 1630type HotelLengthOfStayInfo struct { 1631 state protoimpl.MessageState 1632 sizeCache protoimpl.SizeCache 1633 unknownFields protoimpl.UnknownFields 1634 1635 // Low end of the number of nights in the stay. 1636 MinNights *wrappers.Int64Value `protobuf:"bytes,1,opt,name=min_nights,json=minNights,proto3" json:"min_nights,omitempty"` 1637 // High end of the number of nights in the stay. 1638 MaxNights *wrappers.Int64Value `protobuf:"bytes,2,opt,name=max_nights,json=maxNights,proto3" json:"max_nights,omitempty"` 1639} 1640 1641func (x *HotelLengthOfStayInfo) Reset() { 1642 *x = HotelLengthOfStayInfo{} 1643 if protoimpl.UnsafeEnabled { 1644 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[26] 1645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1646 ms.StoreMessageInfo(mi) 1647 } 1648} 1649 1650func (x *HotelLengthOfStayInfo) String() string { 1651 return protoimpl.X.MessageStringOf(x) 1652} 1653 1654func (*HotelLengthOfStayInfo) ProtoMessage() {} 1655 1656func (x *HotelLengthOfStayInfo) ProtoReflect() protoreflect.Message { 1657 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[26] 1658 if protoimpl.UnsafeEnabled && x != nil { 1659 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1660 if ms.LoadMessageInfo() == nil { 1661 ms.StoreMessageInfo(mi) 1662 } 1663 return ms 1664 } 1665 return mi.MessageOf(x) 1666} 1667 1668// Deprecated: Use HotelLengthOfStayInfo.ProtoReflect.Descriptor instead. 1669func (*HotelLengthOfStayInfo) Descriptor() ([]byte, []int) { 1670 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{26} 1671} 1672 1673func (x *HotelLengthOfStayInfo) GetMinNights() *wrappers.Int64Value { 1674 if x != nil { 1675 return x.MinNights 1676 } 1677 return nil 1678} 1679 1680func (x *HotelLengthOfStayInfo) GetMaxNights() *wrappers.Int64Value { 1681 if x != nil { 1682 return x.MaxNights 1683 } 1684 return nil 1685} 1686 1687// Criterion for day of the week the booking is for. 1688type HotelCheckInDayInfo struct { 1689 state protoimpl.MessageState 1690 sizeCache protoimpl.SizeCache 1691 unknownFields protoimpl.UnknownFields 1692 1693 // The day of the week. 1694 DayOfWeek enums.DayOfWeekEnum_DayOfWeek `protobuf:"varint,1,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.ads.googleads.v2.enums.DayOfWeekEnum_DayOfWeek" json:"day_of_week,omitempty"` 1695} 1696 1697func (x *HotelCheckInDayInfo) Reset() { 1698 *x = HotelCheckInDayInfo{} 1699 if protoimpl.UnsafeEnabled { 1700 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[27] 1701 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1702 ms.StoreMessageInfo(mi) 1703 } 1704} 1705 1706func (x *HotelCheckInDayInfo) String() string { 1707 return protoimpl.X.MessageStringOf(x) 1708} 1709 1710func (*HotelCheckInDayInfo) ProtoMessage() {} 1711 1712func (x *HotelCheckInDayInfo) ProtoReflect() protoreflect.Message { 1713 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[27] 1714 if protoimpl.UnsafeEnabled && x != nil { 1715 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1716 if ms.LoadMessageInfo() == nil { 1717 ms.StoreMessageInfo(mi) 1718 } 1719 return ms 1720 } 1721 return mi.MessageOf(x) 1722} 1723 1724// Deprecated: Use HotelCheckInDayInfo.ProtoReflect.Descriptor instead. 1725func (*HotelCheckInDayInfo) Descriptor() ([]byte, []int) { 1726 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{27} 1727} 1728 1729func (x *HotelCheckInDayInfo) GetDayOfWeek() enums.DayOfWeekEnum_DayOfWeek { 1730 if x != nil { 1731 return x.DayOfWeek 1732 } 1733 return enums.DayOfWeekEnum_UNSPECIFIED 1734} 1735 1736// Criterion for Interaction Type. 1737type InteractionTypeInfo struct { 1738 state protoimpl.MessageState 1739 sizeCache protoimpl.SizeCache 1740 unknownFields protoimpl.UnknownFields 1741 1742 // The interaction type. 1743 Type enums.InteractionTypeEnum_InteractionType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.InteractionTypeEnum_InteractionType" json:"type,omitempty"` 1744} 1745 1746func (x *InteractionTypeInfo) Reset() { 1747 *x = InteractionTypeInfo{} 1748 if protoimpl.UnsafeEnabled { 1749 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[28] 1750 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1751 ms.StoreMessageInfo(mi) 1752 } 1753} 1754 1755func (x *InteractionTypeInfo) String() string { 1756 return protoimpl.X.MessageStringOf(x) 1757} 1758 1759func (*InteractionTypeInfo) ProtoMessage() {} 1760 1761func (x *InteractionTypeInfo) ProtoReflect() protoreflect.Message { 1762 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[28] 1763 if protoimpl.UnsafeEnabled && x != nil { 1764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1765 if ms.LoadMessageInfo() == nil { 1766 ms.StoreMessageInfo(mi) 1767 } 1768 return ms 1769 } 1770 return mi.MessageOf(x) 1771} 1772 1773// Deprecated: Use InteractionTypeInfo.ProtoReflect.Descriptor instead. 1774func (*InteractionTypeInfo) Descriptor() ([]byte, []int) { 1775 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{28} 1776} 1777 1778func (x *InteractionTypeInfo) GetType() enums.InteractionTypeEnum_InteractionType { 1779 if x != nil { 1780 return x.Type 1781 } 1782 return enums.InteractionTypeEnum_UNSPECIFIED 1783} 1784 1785// Represents an AdSchedule criterion. 1786// 1787// AdSchedule is specified as the day of the week and a time interval 1788// within which ads will be shown. 1789// 1790// No more than six AdSchedules can be added for the same day. 1791type AdScheduleInfo struct { 1792 state protoimpl.MessageState 1793 sizeCache protoimpl.SizeCache 1794 unknownFields protoimpl.UnknownFields 1795 1796 // Minutes after the start hour at which this schedule starts. 1797 // 1798 // This field is required for CREATE operations and is prohibited on UPDATE 1799 // operations. 1800 StartMinute enums.MinuteOfHourEnum_MinuteOfHour `protobuf:"varint,1,opt,name=start_minute,json=startMinute,proto3,enum=google.ads.googleads.v2.enums.MinuteOfHourEnum_MinuteOfHour" json:"start_minute,omitempty"` 1801 // Minutes after the end hour at which this schedule ends. The schedule is 1802 // exclusive of the end minute. 1803 // 1804 // This field is required for CREATE operations and is prohibited on UPDATE 1805 // operations. 1806 EndMinute enums.MinuteOfHourEnum_MinuteOfHour `protobuf:"varint,2,opt,name=end_minute,json=endMinute,proto3,enum=google.ads.googleads.v2.enums.MinuteOfHourEnum_MinuteOfHour" json:"end_minute,omitempty"` 1807 // Starting hour in 24 hour time. 1808 // This field must be between 0 and 23, inclusive. 1809 // 1810 // This field is required for CREATE operations and is prohibited on UPDATE 1811 // operations. 1812 StartHour *wrappers.Int32Value `protobuf:"bytes,3,opt,name=start_hour,json=startHour,proto3" json:"start_hour,omitempty"` 1813 // Ending hour in 24 hour time; 24 signifies end of the day. 1814 // This field must be between 0 and 24, inclusive. 1815 // 1816 // This field is required for CREATE operations and is prohibited on UPDATE 1817 // operations. 1818 EndHour *wrappers.Int32Value `protobuf:"bytes,4,opt,name=end_hour,json=endHour,proto3" json:"end_hour,omitempty"` 1819 // Day of the week the schedule applies to. 1820 // 1821 // This field is required for CREATE operations and is prohibited on UPDATE 1822 // operations. 1823 DayOfWeek enums.DayOfWeekEnum_DayOfWeek `protobuf:"varint,5,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.ads.googleads.v2.enums.DayOfWeekEnum_DayOfWeek" json:"day_of_week,omitempty"` 1824} 1825 1826func (x *AdScheduleInfo) Reset() { 1827 *x = AdScheduleInfo{} 1828 if protoimpl.UnsafeEnabled { 1829 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[29] 1830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1831 ms.StoreMessageInfo(mi) 1832 } 1833} 1834 1835func (x *AdScheduleInfo) String() string { 1836 return protoimpl.X.MessageStringOf(x) 1837} 1838 1839func (*AdScheduleInfo) ProtoMessage() {} 1840 1841func (x *AdScheduleInfo) ProtoReflect() protoreflect.Message { 1842 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[29] 1843 if protoimpl.UnsafeEnabled && x != nil { 1844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1845 if ms.LoadMessageInfo() == nil { 1846 ms.StoreMessageInfo(mi) 1847 } 1848 return ms 1849 } 1850 return mi.MessageOf(x) 1851} 1852 1853// Deprecated: Use AdScheduleInfo.ProtoReflect.Descriptor instead. 1854func (*AdScheduleInfo) Descriptor() ([]byte, []int) { 1855 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{29} 1856} 1857 1858func (x *AdScheduleInfo) GetStartMinute() enums.MinuteOfHourEnum_MinuteOfHour { 1859 if x != nil { 1860 return x.StartMinute 1861 } 1862 return enums.MinuteOfHourEnum_UNSPECIFIED 1863} 1864 1865func (x *AdScheduleInfo) GetEndMinute() enums.MinuteOfHourEnum_MinuteOfHour { 1866 if x != nil { 1867 return x.EndMinute 1868 } 1869 return enums.MinuteOfHourEnum_UNSPECIFIED 1870} 1871 1872func (x *AdScheduleInfo) GetStartHour() *wrappers.Int32Value { 1873 if x != nil { 1874 return x.StartHour 1875 } 1876 return nil 1877} 1878 1879func (x *AdScheduleInfo) GetEndHour() *wrappers.Int32Value { 1880 if x != nil { 1881 return x.EndHour 1882 } 1883 return nil 1884} 1885 1886func (x *AdScheduleInfo) GetDayOfWeek() enums.DayOfWeekEnum_DayOfWeek { 1887 if x != nil { 1888 return x.DayOfWeek 1889 } 1890 return enums.DayOfWeekEnum_UNSPECIFIED 1891} 1892 1893// An age range criterion. 1894type AgeRangeInfo struct { 1895 state protoimpl.MessageState 1896 sizeCache protoimpl.SizeCache 1897 unknownFields protoimpl.UnknownFields 1898 1899 // Type of the age range. 1900 Type enums.AgeRangeTypeEnum_AgeRangeType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.AgeRangeTypeEnum_AgeRangeType" json:"type,omitempty"` 1901} 1902 1903func (x *AgeRangeInfo) Reset() { 1904 *x = AgeRangeInfo{} 1905 if protoimpl.UnsafeEnabled { 1906 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[30] 1907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1908 ms.StoreMessageInfo(mi) 1909 } 1910} 1911 1912func (x *AgeRangeInfo) String() string { 1913 return protoimpl.X.MessageStringOf(x) 1914} 1915 1916func (*AgeRangeInfo) ProtoMessage() {} 1917 1918func (x *AgeRangeInfo) ProtoReflect() protoreflect.Message { 1919 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[30] 1920 if protoimpl.UnsafeEnabled && x != nil { 1921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1922 if ms.LoadMessageInfo() == nil { 1923 ms.StoreMessageInfo(mi) 1924 } 1925 return ms 1926 } 1927 return mi.MessageOf(x) 1928} 1929 1930// Deprecated: Use AgeRangeInfo.ProtoReflect.Descriptor instead. 1931func (*AgeRangeInfo) Descriptor() ([]byte, []int) { 1932 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{30} 1933} 1934 1935func (x *AgeRangeInfo) GetType() enums.AgeRangeTypeEnum_AgeRangeType { 1936 if x != nil { 1937 return x.Type 1938 } 1939 return enums.AgeRangeTypeEnum_UNSPECIFIED 1940} 1941 1942// A gender criterion. 1943type GenderInfo struct { 1944 state protoimpl.MessageState 1945 sizeCache protoimpl.SizeCache 1946 unknownFields protoimpl.UnknownFields 1947 1948 // Type of the gender. 1949 Type enums.GenderTypeEnum_GenderType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.GenderTypeEnum_GenderType" json:"type,omitempty"` 1950} 1951 1952func (x *GenderInfo) Reset() { 1953 *x = GenderInfo{} 1954 if protoimpl.UnsafeEnabled { 1955 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[31] 1956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1957 ms.StoreMessageInfo(mi) 1958 } 1959} 1960 1961func (x *GenderInfo) String() string { 1962 return protoimpl.X.MessageStringOf(x) 1963} 1964 1965func (*GenderInfo) ProtoMessage() {} 1966 1967func (x *GenderInfo) ProtoReflect() protoreflect.Message { 1968 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[31] 1969 if protoimpl.UnsafeEnabled && x != nil { 1970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1971 if ms.LoadMessageInfo() == nil { 1972 ms.StoreMessageInfo(mi) 1973 } 1974 return ms 1975 } 1976 return mi.MessageOf(x) 1977} 1978 1979// Deprecated: Use GenderInfo.ProtoReflect.Descriptor instead. 1980func (*GenderInfo) Descriptor() ([]byte, []int) { 1981 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{31} 1982} 1983 1984func (x *GenderInfo) GetType() enums.GenderTypeEnum_GenderType { 1985 if x != nil { 1986 return x.Type 1987 } 1988 return enums.GenderTypeEnum_UNSPECIFIED 1989} 1990 1991// An income range criterion. 1992type IncomeRangeInfo struct { 1993 state protoimpl.MessageState 1994 sizeCache protoimpl.SizeCache 1995 unknownFields protoimpl.UnknownFields 1996 1997 // Type of the income range. 1998 Type enums.IncomeRangeTypeEnum_IncomeRangeType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.IncomeRangeTypeEnum_IncomeRangeType" json:"type,omitempty"` 1999} 2000 2001func (x *IncomeRangeInfo) Reset() { 2002 *x = IncomeRangeInfo{} 2003 if protoimpl.UnsafeEnabled { 2004 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[32] 2005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2006 ms.StoreMessageInfo(mi) 2007 } 2008} 2009 2010func (x *IncomeRangeInfo) String() string { 2011 return protoimpl.X.MessageStringOf(x) 2012} 2013 2014func (*IncomeRangeInfo) ProtoMessage() {} 2015 2016func (x *IncomeRangeInfo) ProtoReflect() protoreflect.Message { 2017 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[32] 2018 if protoimpl.UnsafeEnabled && x != nil { 2019 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2020 if ms.LoadMessageInfo() == nil { 2021 ms.StoreMessageInfo(mi) 2022 } 2023 return ms 2024 } 2025 return mi.MessageOf(x) 2026} 2027 2028// Deprecated: Use IncomeRangeInfo.ProtoReflect.Descriptor instead. 2029func (*IncomeRangeInfo) Descriptor() ([]byte, []int) { 2030 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{32} 2031} 2032 2033func (x *IncomeRangeInfo) GetType() enums.IncomeRangeTypeEnum_IncomeRangeType { 2034 if x != nil { 2035 return x.Type 2036 } 2037 return enums.IncomeRangeTypeEnum_UNSPECIFIED 2038} 2039 2040// A parental status criterion. 2041type ParentalStatusInfo struct { 2042 state protoimpl.MessageState 2043 sizeCache protoimpl.SizeCache 2044 unknownFields protoimpl.UnknownFields 2045 2046 // Type of the parental status. 2047 Type enums.ParentalStatusTypeEnum_ParentalStatusType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.ParentalStatusTypeEnum_ParentalStatusType" json:"type,omitempty"` 2048} 2049 2050func (x *ParentalStatusInfo) Reset() { 2051 *x = ParentalStatusInfo{} 2052 if protoimpl.UnsafeEnabled { 2053 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[33] 2054 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2055 ms.StoreMessageInfo(mi) 2056 } 2057} 2058 2059func (x *ParentalStatusInfo) String() string { 2060 return protoimpl.X.MessageStringOf(x) 2061} 2062 2063func (*ParentalStatusInfo) ProtoMessage() {} 2064 2065func (x *ParentalStatusInfo) ProtoReflect() protoreflect.Message { 2066 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[33] 2067 if protoimpl.UnsafeEnabled && x != nil { 2068 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2069 if ms.LoadMessageInfo() == nil { 2070 ms.StoreMessageInfo(mi) 2071 } 2072 return ms 2073 } 2074 return mi.MessageOf(x) 2075} 2076 2077// Deprecated: Use ParentalStatusInfo.ProtoReflect.Descriptor instead. 2078func (*ParentalStatusInfo) Descriptor() ([]byte, []int) { 2079 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{33} 2080} 2081 2082func (x *ParentalStatusInfo) GetType() enums.ParentalStatusTypeEnum_ParentalStatusType { 2083 if x != nil { 2084 return x.Type 2085 } 2086 return enums.ParentalStatusTypeEnum_UNSPECIFIED 2087} 2088 2089// A YouTube Video criterion. 2090type YouTubeVideoInfo struct { 2091 state protoimpl.MessageState 2092 sizeCache protoimpl.SizeCache 2093 unknownFields protoimpl.UnknownFields 2094 2095 // YouTube video id as it appears on the YouTube watch page. 2096 VideoId *wrappers.StringValue `protobuf:"bytes,1,opt,name=video_id,json=videoId,proto3" json:"video_id,omitempty"` 2097} 2098 2099func (x *YouTubeVideoInfo) Reset() { 2100 *x = YouTubeVideoInfo{} 2101 if protoimpl.UnsafeEnabled { 2102 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[34] 2103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2104 ms.StoreMessageInfo(mi) 2105 } 2106} 2107 2108func (x *YouTubeVideoInfo) String() string { 2109 return protoimpl.X.MessageStringOf(x) 2110} 2111 2112func (*YouTubeVideoInfo) ProtoMessage() {} 2113 2114func (x *YouTubeVideoInfo) ProtoReflect() protoreflect.Message { 2115 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[34] 2116 if protoimpl.UnsafeEnabled && x != nil { 2117 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2118 if ms.LoadMessageInfo() == nil { 2119 ms.StoreMessageInfo(mi) 2120 } 2121 return ms 2122 } 2123 return mi.MessageOf(x) 2124} 2125 2126// Deprecated: Use YouTubeVideoInfo.ProtoReflect.Descriptor instead. 2127func (*YouTubeVideoInfo) Descriptor() ([]byte, []int) { 2128 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{34} 2129} 2130 2131func (x *YouTubeVideoInfo) GetVideoId() *wrappers.StringValue { 2132 if x != nil { 2133 return x.VideoId 2134 } 2135 return nil 2136} 2137 2138// A YouTube Channel criterion. 2139type YouTubeChannelInfo struct { 2140 state protoimpl.MessageState 2141 sizeCache protoimpl.SizeCache 2142 unknownFields protoimpl.UnknownFields 2143 2144 // The YouTube uploader channel id or the channel code of a YouTube channel. 2145 ChannelId *wrappers.StringValue `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` 2146} 2147 2148func (x *YouTubeChannelInfo) Reset() { 2149 *x = YouTubeChannelInfo{} 2150 if protoimpl.UnsafeEnabled { 2151 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[35] 2152 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2153 ms.StoreMessageInfo(mi) 2154 } 2155} 2156 2157func (x *YouTubeChannelInfo) String() string { 2158 return protoimpl.X.MessageStringOf(x) 2159} 2160 2161func (*YouTubeChannelInfo) ProtoMessage() {} 2162 2163func (x *YouTubeChannelInfo) ProtoReflect() protoreflect.Message { 2164 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[35] 2165 if protoimpl.UnsafeEnabled && x != nil { 2166 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2167 if ms.LoadMessageInfo() == nil { 2168 ms.StoreMessageInfo(mi) 2169 } 2170 return ms 2171 } 2172 return mi.MessageOf(x) 2173} 2174 2175// Deprecated: Use YouTubeChannelInfo.ProtoReflect.Descriptor instead. 2176func (*YouTubeChannelInfo) Descriptor() ([]byte, []int) { 2177 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{35} 2178} 2179 2180func (x *YouTubeChannelInfo) GetChannelId() *wrappers.StringValue { 2181 if x != nil { 2182 return x.ChannelId 2183 } 2184 return nil 2185} 2186 2187// A User List criterion. Represents a user list that is defined by the 2188// advertiser to be targeted. 2189type UserListInfo struct { 2190 state protoimpl.MessageState 2191 sizeCache protoimpl.SizeCache 2192 unknownFields protoimpl.UnknownFields 2193 2194 // The User List resource name. 2195 UserList *wrappers.StringValue `protobuf:"bytes,1,opt,name=user_list,json=userList,proto3" json:"user_list,omitempty"` 2196} 2197 2198func (x *UserListInfo) Reset() { 2199 *x = UserListInfo{} 2200 if protoimpl.UnsafeEnabled { 2201 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[36] 2202 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2203 ms.StoreMessageInfo(mi) 2204 } 2205} 2206 2207func (x *UserListInfo) String() string { 2208 return protoimpl.X.MessageStringOf(x) 2209} 2210 2211func (*UserListInfo) ProtoMessage() {} 2212 2213func (x *UserListInfo) ProtoReflect() protoreflect.Message { 2214 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[36] 2215 if protoimpl.UnsafeEnabled && x != nil { 2216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2217 if ms.LoadMessageInfo() == nil { 2218 ms.StoreMessageInfo(mi) 2219 } 2220 return ms 2221 } 2222 return mi.MessageOf(x) 2223} 2224 2225// Deprecated: Use UserListInfo.ProtoReflect.Descriptor instead. 2226func (*UserListInfo) Descriptor() ([]byte, []int) { 2227 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{36} 2228} 2229 2230func (x *UserListInfo) GetUserList() *wrappers.StringValue { 2231 if x != nil { 2232 return x.UserList 2233 } 2234 return nil 2235} 2236 2237// A Proximity criterion. The geo point and radius determine what geographical 2238// area is included. The address is a description of the geo point that does 2239// not affect ad serving. 2240// 2241// There are two ways to create a proximity. First, by setting an address 2242// and radius. The geo point will be automatically computed. Second, by 2243// setting a geo point and radius. The address is an optional label that won't 2244// be validated. 2245type ProximityInfo struct { 2246 state protoimpl.MessageState 2247 sizeCache protoimpl.SizeCache 2248 unknownFields protoimpl.UnknownFields 2249 2250 // Latitude and longitude. 2251 GeoPoint *GeoPointInfo `protobuf:"bytes,1,opt,name=geo_point,json=geoPoint,proto3" json:"geo_point,omitempty"` 2252 // The radius of the proximity. 2253 Radius *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=radius,proto3" json:"radius,omitempty"` 2254 // The unit of measurement of the radius. Default is KILOMETERS. 2255 RadiusUnits enums.ProximityRadiusUnitsEnum_ProximityRadiusUnits `protobuf:"varint,3,opt,name=radius_units,json=radiusUnits,proto3,enum=google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum_ProximityRadiusUnits" json:"radius_units,omitempty"` 2256 // Full address. 2257 Address *AddressInfo `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` 2258} 2259 2260func (x *ProximityInfo) Reset() { 2261 *x = ProximityInfo{} 2262 if protoimpl.UnsafeEnabled { 2263 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[37] 2264 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2265 ms.StoreMessageInfo(mi) 2266 } 2267} 2268 2269func (x *ProximityInfo) String() string { 2270 return protoimpl.X.MessageStringOf(x) 2271} 2272 2273func (*ProximityInfo) ProtoMessage() {} 2274 2275func (x *ProximityInfo) ProtoReflect() protoreflect.Message { 2276 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[37] 2277 if protoimpl.UnsafeEnabled && x != nil { 2278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2279 if ms.LoadMessageInfo() == nil { 2280 ms.StoreMessageInfo(mi) 2281 } 2282 return ms 2283 } 2284 return mi.MessageOf(x) 2285} 2286 2287// Deprecated: Use ProximityInfo.ProtoReflect.Descriptor instead. 2288func (*ProximityInfo) Descriptor() ([]byte, []int) { 2289 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{37} 2290} 2291 2292func (x *ProximityInfo) GetGeoPoint() *GeoPointInfo { 2293 if x != nil { 2294 return x.GeoPoint 2295 } 2296 return nil 2297} 2298 2299func (x *ProximityInfo) GetRadius() *wrappers.DoubleValue { 2300 if x != nil { 2301 return x.Radius 2302 } 2303 return nil 2304} 2305 2306func (x *ProximityInfo) GetRadiusUnits() enums.ProximityRadiusUnitsEnum_ProximityRadiusUnits { 2307 if x != nil { 2308 return x.RadiusUnits 2309 } 2310 return enums.ProximityRadiusUnitsEnum_UNSPECIFIED 2311} 2312 2313func (x *ProximityInfo) GetAddress() *AddressInfo { 2314 if x != nil { 2315 return x.Address 2316 } 2317 return nil 2318} 2319 2320// Geo point for proximity criterion. 2321type GeoPointInfo struct { 2322 state protoimpl.MessageState 2323 sizeCache protoimpl.SizeCache 2324 unknownFields protoimpl.UnknownFields 2325 2326 // Micro degrees for the longitude. 2327 LongitudeInMicroDegrees *wrappers.Int32Value `protobuf:"bytes,1,opt,name=longitude_in_micro_degrees,json=longitudeInMicroDegrees,proto3" json:"longitude_in_micro_degrees,omitempty"` 2328 // Micro degrees for the latitude. 2329 LatitudeInMicroDegrees *wrappers.Int32Value `protobuf:"bytes,2,opt,name=latitude_in_micro_degrees,json=latitudeInMicroDegrees,proto3" json:"latitude_in_micro_degrees,omitempty"` 2330} 2331 2332func (x *GeoPointInfo) Reset() { 2333 *x = GeoPointInfo{} 2334 if protoimpl.UnsafeEnabled { 2335 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[38] 2336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2337 ms.StoreMessageInfo(mi) 2338 } 2339} 2340 2341func (x *GeoPointInfo) String() string { 2342 return protoimpl.X.MessageStringOf(x) 2343} 2344 2345func (*GeoPointInfo) ProtoMessage() {} 2346 2347func (x *GeoPointInfo) ProtoReflect() protoreflect.Message { 2348 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[38] 2349 if protoimpl.UnsafeEnabled && x != nil { 2350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2351 if ms.LoadMessageInfo() == nil { 2352 ms.StoreMessageInfo(mi) 2353 } 2354 return ms 2355 } 2356 return mi.MessageOf(x) 2357} 2358 2359// Deprecated: Use GeoPointInfo.ProtoReflect.Descriptor instead. 2360func (*GeoPointInfo) Descriptor() ([]byte, []int) { 2361 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{38} 2362} 2363 2364func (x *GeoPointInfo) GetLongitudeInMicroDegrees() *wrappers.Int32Value { 2365 if x != nil { 2366 return x.LongitudeInMicroDegrees 2367 } 2368 return nil 2369} 2370 2371func (x *GeoPointInfo) GetLatitudeInMicroDegrees() *wrappers.Int32Value { 2372 if x != nil { 2373 return x.LatitudeInMicroDegrees 2374 } 2375 return nil 2376} 2377 2378// Address for proximity criterion. 2379type AddressInfo struct { 2380 state protoimpl.MessageState 2381 sizeCache protoimpl.SizeCache 2382 unknownFields protoimpl.UnknownFields 2383 2384 // Postal code. 2385 PostalCode *wrappers.StringValue `protobuf:"bytes,1,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` 2386 // Province or state code. 2387 ProvinceCode *wrappers.StringValue `protobuf:"bytes,2,opt,name=province_code,json=provinceCode,proto3" json:"province_code,omitempty"` 2388 // Country code. 2389 CountryCode *wrappers.StringValue `protobuf:"bytes,3,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"` 2390 // Province or state name. 2391 ProvinceName *wrappers.StringValue `protobuf:"bytes,4,opt,name=province_name,json=provinceName,proto3" json:"province_name,omitempty"` 2392 // Street address line 1. 2393 StreetAddress *wrappers.StringValue `protobuf:"bytes,5,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` 2394 // Street address line 2. This field is write-only. It is only used for 2395 // calculating the longitude and latitude of an address when geo_point is 2396 // empty. 2397 StreetAddress2 *wrappers.StringValue `protobuf:"bytes,6,opt,name=street_address2,json=streetAddress2,proto3" json:"street_address2,omitempty"` 2398 // Name of the city. 2399 CityName *wrappers.StringValue `protobuf:"bytes,7,opt,name=city_name,json=cityName,proto3" json:"city_name,omitempty"` 2400} 2401 2402func (x *AddressInfo) Reset() { 2403 *x = AddressInfo{} 2404 if protoimpl.UnsafeEnabled { 2405 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[39] 2406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2407 ms.StoreMessageInfo(mi) 2408 } 2409} 2410 2411func (x *AddressInfo) String() string { 2412 return protoimpl.X.MessageStringOf(x) 2413} 2414 2415func (*AddressInfo) ProtoMessage() {} 2416 2417func (x *AddressInfo) ProtoReflect() protoreflect.Message { 2418 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[39] 2419 if protoimpl.UnsafeEnabled && x != nil { 2420 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2421 if ms.LoadMessageInfo() == nil { 2422 ms.StoreMessageInfo(mi) 2423 } 2424 return ms 2425 } 2426 return mi.MessageOf(x) 2427} 2428 2429// Deprecated: Use AddressInfo.ProtoReflect.Descriptor instead. 2430func (*AddressInfo) Descriptor() ([]byte, []int) { 2431 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{39} 2432} 2433 2434func (x *AddressInfo) GetPostalCode() *wrappers.StringValue { 2435 if x != nil { 2436 return x.PostalCode 2437 } 2438 return nil 2439} 2440 2441func (x *AddressInfo) GetProvinceCode() *wrappers.StringValue { 2442 if x != nil { 2443 return x.ProvinceCode 2444 } 2445 return nil 2446} 2447 2448func (x *AddressInfo) GetCountryCode() *wrappers.StringValue { 2449 if x != nil { 2450 return x.CountryCode 2451 } 2452 return nil 2453} 2454 2455func (x *AddressInfo) GetProvinceName() *wrappers.StringValue { 2456 if x != nil { 2457 return x.ProvinceName 2458 } 2459 return nil 2460} 2461 2462func (x *AddressInfo) GetStreetAddress() *wrappers.StringValue { 2463 if x != nil { 2464 return x.StreetAddress 2465 } 2466 return nil 2467} 2468 2469func (x *AddressInfo) GetStreetAddress2() *wrappers.StringValue { 2470 if x != nil { 2471 return x.StreetAddress2 2472 } 2473 return nil 2474} 2475 2476func (x *AddressInfo) GetCityName() *wrappers.StringValue { 2477 if x != nil { 2478 return x.CityName 2479 } 2480 return nil 2481} 2482 2483// A topic criterion. Use topics to target or exclude placements in the 2484// Google Display Network based on the category into which the placement falls 2485// (for example, "Pets & Animals/Pets/Dogs"). 2486type TopicInfo struct { 2487 state protoimpl.MessageState 2488 sizeCache protoimpl.SizeCache 2489 unknownFields protoimpl.UnknownFields 2490 2491 // The Topic Constant resource name. 2492 TopicConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=topic_constant,json=topicConstant,proto3" json:"topic_constant,omitempty"` 2493 // The category to target or exclude. Each subsequent element in the array 2494 // describes a more specific sub-category. For example, 2495 // "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" 2496 // category. 2497 Path []*wrappers.StringValue `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` 2498} 2499 2500func (x *TopicInfo) Reset() { 2501 *x = TopicInfo{} 2502 if protoimpl.UnsafeEnabled { 2503 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[40] 2504 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2505 ms.StoreMessageInfo(mi) 2506 } 2507} 2508 2509func (x *TopicInfo) String() string { 2510 return protoimpl.X.MessageStringOf(x) 2511} 2512 2513func (*TopicInfo) ProtoMessage() {} 2514 2515func (x *TopicInfo) ProtoReflect() protoreflect.Message { 2516 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[40] 2517 if protoimpl.UnsafeEnabled && x != nil { 2518 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2519 if ms.LoadMessageInfo() == nil { 2520 ms.StoreMessageInfo(mi) 2521 } 2522 return ms 2523 } 2524 return mi.MessageOf(x) 2525} 2526 2527// Deprecated: Use TopicInfo.ProtoReflect.Descriptor instead. 2528func (*TopicInfo) Descriptor() ([]byte, []int) { 2529 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{40} 2530} 2531 2532func (x *TopicInfo) GetTopicConstant() *wrappers.StringValue { 2533 if x != nil { 2534 return x.TopicConstant 2535 } 2536 return nil 2537} 2538 2539func (x *TopicInfo) GetPath() []*wrappers.StringValue { 2540 if x != nil { 2541 return x.Path 2542 } 2543 return nil 2544} 2545 2546// A language criterion. 2547type LanguageInfo struct { 2548 state protoimpl.MessageState 2549 sizeCache protoimpl.SizeCache 2550 unknownFields protoimpl.UnknownFields 2551 2552 // The language constant resource name. 2553 LanguageConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=language_constant,json=languageConstant,proto3" json:"language_constant,omitempty"` 2554} 2555 2556func (x *LanguageInfo) Reset() { 2557 *x = LanguageInfo{} 2558 if protoimpl.UnsafeEnabled { 2559 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[41] 2560 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2561 ms.StoreMessageInfo(mi) 2562 } 2563} 2564 2565func (x *LanguageInfo) String() string { 2566 return protoimpl.X.MessageStringOf(x) 2567} 2568 2569func (*LanguageInfo) ProtoMessage() {} 2570 2571func (x *LanguageInfo) ProtoReflect() protoreflect.Message { 2572 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[41] 2573 if protoimpl.UnsafeEnabled && x != nil { 2574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2575 if ms.LoadMessageInfo() == nil { 2576 ms.StoreMessageInfo(mi) 2577 } 2578 return ms 2579 } 2580 return mi.MessageOf(x) 2581} 2582 2583// Deprecated: Use LanguageInfo.ProtoReflect.Descriptor instead. 2584func (*LanguageInfo) Descriptor() ([]byte, []int) { 2585 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{41} 2586} 2587 2588func (x *LanguageInfo) GetLanguageConstant() *wrappers.StringValue { 2589 if x != nil { 2590 return x.LanguageConstant 2591 } 2592 return nil 2593} 2594 2595// An IpBlock criterion used for IP exclusions. We allow: 2596// - IPv4 and IPv6 addresses 2597// - individual addresses (192.168.0.1) 2598// - masks for individual addresses (192.168.0.1/32) 2599// - masks for Class C networks (192.168.0.1/24) 2600type IpBlockInfo struct { 2601 state protoimpl.MessageState 2602 sizeCache protoimpl.SizeCache 2603 unknownFields protoimpl.UnknownFields 2604 2605 // The IP address of this IP block. 2606 IpAddress *wrappers.StringValue `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` 2607} 2608 2609func (x *IpBlockInfo) Reset() { 2610 *x = IpBlockInfo{} 2611 if protoimpl.UnsafeEnabled { 2612 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[42] 2613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2614 ms.StoreMessageInfo(mi) 2615 } 2616} 2617 2618func (x *IpBlockInfo) String() string { 2619 return protoimpl.X.MessageStringOf(x) 2620} 2621 2622func (*IpBlockInfo) ProtoMessage() {} 2623 2624func (x *IpBlockInfo) ProtoReflect() protoreflect.Message { 2625 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[42] 2626 if protoimpl.UnsafeEnabled && x != nil { 2627 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2628 if ms.LoadMessageInfo() == nil { 2629 ms.StoreMessageInfo(mi) 2630 } 2631 return ms 2632 } 2633 return mi.MessageOf(x) 2634} 2635 2636// Deprecated: Use IpBlockInfo.ProtoReflect.Descriptor instead. 2637func (*IpBlockInfo) Descriptor() ([]byte, []int) { 2638 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{42} 2639} 2640 2641func (x *IpBlockInfo) GetIpAddress() *wrappers.StringValue { 2642 if x != nil { 2643 return x.IpAddress 2644 } 2645 return nil 2646} 2647 2648// Content Label for category exclusion. 2649type ContentLabelInfo struct { 2650 state protoimpl.MessageState 2651 sizeCache protoimpl.SizeCache 2652 unknownFields protoimpl.UnknownFields 2653 2654 // Content label type, required for CREATE operations. 2655 Type enums.ContentLabelTypeEnum_ContentLabelType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.ContentLabelTypeEnum_ContentLabelType" json:"type,omitempty"` 2656} 2657 2658func (x *ContentLabelInfo) Reset() { 2659 *x = ContentLabelInfo{} 2660 if protoimpl.UnsafeEnabled { 2661 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[43] 2662 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2663 ms.StoreMessageInfo(mi) 2664 } 2665} 2666 2667func (x *ContentLabelInfo) String() string { 2668 return protoimpl.X.MessageStringOf(x) 2669} 2670 2671func (*ContentLabelInfo) ProtoMessage() {} 2672 2673func (x *ContentLabelInfo) ProtoReflect() protoreflect.Message { 2674 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[43] 2675 if protoimpl.UnsafeEnabled && x != nil { 2676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2677 if ms.LoadMessageInfo() == nil { 2678 ms.StoreMessageInfo(mi) 2679 } 2680 return ms 2681 } 2682 return mi.MessageOf(x) 2683} 2684 2685// Deprecated: Use ContentLabelInfo.ProtoReflect.Descriptor instead. 2686func (*ContentLabelInfo) Descriptor() ([]byte, []int) { 2687 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{43} 2688} 2689 2690func (x *ContentLabelInfo) GetType() enums.ContentLabelTypeEnum_ContentLabelType { 2691 if x != nil { 2692 return x.Type 2693 } 2694 return enums.ContentLabelTypeEnum_UNSPECIFIED 2695} 2696 2697// Represents a Carrier Criterion. 2698type CarrierInfo struct { 2699 state protoimpl.MessageState 2700 sizeCache protoimpl.SizeCache 2701 unknownFields protoimpl.UnknownFields 2702 2703 // The Carrier constant resource name. 2704 CarrierConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=carrier_constant,json=carrierConstant,proto3" json:"carrier_constant,omitempty"` 2705} 2706 2707func (x *CarrierInfo) Reset() { 2708 *x = CarrierInfo{} 2709 if protoimpl.UnsafeEnabled { 2710 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[44] 2711 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2712 ms.StoreMessageInfo(mi) 2713 } 2714} 2715 2716func (x *CarrierInfo) String() string { 2717 return protoimpl.X.MessageStringOf(x) 2718} 2719 2720func (*CarrierInfo) ProtoMessage() {} 2721 2722func (x *CarrierInfo) ProtoReflect() protoreflect.Message { 2723 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[44] 2724 if protoimpl.UnsafeEnabled && x != nil { 2725 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2726 if ms.LoadMessageInfo() == nil { 2727 ms.StoreMessageInfo(mi) 2728 } 2729 return ms 2730 } 2731 return mi.MessageOf(x) 2732} 2733 2734// Deprecated: Use CarrierInfo.ProtoReflect.Descriptor instead. 2735func (*CarrierInfo) Descriptor() ([]byte, []int) { 2736 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{44} 2737} 2738 2739func (x *CarrierInfo) GetCarrierConstant() *wrappers.StringValue { 2740 if x != nil { 2741 return x.CarrierConstant 2742 } 2743 return nil 2744} 2745 2746// Represents a particular interest-based topic to be targeted. 2747type UserInterestInfo struct { 2748 state protoimpl.MessageState 2749 sizeCache protoimpl.SizeCache 2750 unknownFields protoimpl.UnknownFields 2751 2752 // The UserInterest resource name. 2753 UserInterestCategory *wrappers.StringValue `protobuf:"bytes,1,opt,name=user_interest_category,json=userInterestCategory,proto3" json:"user_interest_category,omitempty"` 2754} 2755 2756func (x *UserInterestInfo) Reset() { 2757 *x = UserInterestInfo{} 2758 if protoimpl.UnsafeEnabled { 2759 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[45] 2760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2761 ms.StoreMessageInfo(mi) 2762 } 2763} 2764 2765func (x *UserInterestInfo) String() string { 2766 return protoimpl.X.MessageStringOf(x) 2767} 2768 2769func (*UserInterestInfo) ProtoMessage() {} 2770 2771func (x *UserInterestInfo) ProtoReflect() protoreflect.Message { 2772 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[45] 2773 if protoimpl.UnsafeEnabled && x != nil { 2774 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2775 if ms.LoadMessageInfo() == nil { 2776 ms.StoreMessageInfo(mi) 2777 } 2778 return ms 2779 } 2780 return mi.MessageOf(x) 2781} 2782 2783// Deprecated: Use UserInterestInfo.ProtoReflect.Descriptor instead. 2784func (*UserInterestInfo) Descriptor() ([]byte, []int) { 2785 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{45} 2786} 2787 2788func (x *UserInterestInfo) GetUserInterestCategory() *wrappers.StringValue { 2789 if x != nil { 2790 return x.UserInterestCategory 2791 } 2792 return nil 2793} 2794 2795// Represents a criterion for targeting webpages of an advertiser's website. 2796type WebpageInfo struct { 2797 state protoimpl.MessageState 2798 sizeCache protoimpl.SizeCache 2799 unknownFields protoimpl.UnknownFields 2800 2801 // The name of the criterion that is defined by this parameter. The name value 2802 // will be used for identifying, sorting and filtering criteria with this type 2803 // of parameters. 2804 // 2805 // This field is required for CREATE operations and is prohibited on UPDATE 2806 // operations. 2807 CriterionName *wrappers.StringValue `protobuf:"bytes,1,opt,name=criterion_name,json=criterionName,proto3" json:"criterion_name,omitempty"` 2808 // Conditions, or logical expressions, for webpage targeting. The list of 2809 // webpage targeting conditions are and-ed together when evaluated 2810 // for targeting. 2811 // 2812 // This field is required for CREATE operations and is prohibited on UPDATE 2813 // operations. 2814 Conditions []*WebpageConditionInfo `protobuf:"bytes,2,rep,name=conditions,proto3" json:"conditions,omitempty"` 2815} 2816 2817func (x *WebpageInfo) Reset() { 2818 *x = WebpageInfo{} 2819 if protoimpl.UnsafeEnabled { 2820 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[46] 2821 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2822 ms.StoreMessageInfo(mi) 2823 } 2824} 2825 2826func (x *WebpageInfo) String() string { 2827 return protoimpl.X.MessageStringOf(x) 2828} 2829 2830func (*WebpageInfo) ProtoMessage() {} 2831 2832func (x *WebpageInfo) ProtoReflect() protoreflect.Message { 2833 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[46] 2834 if protoimpl.UnsafeEnabled && x != nil { 2835 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2836 if ms.LoadMessageInfo() == nil { 2837 ms.StoreMessageInfo(mi) 2838 } 2839 return ms 2840 } 2841 return mi.MessageOf(x) 2842} 2843 2844// Deprecated: Use WebpageInfo.ProtoReflect.Descriptor instead. 2845func (*WebpageInfo) Descriptor() ([]byte, []int) { 2846 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{46} 2847} 2848 2849func (x *WebpageInfo) GetCriterionName() *wrappers.StringValue { 2850 if x != nil { 2851 return x.CriterionName 2852 } 2853 return nil 2854} 2855 2856func (x *WebpageInfo) GetConditions() []*WebpageConditionInfo { 2857 if x != nil { 2858 return x.Conditions 2859 } 2860 return nil 2861} 2862 2863// Logical expression for targeting webpages of an advertiser's website. 2864type WebpageConditionInfo struct { 2865 state protoimpl.MessageState 2866 sizeCache protoimpl.SizeCache 2867 unknownFields protoimpl.UnknownFields 2868 2869 // Operand of webpage targeting condition. 2870 Operand enums.WebpageConditionOperandEnum_WebpageConditionOperand `protobuf:"varint,1,opt,name=operand,proto3,enum=google.ads.googleads.v2.enums.WebpageConditionOperandEnum_WebpageConditionOperand" json:"operand,omitempty"` 2871 // Operator of webpage targeting condition. 2872 Operator enums.WebpageConditionOperatorEnum_WebpageConditionOperator `protobuf:"varint,2,opt,name=operator,proto3,enum=google.ads.googleads.v2.enums.WebpageConditionOperatorEnum_WebpageConditionOperator" json:"operator,omitempty"` 2873 // Argument of webpage targeting condition. 2874 Argument *wrappers.StringValue `protobuf:"bytes,3,opt,name=argument,proto3" json:"argument,omitempty"` 2875} 2876 2877func (x *WebpageConditionInfo) Reset() { 2878 *x = WebpageConditionInfo{} 2879 if protoimpl.UnsafeEnabled { 2880 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[47] 2881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2882 ms.StoreMessageInfo(mi) 2883 } 2884} 2885 2886func (x *WebpageConditionInfo) String() string { 2887 return protoimpl.X.MessageStringOf(x) 2888} 2889 2890func (*WebpageConditionInfo) ProtoMessage() {} 2891 2892func (x *WebpageConditionInfo) ProtoReflect() protoreflect.Message { 2893 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[47] 2894 if protoimpl.UnsafeEnabled && x != nil { 2895 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2896 if ms.LoadMessageInfo() == nil { 2897 ms.StoreMessageInfo(mi) 2898 } 2899 return ms 2900 } 2901 return mi.MessageOf(x) 2902} 2903 2904// Deprecated: Use WebpageConditionInfo.ProtoReflect.Descriptor instead. 2905func (*WebpageConditionInfo) Descriptor() ([]byte, []int) { 2906 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{47} 2907} 2908 2909func (x *WebpageConditionInfo) GetOperand() enums.WebpageConditionOperandEnum_WebpageConditionOperand { 2910 if x != nil { 2911 return x.Operand 2912 } 2913 return enums.WebpageConditionOperandEnum_UNSPECIFIED 2914} 2915 2916func (x *WebpageConditionInfo) GetOperator() enums.WebpageConditionOperatorEnum_WebpageConditionOperator { 2917 if x != nil { 2918 return x.Operator 2919 } 2920 return enums.WebpageConditionOperatorEnum_UNSPECIFIED 2921} 2922 2923func (x *WebpageConditionInfo) GetArgument() *wrappers.StringValue { 2924 if x != nil { 2925 return x.Argument 2926 } 2927 return nil 2928} 2929 2930// Represents an operating system version to be targeted. 2931type OperatingSystemVersionInfo struct { 2932 state protoimpl.MessageState 2933 sizeCache protoimpl.SizeCache 2934 unknownFields protoimpl.UnknownFields 2935 2936 // The operating system version constant resource name. 2937 OperatingSystemVersionConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=operating_system_version_constant,json=operatingSystemVersionConstant,proto3" json:"operating_system_version_constant,omitempty"` 2938} 2939 2940func (x *OperatingSystemVersionInfo) Reset() { 2941 *x = OperatingSystemVersionInfo{} 2942 if protoimpl.UnsafeEnabled { 2943 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[48] 2944 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2945 ms.StoreMessageInfo(mi) 2946 } 2947} 2948 2949func (x *OperatingSystemVersionInfo) String() string { 2950 return protoimpl.X.MessageStringOf(x) 2951} 2952 2953func (*OperatingSystemVersionInfo) ProtoMessage() {} 2954 2955func (x *OperatingSystemVersionInfo) ProtoReflect() protoreflect.Message { 2956 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[48] 2957 if protoimpl.UnsafeEnabled && x != nil { 2958 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2959 if ms.LoadMessageInfo() == nil { 2960 ms.StoreMessageInfo(mi) 2961 } 2962 return ms 2963 } 2964 return mi.MessageOf(x) 2965} 2966 2967// Deprecated: Use OperatingSystemVersionInfo.ProtoReflect.Descriptor instead. 2968func (*OperatingSystemVersionInfo) Descriptor() ([]byte, []int) { 2969 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{48} 2970} 2971 2972func (x *OperatingSystemVersionInfo) GetOperatingSystemVersionConstant() *wrappers.StringValue { 2973 if x != nil { 2974 return x.OperatingSystemVersionConstant 2975 } 2976 return nil 2977} 2978 2979// An app payment model criterion. 2980type AppPaymentModelInfo struct { 2981 state protoimpl.MessageState 2982 sizeCache protoimpl.SizeCache 2983 unknownFields protoimpl.UnknownFields 2984 2985 // Type of the app payment model. 2986 Type enums.AppPaymentModelTypeEnum_AppPaymentModelType `protobuf:"varint,1,opt,name=type,proto3,enum=google.ads.googleads.v2.enums.AppPaymentModelTypeEnum_AppPaymentModelType" json:"type,omitempty"` 2987} 2988 2989func (x *AppPaymentModelInfo) Reset() { 2990 *x = AppPaymentModelInfo{} 2991 if protoimpl.UnsafeEnabled { 2992 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[49] 2993 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2994 ms.StoreMessageInfo(mi) 2995 } 2996} 2997 2998func (x *AppPaymentModelInfo) String() string { 2999 return protoimpl.X.MessageStringOf(x) 3000} 3001 3002func (*AppPaymentModelInfo) ProtoMessage() {} 3003 3004func (x *AppPaymentModelInfo) ProtoReflect() protoreflect.Message { 3005 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[49] 3006 if protoimpl.UnsafeEnabled && x != nil { 3007 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3008 if ms.LoadMessageInfo() == nil { 3009 ms.StoreMessageInfo(mi) 3010 } 3011 return ms 3012 } 3013 return mi.MessageOf(x) 3014} 3015 3016// Deprecated: Use AppPaymentModelInfo.ProtoReflect.Descriptor instead. 3017func (*AppPaymentModelInfo) Descriptor() ([]byte, []int) { 3018 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{49} 3019} 3020 3021func (x *AppPaymentModelInfo) GetType() enums.AppPaymentModelTypeEnum_AppPaymentModelType { 3022 if x != nil { 3023 return x.Type 3024 } 3025 return enums.AppPaymentModelTypeEnum_UNSPECIFIED 3026} 3027 3028// A mobile device criterion. 3029type MobileDeviceInfo struct { 3030 state protoimpl.MessageState 3031 sizeCache protoimpl.SizeCache 3032 unknownFields protoimpl.UnknownFields 3033 3034 // The mobile device constant resource name. 3035 MobileDeviceConstant *wrappers.StringValue `protobuf:"bytes,1,opt,name=mobile_device_constant,json=mobileDeviceConstant,proto3" json:"mobile_device_constant,omitempty"` 3036} 3037 3038func (x *MobileDeviceInfo) Reset() { 3039 *x = MobileDeviceInfo{} 3040 if protoimpl.UnsafeEnabled { 3041 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[50] 3042 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3043 ms.StoreMessageInfo(mi) 3044 } 3045} 3046 3047func (x *MobileDeviceInfo) String() string { 3048 return protoimpl.X.MessageStringOf(x) 3049} 3050 3051func (*MobileDeviceInfo) ProtoMessage() {} 3052 3053func (x *MobileDeviceInfo) ProtoReflect() protoreflect.Message { 3054 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[50] 3055 if protoimpl.UnsafeEnabled && x != nil { 3056 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3057 if ms.LoadMessageInfo() == nil { 3058 ms.StoreMessageInfo(mi) 3059 } 3060 return ms 3061 } 3062 return mi.MessageOf(x) 3063} 3064 3065// Deprecated: Use MobileDeviceInfo.ProtoReflect.Descriptor instead. 3066func (*MobileDeviceInfo) Descriptor() ([]byte, []int) { 3067 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{50} 3068} 3069 3070func (x *MobileDeviceInfo) GetMobileDeviceConstant() *wrappers.StringValue { 3071 if x != nil { 3072 return x.MobileDeviceConstant 3073 } 3074 return nil 3075} 3076 3077// A custom affinity criterion. 3078// A criterion of this type is only targetable. 3079type CustomAffinityInfo struct { 3080 state protoimpl.MessageState 3081 sizeCache protoimpl.SizeCache 3082 unknownFields protoimpl.UnknownFields 3083 3084 // The CustomInterest resource name. 3085 CustomAffinity *wrappers.StringValue `protobuf:"bytes,1,opt,name=custom_affinity,json=customAffinity,proto3" json:"custom_affinity,omitempty"` 3086} 3087 3088func (x *CustomAffinityInfo) Reset() { 3089 *x = CustomAffinityInfo{} 3090 if protoimpl.UnsafeEnabled { 3091 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[51] 3092 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3093 ms.StoreMessageInfo(mi) 3094 } 3095} 3096 3097func (x *CustomAffinityInfo) String() string { 3098 return protoimpl.X.MessageStringOf(x) 3099} 3100 3101func (*CustomAffinityInfo) ProtoMessage() {} 3102 3103func (x *CustomAffinityInfo) ProtoReflect() protoreflect.Message { 3104 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[51] 3105 if protoimpl.UnsafeEnabled && x != nil { 3106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3107 if ms.LoadMessageInfo() == nil { 3108 ms.StoreMessageInfo(mi) 3109 } 3110 return ms 3111 } 3112 return mi.MessageOf(x) 3113} 3114 3115// Deprecated: Use CustomAffinityInfo.ProtoReflect.Descriptor instead. 3116func (*CustomAffinityInfo) Descriptor() ([]byte, []int) { 3117 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{51} 3118} 3119 3120func (x *CustomAffinityInfo) GetCustomAffinity() *wrappers.StringValue { 3121 if x != nil { 3122 return x.CustomAffinity 3123 } 3124 return nil 3125} 3126 3127// A custom intent criterion. 3128// A criterion of this type is only targetable. 3129type CustomIntentInfo struct { 3130 state protoimpl.MessageState 3131 sizeCache protoimpl.SizeCache 3132 unknownFields protoimpl.UnknownFields 3133 3134 // The CustomInterest resource name. 3135 CustomIntent *wrappers.StringValue `protobuf:"bytes,1,opt,name=custom_intent,json=customIntent,proto3" json:"custom_intent,omitempty"` 3136} 3137 3138func (x *CustomIntentInfo) Reset() { 3139 *x = CustomIntentInfo{} 3140 if protoimpl.UnsafeEnabled { 3141 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[52] 3142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3143 ms.StoreMessageInfo(mi) 3144 } 3145} 3146 3147func (x *CustomIntentInfo) String() string { 3148 return protoimpl.X.MessageStringOf(x) 3149} 3150 3151func (*CustomIntentInfo) ProtoMessage() {} 3152 3153func (x *CustomIntentInfo) ProtoReflect() protoreflect.Message { 3154 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[52] 3155 if protoimpl.UnsafeEnabled && x != nil { 3156 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3157 if ms.LoadMessageInfo() == nil { 3158 ms.StoreMessageInfo(mi) 3159 } 3160 return ms 3161 } 3162 return mi.MessageOf(x) 3163} 3164 3165// Deprecated: Use CustomIntentInfo.ProtoReflect.Descriptor instead. 3166func (*CustomIntentInfo) Descriptor() ([]byte, []int) { 3167 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{52} 3168} 3169 3170func (x *CustomIntentInfo) GetCustomIntent() *wrappers.StringValue { 3171 if x != nil { 3172 return x.CustomIntent 3173 } 3174 return nil 3175} 3176 3177// A radius around a list of locations specified via a feed. 3178type LocationGroupInfo struct { 3179 state protoimpl.MessageState 3180 sizeCache protoimpl.SizeCache 3181 unknownFields protoimpl.UnknownFields 3182 3183 // Feed specifying locations for targeting. 3184 // This is required and must be set in CREATE operations. 3185 Feed *wrappers.StringValue `protobuf:"bytes,1,opt,name=feed,proto3" json:"feed,omitempty"` 3186 // Geo target constant(s) restricting the scope of the geographic area within 3187 // the feed. Currently only one geo target constant is allowed. 3188 GeoTargetConstants []*wrappers.StringValue `protobuf:"bytes,2,rep,name=geo_target_constants,json=geoTargetConstants,proto3" json:"geo_target_constants,omitempty"` 3189 // Distance in units specifying the radius around targeted locations. 3190 // This is required and must be set in CREATE operations. 3191 Radius *wrappers.Int64Value `protobuf:"bytes,3,opt,name=radius,proto3" json:"radius,omitempty"` 3192 // Unit of the radius, miles and meters supported currently. 3193 // This is required and must be set in CREATE operations. 3194 RadiusUnits enums.LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits `protobuf:"varint,4,opt,name=radius_units,json=radiusUnits,proto3,enum=google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits" json:"radius_units,omitempty"` 3195} 3196 3197func (x *LocationGroupInfo) Reset() { 3198 *x = LocationGroupInfo{} 3199 if protoimpl.UnsafeEnabled { 3200 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[53] 3201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3202 ms.StoreMessageInfo(mi) 3203 } 3204} 3205 3206func (x *LocationGroupInfo) String() string { 3207 return protoimpl.X.MessageStringOf(x) 3208} 3209 3210func (*LocationGroupInfo) ProtoMessage() {} 3211 3212func (x *LocationGroupInfo) ProtoReflect() protoreflect.Message { 3213 mi := &file_google_ads_googleads_v2_common_criteria_proto_msgTypes[53] 3214 if protoimpl.UnsafeEnabled && x != nil { 3215 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3216 if ms.LoadMessageInfo() == nil { 3217 ms.StoreMessageInfo(mi) 3218 } 3219 return ms 3220 } 3221 return mi.MessageOf(x) 3222} 3223 3224// Deprecated: Use LocationGroupInfo.ProtoReflect.Descriptor instead. 3225func (*LocationGroupInfo) Descriptor() ([]byte, []int) { 3226 return file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP(), []int{53} 3227} 3228 3229func (x *LocationGroupInfo) GetFeed() *wrappers.StringValue { 3230 if x != nil { 3231 return x.Feed 3232 } 3233 return nil 3234} 3235 3236func (x *LocationGroupInfo) GetGeoTargetConstants() []*wrappers.StringValue { 3237 if x != nil { 3238 return x.GeoTargetConstants 3239 } 3240 return nil 3241} 3242 3243func (x *LocationGroupInfo) GetRadius() *wrappers.Int64Value { 3244 if x != nil { 3245 return x.Radius 3246 } 3247 return nil 3248} 3249 3250func (x *LocationGroupInfo) GetRadiusUnits() enums.LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits { 3251 if x != nil { 3252 return x.RadiusUnits 3253 } 3254 return enums.LocationGroupRadiusUnitsEnum_UNSPECIFIED 3255} 3256 3257var File_google_ads_googleads_v2_common_criteria_proto protoreflect.FileDescriptor 3258 3259var file_google_ads_googleads_v2_common_criteria_proto_rawDesc = []byte{ 3260 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 3261 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 3262 0x2f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 3263 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3264 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 3265 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 3266 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x61, 3267 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 3268 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 3269 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 3270 0x6d, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 3271 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3272 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 3273 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x63, 3274 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 3275 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 3276 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 3277 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 3278 0x65, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3279 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 3280 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 3281 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 3282 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 3283 0x75, 0x6d, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 3284 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 3285 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 3286 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 3287 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 3288 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 3289 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 3290 0x75, 0x6d, 0x73, 0x2f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 3291 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 3292 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 3293 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 3294 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3295 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 3296 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 3297 0x2f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 3298 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x42, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3299 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 3300 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 3301 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 3302 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 3303 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3304 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6c, 0x69, 0x73, 3305 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 3306 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 3307 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 3308 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 3309 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 3310 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 3311 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 3312 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 3313 0x68, 0x6f, 0x75, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 3314 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 3315 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3316 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 3317 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 3318 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 3319 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 3320 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3321 0x1a, 0x42, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 3322 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 3323 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 3324 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70, 3325 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 3326 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 3327 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 3328 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3329 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 3330 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 3331 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3332 0x76, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 3333 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 3334 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 3335 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3336 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 3337 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 3338 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x65, 3339 0x76, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3340 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 3341 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 3342 0x74, 0x79, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x2e, 3343 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 3344 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 3345 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x77, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 3346 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x2e, 0x70, 3347 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 3348 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 3349 0x75, 0x6d, 0x73, 0x2f, 0x77, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 3350 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 3351 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 3352 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 3353 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 3354 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 3355 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6e, 3356 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 3357 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3358 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 3359 0x74, 0x65, 0x78, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 3360 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3361 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 3362 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 3363 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4b, 0x65, 3364 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 3365 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3f, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 3366 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x03, 0x75, 0x72, 3367 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3368 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 3369 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x76, 0x0a, 0x15, 0x4d, 0x6f, 3370 0x62, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 3371 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x1c, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x70, 3372 0x70, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 3373 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3374 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 3375 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x41, 3376 0x70, 0x70, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 3377 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x15, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 3378 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x06, 0x61, 3379 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 3380 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 3381 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 3382 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 3383 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3384 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 3385 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 3386 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x13, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 3387 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3388 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3389 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x67, 3390 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 3391 0x22, 0x52, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 3392 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 3393 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3394 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x65, 0x76, 3395 0x69, 0x63, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x04, 3396 0x74, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 3397 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x04, 3398 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 3399 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 3400 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 3401 0x72, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 3402 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 3403 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9a, 3404 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 3405 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3406 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 3407 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 3408 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 3409 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x72, 3410 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 3411 0x0a, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 3412 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 3413 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 3414 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 3415 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x61, 0x73, 0x65, 0x56, 0x61, 0x6c, 3416 0x75, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x5f, 3417 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x18, 3418 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3419 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 3420 0x6c, 0x75, 0x65, 0x52, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x47, 0x72, 0x6f, 3421 0x75, 0x70, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x10, 0x4c, 3422 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3423 0x54, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 3424 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 3425 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 3426 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 3427 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 3428 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8b, 0x0b, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 3429 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 3430 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x18, 3431 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 3432 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 3433 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x72, 3434 0x61, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x69, 3435 0x6e, 0x67, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x68, 0x6f, 0x74, 0x65, 0x6c, 3436 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3437 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 3438 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 3439 0x49, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x49, 3440 0x64, 0x12, 0x51, 0x0a, 0x0b, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 3441 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3442 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 3443 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x43, 0x6c, 0x61, 3444 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x43, 3445 0x6c, 0x61, 0x73, 0x73, 0x12, 0x6a, 0x0a, 0x14, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 3446 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 3447 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 3448 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 3449 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 3450 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x68, 0x6f, 3451 0x74, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 3452 0x12, 0x51, 0x0a, 0x0b, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 3453 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 3454 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 3455 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 3456 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x53, 0x74, 3457 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x5f, 0x63, 0x69, 0x74, 3458 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3459 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 3460 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x43, 0x69, 3461 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x43, 3462 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x18, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 3463 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 3464 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 3465 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 3466 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x75, 3467 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 3468 0x6f, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x75, 0x73, 0x74, 3469 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x76, 0x0a, 0x18, 0x70, 3470 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x62, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 3471 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 3472 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3473 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 3474 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 3475 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x16, 0x70, 0x72, 0x6f, 3476 0x64, 0x75, 0x63, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 3477 0x6f, 0x72, 0x79, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 3478 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 3479 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3480 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 3481 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 3482 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 3483 0x65, 0x6c, 0x12, 0x7f, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x68, 3484 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x69, 0x74, 3485 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3486 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 3487 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 3488 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x69, 3489 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 3490 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 3491 0x69, 0x74, 0x79, 0x12, 0x63, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 3492 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 3493 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3494 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 3495 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 3496 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 3497 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 3498 0x75, 0x63, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 3499 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 3500 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 3501 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 3502 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 3503 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 3504 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 3505 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3506 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 3507 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 3508 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x79, 0x0a, 0x19, 0x75, 3509 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 3510 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 3511 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3512 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 3513 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 3514 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x17, 0x75, 3515 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 3516 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 3517 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x72, 3518 0x61, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 3519 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3520 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 3521 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x0b, 0x48, 3522 0x6f, 0x74, 0x65, 0x6c, 0x49, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 3523 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3524 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 3525 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x43, 3526 0x0a, 0x0e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 3527 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3528 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3529 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 3530 0x6c, 0x75, 0x65, 0x22, 0x70, 0x0a, 0x16, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 3531 0x74, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x56, 0x0a, 3532 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 3533 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3534 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3535 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x63, 3536 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 3537 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x0e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x53, 0x74, 3538 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 3539 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 3540 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3541 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 3542 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x22, 0x54, 3543 0x0a, 0x0d, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3544 0x43, 0x0a, 0x0e, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 3545 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3546 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 3547 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x69, 0x74, 0x79, 0x43, 0x72, 0x69, 0x74, 0x65, 3548 0x72, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 3549 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 3550 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 3551 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3552 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 3553 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x70, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 3554 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3555 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 3556 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x75, 3557 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x64, 3558 0x65, 0x78, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x75, 3559 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x64, 3560 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xfc, 0x01, 0x0a, 0x1a, 0x50, 0x72, 3561 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 3562 0x67, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 3563 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3564 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 3565 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 3566 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 3567 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 3568 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 3569 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x70, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 3570 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 3571 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 3572 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x69, 0x64, 3573 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 3574 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x69, 0x64, 3575 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 3576 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x70, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x64, 3577 0x75, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a, 3578 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 3579 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 3580 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 3581 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 3582 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 3583 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xa9, 0x01, 0x0a, 0x1d, 0x50, 3584 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x63, 3585 0x6c, 0x75, 0x73, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x87, 0x01, 0x0a, 3586 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3587 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 3588 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 3589 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 3590 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 3591 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 3592 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x69, 3593 0x74, 0x79, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x78, 0x63, 0x6c, 0x75, 3594 0x73, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x7a, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 3595 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x62, 3596 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 3597 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 3598 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 3599 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 3600 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 3601 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 3602 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x74, 0x65, 3603 0x6d, 0x49, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 3604 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3605 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 3606 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 3607 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3608 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 3609 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3610 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 3611 0x6c, 0x75, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 3612 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 3613 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 3614 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x65, 3615 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 3616 0x79, 0x70, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 3617 0x1d, 0x0a, 0x1b, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 3618 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x82, 3619 0x01, 0x0a, 0x1a, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 3620 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x64, 0x0a, 3621 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 3622 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3623 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x48, 0x6f, 0x74, 0x65, 3624 0x6c, 0x44, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 3625 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x65, 3626 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 3627 0x79, 0x70, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x1d, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x41, 0x64, 0x76, 3628 0x61, 0x6e, 0x63, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x6e, 0x64, 0x6f, 3629 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x79, 3630 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3631 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 3632 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x36, 0x0a, 3633 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3634 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3635 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6d, 0x61, 3636 0x78, 0x44, 0x61, 0x79, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x48, 0x6f, 0x74, 0x65, 0x6c, 0x4c, 3637 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4f, 0x66, 0x53, 0x74, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3638 0x3a, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x01, 0x20, 3639 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3640 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 3641 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 3642 0x61, 0x78, 0x5f, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3643 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3644 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 3645 0x78, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x48, 0x6f, 0x74, 0x65, 0x6c, 3646 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x44, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x56, 3647 0x0a, 0x0b, 0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x01, 0x20, 3648 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 3649 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 3650 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x45, 0x6e, 0x75, 3651 0x6d, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x09, 0x64, 0x61, 0x79, 3652 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x22, 0x6d, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 3653 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x56, 0x0a, 3654 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 3655 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3656 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 3657 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 3658 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 3659 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9a, 0x03, 0x0a, 0x0e, 0x41, 0x64, 0x53, 0x63, 0x68, 0x65, 3660 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 3661 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 3662 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3663 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 3664 0x69, 0x6e, 0x75, 0x74, 0x65, 0x4f, 0x66, 0x48, 0x6f, 0x75, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 3665 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x4f, 0x66, 0x48, 0x6f, 0x75, 0x72, 0x52, 0x0b, 0x73, 0x74, 3666 0x61, 0x72, 0x74, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 3667 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 3668 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3669 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 0x69, 3670 0x6e, 0x75, 0x74, 0x65, 0x4f, 0x66, 0x48, 0x6f, 0x75, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4d, 3671 0x69, 0x6e, 0x75, 0x74, 0x65, 0x4f, 0x66, 0x48, 0x6f, 0x75, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x64, 3672 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 3673 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 3674 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 3675 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x6f, 3676 0x75, 0x72, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x04, 3677 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3678 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 3679 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x56, 0x0a, 0x0b, 0x64, 0x61, 3680 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 3681 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 3682 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 3683 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x61, 3684 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x09, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 3685 0x65, 0x6b, 0x22, 0x60, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 3686 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 3687 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 3688 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 3689 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 3690 0x6d, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 3691 0x74, 0x79, 0x70, 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 3692 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 3693 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 3694 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 3695 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 3696 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 3697 0x22, 0x69, 0x0a, 0x0f, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 3698 0x6e, 0x66, 0x6f, 0x12, 0x56, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3699 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 3700 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 3701 0x73, 0x2e, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 3702 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 3703 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x50, 3704 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x66, 3705 0x6f, 0x12, 0x5c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 3706 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 3707 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 3708 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 3709 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 3710 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 3711 0x4b, 0x0a, 0x10, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 3712 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x69, 0x64, 0x18, 3713 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3714 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 3715 0x6c, 0x75, 0x65, 0x52, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x12, 3716 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 3717 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 3718 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3719 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 3720 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 3721 0x49, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3722 0x39, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 3723 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3724 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 3725 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xc8, 0x02, 0x0a, 0x0d, 0x50, 3726 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x09, 3727 0x67, 0x65, 0x6f, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3728 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 3729 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 3730 0x2e, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x67, 3731 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 3732 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3733 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 3734 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x6f, 0x0a, 3735 0x0c, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 3736 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 3737 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 3738 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x61, 0x64, 3739 0x69, 0x75, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 3740 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x55, 0x6e, 0x69, 0x74, 3741 0x73, 0x52, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x45, 3742 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 3743 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 3744 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 3745 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x64, 3746 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69, 3747 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a, 0x1a, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 3748 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x64, 0x65, 0x67, 3749 0x72, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 3750 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 3751 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 3752 0x64, 0x65, 0x49, 0x6e, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 3753 0x12, 0x56, 0x0a, 0x19, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 3754 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x18, 0x02, 0x20, 3755 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3756 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 3757 0x52, 0x16, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x4d, 0x69, 0x63, 0x72, 3758 0x6f, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x22, 0xda, 0x03, 0x0a, 0x0b, 0x41, 0x64, 0x64, 3759 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 3760 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 3761 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3762 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x6f, 0x73, 3763 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 3764 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 3765 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3766 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x72, 3767 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f, 3768 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 3769 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3770 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 3771 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x70, 3772 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 3773 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3774 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 3775 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 3776 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 3777 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3778 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 3779 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 3780 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 3781 0x64, 0x72, 0x65, 0x73, 0x73, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 3782 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 3783 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x65, 3784 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x32, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x69, 3785 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 3786 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3787 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x69, 0x74, 3788 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 3789 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 3790 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 3791 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 3792 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x74, 0x6f, 0x70, 0x69, 0x63, 3793 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 3794 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3795 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 3796 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x59, 0x0a, 0x0c, 0x4c, 0x61, 3797 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x11, 0x6c, 0x61, 3798 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 3799 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3800 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 3801 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 3802 0x73, 0x74, 0x61, 0x6e, 0x74, 0x22, 0x4a, 0x0a, 0x0b, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 3803 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 3804 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3805 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 3806 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 3807 0x73, 0x22, 0x6c, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 3808 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 3809 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 3810 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 3811 0x75, 0x6d, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 3812 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 3813 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 3814 0x56, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 3815 0x0a, 0x10, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 3816 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3817 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 3818 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x43, 3819 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x22, 0x66, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 3820 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x52, 0x0a, 0x16, 0x75, 3821 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 3822 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 3823 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 3824 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x49, 3825 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 3826 0xa8, 0x01, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3827 0x43, 0x0a, 0x0e, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 3828 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3829 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 3830 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x6e, 3831 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 3832 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3833 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 3834 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x62, 0x70, 0x61, 0x67, 3835 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 3836 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb0, 0x02, 0x0a, 0x14, 0x57, 3837 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 3838 0x6e, 0x66, 0x6f, 0x12, 0x6c, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 3839 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 3840 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 3841 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 3842 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x45, 0x6e, 0x75, 0x6d, 3843 0x2e, 0x57, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 3844 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 3845 0x64, 0x12, 0x70, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 3846 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 3847 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 3848 0x75, 0x6d, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 3849 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x75, 0x6d, 3850 0x2e, 0x57, 0x65, 0x62, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 3851 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 3852 0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 3853 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3854 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 3855 0x6c, 0x75, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x85, 0x01, 3856 0x0a, 0x1a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 3857 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x67, 0x0a, 0x21, 3858 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 3859 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 3860 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3861 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 3862 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 3863 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 3864 0x73, 0x74, 0x61, 0x6e, 0x74, 0x22, 0x75, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x6d, 3865 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x04, 3866 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 3867 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 3868 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x61, 3869 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 3870 0x75, 0x6d, 0x2e, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 3871 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x66, 0x0a, 0x10, 3872 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 3873 0x12, 0x52, 0x0a, 0x16, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 3874 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 3875 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3876 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 3877 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 3878 0x74, 0x61, 0x6e, 0x74, 0x22, 0x5b, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x66, 3879 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x75, 3880 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 3881 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 3882 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 3883 0x65, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 3884 0x79, 0x22, 0x55, 0x0a, 0x10, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 3885 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 3886 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 3887 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 3888 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 3889 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xc3, 0x02, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 3890 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 3891 0x0a, 0x04, 0x66, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 3892 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 3893 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x66, 0x65, 0x65, 0x64, 3894 0x12, 0x4e, 0x0a, 0x14, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 3895 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 3896 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3897 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x67, 0x65, 3898 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 3899 0x12, 0x33, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 3900 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3901 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 3902 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x77, 0x0a, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 3903 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 3904 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3905 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 3906 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x55, 3907 0x6e, 0x69, 0x74, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3908 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x55, 0x6e, 0x69, 0x74, 3909 0x73, 0x52, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x42, 0xe8, 3910 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 3911 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 3912 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x0d, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x50, 3913 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 3914 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 3915 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 3916 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 3917 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xa2, 0x02, 0x03, 0x47, 3918 0x41, 0x41, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 3919 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 3920 0x6d, 0x6f, 0x6e, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 3921 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x43, 0x6f, 3922 0x6d, 0x6d, 0x6f, 0x6e, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 3923 0x64, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 3924 0x32, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3925 0x33, 3926} 3927 3928var ( 3929 file_google_ads_googleads_v2_common_criteria_proto_rawDescOnce sync.Once 3930 file_google_ads_googleads_v2_common_criteria_proto_rawDescData = file_google_ads_googleads_v2_common_criteria_proto_rawDesc 3931) 3932 3933func file_google_ads_googleads_v2_common_criteria_proto_rawDescGZIP() []byte { 3934 file_google_ads_googleads_v2_common_criteria_proto_rawDescOnce.Do(func() { 3935 file_google_ads_googleads_v2_common_criteria_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v2_common_criteria_proto_rawDescData) 3936 }) 3937 return file_google_ads_googleads_v2_common_criteria_proto_rawDescData 3938} 3939 3940var file_google_ads_googleads_v2_common_criteria_proto_msgTypes = make([]protoimpl.MessageInfo, 54) 3941var file_google_ads_googleads_v2_common_criteria_proto_goTypes = []interface{}{ 3942 (*KeywordInfo)(nil), // 0: google.ads.googleads.v2.common.KeywordInfo 3943 (*PlacementInfo)(nil), // 1: google.ads.googleads.v2.common.PlacementInfo 3944 (*MobileAppCategoryInfo)(nil), // 2: google.ads.googleads.v2.common.MobileAppCategoryInfo 3945 (*MobileApplicationInfo)(nil), // 3: google.ads.googleads.v2.common.MobileApplicationInfo 3946 (*LocationInfo)(nil), // 4: google.ads.googleads.v2.common.LocationInfo 3947 (*DeviceInfo)(nil), // 5: google.ads.googleads.v2.common.DeviceInfo 3948 (*PreferredContentInfo)(nil), // 6: google.ads.googleads.v2.common.PreferredContentInfo 3949 (*ListingGroupInfo)(nil), // 7: google.ads.googleads.v2.common.ListingGroupInfo 3950 (*ListingScopeInfo)(nil), // 8: google.ads.googleads.v2.common.ListingScopeInfo 3951 (*ListingDimensionInfo)(nil), // 9: google.ads.googleads.v2.common.ListingDimensionInfo 3952 (*ListingBrandInfo)(nil), // 10: google.ads.googleads.v2.common.ListingBrandInfo 3953 (*HotelIdInfo)(nil), // 11: google.ads.googleads.v2.common.HotelIdInfo 3954 (*HotelClassInfo)(nil), // 12: google.ads.googleads.v2.common.HotelClassInfo 3955 (*HotelCountryRegionInfo)(nil), // 13: google.ads.googleads.v2.common.HotelCountryRegionInfo 3956 (*HotelStateInfo)(nil), // 14: google.ads.googleads.v2.common.HotelStateInfo 3957 (*HotelCityInfo)(nil), // 15: google.ads.googleads.v2.common.HotelCityInfo 3958 (*ListingCustomAttributeInfo)(nil), // 16: google.ads.googleads.v2.common.ListingCustomAttributeInfo 3959 (*ProductBiddingCategoryInfo)(nil), // 17: google.ads.googleads.v2.common.ProductBiddingCategoryInfo 3960 (*ProductChannelInfo)(nil), // 18: google.ads.googleads.v2.common.ProductChannelInfo 3961 (*ProductChannelExclusivityInfo)(nil), // 19: google.ads.googleads.v2.common.ProductChannelExclusivityInfo 3962 (*ProductConditionInfo)(nil), // 20: google.ads.googleads.v2.common.ProductConditionInfo 3963 (*ProductItemIdInfo)(nil), // 21: google.ads.googleads.v2.common.ProductItemIdInfo 3964 (*ProductTypeInfo)(nil), // 22: google.ads.googleads.v2.common.ProductTypeInfo 3965 (*UnknownListingDimensionInfo)(nil), // 23: google.ads.googleads.v2.common.UnknownListingDimensionInfo 3966 (*HotelDateSelectionTypeInfo)(nil), // 24: google.ads.googleads.v2.common.HotelDateSelectionTypeInfo 3967 (*HotelAdvanceBookingWindowInfo)(nil), // 25: google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo 3968 (*HotelLengthOfStayInfo)(nil), // 26: google.ads.googleads.v2.common.HotelLengthOfStayInfo 3969 (*HotelCheckInDayInfo)(nil), // 27: google.ads.googleads.v2.common.HotelCheckInDayInfo 3970 (*InteractionTypeInfo)(nil), // 28: google.ads.googleads.v2.common.InteractionTypeInfo 3971 (*AdScheduleInfo)(nil), // 29: google.ads.googleads.v2.common.AdScheduleInfo 3972 (*AgeRangeInfo)(nil), // 30: google.ads.googleads.v2.common.AgeRangeInfo 3973 (*GenderInfo)(nil), // 31: google.ads.googleads.v2.common.GenderInfo 3974 (*IncomeRangeInfo)(nil), // 32: google.ads.googleads.v2.common.IncomeRangeInfo 3975 (*ParentalStatusInfo)(nil), // 33: google.ads.googleads.v2.common.ParentalStatusInfo 3976 (*YouTubeVideoInfo)(nil), // 34: google.ads.googleads.v2.common.YouTubeVideoInfo 3977 (*YouTubeChannelInfo)(nil), // 35: google.ads.googleads.v2.common.YouTubeChannelInfo 3978 (*UserListInfo)(nil), // 36: google.ads.googleads.v2.common.UserListInfo 3979 (*ProximityInfo)(nil), // 37: google.ads.googleads.v2.common.ProximityInfo 3980 (*GeoPointInfo)(nil), // 38: google.ads.googleads.v2.common.GeoPointInfo 3981 (*AddressInfo)(nil), // 39: google.ads.googleads.v2.common.AddressInfo 3982 (*TopicInfo)(nil), // 40: google.ads.googleads.v2.common.TopicInfo 3983 (*LanguageInfo)(nil), // 41: google.ads.googleads.v2.common.LanguageInfo 3984 (*IpBlockInfo)(nil), // 42: google.ads.googleads.v2.common.IpBlockInfo 3985 (*ContentLabelInfo)(nil), // 43: google.ads.googleads.v2.common.ContentLabelInfo 3986 (*CarrierInfo)(nil), // 44: google.ads.googleads.v2.common.CarrierInfo 3987 (*UserInterestInfo)(nil), // 45: google.ads.googleads.v2.common.UserInterestInfo 3988 (*WebpageInfo)(nil), // 46: google.ads.googleads.v2.common.WebpageInfo 3989 (*WebpageConditionInfo)(nil), // 47: google.ads.googleads.v2.common.WebpageConditionInfo 3990 (*OperatingSystemVersionInfo)(nil), // 48: google.ads.googleads.v2.common.OperatingSystemVersionInfo 3991 (*AppPaymentModelInfo)(nil), // 49: google.ads.googleads.v2.common.AppPaymentModelInfo 3992 (*MobileDeviceInfo)(nil), // 50: google.ads.googleads.v2.common.MobileDeviceInfo 3993 (*CustomAffinityInfo)(nil), // 51: google.ads.googleads.v2.common.CustomAffinityInfo 3994 (*CustomIntentInfo)(nil), // 52: google.ads.googleads.v2.common.CustomIntentInfo 3995 (*LocationGroupInfo)(nil), // 53: google.ads.googleads.v2.common.LocationGroupInfo 3996 (*wrappers.StringValue)(nil), // 54: google.protobuf.StringValue 3997 (enums.KeywordMatchTypeEnum_KeywordMatchType)(0), // 55: google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType 3998 (enums.DeviceEnum_Device)(0), // 56: google.ads.googleads.v2.enums.DeviceEnum.Device 3999 (enums.PreferredContentTypeEnum_PreferredContentType)(0), // 57: google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType 4000 (enums.ListingGroupTypeEnum_ListingGroupType)(0), // 58: google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType 4001 (*wrappers.Int64Value)(nil), // 59: google.protobuf.Int64Value 4002 (enums.ListingCustomAttributeIndexEnum_ListingCustomAttributeIndex)(0), // 60: google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex 4003 (enums.ProductBiddingCategoryLevelEnum_ProductBiddingCategoryLevel)(0), // 61: google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel 4004 (enums.ProductChannelEnum_ProductChannel)(0), // 62: google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel 4005 (enums.ProductChannelExclusivityEnum_ProductChannelExclusivity)(0), // 63: google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity 4006 (enums.ProductConditionEnum_ProductCondition)(0), // 64: google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition 4007 (enums.ProductTypeLevelEnum_ProductTypeLevel)(0), // 65: google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel 4008 (enums.HotelDateSelectionTypeEnum_HotelDateSelectionType)(0), // 66: google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType 4009 (enums.DayOfWeekEnum_DayOfWeek)(0), // 67: google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek 4010 (enums.InteractionTypeEnum_InteractionType)(0), // 68: google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType 4011 (enums.MinuteOfHourEnum_MinuteOfHour)(0), // 69: google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour 4012 (*wrappers.Int32Value)(nil), // 70: google.protobuf.Int32Value 4013 (enums.AgeRangeTypeEnum_AgeRangeType)(0), // 71: google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType 4014 (enums.GenderTypeEnum_GenderType)(0), // 72: google.ads.googleads.v2.enums.GenderTypeEnum.GenderType 4015 (enums.IncomeRangeTypeEnum_IncomeRangeType)(0), // 73: google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType 4016 (enums.ParentalStatusTypeEnum_ParentalStatusType)(0), // 74: google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType 4017 (*wrappers.DoubleValue)(nil), // 75: google.protobuf.DoubleValue 4018 (enums.ProximityRadiusUnitsEnum_ProximityRadiusUnits)(0), // 76: google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits 4019 (enums.ContentLabelTypeEnum_ContentLabelType)(0), // 77: google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType 4020 (enums.WebpageConditionOperandEnum_WebpageConditionOperand)(0), // 78: google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand 4021 (enums.WebpageConditionOperatorEnum_WebpageConditionOperator)(0), // 79: google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator 4022 (enums.AppPaymentModelTypeEnum_AppPaymentModelType)(0), // 80: google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType 4023 (enums.LocationGroupRadiusUnitsEnum_LocationGroupRadiusUnits)(0), // 81: google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits 4024} 4025var file_google_ads_googleads_v2_common_criteria_proto_depIdxs = []int32{ 4026 54, // 0: google.ads.googleads.v2.common.KeywordInfo.text:type_name -> google.protobuf.StringValue 4027 55, // 1: google.ads.googleads.v2.common.KeywordInfo.match_type:type_name -> google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType 4028 54, // 2: google.ads.googleads.v2.common.PlacementInfo.url:type_name -> google.protobuf.StringValue 4029 54, // 3: google.ads.googleads.v2.common.MobileAppCategoryInfo.mobile_app_category_constant:type_name -> google.protobuf.StringValue 4030 54, // 4: google.ads.googleads.v2.common.MobileApplicationInfo.app_id:type_name -> google.protobuf.StringValue 4031 54, // 5: google.ads.googleads.v2.common.MobileApplicationInfo.name:type_name -> google.protobuf.StringValue 4032 54, // 6: google.ads.googleads.v2.common.LocationInfo.geo_target_constant:type_name -> google.protobuf.StringValue 4033 56, // 7: google.ads.googleads.v2.common.DeviceInfo.type:type_name -> google.ads.googleads.v2.enums.DeviceEnum.Device 4034 57, // 8: google.ads.googleads.v2.common.PreferredContentInfo.type:type_name -> google.ads.googleads.v2.enums.PreferredContentTypeEnum.PreferredContentType 4035 58, // 9: google.ads.googleads.v2.common.ListingGroupInfo.type:type_name -> google.ads.googleads.v2.enums.ListingGroupTypeEnum.ListingGroupType 4036 9, // 10: google.ads.googleads.v2.common.ListingGroupInfo.case_value:type_name -> google.ads.googleads.v2.common.ListingDimensionInfo 4037 54, // 11: google.ads.googleads.v2.common.ListingGroupInfo.parent_ad_group_criterion:type_name -> google.protobuf.StringValue 4038 9, // 12: google.ads.googleads.v2.common.ListingScopeInfo.dimensions:type_name -> google.ads.googleads.v2.common.ListingDimensionInfo 4039 10, // 13: google.ads.googleads.v2.common.ListingDimensionInfo.listing_brand:type_name -> google.ads.googleads.v2.common.ListingBrandInfo 4040 11, // 14: google.ads.googleads.v2.common.ListingDimensionInfo.hotel_id:type_name -> google.ads.googleads.v2.common.HotelIdInfo 4041 12, // 15: google.ads.googleads.v2.common.ListingDimensionInfo.hotel_class:type_name -> google.ads.googleads.v2.common.HotelClassInfo 4042 13, // 16: google.ads.googleads.v2.common.ListingDimensionInfo.hotel_country_region:type_name -> google.ads.googleads.v2.common.HotelCountryRegionInfo 4043 14, // 17: google.ads.googleads.v2.common.ListingDimensionInfo.hotel_state:type_name -> google.ads.googleads.v2.common.HotelStateInfo 4044 15, // 18: google.ads.googleads.v2.common.ListingDimensionInfo.hotel_city:type_name -> google.ads.googleads.v2.common.HotelCityInfo 4045 16, // 19: google.ads.googleads.v2.common.ListingDimensionInfo.listing_custom_attribute:type_name -> google.ads.googleads.v2.common.ListingCustomAttributeInfo 4046 17, // 20: google.ads.googleads.v2.common.ListingDimensionInfo.product_bidding_category:type_name -> google.ads.googleads.v2.common.ProductBiddingCategoryInfo 4047 18, // 21: google.ads.googleads.v2.common.ListingDimensionInfo.product_channel:type_name -> google.ads.googleads.v2.common.ProductChannelInfo 4048 19, // 22: google.ads.googleads.v2.common.ListingDimensionInfo.product_channel_exclusivity:type_name -> google.ads.googleads.v2.common.ProductChannelExclusivityInfo 4049 20, // 23: google.ads.googleads.v2.common.ListingDimensionInfo.product_condition:type_name -> google.ads.googleads.v2.common.ProductConditionInfo 4050 21, // 24: google.ads.googleads.v2.common.ListingDimensionInfo.product_item_id:type_name -> google.ads.googleads.v2.common.ProductItemIdInfo 4051 22, // 25: google.ads.googleads.v2.common.ListingDimensionInfo.product_type:type_name -> google.ads.googleads.v2.common.ProductTypeInfo 4052 23, // 26: google.ads.googleads.v2.common.ListingDimensionInfo.unknown_listing_dimension:type_name -> google.ads.googleads.v2.common.UnknownListingDimensionInfo 4053 54, // 27: google.ads.googleads.v2.common.ListingBrandInfo.value:type_name -> google.protobuf.StringValue 4054 54, // 28: google.ads.googleads.v2.common.HotelIdInfo.value:type_name -> google.protobuf.StringValue 4055 59, // 29: google.ads.googleads.v2.common.HotelClassInfo.value:type_name -> google.protobuf.Int64Value 4056 54, // 30: google.ads.googleads.v2.common.HotelCountryRegionInfo.country_region_criterion:type_name -> google.protobuf.StringValue 4057 54, // 31: google.ads.googleads.v2.common.HotelStateInfo.state_criterion:type_name -> google.protobuf.StringValue 4058 54, // 32: google.ads.googleads.v2.common.HotelCityInfo.city_criterion:type_name -> google.protobuf.StringValue 4059 54, // 33: google.ads.googleads.v2.common.ListingCustomAttributeInfo.value:type_name -> google.protobuf.StringValue 4060 60, // 34: google.ads.googleads.v2.common.ListingCustomAttributeInfo.index:type_name -> google.ads.googleads.v2.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex 4061 59, // 35: google.ads.googleads.v2.common.ProductBiddingCategoryInfo.id:type_name -> google.protobuf.Int64Value 4062 54, // 36: google.ads.googleads.v2.common.ProductBiddingCategoryInfo.country_code:type_name -> google.protobuf.StringValue 4063 61, // 37: google.ads.googleads.v2.common.ProductBiddingCategoryInfo.level:type_name -> google.ads.googleads.v2.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel 4064 62, // 38: google.ads.googleads.v2.common.ProductChannelInfo.channel:type_name -> google.ads.googleads.v2.enums.ProductChannelEnum.ProductChannel 4065 63, // 39: google.ads.googleads.v2.common.ProductChannelExclusivityInfo.channel_exclusivity:type_name -> google.ads.googleads.v2.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity 4066 64, // 40: google.ads.googleads.v2.common.ProductConditionInfo.condition:type_name -> google.ads.googleads.v2.enums.ProductConditionEnum.ProductCondition 4067 54, // 41: google.ads.googleads.v2.common.ProductItemIdInfo.value:type_name -> google.protobuf.StringValue 4068 54, // 42: google.ads.googleads.v2.common.ProductTypeInfo.value:type_name -> google.protobuf.StringValue 4069 65, // 43: google.ads.googleads.v2.common.ProductTypeInfo.level:type_name -> google.ads.googleads.v2.enums.ProductTypeLevelEnum.ProductTypeLevel 4070 66, // 44: google.ads.googleads.v2.common.HotelDateSelectionTypeInfo.type:type_name -> google.ads.googleads.v2.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType 4071 59, // 45: google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo.min_days:type_name -> google.protobuf.Int64Value 4072 59, // 46: google.ads.googleads.v2.common.HotelAdvanceBookingWindowInfo.max_days:type_name -> google.protobuf.Int64Value 4073 59, // 47: google.ads.googleads.v2.common.HotelLengthOfStayInfo.min_nights:type_name -> google.protobuf.Int64Value 4074 59, // 48: google.ads.googleads.v2.common.HotelLengthOfStayInfo.max_nights:type_name -> google.protobuf.Int64Value 4075 67, // 49: google.ads.googleads.v2.common.HotelCheckInDayInfo.day_of_week:type_name -> google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek 4076 68, // 50: google.ads.googleads.v2.common.InteractionTypeInfo.type:type_name -> google.ads.googleads.v2.enums.InteractionTypeEnum.InteractionType 4077 69, // 51: google.ads.googleads.v2.common.AdScheduleInfo.start_minute:type_name -> google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour 4078 69, // 52: google.ads.googleads.v2.common.AdScheduleInfo.end_minute:type_name -> google.ads.googleads.v2.enums.MinuteOfHourEnum.MinuteOfHour 4079 70, // 53: google.ads.googleads.v2.common.AdScheduleInfo.start_hour:type_name -> google.protobuf.Int32Value 4080 70, // 54: google.ads.googleads.v2.common.AdScheduleInfo.end_hour:type_name -> google.protobuf.Int32Value 4081 67, // 55: google.ads.googleads.v2.common.AdScheduleInfo.day_of_week:type_name -> google.ads.googleads.v2.enums.DayOfWeekEnum.DayOfWeek 4082 71, // 56: google.ads.googleads.v2.common.AgeRangeInfo.type:type_name -> google.ads.googleads.v2.enums.AgeRangeTypeEnum.AgeRangeType 4083 72, // 57: google.ads.googleads.v2.common.GenderInfo.type:type_name -> google.ads.googleads.v2.enums.GenderTypeEnum.GenderType 4084 73, // 58: google.ads.googleads.v2.common.IncomeRangeInfo.type:type_name -> google.ads.googleads.v2.enums.IncomeRangeTypeEnum.IncomeRangeType 4085 74, // 59: google.ads.googleads.v2.common.ParentalStatusInfo.type:type_name -> google.ads.googleads.v2.enums.ParentalStatusTypeEnum.ParentalStatusType 4086 54, // 60: google.ads.googleads.v2.common.YouTubeVideoInfo.video_id:type_name -> google.protobuf.StringValue 4087 54, // 61: google.ads.googleads.v2.common.YouTubeChannelInfo.channel_id:type_name -> google.protobuf.StringValue 4088 54, // 62: google.ads.googleads.v2.common.UserListInfo.user_list:type_name -> google.protobuf.StringValue 4089 38, // 63: google.ads.googleads.v2.common.ProximityInfo.geo_point:type_name -> google.ads.googleads.v2.common.GeoPointInfo 4090 75, // 64: google.ads.googleads.v2.common.ProximityInfo.radius:type_name -> google.protobuf.DoubleValue 4091 76, // 65: google.ads.googleads.v2.common.ProximityInfo.radius_units:type_name -> google.ads.googleads.v2.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits 4092 39, // 66: google.ads.googleads.v2.common.ProximityInfo.address:type_name -> google.ads.googleads.v2.common.AddressInfo 4093 70, // 67: google.ads.googleads.v2.common.GeoPointInfo.longitude_in_micro_degrees:type_name -> google.protobuf.Int32Value 4094 70, // 68: google.ads.googleads.v2.common.GeoPointInfo.latitude_in_micro_degrees:type_name -> google.protobuf.Int32Value 4095 54, // 69: google.ads.googleads.v2.common.AddressInfo.postal_code:type_name -> google.protobuf.StringValue 4096 54, // 70: google.ads.googleads.v2.common.AddressInfo.province_code:type_name -> google.protobuf.StringValue 4097 54, // 71: google.ads.googleads.v2.common.AddressInfo.country_code:type_name -> google.protobuf.StringValue 4098 54, // 72: google.ads.googleads.v2.common.AddressInfo.province_name:type_name -> google.protobuf.StringValue 4099 54, // 73: google.ads.googleads.v2.common.AddressInfo.street_address:type_name -> google.protobuf.StringValue 4100 54, // 74: google.ads.googleads.v2.common.AddressInfo.street_address2:type_name -> google.protobuf.StringValue 4101 54, // 75: google.ads.googleads.v2.common.AddressInfo.city_name:type_name -> google.protobuf.StringValue 4102 54, // 76: google.ads.googleads.v2.common.TopicInfo.topic_constant:type_name -> google.protobuf.StringValue 4103 54, // 77: google.ads.googleads.v2.common.TopicInfo.path:type_name -> google.protobuf.StringValue 4104 54, // 78: google.ads.googleads.v2.common.LanguageInfo.language_constant:type_name -> google.protobuf.StringValue 4105 54, // 79: google.ads.googleads.v2.common.IpBlockInfo.ip_address:type_name -> google.protobuf.StringValue 4106 77, // 80: google.ads.googleads.v2.common.ContentLabelInfo.type:type_name -> google.ads.googleads.v2.enums.ContentLabelTypeEnum.ContentLabelType 4107 54, // 81: google.ads.googleads.v2.common.CarrierInfo.carrier_constant:type_name -> google.protobuf.StringValue 4108 54, // 82: google.ads.googleads.v2.common.UserInterestInfo.user_interest_category:type_name -> google.protobuf.StringValue 4109 54, // 83: google.ads.googleads.v2.common.WebpageInfo.criterion_name:type_name -> google.protobuf.StringValue 4110 47, // 84: google.ads.googleads.v2.common.WebpageInfo.conditions:type_name -> google.ads.googleads.v2.common.WebpageConditionInfo 4111 78, // 85: google.ads.googleads.v2.common.WebpageConditionInfo.operand:type_name -> google.ads.googleads.v2.enums.WebpageConditionOperandEnum.WebpageConditionOperand 4112 79, // 86: google.ads.googleads.v2.common.WebpageConditionInfo.operator:type_name -> google.ads.googleads.v2.enums.WebpageConditionOperatorEnum.WebpageConditionOperator 4113 54, // 87: google.ads.googleads.v2.common.WebpageConditionInfo.argument:type_name -> google.protobuf.StringValue 4114 54, // 88: google.ads.googleads.v2.common.OperatingSystemVersionInfo.operating_system_version_constant:type_name -> google.protobuf.StringValue 4115 80, // 89: google.ads.googleads.v2.common.AppPaymentModelInfo.type:type_name -> google.ads.googleads.v2.enums.AppPaymentModelTypeEnum.AppPaymentModelType 4116 54, // 90: google.ads.googleads.v2.common.MobileDeviceInfo.mobile_device_constant:type_name -> google.protobuf.StringValue 4117 54, // 91: google.ads.googleads.v2.common.CustomAffinityInfo.custom_affinity:type_name -> google.protobuf.StringValue 4118 54, // 92: google.ads.googleads.v2.common.CustomIntentInfo.custom_intent:type_name -> google.protobuf.StringValue 4119 54, // 93: google.ads.googleads.v2.common.LocationGroupInfo.feed:type_name -> google.protobuf.StringValue 4120 54, // 94: google.ads.googleads.v2.common.LocationGroupInfo.geo_target_constants:type_name -> google.protobuf.StringValue 4121 59, // 95: google.ads.googleads.v2.common.LocationGroupInfo.radius:type_name -> google.protobuf.Int64Value 4122 81, // 96: google.ads.googleads.v2.common.LocationGroupInfo.radius_units:type_name -> google.ads.googleads.v2.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits 4123 97, // [97:97] is the sub-list for method output_type 4124 97, // [97:97] is the sub-list for method input_type 4125 97, // [97:97] is the sub-list for extension type_name 4126 97, // [97:97] is the sub-list for extension extendee 4127 0, // [0:97] is the sub-list for field type_name 4128} 4129 4130func init() { file_google_ads_googleads_v2_common_criteria_proto_init() } 4131func file_google_ads_googleads_v2_common_criteria_proto_init() { 4132 if File_google_ads_googleads_v2_common_criteria_proto != nil { 4133 return 4134 } 4135 if !protoimpl.UnsafeEnabled { 4136 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 4137 switch v := v.(*KeywordInfo); i { 4138 case 0: 4139 return &v.state 4140 case 1: 4141 return &v.sizeCache 4142 case 2: 4143 return &v.unknownFields 4144 default: 4145 return nil 4146 } 4147 } 4148 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 4149 switch v := v.(*PlacementInfo); i { 4150 case 0: 4151 return &v.state 4152 case 1: 4153 return &v.sizeCache 4154 case 2: 4155 return &v.unknownFields 4156 default: 4157 return nil 4158 } 4159 } 4160 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 4161 switch v := v.(*MobileAppCategoryInfo); i { 4162 case 0: 4163 return &v.state 4164 case 1: 4165 return &v.sizeCache 4166 case 2: 4167 return &v.unknownFields 4168 default: 4169 return nil 4170 } 4171 } 4172 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 4173 switch v := v.(*MobileApplicationInfo); i { 4174 case 0: 4175 return &v.state 4176 case 1: 4177 return &v.sizeCache 4178 case 2: 4179 return &v.unknownFields 4180 default: 4181 return nil 4182 } 4183 } 4184 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 4185 switch v := v.(*LocationInfo); i { 4186 case 0: 4187 return &v.state 4188 case 1: 4189 return &v.sizeCache 4190 case 2: 4191 return &v.unknownFields 4192 default: 4193 return nil 4194 } 4195 } 4196 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 4197 switch v := v.(*DeviceInfo); i { 4198 case 0: 4199 return &v.state 4200 case 1: 4201 return &v.sizeCache 4202 case 2: 4203 return &v.unknownFields 4204 default: 4205 return nil 4206 } 4207 } 4208 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 4209 switch v := v.(*PreferredContentInfo); i { 4210 case 0: 4211 return &v.state 4212 case 1: 4213 return &v.sizeCache 4214 case 2: 4215 return &v.unknownFields 4216 default: 4217 return nil 4218 } 4219 } 4220 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 4221 switch v := v.(*ListingGroupInfo); i { 4222 case 0: 4223 return &v.state 4224 case 1: 4225 return &v.sizeCache 4226 case 2: 4227 return &v.unknownFields 4228 default: 4229 return nil 4230 } 4231 } 4232 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 4233 switch v := v.(*ListingScopeInfo); i { 4234 case 0: 4235 return &v.state 4236 case 1: 4237 return &v.sizeCache 4238 case 2: 4239 return &v.unknownFields 4240 default: 4241 return nil 4242 } 4243 } 4244 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 4245 switch v := v.(*ListingDimensionInfo); i { 4246 case 0: 4247 return &v.state 4248 case 1: 4249 return &v.sizeCache 4250 case 2: 4251 return &v.unknownFields 4252 default: 4253 return nil 4254 } 4255 } 4256 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 4257 switch v := v.(*ListingBrandInfo); i { 4258 case 0: 4259 return &v.state 4260 case 1: 4261 return &v.sizeCache 4262 case 2: 4263 return &v.unknownFields 4264 default: 4265 return nil 4266 } 4267 } 4268 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 4269 switch v := v.(*HotelIdInfo); i { 4270 case 0: 4271 return &v.state 4272 case 1: 4273 return &v.sizeCache 4274 case 2: 4275 return &v.unknownFields 4276 default: 4277 return nil 4278 } 4279 } 4280 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 4281 switch v := v.(*HotelClassInfo); i { 4282 case 0: 4283 return &v.state 4284 case 1: 4285 return &v.sizeCache 4286 case 2: 4287 return &v.unknownFields 4288 default: 4289 return nil 4290 } 4291 } 4292 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 4293 switch v := v.(*HotelCountryRegionInfo); i { 4294 case 0: 4295 return &v.state 4296 case 1: 4297 return &v.sizeCache 4298 case 2: 4299 return &v.unknownFields 4300 default: 4301 return nil 4302 } 4303 } 4304 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 4305 switch v := v.(*HotelStateInfo); i { 4306 case 0: 4307 return &v.state 4308 case 1: 4309 return &v.sizeCache 4310 case 2: 4311 return &v.unknownFields 4312 default: 4313 return nil 4314 } 4315 } 4316 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 4317 switch v := v.(*HotelCityInfo); i { 4318 case 0: 4319 return &v.state 4320 case 1: 4321 return &v.sizeCache 4322 case 2: 4323 return &v.unknownFields 4324 default: 4325 return nil 4326 } 4327 } 4328 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 4329 switch v := v.(*ListingCustomAttributeInfo); i { 4330 case 0: 4331 return &v.state 4332 case 1: 4333 return &v.sizeCache 4334 case 2: 4335 return &v.unknownFields 4336 default: 4337 return nil 4338 } 4339 } 4340 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 4341 switch v := v.(*ProductBiddingCategoryInfo); i { 4342 case 0: 4343 return &v.state 4344 case 1: 4345 return &v.sizeCache 4346 case 2: 4347 return &v.unknownFields 4348 default: 4349 return nil 4350 } 4351 } 4352 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 4353 switch v := v.(*ProductChannelInfo); i { 4354 case 0: 4355 return &v.state 4356 case 1: 4357 return &v.sizeCache 4358 case 2: 4359 return &v.unknownFields 4360 default: 4361 return nil 4362 } 4363 } 4364 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 4365 switch v := v.(*ProductChannelExclusivityInfo); i { 4366 case 0: 4367 return &v.state 4368 case 1: 4369 return &v.sizeCache 4370 case 2: 4371 return &v.unknownFields 4372 default: 4373 return nil 4374 } 4375 } 4376 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 4377 switch v := v.(*ProductConditionInfo); i { 4378 case 0: 4379 return &v.state 4380 case 1: 4381 return &v.sizeCache 4382 case 2: 4383 return &v.unknownFields 4384 default: 4385 return nil 4386 } 4387 } 4388 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 4389 switch v := v.(*ProductItemIdInfo); i { 4390 case 0: 4391 return &v.state 4392 case 1: 4393 return &v.sizeCache 4394 case 2: 4395 return &v.unknownFields 4396 default: 4397 return nil 4398 } 4399 } 4400 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 4401 switch v := v.(*ProductTypeInfo); i { 4402 case 0: 4403 return &v.state 4404 case 1: 4405 return &v.sizeCache 4406 case 2: 4407 return &v.unknownFields 4408 default: 4409 return nil 4410 } 4411 } 4412 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 4413 switch v := v.(*UnknownListingDimensionInfo); i { 4414 case 0: 4415 return &v.state 4416 case 1: 4417 return &v.sizeCache 4418 case 2: 4419 return &v.unknownFields 4420 default: 4421 return nil 4422 } 4423 } 4424 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 4425 switch v := v.(*HotelDateSelectionTypeInfo); i { 4426 case 0: 4427 return &v.state 4428 case 1: 4429 return &v.sizeCache 4430 case 2: 4431 return &v.unknownFields 4432 default: 4433 return nil 4434 } 4435 } 4436 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 4437 switch v := v.(*HotelAdvanceBookingWindowInfo); i { 4438 case 0: 4439 return &v.state 4440 case 1: 4441 return &v.sizeCache 4442 case 2: 4443 return &v.unknownFields 4444 default: 4445 return nil 4446 } 4447 } 4448 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 4449 switch v := v.(*HotelLengthOfStayInfo); i { 4450 case 0: 4451 return &v.state 4452 case 1: 4453 return &v.sizeCache 4454 case 2: 4455 return &v.unknownFields 4456 default: 4457 return nil 4458 } 4459 } 4460 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 4461 switch v := v.(*HotelCheckInDayInfo); i { 4462 case 0: 4463 return &v.state 4464 case 1: 4465 return &v.sizeCache 4466 case 2: 4467 return &v.unknownFields 4468 default: 4469 return nil 4470 } 4471 } 4472 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 4473 switch v := v.(*InteractionTypeInfo); i { 4474 case 0: 4475 return &v.state 4476 case 1: 4477 return &v.sizeCache 4478 case 2: 4479 return &v.unknownFields 4480 default: 4481 return nil 4482 } 4483 } 4484 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 4485 switch v := v.(*AdScheduleInfo); i { 4486 case 0: 4487 return &v.state 4488 case 1: 4489 return &v.sizeCache 4490 case 2: 4491 return &v.unknownFields 4492 default: 4493 return nil 4494 } 4495 } 4496 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 4497 switch v := v.(*AgeRangeInfo); i { 4498 case 0: 4499 return &v.state 4500 case 1: 4501 return &v.sizeCache 4502 case 2: 4503 return &v.unknownFields 4504 default: 4505 return nil 4506 } 4507 } 4508 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 4509 switch v := v.(*GenderInfo); i { 4510 case 0: 4511 return &v.state 4512 case 1: 4513 return &v.sizeCache 4514 case 2: 4515 return &v.unknownFields 4516 default: 4517 return nil 4518 } 4519 } 4520 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 4521 switch v := v.(*IncomeRangeInfo); i { 4522 case 0: 4523 return &v.state 4524 case 1: 4525 return &v.sizeCache 4526 case 2: 4527 return &v.unknownFields 4528 default: 4529 return nil 4530 } 4531 } 4532 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 4533 switch v := v.(*ParentalStatusInfo); i { 4534 case 0: 4535 return &v.state 4536 case 1: 4537 return &v.sizeCache 4538 case 2: 4539 return &v.unknownFields 4540 default: 4541 return nil 4542 } 4543 } 4544 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 4545 switch v := v.(*YouTubeVideoInfo); i { 4546 case 0: 4547 return &v.state 4548 case 1: 4549 return &v.sizeCache 4550 case 2: 4551 return &v.unknownFields 4552 default: 4553 return nil 4554 } 4555 } 4556 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 4557 switch v := v.(*YouTubeChannelInfo); i { 4558 case 0: 4559 return &v.state 4560 case 1: 4561 return &v.sizeCache 4562 case 2: 4563 return &v.unknownFields 4564 default: 4565 return nil 4566 } 4567 } 4568 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 4569 switch v := v.(*UserListInfo); i { 4570 case 0: 4571 return &v.state 4572 case 1: 4573 return &v.sizeCache 4574 case 2: 4575 return &v.unknownFields 4576 default: 4577 return nil 4578 } 4579 } 4580 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 4581 switch v := v.(*ProximityInfo); i { 4582 case 0: 4583 return &v.state 4584 case 1: 4585 return &v.sizeCache 4586 case 2: 4587 return &v.unknownFields 4588 default: 4589 return nil 4590 } 4591 } 4592 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 4593 switch v := v.(*GeoPointInfo); i { 4594 case 0: 4595 return &v.state 4596 case 1: 4597 return &v.sizeCache 4598 case 2: 4599 return &v.unknownFields 4600 default: 4601 return nil 4602 } 4603 } 4604 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 4605 switch v := v.(*AddressInfo); i { 4606 case 0: 4607 return &v.state 4608 case 1: 4609 return &v.sizeCache 4610 case 2: 4611 return &v.unknownFields 4612 default: 4613 return nil 4614 } 4615 } 4616 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 4617 switch v := v.(*TopicInfo); i { 4618 case 0: 4619 return &v.state 4620 case 1: 4621 return &v.sizeCache 4622 case 2: 4623 return &v.unknownFields 4624 default: 4625 return nil 4626 } 4627 } 4628 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 4629 switch v := v.(*LanguageInfo); i { 4630 case 0: 4631 return &v.state 4632 case 1: 4633 return &v.sizeCache 4634 case 2: 4635 return &v.unknownFields 4636 default: 4637 return nil 4638 } 4639 } 4640 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 4641 switch v := v.(*IpBlockInfo); i { 4642 case 0: 4643 return &v.state 4644 case 1: 4645 return &v.sizeCache 4646 case 2: 4647 return &v.unknownFields 4648 default: 4649 return nil 4650 } 4651 } 4652 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 4653 switch v := v.(*ContentLabelInfo); i { 4654 case 0: 4655 return &v.state 4656 case 1: 4657 return &v.sizeCache 4658 case 2: 4659 return &v.unknownFields 4660 default: 4661 return nil 4662 } 4663 } 4664 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 4665 switch v := v.(*CarrierInfo); i { 4666 case 0: 4667 return &v.state 4668 case 1: 4669 return &v.sizeCache 4670 case 2: 4671 return &v.unknownFields 4672 default: 4673 return nil 4674 } 4675 } 4676 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 4677 switch v := v.(*UserInterestInfo); i { 4678 case 0: 4679 return &v.state 4680 case 1: 4681 return &v.sizeCache 4682 case 2: 4683 return &v.unknownFields 4684 default: 4685 return nil 4686 } 4687 } 4688 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 4689 switch v := v.(*WebpageInfo); i { 4690 case 0: 4691 return &v.state 4692 case 1: 4693 return &v.sizeCache 4694 case 2: 4695 return &v.unknownFields 4696 default: 4697 return nil 4698 } 4699 } 4700 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 4701 switch v := v.(*WebpageConditionInfo); i { 4702 case 0: 4703 return &v.state 4704 case 1: 4705 return &v.sizeCache 4706 case 2: 4707 return &v.unknownFields 4708 default: 4709 return nil 4710 } 4711 } 4712 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 4713 switch v := v.(*OperatingSystemVersionInfo); i { 4714 case 0: 4715 return &v.state 4716 case 1: 4717 return &v.sizeCache 4718 case 2: 4719 return &v.unknownFields 4720 default: 4721 return nil 4722 } 4723 } 4724 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 4725 switch v := v.(*AppPaymentModelInfo); i { 4726 case 0: 4727 return &v.state 4728 case 1: 4729 return &v.sizeCache 4730 case 2: 4731 return &v.unknownFields 4732 default: 4733 return nil 4734 } 4735 } 4736 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 4737 switch v := v.(*MobileDeviceInfo); i { 4738 case 0: 4739 return &v.state 4740 case 1: 4741 return &v.sizeCache 4742 case 2: 4743 return &v.unknownFields 4744 default: 4745 return nil 4746 } 4747 } 4748 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 4749 switch v := v.(*CustomAffinityInfo); i { 4750 case 0: 4751 return &v.state 4752 case 1: 4753 return &v.sizeCache 4754 case 2: 4755 return &v.unknownFields 4756 default: 4757 return nil 4758 } 4759 } 4760 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 4761 switch v := v.(*CustomIntentInfo); i { 4762 case 0: 4763 return &v.state 4764 case 1: 4765 return &v.sizeCache 4766 case 2: 4767 return &v.unknownFields 4768 default: 4769 return nil 4770 } 4771 } 4772 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 4773 switch v := v.(*LocationGroupInfo); i { 4774 case 0: 4775 return &v.state 4776 case 1: 4777 return &v.sizeCache 4778 case 2: 4779 return &v.unknownFields 4780 default: 4781 return nil 4782 } 4783 } 4784 } 4785 file_google_ads_googleads_v2_common_criteria_proto_msgTypes[9].OneofWrappers = []interface{}{ 4786 (*ListingDimensionInfo_ListingBrand)(nil), 4787 (*ListingDimensionInfo_HotelId)(nil), 4788 (*ListingDimensionInfo_HotelClass)(nil), 4789 (*ListingDimensionInfo_HotelCountryRegion)(nil), 4790 (*ListingDimensionInfo_HotelState)(nil), 4791 (*ListingDimensionInfo_HotelCity)(nil), 4792 (*ListingDimensionInfo_ListingCustomAttribute)(nil), 4793 (*ListingDimensionInfo_ProductBiddingCategory)(nil), 4794 (*ListingDimensionInfo_ProductChannel)(nil), 4795 (*ListingDimensionInfo_ProductChannelExclusivity)(nil), 4796 (*ListingDimensionInfo_ProductCondition)(nil), 4797 (*ListingDimensionInfo_ProductItemId)(nil), 4798 (*ListingDimensionInfo_ProductType)(nil), 4799 (*ListingDimensionInfo_UnknownListingDimension)(nil), 4800 } 4801 type x struct{} 4802 out := protoimpl.TypeBuilder{ 4803 File: protoimpl.DescBuilder{ 4804 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4805 RawDescriptor: file_google_ads_googleads_v2_common_criteria_proto_rawDesc, 4806 NumEnums: 0, 4807 NumMessages: 54, 4808 NumExtensions: 0, 4809 NumServices: 0, 4810 }, 4811 GoTypes: file_google_ads_googleads_v2_common_criteria_proto_goTypes, 4812 DependencyIndexes: file_google_ads_googleads_v2_common_criteria_proto_depIdxs, 4813 MessageInfos: file_google_ads_googleads_v2_common_criteria_proto_msgTypes, 4814 }.Build() 4815 File_google_ads_googleads_v2_common_criteria_proto = out.File 4816 file_google_ads_googleads_v2_common_criteria_proto_rawDesc = nil 4817 file_google_ads_googleads_v2_common_criteria_proto_goTypes = nil 4818 file_google_ads_googleads_v2_common_criteria_proto_depIdxs = nil 4819} 4820