You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1829 lines
73 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/ads/googleads/v1/common/ad_type_infos.proto
  3. package common // import "google.golang.org/genproto/googleapis/ads/googleads/v1/common"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import wrappers "github.com/golang/protobuf/ptypes/wrappers"
  8. import enums "google.golang.org/genproto/googleapis/ads/googleads/v1/enums"
  9. import _ "google.golang.org/genproto/googleapis/api/annotations"
  10. // Reference imports to suppress errors if they are not otherwise used.
  11. var _ = proto.Marshal
  12. var _ = fmt.Errorf
  13. var _ = math.Inf
  14. // This is a compile-time assertion to ensure that this generated file
  15. // is compatible with the proto package it is being compiled against.
  16. // A compilation error at this line likely means your copy of the
  17. // proto package needs to be updated.
  18. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  19. // A text ad.
  20. type TextAdInfo struct {
  21. // The headline of the ad.
  22. Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
  23. // The first line of the ad's description.
  24. Description1 *wrappers.StringValue `protobuf:"bytes,2,opt,name=description1,proto3" json:"description1,omitempty"`
  25. // The second line of the ad's description.
  26. Description2 *wrappers.StringValue `protobuf:"bytes,3,opt,name=description2,proto3" json:"description2,omitempty"`
  27. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  28. XXX_unrecognized []byte `json:"-"`
  29. XXX_sizecache int32 `json:"-"`
  30. }
  31. func (m *TextAdInfo) Reset() { *m = TextAdInfo{} }
  32. func (m *TextAdInfo) String() string { return proto.CompactTextString(m) }
  33. func (*TextAdInfo) ProtoMessage() {}
  34. func (*TextAdInfo) Descriptor() ([]byte, []int) {
  35. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{0}
  36. }
  37. func (m *TextAdInfo) XXX_Unmarshal(b []byte) error {
  38. return xxx_messageInfo_TextAdInfo.Unmarshal(m, b)
  39. }
  40. func (m *TextAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  41. return xxx_messageInfo_TextAdInfo.Marshal(b, m, deterministic)
  42. }
  43. func (dst *TextAdInfo) XXX_Merge(src proto.Message) {
  44. xxx_messageInfo_TextAdInfo.Merge(dst, src)
  45. }
  46. func (m *TextAdInfo) XXX_Size() int {
  47. return xxx_messageInfo_TextAdInfo.Size(m)
  48. }
  49. func (m *TextAdInfo) XXX_DiscardUnknown() {
  50. xxx_messageInfo_TextAdInfo.DiscardUnknown(m)
  51. }
  52. var xxx_messageInfo_TextAdInfo proto.InternalMessageInfo
  53. func (m *TextAdInfo) GetHeadline() *wrappers.StringValue {
  54. if m != nil {
  55. return m.Headline
  56. }
  57. return nil
  58. }
  59. func (m *TextAdInfo) GetDescription1() *wrappers.StringValue {
  60. if m != nil {
  61. return m.Description1
  62. }
  63. return nil
  64. }
  65. func (m *TextAdInfo) GetDescription2() *wrappers.StringValue {
  66. if m != nil {
  67. return m.Description2
  68. }
  69. return nil
  70. }
  71. // An expanded text ad.
  72. type ExpandedTextAdInfo struct {
  73. // The first part of the ad's headline.
  74. HeadlinePart1 *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline_part1,json=headlinePart1,proto3" json:"headline_part1,omitempty"`
  75. // The second part of the ad's headline.
  76. HeadlinePart2 *wrappers.StringValue `protobuf:"bytes,2,opt,name=headline_part2,json=headlinePart2,proto3" json:"headline_part2,omitempty"`
  77. // The third part of the ad's headline.
  78. HeadlinePart3 *wrappers.StringValue `protobuf:"bytes,6,opt,name=headline_part3,json=headlinePart3,proto3" json:"headline_part3,omitempty"`
  79. // The description of the ad.
  80. Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  81. // The second description of the ad.
  82. Description2 *wrappers.StringValue `protobuf:"bytes,7,opt,name=description2,proto3" json:"description2,omitempty"`
  83. // The text that can appear alongside the ad's displayed URL.
  84. Path1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path1,proto3" json:"path1,omitempty"`
  85. // Additional text that can appear alongside the ad's displayed URL.
  86. Path2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=path2,proto3" json:"path2,omitempty"`
  87. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  88. XXX_unrecognized []byte `json:"-"`
  89. XXX_sizecache int32 `json:"-"`
  90. }
  91. func (m *ExpandedTextAdInfo) Reset() { *m = ExpandedTextAdInfo{} }
  92. func (m *ExpandedTextAdInfo) String() string { return proto.CompactTextString(m) }
  93. func (*ExpandedTextAdInfo) ProtoMessage() {}
  94. func (*ExpandedTextAdInfo) Descriptor() ([]byte, []int) {
  95. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{1}
  96. }
  97. func (m *ExpandedTextAdInfo) XXX_Unmarshal(b []byte) error {
  98. return xxx_messageInfo_ExpandedTextAdInfo.Unmarshal(m, b)
  99. }
  100. func (m *ExpandedTextAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  101. return xxx_messageInfo_ExpandedTextAdInfo.Marshal(b, m, deterministic)
  102. }
  103. func (dst *ExpandedTextAdInfo) XXX_Merge(src proto.Message) {
  104. xxx_messageInfo_ExpandedTextAdInfo.Merge(dst, src)
  105. }
  106. func (m *ExpandedTextAdInfo) XXX_Size() int {
  107. return xxx_messageInfo_ExpandedTextAdInfo.Size(m)
  108. }
  109. func (m *ExpandedTextAdInfo) XXX_DiscardUnknown() {
  110. xxx_messageInfo_ExpandedTextAdInfo.DiscardUnknown(m)
  111. }
  112. var xxx_messageInfo_ExpandedTextAdInfo proto.InternalMessageInfo
  113. func (m *ExpandedTextAdInfo) GetHeadlinePart1() *wrappers.StringValue {
  114. if m != nil {
  115. return m.HeadlinePart1
  116. }
  117. return nil
  118. }
  119. func (m *ExpandedTextAdInfo) GetHeadlinePart2() *wrappers.StringValue {
  120. if m != nil {
  121. return m.HeadlinePart2
  122. }
  123. return nil
  124. }
  125. func (m *ExpandedTextAdInfo) GetHeadlinePart3() *wrappers.StringValue {
  126. if m != nil {
  127. return m.HeadlinePart3
  128. }
  129. return nil
  130. }
  131. func (m *ExpandedTextAdInfo) GetDescription() *wrappers.StringValue {
  132. if m != nil {
  133. return m.Description
  134. }
  135. return nil
  136. }
  137. func (m *ExpandedTextAdInfo) GetDescription2() *wrappers.StringValue {
  138. if m != nil {
  139. return m.Description2
  140. }
  141. return nil
  142. }
  143. func (m *ExpandedTextAdInfo) GetPath1() *wrappers.StringValue {
  144. if m != nil {
  145. return m.Path1
  146. }
  147. return nil
  148. }
  149. func (m *ExpandedTextAdInfo) GetPath2() *wrappers.StringValue {
  150. if m != nil {
  151. return m.Path2
  152. }
  153. return nil
  154. }
  155. // A call-only ad.
  156. type CallOnlyAdInfo struct {
  157. // The country code in the ad.
  158. CountryCode *wrappers.StringValue `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
  159. // The phone number in the ad.
  160. PhoneNumber *wrappers.StringValue `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
  161. // The business name in the ad.
  162. BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
  163. // The first line of the ad's description.
  164. Description1 *wrappers.StringValue `protobuf:"bytes,4,opt,name=description1,proto3" json:"description1,omitempty"`
  165. // The second line of the ad's description.
  166. Description2 *wrappers.StringValue `protobuf:"bytes,5,opt,name=description2,proto3" json:"description2,omitempty"`
  167. // Whether to enable call tracking for the creative. Enabling call
  168. // tracking also enables call conversions.
  169. CallTracked *wrappers.BoolValue `protobuf:"bytes,6,opt,name=call_tracked,json=callTracked,proto3" json:"call_tracked,omitempty"`
  170. // Whether to disable call conversion for the creative.
  171. // If set to `true`, disables call conversions even when `call_tracked` is
  172. // `true`.
  173. // If `call_tracked` is `false`, this field is ignored.
  174. DisableCallConversion *wrappers.BoolValue `protobuf:"bytes,7,opt,name=disable_call_conversion,json=disableCallConversion,proto3" json:"disable_call_conversion,omitempty"`
  175. // The URL to be used for phone number verification.
  176. PhoneNumberVerificationUrl *wrappers.StringValue `protobuf:"bytes,8,opt,name=phone_number_verification_url,json=phoneNumberVerificationUrl,proto3" json:"phone_number_verification_url,omitempty"`
  177. // The conversion action to attribute a call conversion to. If not set a
  178. // default conversion action is used. This field only has effect if
  179. // call_tracked is set to true. Otherwise this field is ignored.
  180. ConversionAction *wrappers.StringValue `protobuf:"bytes,9,opt,name=conversion_action,json=conversionAction,proto3" json:"conversion_action,omitempty"`
  181. // The call conversion behavior of this call only ad. It can use its own call
  182. // conversion setting, inherit the account level setting, or be disabled.
  183. ConversionReportingState enums.CallConversionReportingStateEnum_CallConversionReportingState `protobuf:"varint,10,opt,name=conversion_reporting_state,json=conversionReportingState,proto3,enum=google.ads.googleads.v1.enums.CallConversionReportingStateEnum_CallConversionReportingState" json:"conversion_reporting_state,omitempty"`
  184. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  185. XXX_unrecognized []byte `json:"-"`
  186. XXX_sizecache int32 `json:"-"`
  187. }
  188. func (m *CallOnlyAdInfo) Reset() { *m = CallOnlyAdInfo{} }
  189. func (m *CallOnlyAdInfo) String() string { return proto.CompactTextString(m) }
  190. func (*CallOnlyAdInfo) ProtoMessage() {}
  191. func (*CallOnlyAdInfo) Descriptor() ([]byte, []int) {
  192. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{2}
  193. }
  194. func (m *CallOnlyAdInfo) XXX_Unmarshal(b []byte) error {
  195. return xxx_messageInfo_CallOnlyAdInfo.Unmarshal(m, b)
  196. }
  197. func (m *CallOnlyAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  198. return xxx_messageInfo_CallOnlyAdInfo.Marshal(b, m, deterministic)
  199. }
  200. func (dst *CallOnlyAdInfo) XXX_Merge(src proto.Message) {
  201. xxx_messageInfo_CallOnlyAdInfo.Merge(dst, src)
  202. }
  203. func (m *CallOnlyAdInfo) XXX_Size() int {
  204. return xxx_messageInfo_CallOnlyAdInfo.Size(m)
  205. }
  206. func (m *CallOnlyAdInfo) XXX_DiscardUnknown() {
  207. xxx_messageInfo_CallOnlyAdInfo.DiscardUnknown(m)
  208. }
  209. var xxx_messageInfo_CallOnlyAdInfo proto.InternalMessageInfo
  210. func (m *CallOnlyAdInfo) GetCountryCode() *wrappers.StringValue {
  211. if m != nil {
  212. return m.CountryCode
  213. }
  214. return nil
  215. }
  216. func (m *CallOnlyAdInfo) GetPhoneNumber() *wrappers.StringValue {
  217. if m != nil {
  218. return m.PhoneNumber
  219. }
  220. return nil
  221. }
  222. func (m *CallOnlyAdInfo) GetBusinessName() *wrappers.StringValue {
  223. if m != nil {
  224. return m.BusinessName
  225. }
  226. return nil
  227. }
  228. func (m *CallOnlyAdInfo) GetDescription1() *wrappers.StringValue {
  229. if m != nil {
  230. return m.Description1
  231. }
  232. return nil
  233. }
  234. func (m *CallOnlyAdInfo) GetDescription2() *wrappers.StringValue {
  235. if m != nil {
  236. return m.Description2
  237. }
  238. return nil
  239. }
  240. func (m *CallOnlyAdInfo) GetCallTracked() *wrappers.BoolValue {
  241. if m != nil {
  242. return m.CallTracked
  243. }
  244. return nil
  245. }
  246. func (m *CallOnlyAdInfo) GetDisableCallConversion() *wrappers.BoolValue {
  247. if m != nil {
  248. return m.DisableCallConversion
  249. }
  250. return nil
  251. }
  252. func (m *CallOnlyAdInfo) GetPhoneNumberVerificationUrl() *wrappers.StringValue {
  253. if m != nil {
  254. return m.PhoneNumberVerificationUrl
  255. }
  256. return nil
  257. }
  258. func (m *CallOnlyAdInfo) GetConversionAction() *wrappers.StringValue {
  259. if m != nil {
  260. return m.ConversionAction
  261. }
  262. return nil
  263. }
  264. func (m *CallOnlyAdInfo) GetConversionReportingState() enums.CallConversionReportingStateEnum_CallConversionReportingState {
  265. if m != nil {
  266. return m.ConversionReportingState
  267. }
  268. return enums.CallConversionReportingStateEnum_UNSPECIFIED
  269. }
  270. // An expanded dynamic search ad.
  271. type ExpandedDynamicSearchAdInfo struct {
  272. // The description of the ad.
  273. Description *wrappers.StringValue `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
  274. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  275. XXX_unrecognized []byte `json:"-"`
  276. XXX_sizecache int32 `json:"-"`
  277. }
  278. func (m *ExpandedDynamicSearchAdInfo) Reset() { *m = ExpandedDynamicSearchAdInfo{} }
  279. func (m *ExpandedDynamicSearchAdInfo) String() string { return proto.CompactTextString(m) }
  280. func (*ExpandedDynamicSearchAdInfo) ProtoMessage() {}
  281. func (*ExpandedDynamicSearchAdInfo) Descriptor() ([]byte, []int) {
  282. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{3}
  283. }
  284. func (m *ExpandedDynamicSearchAdInfo) XXX_Unmarshal(b []byte) error {
  285. return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Unmarshal(m, b)
  286. }
  287. func (m *ExpandedDynamicSearchAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  288. return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Marshal(b, m, deterministic)
  289. }
  290. func (dst *ExpandedDynamicSearchAdInfo) XXX_Merge(src proto.Message) {
  291. xxx_messageInfo_ExpandedDynamicSearchAdInfo.Merge(dst, src)
  292. }
  293. func (m *ExpandedDynamicSearchAdInfo) XXX_Size() int {
  294. return xxx_messageInfo_ExpandedDynamicSearchAdInfo.Size(m)
  295. }
  296. func (m *ExpandedDynamicSearchAdInfo) XXX_DiscardUnknown() {
  297. xxx_messageInfo_ExpandedDynamicSearchAdInfo.DiscardUnknown(m)
  298. }
  299. var xxx_messageInfo_ExpandedDynamicSearchAdInfo proto.InternalMessageInfo
  300. func (m *ExpandedDynamicSearchAdInfo) GetDescription() *wrappers.StringValue {
  301. if m != nil {
  302. return m.Description
  303. }
  304. return nil
  305. }
  306. // A hotel ad.
  307. type HotelAdInfo struct {
  308. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  309. XXX_unrecognized []byte `json:"-"`
  310. XXX_sizecache int32 `json:"-"`
  311. }
  312. func (m *HotelAdInfo) Reset() { *m = HotelAdInfo{} }
  313. func (m *HotelAdInfo) String() string { return proto.CompactTextString(m) }
  314. func (*HotelAdInfo) ProtoMessage() {}
  315. func (*HotelAdInfo) Descriptor() ([]byte, []int) {
  316. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{4}
  317. }
  318. func (m *HotelAdInfo) XXX_Unmarshal(b []byte) error {
  319. return xxx_messageInfo_HotelAdInfo.Unmarshal(m, b)
  320. }
  321. func (m *HotelAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  322. return xxx_messageInfo_HotelAdInfo.Marshal(b, m, deterministic)
  323. }
  324. func (dst *HotelAdInfo) XXX_Merge(src proto.Message) {
  325. xxx_messageInfo_HotelAdInfo.Merge(dst, src)
  326. }
  327. func (m *HotelAdInfo) XXX_Size() int {
  328. return xxx_messageInfo_HotelAdInfo.Size(m)
  329. }
  330. func (m *HotelAdInfo) XXX_DiscardUnknown() {
  331. xxx_messageInfo_HotelAdInfo.DiscardUnknown(m)
  332. }
  333. var xxx_messageInfo_HotelAdInfo proto.InternalMessageInfo
  334. // A Smart Shopping ad.
  335. type ShoppingSmartAdInfo struct {
  336. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  337. XXX_unrecognized []byte `json:"-"`
  338. XXX_sizecache int32 `json:"-"`
  339. }
  340. func (m *ShoppingSmartAdInfo) Reset() { *m = ShoppingSmartAdInfo{} }
  341. func (m *ShoppingSmartAdInfo) String() string { return proto.CompactTextString(m) }
  342. func (*ShoppingSmartAdInfo) ProtoMessage() {}
  343. func (*ShoppingSmartAdInfo) Descriptor() ([]byte, []int) {
  344. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{5}
  345. }
  346. func (m *ShoppingSmartAdInfo) XXX_Unmarshal(b []byte) error {
  347. return xxx_messageInfo_ShoppingSmartAdInfo.Unmarshal(m, b)
  348. }
  349. func (m *ShoppingSmartAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  350. return xxx_messageInfo_ShoppingSmartAdInfo.Marshal(b, m, deterministic)
  351. }
  352. func (dst *ShoppingSmartAdInfo) XXX_Merge(src proto.Message) {
  353. xxx_messageInfo_ShoppingSmartAdInfo.Merge(dst, src)
  354. }
  355. func (m *ShoppingSmartAdInfo) XXX_Size() int {
  356. return xxx_messageInfo_ShoppingSmartAdInfo.Size(m)
  357. }
  358. func (m *ShoppingSmartAdInfo) XXX_DiscardUnknown() {
  359. xxx_messageInfo_ShoppingSmartAdInfo.DiscardUnknown(m)
  360. }
  361. var xxx_messageInfo_ShoppingSmartAdInfo proto.InternalMessageInfo
  362. // A standard Shopping ad.
  363. type ShoppingProductAdInfo struct {
  364. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  365. XXX_unrecognized []byte `json:"-"`
  366. XXX_sizecache int32 `json:"-"`
  367. }
  368. func (m *ShoppingProductAdInfo) Reset() { *m = ShoppingProductAdInfo{} }
  369. func (m *ShoppingProductAdInfo) String() string { return proto.CompactTextString(m) }
  370. func (*ShoppingProductAdInfo) ProtoMessage() {}
  371. func (*ShoppingProductAdInfo) Descriptor() ([]byte, []int) {
  372. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{6}
  373. }
  374. func (m *ShoppingProductAdInfo) XXX_Unmarshal(b []byte) error {
  375. return xxx_messageInfo_ShoppingProductAdInfo.Unmarshal(m, b)
  376. }
  377. func (m *ShoppingProductAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  378. return xxx_messageInfo_ShoppingProductAdInfo.Marshal(b, m, deterministic)
  379. }
  380. func (dst *ShoppingProductAdInfo) XXX_Merge(src proto.Message) {
  381. xxx_messageInfo_ShoppingProductAdInfo.Merge(dst, src)
  382. }
  383. func (m *ShoppingProductAdInfo) XXX_Size() int {
  384. return xxx_messageInfo_ShoppingProductAdInfo.Size(m)
  385. }
  386. func (m *ShoppingProductAdInfo) XXX_DiscardUnknown() {
  387. xxx_messageInfo_ShoppingProductAdInfo.DiscardUnknown(m)
  388. }
  389. var xxx_messageInfo_ShoppingProductAdInfo proto.InternalMessageInfo
  390. // A Gmail ad.
  391. type GmailAdInfo struct {
  392. // The Gmail teaser.
  393. Teaser *GmailTeaser `protobuf:"bytes,1,opt,name=teaser,proto3" json:"teaser,omitempty"`
  394. // The MediaFile resource name of the header image. Valid image types are GIF,
  395. // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
  396. // be between 3:1 and 5:1 (+-1%).
  397. HeaderImage *wrappers.StringValue `protobuf:"bytes,2,opt,name=header_image,json=headerImage,proto3" json:"header_image,omitempty"`
  398. // The MediaFile resource name of the marketing image. Valid image types are
  399. // GIF, JPEG and PNG. The image must either be landscape with a minimum size
  400. // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
  401. // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
  402. MarketingImage *wrappers.StringValue `protobuf:"bytes,3,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
  403. // Headline of the marketing image.
  404. MarketingImageHeadline *wrappers.StringValue `protobuf:"bytes,4,opt,name=marketing_image_headline,json=marketingImageHeadline,proto3" json:"marketing_image_headline,omitempty"`
  405. // Description of the marketing image.
  406. MarketingImageDescription *wrappers.StringValue `protobuf:"bytes,5,opt,name=marketing_image_description,json=marketingImageDescription,proto3" json:"marketing_image_description,omitempty"`
  407. // Display-call-to-action of the marketing image.
  408. MarketingImageDisplayCallToAction *DisplayCallToAction `protobuf:"bytes,6,opt,name=marketing_image_display_call_to_action,json=marketingImageDisplayCallToAction,proto3" json:"marketing_image_display_call_to_action,omitempty"`
  409. // Product images. Up to 15 images are supported.
  410. ProductImages []*ProductImage `protobuf:"bytes,7,rep,name=product_images,json=productImages,proto3" json:"product_images,omitempty"`
  411. // Product videos. Up to 7 videos are supported. At least one product video
  412. // or a marketing image must be specified.
  413. ProductVideos []*ProductVideo `protobuf:"bytes,8,rep,name=product_videos,json=productVideos,proto3" json:"product_videos,omitempty"`
  414. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  415. XXX_unrecognized []byte `json:"-"`
  416. XXX_sizecache int32 `json:"-"`
  417. }
  418. func (m *GmailAdInfo) Reset() { *m = GmailAdInfo{} }
  419. func (m *GmailAdInfo) String() string { return proto.CompactTextString(m) }
  420. func (*GmailAdInfo) ProtoMessage() {}
  421. func (*GmailAdInfo) Descriptor() ([]byte, []int) {
  422. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{7}
  423. }
  424. func (m *GmailAdInfo) XXX_Unmarshal(b []byte) error {
  425. return xxx_messageInfo_GmailAdInfo.Unmarshal(m, b)
  426. }
  427. func (m *GmailAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  428. return xxx_messageInfo_GmailAdInfo.Marshal(b, m, deterministic)
  429. }
  430. func (dst *GmailAdInfo) XXX_Merge(src proto.Message) {
  431. xxx_messageInfo_GmailAdInfo.Merge(dst, src)
  432. }
  433. func (m *GmailAdInfo) XXX_Size() int {
  434. return xxx_messageInfo_GmailAdInfo.Size(m)
  435. }
  436. func (m *GmailAdInfo) XXX_DiscardUnknown() {
  437. xxx_messageInfo_GmailAdInfo.DiscardUnknown(m)
  438. }
  439. var xxx_messageInfo_GmailAdInfo proto.InternalMessageInfo
  440. func (m *GmailAdInfo) GetTeaser() *GmailTeaser {
  441. if m != nil {
  442. return m.Teaser
  443. }
  444. return nil
  445. }
  446. func (m *GmailAdInfo) GetHeaderImage() *wrappers.StringValue {
  447. if m != nil {
  448. return m.HeaderImage
  449. }
  450. return nil
  451. }
  452. func (m *GmailAdInfo) GetMarketingImage() *wrappers.StringValue {
  453. if m != nil {
  454. return m.MarketingImage
  455. }
  456. return nil
  457. }
  458. func (m *GmailAdInfo) GetMarketingImageHeadline() *wrappers.StringValue {
  459. if m != nil {
  460. return m.MarketingImageHeadline
  461. }
  462. return nil
  463. }
  464. func (m *GmailAdInfo) GetMarketingImageDescription() *wrappers.StringValue {
  465. if m != nil {
  466. return m.MarketingImageDescription
  467. }
  468. return nil
  469. }
  470. func (m *GmailAdInfo) GetMarketingImageDisplayCallToAction() *DisplayCallToAction {
  471. if m != nil {
  472. return m.MarketingImageDisplayCallToAction
  473. }
  474. return nil
  475. }
  476. func (m *GmailAdInfo) GetProductImages() []*ProductImage {
  477. if m != nil {
  478. return m.ProductImages
  479. }
  480. return nil
  481. }
  482. func (m *GmailAdInfo) GetProductVideos() []*ProductVideo {
  483. if m != nil {
  484. return m.ProductVideos
  485. }
  486. return nil
  487. }
  488. // Gmail teaser data. The teaser is a small header that acts as an invitation
  489. // to view the rest of the ad (the body).
  490. type GmailTeaser struct {
  491. // Headline of the teaser.
  492. Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
  493. // Description of the teaser.
  494. Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
  495. // Business name of the advertiser.
  496. BusinessName *wrappers.StringValue `protobuf:"bytes,3,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
  497. // The MediaFile resource name of the logo image. Valid image types are GIF,
  498. // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
  499. // be 1:1 (+-1%).
  500. LogoImage *wrappers.StringValue `protobuf:"bytes,4,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
  501. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  502. XXX_unrecognized []byte `json:"-"`
  503. XXX_sizecache int32 `json:"-"`
  504. }
  505. func (m *GmailTeaser) Reset() { *m = GmailTeaser{} }
  506. func (m *GmailTeaser) String() string { return proto.CompactTextString(m) }
  507. func (*GmailTeaser) ProtoMessage() {}
  508. func (*GmailTeaser) Descriptor() ([]byte, []int) {
  509. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{8}
  510. }
  511. func (m *GmailTeaser) XXX_Unmarshal(b []byte) error {
  512. return xxx_messageInfo_GmailTeaser.Unmarshal(m, b)
  513. }
  514. func (m *GmailTeaser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  515. return xxx_messageInfo_GmailTeaser.Marshal(b, m, deterministic)
  516. }
  517. func (dst *GmailTeaser) XXX_Merge(src proto.Message) {
  518. xxx_messageInfo_GmailTeaser.Merge(dst, src)
  519. }
  520. func (m *GmailTeaser) XXX_Size() int {
  521. return xxx_messageInfo_GmailTeaser.Size(m)
  522. }
  523. func (m *GmailTeaser) XXX_DiscardUnknown() {
  524. xxx_messageInfo_GmailTeaser.DiscardUnknown(m)
  525. }
  526. var xxx_messageInfo_GmailTeaser proto.InternalMessageInfo
  527. func (m *GmailTeaser) GetHeadline() *wrappers.StringValue {
  528. if m != nil {
  529. return m.Headline
  530. }
  531. return nil
  532. }
  533. func (m *GmailTeaser) GetDescription() *wrappers.StringValue {
  534. if m != nil {
  535. return m.Description
  536. }
  537. return nil
  538. }
  539. func (m *GmailTeaser) GetBusinessName() *wrappers.StringValue {
  540. if m != nil {
  541. return m.BusinessName
  542. }
  543. return nil
  544. }
  545. func (m *GmailTeaser) GetLogoImage() *wrappers.StringValue {
  546. if m != nil {
  547. return m.LogoImage
  548. }
  549. return nil
  550. }
  551. // Data for display call to action. The call to action is a piece of the ad
  552. // that prompts the user to do something. Like clicking a link or making a phone
  553. // call.
  554. type DisplayCallToAction struct {
  555. // Text for the display-call-to-action.
  556. Text *wrappers.StringValue `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
  557. // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
  558. // white.
  559. TextColor *wrappers.StringValue `protobuf:"bytes,2,opt,name=text_color,json=textColor,proto3" json:"text_color,omitempty"`
  560. // Identifies the url collection in the ad.url_collections field. If not set
  561. // the url defaults to final_url.
  562. UrlCollectionId *wrappers.StringValue `protobuf:"bytes,3,opt,name=url_collection_id,json=urlCollectionId,proto3" json:"url_collection_id,omitempty"`
  563. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  564. XXX_unrecognized []byte `json:"-"`
  565. XXX_sizecache int32 `json:"-"`
  566. }
  567. func (m *DisplayCallToAction) Reset() { *m = DisplayCallToAction{} }
  568. func (m *DisplayCallToAction) String() string { return proto.CompactTextString(m) }
  569. func (*DisplayCallToAction) ProtoMessage() {}
  570. func (*DisplayCallToAction) Descriptor() ([]byte, []int) {
  571. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{9}
  572. }
  573. func (m *DisplayCallToAction) XXX_Unmarshal(b []byte) error {
  574. return xxx_messageInfo_DisplayCallToAction.Unmarshal(m, b)
  575. }
  576. func (m *DisplayCallToAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  577. return xxx_messageInfo_DisplayCallToAction.Marshal(b, m, deterministic)
  578. }
  579. func (dst *DisplayCallToAction) XXX_Merge(src proto.Message) {
  580. xxx_messageInfo_DisplayCallToAction.Merge(dst, src)
  581. }
  582. func (m *DisplayCallToAction) XXX_Size() int {
  583. return xxx_messageInfo_DisplayCallToAction.Size(m)
  584. }
  585. func (m *DisplayCallToAction) XXX_DiscardUnknown() {
  586. xxx_messageInfo_DisplayCallToAction.DiscardUnknown(m)
  587. }
  588. var xxx_messageInfo_DisplayCallToAction proto.InternalMessageInfo
  589. func (m *DisplayCallToAction) GetText() *wrappers.StringValue {
  590. if m != nil {
  591. return m.Text
  592. }
  593. return nil
  594. }
  595. func (m *DisplayCallToAction) GetTextColor() *wrappers.StringValue {
  596. if m != nil {
  597. return m.TextColor
  598. }
  599. return nil
  600. }
  601. func (m *DisplayCallToAction) GetUrlCollectionId() *wrappers.StringValue {
  602. if m != nil {
  603. return m.UrlCollectionId
  604. }
  605. return nil
  606. }
  607. // Product image specific data.
  608. type ProductImage struct {
  609. // The MediaFile resource name of the product image. Valid image types are
  610. // GIF, JPEG and PNG. The minimum size is 300x300 pixels and the aspect ratio
  611. // must be 1:1 (+-1%).
  612. ProductImage *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_image,json=productImage,proto3" json:"product_image,omitempty"`
  613. // Description of the product.
  614. Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
  615. // Display-call-to-action of the product image.
  616. DisplayCallToAction *DisplayCallToAction `protobuf:"bytes,3,opt,name=display_call_to_action,json=displayCallToAction,proto3" json:"display_call_to_action,omitempty"`
  617. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  618. XXX_unrecognized []byte `json:"-"`
  619. XXX_sizecache int32 `json:"-"`
  620. }
  621. func (m *ProductImage) Reset() { *m = ProductImage{} }
  622. func (m *ProductImage) String() string { return proto.CompactTextString(m) }
  623. func (*ProductImage) ProtoMessage() {}
  624. func (*ProductImage) Descriptor() ([]byte, []int) {
  625. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{10}
  626. }
  627. func (m *ProductImage) XXX_Unmarshal(b []byte) error {
  628. return xxx_messageInfo_ProductImage.Unmarshal(m, b)
  629. }
  630. func (m *ProductImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  631. return xxx_messageInfo_ProductImage.Marshal(b, m, deterministic)
  632. }
  633. func (dst *ProductImage) XXX_Merge(src proto.Message) {
  634. xxx_messageInfo_ProductImage.Merge(dst, src)
  635. }
  636. func (m *ProductImage) XXX_Size() int {
  637. return xxx_messageInfo_ProductImage.Size(m)
  638. }
  639. func (m *ProductImage) XXX_DiscardUnknown() {
  640. xxx_messageInfo_ProductImage.DiscardUnknown(m)
  641. }
  642. var xxx_messageInfo_ProductImage proto.InternalMessageInfo
  643. func (m *ProductImage) GetProductImage() *wrappers.StringValue {
  644. if m != nil {
  645. return m.ProductImage
  646. }
  647. return nil
  648. }
  649. func (m *ProductImage) GetDescription() *wrappers.StringValue {
  650. if m != nil {
  651. return m.Description
  652. }
  653. return nil
  654. }
  655. func (m *ProductImage) GetDisplayCallToAction() *DisplayCallToAction {
  656. if m != nil {
  657. return m.DisplayCallToAction
  658. }
  659. return nil
  660. }
  661. // Product video specific data.
  662. type ProductVideo struct {
  663. // The MediaFile resource name of a video which must be hosted on YouTube.
  664. ProductVideo *wrappers.StringValue `protobuf:"bytes,1,opt,name=product_video,json=productVideo,proto3" json:"product_video,omitempty"`
  665. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  666. XXX_unrecognized []byte `json:"-"`
  667. XXX_sizecache int32 `json:"-"`
  668. }
  669. func (m *ProductVideo) Reset() { *m = ProductVideo{} }
  670. func (m *ProductVideo) String() string { return proto.CompactTextString(m) }
  671. func (*ProductVideo) ProtoMessage() {}
  672. func (*ProductVideo) Descriptor() ([]byte, []int) {
  673. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{11}
  674. }
  675. func (m *ProductVideo) XXX_Unmarshal(b []byte) error {
  676. return xxx_messageInfo_ProductVideo.Unmarshal(m, b)
  677. }
  678. func (m *ProductVideo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  679. return xxx_messageInfo_ProductVideo.Marshal(b, m, deterministic)
  680. }
  681. func (dst *ProductVideo) XXX_Merge(src proto.Message) {
  682. xxx_messageInfo_ProductVideo.Merge(dst, src)
  683. }
  684. func (m *ProductVideo) XXX_Size() int {
  685. return xxx_messageInfo_ProductVideo.Size(m)
  686. }
  687. func (m *ProductVideo) XXX_DiscardUnknown() {
  688. xxx_messageInfo_ProductVideo.DiscardUnknown(m)
  689. }
  690. var xxx_messageInfo_ProductVideo proto.InternalMessageInfo
  691. func (m *ProductVideo) GetProductVideo() *wrappers.StringValue {
  692. if m != nil {
  693. return m.ProductVideo
  694. }
  695. return nil
  696. }
  697. // An image ad.
  698. type ImageAdInfo struct {
  699. // Width in pixels of the full size image.
  700. PixelWidth *wrappers.Int64Value `protobuf:"bytes,4,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"`
  701. // Height in pixels of the full size image.
  702. PixelHeight *wrappers.Int64Value `protobuf:"bytes,5,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
  703. // URL of the full size image.
  704. ImageUrl *wrappers.StringValue `protobuf:"bytes,6,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
  705. // Width in pixels of the preview size image.
  706. PreviewPixelWidth *wrappers.Int64Value `protobuf:"bytes,7,opt,name=preview_pixel_width,json=previewPixelWidth,proto3" json:"preview_pixel_width,omitempty"`
  707. // Height in pixels of the preview size image.
  708. PreviewPixelHeight *wrappers.Int64Value `protobuf:"bytes,8,opt,name=preview_pixel_height,json=previewPixelHeight,proto3" json:"preview_pixel_height,omitempty"`
  709. // URL of the preview size image.
  710. PreviewImageUrl *wrappers.StringValue `protobuf:"bytes,9,opt,name=preview_image_url,json=previewImageUrl,proto3" json:"preview_image_url,omitempty"`
  711. // The mime type of the image.
  712. MimeType enums.MimeTypeEnum_MimeType `protobuf:"varint,10,opt,name=mime_type,json=mimeType,proto3,enum=google.ads.googleads.v1.enums.MimeTypeEnum_MimeType" json:"mime_type,omitempty"`
  713. // The name of the image. If the image was created from a MediaFile, this is
  714. // the MediaFile's name. If the image was created from bytes, this is empty.
  715. Name *wrappers.StringValue `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
  716. // The image to create the ImageAd from. This can be specified in one of
  717. // two ways.
  718. // 1. An existing MediaFile resource.
  719. // 2. The raw image data as bytes.
  720. //
  721. // Types that are valid to be assigned to Image:
  722. // *ImageAdInfo_MediaFile
  723. // *ImageAdInfo_Data
  724. // *ImageAdInfo_AdIdToCopyImageFrom
  725. Image isImageAdInfo_Image `protobuf_oneof:"image"`
  726. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  727. XXX_unrecognized []byte `json:"-"`
  728. XXX_sizecache int32 `json:"-"`
  729. }
  730. func (m *ImageAdInfo) Reset() { *m = ImageAdInfo{} }
  731. func (m *ImageAdInfo) String() string { return proto.CompactTextString(m) }
  732. func (*ImageAdInfo) ProtoMessage() {}
  733. func (*ImageAdInfo) Descriptor() ([]byte, []int) {
  734. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{12}
  735. }
  736. func (m *ImageAdInfo) XXX_Unmarshal(b []byte) error {
  737. return xxx_messageInfo_ImageAdInfo.Unmarshal(m, b)
  738. }
  739. func (m *ImageAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  740. return xxx_messageInfo_ImageAdInfo.Marshal(b, m, deterministic)
  741. }
  742. func (dst *ImageAdInfo) XXX_Merge(src proto.Message) {
  743. xxx_messageInfo_ImageAdInfo.Merge(dst, src)
  744. }
  745. func (m *ImageAdInfo) XXX_Size() int {
  746. return xxx_messageInfo_ImageAdInfo.Size(m)
  747. }
  748. func (m *ImageAdInfo) XXX_DiscardUnknown() {
  749. xxx_messageInfo_ImageAdInfo.DiscardUnknown(m)
  750. }
  751. var xxx_messageInfo_ImageAdInfo proto.InternalMessageInfo
  752. func (m *ImageAdInfo) GetPixelWidth() *wrappers.Int64Value {
  753. if m != nil {
  754. return m.PixelWidth
  755. }
  756. return nil
  757. }
  758. func (m *ImageAdInfo) GetPixelHeight() *wrappers.Int64Value {
  759. if m != nil {
  760. return m.PixelHeight
  761. }
  762. return nil
  763. }
  764. func (m *ImageAdInfo) GetImageUrl() *wrappers.StringValue {
  765. if m != nil {
  766. return m.ImageUrl
  767. }
  768. return nil
  769. }
  770. func (m *ImageAdInfo) GetPreviewPixelWidth() *wrappers.Int64Value {
  771. if m != nil {
  772. return m.PreviewPixelWidth
  773. }
  774. return nil
  775. }
  776. func (m *ImageAdInfo) GetPreviewPixelHeight() *wrappers.Int64Value {
  777. if m != nil {
  778. return m.PreviewPixelHeight
  779. }
  780. return nil
  781. }
  782. func (m *ImageAdInfo) GetPreviewImageUrl() *wrappers.StringValue {
  783. if m != nil {
  784. return m.PreviewImageUrl
  785. }
  786. return nil
  787. }
  788. func (m *ImageAdInfo) GetMimeType() enums.MimeTypeEnum_MimeType {
  789. if m != nil {
  790. return m.MimeType
  791. }
  792. return enums.MimeTypeEnum_UNSPECIFIED
  793. }
  794. func (m *ImageAdInfo) GetName() *wrappers.StringValue {
  795. if m != nil {
  796. return m.Name
  797. }
  798. return nil
  799. }
  800. type isImageAdInfo_Image interface {
  801. isImageAdInfo_Image()
  802. }
  803. type ImageAdInfo_MediaFile struct {
  804. MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3,oneof"`
  805. }
  806. type ImageAdInfo_Data struct {
  807. Data *wrappers.BytesValue `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
  808. }
  809. type ImageAdInfo_AdIdToCopyImageFrom struct {
  810. AdIdToCopyImageFrom *wrappers.Int64Value `protobuf:"bytes,3,opt,name=ad_id_to_copy_image_from,json=adIdToCopyImageFrom,proto3,oneof"`
  811. }
  812. func (*ImageAdInfo_MediaFile) isImageAdInfo_Image() {}
  813. func (*ImageAdInfo_Data) isImageAdInfo_Image() {}
  814. func (*ImageAdInfo_AdIdToCopyImageFrom) isImageAdInfo_Image() {}
  815. func (m *ImageAdInfo) GetImage() isImageAdInfo_Image {
  816. if m != nil {
  817. return m.Image
  818. }
  819. return nil
  820. }
  821. func (m *ImageAdInfo) GetMediaFile() *wrappers.StringValue {
  822. if x, ok := m.GetImage().(*ImageAdInfo_MediaFile); ok {
  823. return x.MediaFile
  824. }
  825. return nil
  826. }
  827. func (m *ImageAdInfo) GetData() *wrappers.BytesValue {
  828. if x, ok := m.GetImage().(*ImageAdInfo_Data); ok {
  829. return x.Data
  830. }
  831. return nil
  832. }
  833. func (m *ImageAdInfo) GetAdIdToCopyImageFrom() *wrappers.Int64Value {
  834. if x, ok := m.GetImage().(*ImageAdInfo_AdIdToCopyImageFrom); ok {
  835. return x.AdIdToCopyImageFrom
  836. }
  837. return nil
  838. }
  839. // XXX_OneofFuncs is for the internal use of the proto package.
  840. func (*ImageAdInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  841. return _ImageAdInfo_OneofMarshaler, _ImageAdInfo_OneofUnmarshaler, _ImageAdInfo_OneofSizer, []interface{}{
  842. (*ImageAdInfo_MediaFile)(nil),
  843. (*ImageAdInfo_Data)(nil),
  844. (*ImageAdInfo_AdIdToCopyImageFrom)(nil),
  845. }
  846. }
  847. func _ImageAdInfo_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  848. m := msg.(*ImageAdInfo)
  849. // image
  850. switch x := m.Image.(type) {
  851. case *ImageAdInfo_MediaFile:
  852. b.EncodeVarint(1<<3 | proto.WireBytes)
  853. if err := b.EncodeMessage(x.MediaFile); err != nil {
  854. return err
  855. }
  856. case *ImageAdInfo_Data:
  857. b.EncodeVarint(2<<3 | proto.WireBytes)
  858. if err := b.EncodeMessage(x.Data); err != nil {
  859. return err
  860. }
  861. case *ImageAdInfo_AdIdToCopyImageFrom:
  862. b.EncodeVarint(3<<3 | proto.WireBytes)
  863. if err := b.EncodeMessage(x.AdIdToCopyImageFrom); err != nil {
  864. return err
  865. }
  866. case nil:
  867. default:
  868. return fmt.Errorf("ImageAdInfo.Image has unexpected type %T", x)
  869. }
  870. return nil
  871. }
  872. func _ImageAdInfo_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  873. m := msg.(*ImageAdInfo)
  874. switch tag {
  875. case 1: // image.media_file
  876. if wire != proto.WireBytes {
  877. return true, proto.ErrInternalBadWireType
  878. }
  879. msg := new(wrappers.StringValue)
  880. err := b.DecodeMessage(msg)
  881. m.Image = &ImageAdInfo_MediaFile{msg}
  882. return true, err
  883. case 2: // image.data
  884. if wire != proto.WireBytes {
  885. return true, proto.ErrInternalBadWireType
  886. }
  887. msg := new(wrappers.BytesValue)
  888. err := b.DecodeMessage(msg)
  889. m.Image = &ImageAdInfo_Data{msg}
  890. return true, err
  891. case 3: // image.ad_id_to_copy_image_from
  892. if wire != proto.WireBytes {
  893. return true, proto.ErrInternalBadWireType
  894. }
  895. msg := new(wrappers.Int64Value)
  896. err := b.DecodeMessage(msg)
  897. m.Image = &ImageAdInfo_AdIdToCopyImageFrom{msg}
  898. return true, err
  899. default:
  900. return false, nil
  901. }
  902. }
  903. func _ImageAdInfo_OneofSizer(msg proto.Message) (n int) {
  904. m := msg.(*ImageAdInfo)
  905. // image
  906. switch x := m.Image.(type) {
  907. case *ImageAdInfo_MediaFile:
  908. s := proto.Size(x.MediaFile)
  909. n += 1 // tag and wire
  910. n += proto.SizeVarint(uint64(s))
  911. n += s
  912. case *ImageAdInfo_Data:
  913. s := proto.Size(x.Data)
  914. n += 1 // tag and wire
  915. n += proto.SizeVarint(uint64(s))
  916. n += s
  917. case *ImageAdInfo_AdIdToCopyImageFrom:
  918. s := proto.Size(x.AdIdToCopyImageFrom)
  919. n += 1 // tag and wire
  920. n += proto.SizeVarint(uint64(s))
  921. n += s
  922. case nil:
  923. default:
  924. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  925. }
  926. return n
  927. }
  928. // Representation of video bumper in-stream ad format (very short in-stream
  929. // non-skippable video ad).
  930. type VideoBumperInStreamAdInfo struct {
  931. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  932. XXX_unrecognized []byte `json:"-"`
  933. XXX_sizecache int32 `json:"-"`
  934. }
  935. func (m *VideoBumperInStreamAdInfo) Reset() { *m = VideoBumperInStreamAdInfo{} }
  936. func (m *VideoBumperInStreamAdInfo) String() string { return proto.CompactTextString(m) }
  937. func (*VideoBumperInStreamAdInfo) ProtoMessage() {}
  938. func (*VideoBumperInStreamAdInfo) Descriptor() ([]byte, []int) {
  939. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{13}
  940. }
  941. func (m *VideoBumperInStreamAdInfo) XXX_Unmarshal(b []byte) error {
  942. return xxx_messageInfo_VideoBumperInStreamAdInfo.Unmarshal(m, b)
  943. }
  944. func (m *VideoBumperInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  945. return xxx_messageInfo_VideoBumperInStreamAdInfo.Marshal(b, m, deterministic)
  946. }
  947. func (dst *VideoBumperInStreamAdInfo) XXX_Merge(src proto.Message) {
  948. xxx_messageInfo_VideoBumperInStreamAdInfo.Merge(dst, src)
  949. }
  950. func (m *VideoBumperInStreamAdInfo) XXX_Size() int {
  951. return xxx_messageInfo_VideoBumperInStreamAdInfo.Size(m)
  952. }
  953. func (m *VideoBumperInStreamAdInfo) XXX_DiscardUnknown() {
  954. xxx_messageInfo_VideoBumperInStreamAdInfo.DiscardUnknown(m)
  955. }
  956. var xxx_messageInfo_VideoBumperInStreamAdInfo proto.InternalMessageInfo
  957. // Representation of video non-skippable in-stream ad format (15 second
  958. // in-stream non-skippable video ad).
  959. type VideoNonSkippableInStreamAdInfo struct {
  960. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  961. XXX_unrecognized []byte `json:"-"`
  962. XXX_sizecache int32 `json:"-"`
  963. }
  964. func (m *VideoNonSkippableInStreamAdInfo) Reset() { *m = VideoNonSkippableInStreamAdInfo{} }
  965. func (m *VideoNonSkippableInStreamAdInfo) String() string { return proto.CompactTextString(m) }
  966. func (*VideoNonSkippableInStreamAdInfo) ProtoMessage() {}
  967. func (*VideoNonSkippableInStreamAdInfo) Descriptor() ([]byte, []int) {
  968. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{14}
  969. }
  970. func (m *VideoNonSkippableInStreamAdInfo) XXX_Unmarshal(b []byte) error {
  971. return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Unmarshal(m, b)
  972. }
  973. func (m *VideoNonSkippableInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  974. return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Marshal(b, m, deterministic)
  975. }
  976. func (dst *VideoNonSkippableInStreamAdInfo) XXX_Merge(src proto.Message) {
  977. xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Merge(dst, src)
  978. }
  979. func (m *VideoNonSkippableInStreamAdInfo) XXX_Size() int {
  980. return xxx_messageInfo_VideoNonSkippableInStreamAdInfo.Size(m)
  981. }
  982. func (m *VideoNonSkippableInStreamAdInfo) XXX_DiscardUnknown() {
  983. xxx_messageInfo_VideoNonSkippableInStreamAdInfo.DiscardUnknown(m)
  984. }
  985. var xxx_messageInfo_VideoNonSkippableInStreamAdInfo proto.InternalMessageInfo
  986. // Representation of video TrueView in-stream ad format (ad shown during video
  987. // playback, often at beginning, which displays a skip button a few seconds into
  988. // the video).
  989. type VideoTrueViewInStreamAdInfo struct {
  990. // Label on the CTA (call-to-action) button taking the user to the video ad's
  991. // final URL.
  992. // Required for TrueView for action campaigns, optional otherwise.
  993. ActionButtonLabel *wrappers.StringValue `protobuf:"bytes,1,opt,name=action_button_label,json=actionButtonLabel,proto3" json:"action_button_label,omitempty"`
  994. // Additional text displayed with the CTA (call-to-action) button to give
  995. // context and encourage clicking on the button.
  996. ActionHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=action_headline,json=actionHeadline,proto3" json:"action_headline,omitempty"`
  997. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  998. XXX_unrecognized []byte `json:"-"`
  999. XXX_sizecache int32 `json:"-"`
  1000. }
  1001. func (m *VideoTrueViewInStreamAdInfo) Reset() { *m = VideoTrueViewInStreamAdInfo{} }
  1002. func (m *VideoTrueViewInStreamAdInfo) String() string { return proto.CompactTextString(m) }
  1003. func (*VideoTrueViewInStreamAdInfo) ProtoMessage() {}
  1004. func (*VideoTrueViewInStreamAdInfo) Descriptor() ([]byte, []int) {
  1005. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{15}
  1006. }
  1007. func (m *VideoTrueViewInStreamAdInfo) XXX_Unmarshal(b []byte) error {
  1008. return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Unmarshal(m, b)
  1009. }
  1010. func (m *VideoTrueViewInStreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1011. return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Marshal(b, m, deterministic)
  1012. }
  1013. func (dst *VideoTrueViewInStreamAdInfo) XXX_Merge(src proto.Message) {
  1014. xxx_messageInfo_VideoTrueViewInStreamAdInfo.Merge(dst, src)
  1015. }
  1016. func (m *VideoTrueViewInStreamAdInfo) XXX_Size() int {
  1017. return xxx_messageInfo_VideoTrueViewInStreamAdInfo.Size(m)
  1018. }
  1019. func (m *VideoTrueViewInStreamAdInfo) XXX_DiscardUnknown() {
  1020. xxx_messageInfo_VideoTrueViewInStreamAdInfo.DiscardUnknown(m)
  1021. }
  1022. var xxx_messageInfo_VideoTrueViewInStreamAdInfo proto.InternalMessageInfo
  1023. func (m *VideoTrueViewInStreamAdInfo) GetActionButtonLabel() *wrappers.StringValue {
  1024. if m != nil {
  1025. return m.ActionButtonLabel
  1026. }
  1027. return nil
  1028. }
  1029. func (m *VideoTrueViewInStreamAdInfo) GetActionHeadline() *wrappers.StringValue {
  1030. if m != nil {
  1031. return m.ActionHeadline
  1032. }
  1033. return nil
  1034. }
  1035. // Representation of video out-stream ad format (ad shown alongside a feed
  1036. // with automatic playback, without sound).
  1037. type VideoOutstreamAdInfo struct {
  1038. // The headline of the ad.
  1039. Headline *wrappers.StringValue `protobuf:"bytes,1,opt,name=headline,proto3" json:"headline,omitempty"`
  1040. // The description line.
  1041. Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
  1042. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1043. XXX_unrecognized []byte `json:"-"`
  1044. XXX_sizecache int32 `json:"-"`
  1045. }
  1046. func (m *VideoOutstreamAdInfo) Reset() { *m = VideoOutstreamAdInfo{} }
  1047. func (m *VideoOutstreamAdInfo) String() string { return proto.CompactTextString(m) }
  1048. func (*VideoOutstreamAdInfo) ProtoMessage() {}
  1049. func (*VideoOutstreamAdInfo) Descriptor() ([]byte, []int) {
  1050. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{16}
  1051. }
  1052. func (m *VideoOutstreamAdInfo) XXX_Unmarshal(b []byte) error {
  1053. return xxx_messageInfo_VideoOutstreamAdInfo.Unmarshal(m, b)
  1054. }
  1055. func (m *VideoOutstreamAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1056. return xxx_messageInfo_VideoOutstreamAdInfo.Marshal(b, m, deterministic)
  1057. }
  1058. func (dst *VideoOutstreamAdInfo) XXX_Merge(src proto.Message) {
  1059. xxx_messageInfo_VideoOutstreamAdInfo.Merge(dst, src)
  1060. }
  1061. func (m *VideoOutstreamAdInfo) XXX_Size() int {
  1062. return xxx_messageInfo_VideoOutstreamAdInfo.Size(m)
  1063. }
  1064. func (m *VideoOutstreamAdInfo) XXX_DiscardUnknown() {
  1065. xxx_messageInfo_VideoOutstreamAdInfo.DiscardUnknown(m)
  1066. }
  1067. var xxx_messageInfo_VideoOutstreamAdInfo proto.InternalMessageInfo
  1068. func (m *VideoOutstreamAdInfo) GetHeadline() *wrappers.StringValue {
  1069. if m != nil {
  1070. return m.Headline
  1071. }
  1072. return nil
  1073. }
  1074. func (m *VideoOutstreamAdInfo) GetDescription() *wrappers.StringValue {
  1075. if m != nil {
  1076. return m.Description
  1077. }
  1078. return nil
  1079. }
  1080. // A video ad.
  1081. type VideoAdInfo struct {
  1082. // The MediaFile resource to use for the video.
  1083. MediaFile *wrappers.StringValue `protobuf:"bytes,1,opt,name=media_file,json=mediaFile,proto3" json:"media_file,omitempty"`
  1084. // Format-specific schema for the different video formats.
  1085. //
  1086. // Types that are valid to be assigned to Format:
  1087. // *VideoAdInfo_InStream
  1088. // *VideoAdInfo_Bumper
  1089. // *VideoAdInfo_OutStream
  1090. // *VideoAdInfo_NonSkippable
  1091. Format isVideoAdInfo_Format `protobuf_oneof:"format"`
  1092. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1093. XXX_unrecognized []byte `json:"-"`
  1094. XXX_sizecache int32 `json:"-"`
  1095. }
  1096. func (m *VideoAdInfo) Reset() { *m = VideoAdInfo{} }
  1097. func (m *VideoAdInfo) String() string { return proto.CompactTextString(m) }
  1098. func (*VideoAdInfo) ProtoMessage() {}
  1099. func (*VideoAdInfo) Descriptor() ([]byte, []int) {
  1100. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{17}
  1101. }
  1102. func (m *VideoAdInfo) XXX_Unmarshal(b []byte) error {
  1103. return xxx_messageInfo_VideoAdInfo.Unmarshal(m, b)
  1104. }
  1105. func (m *VideoAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1106. return xxx_messageInfo_VideoAdInfo.Marshal(b, m, deterministic)
  1107. }
  1108. func (dst *VideoAdInfo) XXX_Merge(src proto.Message) {
  1109. xxx_messageInfo_VideoAdInfo.Merge(dst, src)
  1110. }
  1111. func (m *VideoAdInfo) XXX_Size() int {
  1112. return xxx_messageInfo_VideoAdInfo.Size(m)
  1113. }
  1114. func (m *VideoAdInfo) XXX_DiscardUnknown() {
  1115. xxx_messageInfo_VideoAdInfo.DiscardUnknown(m)
  1116. }
  1117. var xxx_messageInfo_VideoAdInfo proto.InternalMessageInfo
  1118. func (m *VideoAdInfo) GetMediaFile() *wrappers.StringValue {
  1119. if m != nil {
  1120. return m.MediaFile
  1121. }
  1122. return nil
  1123. }
  1124. type isVideoAdInfo_Format interface {
  1125. isVideoAdInfo_Format()
  1126. }
  1127. type VideoAdInfo_InStream struct {
  1128. InStream *VideoTrueViewInStreamAdInfo `protobuf:"bytes,2,opt,name=in_stream,json=inStream,proto3,oneof"`
  1129. }
  1130. type VideoAdInfo_Bumper struct {
  1131. Bumper *VideoBumperInStreamAdInfo `protobuf:"bytes,3,opt,name=bumper,proto3,oneof"`
  1132. }
  1133. type VideoAdInfo_OutStream struct {
  1134. OutStream *VideoOutstreamAdInfo `protobuf:"bytes,4,opt,name=out_stream,json=outStream,proto3,oneof"`
  1135. }
  1136. type VideoAdInfo_NonSkippable struct {
  1137. NonSkippable *VideoNonSkippableInStreamAdInfo `protobuf:"bytes,5,opt,name=non_skippable,json=nonSkippable,proto3,oneof"`
  1138. }
  1139. func (*VideoAdInfo_InStream) isVideoAdInfo_Format() {}
  1140. func (*VideoAdInfo_Bumper) isVideoAdInfo_Format() {}
  1141. func (*VideoAdInfo_OutStream) isVideoAdInfo_Format() {}
  1142. func (*VideoAdInfo_NonSkippable) isVideoAdInfo_Format() {}
  1143. func (m *VideoAdInfo) GetFormat() isVideoAdInfo_Format {
  1144. if m != nil {
  1145. return m.Format
  1146. }
  1147. return nil
  1148. }
  1149. func (m *VideoAdInfo) GetInStream() *VideoTrueViewInStreamAdInfo {
  1150. if x, ok := m.GetFormat().(*VideoAdInfo_InStream); ok {
  1151. return x.InStream
  1152. }
  1153. return nil
  1154. }
  1155. func (m *VideoAdInfo) GetBumper() *VideoBumperInStreamAdInfo {
  1156. if x, ok := m.GetFormat().(*VideoAdInfo_Bumper); ok {
  1157. return x.Bumper
  1158. }
  1159. return nil
  1160. }
  1161. func (m *VideoAdInfo) GetOutStream() *VideoOutstreamAdInfo {
  1162. if x, ok := m.GetFormat().(*VideoAdInfo_OutStream); ok {
  1163. return x.OutStream
  1164. }
  1165. return nil
  1166. }
  1167. func (m *VideoAdInfo) GetNonSkippable() *VideoNonSkippableInStreamAdInfo {
  1168. if x, ok := m.GetFormat().(*VideoAdInfo_NonSkippable); ok {
  1169. return x.NonSkippable
  1170. }
  1171. return nil
  1172. }
  1173. // XXX_OneofFuncs is for the internal use of the proto package.
  1174. func (*VideoAdInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1175. return _VideoAdInfo_OneofMarshaler, _VideoAdInfo_OneofUnmarshaler, _VideoAdInfo_OneofSizer, []interface{}{
  1176. (*VideoAdInfo_InStream)(nil),
  1177. (*VideoAdInfo_Bumper)(nil),
  1178. (*VideoAdInfo_OutStream)(nil),
  1179. (*VideoAdInfo_NonSkippable)(nil),
  1180. }
  1181. }
  1182. func _VideoAdInfo_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1183. m := msg.(*VideoAdInfo)
  1184. // format
  1185. switch x := m.Format.(type) {
  1186. case *VideoAdInfo_InStream:
  1187. b.EncodeVarint(2<<3 | proto.WireBytes)
  1188. if err := b.EncodeMessage(x.InStream); err != nil {
  1189. return err
  1190. }
  1191. case *VideoAdInfo_Bumper:
  1192. b.EncodeVarint(3<<3 | proto.WireBytes)
  1193. if err := b.EncodeMessage(x.Bumper); err != nil {
  1194. return err
  1195. }
  1196. case *VideoAdInfo_OutStream:
  1197. b.EncodeVarint(4<<3 | proto.WireBytes)
  1198. if err := b.EncodeMessage(x.OutStream); err != nil {
  1199. return err
  1200. }
  1201. case *VideoAdInfo_NonSkippable:
  1202. b.EncodeVarint(5<<3 | proto.WireBytes)
  1203. if err := b.EncodeMessage(x.NonSkippable); err != nil {
  1204. return err
  1205. }
  1206. case nil:
  1207. default:
  1208. return fmt.Errorf("VideoAdInfo.Format has unexpected type %T", x)
  1209. }
  1210. return nil
  1211. }
  1212. func _VideoAdInfo_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1213. m := msg.(*VideoAdInfo)
  1214. switch tag {
  1215. case 2: // format.in_stream
  1216. if wire != proto.WireBytes {
  1217. return true, proto.ErrInternalBadWireType
  1218. }
  1219. msg := new(VideoTrueViewInStreamAdInfo)
  1220. err := b.DecodeMessage(msg)
  1221. m.Format = &VideoAdInfo_InStream{msg}
  1222. return true, err
  1223. case 3: // format.bumper
  1224. if wire != proto.WireBytes {
  1225. return true, proto.ErrInternalBadWireType
  1226. }
  1227. msg := new(VideoBumperInStreamAdInfo)
  1228. err := b.DecodeMessage(msg)
  1229. m.Format = &VideoAdInfo_Bumper{msg}
  1230. return true, err
  1231. case 4: // format.out_stream
  1232. if wire != proto.WireBytes {
  1233. return true, proto.ErrInternalBadWireType
  1234. }
  1235. msg := new(VideoOutstreamAdInfo)
  1236. err := b.DecodeMessage(msg)
  1237. m.Format = &VideoAdInfo_OutStream{msg}
  1238. return true, err
  1239. case 5: // format.non_skippable
  1240. if wire != proto.WireBytes {
  1241. return true, proto.ErrInternalBadWireType
  1242. }
  1243. msg := new(VideoNonSkippableInStreamAdInfo)
  1244. err := b.DecodeMessage(msg)
  1245. m.Format = &VideoAdInfo_NonSkippable{msg}
  1246. return true, err
  1247. default:
  1248. return false, nil
  1249. }
  1250. }
  1251. func _VideoAdInfo_OneofSizer(msg proto.Message) (n int) {
  1252. m := msg.(*VideoAdInfo)
  1253. // format
  1254. switch x := m.Format.(type) {
  1255. case *VideoAdInfo_InStream:
  1256. s := proto.Size(x.InStream)
  1257. n += 1 // tag and wire
  1258. n += proto.SizeVarint(uint64(s))
  1259. n += s
  1260. case *VideoAdInfo_Bumper:
  1261. s := proto.Size(x.Bumper)
  1262. n += 1 // tag and wire
  1263. n += proto.SizeVarint(uint64(s))
  1264. n += s
  1265. case *VideoAdInfo_OutStream:
  1266. s := proto.Size(x.OutStream)
  1267. n += 1 // tag and wire
  1268. n += proto.SizeVarint(uint64(s))
  1269. n += s
  1270. case *VideoAdInfo_NonSkippable:
  1271. s := proto.Size(x.NonSkippable)
  1272. n += 1 // tag and wire
  1273. n += proto.SizeVarint(uint64(s))
  1274. n += s
  1275. case nil:
  1276. default:
  1277. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1278. }
  1279. return n
  1280. }
  1281. // A responsive search ad.
  1282. //
  1283. // Responsive search ads let you create an ad that adapts to show more text, and
  1284. // more relevant messages, to your customers. Enter multiple headlines and
  1285. // descriptions when creating a responsive search ad, and over time, Google Ads
  1286. // will automatically test different combinations and learn which combinations
  1287. // perform best. By adapting your ad's content to more closely match potential
  1288. // customers' search terms, responsive search ads may improve your campaign's
  1289. // performance.
  1290. //
  1291. // More information at https://support.google.com/google-ads/answer/7684791
  1292. type ResponsiveSearchAdInfo struct {
  1293. // List of text assets for headlines. When the ad serves the headlines will
  1294. // be selected from this list.
  1295. Headlines []*AdTextAsset `protobuf:"bytes,1,rep,name=headlines,proto3" json:"headlines,omitempty"`
  1296. // List of text assets for descriptions. When the ad serves the descriptions
  1297. // will be selected from this list.
  1298. Descriptions []*AdTextAsset `protobuf:"bytes,2,rep,name=descriptions,proto3" json:"descriptions,omitempty"`
  1299. // First part of text that may appear appended to the url displayed in the ad.
  1300. Path1 *wrappers.StringValue `protobuf:"bytes,3,opt,name=path1,proto3" json:"path1,omitempty"`
  1301. // Second part of text that may appear appended to the url displayed in the
  1302. // ad. This field can only be set when path1 is also set.
  1303. Path2 *wrappers.StringValue `protobuf:"bytes,4,opt,name=path2,proto3" json:"path2,omitempty"`
  1304. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1305. XXX_unrecognized []byte `json:"-"`
  1306. XXX_sizecache int32 `json:"-"`
  1307. }
  1308. func (m *ResponsiveSearchAdInfo) Reset() { *m = ResponsiveSearchAdInfo{} }
  1309. func (m *ResponsiveSearchAdInfo) String() string { return proto.CompactTextString(m) }
  1310. func (*ResponsiveSearchAdInfo) ProtoMessage() {}
  1311. func (*ResponsiveSearchAdInfo) Descriptor() ([]byte, []int) {
  1312. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{18}
  1313. }
  1314. func (m *ResponsiveSearchAdInfo) XXX_Unmarshal(b []byte) error {
  1315. return xxx_messageInfo_ResponsiveSearchAdInfo.Unmarshal(m, b)
  1316. }
  1317. func (m *ResponsiveSearchAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1318. return xxx_messageInfo_ResponsiveSearchAdInfo.Marshal(b, m, deterministic)
  1319. }
  1320. func (dst *ResponsiveSearchAdInfo) XXX_Merge(src proto.Message) {
  1321. xxx_messageInfo_ResponsiveSearchAdInfo.Merge(dst, src)
  1322. }
  1323. func (m *ResponsiveSearchAdInfo) XXX_Size() int {
  1324. return xxx_messageInfo_ResponsiveSearchAdInfo.Size(m)
  1325. }
  1326. func (m *ResponsiveSearchAdInfo) XXX_DiscardUnknown() {
  1327. xxx_messageInfo_ResponsiveSearchAdInfo.DiscardUnknown(m)
  1328. }
  1329. var xxx_messageInfo_ResponsiveSearchAdInfo proto.InternalMessageInfo
  1330. func (m *ResponsiveSearchAdInfo) GetHeadlines() []*AdTextAsset {
  1331. if m != nil {
  1332. return m.Headlines
  1333. }
  1334. return nil
  1335. }
  1336. func (m *ResponsiveSearchAdInfo) GetDescriptions() []*AdTextAsset {
  1337. if m != nil {
  1338. return m.Descriptions
  1339. }
  1340. return nil
  1341. }
  1342. func (m *ResponsiveSearchAdInfo) GetPath1() *wrappers.StringValue {
  1343. if m != nil {
  1344. return m.Path1
  1345. }
  1346. return nil
  1347. }
  1348. func (m *ResponsiveSearchAdInfo) GetPath2() *wrappers.StringValue {
  1349. if m != nil {
  1350. return m.Path2
  1351. }
  1352. return nil
  1353. }
  1354. // A legacy responsive display ad. Ads of this type are labeled 'Responsive ads'
  1355. // in the Google Ads UI.
  1356. type LegacyResponsiveDisplayAdInfo struct {
  1357. // The short version of the ad's headline.
  1358. ShortHeadline *wrappers.StringValue `protobuf:"bytes,1,opt,name=short_headline,json=shortHeadline,proto3" json:"short_headline,omitempty"`
  1359. // The long version of the ad's headline.
  1360. LongHeadline *wrappers.StringValue `protobuf:"bytes,2,opt,name=long_headline,json=longHeadline,proto3" json:"long_headline,omitempty"`
  1361. // The description of the ad.
  1362. Description *wrappers.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  1363. // The business name in the ad.
  1364. BusinessName *wrappers.StringValue `protobuf:"bytes,4,opt,name=business_name,json=businessName,proto3" json:"business_name,omitempty"`
  1365. // Advertiser's consent to allow flexible color. When true, the ad may be
  1366. // served with different color if necessary. When false, the ad will be served
  1367. // with the specified colors or a neutral color.
  1368. // The default value is true.
  1369. // Must be true if main_color and accent_color are not set.
  1370. AllowFlexibleColor *wrappers.BoolValue `protobuf:"bytes,5,opt,name=allow_flexible_color,json=allowFlexibleColor,proto3" json:"allow_flexible_color,omitempty"`
  1371. // The accent color of the ad in hexadecimal, e.g. #ffffff for white.
  1372. // If one of main_color and accent_color is set, the other is required as
  1373. // well.
  1374. AccentColor *wrappers.StringValue `protobuf:"bytes,6,opt,name=accent_color,json=accentColor,proto3" json:"accent_color,omitempty"`
  1375. // The main color of the ad in hexadecimal, e.g. #ffffff for white.
  1376. // If one of main_color and accent_color is set, the other is required as
  1377. // well.
  1378. MainColor *wrappers.StringValue `protobuf:"bytes,7,opt,name=main_color,json=mainColor,proto3" json:"main_color,omitempty"`
  1379. // The call-to-action text for the ad.
  1380. CallToActionText *wrappers.StringValue `protobuf:"bytes,8,opt,name=call_to_action_text,json=callToActionText,proto3" json:"call_to_action_text,omitempty"`
  1381. // The MediaFile resource name of the logo image used in the ad.
  1382. LogoImage *wrappers.StringValue `protobuf:"bytes,9,opt,name=logo_image,json=logoImage,proto3" json:"logo_image,omitempty"`
  1383. // The MediaFile resource name of the square logo image used in the ad.
  1384. SquareLogoImage *wrappers.StringValue `protobuf:"bytes,10,opt,name=square_logo_image,json=squareLogoImage,proto3" json:"square_logo_image,omitempty"`
  1385. // The MediaFile resource name of the marketing image used in the ad.
  1386. MarketingImage *wrappers.StringValue `protobuf:"bytes,11,opt,name=marketing_image,json=marketingImage,proto3" json:"marketing_image,omitempty"`
  1387. // The MediaFile resource name of the square marketing image used in the ad.
  1388. SquareMarketingImage *wrappers.StringValue `protobuf:"bytes,12,opt,name=square_marketing_image,json=squareMarketingImage,proto3" json:"square_marketing_image,omitempty"`
  1389. // Specifies which format the ad will be served in. Default is ALL_FORMATS.
  1390. FormatSetting enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting `protobuf:"varint,13,opt,name=format_setting,json=formatSetting,proto3,enum=google.ads.googleads.v1.enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting" json:"format_setting,omitempty"`
  1391. // Prefix before price. E.g. 'as low as'.
  1392. PricePrefix *wrappers.StringValue `protobuf:"bytes,14,opt,name=price_prefix,json=pricePrefix,proto3" json:"price_prefix,omitempty"`
  1393. // Promotion text used for dyanmic formats of responsive ads. For example
  1394. // 'Free two-day shipping'.
  1395. PromoText *wrappers.StringValue `protobuf:"bytes,15,opt,name=promo_text,json=promoText,proto3" json:"promo_text,omitempty"`
  1396. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1397. XXX_unrecognized []byte `json:"-"`
  1398. XXX_sizecache int32 `json:"-"`
  1399. }
  1400. func (m *LegacyResponsiveDisplayAdInfo) Reset() { *m = LegacyResponsiveDisplayAdInfo{} }
  1401. func (m *LegacyResponsiveDisplayAdInfo) String() string { return proto.CompactTextString(m) }
  1402. func (*LegacyResponsiveDisplayAdInfo) ProtoMessage() {}
  1403. func (*LegacyResponsiveDisplayAdInfo) Descriptor() ([]byte, []int) {
  1404. return fileDescriptor_ad_type_infos_2271eaf47f4b0cda, []int{19}
  1405. }
  1406. func (m *LegacyResponsiveDisplayAdInfo) XXX_Unmarshal(b []byte) error {
  1407. return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Unmarshal(m, b)
  1408. }
  1409. func (m *LegacyResponsiveDisplayAdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1410. return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Marshal(b, m, deterministic)
  1411. }
  1412. func (dst *LegacyResponsiveDisplayAdInfo) XXX_Merge(src proto.Message) {
  1413. xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Merge(dst, src)
  1414. }
  1415. func (m *LegacyResponsiveDisplayAdInfo) XXX_Size() int {
  1416. return xxx_messageInfo_LegacyResponsiveDisplayAdInfo.Size(m)
  1417. }
  1418. func (m *LegacyResponsiveDisplayAdInfo) XXX_DiscardUnknown() {
  1419. xxx_messageInfo_LegacyResponsiveDisplayAdInfo.DiscardUnknown(m)
  1420. }
  1421. var xxx_messageInfo_LegacyResponsiveDisplayAdInfo proto.InternalMessageInfo
  1422. func (m *LegacyResponsiveDisplayAdInfo) GetShortHeadline() *wrappers.StringValue {
  1423. if m != nil {
  1424. return m.ShortHeadline
  1425. }
  1426. return nil
  1427. }
  1428. func (m *LegacyResponsiveDisplayAdInfo) GetLongHeadline() *wrappers.StringValue {
  1429. if m != nil {
  1430. return m.LongHeadline
  1431. }
  1432. return nil
  1433. }
  1434. func (m *LegacyResponsiveDisplayAdInfo) GetDescription() *wrappers.StringValue {
  1435. if m != nil {
  1436. return m.Description
  1437. }
  1438. return nil
  1439. }
  1440. func (m *LegacyResponsiveDisplayAdInfo) GetBusinessName() *wrappers.StringValue {
  1441. if m != nil {
  1442. return m.BusinessName
  1443. }
  1444. return nil
  1445. }
  1446. func (m *LegacyResponsiveDisplayAdInfo) GetAllowFlexibleColor() *wrappers.BoolValue {
  1447. if m != nil {
  1448. return m.AllowFlexibleColor
  1449. }
  1450. return nil
  1451. }
  1452. func (m *LegacyResponsiveDisplayAdInfo) GetAccentColor() *wrappers.StringValue {
  1453. if m != nil {
  1454. return m.AccentColor
  1455. }
  1456. return nil
  1457. }
  1458. func (m *LegacyResponsiveDisplayAdInfo) GetMainColor() *wrappers.StringValue {
  1459. if m != nil {
  1460. return m.MainColor
  1461. }
  1462. return nil
  1463. }
  1464. func (m *LegacyResponsiveDisplayAdInfo) GetCallToActionText() *wrappers.StringValue {
  1465. if m != nil {
  1466. return m.CallToActionText
  1467. }
  1468. return nil
  1469. }
  1470. func (m *LegacyResponsiveDisplayAdInfo) GetLogoImage() *wrappers.StringValue {
  1471. if m != nil {
  1472. return m.LogoImage
  1473. }
  1474. return nil
  1475. }
  1476. func (m *LegacyResponsiveDisplayAdInfo) GetSquareLogoImage() *wrappers.StringValue {
  1477. if m != nil {
  1478. return m.SquareLogoImage
  1479. }
  1480. return nil
  1481. }
  1482. func (m *LegacyResponsiveDisplayAdInfo) GetMarketingImage() *wrappers.StringValue {
  1483. if m != nil {
  1484. return m.MarketingImage
  1485. }
  1486. return nil
  1487. }
  1488. func (m *LegacyResponsiveDisplayAdInfo) GetSquareMarketingImage() *wrappers.StringValue {
  1489. if m != nil {
  1490. return m.SquareMarketingImage
  1491. }
  1492. return nil
  1493. }
  1494. func (m *LegacyResponsiveDisplayAdInfo) GetFormatSetting() enums.DisplayAdFormatSettingEnum_DisplayAdFormatSetting {
  1495. if m != nil {
  1496. return m.FormatSetting
  1497. }
  1498. return enums.DisplayAdFormatSettingEnum_UNSPECIFIED
  1499. }
  1500. func (m *LegacyResponsiveDisplayAdInfo) GetPricePrefix() *wrappers.StringValue {
  1501. if m != nil {
  1502. return m.PricePrefix
  1503. }
  1504. return nil
  1505. }
  1506. func (m *LegacyResponsiveDisplayAdInfo) GetPromoText() *wrappers.StringValue {
  1507. if m != nil {
  1508. return m.PromoText
  1509. }
  1510. return nil
  1511. }
  1512. func init() {
  1513. proto.RegisterType((*TextAdInfo)(nil), "google.ads.googleads.v1.common.TextAdInfo")
  1514. proto.RegisterType((*ExpandedTextAdInfo)(nil), "google.ads.googleads.v1.common.ExpandedTextAdInfo")
  1515. proto.RegisterType((*CallOnlyAdInfo)(nil), "google.ads.googleads.v1.common.CallOnlyAdInfo")
  1516. proto.RegisterType((*ExpandedDynamicSearchAdInfo)(nil), "google.ads.googleads.v1.common.ExpandedDynamicSearchAdInfo")
  1517. proto.RegisterType((*HotelAdInfo)(nil), "google.ads.googleads.v1.common.HotelAdInfo")
  1518. proto.RegisterType((*ShoppingSmartAdInfo)(nil), "google.ads.googleads.v1.common.ShoppingSmartAdInfo")
  1519. proto.RegisterType((*ShoppingProductAdInfo)(nil), "google.ads.googleads.v1.common.ShoppingProductAdInfo")
  1520. proto.RegisterType((*GmailAdInfo)(nil), "google.ads.googleads.v1.common.GmailAdInfo")
  1521. proto.RegisterType((*GmailTeaser)(nil), "google.ads.googleads.v1.common.GmailTeaser")
  1522. proto.RegisterType((*DisplayCallToAction)(nil), "google.ads.googleads.v1.common.DisplayCallToAction")
  1523. proto.RegisterType((*ProductImage)(nil), "google.ads.googleads.v1.common.ProductImage")
  1524. proto.RegisterType((*ProductVideo)(nil), "google.ads.googleads.v1.common.ProductVideo")
  1525. proto.RegisterType((*ImageAdInfo)(nil), "google.ads.googleads.v1.common.ImageAdInfo")
  1526. proto.RegisterType((*VideoBumperInStreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoBumperInStreamAdInfo")
  1527. proto.RegisterType((*VideoNonSkippableInStreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoNonSkippableInStreamAdInfo")
  1528. proto.RegisterType((*VideoTrueViewInStreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoTrueViewInStreamAdInfo")
  1529. proto.RegisterType((*VideoOutstreamAdInfo)(nil), "google.ads.googleads.v1.common.VideoOutstreamAdInfo")
  1530. proto.RegisterType((*VideoAdInfo)(nil), "google.ads.googleads.v1.common.VideoAdInfo")
  1531. proto.RegisterType((*ResponsiveSearchAdInfo)(nil), "google.ads.googleads.v1.common.ResponsiveSearchAdInfo")
  1532. proto.RegisterType((*LegacyResponsiveDisplayAdInfo)(nil), "google.ads.googleads.v1.common.LegacyResponsiveDisplayAdInfo")
  1533. }
  1534. func init() {
  1535. proto.RegisterFile("google/ads/googleads/v1/common/ad_type_infos.proto", fileDescriptor_ad_type_infos_2271eaf47f4b0cda)
  1536. }
  1537. var fileDescriptor_ad_type_infos_2271eaf47f4b0cda = []byte{
  1538. // 1857 bytes of a gzipped FileDescriptorProto
  1539. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4d, 0x6f, 0x1b, 0xc7,
  1540. 0x19, 0x36, 0xf5, 0x49, 0xbd, 0xa4, 0xe4, 0x78, 0x65, 0x3b, 0x8c, 0x94, 0xa4, 0xce, 0x1e, 0x0a,
  1541. 0x03, 0x6d, 0xa8, 0x92, 0x36, 0x8a, 0x46, 0xae, 0xe3, 0x52, 0xf4, 0x07, 0x89, 0xc8, 0xb6, 0x42,
  1542. 0x32, 0x2a, 0x10, 0xa8, 0x58, 0x8c, 0x76, 0x87, 0xe4, 0xc0, 0xbb, 0x33, 0xdb, 0x99, 0x5d, 0x49,
  1543. 0xbc, 0xf6, 0xd0, 0x5e, 0x7b, 0x2e, 0x7a, 0xea, 0xb1, 0xc7, 0x02, 0xfd, 0x05, 0xed, 0x29, 0x40,
  1544. 0xfb, 0x0b, 0xfa, 0x0b, 0xda, 0x9f, 0xd0, 0x4b, 0x31, 0x1f, 0x4b, 0x2d, 0x49, 0x4b, 0x1c, 0xda,
  1545. 0x05, 0x72, 0xe2, 0x7e, 0xbc, 0xcf, 0xb3, 0xef, 0xf7, 0xbc, 0x33, 0x84, 0xfa, 0x80, 0xb1, 0x41,
  1546. 0x88, 0xf7, 0x50, 0x20, 0xf6, 0xf4, 0xa5, 0xbc, 0x3a, 0xab, 0xed, 0xf9, 0x2c, 0x8a, 0x18, 0xdd,
  1547. 0x43, 0x81, 0x97, 0x8c, 0x62, 0xec, 0x11, 0xda, 0x67, 0xa2, 0x1a, 0x73, 0x96, 0x30, 0xe7, 0x53,
  1548. 0x2d, 0x58, 0x45, 0x81, 0xa8, 0x8e, 0x31, 0xd5, 0xb3, 0x5a, 0x55, 0x63, 0x76, 0x3e, 0x9f, 0xcf,
  1549. 0x89, 0x84, 0xc0, 0x89, 0xa6, 0xdb, 0x69, 0x5e, 0x25, 0x8e, 0x69, 0x1a, 0x89, 0x3d, 0x1f, 0x85,
  1550. 0xa1, 0xe7, 0x33, 0x7a, 0x86, 0xb9, 0x20, 0x8c, 0x7a, 0x1c, 0xc7, 0x8c, 0x27, 0x84, 0x0e, 0x3c,
  1551. 0x91, 0xa0, 0x04, 0x1b, 0x92, 0xc7, 0xd7, 0x93, 0x04, 0x44, 0xc4, 0x21, 0x1a, 0x79, 0x28, 0xf0,
  1552. 0xfa, 0x8c, 0x47, 0x28, 0xf1, 0x04, 0x4e, 0x24, 0x89, 0x81, 0x7f, 0x7e, 0x3d, 0x3c, 0x22, 0x11,
  1553. 0x56, 0x7e, 0x30, 0xe2, 0xc6, 0x03, 0x7b, 0xea, 0xee, 0x34, 0xed, 0xef, 0x9d, 0x73, 0x14, 0xc7,
  1554. 0x98, 0x1b, 0x0f, 0xed, 0x7c, 0x9c, 0xd1, 0xc5, 0x64, 0x0f, 0x51, 0xca, 0x12, 0x94, 0x10, 0x46,
  1555. 0xcd, 0x5b, 0xf7, 0xbb, 0x02, 0x40, 0x0f, 0x5f, 0x24, 0x8d, 0xa0, 0x4d, 0xfb, 0xcc, 0xf9, 0x19,
  1556. 0x14, 0x87, 0x18, 0x05, 0x21, 0xa1, 0xb8, 0x52, 0xb8, 0x57, 0xb8, 0x5f, 0xaa, 0x7f, 0x6c, 0xdc,
  1557. 0x5a, 0xcd, 0xf8, 0xab, 0xdd, 0x84, 0x13, 0x3a, 0x38, 0x46, 0x61, 0x8a, 0x3b, 0x63, 0x69, 0xe7,
  1558. 0x17, 0x50, 0x0e, 0xb0, 0xf0, 0x39, 0x89, 0x25, 0x7d, 0xad, 0xb2, 0x64, 0x81, 0x9e, 0x40, 0x4c,
  1559. 0x31, 0xd4, 0x2b, 0xcb, 0x0b, 0x32, 0xd4, 0xdd, 0x7f, 0x2c, 0x83, 0xf3, 0xec, 0x22, 0x46, 0x34,
  1560. 0xc0, 0x41, 0xce, 0xa8, 0x26, 0x6c, 0x65, 0x6a, 0x7a, 0x31, 0xe2, 0x49, 0xcd, 0xca, 0xb4, 0xcd,
  1561. 0x0c, 0x73, 0x24, 0x21, 0x33, 0x24, 0x75, 0x2b, 0x0b, 0x27, 0x48, 0xea, 0x33, 0x24, 0x0f, 0x2a,
  1562. 0x6b, 0x8b, 0x92, 0x3c, 0x70, 0xbe, 0x84, 0x52, 0xce, 0x6a, 0x2b, 0x37, 0xe5, 0x01, 0x33, 0x7e,
  1563. 0x5e, 0x5f, 0xd4, 0xcf, 0x4e, 0x1d, 0x56, 0x63, 0x94, 0x0c, 0x6b, 0x95, 0x15, 0x0b, 0xa8, 0x16,
  1564. 0xcd, 0x30, 0xf5, 0xca, 0xaa, 0x2d, 0xa6, 0xee, 0xfe, 0x75, 0x0d, 0xb6, 0x9a, 0x28, 0x0c, 0x5f,
  1565. 0xd3, 0x70, 0x64, 0x62, 0xf9, 0x04, 0xca, 0x3e, 0x4b, 0x69, 0xc2, 0x47, 0x9e, 0xcf, 0x02, 0xbb,
  1566. 0x24, 0x2d, 0x19, 0x44, 0x93, 0x05, 0x58, 0x12, 0xc4, 0x43, 0x46, 0xb1, 0x47, 0xd3, 0xe8, 0x14,
  1567. 0x73, 0xab, 0x28, 0x96, 0x14, 0xe2, 0x95, 0x02, 0x38, 0x0d, 0xd8, 0x3c, 0x4d, 0x05, 0xa1, 0x58,
  1568. 0x08, 0x8f, 0xa2, 0x08, 0xdb, 0xe5, 0x69, 0x06, 0x79, 0x85, 0xa2, 0xd9, 0x5a, 0x59, 0x79, 0xef,
  1569. 0x5a, 0x59, 0x5d, 0x38, 0x86, 0x8f, 0xa1, 0xac, 0xba, 0x59, 0xc2, 0x91, 0xff, 0x06, 0x07, 0x26,
  1570. 0x11, 0x77, 0x66, 0x18, 0x0e, 0x18, 0x0b, 0x33, 0x37, 0xa2, 0x30, 0xec, 0x69, 0x71, 0xa7, 0x03,
  1571. 0x1f, 0x06, 0x44, 0xa0, 0xd3, 0x10, 0x7b, 0x53, 0x4d, 0xd1, 0xe4, 0xd3, 0x75, 0x4c, 0x77, 0x0c,
  1572. 0x54, 0xc6, 0xb6, 0x39, 0x06, 0x3a, 0x1e, 0x7c, 0x92, 0x0f, 0x8d, 0x77, 0x86, 0x39, 0xe9, 0x13,
  1573. 0x5f, 0xf5, 0x2b, 0x2f, 0xe5, 0x61, 0xa5, 0x68, 0x61, 0xe5, 0x4e, 0x2e, 0x56, 0xc7, 0x39, 0x82,
  1574. 0x6f, 0x78, 0xe8, 0xb4, 0xe1, 0x56, 0xae, 0x79, 0x23, 0x5f, 0xd5, 0xcf, 0x86, 0x05, 0xe9, 0x07,
  1575. 0x97, 0xb0, 0x86, 0x42, 0x39, 0x7f, 0x28, 0xc0, 0xce, 0xd5, 0x0b, 0x41, 0x05, 0xee, 0x15, 0xee,
  1576. 0x6f, 0xd5, 0x4f, 0xaa, 0x57, 0xad, 0x4e, 0xaa, 0x95, 0x57, 0x27, 0xed, 0xef, 0x64, 0x1c, 0x5d,
  1577. 0x49, 0xf1, 0x8c, 0xa6, 0xd1, 0xb5, 0x02, 0x9d, 0x8a, 0x7f, 0xc5, 0x1b, 0xf7, 0x57, 0xb0, 0x9b,
  1578. 0xb5, 0xc1, 0xa7, 0x23, 0x8a, 0x22, 0xe2, 0x77, 0x31, 0xe2, 0xfe, 0xd0, 0xd4, 0xd0, 0x54, 0x03,
  1579. 0x29, 0x2c, 0xd8, 0x40, 0xdc, 0x4d, 0x28, 0xb5, 0x58, 0x82, 0x43, 0x4d, 0xe7, 0xde, 0x81, 0xed,
  1580. 0xee, 0x90, 0xc5, 0xb1, 0xfc, 0x7c, 0x84, 0xb8, 0xe9, 0xba, 0xee, 0x87, 0x70, 0x27, 0x7b, 0x7c,
  1581. 0xc4, 0x59, 0x90, 0xfa, 0xd9, 0x8b, 0xbf, 0xad, 0x42, 0xe9, 0x45, 0x84, 0x48, 0x38, 0x6e, 0xcf,
  1582. 0x6b, 0x09, 0x46, 0x02, 0x73, 0xa3, 0xc9, 0x8f, 0xaa, 0xd7, 0xaf, 0xe9, 0x55, 0x05, 0xee, 0x29,
  1583. 0x48, 0xc7, 0x40, 0x65, 0x59, 0xcb, 0x2e, 0x89, 0xb9, 0x47, 0x22, 0x34, 0xc0, 0x76, 0x65, 0xad,
  1584. 0x11, 0x6d, 0x09, 0x70, 0x9e, 0xc1, 0xcd, 0x08, 0xf1, 0x37, 0x58, 0x05, 0x51, 0x73, 0xd8, 0x14,
  1585. 0xf6, 0xd6, 0x18, 0xa4, 0x69, 0x8e, 0xa1, 0x32, 0x45, 0xe3, 0x8d, 0x17, 0x54, 0x9b, 0x32, 0xbf,
  1586. 0x3b, 0xc9, 0xd7, 0xca, 0x96, 0xd7, 0x13, 0xd8, 0x9d, 0xe6, 0xcd, 0xc7, 0xd0, 0xa6, 0xfe, 0x3f,
  1587. 0x9a, 0xa4, 0x7e, 0x9a, 0x5b, 0x12, 0x7e, 0x5b, 0x80, 0x1f, 0xce, 0xd0, 0x9b, 0x31, 0x45, 0x77,
  1588. 0x09, 0x96, 0x95, 0x8b, 0xee, 0x13, 0x0f, 0xe6, 0xc5, 0xe8, 0xa9, 0x46, 0xcb, 0x04, 0xee, 0x31,
  1589. 0x5d, 0x33, 0x9d, 0xcf, 0xa6, 0x14, 0x98, 0x15, 0x71, 0xba, 0xb0, 0x15, 0xeb, 0x64, 0xd1, 0x5a,
  1590. 0x88, 0xca, 0xfa, 0xbd, 0xe5, 0xfb, 0xa5, 0xfa, 0x8f, 0xe7, 0x7d, 0xcf, 0xa4, 0x98, 0x22, 0xee,
  1591. 0x6c, 0xc6, 0xb9, 0x3b, 0x91, 0x27, 0x3d, 0x23, 0x01, 0x66, 0xa2, 0x52, 0x5c, 0x88, 0xf4, 0x58,
  1592. 0x82, 0xc6, 0xa4, 0xea, 0x4e, 0xb8, 0xbf, 0x5b, 0x32, 0x59, 0xac, 0x13, 0xf1, 0x3d, 0x26, 0xa7,
  1593. 0xa9, 0x72, 0x5c, 0x5a, 0x74, 0x3d, 0xff, 0x3f, 0x2c, 0x48, 0x8f, 0x00, 0x42, 0x36, 0x60, 0x26,
  1594. 0xef, 0x6d, 0xf2, 0x74, 0x43, 0xca, 0x2b, 0xff, 0xba, 0xff, 0x2c, 0xc0, 0xf6, 0xdb, 0x62, 0xf9,
  1595. 0x13, 0x58, 0x49, 0xf0, 0x45, 0x62, 0xe5, 0x0d, 0x25, 0x29, 0xd5, 0x90, 0xbf, 0x9e, 0xcf, 0x42,
  1596. 0x66, 0xb7, 0x32, 0x6f, 0x48, 0xf9, 0xa6, 0x14, 0x77, 0x5a, 0x70, 0x2b, 0xe5, 0x72, 0x21, 0x0a,
  1597. 0x43, 0xac, 0x14, 0xf0, 0x48, 0x60, 0xe5, 0x8a, 0x9b, 0x29, 0x0f, 0x9b, 0x63, 0x54, 0x3b, 0x70,
  1598. 0xff, 0x5b, 0x80, 0x72, 0x3e, 0x9f, 0xa4, 0x87, 0x27, 0xb2, 0xd2, 0xca, 0xa4, 0x72, 0x3e, 0x09,
  1599. 0xdf, 0x3b, 0xc8, 0x43, 0xb8, 0x7b, 0x45, 0x41, 0x2e, 0xbf, 0x7b, 0x41, 0x6e, 0x07, 0xb3, 0x0f,
  1600. 0xdd, 0xaf, 0xc7, 0xc6, 0xab, 0x4c, 0xcf, 0x1b, 0xaf, 0xaa, 0x67, 0x21, 0xe3, 0x15, 0x85, 0xfb,
  1601. 0x9b, 0x35, 0x28, 0x29, 0x37, 0x98, 0x8e, 0xff, 0x73, 0x28, 0xc5, 0xe4, 0x02, 0x87, 0xde, 0x39,
  1602. 0x09, 0x92, 0xa1, 0xc9, 0xb7, 0xdd, 0x19, 0xc2, 0x36, 0x4d, 0x7e, 0xfa, 0x50, 0xf3, 0x81, 0x92,
  1603. 0xff, 0xa5, 0x14, 0x77, 0xbe, 0x84, 0xb2, 0x46, 0x0f, 0x31, 0x19, 0x0c, 0x13, 0xd3, 0xfb, 0xae,
  1604. 0x85, 0xeb, 0xcf, 0xb5, 0x94, 0xbc, 0xf3, 0x05, 0x6c, 0xe8, 0x0e, 0x27, 0x47, 0x0a, 0x9b, 0xf9,
  1605. 0xbb, 0xa8, 0xc4, 0xe5, 0x00, 0xf1, 0x15, 0x6c, 0xc7, 0x1c, 0x9f, 0x11, 0x7c, 0xee, 0xe5, 0x0d,
  1606. 0x58, 0x9f, 0xaf, 0xc1, 0x2d, 0x83, 0x3b, 0xba, 0xb4, 0xe3, 0x25, 0xdc, 0x9e, 0x24, 0x33, 0xf6,
  1607. 0x14, 0xe7, 0xb3, 0x39, 0x79, 0x36, 0x63, 0x56, 0x0b, 0xb2, 0x6f, 0x78, 0x97, 0xe6, 0xd9, 0x0c,
  1608. 0x37, 0x37, 0x0d, 0xac, 0x9d, 0x59, 0xf9, 0x35, 0x6c, 0x8c, 0x37, 0x99, 0x66, 0x92, 0x79, 0x38,
  1609. 0x67, 0x92, 0x79, 0x49, 0x22, 0xdc, 0x1b, 0xc5, 0x7a, 0x6a, 0xc9, 0x6e, 0x3a, 0xc5, 0xc8, 0x5c,
  1610. 0xc9, 0x5e, 0xa0, 0x5a, 0x53, 0xc9, 0xa6, 0x17, 0x48, 0x49, 0xe7, 0x31, 0x40, 0x84, 0x03, 0x82,
  1611. 0xbc, 0x3e, 0x09, 0xad, 0x0a, 0xae, 0x75, 0xa3, 0xb3, 0xa1, 0x10, 0xcf, 0x49, 0x88, 0x9d, 0x1a,
  1612. 0xac, 0x04, 0x28, 0x41, 0xa6, 0xd0, 0x66, 0x9d, 0x79, 0x30, 0x4a, 0xb0, 0xc8, 0x70, 0x4a, 0xd4,
  1613. 0xe9, 0x41, 0x05, 0x05, 0x1e, 0x09, 0x64, 0x6d, 0xf9, 0x2c, 0x1e, 0x19, 0x37, 0xf6, 0x39, 0x8b,
  1614. 0x4c, 0x91, 0x5d, 0x17, 0x93, 0xd6, 0x8d, 0xce, 0x36, 0x0a, 0xda, 0x41, 0x8f, 0x35, 0x59, 0x3c,
  1615. 0x52, 0xbe, 0x7c, 0xce, 0x59, 0x74, 0xb0, 0x0e, 0xab, 0x8a, 0xc7, 0xdd, 0x85, 0x8f, 0x54, 0x35,
  1616. 0x1c, 0xa4, 0x51, 0x8c, 0x79, 0x9b, 0x76, 0x13, 0x8e, 0x51, 0x64, 0x66, 0xa2, 0xcf, 0xe0, 0x07,
  1617. 0xea, 0xe5, 0x2b, 0x46, 0xbb, 0x6f, 0x48, 0x1c, 0xcb, 0xe9, 0x78, 0x4a, 0xe4, 0x2f, 0x05, 0xd8,
  1618. 0x55, 0x32, 0x3d, 0x9e, 0xe2, 0x63, 0x19, 0xaf, 0x89, 0xf7, 0xce, 0x21, 0x6c, 0xeb, 0x8e, 0xe0,
  1619. 0x9d, 0xa6, 0x49, 0xc2, 0xa8, 0x17, 0xa2, 0x53, 0x1c, 0x5a, 0x55, 0xeb, 0x2d, 0x0d, 0x3c, 0x50,
  1620. 0xb8, 0x43, 0x09, 0x93, 0xe3, 0x90, 0x61, 0x1b, 0xaf, 0x6a, 0x36, 0x3d, 0x6b, 0x4b, 0x83, 0xb2,
  1621. 0xb1, 0xc5, 0xfd, 0x7d, 0x01, 0x6e, 0x2b, 0xa5, 0x5f, 0xa7, 0x89, 0xc8, 0x6b, 0xfb, 0xbd, 0x2d,
  1622. 0x97, 0xee, 0xdf, 0x97, 0xa1, 0xa4, 0x54, 0x32, 0x9a, 0x3c, 0x5a, 0x34, 0xd1, 0xf2, 0x69, 0xf6,
  1623. 0x2d, 0x6c, 0x10, 0xea, 0x69, 0xcb, 0x8c, 0x2a, 0x8f, 0xe6, 0x75, 0xe2, 0x6b, 0x82, 0xd8, 0xba,
  1624. 0xd1, 0x29, 0x12, 0xf3, 0xc4, 0xe9, 0xc2, 0xda, 0xa9, 0xca, 0x15, 0x93, 0x7d, 0x5f, 0x58, 0x11,
  1625. 0xbf, 0x2d, 0xbd, 0x5a, 0x37, 0x3a, 0x86, 0xca, 0xf9, 0x06, 0x80, 0xa5, 0x49, 0xa6, 0xb1, 0xee,
  1626. 0xbc, 0x0f, 0xad, 0x88, 0xa7, 0x22, 0x28, 0xcb, 0x8d, 0xa5, 0x89, 0xd1, 0xb5, 0x0f, 0x9b, 0x94,
  1627. 0x51, 0x4f, 0x64, 0xb9, 0x6b, 0x9a, 0xf2, 0x13, 0x2b, 0xe6, 0xab, 0x93, 0xbe, 0x75, 0xa3, 0x53,
  1628. 0xa6, 0xb9, 0xb7, 0x07, 0x45, 0x58, 0xd3, 0x67, 0x66, 0xee, 0x1f, 0x97, 0xe0, 0x6e, 0x07, 0x8b,
  1629. 0x98, 0x51, 0x41, 0xce, 0xf0, 0xc4, 0xfe, 0xa6, 0x0d, 0x1b, 0x59, 0xb6, 0x88, 0x4a, 0x41, 0x8d,
  1630. 0x7a, 0x73, 0xf7, 0x14, 0x0d, 0x7d, 0x60, 0x24, 0x04, 0x4e, 0x3a, 0x97, 0x68, 0xe7, 0xf5, 0xc4,
  1631. 0x3e, 0x5b, 0x54, 0x96, 0x16, 0x67, 0x9b, 0x20, 0xb8, 0x3c, 0x3a, 0x59, 0x7e, 0x87, 0xa3, 0x93,
  1632. 0x15, 0xfb, 0xa3, 0x93, 0x7f, 0x15, 0xe1, 0x93, 0x43, 0x3c, 0x40, 0xfe, 0xe8, 0xd2, 0x49, 0x66,
  1633. 0x04, 0xb8, 0x3c, 0x15, 0x13, 0x43, 0xc6, 0x13, 0x6f, 0xa1, 0x3a, 0xdc, 0x54, 0x98, 0xf1, 0xb6,
  1634. 0xa4, 0x01, 0x9b, 0x21, 0xa3, 0x83, 0xc5, 0x9a, 0x44, 0x59, 0x42, 0x5a, 0x57, 0xd4, 0xf3, 0xf2,
  1635. 0x7b, 0x8f, 0xbf, 0x2b, 0x0b, 0x8f, 0xbf, 0x87, 0x70, 0x1b, 0x85, 0x21, 0x3b, 0xf7, 0xfa, 0x21,
  1636. 0xbe, 0x20, 0xea, 0x4c, 0x43, 0x4d, 0xa0, 0xab, 0x73, 0x4f, 0x32, 0x1c, 0x85, 0x7b, 0x6e, 0x60,
  1637. 0x7a, 0x10, 0x7d, 0x02, 0x65, 0xe4, 0xfb, 0x98, 0x66, 0x73, 0xac, 0xcd, 0x88, 0x51, 0xd2, 0x08,
  1638. 0x4d, 0x20, 0x3b, 0x12, 0x22, 0xd4, 0xc0, 0xd7, 0xad, 0x3a, 0x12, 0x22, 0x54, 0x83, 0xbf, 0x82,
  1639. 0xed, 0xc9, 0x01, 0xd1, 0x53, 0x43, 0x78, 0xd1, 0xea, 0x94, 0x23, 0x37, 0x07, 0xf6, 0xcc, 0x40,
  1640. 0x9e, 0xdb, 0x17, 0x6c, 0x2c, 0xb4, 0x2f, 0x90, 0x03, 0x89, 0xf8, 0x75, 0x8a, 0x38, 0xf6, 0x72,
  1641. 0x1c, 0x60, 0x33, 0x90, 0x68, 0xd8, 0xe1, 0x98, 0xe9, 0x2d, 0x7b, 0xf3, 0xd2, 0x3b, 0xec, 0xcd,
  1642. 0x3b, 0x70, 0xd7, 0x28, 0x34, 0xcd, 0x56, 0xb6, 0x60, 0xbb, 0xad, 0xb1, 0x2f, 0x27, 0x39, 0xcf,
  1643. 0x61, 0x6b, 0xf2, 0x10, 0xbf, 0xb2, 0xa9, 0x06, 0xa6, 0xa3, 0x39, 0x03, 0xd3, 0xb8, 0x16, 0x9f,
  1644. 0x2b, 0x74, 0x57, 0x83, 0xd5, 0xf8, 0xf4, 0xf6, 0x57, 0x9d, 0xcd, 0x7e, 0xfe, 0x56, 0x9d, 0x63,
  1645. 0x72, 0xe2, 0x63, 0x2f, 0xe6, 0xb8, 0x4f, 0x2e, 0x2a, 0x5b, 0x56, 0xe7, 0x98, 0x12, 0x71, 0xa4,
  1646. 0x00, 0x32, 0xb6, 0x31, 0x67, 0x11, 0xd3, 0xf9, 0x71, 0xd3, 0x26, 0xb6, 0x4a, 0x5e, 0x26, 0xc6,
  1647. 0xc1, 0x7f, 0x0a, 0xe0, 0xfa, 0x2c, 0x9a, 0xd3, 0x07, 0x0f, 0x3e, 0x68, 0x04, 0x72, 0xfc, 0x93,
  1648. 0xfd, 0x46, 0x1c, 0x49, 0xca, 0xa3, 0xc2, 0xb7, 0x4f, 0x0d, 0x66, 0xc0, 0x42, 0x44, 0x07, 0x55,
  1649. 0xc6, 0x07, 0x7b, 0x03, 0x4c, 0xd5, 0x07, 0xb3, 0xbf, 0x3b, 0x62, 0x22, 0xae, 0xfa, 0xc3, 0xe6,
  1650. 0x91, 0xfe, 0xf9, 0xd3, 0xd2, 0xf2, 0x8b, 0x46, 0xe3, 0xcf, 0x4b, 0x9f, 0xbe, 0xd0, 0x64, 0x8d,
  1651. 0x40, 0x54, 0xf5, 0xa5, 0xbc, 0x3a, 0xae, 0x55, 0x9b, 0x4a, 0xec, 0xbb, 0x4c, 0xe0, 0xa4, 0x11,
  1652. 0x88, 0x93, 0xb1, 0xc0, 0xc9, 0x71, 0xed, 0x44, 0x0b, 0xfc, 0x7b, 0xc9, 0xd5, 0x4f, 0xf7, 0xf7,
  1653. 0x1b, 0x81, 0xd8, 0xdf, 0x1f, 0x8b, 0xec, 0xef, 0x1f, 0xd7, 0xf6, 0xf7, 0xb5, 0xd0, 0xe9, 0x9a,
  1654. 0xd2, 0xee, 0xc1, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0e, 0xee, 0x7f, 0x61, 0xa1, 0x1a, 0x00,
  1655. 0x00,
  1656. }