1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/ads/googleads/v3/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	enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
31	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
32	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
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 *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
54	// The first line of the ad's description.
55	Description1 *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=description1,proto3" json:"description1,omitempty"`
56	// The second line of the ad's description.
57	Description2 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{0}
90}
91
92func (x *TextAdInfo) GetHeadline() *wrapperspb.StringValue {
93	if x != nil {
94		return x.Headline
95	}
96	return nil
97}
98
99func (x *TextAdInfo) GetDescription1() *wrapperspb.StringValue {
100	if x != nil {
101		return x.Description1
102	}
103	return nil
104}
105
106func (x *TextAdInfo) GetDescription2() *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=headline_part3,json=headlinePart3,proto3" json:"headline_part3,omitempty"`
125	// The description of the ad.
126	Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
127	// The second description of the ad.
128	Description2 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{1}
165}
166
167func (x *ExpandedTextAdInfo) GetHeadlinePart1() *wrapperspb.StringValue {
168	if x != nil {
169		return x.HeadlinePart1
170	}
171	return nil
172}
173
174func (x *ExpandedTextAdInfo) GetHeadlinePart2() *wrapperspb.StringValue {
175	if x != nil {
176		return x.HeadlinePart2
177	}
178	return nil
179}
180
181func (x *ExpandedTextAdInfo) GetHeadlinePart3() *wrapperspb.StringValue {
182	if x != nil {
183		return x.HeadlinePart3
184	}
185	return nil
186}
187
188func (x *ExpandedTextAdInfo) GetDescription() *wrapperspb.StringValue {
189	if x != nil {
190		return x.Description
191	}
192	return nil
193}
194
195func (x *ExpandedTextAdInfo) GetDescription2() *wrapperspb.StringValue {
196	if x != nil {
197		return x.Description2
198	}
199	return nil
200}
201
202func (x *ExpandedTextAdInfo) GetPath1() *wrapperspb.StringValue {
203	if x != nil {
204		return x.Path1
205	}
206	return nil
207}
208
209func (x *ExpandedTextAdInfo) GetPath2() *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
224	// The phone number in the ad.
225	PhoneNumber *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
226	// The business name in the ad.
227	BusinessName *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
228	// First headline in the ad.
229	Headline1 *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=headline1,proto3" json:"headline1,omitempty"`
230	// Second headline in the ad.
231	Headline2 *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=headline2,proto3" json:"headline2,omitempty"`
232	// The first line of the ad's description.
233	Description1 *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
234	// The second line of the ad's description.
235	Description2 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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.v3.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{2}
285}
286
287func (x *CallOnlyAdInfo) GetCountryCode() *wrapperspb.StringValue {
288	if x != nil {
289		return x.CountryCode
290	}
291	return nil
292}
293
294func (x *CallOnlyAdInfo) GetPhoneNumber() *wrapperspb.StringValue {
295	if x != nil {
296		return x.PhoneNumber
297	}
298	return nil
299}
300
301func (x *CallOnlyAdInfo) GetBusinessName() *wrapperspb.StringValue {
302	if x != nil {
303		return x.BusinessName
304	}
305	return nil
306}
307
308func (x *CallOnlyAdInfo) GetHeadline1() *wrapperspb.StringValue {
309	if x != nil {
310		return x.Headline1
311	}
312	return nil
313}
314
315func (x *CallOnlyAdInfo) GetHeadline2() *wrapperspb.StringValue {
316	if x != nil {
317		return x.Headline2
318	}
319	return nil
320}
321
322func (x *CallOnlyAdInfo) GetDescription1() *wrapperspb.StringValue {
323	if x != nil {
324		return x.Description1
325	}
326	return nil
327}
328
329func (x *CallOnlyAdInfo) GetDescription2() *wrapperspb.StringValue {
330	if x != nil {
331		return x.Description2
332	}
333	return nil
334}
335
336func (x *CallOnlyAdInfo) GetCallTracked() *wrapperspb.BoolValue {
337	if x != nil {
338		return x.CallTracked
339	}
340	return nil
341}
342
343func (x *CallOnlyAdInfo) GetDisableCallConversion() *wrapperspb.BoolValue {
344	if x != nil {
345		return x.DisableCallConversion
346	}
347	return nil
348}
349
350func (x *CallOnlyAdInfo) GetPhoneNumberVerificationUrl() *wrapperspb.StringValue {
351	if x != nil {
352		return x.PhoneNumberVerificationUrl
353	}
354	return nil
355}
356
357func (x *CallOnlyAdInfo) GetConversionAction() *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
379	// The second description of the ad.
380	Description2 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{3}
413}
414
415func (x *ExpandedDynamicSearchAdInfo) GetDescription() *wrapperspb.StringValue {
416	if x != nil {
417		return x.Description
418	}
419	return nil
420}
421
422func (x *ExpandedDynamicSearchAdInfo) GetDescription2() *wrapperspb.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_v3_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_v3_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_v3_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_v3_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_v3_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_v3_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_v3_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_v3_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_v3_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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{7}
587}
588
589func (x *ShoppingComparisonListingAdInfo) GetHeadline() *wrapperspb.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 *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
613	// Headline of the marketing image.
614	MarketingImageHeadline *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_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() *wrapperspb.StringValue {
666	if x != nil {
667		return x.HeaderImage
668	}
669	return nil
670}
671
672func (x *GmailAdInfo) GetMarketingImage() *wrapperspb.StringValue {
673	if x != nil {
674		return x.MarketingImage
675	}
676	return nil
677}
678
679func (x *GmailAdInfo) GetMarketingImageHeadline() *wrapperspb.StringValue {
680	if x != nil {
681		return x.MarketingImageHeadline
682	}
683	return nil
684}
685
686func (x *GmailAdInfo) GetMarketingImageDescription() *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
723	// Description of the teaser.
724	Description *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
725	// Business name of the advertiser.
726	BusinessName *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{9}
763}
764
765func (x *GmailTeaser) GetHeadline() *wrapperspb.StringValue {
766	if x != nil {
767		return x.Headline
768	}
769	return nil
770}
771
772func (x *GmailTeaser) GetDescription() *wrapperspb.StringValue {
773	if x != nil {
774		return x.Description
775	}
776	return nil
777}
778
779func (x *GmailTeaser) GetBusinessName() *wrapperspb.StringValue {
780	if x != nil {
781		return x.BusinessName
782	}
783	return nil
784}
785
786func (x *GmailTeaser) GetLogoImage() *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{10}
841}
842
843func (x *DisplayCallToAction) GetText() *wrapperspb.StringValue {
844	if x != nil {
845		return x.Text
846	}
847	return nil
848}
849
850func (x *DisplayCallToAction) GetTextColor() *wrapperspb.StringValue {
851	if x != nil {
852		return x.TextColor
853	}
854	return nil
855}
856
857func (x *DisplayCallToAction) GetUrlCollectionId() *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=product_image,json=productImage,proto3" json:"product_image,omitempty"`
874	// Description of the product.
875	Description *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{11}
910}
911
912func (x *ProductImage) GetProductImage() *wrapperspb.StringValue {
913	if x != nil {
914		return x.ProductImage
915	}
916	return nil
917}
918
919func (x *ProductImage) GetDescription() *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{12}
973}
974
975func (x *ProductVideo) GetProductVideo() *wrapperspb.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 *wrapperspb.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 *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
992	// URL of the full size image.
993	ImageUrl *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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.v3.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{13}
1047}
1048
1049func (x *ImageAdInfo) GetPixelWidth() *wrapperspb.Int64Value {
1050	if x != nil {
1051		return x.PixelWidth
1052	}
1053	return nil
1054}
1055
1056func (x *ImageAdInfo) GetPixelHeight() *wrapperspb.Int64Value {
1057	if x != nil {
1058		return x.PixelHeight
1059	}
1060	return nil
1061}
1062
1063func (x *ImageAdInfo) GetImageUrl() *wrapperspb.StringValue {
1064	if x != nil {
1065		return x.ImageUrl
1066	}
1067	return nil
1068}
1069
1070func (x *ImageAdInfo) GetPreviewPixelWidth() *wrapperspb.Int64Value {
1071	if x != nil {
1072		return x.PreviewPixelWidth
1073	}
1074	return nil
1075}
1076
1077func (x *ImageAdInfo) GetPreviewPixelHeight() *wrapperspb.Int64Value {
1078	if x != nil {
1079		return x.PreviewPixelHeight
1080	}
1081	return nil
1082}
1083
1084func (x *ImageAdInfo) GetPreviewImageUrl() *wrapperspb.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() *wrapperspb.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() *wrapperspb.StringValue {
1113	if x, ok := x.GetImage().(*ImageAdInfo_MediaFile); ok {
1114		return x.MediaFile
1115	}
1116	return nil
1117}
1118
1119func (x *ImageAdInfo) GetData() *wrapperspb.BytesValue {
1120	if x, ok := x.GetImage().(*ImageAdInfo_Data); ok {
1121		return x.Data
1122	}
1123	return nil
1124}
1125
1126func (x *ImageAdInfo) GetAdIdToCopyImageFrom() *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{14}
1199}
1200
1201func (x *VideoBumperInStreamAdInfo) GetCompanionBanner() *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{15}
1249}
1250
1251func (x *VideoNonSkippableInStreamAdInfo) GetCompanionBanner() *wrapperspb.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 *wrapperspb.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 *wrapperspb.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 *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{16}
1307}
1308
1309func (x *VideoTrueViewInStreamAdInfo) GetActionButtonLabel() *wrapperspb.StringValue {
1310	if x != nil {
1311		return x.ActionButtonLabel
1312	}
1313	return nil
1314}
1315
1316func (x *VideoTrueViewInStreamAdInfo) GetActionHeadline() *wrapperspb.StringValue {
1317	if x != nil {
1318		return x.ActionHeadline
1319	}
1320	return nil
1321}
1322
1323func (x *VideoTrueViewInStreamAdInfo) GetCompanionBanner() *wrapperspb.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 *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
1339	// The description line.
1340	Description *wrapperspb.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_v3_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_v3_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_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{17}
1373}
1374
1375func (x *VideoOutstreamAdInfo) GetHeadline() *wrapperspb.StringValue {
1376	if x != nil {
1377		return x.Headline
1378	}
1379	return nil
1380}
1381
1382func (x *VideoOutstreamAdInfo) GetDescription() *wrapperspb.StringValue {
1383	if x != nil {
1384		return x.Description
1385	}
1386	return nil
1387}
1388
1389// Representation of video TrueView discovery ad format.
1390type VideoTrueViewDiscoveryAdInfo struct {
1391	state         protoimpl.MessageState
1392	sizeCache     protoimpl.SizeCache
1393	unknownFields protoimpl.UnknownFields
1394
1395	// The headline of the ad.
1396	Headline *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
1397	// First text line for a TrueView video discovery ad.
1398	Description1 *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=description1,proto3" json:"description1,omitempty"`
1399	// Second text line for a TrueView video discovery ad.
1400	Description2 *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description2,proto3" json:"description2,omitempty"`
1401}
1402
1403func (x *VideoTrueViewDiscoveryAdInfo) Reset() {
1404	*x = VideoTrueViewDiscoveryAdInfo{}
1405	if protoimpl.UnsafeEnabled {
1406		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[18]
1407		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1408		ms.StoreMessageInfo(mi)
1409	}
1410}
1411
1412func (x *VideoTrueViewDiscoveryAdInfo) String() string {
1413	return protoimpl.X.MessageStringOf(x)
1414}
1415
1416func (*VideoTrueViewDiscoveryAdInfo) ProtoMessage() {}
1417
1418func (x *VideoTrueViewDiscoveryAdInfo) ProtoReflect() protoreflect.Message {
1419	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[18]
1420	if protoimpl.UnsafeEnabled && x != nil {
1421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1422		if ms.LoadMessageInfo() == nil {
1423			ms.StoreMessageInfo(mi)
1424		}
1425		return ms
1426	}
1427	return mi.MessageOf(x)
1428}
1429
1430// Deprecated: Use VideoTrueViewDiscoveryAdInfo.ProtoReflect.Descriptor instead.
1431func (*VideoTrueViewDiscoveryAdInfo) Descriptor() ([]byte, []int) {
1432	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{18}
1433}
1434
1435func (x *VideoTrueViewDiscoveryAdInfo) GetHeadline() *wrapperspb.StringValue {
1436	if x != nil {
1437		return x.Headline
1438	}
1439	return nil
1440}
1441
1442func (x *VideoTrueViewDiscoveryAdInfo) GetDescription1() *wrapperspb.StringValue {
1443	if x != nil {
1444		return x.Description1
1445	}
1446	return nil
1447}
1448
1449func (x *VideoTrueViewDiscoveryAdInfo) GetDescription2() *wrapperspb.StringValue {
1450	if x != nil {
1451		return x.Description2
1452	}
1453	return nil
1454}
1455
1456// A video ad.
1457type VideoAdInfo struct {
1458	state         protoimpl.MessageState
1459	sizeCache     protoimpl.SizeCache
1460	unknownFields protoimpl.UnknownFields
1461
1462	// The MediaFile resource to use for the video.
1463	MediaFile *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3" json:"media_file,omitempty"`
1464	// Format-specific schema for the different video formats.
1465	//
1466	// Types that are assignable to Format:
1467	//	*VideoAdInfo_InStream
1468	//	*VideoAdInfo_Bumper
1469	//	*VideoAdInfo_OutStream
1470	//	*VideoAdInfo_NonSkippable
1471	//	*VideoAdInfo_Discovery
1472	Format isVideoAdInfo_Format `protobuf_oneof:"format"`
1473}
1474
1475func (x *VideoAdInfo) Reset() {
1476	*x = VideoAdInfo{}
1477	if protoimpl.UnsafeEnabled {
1478		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[19]
1479		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1480		ms.StoreMessageInfo(mi)
1481	}
1482}
1483
1484func (x *VideoAdInfo) String() string {
1485	return protoimpl.X.MessageStringOf(x)
1486}
1487
1488func (*VideoAdInfo) ProtoMessage() {}
1489
1490func (x *VideoAdInfo) ProtoReflect() protoreflect.Message {
1491	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[19]
1492	if protoimpl.UnsafeEnabled && x != nil {
1493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1494		if ms.LoadMessageInfo() == nil {
1495			ms.StoreMessageInfo(mi)
1496		}
1497		return ms
1498	}
1499	return mi.MessageOf(x)
1500}
1501
1502// Deprecated: Use VideoAdInfo.ProtoReflect.Descriptor instead.
1503func (*VideoAdInfo) Descriptor() ([]byte, []int) {
1504	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{19}
1505}
1506
1507func (x *VideoAdInfo) GetMediaFile() *wrapperspb.StringValue {
1508	if x != nil {
1509		return x.MediaFile
1510	}
1511	return nil
1512}
1513
1514func (m *VideoAdInfo) GetFormat() isVideoAdInfo_Format {
1515	if m != nil {
1516		return m.Format
1517	}
1518	return nil
1519}
1520
1521func (x *VideoAdInfo) GetInStream() *VideoTrueViewInStreamAdInfo {
1522	if x, ok := x.GetFormat().(*VideoAdInfo_InStream); ok {
1523		return x.InStream
1524	}
1525	return nil
1526}
1527
1528func (x *VideoAdInfo) GetBumper() *VideoBumperInStreamAdInfo {
1529	if x, ok := x.GetFormat().(*VideoAdInfo_Bumper); ok {
1530		return x.Bumper
1531	}
1532	return nil
1533}
1534
1535func (x *VideoAdInfo) GetOutStream() *VideoOutstreamAdInfo {
1536	if x, ok := x.GetFormat().(*VideoAdInfo_OutStream); ok {
1537		return x.OutStream
1538	}
1539	return nil
1540}
1541
1542func (x *VideoAdInfo) GetNonSkippable() *VideoNonSkippableInStreamAdInfo {
1543	if x, ok := x.GetFormat().(*VideoAdInfo_NonSkippable); ok {
1544		return x.NonSkippable
1545	}
1546	return nil
1547}
1548
1549func (x *VideoAdInfo) GetDiscovery() *VideoTrueViewDiscoveryAdInfo {
1550	if x, ok := x.GetFormat().(*VideoAdInfo_Discovery); ok {
1551		return x.Discovery
1552	}
1553	return nil
1554}
1555
1556type isVideoAdInfo_Format interface {
1557	isVideoAdInfo_Format()
1558}
1559
1560type VideoAdInfo_InStream struct {
1561	// Video TrueView in-stream ad format.
1562	InStream *VideoTrueViewInStreamAdInfo `protobuf:"bytes,2,opt,name=in_stream,json=inStream,proto3,oneof"`
1563}
1564
1565type VideoAdInfo_Bumper struct {
1566	// Video bumper in-stream ad format.
1567	Bumper *VideoBumperInStreamAdInfo `protobuf:"bytes,3,opt,name=bumper,proto3,oneof"`
1568}
1569
1570type VideoAdInfo_OutStream struct {
1571	// Video out-stream ad format.
1572	OutStream *VideoOutstreamAdInfo `protobuf:"bytes,4,opt,name=out_stream,json=outStream,proto3,oneof"`
1573}
1574
1575type VideoAdInfo_NonSkippable struct {
1576	// Video non-skippable in-stream ad format.
1577	NonSkippable *VideoNonSkippableInStreamAdInfo `protobuf:"bytes,5,opt,name=non_skippable,json=nonSkippable,proto3,oneof"`
1578}
1579
1580type VideoAdInfo_Discovery struct {
1581	// Video TrueView discovery ad format.
1582	Discovery *VideoTrueViewDiscoveryAdInfo `protobuf:"bytes,6,opt,name=discovery,proto3,oneof"`
1583}
1584
1585func (*VideoAdInfo_InStream) isVideoAdInfo_Format() {}
1586
1587func (*VideoAdInfo_Bumper) isVideoAdInfo_Format() {}
1588
1589func (*VideoAdInfo_OutStream) isVideoAdInfo_Format() {}
1590
1591func (*VideoAdInfo_NonSkippable) isVideoAdInfo_Format() {}
1592
1593func (*VideoAdInfo_Discovery) isVideoAdInfo_Format() {}
1594
1595// A responsive search ad.
1596//
1597// Responsive search ads let you create an ad that adapts to show more text, and
1598// more relevant messages, to your customers. Enter multiple headlines and
1599// descriptions when creating a responsive search ad, and over time, Google Ads
1600// will automatically test different combinations and learn which combinations
1601// perform best. By adapting your ad's content to more closely match potential
1602// customers' search terms, responsive search ads may improve your campaign's
1603// performance.
1604//
1605// More information at https://support.google.com/google-ads/answer/7684791
1606type ResponsiveSearchAdInfo struct {
1607	state         protoimpl.MessageState
1608	sizeCache     protoimpl.SizeCache
1609	unknownFields protoimpl.UnknownFields
1610
1611	// List of text assets for headlines. When the ad serves the headlines will
1612	// be selected from this list.
1613	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1614	// List of text assets for descriptions. When the ad serves the descriptions
1615	// will be selected from this list.
1616	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1617	// First part of text that may appear appended to the url displayed in the ad.
1618	Path1 *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=path1,proto3" json:"path1,omitempty"`
1619	// Second part of text that may appear appended to the url displayed in the
1620	// ad. This field can only be set when path1 is also set.
1621	Path2 *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=path2,proto3" json:"path2,omitempty"`
1622}
1623
1624func (x *ResponsiveSearchAdInfo) Reset() {
1625	*x = ResponsiveSearchAdInfo{}
1626	if protoimpl.UnsafeEnabled {
1627		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[20]
1628		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1629		ms.StoreMessageInfo(mi)
1630	}
1631}
1632
1633func (x *ResponsiveSearchAdInfo) String() string {
1634	return protoimpl.X.MessageStringOf(x)
1635}
1636
1637func (*ResponsiveSearchAdInfo) ProtoMessage() {}
1638
1639func (x *ResponsiveSearchAdInfo) ProtoReflect() protoreflect.Message {
1640	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[20]
1641	if protoimpl.UnsafeEnabled && x != nil {
1642		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1643		if ms.LoadMessageInfo() == nil {
1644			ms.StoreMessageInfo(mi)
1645		}
1646		return ms
1647	}
1648	return mi.MessageOf(x)
1649}
1650
1651// Deprecated: Use ResponsiveSearchAdInfo.ProtoReflect.Descriptor instead.
1652func (*ResponsiveSearchAdInfo) Descriptor() ([]byte, []int) {
1653	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{20}
1654}
1655
1656func (x *ResponsiveSearchAdInfo) GetHeadlines() []*AdTextAsset {
1657	if x != nil {
1658		return x.Headlines
1659	}
1660	return nil
1661}
1662
1663func (x *ResponsiveSearchAdInfo) GetDescriptions() []*AdTextAsset {
1664	if x != nil {
1665		return x.Descriptions
1666	}
1667	return nil
1668}
1669
1670func (x *ResponsiveSearchAdInfo) GetPath1() *wrapperspb.StringValue {
1671	if x != nil {
1672		return x.Path1
1673	}
1674	return nil
1675}
1676
1677func (x *ResponsiveSearchAdInfo) GetPath2() *wrapperspb.StringValue {
1678	if x != nil {
1679		return x.Path2
1680	}
1681	return nil
1682}
1683
1684// A legacy responsive display ad. Ads of this type are labeled 'Responsive ads'
1685// in the Google Ads UI.
1686type LegacyResponsiveDisplayAdInfo struct {
1687	state         protoimpl.MessageState
1688	sizeCache     protoimpl.SizeCache
1689	unknownFields protoimpl.UnknownFields
1690
1691	// The short version of the ad's headline.
1692	ShortHeadline *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=short_headline,json=shortHeadline,proto3" json:"short_headline,omitempty"`
1693	// The long version of the ad's headline.
1694	LongHeadline *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
1695	// The description of the ad.
1696	Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1697	// The business name in the ad.
1698	BusinessName *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
1699	// Advertiser's consent to allow flexible color. When true, the ad may be
1700	// served with different color if necessary. When false, the ad will be served
1701	// with the specified colors or a neutral color.
1702	// The default value is true.
1703	// Must be true if main_color and accent_color are not set.
1704	AllowFlexibleColor *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
1705	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
1706	// If one of main_color and accent_color is set, the other is required as
1707	// well.
1708	AccentColor *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
1709	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
1710	// If one of main_color and accent_color is set, the other is required as
1711	// well.
1712	MainColor *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
1713	// The call-to-action text for the ad.
1714	CallToActionText *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
1715	// The MediaFile resource name of the logo image used in the ad.
1716	LogoImage *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
1717	// The MediaFile resource name of the square logo image used in the ad.
1718	SquareLogoImage *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=square_logo_image,json=squareLogoImage,proto3" json:"square_logo_image,omitempty"`
1719	// The MediaFile resource name of the marketing image used in the ad.
1720	MarketingImage *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
1721	// The MediaFile resource name of the square marketing image used in the ad.
1722	SquareMarketingImage *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=square_marketing_image,json=squareMarketingImage,proto3" json:"square_marketing_image,omitempty"`
1723	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
1724	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,13,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v3.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
1725	// Prefix before price. E.g. 'as low as'.
1726	PricePrefix *wrapperspb.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
1727	// Promotion text used for dyanmic formats of responsive ads. For example
1728	// 'Free two-day shipping'.
1729	PromoText *wrapperspb.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
1730}
1731
1732func (x *LegacyResponsiveDisplayAdInfo) Reset() {
1733	*x = LegacyResponsiveDisplayAdInfo{}
1734	if protoimpl.UnsafeEnabled {
1735		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[21]
1736		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1737		ms.StoreMessageInfo(mi)
1738	}
1739}
1740
1741func (x *LegacyResponsiveDisplayAdInfo) String() string {
1742	return protoimpl.X.MessageStringOf(x)
1743}
1744
1745func (*LegacyResponsiveDisplayAdInfo) ProtoMessage() {}
1746
1747func (x *LegacyResponsiveDisplayAdInfo) ProtoReflect() protoreflect.Message {
1748	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[21]
1749	if protoimpl.UnsafeEnabled && x != nil {
1750		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1751		if ms.LoadMessageInfo() == nil {
1752			ms.StoreMessageInfo(mi)
1753		}
1754		return ms
1755	}
1756	return mi.MessageOf(x)
1757}
1758
1759// Deprecated: Use LegacyResponsiveDisplayAdInfo.ProtoReflect.Descriptor instead.
1760func (*LegacyResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
1761	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{21}
1762}
1763
1764func (x *LegacyResponsiveDisplayAdInfo) GetShortHeadline() *wrapperspb.StringValue {
1765	if x != nil {
1766		return x.ShortHeadline
1767	}
1768	return nil
1769}
1770
1771func (x *LegacyResponsiveDisplayAdInfo) GetLongHeadline() *wrapperspb.StringValue {
1772	if x != nil {
1773		return x.LongHeadline
1774	}
1775	return nil
1776}
1777
1778func (x *LegacyResponsiveDisplayAdInfo) GetDescription() *wrapperspb.StringValue {
1779	if x != nil {
1780		return x.Description
1781	}
1782	return nil
1783}
1784
1785func (x *LegacyResponsiveDisplayAdInfo) GetBusinessName() *wrapperspb.StringValue {
1786	if x != nil {
1787		return x.BusinessName
1788	}
1789	return nil
1790}
1791
1792func (x *LegacyResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrapperspb.BoolValue {
1793	if x != nil {
1794		return x.AllowFlexibleColor
1795	}
1796	return nil
1797}
1798
1799func (x *LegacyResponsiveDisplayAdInfo) GetAccentColor() *wrapperspb.StringValue {
1800	if x != nil {
1801		return x.AccentColor
1802	}
1803	return nil
1804}
1805
1806func (x *LegacyResponsiveDisplayAdInfo) GetMainColor() *wrapperspb.StringValue {
1807	if x != nil {
1808		return x.MainColor
1809	}
1810	return nil
1811}
1812
1813func (x *LegacyResponsiveDisplayAdInfo) GetCallToActionText() *wrapperspb.StringValue {
1814	if x != nil {
1815		return x.CallToActionText
1816	}
1817	return nil
1818}
1819
1820func (x *LegacyResponsiveDisplayAdInfo) GetLogoImage() *wrapperspb.StringValue {
1821	if x != nil {
1822		return x.LogoImage
1823	}
1824	return nil
1825}
1826
1827func (x *LegacyResponsiveDisplayAdInfo) GetSquareLogoImage() *wrapperspb.StringValue {
1828	if x != nil {
1829		return x.SquareLogoImage
1830	}
1831	return nil
1832}
1833
1834func (x *LegacyResponsiveDisplayAdInfo) GetMarketingImage() *wrapperspb.StringValue {
1835	if x != nil {
1836		return x.MarketingImage
1837	}
1838	return nil
1839}
1840
1841func (x *LegacyResponsiveDisplayAdInfo) GetSquareMarketingImage() *wrapperspb.StringValue {
1842	if x != nil {
1843		return x.SquareMarketingImage
1844	}
1845	return nil
1846}
1847
1848func (x *LegacyResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
1849	if x != nil {
1850		return x.FormatSetting
1851	}
1852	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
1853}
1854
1855func (x *LegacyResponsiveDisplayAdInfo) GetPricePrefix() *wrapperspb.StringValue {
1856	if x != nil {
1857		return x.PricePrefix
1858	}
1859	return nil
1860}
1861
1862func (x *LegacyResponsiveDisplayAdInfo) GetPromoText() *wrapperspb.StringValue {
1863	if x != nil {
1864		return x.PromoText
1865	}
1866	return nil
1867}
1868
1869// An app ad.
1870type AppAdInfo struct {
1871	state         protoimpl.MessageState
1872	sizeCache     protoimpl.SizeCache
1873	unknownFields protoimpl.UnknownFields
1874
1875	// Mandatory ad text.
1876	MandatoryAdText *AdTextAsset `protobuf:"bytes,1,opt,name=mandatory_ad_text,json=mandatoryAdText,proto3" json:"mandatory_ad_text,omitempty"`
1877	// List of text assets for headlines. When the ad serves the headlines will
1878	// be selected from this list.
1879	Headlines []*AdTextAsset `protobuf:"bytes,2,rep,name=headlines,proto3" json:"headlines,omitempty"`
1880	// List of text assets for descriptions. When the ad serves the descriptions
1881	// will be selected from this list.
1882	Descriptions []*AdTextAsset `protobuf:"bytes,3,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1883	// List of image assets that may be displayed with the ad.
1884	Images []*AdImageAsset `protobuf:"bytes,4,rep,name=images,proto3" json:"images,omitempty"`
1885	// List of YouTube video assets that may be displayed with the ad.
1886	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,5,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
1887	// List of media bundle assets that may be used with the ad.
1888	Html5MediaBundles []*AdMediaBundleAsset `protobuf:"bytes,6,rep,name=html5_media_bundles,json=html5MediaBundles,proto3" json:"html5_media_bundles,omitempty"`
1889}
1890
1891func (x *AppAdInfo) Reset() {
1892	*x = AppAdInfo{}
1893	if protoimpl.UnsafeEnabled {
1894		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[22]
1895		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1896		ms.StoreMessageInfo(mi)
1897	}
1898}
1899
1900func (x *AppAdInfo) String() string {
1901	return protoimpl.X.MessageStringOf(x)
1902}
1903
1904func (*AppAdInfo) ProtoMessage() {}
1905
1906func (x *AppAdInfo) ProtoReflect() protoreflect.Message {
1907	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[22]
1908	if protoimpl.UnsafeEnabled && x != nil {
1909		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1910		if ms.LoadMessageInfo() == nil {
1911			ms.StoreMessageInfo(mi)
1912		}
1913		return ms
1914	}
1915	return mi.MessageOf(x)
1916}
1917
1918// Deprecated: Use AppAdInfo.ProtoReflect.Descriptor instead.
1919func (*AppAdInfo) Descriptor() ([]byte, []int) {
1920	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{22}
1921}
1922
1923func (x *AppAdInfo) GetMandatoryAdText() *AdTextAsset {
1924	if x != nil {
1925		return x.MandatoryAdText
1926	}
1927	return nil
1928}
1929
1930func (x *AppAdInfo) GetHeadlines() []*AdTextAsset {
1931	if x != nil {
1932		return x.Headlines
1933	}
1934	return nil
1935}
1936
1937func (x *AppAdInfo) GetDescriptions() []*AdTextAsset {
1938	if x != nil {
1939		return x.Descriptions
1940	}
1941	return nil
1942}
1943
1944func (x *AppAdInfo) GetImages() []*AdImageAsset {
1945	if x != nil {
1946		return x.Images
1947	}
1948	return nil
1949}
1950
1951func (x *AppAdInfo) GetYoutubeVideos() []*AdVideoAsset {
1952	if x != nil {
1953		return x.YoutubeVideos
1954	}
1955	return nil
1956}
1957
1958func (x *AppAdInfo) GetHtml5MediaBundles() []*AdMediaBundleAsset {
1959	if x != nil {
1960		return x.Html5MediaBundles
1961	}
1962	return nil
1963}
1964
1965// App engagement ads allow you to write text encouraging a specific action in
1966// the app, like checking in, making a purchase, or booking a flight.
1967// They allow you to send users to a specific part of your app where they can
1968// find what they're looking for easier and faster.
1969type AppEngagementAdInfo struct {
1970	state         protoimpl.MessageState
1971	sizeCache     protoimpl.SizeCache
1972	unknownFields protoimpl.UnknownFields
1973
1974	// List of text assets for headlines. When the ad serves the headlines will
1975	// be selected from this list.
1976	Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
1977	// List of text assets for descriptions. When the ad serves the descriptions
1978	// will be selected from this list.
1979	Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
1980	// List of image assets that may be displayed with the ad.
1981	Images []*AdImageAsset `protobuf:"bytes,3,rep,name=images,proto3" json:"images,omitempty"`
1982	// List of video assets that may be displayed with the ad.
1983	Videos []*AdVideoAsset `protobuf:"bytes,4,rep,name=videos,proto3" json:"videos,omitempty"`
1984}
1985
1986func (x *AppEngagementAdInfo) Reset() {
1987	*x = AppEngagementAdInfo{}
1988	if protoimpl.UnsafeEnabled {
1989		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[23]
1990		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1991		ms.StoreMessageInfo(mi)
1992	}
1993}
1994
1995func (x *AppEngagementAdInfo) String() string {
1996	return protoimpl.X.MessageStringOf(x)
1997}
1998
1999func (*AppEngagementAdInfo) ProtoMessage() {}
2000
2001func (x *AppEngagementAdInfo) ProtoReflect() protoreflect.Message {
2002	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[23]
2003	if protoimpl.UnsafeEnabled && x != nil {
2004		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2005		if ms.LoadMessageInfo() == nil {
2006			ms.StoreMessageInfo(mi)
2007		}
2008		return ms
2009	}
2010	return mi.MessageOf(x)
2011}
2012
2013// Deprecated: Use AppEngagementAdInfo.ProtoReflect.Descriptor instead.
2014func (*AppEngagementAdInfo) Descriptor() ([]byte, []int) {
2015	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{23}
2016}
2017
2018func (x *AppEngagementAdInfo) GetHeadlines() []*AdTextAsset {
2019	if x != nil {
2020		return x.Headlines
2021	}
2022	return nil
2023}
2024
2025func (x *AppEngagementAdInfo) GetDescriptions() []*AdTextAsset {
2026	if x != nil {
2027		return x.Descriptions
2028	}
2029	return nil
2030}
2031
2032func (x *AppEngagementAdInfo) GetImages() []*AdImageAsset {
2033	if x != nil {
2034		return x.Images
2035	}
2036	return nil
2037}
2038
2039func (x *AppEngagementAdInfo) GetVideos() []*AdVideoAsset {
2040	if x != nil {
2041		return x.Videos
2042	}
2043	return nil
2044}
2045
2046// A legacy app install ad that only can be used by a few select customers.
2047type LegacyAppInstallAdInfo struct {
2048	state         protoimpl.MessageState
2049	sizeCache     protoimpl.SizeCache
2050	unknownFields protoimpl.UnknownFields
2051
2052	// The id of the mobile app.
2053	AppId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
2054	// The app store the mobile app is available in.
2055	AppStore enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore `protobuf:"varint,2,opt,name=app_store,json=appStore,proto3,enum=google.ads.googleads.v3.enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore" json:"app_store,omitempty"`
2056	// The headline of the ad.
2057	Headline *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=headline,proto3" json:"headline,omitempty"`
2058	// The first description line of the ad.
2059	Description1 *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
2060	// The second description line of the ad.
2061	Description2 *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"`
2062}
2063
2064func (x *LegacyAppInstallAdInfo) Reset() {
2065	*x = LegacyAppInstallAdInfo{}
2066	if protoimpl.UnsafeEnabled {
2067		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[24]
2068		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2069		ms.StoreMessageInfo(mi)
2070	}
2071}
2072
2073func (x *LegacyAppInstallAdInfo) String() string {
2074	return protoimpl.X.MessageStringOf(x)
2075}
2076
2077func (*LegacyAppInstallAdInfo) ProtoMessage() {}
2078
2079func (x *LegacyAppInstallAdInfo) ProtoReflect() protoreflect.Message {
2080	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[24]
2081	if protoimpl.UnsafeEnabled && x != nil {
2082		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2083		if ms.LoadMessageInfo() == nil {
2084			ms.StoreMessageInfo(mi)
2085		}
2086		return ms
2087	}
2088	return mi.MessageOf(x)
2089}
2090
2091// Deprecated: Use LegacyAppInstallAdInfo.ProtoReflect.Descriptor instead.
2092func (*LegacyAppInstallAdInfo) Descriptor() ([]byte, []int) {
2093	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{24}
2094}
2095
2096func (x *LegacyAppInstallAdInfo) GetAppId() *wrapperspb.StringValue {
2097	if x != nil {
2098		return x.AppId
2099	}
2100	return nil
2101}
2102
2103func (x *LegacyAppInstallAdInfo) GetAppStore() enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore {
2104	if x != nil {
2105		return x.AppStore
2106	}
2107	return enums.LegacyAppInstallAdAppStoreEnum_UNSPECIFIED
2108}
2109
2110func (x *LegacyAppInstallAdInfo) GetHeadline() *wrapperspb.StringValue {
2111	if x != nil {
2112		return x.Headline
2113	}
2114	return nil
2115}
2116
2117func (x *LegacyAppInstallAdInfo) GetDescription1() *wrapperspb.StringValue {
2118	if x != nil {
2119		return x.Description1
2120	}
2121	return nil
2122}
2123
2124func (x *LegacyAppInstallAdInfo) GetDescription2() *wrapperspb.StringValue {
2125	if x != nil {
2126		return x.Description2
2127	}
2128	return nil
2129}
2130
2131// A responsive display ad.
2132type ResponsiveDisplayAdInfo struct {
2133	state         protoimpl.MessageState
2134	sizeCache     protoimpl.SizeCache
2135	unknownFields protoimpl.UnknownFields
2136
2137	// Marketing images to be used in the ad. Valid image types are GIF,
2138	// JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must
2139	// be 1.91:1 (+-1%). At least one marketing_image is required. Combined with
2140	// square_marketing_images the maximum is 15.
2141	MarketingImages []*AdImageAsset `protobuf:"bytes,1,rep,name=marketing_images,json=marketingImages,proto3" json:"marketing_images,omitempty"`
2142	// Square marketing images to be used in the ad. Valid image types are GIF,
2143	// JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must
2144	// be 1:1 (+-1%). At least one square marketing_image is required. Combined
2145	// with marketing_images the maximum is 15.
2146	SquareMarketingImages []*AdImageAsset `protobuf:"bytes,2,rep,name=square_marketing_images,json=squareMarketingImages,proto3" json:"square_marketing_images,omitempty"`
2147	// Logo images to be used in the ad. Valid image types are GIF,
2148	// JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must
2149	// be 4:1 (+-1%). Combined with square_logo_images the maximum is 5.
2150	LogoImages []*AdImageAsset `protobuf:"bytes,3,rep,name=logo_images,json=logoImages,proto3" json:"logo_images,omitempty"`
2151	// Square logo images to be used in the ad. Valid image types are GIF,
2152	// JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must
2153	// be 1:1 (+-1%). Combined with square_logo_images the maximum is 5.
2154	SquareLogoImages []*AdImageAsset `protobuf:"bytes,4,rep,name=square_logo_images,json=squareLogoImages,proto3" json:"square_logo_images,omitempty"`
2155	// Short format headlines for the ad. The maximum length is 30 characters.
2156	// At least 1 and max 5 headlines can be specified.
2157	Headlines []*AdTextAsset `protobuf:"bytes,5,rep,name=headlines,proto3" json:"headlines,omitempty"`
2158	// A required long format headline. The maximum length is 90 characters.
2159	LongHeadline *AdTextAsset `protobuf:"bytes,6,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
2160	// Descriptive texts for the ad. The maximum length is 90 characters. At
2161	// least 1 and max 5 headlines can be specified.
2162	Descriptions []*AdTextAsset `protobuf:"bytes,7,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
2163	// Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
2164	YoutubeVideos []*AdVideoAsset `protobuf:"bytes,8,rep,name=youtube_videos,json=youtubeVideos,proto3" json:"youtube_videos,omitempty"`
2165	// The advertiser/brand name. Maximum display width is 25.
2166	BusinessName *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
2167	// The main color of the ad in hexadecimal, e.g. #ffffff for white.
2168	// If one of main_color and accent_color is set, the other is required as
2169	// well.
2170	MainColor *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
2171	// The accent color of the ad in hexadecimal, e.g. #ffffff for white.
2172	// If one of main_color and accent_color is set, the other is required as
2173	// well.
2174	AccentColor *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
2175	// Advertiser's consent to allow flexible color. When true, the ad may be
2176	// served with different color if necessary. When false, the ad will be served
2177	// with the specified colors or a neutral color.
2178	// The default value is true.
2179	// Must be true if main_color and accent_color are not set.
2180	AllowFlexibleColor *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
2181	// The call-to-action text for the ad. Maximum display width is 30.
2182	CallToActionText *wrapperspb.StringValue `protobuf:"bytes,13,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
2183	// Prefix before price. E.g. 'as low as'.
2184	PricePrefix *wrapperspb.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
2185	// Promotion text used for dyanmic formats of responsive ads. For example
2186	// 'Free two-day shipping'.
2187	PromoText *wrapperspb.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
2188	// Specifies which format the ad will be served in. Default is ALL_FORMATS.
2189	FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,16,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v3.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
2190}
2191
2192func (x *ResponsiveDisplayAdInfo) Reset() {
2193	*x = ResponsiveDisplayAdInfo{}
2194	if protoimpl.UnsafeEnabled {
2195		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[25]
2196		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2197		ms.StoreMessageInfo(mi)
2198	}
2199}
2200
2201func (x *ResponsiveDisplayAdInfo) String() string {
2202	return protoimpl.X.MessageStringOf(x)
2203}
2204
2205func (*ResponsiveDisplayAdInfo) ProtoMessage() {}
2206
2207func (x *ResponsiveDisplayAdInfo) ProtoReflect() protoreflect.Message {
2208	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[25]
2209	if protoimpl.UnsafeEnabled && x != nil {
2210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2211		if ms.LoadMessageInfo() == nil {
2212			ms.StoreMessageInfo(mi)
2213		}
2214		return ms
2215	}
2216	return mi.MessageOf(x)
2217}
2218
2219// Deprecated: Use ResponsiveDisplayAdInfo.ProtoReflect.Descriptor instead.
2220func (*ResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
2221	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{25}
2222}
2223
2224func (x *ResponsiveDisplayAdInfo) GetMarketingImages() []*AdImageAsset {
2225	if x != nil {
2226		return x.MarketingImages
2227	}
2228	return nil
2229}
2230
2231func (x *ResponsiveDisplayAdInfo) GetSquareMarketingImages() []*AdImageAsset {
2232	if x != nil {
2233		return x.SquareMarketingImages
2234	}
2235	return nil
2236}
2237
2238func (x *ResponsiveDisplayAdInfo) GetLogoImages() []*AdImageAsset {
2239	if x != nil {
2240		return x.LogoImages
2241	}
2242	return nil
2243}
2244
2245func (x *ResponsiveDisplayAdInfo) GetSquareLogoImages() []*AdImageAsset {
2246	if x != nil {
2247		return x.SquareLogoImages
2248	}
2249	return nil
2250}
2251
2252func (x *ResponsiveDisplayAdInfo) GetHeadlines() []*AdTextAsset {
2253	if x != nil {
2254		return x.Headlines
2255	}
2256	return nil
2257}
2258
2259func (x *ResponsiveDisplayAdInfo) GetLongHeadline() *AdTextAsset {
2260	if x != nil {
2261		return x.LongHeadline
2262	}
2263	return nil
2264}
2265
2266func (x *ResponsiveDisplayAdInfo) GetDescriptions() []*AdTextAsset {
2267	if x != nil {
2268		return x.Descriptions
2269	}
2270	return nil
2271}
2272
2273func (x *ResponsiveDisplayAdInfo) GetYoutubeVideos() []*AdVideoAsset {
2274	if x != nil {
2275		return x.YoutubeVideos
2276	}
2277	return nil
2278}
2279
2280func (x *ResponsiveDisplayAdInfo) GetBusinessName() *wrapperspb.StringValue {
2281	if x != nil {
2282		return x.BusinessName
2283	}
2284	return nil
2285}
2286
2287func (x *ResponsiveDisplayAdInfo) GetMainColor() *wrapperspb.StringValue {
2288	if x != nil {
2289		return x.MainColor
2290	}
2291	return nil
2292}
2293
2294func (x *ResponsiveDisplayAdInfo) GetAccentColor() *wrapperspb.StringValue {
2295	if x != nil {
2296		return x.AccentColor
2297	}
2298	return nil
2299}
2300
2301func (x *ResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrapperspb.BoolValue {
2302	if x != nil {
2303		return x.AllowFlexibleColor
2304	}
2305	return nil
2306}
2307
2308func (x *ResponsiveDisplayAdInfo) GetCallToActionText() *wrapperspb.StringValue {
2309	if x != nil {
2310		return x.CallToActionText
2311	}
2312	return nil
2313}
2314
2315func (x *ResponsiveDisplayAdInfo) GetPricePrefix() *wrapperspb.StringValue {
2316	if x != nil {
2317		return x.PricePrefix
2318	}
2319	return nil
2320}
2321
2322func (x *ResponsiveDisplayAdInfo) GetPromoText() *wrapperspb.StringValue {
2323	if x != nil {
2324		return x.PromoText
2325	}
2326	return nil
2327}
2328
2329func (x *ResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
2330	if x != nil {
2331		return x.FormatSetting
2332	}
2333	return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
2334}
2335
2336// A generic type of display ad. The exact ad format is controlled by the
2337// display_upload_product_type field, which determines what kinds of data
2338// need to be included with the ad.
2339type DisplayUploadAdInfo struct {
2340	state         protoimpl.MessageState
2341	sizeCache     protoimpl.SizeCache
2342	unknownFields protoimpl.UnknownFields
2343
2344	// The product type of this ad. See comments on the enum for details.
2345	DisplayUploadProductType enums.DisplayUploadProductTypeEnum_DisplayUploadProductType `protobuf:"varint,1,opt,name=display_upload_product_type,json=displayUploadProductType,proto3,enum=google.ads.googleads.v3.enums.DisplayUploadProductTypeEnum_DisplayUploadProductType" json:"display_upload_product_type,omitempty"`
2346	// The asset data that makes up the ad.
2347	//
2348	// Types that are assignable to MediaAsset:
2349	//	*DisplayUploadAdInfo_MediaBundle
2350	MediaAsset isDisplayUploadAdInfo_MediaAsset `protobuf_oneof:"media_asset"`
2351}
2352
2353func (x *DisplayUploadAdInfo) Reset() {
2354	*x = DisplayUploadAdInfo{}
2355	if protoimpl.UnsafeEnabled {
2356		mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[26]
2357		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2358		ms.StoreMessageInfo(mi)
2359	}
2360}
2361
2362func (x *DisplayUploadAdInfo) String() string {
2363	return protoimpl.X.MessageStringOf(x)
2364}
2365
2366func (*DisplayUploadAdInfo) ProtoMessage() {}
2367
2368func (x *DisplayUploadAdInfo) ProtoReflect() protoreflect.Message {
2369	mi := &file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[26]
2370	if protoimpl.UnsafeEnabled && x != nil {
2371		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2372		if ms.LoadMessageInfo() == nil {
2373			ms.StoreMessageInfo(mi)
2374		}
2375		return ms
2376	}
2377	return mi.MessageOf(x)
2378}
2379
2380// Deprecated: Use DisplayUploadAdInfo.ProtoReflect.Descriptor instead.
2381func (*DisplayUploadAdInfo) Descriptor() ([]byte, []int) {
2382	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP(), []int{26}
2383}
2384
2385func (x *DisplayUploadAdInfo) GetDisplayUploadProductType() enums.DisplayUploadProductTypeEnum_DisplayUploadProductType {
2386	if x != nil {
2387		return x.DisplayUploadProductType
2388	}
2389	return enums.DisplayUploadProductTypeEnum_UNSPECIFIED
2390}
2391
2392func (m *DisplayUploadAdInfo) GetMediaAsset() isDisplayUploadAdInfo_MediaAsset {
2393	if m != nil {
2394		return m.MediaAsset
2395	}
2396	return nil
2397}
2398
2399func (x *DisplayUploadAdInfo) GetMediaBundle() *AdMediaBundleAsset {
2400	if x, ok := x.GetMediaAsset().(*DisplayUploadAdInfo_MediaBundle); ok {
2401		return x.MediaBundle
2402	}
2403	return nil
2404}
2405
2406type isDisplayUploadAdInfo_MediaAsset interface {
2407	isDisplayUploadAdInfo_MediaAsset()
2408}
2409
2410type DisplayUploadAdInfo_MediaBundle struct {
2411	// A media bundle asset to be used in the ad. For information about the
2412	// media bundle for HTML5_UPLOAD_AD see
2413	// https://support.google.com/google-ads/answer/1722096
2414	// Media bundles that are part of dynamic product types use a special format
2415	// that needs to be created through the Google Web Designer. See
2416	// https://support.google.com/webdesigner/answer/7543898 for more
2417	// information.
2418	MediaBundle *AdMediaBundleAsset `protobuf:"bytes,2,opt,name=media_bundle,json=mediaBundle,proto3,oneof"`
2419}
2420
2421func (*DisplayUploadAdInfo_MediaBundle) isDisplayUploadAdInfo_MediaAsset() {}
2422
2423var File_google_ads_googleads_v3_common_ad_type_infos_proto protoreflect.FileDescriptor
2424
2425var file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDesc = []byte{
2426	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
2427	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2428	0x2f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x2e, 0x70,
2429	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
2430	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f,
2431	0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73,
2432	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f,
2433	0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72,
2434	0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f,
2435	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75,
2436	0x6d, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69,
2437	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61,
2438	0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2439	0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76,
2440	0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
2441	0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
2442	0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2443	0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33,
2444	0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75,
2445	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79,
2446	0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2447	0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76,
2448	0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x61,
2449	0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x64, 0x5f, 0x61, 0x70,
2450	0x70, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67,
2451	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2452	0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x6d, 0x69, 0x6d,
2453	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
2454	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72,
2455	0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f,
2456	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
2457	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x01, 0x0a, 0x0a, 0x54,
2458	0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x65, 0x61,
2459	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2460	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2461	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c,
2462	0x69, 0x6e, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2463	0x6f, 0x6e, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2464	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
2465	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2466	0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2467	0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2468	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2469	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2470	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0xcd, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x61,
2471	0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43,
2472	0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x31,
2473	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2474	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
2475	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61,
2476	0x72, 0x74, 0x31, 0x12, 0x43, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
2477	0x70, 0x61, 0x72, 0x74, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2478	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2479	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x6c,
2480	0x69, 0x6e, 0x65, 0x50, 0x61, 0x72, 0x74, 0x32, 0x12, 0x43, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64,
2481	0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
2482	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2483	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d,
2484	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x72, 0x74, 0x33, 0x12, 0x3e, 0x0a,
2485	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2486	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2487	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2488	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a,
2489	0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x07, 0x20,
2490	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2491	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2492	0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x12,
2493	0x32, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2494	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2495	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x70, 0x61,
2496	0x74, 0x68, 0x31, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x05, 0x20, 0x01,
2497	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2498	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2499	0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x22, 0xad, 0x07, 0x0a, 0x0e, 0x43, 0x61, 0x6c, 0x6c,
2500	0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f,
2501	0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
2502	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2503	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
2504	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x70,
2505	0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
2506	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2507	0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
2508	0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d,
2509	0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
2510	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2511	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2512	0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12,
2513	0x3a, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x18, 0x0b, 0x20, 0x01,
2514	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2515	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2516	0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x31, 0x12, 0x3a, 0x0a, 0x09, 0x68,
2517	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2518	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2519	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x68, 0x65,
2520	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x32, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2521	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2522	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2523	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73,
2524	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73,
2525	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
2526	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2527	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64,
2528	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x12, 0x3d, 0x0a, 0x0c, 0x63,
2529	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
2530	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2531	0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63,
2532	0x61, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x17, 0x64, 0x69,
2533	0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65,
2534	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2535	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
2536	0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
2537	0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5f,
2538	0x0a, 0x1d, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76,
2539	0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18,
2540	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2541	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
2542	0x6c, 0x75, 0x65, 0x52, 0x1a, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
2543	0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12,
2544	0x49, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63,
2545	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
2546	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
2547	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
2548	0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x1a, 0x63,
2549	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
2550	0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32,
2551	0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2552	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e,
2553	0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
2554	0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d,
2555	0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
2556	0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x18, 0x63,
2557	0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69,
2558	0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x61,
2559	0x6e, 0x64, 0x65, 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x65, 0x61, 0x72, 0x63,
2560	0x68, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
2561	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2562	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2563	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
2564	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2565	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2566	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2567	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73,
2568	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x0d, 0x0a, 0x0b, 0x48, 0x6f, 0x74,
2569	0x65, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x70,
2570	0x70, 0x69, 0x6e, 0x67, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22,
2571	0x17, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x64, 0x75,
2572	0x63, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5b, 0x0a, 0x1f, 0x53, 0x68, 0x6f, 0x70,
2573	0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4c, 0x69,
2574	0x73, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x08, 0x68,
2575	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2576	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2577	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61,
2578	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xc3, 0x05, 0x0a, 0x0b, 0x47, 0x6d, 0x61, 0x69, 0x6c, 0x41,
2579	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x73, 0x65, 0x72, 0x18,
2580	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
2581	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e,
2582	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x61, 0x73,
2583	0x65, 0x72, 0x52, 0x06, 0x74, 0x65, 0x61, 0x73, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x68, 0x65,
2584	0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
2585	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2586	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
2587	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6d,
2588	0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03,
2589	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2590	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2591	0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61,
2592	0x67, 0x65, 0x12, 0x56, 0x0a, 0x18, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f,
2593	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04,
2594	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2595	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2596	0x75, 0x65, 0x52, 0x16, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61,
2597	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x5c, 0x0a, 0x1b, 0x6d, 0x61,
2598	0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65,
2599	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
2600	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2601	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x6d,
2602	0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73,
2603	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x26, 0x6d, 0x61, 0x72,
2604	0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x73,
2605	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74,
2606	0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2607	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2608	0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c,
2609	0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x21,
2610	0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x69,
2611	0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f,
2612	0x6e, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61,
2613	0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2614	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2615	0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
2616	0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
2617	0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
2618	0x74, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
2619	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2620	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2621	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0d, 0x70, 0x72,
2622	0x6f, 0x64, 0x75, 0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0b,
2623	0x47, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x61, 0x73, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x08, 0x68,
2624	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2625	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2626	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61,
2627	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2628	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
2629	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
2630	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2631	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73,
2632	0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2633	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2634	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69,
2635	0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f,
2636	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2637	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2638	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f,
2639	0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
2640	0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a,
2641	0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2642	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2643	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12,
2644	0x3b, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20,
2645	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2646	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2647	0x65, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x48, 0x0a, 0x11,
2648	0x75, 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
2649	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2650	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2651	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
2652	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75,
2653	0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75,
2654	0x63, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2655	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2656	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x72,
2657	0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65,
2658	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2659	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2660	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64,
2661	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x16, 0x64, 0x69,
2662	0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63,
2663	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
2664	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
2665	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x70,
2666	0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
2667	0x13, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63,
2668	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x56,
2669	0x69, 0x64, 0x65, 0x6f, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
2670	0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2671	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2672	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75,
2673	0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x22, 0x82, 0x06, 0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67,
2674	0x65, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c,
2675	0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
2676	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
2677	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c,
2678	0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68,
2679	0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
2680	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
2681	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x48,
2682	0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75,
2683	0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2684	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
2685	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c,
2686	0x12, 0x4b, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65,
2687	0x6c, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
2688	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2689	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76,
2690	0x69, 0x65, 0x77, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x4d, 0x0a,
2691	0x14, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x68,
2692	0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
2693	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
2694	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
2695	0x77, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x48, 0x0a, 0x11,
2696	0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72,
2697	0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2698	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2699	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6d,
2700	0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x51, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74,
2701	0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2702	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2703	0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79,
2704	0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
2705	0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
2706	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2707	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2708	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x6d,
2709	0x65, 0x64, 0x69, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2710	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2711	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52,
2712	0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61,
2713	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2714	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73,
2715	0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a,
2716	0x18, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x69,
2717	0x6d, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2718	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2719	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x13,
2720	0x61, 0x64, 0x49, 0x64, 0x54, 0x6f, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46,
2721	0x72, 0x6f, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x64, 0x0a, 0x19,
2722	0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x75, 0x6d, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x53, 0x74, 0x72,
2723	0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x6f, 0x6d,
2724	0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20,
2725	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2726	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2727	0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e,
2728	0x65, 0x72, 0x22, 0x6a, 0x0a, 0x1f, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4e, 0x6f, 0x6e, 0x53, 0x6b,
2729	0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41,
2730	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69,
2731	0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2732	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2733	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63,
2734	0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0xfb,
2735	0x01, 0x0a, 0x1b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77,
2736	0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c,
2737	0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f,
2738	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
2739	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
2740	0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f,
2741	0x6e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x45, 0x0a, 0x0f,
2742	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18,
2743	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2744	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
2745	0x6c, 0x75, 0x65, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x6c,
2746	0x69, 0x6e, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e,
2747	0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2748	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2749	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
2750	0x70, 0x61, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x90, 0x01, 0x0a,
2751	0x14, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41,
2752	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
2753	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2754	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
2755	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12,
2756	0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
2757	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2758	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
2759	0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
2760	0xdc, 0x01, 0x0a, 0x1c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65,
2761	0x77, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f,
2762	0x12, 0x38, 0x0a, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01,
2763	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2764	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2765	0x52, 0x08, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65,
2766	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
2767	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2768	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c,
2769	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c,
2770	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x03, 0x20, 0x01,
2771	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2772	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2773	0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0xa2,
2774	0x04, 0x0a, 0x0b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b,
2775	0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
2776	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2777	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2778	0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x69,
2779	0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
2780	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2781	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2782	0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x53,
2783	0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x69,
2784	0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x53, 0x0a, 0x06, 0x62, 0x75, 0x6d, 0x70, 0x65,
2785	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2786	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
2787	0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x75,
2788	0x6d, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e,
2789	0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x62, 0x75, 0x6d, 0x70, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a,
2790	0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
2791	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
2792	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
2793	0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
2794	0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72,
2795	0x65, 0x61, 0x6d, 0x12, 0x66, 0x0a, 0x0d, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70,
2796	0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f,
2797	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
2798	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x69, 0x64, 0x65,
2799	0x6f, 0x4e, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x53,
2800	0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x6e,
2801	0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5c, 0x0a, 0x09, 0x64,
2802	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c,
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, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2805	0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x69, 0x73,
2806	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09,
2807	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72,
2808	0x6d, 0x61, 0x74, 0x22, 0x9c, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69,
2809	0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49,
2810	0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2811	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2812	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
2813	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09,
2814	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73,
2815	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
2816	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
2817	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2818	0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65,
2819	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x61,
2820	0x74, 0x68, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2821	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
2822	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x31, 0x12, 0x32,
2823	0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
2824	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2825	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x70, 0x61, 0x74,
2826	0x68, 0x32, 0x22, 0xdc, 0x08, 0x0a, 0x1d, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73,
2827	0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64,
2828	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x68, 0x65,
2829	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2830	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2831	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x72,
2832	0x74, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e,
2833	0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
2834	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2835	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c,
2836	0x6c, 0x6f, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3e, 0x0a, 0x0b,
2837	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
2838	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2839	0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
2840	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0d,
2841	0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
2842	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2843	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2844	0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12,
2845	0x4c, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c,
2846	0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2847	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2848	0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
2849	0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x3f, 0x0a,
2850	0x0c, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20,
2851	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2852	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
2853	0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x3b,
2854	0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01,
2855	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2856	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
2857	0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x63,
2858	0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65,
2859	0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2860	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
2861	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63,
2862	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f,
2863	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2864	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2865	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f,
2866	0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f,
2867	0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
2868	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2869	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f,
2870	0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12,
2871	0x45, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61,
2872	0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2873	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
2874	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e,
2875	0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x16, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65,
2876	0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65,
2877	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2878	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
2879	0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x4d, 0x61, 0x72, 0x6b,
2880	0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x66, 0x6f,
2881	0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01,
2882	0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
2883	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75,
2884	0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d,
2885	0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44, 0x69,
2886	0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74,
2887	0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74,
2888	0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65,
2889	0x66, 0x69, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2890	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
2891	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x72,
2892	0x65, 0x66, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74, 0x65,
2893	0x78, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2894	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
2895	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x54, 0x65, 0x78,
2896	0x74, 0x22, 0xff, 0x03, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
2897	0x57, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x5f,
2898	0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
2899	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
2900	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65,
2901	0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f,
2902	0x72, 0x79, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x64,
2903	0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
2904	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2905	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54,
2906	0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69,
2907	0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
2908	0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2909	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
2910	0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78,
2911	0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
2912	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04,
2913	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
2914	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
2915	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73,
2916	0x65, 0x74, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0e, 0x79, 0x6f,
2917	0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03,
2918	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
2919	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d,
2920	0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74,
2921	0x52, 0x0d, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12,
2922	0x62, 0x0a, 0x13, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x62,
2923	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67,
2924	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2925	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64,
2926	0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74,
2927	0x52, 0x11, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64,
2928	0x6c, 0x65, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x61, 0x67,
2929	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x09, 0x68,
2930	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
2931	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2932	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2933	0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09, 0x68, 0x65, 0x61,
2934	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2935	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
2936	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2937	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64,
2938	0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72,
2939	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65,
2940	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2941	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
2942	0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65,
2943	0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x44, 0x0a,
2944	0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
2945	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2946	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41,
2947	0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x76, 0x69, 0x64,
2948	0x65, 0x6f, 0x73, 0x22, 0x82, 0x03, 0x0a, 0x16, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70,
2949	0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33,
2950	0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
2951	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2952	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x61, 0x70,
2953	0x70, 0x49, 0x64, 0x12, 0x75, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65,
2954	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2955	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33,
2956	0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70,
2957	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x41, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72,
2958	0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x70, 0x70, 0x49,
2959	0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x41, 0x64, 0x41, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65,
2960	0x52, 0x08, 0x61, 0x70, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x68, 0x65,
2961	0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2962	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2963	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x68, 0x65, 0x61, 0x64,
2964	0x6c, 0x69, 0x6e, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
2965	0x69, 0x6f, 0x6e, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
2966	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
2967	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2968	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
2969	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
2970	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
2971	0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63,
2972	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x99, 0x0a, 0x0a, 0x17, 0x52, 0x65, 0x73,
2973	0x70, 0x6f, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64,
2974	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e,
2975	0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
2976	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2977	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2978	0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0f, 0x6d, 0x61,
2979	0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x64, 0x0a,
2980	0x17, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e,
2981	0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
2982	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2983	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2984	0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x15, 0x73, 0x71,
2985	0x75, 0x61, 0x72, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61,
2986	0x67, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67,
2987	0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2988	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
2989	0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x49, 0x6d, 0x61, 0x67,
2990	0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67,
2991	0x65, 0x73, 0x12, 0x5a, 0x0a, 0x12, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x67,
2992	0x6f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
2993	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2994	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
2995	0x41, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x10, 0x73, 0x71,
2996	0x75, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x67, 0x6f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x49,
2997	0x0a, 0x09, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
2998	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
2999	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
3000	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x09,
3001	0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f, 0x6e,
3002	0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
3003	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
3004	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
3005	0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c, 0x6c,
3006	0x6f, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x64,
3007	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
3008	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
3009	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
3010	0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x54, 0x65, 0x78, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x0c,
3011	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0e,
3012	0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x08,
3013	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
3014	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
3015	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x73, 0x73,
3016	0x65, 0x74, 0x52, 0x0d, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f,
3017	0x73, 0x12, 0x41, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61,
3018	0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3019	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
3020	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73,
3021	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6c,
3022	0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3023	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
3024	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6c, 0x6f,
3025	0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
3026	0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3027	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
3028	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c,
3029	0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x6c, 0x65, 0x78,
3030	0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
3031	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
3032	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x61, 0x6c,
3033	0x6c, 0x6f, 0x77, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3034	0x12, 0x4b, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69,
3035	0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
3036	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3037	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x61, 0x6c,
3038	0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x3f, 0x0a,
3039	0x0c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0e, 0x20,
3040	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3041	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
3042	0x65, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3b,
3043	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0f, 0x20, 0x01,
3044	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3045	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
3046	0x52, 0x09, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x77, 0x0a, 0x0e, 0x66,
3047	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x10, 0x20,
3048	0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
3049	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e,
3050	0x75, 0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72,
3051	0x6d, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x44,
3052	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65,
3053	0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x65, 0x74,
3054	0x74, 0x69, 0x6e, 0x67, 0x22, 0x93, 0x02, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
3055	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x93, 0x01, 0x0a,
3056	0x1b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
3057	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
3058	0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
3059	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75,
3060	0x6d, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
3061	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e,
3062	0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f,
3063	0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x18, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
3064	0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79,
3065	0x70, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64,
3066	0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3067	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
3068	0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x4d, 0x65, 0x64, 0x69,
3069	0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b,
3070	0x6d, 0x65, 0x64, 0x69, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x6d,
3071	0x65, 0x64, 0x69, 0x61, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x42, 0xeb, 0x01, 0x0a, 0x22, 0x63,
3072	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
3073	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
3074	0x6e, 0x42, 0x10, 0x41, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x50, 0x72,
3075	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f,
3076	0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74,
3077	0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73,
3078	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f,
3079	0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xa2, 0x02, 0x03, 0x47, 0x41,
3080	0x41, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47,
3081	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
3082	0x6f, 0x6e, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c,
3083	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x43, 0x6f, 0x6d,
3084	0x6d, 0x6f, 0x6e, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64,
3085	0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x33,
3086	0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3087}
3088
3089var (
3090	file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescOnce sync.Once
3091	file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescData = file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDesc
3092)
3093
3094func file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescGZIP() []byte {
3095	file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescOnce.Do(func() {
3096		file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescData)
3097	})
3098	return file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDescData
3099}
3100
3101var file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
3102var file_google_ads_googleads_v3_common_ad_type_infos_proto_goTypes = []interface{}{
3103	(*TextAdInfo)(nil),                      // 0: google.ads.googleads.v3.common.TextAdInfo
3104	(*ExpandedTextAdInfo)(nil),              // 1: google.ads.googleads.v3.common.ExpandedTextAdInfo
3105	(*CallOnlyAdInfo)(nil),                  // 2: google.ads.googleads.v3.common.CallOnlyAdInfo
3106	(*ExpandedDynamicSearchAdInfo)(nil),     // 3: google.ads.googleads.v3.common.ExpandedDynamicSearchAdInfo
3107	(*HotelAdInfo)(nil),                     // 4: google.ads.googleads.v3.common.HotelAdInfo
3108	(*ShoppingSmartAdInfo)(nil),             // 5: google.ads.googleads.v3.common.ShoppingSmartAdInfo
3109	(*ShoppingProductAdInfo)(nil),           // 6: google.ads.googleads.v3.common.ShoppingProductAdInfo
3110	(*ShoppingComparisonListingAdInfo)(nil), // 7: google.ads.googleads.v3.common.ShoppingComparisonListingAdInfo
3111	(*GmailAdInfo)(nil),                     // 8: google.ads.googleads.v3.common.GmailAdInfo
3112	(*GmailTeaser)(nil),                     // 9: google.ads.googleads.v3.common.GmailTeaser
3113	(*DisplayCallToAction)(nil),             // 10: google.ads.googleads.v3.common.DisplayCallToAction
3114	(*ProductImage)(nil),                    // 11: google.ads.googleads.v3.common.ProductImage
3115	(*ProductVideo)(nil),                    // 12: google.ads.googleads.v3.common.ProductVideo
3116	(*ImageAdInfo)(nil),                     // 13: google.ads.googleads.v3.common.ImageAdInfo
3117	(*VideoBumperInStreamAdInfo)(nil),       // 14: google.ads.googleads.v3.common.VideoBumperInStreamAdInfo
3118	(*VideoNonSkippableInStreamAdInfo)(nil), // 15: google.ads.googleads.v3.common.VideoNonSkippableInStreamAdInfo
3119	(*VideoTrueViewInStreamAdInfo)(nil),     // 16: google.ads.googleads.v3.common.VideoTrueViewInStreamAdInfo
3120	(*VideoOutstreamAdInfo)(nil),            // 17: google.ads.googleads.v3.common.VideoOutstreamAdInfo
3121	(*VideoTrueViewDiscoveryAdInfo)(nil),    // 18: google.ads.googleads.v3.common.VideoTrueViewDiscoveryAdInfo
3122	(*VideoAdInfo)(nil),                     // 19: google.ads.googleads.v3.common.VideoAdInfo
3123	(*ResponsiveSearchAdInfo)(nil),          // 20: google.ads.googleads.v3.common.ResponsiveSearchAdInfo
3124	(*LegacyResponsiveDisplayAdInfo)(nil),   // 21: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo
3125	(*AppAdInfo)(nil),                       // 22: google.ads.googleads.v3.common.AppAdInfo
3126	(*AppEngagementAdInfo)(nil),             // 23: google.ads.googleads.v3.common.AppEngagementAdInfo
3127	(*LegacyAppInstallAdInfo)(nil),          // 24: google.ads.googleads.v3.common.LegacyAppInstallAdInfo
3128	(*ResponsiveDisplayAdInfo)(nil),         // 25: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo
3129	(*DisplayUploadAdInfo)(nil),             // 26: google.ads.googleads.v3.common.DisplayUploadAdInfo
3130	(*wrapperspb.StringValue)(nil),          // 27: google.protobuf.StringValue
3131	(*wrapperspb.BoolValue)(nil),            // 28: google.protobuf.BoolValue
3132	(enums.CallConversionReportingStateEnum_CallConversionReportingState)(0), // 29: google.ads.googleads.v3.enums.CallConversionReportingStateEnum.CallConversionReportingState
3133	(*wrapperspb.Int64Value)(nil),                                            // 30: google.protobuf.Int64Value
3134	(enums.MimeTypeEnum_MimeType)(0),                                         // 31: google.ads.googleads.v3.enums.MimeTypeEnum.MimeType
3135	(*wrapperspb.BytesValue)(nil),                                            // 32: google.protobuf.BytesValue
3136	(*AdTextAsset)(nil),                                                      // 33: google.ads.googleads.v3.common.AdTextAsset
3137	(enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting)(0),             // 34: google.ads.googleads.v3.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3138	(*AdImageAsset)(nil),                                                     // 35: google.ads.googleads.v3.common.AdImageAsset
3139	(*AdVideoAsset)(nil),                                                     // 36: google.ads.googleads.v3.common.AdVideoAsset
3140	(*AdMediaBundleAsset)(nil),                                               // 37: google.ads.googleads.v3.common.AdMediaBundleAsset
3141	(enums.LegacyAppInstallAdAppStoreEnum_LegacyAppInstallAdAppStore)(0),     // 38: google.ads.googleads.v3.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
3142	(enums.DisplayUploadProductTypeEnum_DisplayUploadProductType)(0),         // 39: google.ads.googleads.v3.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
3143}
3144var file_google_ads_googleads_v3_common_ad_type_infos_proto_depIdxs = []int32{
3145	27,  // 0: google.ads.googleads.v3.common.TextAdInfo.headline:type_name -> google.protobuf.StringValue
3146	27,  // 1: google.ads.googleads.v3.common.TextAdInfo.description1:type_name -> google.protobuf.StringValue
3147	27,  // 2: google.ads.googleads.v3.common.TextAdInfo.description2:type_name -> google.protobuf.StringValue
3148	27,  // 3: google.ads.googleads.v3.common.ExpandedTextAdInfo.headline_part1:type_name -> google.protobuf.StringValue
3149	27,  // 4: google.ads.googleads.v3.common.ExpandedTextAdInfo.headline_part2:type_name -> google.protobuf.StringValue
3150	27,  // 5: google.ads.googleads.v3.common.ExpandedTextAdInfo.headline_part3:type_name -> google.protobuf.StringValue
3151	27,  // 6: google.ads.googleads.v3.common.ExpandedTextAdInfo.description:type_name -> google.protobuf.StringValue
3152	27,  // 7: google.ads.googleads.v3.common.ExpandedTextAdInfo.description2:type_name -> google.protobuf.StringValue
3153	27,  // 8: google.ads.googleads.v3.common.ExpandedTextAdInfo.path1:type_name -> google.protobuf.StringValue
3154	27,  // 9: google.ads.googleads.v3.common.ExpandedTextAdInfo.path2:type_name -> google.protobuf.StringValue
3155	27,  // 10: google.ads.googleads.v3.common.CallOnlyAdInfo.country_code:type_name -> google.protobuf.StringValue
3156	27,  // 11: google.ads.googleads.v3.common.CallOnlyAdInfo.phone_number:type_name -> google.protobuf.StringValue
3157	27,  // 12: google.ads.googleads.v3.common.CallOnlyAdInfo.business_name:type_name -> google.protobuf.StringValue
3158	27,  // 13: google.ads.googleads.v3.common.CallOnlyAdInfo.headline1:type_name -> google.protobuf.StringValue
3159	27,  // 14: google.ads.googleads.v3.common.CallOnlyAdInfo.headline2:type_name -> google.protobuf.StringValue
3160	27,  // 15: google.ads.googleads.v3.common.CallOnlyAdInfo.description1:type_name -> google.protobuf.StringValue
3161	27,  // 16: google.ads.googleads.v3.common.CallOnlyAdInfo.description2:type_name -> google.protobuf.StringValue
3162	28,  // 17: google.ads.googleads.v3.common.CallOnlyAdInfo.call_tracked:type_name -> google.protobuf.BoolValue
3163	28,  // 18: google.ads.googleads.v3.common.CallOnlyAdInfo.disable_call_conversion:type_name -> google.protobuf.BoolValue
3164	27,  // 19: google.ads.googleads.v3.common.CallOnlyAdInfo.phone_number_verification_url:type_name -> google.protobuf.StringValue
3165	27,  // 20: google.ads.googleads.v3.common.CallOnlyAdInfo.conversion_action:type_name -> google.protobuf.StringValue
3166	29,  // 21: google.ads.googleads.v3.common.CallOnlyAdInfo.conversion_reporting_state:type_name -> google.ads.googleads.v3.enums.CallConversionReportingStateEnum.CallConversionReportingState
3167	27,  // 22: google.ads.googleads.v3.common.ExpandedDynamicSearchAdInfo.description:type_name -> google.protobuf.StringValue
3168	27,  // 23: google.ads.googleads.v3.common.ExpandedDynamicSearchAdInfo.description2:type_name -> google.protobuf.StringValue
3169	27,  // 24: google.ads.googleads.v3.common.ShoppingComparisonListingAdInfo.headline:type_name -> google.protobuf.StringValue
3170	9,   // 25: google.ads.googleads.v3.common.GmailAdInfo.teaser:type_name -> google.ads.googleads.v3.common.GmailTeaser
3171	27,  // 26: google.ads.googleads.v3.common.GmailAdInfo.header_image:type_name -> google.protobuf.StringValue
3172	27,  // 27: google.ads.googleads.v3.common.GmailAdInfo.marketing_image:type_name -> google.protobuf.StringValue
3173	27,  // 28: google.ads.googleads.v3.common.GmailAdInfo.marketing_image_headline:type_name -> google.protobuf.StringValue
3174	27,  // 29: google.ads.googleads.v3.common.GmailAdInfo.marketing_image_description:type_name -> google.protobuf.StringValue
3175	10,  // 30: google.ads.googleads.v3.common.GmailAdInfo.marketing_image_display_call_to_action:type_name -> google.ads.googleads.v3.common.DisplayCallToAction
3176	11,  // 31: google.ads.googleads.v3.common.GmailAdInfo.product_images:type_name -> google.ads.googleads.v3.common.ProductImage
3177	12,  // 32: google.ads.googleads.v3.common.GmailAdInfo.product_videos:type_name -> google.ads.googleads.v3.common.ProductVideo
3178	27,  // 33: google.ads.googleads.v3.common.GmailTeaser.headline:type_name -> google.protobuf.StringValue
3179	27,  // 34: google.ads.googleads.v3.common.GmailTeaser.description:type_name -> google.protobuf.StringValue
3180	27,  // 35: google.ads.googleads.v3.common.GmailTeaser.business_name:type_name -> google.protobuf.StringValue
3181	27,  // 36: google.ads.googleads.v3.common.GmailTeaser.logo_image:type_name -> google.protobuf.StringValue
3182	27,  // 37: google.ads.googleads.v3.common.DisplayCallToAction.text:type_name -> google.protobuf.StringValue
3183	27,  // 38: google.ads.googleads.v3.common.DisplayCallToAction.text_color:type_name -> google.protobuf.StringValue
3184	27,  // 39: google.ads.googleads.v3.common.DisplayCallToAction.url_collection_id:type_name -> google.protobuf.StringValue
3185	27,  // 40: google.ads.googleads.v3.common.ProductImage.product_image:type_name -> google.protobuf.StringValue
3186	27,  // 41: google.ads.googleads.v3.common.ProductImage.description:type_name -> google.protobuf.StringValue
3187	10,  // 42: google.ads.googleads.v3.common.ProductImage.display_call_to_action:type_name -> google.ads.googleads.v3.common.DisplayCallToAction
3188	27,  // 43: google.ads.googleads.v3.common.ProductVideo.product_video:type_name -> google.protobuf.StringValue
3189	30,  // 44: google.ads.googleads.v3.common.ImageAdInfo.pixel_width:type_name -> google.protobuf.Int64Value
3190	30,  // 45: google.ads.googleads.v3.common.ImageAdInfo.pixel_height:type_name -> google.protobuf.Int64Value
3191	27,  // 46: google.ads.googleads.v3.common.ImageAdInfo.image_url:type_name -> google.protobuf.StringValue
3192	30,  // 47: google.ads.googleads.v3.common.ImageAdInfo.preview_pixel_width:type_name -> google.protobuf.Int64Value
3193	30,  // 48: google.ads.googleads.v3.common.ImageAdInfo.preview_pixel_height:type_name -> google.protobuf.Int64Value
3194	27,  // 49: google.ads.googleads.v3.common.ImageAdInfo.preview_image_url:type_name -> google.protobuf.StringValue
3195	31,  // 50: google.ads.googleads.v3.common.ImageAdInfo.mime_type:type_name -> google.ads.googleads.v3.enums.MimeTypeEnum.MimeType
3196	27,  // 51: google.ads.googleads.v3.common.ImageAdInfo.name:type_name -> google.protobuf.StringValue
3197	27,  // 52: google.ads.googleads.v3.common.ImageAdInfo.media_file:type_name -> google.protobuf.StringValue
3198	32,  // 53: google.ads.googleads.v3.common.ImageAdInfo.data:type_name -> google.protobuf.BytesValue
3199	30,  // 54: google.ads.googleads.v3.common.ImageAdInfo.ad_id_to_copy_image_from:type_name -> google.protobuf.Int64Value
3200	27,  // 55: google.ads.googleads.v3.common.VideoBumperInStreamAdInfo.companion_banner:type_name -> google.protobuf.StringValue
3201	27,  // 56: google.ads.googleads.v3.common.VideoNonSkippableInStreamAdInfo.companion_banner:type_name -> google.protobuf.StringValue
3202	27,  // 57: google.ads.googleads.v3.common.VideoTrueViewInStreamAdInfo.action_button_label:type_name -> google.protobuf.StringValue
3203	27,  // 58: google.ads.googleads.v3.common.VideoTrueViewInStreamAdInfo.action_headline:type_name -> google.protobuf.StringValue
3204	27,  // 59: google.ads.googleads.v3.common.VideoTrueViewInStreamAdInfo.companion_banner:type_name -> google.protobuf.StringValue
3205	27,  // 60: google.ads.googleads.v3.common.VideoOutstreamAdInfo.headline:type_name -> google.protobuf.StringValue
3206	27,  // 61: google.ads.googleads.v3.common.VideoOutstreamAdInfo.description:type_name -> google.protobuf.StringValue
3207	27,  // 62: google.ads.googleads.v3.common.VideoTrueViewDiscoveryAdInfo.headline:type_name -> google.protobuf.StringValue
3208	27,  // 63: google.ads.googleads.v3.common.VideoTrueViewDiscoveryAdInfo.description1:type_name -> google.protobuf.StringValue
3209	27,  // 64: google.ads.googleads.v3.common.VideoTrueViewDiscoveryAdInfo.description2:type_name -> google.protobuf.StringValue
3210	27,  // 65: google.ads.googleads.v3.common.VideoAdInfo.media_file:type_name -> google.protobuf.StringValue
3211	16,  // 66: google.ads.googleads.v3.common.VideoAdInfo.in_stream:type_name -> google.ads.googleads.v3.common.VideoTrueViewInStreamAdInfo
3212	14,  // 67: google.ads.googleads.v3.common.VideoAdInfo.bumper:type_name -> google.ads.googleads.v3.common.VideoBumperInStreamAdInfo
3213	17,  // 68: google.ads.googleads.v3.common.VideoAdInfo.out_stream:type_name -> google.ads.googleads.v3.common.VideoOutstreamAdInfo
3214	15,  // 69: google.ads.googleads.v3.common.VideoAdInfo.non_skippable:type_name -> google.ads.googleads.v3.common.VideoNonSkippableInStreamAdInfo
3215	18,  // 70: google.ads.googleads.v3.common.VideoAdInfo.discovery:type_name -> google.ads.googleads.v3.common.VideoTrueViewDiscoveryAdInfo
3216	33,  // 71: google.ads.googleads.v3.common.ResponsiveSearchAdInfo.headlines:type_name -> google.ads.googleads.v3.common.AdTextAsset
3217	33,  // 72: google.ads.googleads.v3.common.ResponsiveSearchAdInfo.descriptions:type_name -> google.ads.googleads.v3.common.AdTextAsset
3218	27,  // 73: google.ads.googleads.v3.common.ResponsiveSearchAdInfo.path1:type_name -> google.protobuf.StringValue
3219	27,  // 74: google.ads.googleads.v3.common.ResponsiveSearchAdInfo.path2:type_name -> google.protobuf.StringValue
3220	27,  // 75: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.short_headline:type_name -> google.protobuf.StringValue
3221	27,  // 76: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.long_headline:type_name -> google.protobuf.StringValue
3222	27,  // 77: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.description:type_name -> google.protobuf.StringValue
3223	27,  // 78: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.business_name:type_name -> google.protobuf.StringValue
3224	28,  // 79: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.allow_flexible_color:type_name -> google.protobuf.BoolValue
3225	27,  // 80: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.accent_color:type_name -> google.protobuf.StringValue
3226	27,  // 81: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.main_color:type_name -> google.protobuf.StringValue
3227	27,  // 82: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.call_to_action_text:type_name -> google.protobuf.StringValue
3228	27,  // 83: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.logo_image:type_name -> google.protobuf.StringValue
3229	27,  // 84: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.square_logo_image:type_name -> google.protobuf.StringValue
3230	27,  // 85: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.marketing_image:type_name -> google.protobuf.StringValue
3231	27,  // 86: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.square_marketing_image:type_name -> google.protobuf.StringValue
3232	34,  // 87: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.format_setting:type_name -> google.ads.googleads.v3.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3233	27,  // 88: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.price_prefix:type_name -> google.protobuf.StringValue
3234	27,  // 89: google.ads.googleads.v3.common.LegacyResponsiveDisplayAdInfo.promo_text:type_name -> google.protobuf.StringValue
3235	33,  // 90: google.ads.googleads.v3.common.AppAdInfo.mandatory_ad_text:type_name -> google.ads.googleads.v3.common.AdTextAsset
3236	33,  // 91: google.ads.googleads.v3.common.AppAdInfo.headlines:type_name -> google.ads.googleads.v3.common.AdTextAsset
3237	33,  // 92: google.ads.googleads.v3.common.AppAdInfo.descriptions:type_name -> google.ads.googleads.v3.common.AdTextAsset
3238	35,  // 93: google.ads.googleads.v3.common.AppAdInfo.images:type_name -> google.ads.googleads.v3.common.AdImageAsset
3239	36,  // 94: google.ads.googleads.v3.common.AppAdInfo.youtube_videos:type_name -> google.ads.googleads.v3.common.AdVideoAsset
3240	37,  // 95: google.ads.googleads.v3.common.AppAdInfo.html5_media_bundles:type_name -> google.ads.googleads.v3.common.AdMediaBundleAsset
3241	33,  // 96: google.ads.googleads.v3.common.AppEngagementAdInfo.headlines:type_name -> google.ads.googleads.v3.common.AdTextAsset
3242	33,  // 97: google.ads.googleads.v3.common.AppEngagementAdInfo.descriptions:type_name -> google.ads.googleads.v3.common.AdTextAsset
3243	35,  // 98: google.ads.googleads.v3.common.AppEngagementAdInfo.images:type_name -> google.ads.googleads.v3.common.AdImageAsset
3244	36,  // 99: google.ads.googleads.v3.common.AppEngagementAdInfo.videos:type_name -> google.ads.googleads.v3.common.AdVideoAsset
3245	27,  // 100: google.ads.googleads.v3.common.LegacyAppInstallAdInfo.app_id:type_name -> google.protobuf.StringValue
3246	38,  // 101: google.ads.googleads.v3.common.LegacyAppInstallAdInfo.app_store:type_name -> google.ads.googleads.v3.enums.LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
3247	27,  // 102: google.ads.googleads.v3.common.LegacyAppInstallAdInfo.headline:type_name -> google.protobuf.StringValue
3248	27,  // 103: google.ads.googleads.v3.common.LegacyAppInstallAdInfo.description1:type_name -> google.protobuf.StringValue
3249	27,  // 104: google.ads.googleads.v3.common.LegacyAppInstallAdInfo.description2:type_name -> google.protobuf.StringValue
3250	35,  // 105: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.marketing_images:type_name -> google.ads.googleads.v3.common.AdImageAsset
3251	35,  // 106: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.square_marketing_images:type_name -> google.ads.googleads.v3.common.AdImageAsset
3252	35,  // 107: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.logo_images:type_name -> google.ads.googleads.v3.common.AdImageAsset
3253	35,  // 108: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.square_logo_images:type_name -> google.ads.googleads.v3.common.AdImageAsset
3254	33,  // 109: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.headlines:type_name -> google.ads.googleads.v3.common.AdTextAsset
3255	33,  // 110: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.long_headline:type_name -> google.ads.googleads.v3.common.AdTextAsset
3256	33,  // 111: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.descriptions:type_name -> google.ads.googleads.v3.common.AdTextAsset
3257	36,  // 112: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.youtube_videos:type_name -> google.ads.googleads.v3.common.AdVideoAsset
3258	27,  // 113: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.business_name:type_name -> google.protobuf.StringValue
3259	27,  // 114: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.main_color:type_name -> google.protobuf.StringValue
3260	27,  // 115: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.accent_color:type_name -> google.protobuf.StringValue
3261	28,  // 116: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.allow_flexible_color:type_name -> google.protobuf.BoolValue
3262	27,  // 117: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.call_to_action_text:type_name -> google.protobuf.StringValue
3263	27,  // 118: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.price_prefix:type_name -> google.protobuf.StringValue
3264	27,  // 119: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.promo_text:type_name -> google.protobuf.StringValue
3265	34,  // 120: google.ads.googleads.v3.common.ResponsiveDisplayAdInfo.format_setting:type_name -> google.ads.googleads.v3.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting
3266	39,  // 121: google.ads.googleads.v3.common.DisplayUploadAdInfo.display_upload_product_type:type_name -> google.ads.googleads.v3.enums.DisplayUploadProductTypeEnum.DisplayUploadProductType
3267	37,  // 122: google.ads.googleads.v3.common.DisplayUploadAdInfo.media_bundle:type_name -> google.ads.googleads.v3.common.AdMediaBundleAsset
3268	123, // [123:123] is the sub-list for method output_type
3269	123, // [123:123] is the sub-list for method input_type
3270	123, // [123:123] is the sub-list for extension type_name
3271	123, // [123:123] is the sub-list for extension extendee
3272	0,   // [0:123] is the sub-list for field type_name
3273}
3274
3275func init() { file_google_ads_googleads_v3_common_ad_type_infos_proto_init() }
3276func file_google_ads_googleads_v3_common_ad_type_infos_proto_init() {
3277	if File_google_ads_googleads_v3_common_ad_type_infos_proto != nil {
3278		return
3279	}
3280	file_google_ads_googleads_v3_common_ad_asset_proto_init()
3281	if !protoimpl.UnsafeEnabled {
3282		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3283			switch v := v.(*TextAdInfo); i {
3284			case 0:
3285				return &v.state
3286			case 1:
3287				return &v.sizeCache
3288			case 2:
3289				return &v.unknownFields
3290			default:
3291				return nil
3292			}
3293		}
3294		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3295			switch v := v.(*ExpandedTextAdInfo); i {
3296			case 0:
3297				return &v.state
3298			case 1:
3299				return &v.sizeCache
3300			case 2:
3301				return &v.unknownFields
3302			default:
3303				return nil
3304			}
3305		}
3306		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3307			switch v := v.(*CallOnlyAdInfo); i {
3308			case 0:
3309				return &v.state
3310			case 1:
3311				return &v.sizeCache
3312			case 2:
3313				return &v.unknownFields
3314			default:
3315				return nil
3316			}
3317		}
3318		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3319			switch v := v.(*ExpandedDynamicSearchAdInfo); i {
3320			case 0:
3321				return &v.state
3322			case 1:
3323				return &v.sizeCache
3324			case 2:
3325				return &v.unknownFields
3326			default:
3327				return nil
3328			}
3329		}
3330		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3331			switch v := v.(*HotelAdInfo); i {
3332			case 0:
3333				return &v.state
3334			case 1:
3335				return &v.sizeCache
3336			case 2:
3337				return &v.unknownFields
3338			default:
3339				return nil
3340			}
3341		}
3342		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3343			switch v := v.(*ShoppingSmartAdInfo); i {
3344			case 0:
3345				return &v.state
3346			case 1:
3347				return &v.sizeCache
3348			case 2:
3349				return &v.unknownFields
3350			default:
3351				return nil
3352			}
3353		}
3354		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3355			switch v := v.(*ShoppingProductAdInfo); i {
3356			case 0:
3357				return &v.state
3358			case 1:
3359				return &v.sizeCache
3360			case 2:
3361				return &v.unknownFields
3362			default:
3363				return nil
3364			}
3365		}
3366		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3367			switch v := v.(*ShoppingComparisonListingAdInfo); i {
3368			case 0:
3369				return &v.state
3370			case 1:
3371				return &v.sizeCache
3372			case 2:
3373				return &v.unknownFields
3374			default:
3375				return nil
3376			}
3377		}
3378		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3379			switch v := v.(*GmailAdInfo); i {
3380			case 0:
3381				return &v.state
3382			case 1:
3383				return &v.sizeCache
3384			case 2:
3385				return &v.unknownFields
3386			default:
3387				return nil
3388			}
3389		}
3390		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3391			switch v := v.(*GmailTeaser); i {
3392			case 0:
3393				return &v.state
3394			case 1:
3395				return &v.sizeCache
3396			case 2:
3397				return &v.unknownFields
3398			default:
3399				return nil
3400			}
3401		}
3402		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3403			switch v := v.(*DisplayCallToAction); i {
3404			case 0:
3405				return &v.state
3406			case 1:
3407				return &v.sizeCache
3408			case 2:
3409				return &v.unknownFields
3410			default:
3411				return nil
3412			}
3413		}
3414		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3415			switch v := v.(*ProductImage); i {
3416			case 0:
3417				return &v.state
3418			case 1:
3419				return &v.sizeCache
3420			case 2:
3421				return &v.unknownFields
3422			default:
3423				return nil
3424			}
3425		}
3426		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3427			switch v := v.(*ProductVideo); i {
3428			case 0:
3429				return &v.state
3430			case 1:
3431				return &v.sizeCache
3432			case 2:
3433				return &v.unknownFields
3434			default:
3435				return nil
3436			}
3437		}
3438		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3439			switch v := v.(*ImageAdInfo); i {
3440			case 0:
3441				return &v.state
3442			case 1:
3443				return &v.sizeCache
3444			case 2:
3445				return &v.unknownFields
3446			default:
3447				return nil
3448			}
3449		}
3450		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3451			switch v := v.(*VideoBumperInStreamAdInfo); i {
3452			case 0:
3453				return &v.state
3454			case 1:
3455				return &v.sizeCache
3456			case 2:
3457				return &v.unknownFields
3458			default:
3459				return nil
3460			}
3461		}
3462		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3463			switch v := v.(*VideoNonSkippableInStreamAdInfo); i {
3464			case 0:
3465				return &v.state
3466			case 1:
3467				return &v.sizeCache
3468			case 2:
3469				return &v.unknownFields
3470			default:
3471				return nil
3472			}
3473		}
3474		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3475			switch v := v.(*VideoTrueViewInStreamAdInfo); i {
3476			case 0:
3477				return &v.state
3478			case 1:
3479				return &v.sizeCache
3480			case 2:
3481				return &v.unknownFields
3482			default:
3483				return nil
3484			}
3485		}
3486		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3487			switch v := v.(*VideoOutstreamAdInfo); i {
3488			case 0:
3489				return &v.state
3490			case 1:
3491				return &v.sizeCache
3492			case 2:
3493				return &v.unknownFields
3494			default:
3495				return nil
3496			}
3497		}
3498		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3499			switch v := v.(*VideoTrueViewDiscoveryAdInfo); i {
3500			case 0:
3501				return &v.state
3502			case 1:
3503				return &v.sizeCache
3504			case 2:
3505				return &v.unknownFields
3506			default:
3507				return nil
3508			}
3509		}
3510		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3511			switch v := v.(*VideoAdInfo); i {
3512			case 0:
3513				return &v.state
3514			case 1:
3515				return &v.sizeCache
3516			case 2:
3517				return &v.unknownFields
3518			default:
3519				return nil
3520			}
3521		}
3522		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3523			switch v := v.(*ResponsiveSearchAdInfo); i {
3524			case 0:
3525				return &v.state
3526			case 1:
3527				return &v.sizeCache
3528			case 2:
3529				return &v.unknownFields
3530			default:
3531				return nil
3532			}
3533		}
3534		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3535			switch v := v.(*LegacyResponsiveDisplayAdInfo); i {
3536			case 0:
3537				return &v.state
3538			case 1:
3539				return &v.sizeCache
3540			case 2:
3541				return &v.unknownFields
3542			default:
3543				return nil
3544			}
3545		}
3546		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3547			switch v := v.(*AppAdInfo); i {
3548			case 0:
3549				return &v.state
3550			case 1:
3551				return &v.sizeCache
3552			case 2:
3553				return &v.unknownFields
3554			default:
3555				return nil
3556			}
3557		}
3558		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3559			switch v := v.(*AppEngagementAdInfo); i {
3560			case 0:
3561				return &v.state
3562			case 1:
3563				return &v.sizeCache
3564			case 2:
3565				return &v.unknownFields
3566			default:
3567				return nil
3568			}
3569		}
3570		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
3571			switch v := v.(*LegacyAppInstallAdInfo); i {
3572			case 0:
3573				return &v.state
3574			case 1:
3575				return &v.sizeCache
3576			case 2:
3577				return &v.unknownFields
3578			default:
3579				return nil
3580			}
3581		}
3582		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3583			switch v := v.(*ResponsiveDisplayAdInfo); i {
3584			case 0:
3585				return &v.state
3586			case 1:
3587				return &v.sizeCache
3588			case 2:
3589				return &v.unknownFields
3590			default:
3591				return nil
3592			}
3593		}
3594		file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
3595			switch v := v.(*DisplayUploadAdInfo); i {
3596			case 0:
3597				return &v.state
3598			case 1:
3599				return &v.sizeCache
3600			case 2:
3601				return &v.unknownFields
3602			default:
3603				return nil
3604			}
3605		}
3606	}
3607	file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[13].OneofWrappers = []interface{}{
3608		(*ImageAdInfo_MediaFile)(nil),
3609		(*ImageAdInfo_Data)(nil),
3610		(*ImageAdInfo_AdIdToCopyImageFrom)(nil),
3611	}
3612	file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[19].OneofWrappers = []interface{}{
3613		(*VideoAdInfo_InStream)(nil),
3614		(*VideoAdInfo_Bumper)(nil),
3615		(*VideoAdInfo_OutStream)(nil),
3616		(*VideoAdInfo_NonSkippable)(nil),
3617		(*VideoAdInfo_Discovery)(nil),
3618	}
3619	file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes[26].OneofWrappers = []interface{}{
3620		(*DisplayUploadAdInfo_MediaBundle)(nil),
3621	}
3622	type x struct{}
3623	out := protoimpl.TypeBuilder{
3624		File: protoimpl.DescBuilder{
3625			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3626			RawDescriptor: file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDesc,
3627			NumEnums:      0,
3628			NumMessages:   27,
3629			NumExtensions: 0,
3630			NumServices:   0,
3631		},
3632		GoTypes:           file_google_ads_googleads_v3_common_ad_type_infos_proto_goTypes,
3633		DependencyIndexes: file_google_ads_googleads_v3_common_ad_type_infos_proto_depIdxs,
3634		MessageInfos:      file_google_ads_googleads_v3_common_ad_type_infos_proto_msgTypes,
3635	}.Build()
3636	File_google_ads_googleads_v3_common_ad_type_infos_proto = out.File
3637	file_google_ads_googleads_v3_common_ad_type_infos_proto_rawDesc = nil
3638	file_google_ads_googleads_v3_common_ad_type_infos_proto_goTypes = nil
3639	file_google_ads_googleads_v3_common_ad_type_infos_proto_depIdxs = nil
3640}
3641