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/ad_type_infos.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 text ad.
47type TextAdInfo struct {
48	state         protoimpl.MessageState
49	sizeCache     protoimpl.SizeCache
50	unknownFields protoimpl.UnknownFields
51
52	// The headline of the ad.
53	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
54	// The first line of the ad's description.
55	Description1 *wrappers.StringValue `protobuf:"bytes,2,opt,name=description1,proto3" json:"description1,omitempty"`
56	// The second line of the ad's description.
57	Description2 *wrappers.StringValue `protobuf:"bytes,3,opt,name=description2,proto3" json:"description2,omitempty"`
58}
59
60func (x *TextAdInfo) Reset() {
61	*x = TextAdInfo{}
62	if protoimpl.UnsafeEnabled {
63		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[0]
64		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
65		ms.StoreMessageInfo(mi)
66	}
67}
68
69func (x *TextAdInfo) String() string {
70	return protoimpl.X.MessageStringOf(x)
71}
72
73func (*TextAdInfo) ProtoMessage() {}
74
75func (x *TextAdInfo) ProtoReflect() protoreflect.Message {
76	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[0]
77	if protoimpl.UnsafeEnabled && x != nil {
78		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
79		if ms.LoadMessageInfo() == nil {
80			ms.StoreMessageInfo(mi)
81		}
82		return ms
83	}
84	return mi.MessageOf(x)
85}
86
87// Deprecated: Use TextAdInfo.ProtoReflect.Descriptor instead.
88func (*TextAdInfo) Descriptor() ([]byte, []int) {
89	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{0}
90}
91
92func (x *TextAdInfo) GetHeadline() *wrappers.StringValue {
93	if x != nil {
94		return x.Headline
95	}
96	return nil
97}
98
99func (x *TextAdInfo) GetDescription1() *wrappers.StringValue {
100	if x != nil {
101		return x.Description1
102	}
103	return nil
104}
105
106func (x *TextAdInfo) GetDescription2() *wrappers.StringValue {
107	if x != nil {
108		return x.Description2
109	}
110	return nil
111}
112
113// An expanded text ad.
114type ExpandedTextAdInfo struct {
115	state         protoimpl.MessageState
116	sizeCache     protoimpl.SizeCache
117	unknownFields protoimpl.UnknownFields
118
119	// The first part of the ad's headline.
120	HeadlinePart1 *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline_part1,json=headlinePart1,proto3" json:"headline_part1,omitempty"`
121	// The second part of the ad's headline.
122	HeadlinePart2 *wrappers.StringValue `protobuf:"bytes,2,opt,name=headline_part2,json=headlinePart2,proto3" json:"headline_part2,omitempty"`
123	// The third part of the ad's headline.
124	HeadlinePart3 *wrappers.StringValue `protobuf:"bytes,6,opt,name=headline_part3,json=headlinePart3,proto3" json:"headline_part3,omitempty"`
125	// The description of the ad.
126	Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
127	// The second description of the ad.
128	Description2 *wrappers.StringValue `protobuf:"bytes,7,opt,name=description2,proto3" json:"description2,omitempty"`
129	// The text that can appear alongside the ad's displayed URL.
130	Path1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path1,proto3" json:"path1,omitempty"`
131	// Additional text that can appear alongside the ad's displayed URL.
132	Path2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=path2,proto3" json:"path2,omitempty"`
133}
134
135func (x *ExpandedTextAdInfo) Reset() {
136	*x = ExpandedTextAdInfo{}
137	if protoimpl.UnsafeEnabled {
138		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[1]
139		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
140		ms.StoreMessageInfo(mi)
141	}
142}
143
144func (x *ExpandedTextAdInfo) String() string {
145	return protoimpl.X.MessageStringOf(x)
146}
147
148func (*ExpandedTextAdInfo) ProtoMessage() {}
149
150func (x *ExpandedTextAdInfo) ProtoReflect() protoreflect.Message {
151	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[1]
152	if protoimpl.UnsafeEnabled && x != nil {
153		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
154		if ms.LoadMessageInfo() == nil {
155			ms.StoreMessageInfo(mi)
156		}
157		return ms
158	}
159	return mi.MessageOf(x)
160}
161
162// Deprecated: Use ExpandedTextAdInfo.ProtoReflect.Descriptor instead.
163func (*ExpandedTextAdInfo) Descriptor() ([]byte, []int) {
164	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{1}
165}
166
167func (x *ExpandedTextAdInfo) GetHeadlinePart1() *wrappers.StringValue {
168	if x != nil {
169		return x.HeadlinePart1
170	}
171	return nil
172}
173
174func (x *ExpandedTextAdInfo) GetHeadlinePart2() *wrappers.StringValue {
175	if x != nil {
176		return x.HeadlinePart2
177	}
178	return nil
179}
180
181func (x *ExpandedTextAdInfo) GetHeadlinePart3() *wrappers.StringValue {
182	if x != nil {
183		return x.HeadlinePart3
184	}
185	return nil
186}
187
188func (x *ExpandedTextAdInfo) GetDescription() *wrappers.StringValue {
189	if x != nil {
190		return x.Description
191	}
192	return nil
193}
194
195func (x *ExpandedTextAdInfo) GetDescription2() *wrappers.StringValue {
196	if x != nil {
197		return x.Description2
198	}
199	return nil
200}
201
202func (x *ExpandedTextAdInfo) GetPath1() *wrappers.StringValue {
203	if x != nil {
204		return x.Path1
205	}
206	return nil
207}
208
209func (x *ExpandedTextAdInfo) GetPath2() *wrappers.StringValue {
210	if x != nil {
211		return x.Path2
212	}
213	return nil
214}
215
216// A call-only ad.
217type CallOnlyAdInfo struct {
218	state         protoimpl.MessageState
219	sizeCache     protoimpl.SizeCache
220	unknownFields protoimpl.UnknownFields
221
222	// The country code in the ad.
223	CountryCode *wrappers.StringValue `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
224	// The phone number in the ad.
225	PhoneNumber *wrappers.StringValue `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
226	// The business name in the ad.
227	BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
228	// First headline in the ad.
229	Headline1 *wrappers.StringValue `protobuf:"bytes,11,opt,name=headline1,proto3" json:"headline1,omitempty"`
230	// Second headline in the ad.
231	Headline2 *wrappers.StringValue `protobuf:"bytes,12,opt,name=headline2,proto3" json:"headline2,omitempty"`
232	// The first line of the ad's description.
233	Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
234	// The second line of the ad's description.
235	Description2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"`
236	// Whether to enable call tracking for the creative. Enabling call
237	// tracking also enables call conversions.
238	CallTracked *wrappers.BoolValue `protobuf:"bytes,6,opt,name=call_tracked,json=callTracked,proto3" json:"call_tracked,omitempty"`
239	// Whether to disable call conversion for the creative.
240	// If set to `true`, disables call conversions even when `call_tracked` is
241	// `true`.
242	// If `call_tracked` is `false`, this field is ignored.
243	DisableCallConversion *wrappers.BoolValue `protobuf:"bytes,7,opt,name=disable_call_conversion,json=disableCallConversion,proto3" json:"disable_call_conversion,omitempty"`
244	// The URL to be used for phone number verification.
245	PhoneNumberVerificationUrl *wrappers.StringValue `protobuf:"bytes,8,opt,name=phone_number_verification_url,json=phoneNumberVerificationUrl,proto3" json:"phone_number_verification_url,omitempty"`
246	// The conversion action to attribute a call conversion to. If not set a
247	// default conversion action is used. This field only has effect if
248	// call_tracked is set to true. Otherwise this field is ignored.
249	ConversionAction *wrappers.StringValue `protobuf:"bytes,9,opt,name=conversion_action,json=conversionAction,proto3" json:"conversion_action,omitempty"`
250	// The call conversion behavior of this call only ad. It can use its own call
251	// conversion setting, inherit the account level setting, or be disabled.
252	ConversionReportingState enums.CallConversionReportingStateEnum_CallConversionReportingState `protobuf:"varint,10,opt,name=conversion_reporting_state,json=conversionReportingState,proto3,enum=google.ads.googleads.v2.enums.CallConversionReportingStateEnum_CallConversionReportingState" json:"conversion_reporting_state,omitempty"`
253}
254
255func (x *CallOnlyAdInfo) Reset() {
256	*x = CallOnlyAdInfo{}
257	if protoimpl.UnsafeEnabled {
258		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[2]
259		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
260		ms.StoreMessageInfo(mi)
261	}
262}
263
264func (x *CallOnlyAdInfo) String() string {
265	return protoimpl.X.MessageStringOf(x)
266}
267
268func (*CallOnlyAdInfo) ProtoMessage() {}
269
270func (x *CallOnlyAdInfo) ProtoReflect() protoreflect.Message {
271	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[2]
272	if protoimpl.UnsafeEnabled && x != nil {
273		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
274		if ms.LoadMessageInfo() == nil {
275			ms.StoreMessageInfo(mi)
276		}
277		return ms
278	}
279	return mi.MessageOf(x)
280}
281
282// Deprecated: Use CallOnlyAdInfo.ProtoReflect.Descriptor instead.
283func (*CallOnlyAdInfo) Descriptor() ([]byte, []int) {
284	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{2}
285}
286
287func (x *CallOnlyAdInfo) GetCountryCode() *wrappers.StringValue {
288	if x != nil {
289		return x.CountryCode
290	}
291	return nil
292}
293
294func (x *CallOnlyAdInfo) GetPhoneNumber() *wrappers.StringValue {
295	if x != nil {
296		return x.PhoneNumber
297	}
298	return nil
299}
300
301func (x *CallOnlyAdInfo) GetBusinessName() *wrappers.StringValue {
302	if x != nil {
303		return x.BusinessName
304	}
305	return nil
306}
307
308func (x *CallOnlyAdInfo) GetHeadline1() *wrappers.StringValue {
309	if x != nil {
310		return x.Headline1
311	}
312	return nil
313}
314
315func (x *CallOnlyAdInfo) GetHeadline2() *wrappers.StringValue {
316	if x != nil {
317		return x.Headline2
318	}
319	return nil
320}
321
322func (x *CallOnlyAdInfo) GetDescription1() *wrappers.StringValue {
323	if x != nil {
324		return x.Description1
325	}
326	return nil
327}
328
329func (x *CallOnlyAdInfo) GetDescription2() *wrappers.StringValue {
330	if x != nil {
331		return x.Description2
332	}
333	return nil
334}
335
336func (x *CallOnlyAdInfo) GetCallTracked() *wrappers.BoolValue {
337	if x != nil {
338		return x.CallTracked
339	}
340	return nil
341}
342
343func (x *CallOnlyAdInfo) GetDisableCallConversion() *wrappers.BoolValue {
344	if x != nil {
345		return x.DisableCallConversion
346	}
347	return nil
348}
349
350func (x *CallOnlyAdInfo) GetPhoneNumberVerificationUrl() *wrappers.StringValue {
351	if x != nil {
352		return x.PhoneNumberVerificationUrl
353	}
354	return nil
355}
356
357func (x *CallOnlyAdInfo) GetConversionAction() *wrappers.StringValue {
358	if x != nil {
359		return x.ConversionAction
360	}
361	return nil
362}
363
364func (x *CallOnlyAdInfo) GetConversionReportingState() enums.CallConversionReportingStateEnum_CallConversionReportingState {
365	if x != nil {
366		return x.ConversionReportingState
367	}
368	return enums.CallConversionReportingStateEnum_UNSPECIFIED
369}
370
371// An expanded dynamic search ad.
372type ExpandedDynamicSearchAdInfo struct {
373	state         protoimpl.MessageState
374	sizeCache     protoimpl.SizeCache
375	unknownFields protoimpl.UnknownFields
376
377	// The description of the ad.
378	Description *wrappers.StringValue `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
379	// The second description of the ad.
380	Description2 *wrappers.StringValue `protobuf:"bytes,2,opt,name=description2,proto3" json:"description2,omitempty"`
381}
382
383func (x *ExpandedDynamicSearchAdInfo) Reset() {
384	*x = ExpandedDynamicSearchAdInfo{}
385	if protoimpl.UnsafeEnabled {
386		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[3]
387		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
388		ms.StoreMessageInfo(mi)
389	}
390}
391
392func (x *ExpandedDynamicSearchAdInfo) String() string {
393	return protoimpl.X.MessageStringOf(x)
394}
395
396func (*ExpandedDynamicSearchAdInfo) ProtoMessage() {}
397
398func (x *ExpandedDynamicSearchAdInfo) ProtoReflect() protoreflect.Message {
399	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[3]
400	if protoimpl.UnsafeEnabled && x != nil {
401		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
402		if ms.LoadMessageInfo() == nil {
403			ms.StoreMessageInfo(mi)
404		}
405		return ms
406	}
407	return mi.MessageOf(x)
408}
409
410// Deprecated: Use ExpandedDynamicSearchAdInfo.ProtoReflect.Descriptor instead.
411func (*ExpandedDynamicSearchAdInfo) Descriptor() ([]byte, []int) {
412	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{3}
413}
414
415func (x *ExpandedDynamicSearchAdInfo) GetDescription() *wrappers.StringValue {
416	if x != nil {
417		return x.Description
418	}
419	return nil
420}
421
422func (x *ExpandedDynamicSearchAdInfo) GetDescription2() *wrappers.StringValue {
423	if x != nil {
424		return x.Description2
425	}
426	return nil
427}
428
429// A hotel ad.
430type HotelAdInfo struct {
431	state         protoimpl.MessageState
432	sizeCache     protoimpl.SizeCache
433	unknownFields protoimpl.UnknownFields
434}
435
436func (x *HotelAdInfo) Reset() {
437	*x = HotelAdInfo{}
438	if protoimpl.UnsafeEnabled {
439		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[4]
440		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
441		ms.StoreMessageInfo(mi)
442	}
443}
444
445func (x *HotelAdInfo) String() string {
446	return protoimpl.X.MessageStringOf(x)
447}
448
449func (*HotelAdInfo) ProtoMessage() {}
450
451func (x *HotelAdInfo) ProtoReflect() protoreflect.Message {
452	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[4]
453	if protoimpl.UnsafeEnabled && x != nil {
454		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
455		if ms.LoadMessageInfo() == nil {
456			ms.StoreMessageInfo(mi)
457		}
458		return ms
459	}
460	return mi.MessageOf(x)
461}
462
463// Deprecated: Use HotelAdInfo.ProtoReflect.Descriptor instead.
464func (*HotelAdInfo) Descriptor() ([]byte, []int) {
465	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{4}
466}
467
468// A Smart Shopping ad.
469type ShoppingSmartAdInfo struct {
470	state         protoimpl.MessageState
471	sizeCache     protoimpl.SizeCache
472	unknownFields protoimpl.UnknownFields
473}
474
475func (x *ShoppingSmartAdInfo) Reset() {
476	*x = ShoppingSmartAdInfo{}
477	if protoimpl.UnsafeEnabled {
478		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[5]
479		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
480		ms.StoreMessageInfo(mi)
481	}
482}
483
484func (x *ShoppingSmartAdInfo) String() string {
485	return protoimpl.X.MessageStringOf(x)
486}
487
488func (*ShoppingSmartAdInfo) ProtoMessage() {}
489
490func (x *ShoppingSmartAdInfo) ProtoReflect() protoreflect.Message {
491	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[5]
492	if protoimpl.UnsafeEnabled && x != nil {
493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
494		if ms.LoadMessageInfo() == nil {
495			ms.StoreMessageInfo(mi)
496		}
497		return ms
498	}
499	return mi.MessageOf(x)
500}
501
502// Deprecated: Use ShoppingSmartAdInfo.ProtoReflect.Descriptor instead.
503func (*ShoppingSmartAdInfo) Descriptor() ([]byte, []int) {
504	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{5}
505}
506
507// A standard Shopping ad.
508type ShoppingProductAdInfo struct {
509	state         protoimpl.MessageState
510	sizeCache     protoimpl.SizeCache
511	unknownFields protoimpl.UnknownFields
512}
513
514func (x *ShoppingProductAdInfo) Reset() {
515	*x = ShoppingProductAdInfo{}
516	if protoimpl.UnsafeEnabled {
517		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[6]
518		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
519		ms.StoreMessageInfo(mi)
520	}
521}
522
523func (x *ShoppingProductAdInfo) String() string {
524	return protoimpl.X.MessageStringOf(x)
525}
526
527func (*ShoppingProductAdInfo) ProtoMessage() {}
528
529func (x *ShoppingProductAdInfo) ProtoReflect() protoreflect.Message {
530	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[6]
531	if protoimpl.UnsafeEnabled && x != nil {
532		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
533		if ms.LoadMessageInfo() == nil {
534			ms.StoreMessageInfo(mi)
535		}
536		return ms
537	}
538	return mi.MessageOf(x)
539}
540
541// Deprecated: Use ShoppingProductAdInfo.ProtoReflect.Descriptor instead.
542func (*ShoppingProductAdInfo) Descriptor() ([]byte, []int) {
543	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{6}
544}
545
546// A Shopping Comparison Listing ad.
547type ShoppingComparisonListingAdInfo struct {
548	state         protoimpl.MessageState
549	sizeCache     protoimpl.SizeCache
550	unknownFields protoimpl.UnknownFields
551
552	// Headline of the ad. This field is required. Allowed length is between 25
553	// and 45 characters.
554	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
555}
556
557func (x *ShoppingComparisonListingAdInfo) Reset() {
558	*x = ShoppingComparisonListingAdInfo{}
559	if protoimpl.UnsafeEnabled {
560		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[7]
561		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
562		ms.StoreMessageInfo(mi)
563	}
564}
565
566func (x *ShoppingComparisonListingAdInfo) String() string {
567	return protoimpl.X.MessageStringOf(x)
568}
569
570func (*ShoppingComparisonListingAdInfo) ProtoMessage() {}
571
572func (x *ShoppingComparisonListingAdInfo) ProtoReflect() protoreflect.Message {
573	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[7]
574	if protoimpl.UnsafeEnabled && x != nil {
575		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
576		if ms.LoadMessageInfo() == nil {
577			ms.StoreMessageInfo(mi)
578		}
579		return ms
580	}
581	return mi.MessageOf(x)
582}
583
584// Deprecated: Use ShoppingComparisonListingAdInfo.ProtoReflect.Descriptor instead.
585func (*ShoppingComparisonListingAdInfo) Descriptor() ([]byte, []int) {
586	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{7}
587}
588
589func (x *ShoppingComparisonListingAdInfo) GetHeadline() *wrappers.StringValue {
590	if x != nil {
591		return x.Headline
592	}
593	return nil
594}
595
596// A Gmail ad.
597type GmailAdInfo struct {
598	state         protoimpl.MessageState
599	sizeCache     protoimpl.SizeCache
600	unknownFields protoimpl.UnknownFields
601
602	// The Gmail teaser.
603	Teaser *GmailTeaser `protobuf:"bytes,1,opt,name=teaser,proto3" json:"teaser,omitempty"`
604	// The MediaFile resource name of the header image. Valid image types are GIF,
605	// JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
606	// be between 3:1 and 5:1 (+-1%).
607	HeaderImage *wrappers.StringValue `protobuf:"bytes,2,opt,name=header_image,json=headerImage,proto3" json:"header_image,omitempty"`
608	// The MediaFile resource name of the marketing image. Valid image types are
609	// GIF, JPEG and PNG. The image must either be landscape with a minimum size
610	// of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
611	// minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
612	MarketingImage *wrappers.StringValue `protobuf:"bytes,3,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
613	// Headline of the marketing image.
614	MarketingImageHeadline *wrappers.StringValue `protobuf:"bytes,4,opt,name=marketing_image_headline,json=marketingImageHeadline,proto3" json:"marketing_image_headline,omitempty"`
615	// Description of the marketing image.
616	MarketingImageDescription *wrappers.StringValue `protobuf:"bytes,5,opt,name=marketing_image_description,json=marketingImageDescription,proto3" json:"marketing_image_description,omitempty"`
617	// Display-call-to-action of the marketing image.
618	MarketingImageDisplayCallToAction *DisplayCallToAction `protobuf:"bytes,6,opt,name=marketing_image_display_call_to_action,json=marketingImageDisplayCallToAction,proto3" json:"marketing_image_display_call_to_action,omitempty"`
619	// Product images. Up to 15 images are supported.
620	ProductImages []*ProductImage `protobuf:"bytes,7,rep,name=product_images,json=productImages,proto3" json:"product_images,omitempty"`
621	// Product videos. Up to 7 videos are supported. At least one product video
622	// or a marketing image must be specified.
623	ProductVideos []*ProductVideo `protobuf:"bytes,8,rep,name=product_videos,json=productVideos,proto3" json:"product_videos,omitempty"`
624}
625
626func (x *GmailAdInfo) Reset() {
627	*x = GmailAdInfo{}
628	if protoimpl.UnsafeEnabled {
629		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[8]
630		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
631		ms.StoreMessageInfo(mi)
632	}
633}
634
635func (x *GmailAdInfo) String() string {
636	return protoimpl.X.MessageStringOf(x)
637}
638
639func (*GmailAdInfo) ProtoMessage() {}
640
641func (x *GmailAdInfo) ProtoReflect() protoreflect.Message {
642	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[8]
643	if protoimpl.UnsafeEnabled && x != nil {
644		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
645		if ms.LoadMessageInfo() == nil {
646			ms.StoreMessageInfo(mi)
647		}
648		return ms
649	}
650	return mi.MessageOf(x)
651}
652
653// Deprecated: Use GmailAdInfo.ProtoReflect.Descriptor instead.
654func (*GmailAdInfo) Descriptor() ([]byte, []int) {
655	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{8}
656}
657
658func (x *GmailAdInfo) GetTeaser() *GmailTeaser {
659	if x != nil {
660		return x.Teaser
661	}
662	return nil
663}
664
665func (x *GmailAdInfo) GetHeaderImage() *wrappers.StringValue {
666	if x != nil {
667		return x.HeaderImage
668	}
669	return nil
670}
671
672func (x *GmailAdInfo) GetMarketingImage() *wrappers.StringValue {
673	if x != nil {
674		return x.MarketingImage
675	}
676	return nil
677}
678
679func (x *GmailAdInfo) GetMarketingImageHeadline() *wrappers.StringValue {
680	if x != nil {
681		return x.MarketingImageHeadline
682	}
683	return nil
684}
685
686func (x *GmailAdInfo) GetMarketingImageDescription() *wrappers.StringValue {
687	if x != nil {
688		return x.MarketingImageDescription
689	}
690	return nil
691}
692
693func (x *GmailAdInfo) GetMarketingImageDisplayCallToAction() *DisplayCallToAction {
694	if x != nil {
695		return x.MarketingImageDisplayCallToAction
696	}
697	return nil
698}
699
700func (x *GmailAdInfo) GetProductImages() []*ProductImage {
701	if x != nil {
702		return x.ProductImages
703	}
704	return nil
705}
706
707func (x *GmailAdInfo) GetProductVideos() []*ProductVideo {
708	if x != nil {
709		return x.ProductVideos
710	}
711	return nil
712}
713
714// Gmail teaser data. The teaser is a small header that acts as an invitation
715// to view the rest of the ad (the body).
716type GmailTeaser struct {
717	state         protoimpl.MessageState
718	sizeCache     protoimpl.SizeCache
719	unknownFields protoimpl.UnknownFields
720
721	// Headline of the teaser.
722	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
723	// Description of the teaser.
724	Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
725	// Business name of the advertiser.
726	BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
727	// The MediaFile resource name of the logo image. Valid image types are GIF,
728	// JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
729	// be 1:1 (+-1%).
730	LogoImage *wrappers.StringValue `protobuf:"bytes,4,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
731}
732
733func (x *GmailTeaser) Reset() {
734	*x = GmailTeaser{}
735	if protoimpl.UnsafeEnabled {
736		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[9]
737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
738		ms.StoreMessageInfo(mi)
739	}
740}
741
742func (x *GmailTeaser) String() string {
743	return protoimpl.X.MessageStringOf(x)
744}
745
746func (*GmailTeaser) ProtoMessage() {}
747
748func (x *GmailTeaser) ProtoReflect() protoreflect.Message {
749	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[9]
750	if protoimpl.UnsafeEnabled && x != nil {
751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
752		if ms.LoadMessageInfo() == nil {
753			ms.StoreMessageInfo(mi)
754		}
755		return ms
756	}
757	return mi.MessageOf(x)
758}
759
760// Deprecated: Use GmailTeaser.ProtoReflect.Descriptor instead.
761func (*GmailTeaser) Descriptor() ([]byte, []int) {
762	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{9}
763}
764
765func (x *GmailTeaser) GetHeadline() *wrappers.StringValue {
766	if x != nil {
767		return x.Headline
768	}
769	return nil
770}
771
772func (x *GmailTeaser) GetDescription() *wrappers.StringValue {
773	if x != nil {
774		return x.Description
775	}
776	return nil
777}
778
779func (x *GmailTeaser) GetBusinessName() *wrappers.StringValue {
780	if x != nil {
781		return x.BusinessName
782	}
783	return nil
784}
785
786func (x *GmailTeaser) GetLogoImage() *wrappers.StringValue {
787	if x != nil {
788		return x.LogoImage
789	}
790	return nil
791}
792
793// Data for display call to action. The call to action is a piece of the ad
794// that prompts the user to do something. Like clicking a link or making a phone
795// call.
796type DisplayCallToAction struct {
797	state         protoimpl.MessageState
798	sizeCache     protoimpl.SizeCache
799	unknownFields protoimpl.UnknownFields
800
801	// Text for the display-call-to-action.
802	Text *wrappers.StringValue `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
803	// Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
804	// white.
805	TextColor *wrappers.StringValue `protobuf:"bytes,2,opt,name=text_color,json=textColor,proto3" json:"text_color,omitempty"`
806	// Identifies the url collection in the ad.url_collections field. If not set
807	// the url defaults to final_url.
808	UrlCollectionId *wrappers.StringValue `protobuf:"bytes,3,opt,name=url_collection_id,json=urlCollectionId,proto3" json:"url_collection_id,omitempty"`
809}
810
811func (x *DisplayCallToAction) Reset() {
812	*x = DisplayCallToAction{}
813	if protoimpl.UnsafeEnabled {
814		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[10]
815		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
816		ms.StoreMessageInfo(mi)
817	}
818}
819
820func (x *DisplayCallToAction) String() string {
821	return protoimpl.X.MessageStringOf(x)
822}
823
824func (*DisplayCallToAction) ProtoMessage() {}
825
826func (x *DisplayCallToAction) ProtoReflect() protoreflect.Message {
827	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[10]
828	if protoimpl.UnsafeEnabled && x != nil {
829		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
830		if ms.LoadMessageInfo() == nil {
831			ms.StoreMessageInfo(mi)
832		}
833		return ms
834	}
835	return mi.MessageOf(x)
836}
837
838// Deprecated: Use DisplayCallToAction.ProtoReflect.Descriptor instead.
839func (*DisplayCallToAction) Descriptor() ([]byte, []int) {
840	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{10}
841}
842
843func (x *DisplayCallToAction) GetText() *wrappers.StringValue {
844	if x != nil {
845		return x.Text
846	}
847	return nil
848}
849
850func (x *DisplayCallToAction) GetTextColor() *wrappers.StringValue {
851	if x != nil {
852		return x.TextColor
853	}
854	return nil
855}
856
857func (x *DisplayCallToAction) GetUrlCollectionId() *wrappers.StringValue {
858	if x != nil {
859		return x.UrlCollectionId
860	}
861	return nil
862}
863
864// Product image specific data.
865type ProductImage struct {
866	state         protoimpl.MessageState
867	sizeCache     protoimpl.SizeCache
868	unknownFields protoimpl.UnknownFields
869
870	// The MediaFile resource name of the product image. Valid image types are
871	// GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
872	// must be 1:1 (+-1%).
873	ProductImage *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_image,json=productImage,proto3" json:"product_image,omitempty"`
874	// Description of the product.
875	Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
876	// Display-call-to-action of the product image.
877	DisplayCallToAction *DisplayCallToAction `protobuf:"bytes,3,opt,name=display_call_to_action,json=displayCallToAction,proto3" json:"display_call_to_action,omitempty"`
878}
879
880func (x *ProductImage) Reset() {
881	*x = ProductImage{}
882	if protoimpl.UnsafeEnabled {
883		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[11]
884		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
885		ms.StoreMessageInfo(mi)
886	}
887}
888
889func (x *ProductImage) String() string {
890	return protoimpl.X.MessageStringOf(x)
891}
892
893func (*ProductImage) ProtoMessage() {}
894
895func (x *ProductImage) ProtoReflect() protoreflect.Message {
896	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[11]
897	if protoimpl.UnsafeEnabled && x != nil {
898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
899		if ms.LoadMessageInfo() == nil {
900			ms.StoreMessageInfo(mi)
901		}
902		return ms
903	}
904	return mi.MessageOf(x)
905}
906
907// Deprecated: Use ProductImage.ProtoReflect.Descriptor instead.
908func (*ProductImage) Descriptor() ([]byte, []int) {
909	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{11}
910}
911
912func (x *ProductImage) GetProductImage() *wrappers.StringValue {
913	if x != nil {
914		return x.ProductImage
915	}
916	return nil
917}
918
919func (x *ProductImage) GetDescription() *wrappers.StringValue {
920	if x != nil {
921		return x.Description
922	}
923	return nil
924}
925
926func (x *ProductImage) GetDisplayCallToAction() *DisplayCallToAction {
927	if x != nil {
928		return x.DisplayCallToAction
929	}
930	return nil
931}
932
933// Product video specific data.
934type ProductVideo struct {
935	state         protoimpl.MessageState
936	sizeCache     protoimpl.SizeCache
937	unknownFields protoimpl.UnknownFields
938
939	// The MediaFile resource name of a video which must be hosted on YouTube.
940	ProductVideo *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_video,json=productVideo,proto3" json:"product_video,omitempty"`
941}
942
943func (x *ProductVideo) Reset() {
944	*x = ProductVideo{}
945	if protoimpl.UnsafeEnabled {
946		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[12]
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		ms.StoreMessageInfo(mi)
949	}
950}
951
952func (x *ProductVideo) String() string {
953	return protoimpl.X.MessageStringOf(x)
954}
955
956func (*ProductVideo) ProtoMessage() {}
957
958func (x *ProductVideo) ProtoReflect() protoreflect.Message {
959	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[12]
960	if protoimpl.UnsafeEnabled && x != nil {
961		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
962		if ms.LoadMessageInfo() == nil {
963			ms.StoreMessageInfo(mi)
964		}
965		return ms
966	}
967	return mi.MessageOf(x)
968}
969
970// Deprecated: Use ProductVideo.ProtoReflect.Descriptor instead.
971func (*ProductVideo) Descriptor() ([]byte, []int) {
972	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{12}
973}
974
975func (x *ProductVideo) GetProductVideo() *wrappers.StringValue {
976	if x != nil {
977		return x.ProductVideo
978	}
979	return nil
980}
981
982// An image ad.
983type ImageAdInfo struct {
984	state         protoimpl.MessageState
985	sizeCache     protoimpl.SizeCache
986	unknownFields protoimpl.UnknownFields
987
988	// Width in pixels of the full size image.
989	PixelWidth *wrappers.Int64Value `protobuf:"bytes,4,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"`
990	// Height in pixels of the full size image.
991	PixelHeight *wrappers.Int64Value `protobuf:"bytes,5,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
992	// URL of the full size image.
993	ImageUrl *wrappers.StringValue `protobuf:"bytes,6,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
994	// Width in pixels of the preview size image.
995	PreviewPixelWidth *wrappers.Int64Value `protobuf:"bytes,7,opt,name=preview_pixel_width,json=previewPixelWidth,proto3" json:"preview_pixel_width,omitempty"`
996	// Height in pixels of the preview size image.
997	PreviewPixelHeight *wrappers.Int64Value `protobuf:"bytes,8,opt,name=preview_pixel_height,json=previewPixelHeight,proto3" json:"preview_pixel_height,omitempty"`
998	// URL of the preview size image.
999	PreviewImageUrl *wrappers.StringValue `protobuf:"bytes,9,opt,name=preview_image_url,json=previewImageUrl,proto3" json:"preview_image_url,omitempty"`
1000	// The mime type of the image.
1001	MimeType enums.MimeTypeEnum_MimeType `protobuf:"varint,10,opt,name=mime_type,json=mimeType,proto3,enum=google.ads.googleads.v2.enums.MimeTypeEnum_MimeType" json:"mime_type,omitempty"`
1002	// The name of the image. If the image was created from a MediaFile, this is
1003	// the MediaFile's name. If the image was created from bytes, this is empty.
1004	Name *wrappers.StringValue `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
1005	// The image to create the ImageAd from. This can be specified in one of
1006	// two ways.
1007	// 1. An existing MediaFile resource.
1008	// 2. The raw image data as bytes.
1009	//
1010	// Types that are assignable to Image:
1011	//	*ImageAdInfo_MediaFile
1012	//	*ImageAdInfo_Data
1013	//	*ImageAdInfo_AdIdToCopyImageFrom
1014	Image isImageAdInfo_Image `protobuf_oneof:"image"`
1015}
1016
1017func (x *ImageAdInfo) Reset() {
1018	*x = ImageAdInfo{}
1019	if protoimpl.UnsafeEnabled {
1020		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[13]
1021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1022		ms.StoreMessageInfo(mi)
1023	}
1024}
1025
1026func (x *ImageAdInfo) String() string {
1027	return protoimpl.X.MessageStringOf(x)
1028}
1029
1030func (*ImageAdInfo) ProtoMessage() {}
1031
1032func (x *ImageAdInfo) ProtoReflect() protoreflect.Message {
1033	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[13]
1034	if protoimpl.UnsafeEnabled && x != nil {
1035		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1036		if ms.LoadMessageInfo() == nil {
1037			ms.StoreMessageInfo(mi)
1038		}
1039		return ms
1040	}
1041	return mi.MessageOf(x)
1042}
1043
1044// Deprecated: Use ImageAdInfo.ProtoReflect.Descriptor instead.
1045func (*ImageAdInfo) Descriptor() ([]byte, []int) {
1046	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{13}
1047}
1048
1049func (x *ImageAdInfo) GetPixelWidth() *wrappers.Int64Value {
1050	if x != nil {
1051		return x.PixelWidth
1052	}
1053	return nil
1054}
1055
1056func (x *ImageAdInfo) GetPixelHeight() *wrappers.Int64Value {
1057	if x != nil {
1058		return x.PixelHeight
1059	}
1060	return nil
1061}
1062
1063func (x *ImageAdInfo) GetImageUrl() *wrappers.StringValue {
1064	if x != nil {
1065		return x.ImageUrl
1066	}
1067	return nil
1068}
1069
1070func (x *ImageAdInfo) GetPreviewPixelWidth() *wrappers.Int64Value {
1071	if x != nil {
1072		return x.PreviewPixelWidth
1073	}
1074	return nil
1075}
1076
1077func (x *ImageAdInfo) GetPreviewPixelHeight() *wrappers.Int64Value {
1078	if x != nil {
1079		return x.PreviewPixelHeight
1080	}
1081	return nil
1082}
1083
1084func (x *ImageAdInfo) GetPreviewImageUrl() *wrappers.StringValue {
1085	if x != nil {
1086		return x.PreviewImageUrl
1087	}
1088	return nil
1089}
1090
1091func (x *ImageAdInfo) GetMimeType() enums.MimeTypeEnum_MimeType {
1092	if x != nil {
1093		return x.MimeType
1094	}
1095	return enums.MimeTypeEnum_UNSPECIFIED
1096}
1097
1098func (x *ImageAdInfo) GetName() *wrappers.StringValue {
1099	if x != nil {
1100		return x.Name
1101	}
1102	return nil
1103}
1104
1105func (m *ImageAdInfo) GetImage() isImageAdInfo_Image {
1106	if m != nil {
1107		return m.Image
1108	}
1109	return nil
1110}
1111
1112func (x *ImageAdInfo) GetMediaFile() *wrappers.StringValue {
1113	if x, ok := x.GetImage().(*ImageAdInfo_MediaFile); ok {
1114		return x.MediaFile
1115	}
1116	return nil
1117}
1118
1119func (x *ImageAdInfo) GetData() *wrappers.BytesValue {
1120	if x, ok := x.GetImage().(*ImageAdInfo_Data); ok {
1121		return x.Data
1122	}
1123	return nil
1124}
1125
1126func (x *ImageAdInfo) GetAdIdToCopyImageFrom() *wrappers.Int64Value {
1127	if x, ok := x.GetImage().(*ImageAdInfo_AdIdToCopyImageFrom); ok {
1128		return x.AdIdToCopyImageFrom
1129	}
1130	return nil
1131}
1132
1133type isImageAdInfo_Image interface {
1134	isImageAdInfo_Image()
1135}
1136
1137type ImageAdInfo_MediaFile struct {
1138	// The MediaFile resource to use for the image.
1139	MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3,oneof"`
1140}
1141
1142type ImageAdInfo_Data struct {
1143	// Raw image data as bytes.
1144	Data *wrappers.BytesValue `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
1145}
1146
1147type ImageAdInfo_AdIdToCopyImageFrom struct {
1148	// An ad ID to copy the image from.
1149	AdIdToCopyImageFrom *wrappers.Int64Value `protobuf:"bytes,3,opt,name=ad_id_to_copy_image_from,json=adIdToCopyImageFrom,proto3,oneof"`
1150}
1151
1152func (*ImageAdInfo_MediaFile) isImageAdInfo_Image() {}
1153
1154func (*ImageAdInfo_Data) isImageAdInfo_Image() {}
1155
1156func (*ImageAdInfo_AdIdToCopyImageFrom) isImageAdInfo_Image() {}
1157
1158// Representation of video bumper in-stream ad format (very short in-stream
1159// non-skippable video ad).
1160type VideoBumperInStreamAdInfo struct {
1161	state         protoimpl.MessageState
1162	sizeCache     protoimpl.SizeCache
1163	unknownFields protoimpl.UnknownFields
1164
1165	// The MediaFile resource name of the companion banner used with the ad.
1166	CompanionBanner *wrappers.StringValue `protobuf:"bytes,1,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"`
1167}
1168
1169func (x *VideoBumperInStreamAdInfo) Reset() {
1170	*x = VideoBumperInStreamAdInfo{}
1171	if protoimpl.UnsafeEnabled {
1172		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[14]
1173		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1174		ms.StoreMessageInfo(mi)
1175	}
1176}
1177
1178func (x *VideoBumperInStreamAdInfo) String() string {
1179	return protoimpl.X.MessageStringOf(x)
1180}
1181
1182func (*VideoBumperInStreamAdInfo) ProtoMessage() {}
1183
1184func (x *VideoBumperInStreamAdInfo) ProtoReflect() protoreflect.Message {
1185	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[14]
1186	if protoimpl.UnsafeEnabled && x != nil {
1187		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1188		if ms.LoadMessageInfo() == nil {
1189			ms.StoreMessageInfo(mi)
1190		}
1191		return ms
1192	}
1193	return mi.MessageOf(x)
1194}
1195
1196// Deprecated: Use VideoBumperInStreamAdInfo.ProtoReflect.Descriptor instead.
1197func (*VideoBumperInStreamAdInfo) Descriptor() ([]byte, []int) {
1198	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{14}
1199}
1200
1201func (x *VideoBumperInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue {
1202	if x != nil {
1203		return x.CompanionBanner
1204	}
1205	return nil
1206}
1207
1208// Representation of video non-skippable in-stream ad format (15 second
1209// in-stream non-skippable video ad).
1210type VideoNonSkippableInStreamAdInfo struct {
1211	state         protoimpl.MessageState
1212	sizeCache     protoimpl.SizeCache
1213	unknownFields protoimpl.UnknownFields
1214
1215	// The MediaFile resource name of the companion banner used with the ad.
1216	CompanionBanner *wrappers.StringValue `protobuf:"bytes,1,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"`
1217}
1218
1219func (x *VideoNonSkippableInStreamAdInfo) Reset() {
1220	*x = VideoNonSkippableInStreamAdInfo{}
1221	if protoimpl.UnsafeEnabled {
1222		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[15]
1223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1224		ms.StoreMessageInfo(mi)
1225	}
1226}
1227
1228func (x *VideoNonSkippableInStreamAdInfo) String() string {
1229	return protoimpl.X.MessageStringOf(x)
1230}
1231
1232func (*VideoNonSkippableInStreamAdInfo) ProtoMessage() {}
1233
1234func (x *VideoNonSkippableInStreamAdInfo) ProtoReflect() protoreflect.Message {
1235	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[15]
1236	if protoimpl.UnsafeEnabled && x != nil {
1237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1238		if ms.LoadMessageInfo() == nil {
1239			ms.StoreMessageInfo(mi)
1240		}
1241		return ms
1242	}
1243	return mi.MessageOf(x)
1244}
1245
1246// Deprecated: Use VideoNonSkippableInStreamAdInfo.ProtoReflect.Descriptor instead.
1247func (*VideoNonSkippableInStreamAdInfo) Descriptor() ([]byte, []int) {
1248	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{15}
1249}
1250
1251func (x *VideoNonSkippableInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue {
1252	if x != nil {
1253		return x.CompanionBanner
1254	}
1255	return nil
1256}
1257
1258// Representation of video TrueView in-stream ad format (ad shown during video
1259// playback, often at beginning, which displays a skip button a few seconds into
1260// the video).
1261type VideoTrueViewInStreamAdInfo struct {
1262	state         protoimpl.MessageState
1263	sizeCache     protoimpl.SizeCache
1264	unknownFields protoimpl.UnknownFields
1265
1266	// Label on the CTA (call-to-action) button taking the user to the video ad's
1267	// final URL.
1268	// Required for TrueView for action campaigns, optional otherwise.
1269	ActionButtonLabel *wrappers.StringValue `protobuf:"bytes,1,opt,name=action_button_label,json=actionButtonLabel,proto3" json:"action_button_label,omitempty"`
1270	// Additional text displayed with the CTA (call-to-action) button to give
1271	// context and encourage clicking on the button.
1272	ActionHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=action_headline,json=actionHeadline,proto3" json:"action_headline,omitempty"`
1273	// The MediaFile resource name of the companion banner used with the ad.
1274	CompanionBanner *wrappers.StringValue `protobuf:"bytes,3,opt,name=companion_banner,json=companionBanner,proto3" json:"companion_banner,omitempty"`
1275}
1276
1277func (x *VideoTrueViewInStreamAdInfo) Reset() {
1278	*x = VideoTrueViewInStreamAdInfo{}
1279	if protoimpl.UnsafeEnabled {
1280		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[16]
1281		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1282		ms.StoreMessageInfo(mi)
1283	}
1284}
1285
1286func (x *VideoTrueViewInStreamAdInfo) String() string {
1287	return protoimpl.X.MessageStringOf(x)
1288}
1289
1290func (*VideoTrueViewInStreamAdInfo) ProtoMessage() {}
1291
1292func (x *VideoTrueViewInStreamAdInfo) ProtoReflect() protoreflect.Message {
1293	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[16]
1294	if protoimpl.UnsafeEnabled && x != nil {
1295		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1296		if ms.LoadMessageInfo() == nil {
1297			ms.StoreMessageInfo(mi)
1298		}
1299		return ms
1300	}
1301	return mi.MessageOf(x)
1302}
1303
1304// Deprecated: Use VideoTrueViewInStreamAdInfo.ProtoReflect.Descriptor instead.
1305func (*VideoTrueViewInStreamAdInfo) Descriptor() ([]byte, []int) {
1306	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{16}
1307}
1308
1309func (x *VideoTrueViewInStreamAdInfo) GetActionButtonLabel() *wrappers.StringValue {
1310	if x != nil {
1311		return x.ActionButtonLabel
1312	}
1313	return nil
1314}
1315
1316func (x *VideoTrueViewInStreamAdInfo) GetActionHeadline() *wrappers.StringValue {
1317	if x != nil {
1318		return x.ActionHeadline
1319	}
1320	return nil
1321}
1322
1323func (x *VideoTrueViewInStreamAdInfo) GetCompanionBanner() *wrappers.StringValue {
1324	if x != nil {
1325		return x.CompanionBanner
1326	}
1327	return nil
1328}
1329
1330// Representation of video out-stream ad format (ad shown alongside a feed
1331// with automatic playback, without sound).
1332type VideoOutstreamAdInfo struct {
1333	state         protoimpl.MessageState
1334	sizeCache     protoimpl.SizeCache
1335	unknownFields protoimpl.UnknownFields
1336
1337	// The headline of the ad.
1338	Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
1339	// The description line.
1340	Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
1341}
1342
1343func (x *VideoOutstreamAdInfo) Reset() {
1344	*x = VideoOutstreamAdInfo{}
1345	if protoimpl.UnsafeEnabled {
1346		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[17]
1347		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1348		ms.StoreMessageInfo(mi)
1349	}
1350}
1351
1352func (x *VideoOutstreamAdInfo) String() string {
1353	return protoimpl.X.MessageStringOf(x)
1354}
1355
1356func (*VideoOutstreamAdInfo) ProtoMessage() {}
1357
1358func (x *VideoOutstreamAdInfo) ProtoReflect() protoreflect.Message {
1359	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[17]
1360	if protoimpl.UnsafeEnabled && x != nil {
1361		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1362		if ms.LoadMessageInfo() == nil {
1363			ms.StoreMessageInfo(mi)
1364		}
1365		return ms
1366	}
1367	return mi.MessageOf(x)
1368}
1369
1370// Deprecated: Use VideoOutstreamAdInfo.ProtoReflect.Descriptor instead.
1371func (*VideoOutstreamAdInfo) Descriptor() ([]byte, []int) {
1372	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{17}
1373}
1374
1375func (x *VideoOutstreamAdInfo) GetHeadline() *wrappers.StringValue {
1376	if x != nil {
1377		return x.Headline
1378	}
1379	return nil
1380}
1381
1382func (x *VideoOutstreamAdInfo) GetDescription() *wrappers.StringValue {
1383	if x != nil {
1384		return x.Description
1385	}
1386	return nil
1387}
1388
1389// A video ad.
1390type VideoAdInfo struct {
1391	state         protoimpl.MessageState
1392	sizeCache     protoimpl.SizeCache
1393	unknownFields protoimpl.UnknownFields
1394
1395	// The MediaFile resource to use for the video.
1396	MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3" json:"media_file,omitempty"`
1397	// Format-specific schema for the different video formats.
1398	//
1399	// Types that are assignable to Format:
1400	//	*VideoAdInfo_InStream
1401	//	*VideoAdInfo_Bumper
1402	//	*VideoAdInfo_OutStream
1403	//	*VideoAdInfo_NonSkippable
1404	Format isVideoAdInfo_Format `protobuf_oneof:"format"`
1405}
1406
1407func (x *VideoAdInfo) Reset() {
1408	*x = VideoAdInfo{}
1409	if protoimpl.UnsafeEnabled {
1410		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[18]
1411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1412		ms.StoreMessageInfo(mi)
1413	}
1414}
1415
1416func (x *VideoAdInfo) String() string {
1417	return protoimpl.X.MessageStringOf(x)
1418}
1419
1420func (*VideoAdInfo) ProtoMessage() {}
1421
1422func (x *VideoAdInfo) ProtoReflect() protoreflect.Message {
1423	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[18]
1424	if protoimpl.UnsafeEnabled && x != nil {
1425		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1426		if ms.LoadMessageInfo() == nil {
1427			ms.StoreMessageInfo(mi)
1428		}
1429		return ms
1430	}
1431	return mi.MessageOf(x)
1432}
1433
1434// Deprecated: Use VideoAdInfo.ProtoReflect.Descriptor instead.
1435func (*VideoAdInfo) Descriptor() ([]byte, []int) {
1436	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{18}
1437}
1438
1439func (x *VideoAdInfo) GetMediaFile() *wrappers.StringValue {
1440	if x != nil {
1441		return x.MediaFile
1442	}
1443	return nil
1444}
1445
1446func (m *VideoAdInfo) GetFormat() isVideoAdInfo_Format {
1447	if m != nil {
1448		return m.Format
1449	}
1450	return nil
1451}
1452
1453func (x *VideoAdInfo) GetInStream() *VideoTrueViewInStreamAdInfo {
1454	if x, ok := x.GetFormat().(*VideoAdInfo_InStream); ok {
1455		return x.InStream
1456	}
1457	return nil
1458}
1459
1460func (x *VideoAdInfo) GetBumper() *VideoBumperInStreamAdInfo {
1461	if x, ok := x.GetFormat().(*VideoAdInfo_Bumper); ok {
1462		return x.Bumper
1463	}
1464	return nil
1465}
1466
1467func (x *VideoAdInfo) GetOutStream() *VideoOutstreamAdInfo {
1468	if x, ok := x.GetFormat().(*VideoAdInfo_OutStream); ok {
1469		return x.OutStream
1470	}
1471	return nil
1472}
1473
1474func (x *VideoAdInfo) GetNonSkippable() *VideoNonSkippableInStreamAdInfo {
1475	if x, ok := x.GetFormat().(*VideoAdInfo_NonSkippable); ok {
1476		return x.NonSkippable
1477	}
1478	return nil
1479}
1480
1481type isVideoAdInfo_Format interface {
1482	isVideoAdInfo_Format()
1483}
1484
1485type VideoAdInfo_InStream struct {
1486	// Video TrueView in-stream ad format.
1487	InStream *VideoTrueViewInStreamAdInfo `protobuf:"bytes,2,opt,name=in_stream,json=inStream,proto3,oneof"`
1488}
1489
1490type VideoAdInfo_Bumper struct {
1491	// Video bumper in-stream ad format.
1492	Bumper *VideoBumperInStreamAdInfo `protobuf:"bytes,3,opt,name=bumper,proto3,oneof"`
1493}
1494
1495type VideoAdInfo_OutStream struct {
1496	// Video out-stream ad format.
1497	OutStream *VideoOutstreamAdInfo `protobuf:"bytes,4,opt,name=out_stream,json=outStream,proto3,oneof"`
1498}
1499
1500type VideoAdInfo_NonSkippable struct {
1501	// Video non-skippable in-stream ad format.
1502	NonSkippable *VideoNonSkippableInStreamAdInfo `protobuf:"bytes,5,opt,name=non_skippable,json=nonSkippable,proto3,oneof"`
1503}
1504
1505func (*VideoAdInfo_InStream) isVideoAdInfo_Format() {}
1506
1507func (*VideoAdInfo_Bumper) isVideoAdInfo_Format() {}
1508
1509func (*VideoAdInfo_OutStream) isVideoAdInfo_Format() {}
1510
1511func (*VideoAdInfo_NonSkippable) isVideoAdInfo_Format() {}
1512
1513// A responsive search ad.
1514//
1515// Responsive search ads let you create an ad that adapts to show more text, and
1516// more relevant messages, to your customers. Enter multiple headlines and
1517// descriptions when creating a responsive search ad, and over time, Google Ads
1518// will automatically test different combinations and learn which combinations
1519// perform best. By adapting your ad's content to more closely match potential
1520// customers' search terms, responsive search ads may improve your campaign's
1521// performance.
1522//
1523// More information at https://support.google.com/google-ads/answer/7684791
1524type ResponsiveSearchAdInfo struct {
1525	state         protoimpl.MessageState
1526	sizeCache     protoimpl.SizeCache
1527	unknownFields protoimpl.UnknownFields
1528
1529	// List of text assets for headlines. When the ad serves the headlines will
1530	// be selected from this list.
1531	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1532	// List of text assets for descriptions. When the ad serves the descriptions
1533	// will be selected from this list.
1534	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1535	// First part of text that may appear appended to the url displayed in the ad.
1536	Path1 *wrappers.StringValue `protobuf:"bytes,3,opt,name=path1,proto3" json:"path1,omitempty"`
1537	// Second part of text that may appear appended to the url displayed in the
1538	// ad. This field can only be set when path1 is also set.
1539	Path2 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path2,proto3" json:"path2,omitempty"`
1540}
1541
1542func (x *ResponsiveSearchAdInfo) Reset() {
1543	*x = ResponsiveSearchAdInfo{}
1544	if protoimpl.UnsafeEnabled {
1545		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[19]
1546		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1547		ms.StoreMessageInfo(mi)
1548	}
1549}
1550
1551func (x *ResponsiveSearchAdInfo) String() string {
1552	return protoimpl.X.MessageStringOf(x)
1553}
1554
1555func (*ResponsiveSearchAdInfo) ProtoMessage() {}
1556
1557func (x *ResponsiveSearchAdInfo) ProtoReflect() protoreflect.Message {
1558	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[19]
1559	if protoimpl.UnsafeEnabled && x != nil {
1560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1561		if ms.LoadMessageInfo() == nil {
1562			ms.StoreMessageInfo(mi)
1563		}
1564		return ms
1565	}
1566	return mi.MessageOf(x)
1567}
1568
1569// Deprecated: Use ResponsiveSearchAdInfo.ProtoReflect.Descriptor instead.
1570func (*ResponsiveSearchAdInfo) Descriptor() ([]byte, []int) {
1571	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{19}
1572}
1573
1574func (x *ResponsiveSearchAdInfo) GetHeadlines() []*AdTextAsset {
1575	if x != nil {
1576		return x.Headlines
1577	}
1578	return nil
1579}
1580
1581func (x *ResponsiveSearchAdInfo) GetDescriptions() []*AdTextAsset {
1582	if x != nil {
1583		return x.Descriptions
1584	}
1585	return nil
1586}
1587
1588func (x *ResponsiveSearchAdInfo) GetPath1() *wrappers.StringValue {
1589	if x != nil {
1590		return x.Path1
1591	}
1592	return nil
1593}
1594
1595func (x *ResponsiveSearchAdInfo) GetPath2() *wrappers.StringValue {
1596	if x != nil {
1597		return x.Path2
1598	}
1599	return nil
1600}
1601
1602// A legacy responsive display ad. Ads of this type are labeled 'Responsive ads'
1603// in the Google Ads UI.
1604type LegacyResponsiveDisplayAdInfo struct {
1605	state         protoimpl.MessageState
1606	sizeCache     protoimpl.SizeCache
1607	unknownFields protoimpl.UnknownFields
1608
1609	// The short version of the ad's headline.
1610	ShortHeadline *wrappers.StringValue `protobuf:"bytes,1,opt,name=short_headline,json=shortHeadline,proto3" json:"short_headline,omitempty"`
1611	// The long version of the ad's headline.
1612	LongHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
1613	// The description of the ad.
1614	Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1615	// The business name in the ad.
1616	BusinessName *wrappers.StringValue `protobuf:"bytes,4,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
1617	// Advertiser's consent to allow flexible color. When true, the ad may be
1618	// served with different color if necessary. When false, the ad will be served
1619	// with the specified colors or a neutral color.
1620	// The default value is true.
1621	// Must be true if main_color and accent_color are not set.
1622	AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,5,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
1623	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
1624	// If one of main_color and accent_color is set, the other is required as
1625	// well.
1626	AccentColor *wrappers.StringValue `protobuf:"bytes,6,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
1627	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
1628	// If one of main_color and accent_color is set, the other is required as
1629	// well.
1630	MainColor *wrappers.StringValue `protobuf:"bytes,7,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
1631	// The call-to-action text for the ad.
1632	CallToActionText *wrappers.StringValue `protobuf:"bytes,8,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
1633	// The MediaFile resource name of the logo image used in the ad.
1634	LogoImage *wrappers.StringValue `protobuf:"bytes,9,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
1635	// The MediaFile resource name of the square logo image used in the ad.
1636	SquareLogoImage *wrappers.StringValue `protobuf:"bytes,10,opt,name=square_logo_image,json=squareLogoImage,proto3" json:"square_logo_image,omitempty"`
1637	// The MediaFile resource name of the marketing image used in the ad.
1638	MarketingImage *wrappers.StringValue `protobuf:"bytes,11,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
1639	// The MediaFile resource name of the square marketing image used in the ad.
1640	SquareMarketingImage *wrappers.StringValue `protobuf:"bytes,12,opt,name=square_marketing_image,json=squareMarketingImage,proto3" json:"square_marketing_image,omitempty"`
1641	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
1642	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,13,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
1643	// Prefix before price. E.g. 'as low as'.
1644	PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
1645	// Promotion text used for dyanmic formats of responsive ads. For example
1646	// 'Free two-day shipping'.
1647	PromoText *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
1648}
1649
1650func (x *LegacyResponsiveDisplayAdInfo) Reset() {
1651	*x = LegacyResponsiveDisplayAdInfo{}
1652	if protoimpl.UnsafeEnabled {
1653		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[20]
1654		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1655		ms.StoreMessageInfo(mi)
1656	}
1657}
1658
1659func (x *LegacyResponsiveDisplayAdInfo) String() string {
1660	return protoimpl.X.MessageStringOf(x)
1661}
1662
1663func (*LegacyResponsiveDisplayAdInfo) ProtoMessage() {}
1664
1665func (x *LegacyResponsiveDisplayAdInfo) ProtoReflect() protoreflect.Message {
1666	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[20]
1667	if protoimpl.UnsafeEnabled && x != nil {
1668		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1669		if ms.LoadMessageInfo() == nil {
1670			ms.StoreMessageInfo(mi)
1671		}
1672		return ms
1673	}
1674	return mi.MessageOf(x)
1675}
1676
1677// Deprecated: Use LegacyResponsiveDisplayAdInfo.ProtoReflect.Descriptor instead.
1678func (*LegacyResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
1679	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{20}
1680}
1681
1682func (x *LegacyResponsiveDisplayAdInfo) GetShortHeadline() *wrappers.StringValue {
1683	if x != nil {
1684		return x.ShortHeadline
1685	}
1686	return nil
1687}
1688
1689func (x *LegacyResponsiveDisplayAdInfo) GetLongHeadline() *wrappers.StringValue {
1690	if x != nil {
1691		return x.LongHeadline
1692	}
1693	return nil
1694}
1695
1696func (x *LegacyResponsiveDisplayAdInfo) GetDescription() *wrappers.StringValue {
1697	if x != nil {
1698		return x.Description
1699	}
1700	return nil
1701}
1702
1703func (x *LegacyResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue {
1704	if x != nil {
1705		return x.BusinessName
1706	}
1707	return nil
1708}
1709
1710func (x *LegacyResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue {
1711	if x != nil {
1712		return x.AllowFlexibleColor
1713	}
1714	return nil
1715}
1716
1717func (x *LegacyResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue {
1718	if x != nil {
1719		return x.AccentColor
1720	}
1721	return nil
1722}
1723
1724func (x *LegacyResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue {
1725	if x != nil {
1726		return x.MainColor
1727	}
1728	return nil
1729}
1730
1731func (x *LegacyResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue {
1732	if x != nil {
1733		return x.CallToActionText
1734	}
1735	return nil
1736}
1737
1738func (x *LegacyResponsiveDisplayAdInfo) GetLogoImage() *wrappers.StringValue {
1739	if x != nil {
1740		return x.LogoImage
1741	}
1742	return nil
1743}
1744
1745func (x *LegacyResponsiveDisplayAdInfo) GetSquareLogoImage() *wrappers.StringValue {
1746	if x != nil {
1747		return x.SquareLogoImage
1748	}
1749	return nil
1750}
1751
1752func (x *LegacyResponsiveDisplayAdInfo) GetMarketingImage() *wrappers.StringValue {
1753	if x != nil {
1754		return x.MarketingImage
1755	}
1756	return nil
1757}
1758
1759func (x *LegacyResponsiveDisplayAdInfo) GetSquareMarketingImage() *wrappers.StringValue {
1760	if x != nil {
1761		return x.SquareMarketingImage
1762	}
1763	return nil
1764}
1765
1766func (x *LegacyResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
1767	if x != nil {
1768		return x.FormatSetting
1769	}
1770	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
1771}
1772
1773func (x *LegacyResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue {
1774	if x != nil {
1775		return x.PricePrefix
1776	}
1777	return nil
1778}
1779
1780func (x *LegacyResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue {
1781	if x != nil {
1782		return x.PromoText
1783	}
1784	return nil
1785}
1786
1787// An app ad.
1788type AppAdInfo struct {
1789	state         protoimpl.MessageState
1790	sizeCache     protoimpl.SizeCache
1791	unknownFields protoimpl.UnknownFields
1792
1793	// An optional text asset that, if specified, must always be displayed when
1794	// the ad is served.
1795	MandatoryAdText *AdTextAsset `protobuf:"bytes,1,opt,name=mandatory_ad_text,json=mandatoryAdText,proto3" json:"mandatory_ad_text,omitempty"`
1796	// List of text assets for headlines. When the ad serves the headlines will
1797	// be selected from this list.
1798	Headlines []*AdTextAsset `protobuf:"bytes,2,rep,name=headlines,proto3" json:"headlines,omitempty"`
1799	// List of text assets for descriptions. When the ad serves the descriptions
1800	// will be selected from this list.
1801	Descriptions []*AdTextAsset `protobuf:"bytes,3,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1802	// List of image assets that may be displayed with the ad.
1803	Images []*AdImageAsset `protobuf:"bytes,4,rep,name=images,proto3" json:"images,omitempty"`
1804	// List of YouTube video assets that may be displayed with the ad.
1805	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,5,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
1806	// List of media bundle assets that may be used with the ad.
1807	Html5MediaBundles []*AdMediaBundleAsset `protobuf:"bytes,6,rep,name=html5_media_bundles,json=html5MediaBundles,proto3" json:"html5_media_bundles,omitempty"`
1808}
1809
1810func (x *AppAdInfo) Reset() {
1811	*x = AppAdInfo{}
1812	if protoimpl.UnsafeEnabled {
1813		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[21]
1814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1815		ms.StoreMessageInfo(mi)
1816	}
1817}
1818
1819func (x *AppAdInfo) String() string {
1820	return protoimpl.X.MessageStringOf(x)
1821}
1822
1823func (*AppAdInfo) ProtoMessage() {}
1824
1825func (x *AppAdInfo) ProtoReflect() protoreflect.Message {
1826	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[21]
1827	if protoimpl.UnsafeEnabled && x != nil {
1828		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1829		if ms.LoadMessageInfo() == nil {
1830			ms.StoreMessageInfo(mi)
1831		}
1832		return ms
1833	}
1834	return mi.MessageOf(x)
1835}
1836
1837// Deprecated: Use AppAdInfo.ProtoReflect.Descriptor instead.
1838func (*AppAdInfo) Descriptor() ([]byte, []int) {
1839	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{21}
1840}
1841
1842func (x *AppAdInfo) GetMandatoryAdText() *AdTextAsset {
1843	if x != nil {
1844		return x.MandatoryAdText
1845	}
1846	return nil
1847}
1848
1849func (x *AppAdInfo) GetHeadlines() []*AdTextAsset {
1850	if x != nil {
1851		return x.Headlines
1852	}
1853	return nil
1854}
1855
1856func (x *AppAdInfo) GetDescriptions() []*AdTextAsset {
1857	if x != nil {
1858		return x.Descriptions
1859	}
1860	return nil
1861}
1862
1863func (x *AppAdInfo) GetImages() []*AdImageAsset {
1864	if x != nil {
1865		return x.Images
1866	}
1867	return nil
1868}
1869
1870func (x *AppAdInfo) GetYoutubeVideos() []*AdVideoAsset {
1871	if x != nil {
1872		return x.YoutubeVideos
1873	}
1874	return nil
1875}
1876
1877func (x *AppAdInfo) GetHtml5MediaBundles() []*AdMediaBundleAsset {
1878	if x != nil {
1879		return x.Html5MediaBundles
1880	}
1881	return nil
1882}
1883
1884// App engagement ads allow you to write text encouraging a specific action in
1885// the app, like checking in, making a purchase, or booking a flight.
1886// They allow you to send users to a specific part of your app where they can
1887// find what they're looking for easier and faster.
1888type AppEngagementAdInfo struct {
1889	state         protoimpl.MessageState
1890	sizeCache     protoimpl.SizeCache
1891	unknownFields protoimpl.UnknownFields
1892
1893	// List of text assets for headlines. When the ad serves the headlines will
1894	// be selected from this list.
1895	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1896	// List of text assets for descriptions. When the ad serves the descriptions
1897	// will be selected from this list.
1898	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1899	// List of image assets that may be displayed with the ad.
1900	Images []*AdImageAsset `protobuf:"bytes,3,rep,name=images,proto3" json:"images,omitempty"`
1901	// List of video assets that may be displayed with the ad.
1902	Videos []*AdVideoAsset `protobuf:"bytes,4,rep,name=videos,proto3" json:"videos,omitempty"`
1903}
1904
1905func (x *AppEngagementAdInfo) Reset() {
1906	*x = AppEngagementAdInfo{}
1907	if protoimpl.UnsafeEnabled {
1908		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[22]
1909		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1910		ms.StoreMessageInfo(mi)
1911	}
1912}
1913
1914func (x *AppEngagementAdInfo) String() string {
1915	return protoimpl.X.MessageStringOf(x)
1916}
1917
1918func (*AppEngagementAdInfo) ProtoMessage() {}
1919
1920func (x *AppEngagementAdInfo) ProtoReflect() protoreflect.Message {
1921	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[22]
1922	if protoimpl.UnsafeEnabled && x != nil {
1923		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1924		if ms.LoadMessageInfo() == nil {
1925			ms.StoreMessageInfo(mi)
1926		}
1927		return ms
1928	}
1929	return mi.MessageOf(x)
1930}
1931
1932// Deprecated: Use AppEngagementAdInfo.ProtoReflect.Descriptor instead.
1933func (*AppEngagementAdInfo) Descriptor() ([]byte, []int) {
1934	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{22}
1935}
1936
1937func (x *AppEngagementAdInfo) GetHeadlines() []*AdTextAsset {
1938	if x != nil {
1939		return x.Headlines
1940	}
1941	return nil
1942}
1943
1944func (x *AppEngagementAdInfo) GetDescriptions() []*AdTextAsset {
1945	if x != nil {
1946		return x.Descriptions
1947	}
1948	return nil
1949}
1950
1951func (x *AppEngagementAdInfo) GetImages() []*AdImageAsset {
1952	if x != nil {
1953		return x.Images
1954	}
1955	return nil
1956}
1957
1958func (x *AppEngagementAdInfo) GetVideos() []*AdVideoAsset {
1959	if x != nil {
1960		return x.Videos
1961	}
1962	return nil
1963}
1964
1965// A legacy app install ad that only can be used by a few select customers.
1966type LegacyAppInstallAdInfo struct {
1967	state         protoimpl.MessageState
1968	sizeCache     protoimpl.SizeCache
1969	unknownFields protoimpl.UnknownFields
1970
1971	// The id of the mobile app.
1972	AppId *wrappers.StringValue `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
1973	// The app store the mobile app is available in.
1974	AppStore enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore `protobuf:"varint,2,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore" json:"app_store,omitempty"`
1975	// The headline of the ad.
1976	Headline *wrappers.StringValue `protobuf:"bytes,3,opt,name=headline,proto3" json:"headline,omitempty"`
1977	// The first description line of the ad.
1978	Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
1979	// The second description line of the ad.
1980	Description2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"`
1981}
1982
1983func (x *LegacyAppInstallAdInfo) Reset() {
1984	*x = LegacyAppInstallAdInfo{}
1985	if protoimpl.UnsafeEnabled {
1986		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[23]
1987		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1988		ms.StoreMessageInfo(mi)
1989	}
1990}
1991
1992func (x *LegacyAppInstallAdInfo) String() string {
1993	return protoimpl.X.MessageStringOf(x)
1994}
1995
1996func (*LegacyAppInstallAdInfo) ProtoMessage() {}
1997
1998func (x *LegacyAppInstallAdInfo) ProtoReflect() protoreflect.Message {
1999	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[23]
2000	if protoimpl.UnsafeEnabled && x != nil {
2001		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2002		if ms.LoadMessageInfo() == nil {
2003			ms.StoreMessageInfo(mi)
2004		}
2005		return ms
2006	}
2007	return mi.MessageOf(x)
2008}
2009
2010// Deprecated: Use LegacyAppInstallAdInfo.ProtoReflect.Descriptor instead.
2011func (*LegacyAppInstallAdInfo) Descriptor() ([]byte, []int) {
2012	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{23}
2013}
2014
2015func (x *LegacyAppInstallAdInfo) GetAppId() *wrappers.StringValue {
2016	if x != nil {
2017		return x.AppId
2018	}
2019	return nil
2020}
2021
2022func (x *LegacyAppInstallAdInfo) GetAppStore() enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore {
2023	if x != nil {
2024		return x.AppStore
2025	}
2026	return enums.LegacyAppInstallAdAppStoreEnum_UNSPECIFIED
2027}
2028
2029func (x *LegacyAppInstallAdInfo) GetHeadline() *wrappers.StringValue {
2030	if x != nil {
2031		return x.Headline
2032	}
2033	return nil
2034}
2035
2036func (x *LegacyAppInstallAdInfo) GetDescription1() *wrappers.StringValue {
2037	if x != nil {
2038		return x.Description1
2039	}
2040	return nil
2041}
2042
2043func (x *LegacyAppInstallAdInfo) GetDescription2() *wrappers.StringValue {
2044	if x != nil {
2045		return x.Description2
2046	}
2047	return nil
2048}
2049
2050// A responsive display ad.
2051type ResponsiveDisplayAdInfo struct {
2052	state         protoimpl.MessageState
2053	sizeCache     protoimpl.SizeCache
2054	unknownFields protoimpl.UnknownFields
2055
2056	// Marketing images to be used in the ad. Valid image types are GIF,
2057	// JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
2058	// be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
2059	// square_marketing_images the maximum is 15.
2060	MarketingImages []*AdImageAsset `protobuf:"bytes,1,rep,name=marketing_images,json=marketingImages,proto3" json:"marketing_images,omitempty"`
2061	// Square marketing images to be used in the ad. Valid image types are GIF,
2062	// JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
2063	// be 1:1 (+-1%). At least one square marketing_image is required. Combined
2064	// with marketing_images the maximum is 15.
2065	SquareMarketingImages []*AdImageAsset `protobuf:"bytes,2,rep,name=square_marketing_images,json=squareMarketingImages,proto3" json:"square_marketing_images,omitempty"`
2066	// Logo images to be used in the ad. Valid image types are GIF,
2067	// JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
2068	// be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
2069	LogoImages []*AdImageAsset `protobuf:"bytes,3,rep,name=logo_images,json=logoImages,proto3" json:"logo_images,omitempty"`
2070	// Square logo images to be used in the ad. Valid image types are GIF,
2071	// JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
2072	// be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
2073	SquareLogoImages []*AdImageAsset `protobuf:"bytes,4,rep,name=square_logo_images,json=squareLogoImages,proto3" json:"square_logo_images,omitempty"`
2074	// Short format headlines for the ad. The maximum length is 30 characters.
2075	// At least 1 and max 5 headlines can be specified.
2076	Headlines []*AdTextAsset `protobuf:"bytes,5,rep,name=headlines,proto3" json:"headlines,omitempty"`
2077	// A required long format headline. The maximum length is 90 characters.
2078	LongHeadline *AdTextAsset `protobuf:"bytes,6,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
2079	// Descriptive texts for the ad. The maximum length is 90 characters. At
2080	// least 1 and max 5 headlines can be specified.
2081	Descriptions []*AdTextAsset `protobuf:"bytes,7,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
2082	// Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
2083	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,8,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
2084	// The advertiser/brand name. Maximum display width is 25.
2085	BusinessName *wrappers.StringValue `protobuf:"bytes,9,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
2086	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
2087	// If one of main_color and accent_color is set, the other is required as
2088	// well.
2089	MainColor *wrappers.StringValue `protobuf:"bytes,10,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
2090	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
2091	// If one of main_color and accent_color is set, the other is required as
2092	// well.
2093	AccentColor *wrappers.StringValue `protobuf:"bytes,11,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
2094	// Advertiser's consent to allow flexible color. When true, the ad may be
2095	// served with different color if necessary. When false, the ad will be served
2096	// with the specified colors or a neutral color.
2097	// The default value is true.
2098	// Must be true if main_color and accent_color are not set.
2099	AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,12,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
2100	// The call-to-action text for the ad. Maximum display width is 30.
2101	CallToActionText *wrappers.StringValue `protobuf:"bytes,13,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
2102	// Prefix before price. E.g. 'as low as'.
2103	PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
2104	// Promotion text used for dyanmic formats of responsive ads. For example
2105	// 'Free two-day shipping'.
2106	PromoText *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
2107	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
2108	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,16,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
2109}
2110
2111func (x *ResponsiveDisplayAdInfo) Reset() {
2112	*x = ResponsiveDisplayAdInfo{}
2113	if protoimpl.UnsafeEnabled {
2114		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[24]
2115		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2116		ms.StoreMessageInfo(mi)
2117	}
2118}
2119
2120func (x *ResponsiveDisplayAdInfo) String() string {
2121	return protoimpl.X.MessageStringOf(x)
2122}
2123
2124func (*ResponsiveDisplayAdInfo) ProtoMessage() {}
2125
2126func (x *ResponsiveDisplayAdInfo) ProtoReflect() protoreflect.Message {
2127	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[24]
2128	if protoimpl.UnsafeEnabled && x != nil {
2129		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2130		if ms.LoadMessageInfo() == nil {
2131			ms.StoreMessageInfo(mi)
2132		}
2133		return ms
2134	}
2135	return mi.MessageOf(x)
2136}
2137
2138// Deprecated: Use ResponsiveDisplayAdInfo.ProtoReflect.Descriptor instead.
2139func (*ResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
2140	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{24}
2141}
2142
2143func (x *ResponsiveDisplayAdInfo) GetMarketingImages() []*AdImageAsset {
2144	if x != nil {
2145		return x.MarketingImages
2146	}
2147	return nil
2148}
2149
2150func (x *ResponsiveDisplayAdInfo) GetSquareMarketingImages() []*AdImageAsset {
2151	if x != nil {
2152		return x.SquareMarketingImages
2153	}
2154	return nil
2155}
2156
2157func (x *ResponsiveDisplayAdInfo) GetLogoImages() []*AdImageAsset {
2158	if x != nil {
2159		return x.LogoImages
2160	}
2161	return nil
2162}
2163
2164func (x *ResponsiveDisplayAdInfo) GetSquareLogoImages() []*AdImageAsset {
2165	if x != nil {
2166		return x.SquareLogoImages
2167	}
2168	return nil
2169}
2170
2171func (x *ResponsiveDisplayAdInfo) GetHeadlines() []*AdTextAsset {
2172	if x != nil {
2173		return x.Headlines
2174	}
2175	return nil
2176}
2177
2178func (x *ResponsiveDisplayAdInfo) GetLongHeadline() *AdTextAsset {
2179	if x != nil {
2180		return x.LongHeadline
2181	}
2182	return nil
2183}
2184
2185func (x *ResponsiveDisplayAdInfo) GetDescriptions() []*AdTextAsset {
2186	if x != nil {
2187		return x.Descriptions
2188	}
2189	return nil
2190}
2191
2192func (x *ResponsiveDisplayAdInfo) GetYoutubeVideos() []*AdVideoAsset {
2193	if x != nil {
2194		return x.YoutubeVideos
2195	}
2196	return nil
2197}
2198
2199func (x *ResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue {
2200	if x != nil {
2201		return x.BusinessName
2202	}
2203	return nil
2204}
2205
2206func (x *ResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue {
2207	if x != nil {
2208		return x.MainColor
2209	}
2210	return nil
2211}
2212
2213func (x *ResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue {
2214	if x != nil {
2215		return x.AccentColor
2216	}
2217	return nil
2218}
2219
2220func (x *ResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue {
2221	if x != nil {
2222		return x.AllowFlexibleColor
2223	}
2224	return nil
2225}
2226
2227func (x *ResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue {
2228	if x != nil {
2229		return x.CallToActionText
2230	}
2231	return nil
2232}
2233
2234func (x *ResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue {
2235	if x != nil {
2236		return x.PricePrefix
2237	}
2238	return nil
2239}
2240
2241func (x *ResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue {
2242	if x != nil {
2243		return x.PromoText
2244	}
2245	return nil
2246}
2247
2248func (x *ResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
2249	if x != nil {
2250		return x.FormatSetting
2251	}
2252	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
2253}
2254
2255// A generic type of display ad. The exact ad format is controlled by the
2256// display_upload_product_type field, which determines what kinds of data
2257// need to be included with the ad.
2258type DisplayUploadAdInfo struct {
2259	state         protoimpl.MessageState
2260	sizeCache     protoimpl.SizeCache
2261	unknownFields protoimpl.UnknownFields
2262
2263	// The product type of this ad. See comments on the enum for details.
2264	DisplayUploadProductType enums.DisplayUploadProductTypeEnum_DisplayUploadProductType `protobuf:"varint,1,opt,name=display_upload_product_type,json=displayUploadProductType,proto3,enum=google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum_DisplayUploadProductType" json:"display_upload_product_type,omitempty"`
2265	// The asset data that makes up the ad.
2266	//
2267	// Types that are assignable to MediaAsset:
2268	//	*DisplayUploadAdInfo_MediaBundle
2269	MediaAsset isDisplayUploadAdInfo_MediaAsset `protobuf_oneof:"media_asset"`
2270}
2271
2272func (x *DisplayUploadAdInfo) Reset() {
2273	*x = DisplayUploadAdInfo{}
2274	if protoimpl.UnsafeEnabled {
2275		mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[25]
2276		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2277		ms.StoreMessageInfo(mi)
2278	}
2279}
2280
2281func (x *DisplayUploadAdInfo) String() string {
2282	return protoimpl.X.MessageStringOf(x)
2283}
2284
2285func (*DisplayUploadAdInfo) ProtoMessage() {}
2286
2287func (x *DisplayUploadAdInfo) ProtoReflect() protoreflect.Message {
2288	mi := &file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[25]
2289	if protoimpl.UnsafeEnabled && x != nil {
2290		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2291		if ms.LoadMessageInfo() == nil {
2292			ms.StoreMessageInfo(mi)
2293		}
2294		return ms
2295	}
2296	return mi.MessageOf(x)
2297}
2298
2299// Deprecated: Use DisplayUploadAdInfo.ProtoReflect.Descriptor instead.
2300func (*DisplayUploadAdInfo) Descriptor() ([]byte, []int) {
2301	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP(), []int{25}
2302}
2303
2304func (x *DisplayUploadAdInfo) GetDisplayUploadProductType() enums.DisplayUploadProductTypeEnum_DisplayUploadProductType {
2305	if x != nil {
2306		return x.DisplayUploadProductType
2307	}
2308	return enums.DisplayUploadProductTypeEnum_UNSPECIFIED
2309}
2310
2311func (m *DisplayUploadAdInfo) GetMediaAsset() isDisplayUploadAdInfo_MediaAsset {
2312	if m != nil {
2313		return m.MediaAsset
2314	}
2315	return nil
2316}
2317
2318func (x *DisplayUploadAdInfo) GetMediaBundle() *AdMediaBundleAsset {
2319	if x, ok := x.GetMediaAsset().(*DisplayUploadAdInfo_MediaBundle); ok {
2320		return x.MediaBundle
2321	}
2322	return nil
2323}
2324
2325type isDisplayUploadAdInfo_MediaAsset interface {
2326	isDisplayUploadAdInfo_MediaAsset()
2327}
2328
2329type DisplayUploadAdInfo_MediaBundle struct {
2330	// A media bundle asset to be used in the ad. For information about the
2331	// media bundle for HTML5_UPLOAD_AD see
2332	// https://support.google.com/google-ads/answer/1722096
2333	// Media bundles that are part of dynamic product types use a special format
2334	// that needs to be created through the Google Web Designer. See
2335	// https://support.google.com/webdesigner/answer/7543898 for more
2336	// information.
2337	MediaBundle *AdMediaBundleAsset `protobuf:"bytes,2,opt,name=media_bundle,json=mediaBundle,proto3,oneof"`
2338}
2339
2340func (*DisplayUploadAdInfo_MediaBundle) isDisplayUploadAdInfo_MediaAsset() {}
2341
2342var File_google_ads_googleads_v2_common_ad_type_infos_proto protoreflect.FileDescriptor
2343
2344var file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDesc = []byte{
2345	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
2346	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2347	0x2f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x2e, 0x70,
2348	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2349	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
2350	0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73,
2351	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f,
2352	0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72,
2353	0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f,
2354	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75,
2355	0x6d, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
2356	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61,
2357	0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2358	0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76,
2359	0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
2360	0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
2361	0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2362	0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32,
2363	0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75,
2364	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79,
2365	0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2366	0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76,
2367	0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61,
2368	0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x64, 0x5f, 0x61, 0x70,
2369	0x70, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67,
2370	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2371	0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6d, 0x69, 0x6d,
2372	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
2373	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72,
2374	0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
2375	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2376	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x01, 0x0a, 0x0a, 0x54,
2377	0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x65, 0x61,
2378	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2379	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2380	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c,
2381	0x69, 0x6e, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2382	0x6f, 0x6e, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2383	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
2384	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2385	0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2386	0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2387	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2388	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2389	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0xcd, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x61,
2390	0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43,
2391	0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x31,
2392	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2393	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
2394	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61,
2395	0x72, 0x74, 0x31, 0x12, 0x43, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
2396	0x70, 0x61, 0x72, 0x74, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2397	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2398	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x6c,
2399	0x69, 0x6e, 0x65, 0x50, 0x61, 0x72, 0x74, 0x32, 0x12, 0x43, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64,
2400	0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
2401	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2402	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d,
2403	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x72, 0x74, 0x33, 0x12, 0x3e, 0x0a,
2404	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2405	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2406	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2407	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a,
2408	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x07, 0x20,
2409	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2410	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2411	0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x12,
2412	0x32, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2413	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2414	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x70, 0x61,
2415	0x74, 0x68, 0x31, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x05, 0x20, 0x01,
2416	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2417	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2418	0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x22, 0xad, 0x07, 0x0a, 0x0e, 0x43, 0x61, 0x6c, 0x6c,
2419	0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f,
2420	0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
2421	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2422	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
2423	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x70,
2424	0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
2425	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2426	0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
2427	0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d,
2428	0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
2429	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2430	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2431	0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12,
2432	0x3a, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x18, 0x0b, 0x20, 0x01,
2433	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2434	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2435	0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x12, 0x3a, 0x0a, 0x09, 0x68,
2436	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2437	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2438	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x68, 0x65,
2439	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2440	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2441	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2442	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73,
2443	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73,
2444	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
2445	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2446	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64,
2447	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x12, 0x3d, 0x0a, 0x0c, 0x63,
2448	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
2449	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2450	0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63,
2451	0x61, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x17, 0x64, 0x69,
2452	0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65,
2453	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2454	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
2455	0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
2456	0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5f,
2457	0x0a, 0x1d, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76,
2458	0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18,
2459	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2460	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
2461	0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
2462	0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12,
2463	0x49, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63,
2464	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
2465	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
2466	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
2467	0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x1a, 0x63,
2468	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
2469	0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32,
2470	0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2471	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e,
2472	0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
2473	0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d,
2474	0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
2475	0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x18, 0x63,
2476	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69,
2477	0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x61,
2478	0x6e, 0x64, 0x65, 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x61, 0x72, 0x63,
2479	0x68, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
2480	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2481	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2482	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
2483	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2484	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2485	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2486	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73,
2487	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x0d, 0x0a, 0x0b, 0x48, 0x6f, 0x74,
2488	0x65, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x70,
2489	0x70, 0x69, 0x6e, 0x67, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22,
2490	0x17, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75,
2491	0x63, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5b, 0x0a, 0x1f, 0x53, 0x68, 0x6f, 0x70,
2492	0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4c, 0x69,
2493	0x73, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x08, 0x68,
2494	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2495	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2496	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61,
2497	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xc3, 0x05, 0x0a, 0x0b, 0x47, 0x6d, 0x61, 0x69, 0x6c, 0x41,
2498	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x73, 0x65, 0x72, 0x18,
2499	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
2500	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e,
2501	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x61, 0x73,
2502	0x65, 0x72, 0x52, 0x06, 0x74, 0x65, 0x61, 0x73, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x68, 0x65,
2503	0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
2504	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2505	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
2506	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6d,
2507	0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03,
2508	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2509	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2510	0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61,
2511	0x67, 0x65, 0x12, 0x56, 0x0a, 0x18, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f,
2512	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04,
2513	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2514	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2515	0x75, 0x65, 0x52, 0x16, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61,
2516	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x5c, 0x0a, 0x1b, 0x6d, 0x61,
2517	0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65,
2518	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
2519	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2520	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x6d,
2521	0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73,
2522	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x26, 0x6d, 0x61, 0x72,
2523	0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x73,
2524	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74,
2525	0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2526	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2527	0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c,
2528	0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x21,
2529	0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x69,
2530	0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f,
2531	0x6e, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61,
2532	0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2533	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2534	0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
2535	0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2536	0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
2537	0x74, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
2538	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2539	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2540	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0d, 0x70, 0x72,
2541	0x6f, 0x64, 0x75, 0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0b,
2542	0x47, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x61, 0x73, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x08, 0x68,
2543	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2544	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2545	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61,
2546	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2547	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
2548	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
2549	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2550	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73,
2551	0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2552	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2553	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69,
2554	0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f,
2555	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2556	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2557	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f,
2558	0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
2559	0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a,
2560	0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2561	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2562	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12,
2563	0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20,
2564	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2565	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2566	0x65, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x48, 0x0a, 0x11,
2567	0x75, 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
2568	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2569	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2570	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
2571	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75,
2572	0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75,
2573	0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2574	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2575	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x72,
2576	0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65,
2577	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2578	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2579	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64,
2580	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x16, 0x64, 0x69,
2581	0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63,
2582	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
2583	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
2584	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70,
2585	0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
2586	0x13, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63,
2587	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56,
2588	0x69, 0x64, 0x65, 0x6f, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
2589	0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2590	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2591	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75,
2592	0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x22, 0x82, 0x06, 0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67,
2593	0x65, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c,
2594	0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
2595	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
2596	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c,
2597	0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68,
2598	0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
2599	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
2600	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x48,
2601	0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75,
2602	0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2603	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
2604	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c,
2605	0x12, 0x4b, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65,
2606	0x6c, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
2607	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2608	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76,
2609	0x69, 0x65, 0x77, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x4d, 0x0a,
2610	0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68,
2611	0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
2612	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
2613	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
2614	0x77, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x48, 0x0a, 0x11,
2615	0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72,
2616	0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2617	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2618	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6d,
2619	0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x51, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74,
2620	0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2621	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2622	0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79,
2623	0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
2624	0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
2625	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2626	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2627	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x6d,
2628	0x65, 0x64, 0x69, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2629	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2630	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52,
2631	0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61,
2632	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2633	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73,
2634	0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a,
2635	0x18, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x69,
2636	0x6d, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2637	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2638	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x13,
2639	0x61, 0x64, 0x49, 0x64, 0x54, 0x6f, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46,
2640	0x72, 0x6f, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x64, 0x0a, 0x19,
2641	0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x75, 0x6d, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x53, 0x74, 0x72,
2642	0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x6f, 0x6d,
2643	0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20,
2644	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2645	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2646	0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e,
2647	0x65, 0x72, 0x22, 0x6a, 0x0a, 0x1f, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4e, 0x6f, 0x6e, 0x53, 0x6b,
2648	0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41,
2649	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69,
2650	0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2651	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2652	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63,
2653	0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0xfb,
2654	0x01, 0x0a, 0x1b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77,
2655	0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c,
2656	0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f,
2657	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2658	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2659	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f,
2660	0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x45, 0x0a, 0x0f,
2661	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18,
2662	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2663	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
2664	0x6c, 0x75, 0x65, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x6c,
2665	0x69, 0x6e, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e,
2666	0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2667	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2668	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
2669	0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x90, 0x01, 0x0a,
2670	0x14, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41,
2671	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
2672	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2673	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2674	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12,
2675	0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
2676	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2677	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2678	0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
2679	0xc4, 0x03, 0x0a, 0x0b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
2680	0x3b, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20,
2681	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2682	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2683	0x65, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x09,
2684	0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2685	0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2686	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2687	0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x6e,
2688	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08,
2689	0x69, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x53, 0x0a, 0x06, 0x62, 0x75, 0x6d, 0x70,
2690	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2691	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
2692	0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42,
2693	0x75, 0x6d, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49,
2694	0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x62, 0x75, 0x6d, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a,
2695	0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28,
2696	0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2697	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2698	0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61,
2699	0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74,
2700	0x72, 0x65, 0x61, 0x6d, 0x12, 0x66, 0x0a, 0x0d, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x69, 0x70,
2701	0x70, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f,
2702	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2703	0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64,
2704	0x65, 0x6f, 0x4e, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e,
2705	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c,
2706	0x6e, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06,
2707	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x9c, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x70, 0x6f,
2708	0x6e, 0x73, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x49, 0x6e, 0x66,
2709	0x6f, 0x12, 0x49, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01,
2710	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
2711	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63,
2712	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65,
2713	0x74, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c,
2714	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03,
2715	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
2716	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d,
2717	0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
2718	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a,
2719	0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2720	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2721	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68,
2722	0x31, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
2723	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2724	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
2725	0x70, 0x61, 0x74, 0x68, 0x32, 0x22, 0xdc, 0x08, 0x0a, 0x1d, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79,
2726	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
2727	0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74,
2728	0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2729	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2730	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73,
2731	0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x41, 0x0a, 0x0d,
2732	0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20,
2733	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2734	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2735	0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12,
2736	0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
2737	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2738	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2739	0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2740	0x41, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
2741	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2742	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
2743	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61,
2744	0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78,
2745	0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
2746	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2747	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x61, 0x6c,
2748	0x6c, 0x6f, 0x77, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
2749	0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
2750	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2751	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
2752	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f,
2753	0x72, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18,
2754	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2755	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
2756	0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x4b,
2757	0x0a, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
2758	0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2759	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2760	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x54,
2761	0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6c,
2762	0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
2763	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2764	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c,
2765	0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x73, 0x71, 0x75, 0x61,
2766	0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20,
2767	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2768	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2769	0x65, 0x52, 0x0f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61,
2770	0x67, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f,
2771	0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2772	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2773	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65,
2774	0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x16, 0x73, 0x71, 0x75,
2775	0x61, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d,
2776	0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2777	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
2778	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4d,
2779	0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x77, 0x0a,
2780	0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18,
2781	0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
2782	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e,
2783	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46,
2784	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d,
2785	0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
2786	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53,
2787	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f,
2788	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2789	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2790	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63,
2791	0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x6f,
2792	0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2793	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2794	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6d, 0x6f,
2795	0x54, 0x65, 0x78, 0x74, 0x22, 0xff, 0x03, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x41, 0x64, 0x49, 0x6e,
2796	0x66, 0x6f, 0x12, 0x57, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x5f,
2797	0x61, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
2798	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2799	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41,
2800	0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x64,
2801	0x61, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x68,
2802	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
2803	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2804	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2805	0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68, 0x65, 0x61,
2806	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2807	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
2808	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2809	0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64,
2810	0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2811	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65,
2812	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2813	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
2814	0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65,
2815	0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a,
2816	0x0e, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18,
2817	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
2818	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e,
2819	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73,
2820	0x73, 0x65, 0x74, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65,
2821	0x6f, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x5f, 0x6d, 0x65, 0x64, 0x69,
2822	0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
2823	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2824	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2825	0x2e, 0x41, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x73,
2826	0x73, 0x65, 0x74, 0x52, 0x11, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42,
2827	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x45, 0x6e,
2828	0x67, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49,
2829	0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2830	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2831	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2832	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09,
2833	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73,
2834	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
2835	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2836	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2837	0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65,
2838	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6d,
2839	0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
2840	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
2841	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d,
2842	0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
2843	0x12, 0x44, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
2844	0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
2845	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
2846	0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06,
2847	0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x22, 0x82, 0x03, 0x0a, 0x16, 0x4c, 0x65, 0x67, 0x61, 0x63,
2848	0x79, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66,
2849	0x6f, 0x12, 0x33, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
2850	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2851	0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
2852	0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x75, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x74,
2853	0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2854	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2855	0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79,
2856	0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x41, 0x70, 0x70, 0x53,
2857	0x74, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41,
2858	0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x41, 0x70, 0x70, 0x53, 0x74,
2859	0x6f, 0x72, 0x65, 0x52, 0x08, 0x61, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x38, 0x0a,
2860	0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2861	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2862	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68,
2863	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2864	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2865	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2866	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73,
2867	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73,
2868	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
2869	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2870	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64,
2871	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x99, 0x0a, 0x0a, 0x17,
2872	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
2873	0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65,
2874	0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2875	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2876	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2877	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
2878	0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73,
2879	0x12, 0x64, 0x0a, 0x17, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65,
2880	0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
2881	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2882	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2883	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
2884	0x15, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67,
2885	0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69,
2886	0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
2887	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2888	0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49,
2889	0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x49,
2890	0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x12, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f,
2891	0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
2892	0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2893	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2894	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
2895	0x10, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65,
2896	0x73, 0x12, 0x49, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x05,
2897	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
2898	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63,
2899	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65,
2900	0x74, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d,
2901	0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20,
2902	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2903	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
2904	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74,
2905	0x52, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x4f,
2906	0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07,
2907	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
2908	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63,
2909	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65,
2910	0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
2911	0x53, 0x0a, 0x0e, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f,
2912	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2913	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
2914	0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f,
2915	0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x56, 0x69,
2916	0x64, 0x65, 0x6f, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73,
2917	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2918	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2919	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e,
2920	0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f,
2921	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2922	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2923	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x43,
2924	0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63,
2925	0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
2926	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
2927	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74,
2928	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66,
2929	0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0c, 0x20,
2930	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2931	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
2932	0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f,
2933	0x6c, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61,
2934	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b,
2935	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2936	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10,
2937	0x63, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74,
2938	0x12, 0x3f, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
2939	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2940	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
2941	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69,
2942	0x78, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
2943	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2944	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
2945	0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x77,
2946	0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
2947	0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2948	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32,
2949	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64,
2950	0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75,
2951	0x6d, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61,
2952	0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
2953	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x93, 0x02, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70,
2954	0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
2955	0x93, 0x01, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f,
2956	0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
2957	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
2958	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e,
2959	0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c,
2960	0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e,
2961	0x75, 0x6d, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
2962	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x18, 0x64, 0x69, 0x73,
2963	0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
2964	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x62,
2965	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
2966	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2967	0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x4d,
2968	0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x48,
2969	0x00, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x0d,
2970	0x0a, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x42, 0xeb, 0x01,
2971	0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2972	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f,
2973	0x6d, 0x6d, 0x6f, 0x6e, 0x42, 0x10, 0x41, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f,
2974	0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2975	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
2976	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
2977	0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32,
2978	0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xa2, 0x02,
2979	0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64,
2980	0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x32, 0x2e, 0x43,
2981	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41,
2982	0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x32, 0x5c,
2983	0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a,
2984	0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a,
2985	0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f,
2986	0x74, 0x6f, 0x33,
2987}
2988
2989var (
2990	file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescOnce sync.Once
2991	file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescData = file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDesc
2992)
2993
2994func file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescGZIP() []byte {
2995	file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescOnce.Do(func() {
2996		file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescData)
2997	})
2998	return file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDescData
2999}
3000
3001var file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
3002var file_google_ads_googleads_v2_common_ad_type_infos_proto_goTypes = []interface{}{
3003	(*TextAdInfo)(nil),                      // 0: google.ads.googleads.v2.common.TextAdInfo
3004	(*ExpandedTextAdInfo)(nil),              // 1: google.ads.googleads.v2.common.ExpandedTextAdInfo
3005	(*CallOnlyAdInfo)(nil),                  // 2: google.ads.googleads.v2.common.CallOnlyAdInfo
3006	(*ExpandedDynamicSearchAdInfo)(nil),     // 3: google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo
3007	(*HotelAdInfo)(nil),                     // 4: google.ads.googleads.v2.common.HotelAdInfo
3008	(*ShoppingSmartAdInfo)(nil),             // 5: google.ads.googleads.v2.common.ShoppingSmartAdInfo
3009	(*ShoppingProductAdInfo)(nil),           // 6: google.ads.googleads.v2.common.ShoppingProductAdInfo
3010	(*ShoppingComparisonListingAdInfo)(nil), // 7: google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo
3011	(*GmailAdInfo)(nil),                     // 8: google.ads.googleads.v2.common.GmailAdInfo
3012	(*GmailTeaser)(nil),                     // 9: google.ads.googleads.v2.common.GmailTeaser
3013	(*DisplayCallToAction)(nil),             // 10: google.ads.googleads.v2.common.DisplayCallToAction
3014	(*ProductImage)(nil),                    // 11: google.ads.googleads.v2.common.ProductImage
3015	(*ProductVideo)(nil),                    // 12: google.ads.googleads.v2.common.ProductVideo
3016	(*ImageAdInfo)(nil),                     // 13: google.ads.googleads.v2.common.ImageAdInfo
3017	(*VideoBumperInStreamAdInfo)(nil),       // 14: google.ads.googleads.v2.common.VideoBumperInStreamAdInfo
3018	(*VideoNonSkippableInStreamAdInfo)(nil), // 15: google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo
3019	(*VideoTrueViewInStreamAdInfo)(nil),     // 16: google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo
3020	(*VideoOutstreamAdInfo)(nil),            // 17: google.ads.googleads.v2.common.VideoOutstreamAdInfo
3021	(*VideoAdInfo)(nil),                     // 18: google.ads.googleads.v2.common.VideoAdInfo
3022	(*ResponsiveSearchAdInfo)(nil),          // 19: google.ads.googleads.v2.common.ResponsiveSearchAdInfo
3023	(*LegacyResponsiveDisplayAdInfo)(nil),   // 20: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo
3024	(*AppAdInfo)(nil),                       // 21: google.ads.googleads.v2.common.AppAdInfo
3025	(*AppEngagementAdInfo)(nil),             // 22: google.ads.googleads.v2.common.AppEngagementAdInfo
3026	(*LegacyAppInstallAdInfo)(nil),          // 23: google.ads.googleads.v2.common.LegacyAppInstallAdInfo
3027	(*ResponsiveDisplayAdInfo)(nil),         // 24: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo
3028	(*DisplayUploadAdInfo)(nil),             // 25: google.ads.googleads.v2.common.DisplayUploadAdInfo
3029	(*wrappers.StringValue)(nil),            // 26: google.protobuf.StringValue
3030	(*wrappers.BoolValue)(nil),              // 27: google.protobuf.BoolValue
3031	(enums.CallConversionReportingStateEnum_CallConversionReportingState)(0), // 28: google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState
3032	(*wrappers.Int64Value)(nil),                                  // 29: google.protobuf.Int64Value
3033	(enums.MimeTypeEnum_MimeType)(0),                             // 30: google.ads.googleads.v2.enums.MimeTypeEnum.MimeType
3034	(*wrappers.BytesValue)(nil),                                  // 31: google.protobuf.BytesValue
3035	(*AdTextAsset)(nil),                                          // 32: google.ads.googleads.v2.common.AdTextAsset
3036	(enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting)(0), // 33: google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3037	(*AdImageAsset)(nil),                                         // 34: google.ads.googleads.v2.common.AdImageAsset
3038	(*AdVideoAsset)(nil),                                         // 35: google.ads.googleads.v2.common.AdVideoAsset
3039	(*AdMediaBundleAsset)(nil),                                   // 36: google.ads.googleads.v2.common.AdMediaBundleAsset
3040	(enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore)(0), // 37: google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
3041	(enums.DisplayUploadProductTypeEnum_DisplayUploadProductType)(0),     // 38: google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
3042}
3043var file_google_ads_googleads_v2_common_ad_type_infos_proto_depIdxs = []int32{
3044	26,  // 0: google.ads.googleads.v2.common.TextAdInfo.headline:type_name -> google.protobuf.StringValue
3045	26,  // 1: google.ads.googleads.v2.common.TextAdInfo.description1:type_name -> google.protobuf.StringValue
3046	26,  // 2: google.ads.googleads.v2.common.TextAdInfo.description2:type_name -> google.protobuf.StringValue
3047	26,  // 3: google.ads.googleads.v2.common.ExpandedTextAdInfo.headline_part1:type_name -> google.protobuf.StringValue
3048	26,  // 4: google.ads.googleads.v2.common.ExpandedTextAdInfo.headline_part2:type_name -> google.protobuf.StringValue
3049	26,  // 5: google.ads.googleads.v2.common.ExpandedTextAdInfo.headline_part3:type_name -> google.protobuf.StringValue
3050	26,  // 6: google.ads.googleads.v2.common.ExpandedTextAdInfo.description:type_name -> google.protobuf.StringValue
3051	26,  // 7: google.ads.googleads.v2.common.ExpandedTextAdInfo.description2:type_name -> google.protobuf.StringValue
3052	26,  // 8: google.ads.googleads.v2.common.ExpandedTextAdInfo.path1:type_name -> google.protobuf.StringValue
3053	26,  // 9: google.ads.googleads.v2.common.ExpandedTextAdInfo.path2:type_name -> google.protobuf.StringValue
3054	26,  // 10: google.ads.googleads.v2.common.CallOnlyAdInfo.country_code:type_name -> google.protobuf.StringValue
3055	26,  // 11: google.ads.googleads.v2.common.CallOnlyAdInfo.phone_number:type_name -> google.protobuf.StringValue
3056	26,  // 12: google.ads.googleads.v2.common.CallOnlyAdInfo.business_name:type_name -> google.protobuf.StringValue
3057	26,  // 13: google.ads.googleads.v2.common.CallOnlyAdInfo.headline1:type_name -> google.protobuf.StringValue
3058	26,  // 14: google.ads.googleads.v2.common.CallOnlyAdInfo.headline2:type_name -> google.protobuf.StringValue
3059	26,  // 15: google.ads.googleads.v2.common.CallOnlyAdInfo.description1:type_name -> google.protobuf.StringValue
3060	26,  // 16: google.ads.googleads.v2.common.CallOnlyAdInfo.description2:type_name -> google.protobuf.StringValue
3061	27,  // 17: google.ads.googleads.v2.common.CallOnlyAdInfo.call_tracked:type_name -> google.protobuf.BoolValue
3062	27,  // 18: google.ads.googleads.v2.common.CallOnlyAdInfo.disable_call_conversion:type_name -> google.protobuf.BoolValue
3063	26,  // 19: google.ads.googleads.v2.common.CallOnlyAdInfo.phone_number_verification_url:type_name -> google.protobuf.StringValue
3064	26,  // 20: google.ads.googleads.v2.common.CallOnlyAdInfo.conversion_action:type_name -> google.protobuf.StringValue
3065	28,  // 21: google.ads.googleads.v2.common.CallOnlyAdInfo.conversion_reporting_state:type_name -> google.ads.googleads.v2.enums.CallConversionReportingStateEnum.CallConversionReportingState
3066	26,  // 22: google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo.description:type_name -> google.protobuf.StringValue
3067	26,  // 23: google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo.description2:type_name -> google.protobuf.StringValue
3068	26,  // 24: google.ads.googleads.v2.common.ShoppingComparisonListingAdInfo.headline:type_name -> google.protobuf.StringValue
3069	9,   // 25: google.ads.googleads.v2.common.GmailAdInfo.teaser:type_name -> google.ads.googleads.v2.common.GmailTeaser
3070	26,  // 26: google.ads.googleads.v2.common.GmailAdInfo.header_image:type_name -> google.protobuf.StringValue
3071	26,  // 27: google.ads.googleads.v2.common.GmailAdInfo.marketing_image:type_name -> google.protobuf.StringValue
3072	26,  // 28: google.ads.googleads.v2.common.GmailAdInfo.marketing_image_headline:type_name -> google.protobuf.StringValue
3073	26,  // 29: google.ads.googleads.v2.common.GmailAdInfo.marketing_image_description:type_name -> google.protobuf.StringValue
3074	10,  // 30: google.ads.googleads.v2.common.GmailAdInfo.marketing_image_display_call_to_action:type_name -> google.ads.googleads.v2.common.DisplayCallToAction
3075	11,  // 31: google.ads.googleads.v2.common.GmailAdInfo.product_images:type_name -> google.ads.googleads.v2.common.ProductImage
3076	12,  // 32: google.ads.googleads.v2.common.GmailAdInfo.product_videos:type_name -> google.ads.googleads.v2.common.ProductVideo
3077	26,  // 33: google.ads.googleads.v2.common.GmailTeaser.headline:type_name -> google.protobuf.StringValue
3078	26,  // 34: google.ads.googleads.v2.common.GmailTeaser.description:type_name -> google.protobuf.StringValue
3079	26,  // 35: google.ads.googleads.v2.common.GmailTeaser.business_name:type_name -> google.protobuf.StringValue
3080	26,  // 36: google.ads.googleads.v2.common.GmailTeaser.logo_image:type_name -> google.protobuf.StringValue
3081	26,  // 37: google.ads.googleads.v2.common.DisplayCallToAction.text:type_name -> google.protobuf.StringValue
3082	26,  // 38: google.ads.googleads.v2.common.DisplayCallToAction.text_color:type_name -> google.protobuf.StringValue
3083	26,  // 39: google.ads.googleads.v2.common.DisplayCallToAction.url_collection_id:type_name -> google.protobuf.StringValue
3084	26,  // 40: google.ads.googleads.v2.common.ProductImage.product_image:type_name -> google.protobuf.StringValue
3085	26,  // 41: google.ads.googleads.v2.common.ProductImage.description:type_name -> google.protobuf.StringValue
3086	10,  // 42: google.ads.googleads.v2.common.ProductImage.display_call_to_action:type_name -> google.ads.googleads.v2.common.DisplayCallToAction
3087	26,  // 43: google.ads.googleads.v2.common.ProductVideo.product_video:type_name -> google.protobuf.StringValue
3088	29,  // 44: google.ads.googleads.v2.common.ImageAdInfo.pixel_width:type_name -> google.protobuf.Int64Value
3089	29,  // 45: google.ads.googleads.v2.common.ImageAdInfo.pixel_height:type_name -> google.protobuf.Int64Value
3090	26,  // 46: google.ads.googleads.v2.common.ImageAdInfo.image_url:type_name -> google.protobuf.StringValue
3091	29,  // 47: google.ads.googleads.v2.common.ImageAdInfo.preview_pixel_width:type_name -> google.protobuf.Int64Value
3092	29,  // 48: google.ads.googleads.v2.common.ImageAdInfo.preview_pixel_height:type_name -> google.protobuf.Int64Value
3093	26,  // 49: google.ads.googleads.v2.common.ImageAdInfo.preview_image_url:type_name -> google.protobuf.StringValue
3094	30,  // 50: google.ads.googleads.v2.common.ImageAdInfo.mime_type:type_name -> google.ads.googleads.v2.enums.MimeTypeEnum.MimeType
3095	26,  // 51: google.ads.googleads.v2.common.ImageAdInfo.name:type_name -> google.protobuf.StringValue
3096	26,  // 52: google.ads.googleads.v2.common.ImageAdInfo.media_file:type_name -> google.protobuf.StringValue
3097	31,  // 53: google.ads.googleads.v2.common.ImageAdInfo.data:type_name -> google.protobuf.BytesValue
3098	29,  // 54: google.ads.googleads.v2.common.ImageAdInfo.ad_id_to_copy_image_from:type_name -> google.protobuf.Int64Value
3099	26,  // 55: google.ads.googleads.v2.common.VideoBumperInStreamAdInfo.companion_banner:type_name -> google.protobuf.StringValue
3100	26,  // 56: google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo.companion_banner:type_name -> google.protobuf.StringValue
3101	26,  // 57: google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo.action_button_label:type_name -> google.protobuf.StringValue
3102	26,  // 58: google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo.action_headline:type_name -> google.protobuf.StringValue
3103	26,  // 59: google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo.companion_banner:type_name -> google.protobuf.StringValue
3104	26,  // 60: google.ads.googleads.v2.common.VideoOutstreamAdInfo.headline:type_name -> google.protobuf.StringValue
3105	26,  // 61: google.ads.googleads.v2.common.VideoOutstreamAdInfo.description:type_name -> google.protobuf.StringValue
3106	26,  // 62: google.ads.googleads.v2.common.VideoAdInfo.media_file:type_name -> google.protobuf.StringValue
3107	16,  // 63: google.ads.googleads.v2.common.VideoAdInfo.in_stream:type_name -> google.ads.googleads.v2.common.VideoTrueViewInStreamAdInfo
3108	14,  // 64: google.ads.googleads.v2.common.VideoAdInfo.bumper:type_name -> google.ads.googleads.v2.common.VideoBumperInStreamAdInfo
3109	17,  // 65: google.ads.googleads.v2.common.VideoAdInfo.out_stream:type_name -> google.ads.googleads.v2.common.VideoOutstreamAdInfo
3110	15,  // 66: google.ads.googleads.v2.common.VideoAdInfo.non_skippable:type_name -> google.ads.googleads.v2.common.VideoNonSkippableInStreamAdInfo
3111	32,  // 67: google.ads.googleads.v2.common.ResponsiveSearchAdInfo.headlines:type_name -> google.ads.googleads.v2.common.AdTextAsset
3112	32,  // 68: google.ads.googleads.v2.common.ResponsiveSearchAdInfo.descriptions:type_name -> google.ads.googleads.v2.common.AdTextAsset
3113	26,  // 69: google.ads.googleads.v2.common.ResponsiveSearchAdInfo.path1:type_name -> google.protobuf.StringValue
3114	26,  // 70: google.ads.googleads.v2.common.ResponsiveSearchAdInfo.path2:type_name -> google.protobuf.StringValue
3115	26,  // 71: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.short_headline:type_name -> google.protobuf.StringValue
3116	26,  // 72: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.long_headline:type_name -> google.protobuf.StringValue
3117	26,  // 73: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.description:type_name -> google.protobuf.StringValue
3118	26,  // 74: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.business_name:type_name -> google.protobuf.StringValue
3119	27,  // 75: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.allow_flexible_color:type_name -> google.protobuf.BoolValue
3120	26,  // 76: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.accent_color:type_name -> google.protobuf.StringValue
3121	26,  // 77: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.main_color:type_name -> google.protobuf.StringValue
3122	26,  // 78: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.call_to_action_text:type_name -> google.protobuf.StringValue
3123	26,  // 79: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.logo_image:type_name -> google.protobuf.StringValue
3124	26,  // 80: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.square_logo_image:type_name -> google.protobuf.StringValue
3125	26,  // 81: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.marketing_image:type_name -> google.protobuf.StringValue
3126	26,  // 82: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.square_marketing_image:type_name -> google.protobuf.StringValue
3127	33,  // 83: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.format_setting:type_name -> google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3128	26,  // 84: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.price_prefix:type_name -> google.protobuf.StringValue
3129	26,  // 85: google.ads.googleads.v2.common.LegacyResponsiveDisplayAdInfo.promo_text:type_name -> google.protobuf.StringValue
3130	32,  // 86: google.ads.googleads.v2.common.AppAdInfo.mandatory_ad_text:type_name -> google.ads.googleads.v2.common.AdTextAsset
3131	32,  // 87: google.ads.googleads.v2.common.AppAdInfo.headlines:type_name -> google.ads.googleads.v2.common.AdTextAsset
3132	32,  // 88: google.ads.googleads.v2.common.AppAdInfo.descriptions:type_name -> google.ads.googleads.v2.common.AdTextAsset
3133	34,  // 89: google.ads.googleads.v2.common.AppAdInfo.images:type_name -> google.ads.googleads.v2.common.AdImageAsset
3134	35,  // 90: google.ads.googleads.v2.common.AppAdInfo.youtube_videos:type_name -> google.ads.googleads.v2.common.AdVideoAsset
3135	36,  // 91: google.ads.googleads.v2.common.AppAdInfo.html5_media_bundles:type_name -> google.ads.googleads.v2.common.AdMediaBundleAsset
3136	32,  // 92: google.ads.googleads.v2.common.AppEngagementAdInfo.headlines:type_name -> google.ads.googleads.v2.common.AdTextAsset
3137	32,  // 93: google.ads.googleads.v2.common.AppEngagementAdInfo.descriptions:type_name -> google.ads.googleads.v2.common.AdTextAsset
3138	34,  // 94: google.ads.googleads.v2.common.AppEngagementAdInfo.images:type_name -> google.ads.googleads.v2.common.AdImageAsset
3139	35,  // 95: google.ads.googleads.v2.common.AppEngagementAdInfo.videos:type_name -> google.ads.googleads.v2.common.AdVideoAsset
3140	26,  // 96: google.ads.googleads.v2.common.LegacyAppInstallAdInfo.app_id:type_name -> google.protobuf.StringValue
3141	37,  // 97: google.ads.googleads.v2.common.LegacyAppInstallAdInfo.app_store:type_name -> google.ads.googleads.v2.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
3142	26,  // 98: google.ads.googleads.v2.common.LegacyAppInstallAdInfo.headline:type_name -> google.protobuf.StringValue
3143	26,  // 99: google.ads.googleads.v2.common.LegacyAppInstallAdInfo.description1:type_name -> google.protobuf.StringValue
3144	26,  // 100: google.ads.googleads.v2.common.LegacyAppInstallAdInfo.description2:type_name -> google.protobuf.StringValue
3145	34,  // 101: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.marketing_images:type_name -> google.ads.googleads.v2.common.AdImageAsset
3146	34,  // 102: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.square_marketing_images:type_name -> google.ads.googleads.v2.common.AdImageAsset
3147	34,  // 103: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.logo_images:type_name -> google.ads.googleads.v2.common.AdImageAsset
3148	34,  // 104: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.square_logo_images:type_name -> google.ads.googleads.v2.common.AdImageAsset
3149	32,  // 105: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.headlines:type_name -> google.ads.googleads.v2.common.AdTextAsset
3150	32,  // 106: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.long_headline:type_name -> google.ads.googleads.v2.common.AdTextAsset
3151	32,  // 107: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.descriptions:type_name -> google.ads.googleads.v2.common.AdTextAsset
3152	35,  // 108: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.youtube_videos:type_name -> google.ads.googleads.v2.common.AdVideoAsset
3153	26,  // 109: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.business_name:type_name -> google.protobuf.StringValue
3154	26,  // 110: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.main_color:type_name -> google.protobuf.StringValue
3155	26,  // 111: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.accent_color:type_name -> google.protobuf.StringValue
3156	27,  // 112: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.allow_flexible_color:type_name -> google.protobuf.BoolValue
3157	26,  // 113: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.call_to_action_text:type_name -> google.protobuf.StringValue
3158	26,  // 114: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.price_prefix:type_name -> google.protobuf.StringValue
3159	26,  // 115: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.promo_text:type_name -> google.protobuf.StringValue
3160	33,  // 116: google.ads.googleads.v2.common.ResponsiveDisplayAdInfo.format_setting:type_name -> google.ads.googleads.v2.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3161	38,  // 117: google.ads.googleads.v2.common.DisplayUploadAdInfo.display_upload_product_type:type_name -> google.ads.googleads.v2.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
3162	36,  // 118: google.ads.googleads.v2.common.DisplayUploadAdInfo.media_bundle:type_name -> google.ads.googleads.v2.common.AdMediaBundleAsset
3163	119, // [119:119] is the sub-list for method output_type
3164	119, // [119:119] is the sub-list for method input_type
3165	119, // [119:119] is the sub-list for extension type_name
3166	119, // [119:119] is the sub-list for extension extendee
3167	0,   // [0:119] is the sub-list for field type_name
3168}
3169
3170func init() { file_google_ads_googleads_v2_common_ad_type_infos_proto_init() }
3171func file_google_ads_googleads_v2_common_ad_type_infos_proto_init() {
3172	if File_google_ads_googleads_v2_common_ad_type_infos_proto != nil {
3173		return
3174	}
3175	file_google_ads_googleads_v2_common_ad_asset_proto_init()
3176	if !protoimpl.UnsafeEnabled {
3177		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3178			switch v := v.(*TextAdInfo); i {
3179			case 0:
3180				return &v.state
3181			case 1:
3182				return &v.sizeCache
3183			case 2:
3184				return &v.unknownFields
3185			default:
3186				return nil
3187			}
3188		}
3189		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3190			switch v := v.(*ExpandedTextAdInfo); i {
3191			case 0:
3192				return &v.state
3193			case 1:
3194				return &v.sizeCache
3195			case 2:
3196				return &v.unknownFields
3197			default:
3198				return nil
3199			}
3200		}
3201		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3202			switch v := v.(*CallOnlyAdInfo); i {
3203			case 0:
3204				return &v.state
3205			case 1:
3206				return &v.sizeCache
3207			case 2:
3208				return &v.unknownFields
3209			default:
3210				return nil
3211			}
3212		}
3213		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3214			switch v := v.(*ExpandedDynamicSearchAdInfo); i {
3215			case 0:
3216				return &v.state
3217			case 1:
3218				return &v.sizeCache
3219			case 2:
3220				return &v.unknownFields
3221			default:
3222				return nil
3223			}
3224		}
3225		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3226			switch v := v.(*HotelAdInfo); i {
3227			case 0:
3228				return &v.state
3229			case 1:
3230				return &v.sizeCache
3231			case 2:
3232				return &v.unknownFields
3233			default:
3234				return nil
3235			}
3236		}
3237		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3238			switch v := v.(*ShoppingSmartAdInfo); i {
3239			case 0:
3240				return &v.state
3241			case 1:
3242				return &v.sizeCache
3243			case 2:
3244				return &v.unknownFields
3245			default:
3246				return nil
3247			}
3248		}
3249		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3250			switch v := v.(*ShoppingProductAdInfo); i {
3251			case 0:
3252				return &v.state
3253			case 1:
3254				return &v.sizeCache
3255			case 2:
3256				return &v.unknownFields
3257			default:
3258				return nil
3259			}
3260		}
3261		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3262			switch v := v.(*ShoppingComparisonListingAdInfo); i {
3263			case 0:
3264				return &v.state
3265			case 1:
3266				return &v.sizeCache
3267			case 2:
3268				return &v.unknownFields
3269			default:
3270				return nil
3271			}
3272		}
3273		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3274			switch v := v.(*GmailAdInfo); i {
3275			case 0:
3276				return &v.state
3277			case 1:
3278				return &v.sizeCache
3279			case 2:
3280				return &v.unknownFields
3281			default:
3282				return nil
3283			}
3284		}
3285		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3286			switch v := v.(*GmailTeaser); i {
3287			case 0:
3288				return &v.state
3289			case 1:
3290				return &v.sizeCache
3291			case 2:
3292				return &v.unknownFields
3293			default:
3294				return nil
3295			}
3296		}
3297		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3298			switch v := v.(*DisplayCallToAction); i {
3299			case 0:
3300				return &v.state
3301			case 1:
3302				return &v.sizeCache
3303			case 2:
3304				return &v.unknownFields
3305			default:
3306				return nil
3307			}
3308		}
3309		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3310			switch v := v.(*ProductImage); i {
3311			case 0:
3312				return &v.state
3313			case 1:
3314				return &v.sizeCache
3315			case 2:
3316				return &v.unknownFields
3317			default:
3318				return nil
3319			}
3320		}
3321		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3322			switch v := v.(*ProductVideo); i {
3323			case 0:
3324				return &v.state
3325			case 1:
3326				return &v.sizeCache
3327			case 2:
3328				return &v.unknownFields
3329			default:
3330				return nil
3331			}
3332		}
3333		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3334			switch v := v.(*ImageAdInfo); i {
3335			case 0:
3336				return &v.state
3337			case 1:
3338				return &v.sizeCache
3339			case 2:
3340				return &v.unknownFields
3341			default:
3342				return nil
3343			}
3344		}
3345		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3346			switch v := v.(*VideoBumperInStreamAdInfo); i {
3347			case 0:
3348				return &v.state
3349			case 1:
3350				return &v.sizeCache
3351			case 2:
3352				return &v.unknownFields
3353			default:
3354				return nil
3355			}
3356		}
3357		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3358			switch v := v.(*VideoNonSkippableInStreamAdInfo); i {
3359			case 0:
3360				return &v.state
3361			case 1:
3362				return &v.sizeCache
3363			case 2:
3364				return &v.unknownFields
3365			default:
3366				return nil
3367			}
3368		}
3369		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3370			switch v := v.(*VideoTrueViewInStreamAdInfo); i {
3371			case 0:
3372				return &v.state
3373			case 1:
3374				return &v.sizeCache
3375			case 2:
3376				return &v.unknownFields
3377			default:
3378				return nil
3379			}
3380		}
3381		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3382			switch v := v.(*VideoOutstreamAdInfo); i {
3383			case 0:
3384				return &v.state
3385			case 1:
3386				return &v.sizeCache
3387			case 2:
3388				return &v.unknownFields
3389			default:
3390				return nil
3391			}
3392		}
3393		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3394			switch v := v.(*VideoAdInfo); i {
3395			case 0:
3396				return &v.state
3397			case 1:
3398				return &v.sizeCache
3399			case 2:
3400				return &v.unknownFields
3401			default:
3402				return nil
3403			}
3404		}
3405		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3406			switch v := v.(*ResponsiveSearchAdInfo); i {
3407			case 0:
3408				return &v.state
3409			case 1:
3410				return &v.sizeCache
3411			case 2:
3412				return &v.unknownFields
3413			default:
3414				return nil
3415			}
3416		}
3417		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3418			switch v := v.(*LegacyResponsiveDisplayAdInfo); i {
3419			case 0:
3420				return &v.state
3421			case 1:
3422				return &v.sizeCache
3423			case 2:
3424				return &v.unknownFields
3425			default:
3426				return nil
3427			}
3428		}
3429		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3430			switch v := v.(*AppAdInfo); i {
3431			case 0:
3432				return &v.state
3433			case 1:
3434				return &v.sizeCache
3435			case 2:
3436				return &v.unknownFields
3437			default:
3438				return nil
3439			}
3440		}
3441		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3442			switch v := v.(*AppEngagementAdInfo); i {
3443			case 0:
3444				return &v.state
3445			case 1:
3446				return &v.sizeCache
3447			case 2:
3448				return &v.unknownFields
3449			default:
3450				return nil
3451			}
3452		}
3453		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3454			switch v := v.(*LegacyAppInstallAdInfo); i {
3455			case 0:
3456				return &v.state
3457			case 1:
3458				return &v.sizeCache
3459			case 2:
3460				return &v.unknownFields
3461			default:
3462				return nil
3463			}
3464		}
3465		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3466			switch v := v.(*ResponsiveDisplayAdInfo); i {
3467			case 0:
3468				return &v.state
3469			case 1:
3470				return &v.sizeCache
3471			case 2:
3472				return &v.unknownFields
3473			default:
3474				return nil
3475			}
3476		}
3477		file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3478			switch v := v.(*DisplayUploadAdInfo); i {
3479			case 0:
3480				return &v.state
3481			case 1:
3482				return &v.sizeCache
3483			case 2:
3484				return &v.unknownFields
3485			default:
3486				return nil
3487			}
3488		}
3489	}
3490	file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[13].OneofWrappers = []interface{}{
3491		(*ImageAdInfo_MediaFile)(nil),
3492		(*ImageAdInfo_Data)(nil),
3493		(*ImageAdInfo_AdIdToCopyImageFrom)(nil),
3494	}
3495	file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[18].OneofWrappers = []interface{}{
3496		(*VideoAdInfo_InStream)(nil),
3497		(*VideoAdInfo_Bumper)(nil),
3498		(*VideoAdInfo_OutStream)(nil),
3499		(*VideoAdInfo_NonSkippable)(nil),
3500	}
3501	file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes[25].OneofWrappers = []interface{}{
3502		(*DisplayUploadAdInfo_MediaBundle)(nil),
3503	}
3504	type x struct{}
3505	out := protoimpl.TypeBuilder{
3506		File: protoimpl.DescBuilder{
3507			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3508			RawDescriptor: file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDesc,
3509			NumEnums:      0,
3510			NumMessages:   26,
3511			NumExtensions: 0,
3512			NumServices:   0,
3513		},
3514		GoTypes:           file_google_ads_googleads_v2_common_ad_type_infos_proto_goTypes,
3515		DependencyIndexes: file_google_ads_googleads_v2_common_ad_type_infos_proto_depIdxs,
3516		MessageInfos:      file_google_ads_googleads_v2_common_ad_type_infos_proto_msgTypes,
3517	}.Build()
3518	File_google_ads_googleads_v2_common_ad_type_infos_proto = out.File
3519	file_google_ads_googleads_v2_common_ad_type_infos_proto_rawDesc = nil
3520	file_google_ads_googleads_v2_common_ad_type_infos_proto_goTypes = nil
3521	file_google_ads_googleads_v2_common_ad_type_infos_proto_depIdxs = nil
3522}
3523