@streamlayer/sl-eslib 5.244.0 → 5.245.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamlayer/sl-eslib",
3
- "version": "5.244.0",
3
+ "version": "5.245.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -0,0 +1,711 @@
1
+ // @generated by protoc-gen-es v2.2.5 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file streamlayer/interactive/gam/interactive.gam.proto (package streamlayer.interactive.gam, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+
8
+ /**
9
+ * Describes the file streamlayer/interactive/gam/interactive.gam.proto.
10
+ */
11
+ export declare const file_streamlayer_interactive_gam_interactive_gam: GenFile;
12
+
13
+ /**
14
+ * @generated from message streamlayer.interactive.gam.AdLoop
15
+ */
16
+ export declare type AdLoop = Message<"streamlayer.interactive.gam.AdLoop"> & {
17
+ /**
18
+ * interval in seconds
19
+ *
20
+ * @generated from field: optional int32 interval = 1;
21
+ */
22
+ interval?: number;
23
+ };
24
+
25
+ /**
26
+ * Describes the message streamlayer.interactive.gam.AdLoop.
27
+ * Use `create(AdLoopSchema)` to create a new message.
28
+ */
29
+ export declare const AdLoopSchema: GenMessage<AdLoop>;
30
+
31
+ /**
32
+ * parameters spec https://support.google.com/admanager/answer/10678356?hl=en
33
+ *
34
+ * @generated from message streamlayer.interactive.gam.GamOptions
35
+ */
36
+ export declare type GamOptions = Message<"streamlayer.interactive.gam.GamOptions"> & {
37
+ /**
38
+ * Core request parameters
39
+ *
40
+ * Environment
41
+ *
42
+ * @generated from field: optional string env = 1;
43
+ */
44
+ env?: string;
45
+
46
+ /**
47
+ * ad manager schema (e.g. gdfp_req=1)
48
+ *
49
+ * @generated from field: optional string gdfp_req = 2;
50
+ */
51
+ gdfpReq?: string;
52
+
53
+ /**
54
+ * Ad unit path (e.g., "iu=/6062/videodemo")
55
+ *
56
+ * @generated from field: optional string iu = 3;
57
+ */
58
+ iu?: string;
59
+
60
+ /**
61
+ * Output format of the ad (e.g., "vast", "xml_vast4")
62
+ *
63
+ * @generated from field: optional string output = 4;
64
+ */
65
+ output?: string;
66
+
67
+ /**
68
+ * Primary ad size (e.g., "400x300")
69
+ *
70
+ * @generated from field: optional string sz = 5;
71
+ */
72
+ sz?: string;
73
+
74
+ /**
75
+ * The delayed impressions parameter (e.g., unviewed_position_start=1)
76
+ *
77
+ * @generated from field: optional string unviewed_position_start = 6;
78
+ */
79
+ unviewedPositionStart?: string;
80
+
81
+ /**
82
+ * Companion ad sizes (e.g., "728x90", "300x250")
83
+ *
84
+ * @generated from field: repeated string ciu_szs = 7;
85
+ */
86
+ ciuSzs: string[];
87
+
88
+ /**
89
+ * The URL from which the ad request is sent
90
+ *
91
+ * @generated from field: optional string url = 8;
92
+ */
93
+ url?: string;
94
+
95
+ /**
96
+ * URL describing the video content
97
+ *
98
+ * @generated from field: optional string description_url = 9;
99
+ */
100
+ descriptionUrl?: string;
101
+
102
+ /**
103
+ * Shared value for competitive exclusions across multiple requests (e.g., correlator=4345645667)
104
+ *
105
+ * @generated from field: optional string correlator = 10;
106
+ */
107
+ correlator?: string;
108
+
109
+ /**
110
+ * Custom key-value pairs for targeting
111
+ *
112
+ * @generated from field: map<string, string> cust_params = 11;
113
+ */
114
+ custParams: { [key: string]: string };
115
+
116
+ /**
117
+ * Common video parameters
118
+ *
119
+ * Placement type (e.g., plcmt=1 for in-stream)
120
+ *
121
+ * @generated from field: optional string plcmt = 12;
122
+ */
123
+ plcmt?: string;
124
+
125
+ /**
126
+ * Video play automatic (e.g., vpa=auto)
127
+ *
128
+ * @generated from field: optional string vpa = 13;
129
+ */
130
+ vpa?: string;
131
+
132
+ /**
133
+ * Video play mute status (e.g., vpmute=1 for muted)
134
+ *
135
+ * @generated from field: optional string vpmute = 14;
136
+ */
137
+ vpmute?: string;
138
+
139
+ /**
140
+ * "Why this ad?" parameter (e.g., wta=1)
141
+ *
142
+ * @generated from field: optional string wta = 15;
143
+ */
144
+ wta?: string;
145
+
146
+ /**
147
+ * Audio continuous play (e.g., aconp=2)
148
+ *
149
+ * @generated from field: optional string aconp = 16;
150
+ */
151
+ aconp?: string;
152
+
153
+ /**
154
+ * Ad rule type (e.g., ad_rule=0 for VAST creative)
155
+ *
156
+ * @generated from field: optional string ad_rule = 17;
157
+ */
158
+ adRule?: string;
159
+
160
+ /**
161
+ * Ad type (e.g., ad_type=video)
162
+ *
163
+ * @generated from field: optional string ad_type = 18;
164
+ */
165
+ adType?: string;
166
+
167
+ /**
168
+ * Language of the ad request (e.g., hl=en)
169
+ *
170
+ * @generated from field: optional string hl = 19;
171
+ */
172
+ hl?: string;
173
+
174
+ /**
175
+ * Device type hint (e.g., dth=5)
176
+ *
177
+ * @generated from field: optional string dth = 20;
178
+ */
179
+ dth?: string;
180
+
181
+ /**
182
+ * GDPR parameter (e.g., gdpr=1)
183
+ *
184
+ * @generated from field: optional string gdpr = 21;
185
+ */
186
+ gdpr?: string;
187
+
188
+ /**
189
+ * GDPR consent string (e.g., gdpr_consent=GDPR_CONSENT_123)
190
+ *
191
+ * @generated from field: optional string gdpr_consent = 22;
192
+ */
193
+ gdprConsent?: string;
194
+
195
+ /**
196
+ * IAB exclusion categories (e.g., iabexcl=3,14,527)
197
+ *
198
+ * @generated from field: optional string iabexcl = 23;
199
+ */
200
+ iabexcl?: string;
201
+
202
+ /**
203
+ * Last position in pod (e.g., lip=true)
204
+ *
205
+ * @generated from field: optional bool lip = 24;
206
+ */
207
+ lip?: boolean;
208
+
209
+ /**
210
+ * Limited ads (e.g., ltd=1)
211
+ *
212
+ * @generated from field: optional string ltd = 25;
213
+ */
214
+ ltd?: string;
215
+
216
+ /**
217
+ * Fallback disabled (e.g., nofb=1)
218
+ *
219
+ * @generated from field: optional string nofb = 26;
220
+ */
221
+ nofb?: string;
222
+
223
+ /**
224
+ * Non-personalized ads (e.g., npa=1)
225
+ *
226
+ * @generated from field: optional string npa = 27;
227
+ */
228
+ npa?: string;
229
+
230
+ /**
231
+ * OMID partner name (e.g., omid_p=examplepartnername/1.0.0.0)
232
+ *
233
+ * @generated from field: optional string omid_p = 28;
234
+ */
235
+ omidP?: string;
236
+
237
+ /**
238
+ * Publisher Privacy Treatment (e.g., ppt=1)
239
+ *
240
+ * @generated from field: optional string ppt = 29;
241
+ */
242
+ ppt?: string;
243
+
244
+ /**
245
+ * Position in pod (e.g., ppos=2)
246
+ *
247
+ * @generated from field: optional string ppos = 30;
248
+ */
249
+ ppos?: string;
250
+
251
+ /**
252
+ * Publisher provided identifier (e.g., ppid=12JD92JD8078S8J29SDOAKC0EF230337)
253
+ *
254
+ * @generated from field: optional string ppid = 31;
255
+ */
256
+ ppid?: string;
257
+
258
+ /**
259
+ * Stream correlator (e.g., scor=17)
260
+ *
261
+ * @generated from field: optional string scor = 32;
262
+ */
263
+ scor?: string;
264
+
265
+ /**
266
+ * SDK API framework (e.g., sdk_apis=2,7,9)
267
+ *
268
+ * @generated from field: optional string sdk_apis = 33;
269
+ */
270
+ sdkApis?: string;
271
+
272
+ /**
273
+ * Server-side stitching source (e.g., ssss=mystitcher)
274
+ *
275
+ * @generated from field: optional string ssss = 34;
276
+ */
277
+ ssss?: string;
278
+
279
+ /**
280
+ * Skippable max ad duration (e.g., sdmax=45000)
281
+ *
282
+ * @generated from field: optional string sdmax = 35;
283
+ */
284
+ sdmax?: string;
285
+
286
+ /**
287
+ * Session ID (e.g., sid=123e4567-e89b-12d3-a456-426614174000)
288
+ *
289
+ * @generated from field: optional string sid = 36;
290
+ */
291
+ sid?: string;
292
+
293
+ /**
294
+ * Restrict data processing (e.g., rdp=1)
295
+ *
296
+ * @generated from field: optional string rdp = 37;
297
+ */
298
+ rdp?: string;
299
+
300
+ /**
301
+ * Additional consent (e.g., addtl_consent=1~1.35.41.101)
302
+ *
303
+ * @generated from field: optional string addtl_consent = 38;
304
+ */
305
+ addtlConsent?: string;
306
+
307
+ /**
308
+ * Non-linear ad sizes (e.g., afvsz=200x200,250x250)
309
+ *
310
+ * @generated from field: optional string afvsz = 39;
311
+ */
312
+ afvsz?: string;
313
+
314
+ /**
315
+ * Cue points for mid-roll ads (e.g., allcues=10000,20000)
316
+ *
317
+ * @generated from field: optional string allcues = 40;
318
+ */
319
+ allcues?: string;
320
+
321
+ /**
322
+ * Content source ID (e.g., cmsid=123)
323
+ *
324
+ * @generated from field: optional string cmsid = 41;
325
+ */
326
+ cmsid?: string;
327
+
328
+ /**
329
+ * Video ID (e.g., vid=456)
330
+ *
331
+ * @generated from field: optional string vid = 42;
332
+ */
333
+ vid?: string;
334
+
335
+ /**
336
+ * Exclusion category (e.g., excl_cat=airline_excl_label)
337
+ *
338
+ * @generated from field: optional string excl_cat = 43;
339
+ */
340
+ exclCat?: string;
341
+
342
+ /**
343
+ * Inventory partner domain (e.g., ipd=partnerdomain.com)
344
+ *
345
+ * @generated from field: optional string ipd = 44;
346
+ */
347
+ ipd?: string;
348
+
349
+ /**
350
+ * Impression pinging entity (e.g., ipe=ssb)
351
+ *
352
+ * @generated from field: optional string ipe = 45;
353
+ */
354
+ ipe?: string;
355
+
356
+ /**
357
+ * Maximum ad duration in milliseconds (e.g. max_ad_duration=30000)
358
+ *
359
+ * @generated from field: optional string max_ad_duration = 46;
360
+ */
361
+ maxAdDuration?: string;
362
+
363
+ /**
364
+ * Minimum ad duration in milliseconds (e.g. min_ad_duration=15000)
365
+ *
366
+ * @generated from field: optional string min_ad_duration = 47;
367
+ */
368
+ minAdDuration?: string;
369
+
370
+ /**
371
+ * Mid-roll number (e.g. mridx=2)
372
+ *
373
+ * @generated from field: optional string mridx = 48;
374
+ */
375
+ mridx?: string;
376
+
377
+ /**
378
+ * App ID (e.g., msid=com.package.publisher)
379
+ *
380
+ * @generated from field: optional string msid = 49;
381
+ */
382
+ msid?: string;
383
+
384
+ /**
385
+ * App name (e.g., an=sample%20app)
386
+ *
387
+ * @generated from field: optional string an = 50;
388
+ */
389
+ an?: string;
390
+
391
+ /**
392
+ * Pod ad maximum (e.g., pmad=4)
393
+ *
394
+ * @generated from field: optional string pmad = 51;
395
+ */
396
+ pmad?: string;
397
+
398
+ /**
399
+ * Pod minimum duration (e.g. pmnd=0)
400
+ *
401
+ * @generated from field: optional string pmnd = 52;
402
+ */
403
+ pmnd?: string;
404
+
405
+ /**
406
+ * Pod maximum duration (e.g. pmxd=60000)
407
+ *
408
+ * @generated from field: optional string pmxd = 53;
409
+ */
410
+ pmxd?: string;
411
+
412
+ /**
413
+ * Pod number (e.g. pod=3)
414
+ *
415
+ * @generated from field: optional string pod = 54;
416
+ */
417
+ pod?: string;
418
+
419
+ /**
420
+ * Creative profile (e.g., pp=creative_profile)
421
+ *
422
+ * @generated from field: optional string pp = 55;
423
+ */
424
+ pp?: string;
425
+
426
+ /**
427
+ * Publisher provided signals JSON (Base64-encoded ASCII string from the JSON object)
428
+ *
429
+ * @generated from field: optional string ppsj = 56;
430
+ */
431
+ ppsj?: string;
432
+
433
+ /**
434
+ * Ad break template ID (e.g., ptpl=template1)
435
+ *
436
+ * @generated from field: optional string ptpl = 57;
437
+ */
438
+ ptpl?: string;
439
+
440
+ /**
441
+ * Ad break template name (e.g., ptpln=templateName)
442
+ *
443
+ * @generated from field: optional string ptpln = 58;
444
+ */
445
+ ptpln?: string;
446
+
447
+ /**
448
+ * Public price floor (e.g., pubf=123)
449
+ *
450
+ * @generated from field: optional string pubf = 59;
451
+ */
452
+ pubf?: string;
453
+
454
+ /**
455
+ * Private price floor (e.g., pvtf=123)
456
+ *
457
+ * @generated from field: optional string pvtf = 60;
458
+ */
459
+ pvtf?: string;
460
+
461
+ /**
462
+ * App set ID (e.g., pvid=AppSetID_value)
463
+ *
464
+ * @generated from field: optional string pvid = 61;
465
+ */
466
+ pvid?: string;
467
+
468
+ /**
469
+ * App set scope (e.g., pvid_s=scope_app)
470
+ *
471
+ * @generated from field: optional string pvid_s = 62;
472
+ */
473
+ pvidS?: string;
474
+
475
+ /**
476
+ * Resettable device identifier (e.g., rdid=ABC123)
477
+ *
478
+ * @generated from field: optional string rdid = 63;
479
+ */
480
+ rdid?: string;
481
+
482
+ /**
483
+ * Identifier type (e.g., idtype=idfa)
484
+ *
485
+ * @generated from field: optional string idtype = 64;
486
+ */
487
+ idtype?: string;
488
+
489
+ /**
490
+ * LAT (Limit Ad Tracking) (e.g., is_lat=1)
491
+ *
492
+ * @generated from field: optional string is_lat = 65;
493
+ */
494
+ isLat?: string;
495
+
496
+ /**
497
+ * Child-directed flag (e.g., tfcd=1)
498
+ *
499
+ * @generated from field: optional string tfcd = 66;
500
+ */
501
+ tfcd?: string;
502
+
503
+ /**
504
+ * Traffic type (e.g., trt=1 for purchased traffic)
505
+ *
506
+ * @generated from field: optional string trt = 67;
507
+ */
508
+ trt?: string;
509
+
510
+ /**
511
+ * Video ad type (e.g., Return a linear ad: vad_type=linear, Return a non-linear ad: vad_type=nonlinear)
512
+ *
513
+ * @generated from field: optional string vad_type = 68;
514
+ */
515
+ vadType?: string;
516
+
517
+ /**
518
+ * Video content duration in seconds (e.g., vid_d=90000)
519
+ *
520
+ * @generated from field: optional string vid_d = 69;
521
+ */
522
+ vidD?: string;
523
+
524
+ /**
525
+ * Continuous video play (e.g., vconp=2)
526
+ *
527
+ * @generated from field: optional string vconp = 70;
528
+ */
529
+ vconp?: string;
530
+
531
+ /**
532
+ * Video playlist inline/redirect (e.g., vpi=1)
533
+ *
534
+ * @generated from field: optional string vpi = 71;
535
+ */
536
+ vpi?: string;
537
+
538
+ /**
539
+ * Video position (e.g., vpos=preroll)
540
+ *
541
+ * @generated from field: optional string vpos = 72;
542
+ */
543
+ vpos?: string;
544
+
545
+ /**
546
+ * (IMA tags) not exists in VAST GAM spec, but used in IMA samples as 'impl=s' (internet search gives only 's' as param value)
547
+ *
548
+ * @generated from field: optional string impl = 73;
549
+ */
550
+ impl?: string;
551
+
552
+ /**
553
+ * (IMA tags) same as vad_type. Might be only in 'linear, nonlinear'
554
+ *
555
+ * @generated from field: optional string vad_format = 74;
556
+ */
557
+ vadFormat?: string;
558
+
559
+ /**
560
+ * @generated from field: optional string client = 75;
561
+ */
562
+ client?: string;
563
+
564
+ /**
565
+ * @generated from field: optional string videoad_start_delay = 76;
566
+ */
567
+ videoadStartDelay?: string;
568
+
569
+ /**
570
+ * base gam url prefix to compose with GamOptions
571
+ *
572
+ * @generated from field: optional string gam_base_url = 77;
573
+ */
574
+ gamBaseUrl?: string;
575
+ };
576
+
577
+ /**
578
+ * Describes the message streamlayer.interactive.gam.GamOptions.
579
+ * Use `create(GamOptionsSchema)` to create a new message.
580
+ */
581
+ export declare const GamOptionsSchema: GenMessage<GamOptions>;
582
+
583
+ /**
584
+ * @generated from message streamlayer.interactive.gam.AdCampaigns
585
+ */
586
+ export declare type AdCampaigns = Message<"streamlayer.interactive.gam.AdCampaigns"> & {
587
+ /**
588
+ * Defaut GAM settings for any platform
589
+ *
590
+ * @generated from field: optional streamlayer.interactive.gam.GamOptions gam_options = 1;
591
+ */
592
+ gamOptions?: GamOptions;
593
+
594
+ /**
595
+ * base gam url prefix to compose with GamOptions
596
+ *
597
+ * @generated from field: optional string gam_base_url = 2 [deprecated = true];
598
+ * @deprecated
599
+ */
600
+ gamBaseUrl?: string;
601
+
602
+ /**
603
+ * (not used) common ad loop settings, show ad by interval, loop run on the client side
604
+ *
605
+ * @generated from field: streamlayer.interactive.gam.AdLoop ad_loop = 3;
606
+ */
607
+ adLoop?: AdLoop;
608
+
609
+ /**
610
+ * GAM settings per device type. Overwrites "gam_options" if "use_platform_specific_settings" is enabled
611
+ *
612
+ * @generated from field: optional streamlayer.interactive.gam.GamOptions ios_settings = 4;
613
+ */
614
+ iosSettings?: GamOptions;
615
+
616
+ /**
617
+ * @generated from field: optional streamlayer.interactive.gam.GamOptions android_settings = 5;
618
+ */
619
+ androidSettings?: GamOptions;
620
+
621
+ /**
622
+ * @generated from field: optional streamlayer.interactive.gam.GamOptions desktop_web_settings = 6;
623
+ */
624
+ desktopWebSettings?: GamOptions;
625
+
626
+ /**
627
+ * @generated from field: optional streamlayer.interactive.gam.GamOptions ctv_settings = 7;
628
+ */
629
+ ctvSettings?: GamOptions;
630
+
631
+ /**
632
+ * common AD name for promotion with GAM
633
+ *
634
+ * @generated from field: optional string ad_name = 8;
635
+ */
636
+ adName?: string;
637
+
638
+ /**
639
+ * @generated from field: optional streamlayer.interactive.gam.AdManager ad_manager = 9;
640
+ */
641
+ adManager?: AdManager;
642
+
643
+ /**
644
+ * When enabled we need to use GAM settings per device type ("ios_settings", "android_settings", etc.), when disabled - "gam_options"
645
+ *
646
+ * @generated from field: optional streamlayer.interactive.gam.UsePlatformSpecificSettings use_platform_specific_settings = 10;
647
+ */
648
+ usePlatformSpecificSettings?: UsePlatformSpecificSettings;
649
+ };
650
+
651
+ /**
652
+ * Describes the message streamlayer.interactive.gam.AdCampaigns.
653
+ * Use `create(AdCampaignsSchema)` to create a new message.
654
+ */
655
+ export declare const AdCampaignsSchema: GenMessage<AdCampaigns>;
656
+
657
+ /**
658
+ * @generated from enum streamlayer.interactive.gam.AdManager
659
+ */
660
+ export enum AdManager {
661
+ /**
662
+ * @generated from enum value: AD_MANAGER_UNSET = 0;
663
+ */
664
+ UNSET = 0,
665
+
666
+ /**
667
+ * @generated from enum value: AD_MANAGER_PUBMATIC = 1;
668
+ */
669
+ PUBMATIC = 1,
670
+
671
+ /**
672
+ * @generated from enum value: AD_MANAGER_MAGNITE = 2;
673
+ */
674
+ MAGNITE = 2,
675
+
676
+ /**
677
+ * @generated from enum value: AD_MANAGER_GOOGLE_AD = 3;
678
+ */
679
+ GOOGLE_AD = 3,
680
+ }
681
+
682
+ /**
683
+ * Describes the enum streamlayer.interactive.gam.AdManager.
684
+ */
685
+ export declare const AdManagerSchema: GenEnum<AdManager>;
686
+
687
+ /**
688
+ * @generated from enum streamlayer.interactive.gam.UsePlatformSpecificSettings
689
+ */
690
+ export enum UsePlatformSpecificSettings {
691
+ /**
692
+ * @generated from enum value: USE_PLATFORM_SPECIFIC_SETTINGS_UNSET = 0;
693
+ */
694
+ UNSET = 0,
695
+
696
+ /**
697
+ * @generated from enum value: USE_PLATFORM_SPECIFIC_SETTINGS_ENABLED = 1;
698
+ */
699
+ ENABLED = 1,
700
+
701
+ /**
702
+ * @generated from enum value: USE_PLATFORM_SPECIFIC_SETTINGS_DISABLED = 2;
703
+ */
704
+ DISABLED = 2,
705
+ }
706
+
707
+ /**
708
+ * Describes the enum streamlayer.interactive.gam.UsePlatformSpecificSettings.
709
+ */
710
+ export declare const UsePlatformSpecificSettingsSchema: GenEnum<UsePlatformSpecificSettings>;
711
+
@@ -0,0 +1,57 @@
1
+ // @generated by protoc-gen-es v2.2.5 with parameter "target=js+dts,import_extension=js"
2
+ // @generated from file streamlayer/interactive/gam/interactive.gam.proto (package streamlayer.interactive.gam, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv1";
6
+
7
+ /**
8
+ * Describes the file streamlayer/interactive/gam/interactive.gam.proto.
9
+ */
10
+ export const file_streamlayer_interactive_gam_interactive_gam = /*@__PURE__*/
11
+ fileDesc("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YW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIGCgRfZW52QgsKCV9nZGZwX3JlcUIFCgNfaXVCCQoHX291dHB1dEIFCgNfc3pCGgoYX3Vudmlld2VkX3Bvc2l0aW9uX3N0YXJ0QgYKBF91cmxCEgoQX2Rlc2NyaXB0aW9uX3VybEINCgtfY29ycmVsYXRvckIICgZfcGxjbXRCBgoEX3ZwYUIJCgdfdnBtdXRlQgYKBF93dGFCCAoGX2Fjb25wQgoKCF9hZF9ydWxlQgoKCF9hZF90eXBlQgUKA19obEIGCgRfZHRoQgcKBV9nZHByQg8KDV9nZHByX2NvbnNlbnRCCgoIX2lhYmV4Y2xCBgoEX2xpcEIGCgRfbHRkQgcKBV9ub2ZiQgYKBF9ucGFCCQoHX29taWRfcEIGCgRfcHB0QgcKBV9wcG9zQgcKBV9wcGlkQgcKBV9zY29yQgsKCV9zZGtfYXBpc0IHCgVfc3Nzc0IICgZfc2RtYXhCBgoEX3NpZEIGCgRfcmRwQhAKDl9hZGR0bF9jb25zZW50QggKBl9hZnZzekIKCghfYWxsY3Vlc0IICgZfY21zaWRCBgoEX3ZpZEILCglfZXhjbF9jYXRCBgoEX2lwZEIGCgRfaXBlQhIKEF9tYXhfYWRfZHVyYXRpb25CEgoQX21pbl9hZF9kdXJhdGlvbkIICgZfbXJpZHhCBwoFX21zaWRCBQoDX2FuQgcKBV9wbWFkQgcKBV9wbW5kQgcKBV9wbXhkQgYKBF9wb2RCBQoDX3BwQgcKBV9wcHNqQgcKBV9wdHBsQggKBl9wdHBsbkIHCgVfcHViZkIHCgVfcHZ0ZkIHCgVfcHZpZEIJCgdfcHZpZF9zQgcKBV9yZGlkQgkKB19pZHR5cGVCCQoHX2lzX2xhdEIHCgVfdGZjZEIGCgRfdHJ0QgsKCV92YWRfdHlwZUIICgZfdmlkX2RCCAoGX3Zjb25wQgYKBF92cGlCBwoFX3Zwb3NCBwoFX2ltcGxCDQoLX3ZhZF9mb3JtYXRCCQoHX2NsaWVudEIWChRfdmlkZW9hZF9zdGFydF9kZWxheUIPCg1fZ2FtX2Jhc2VfdXJsIq4GCgtBZENhbXBhaWducxJBCgtnYW1fb3B0aW9ucxgBIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLmdhbS5HYW1PcHRpb25zSACIAQESHQoMZ2FtX2Jhc2VfdXJsGAIgASgJQgIYAUgBiAEBEjQKB2FkX2xvb3AYAyABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5nYW0uQWRMb29wEkIKDGlvc19zZXR0aW5ncxgEIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLmdhbS5HYW1PcHRpb25zSAKIAQESRgoQYW5kcm9pZF9zZXR0aW5ncxgFIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLmdhbS5HYW1PcHRpb25zSAOIAQESSgoUZGVza3RvcF93ZWJfc2V0dGluZ3MYBiABKAsyJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5nYW0uR2FtT3B0aW9uc0gEiAEBEkIKDGN0dl9zZXR0aW5ncxgHIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLmdhbS5HYW1PcHRpb25zSAWIAQESFAoHYWRfbmFtZRgIIAEoCUgGiAEBEj8KCmFkX21hbmFnZXIYCSABKA4yJi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5nYW0uQWRNYW5hZ2VySAeIAQESZQoedXNlX3BsYXRmb3JtX3NwZWNpZmljX3NldHRpbmdzGAogASgOMjguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuZ2FtLlVzZVBsYXRmb3JtU3BlY2lmaWNTZXR0aW5nc0gIiAEBQg4KDF9nYW1fb3B0aW9uc0IPCg1fZ2FtX2Jhc2VfdXJsQg8KDV9pb3Nfc2V0dGluZ3NCEwoRX2FuZHJvaWRfc2V0dGluZ3NCFwoVX2Rlc2t0b3Bfd2ViX3NldHRpbmdzQg8KDV9jdHZfc2V0dGluZ3NCCgoIX2FkX25hbWVCDQoLX2FkX21hbmFnZXJCIQofX3VzZV9wbGF0Zm9ybV9zcGVjaWZpY19zZXR0aW5ncypsCglBZE1hbmFnZXISFAoQQURfTUFOQUdFUl9VTlNFVBAAEhcKE0FEX01BTkFHRVJfUFVCTUFUSUMQARIWChJBRF9NQU5BR0VSX01BR05JVEUQAhIYChRBRF9NQU5BR0VSX0dPT0dMRV9BRBADKqABChtVc2VQbGF0Zm9ybVNwZWNpZmljU2V0dGluZ3MSKAokVVNFX1BMQVRGT1JNX1NQRUNJRklDX1NFVFRJTkdTX1VOU0VUEAASKgomVVNFX1BMQVRGT1JNX1NQRUNJRklDX1NFVFRJTkdTX0VOQUJMRUQQARIrCidVU0VfUExBVEZPUk1fU1BFQ0lGSUNfU0VUVElOR1NfRElTQUJMRUQQAkKrAQofY29tLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLmdhbUIeU3RyZWFtTGF5ZXJJbnRlcmFjdGl2ZUdhbVByb3RvUAFaXWdpdGh1Yi5jb20vc3RyZWFtbGF5ZXIvc2wtcHJvdG9maWxlcy8uYnVpbGQvZ28vc3RyZWFtbGF5ZXIvaW50ZXJhY3RpdmUvZ2FtO3NsX2ludGVyYWN0aXZlX2dhbaICBlNMX0FQSWIGcHJvdG8z");
12
+
13
+ /**
14
+ * Describes the message streamlayer.interactive.gam.AdLoop.
15
+ * Use `create(AdLoopSchema)` to create a new message.
16
+ */
17
+ export const AdLoopSchema = /*@__PURE__*/
18
+ messageDesc(file_streamlayer_interactive_gam_interactive_gam, 0);
19
+
20
+ /**
21
+ * Describes the message streamlayer.interactive.gam.GamOptions.
22
+ * Use `create(GamOptionsSchema)` to create a new message.
23
+ */
24
+ export const GamOptionsSchema = /*@__PURE__*/
25
+ messageDesc(file_streamlayer_interactive_gam_interactive_gam, 1);
26
+
27
+ /**
28
+ * Describes the message streamlayer.interactive.gam.AdCampaigns.
29
+ * Use `create(AdCampaignsSchema)` to create a new message.
30
+ */
31
+ export const AdCampaignsSchema = /*@__PURE__*/
32
+ messageDesc(file_streamlayer_interactive_gam_interactive_gam, 2);
33
+
34
+ /**
35
+ * Describes the enum streamlayer.interactive.gam.AdManager.
36
+ */
37
+ export const AdManagerSchema = /*@__PURE__*/
38
+ enumDesc(file_streamlayer_interactive_gam_interactive_gam, 0);
39
+
40
+ /**
41
+ * @generated from enum streamlayer.interactive.gam.AdManager
42
+ */
43
+ export const AdManager = /*@__PURE__*/
44
+ tsEnum(AdManagerSchema);
45
+
46
+ /**
47
+ * Describes the enum streamlayer.interactive.gam.UsePlatformSpecificSettings.
48
+ */
49
+ export const UsePlatformSpecificSettingsSchema = /*@__PURE__*/
50
+ enumDesc(file_streamlayer_interactive_gam_interactive_gam, 1);
51
+
52
+ /**
53
+ * @generated from enum streamlayer.interactive.gam.UsePlatformSpecificSettings
54
+ */
55
+ export const UsePlatformSpecificSettings = /*@__PURE__*/
56
+ tsEnum(UsePlatformSpecificSettingsSchema);
57
+
@@ -5,6 +5,7 @@
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
7
  import type { TopicSubType } from "../analytics/v1/common/analytics.common_pb.js";
8
+ import type { AdCampaigns } from "./gam/interactive.gam_pb.js";
8
9
  import type { Tweet } from "../social/twitter_pb.js";
9
10
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
10
11
 
@@ -482,7 +483,10 @@ export declare type Banner = Message<"streamlayer.interactive.Banner"> & {
482
483
  export declare const BannerSchema: GenMessage<Banner>;
483
484
 
484
485
  /**
486
+ * Deprecated: use streamlayer.interactive.gam.AdLoop instead.
487
+ *
485
488
  * @generated from message streamlayer.interactive.AdLoop
489
+ * @deprecated
486
490
  */
487
491
  export declare type AdLoop = Message<"streamlayer.interactive.AdLoop"> & {
488
492
  /**
@@ -496,6 +500,7 @@ export declare type AdLoop = Message<"streamlayer.interactive.AdLoop"> & {
496
500
  /**
497
501
  * Describes the message streamlayer.interactive.AdLoop.
498
502
  * Use `create(AdLoopSchema)` to create a new message.
503
+ * @deprecated
499
504
  */
500
505
  export declare const AdLoopSchema: GenMessage<AdLoop>;
501
506
 
@@ -757,6 +762,11 @@ export declare type Promotion = Message<"streamlayer.interactive.Promotion"> & {
757
762
  * @generated from field: streamlayer.interactive.Sponsorship sponsor = 5;
758
763
  */
759
764
  sponsor?: Sponsorship;
765
+
766
+ /**
767
+ * @generated from field: optional streamlayer.interactive.gam.AdCampaigns ad_campaigns = 6;
768
+ */
769
+ adCampaigns?: AdCampaigns;
760
770
  };
761
771
 
762
772
  /**
@@ -1125,8 +1135,10 @@ export declare const QuestionOptions_TweetOptions_TweetMetadataSchema: GenMessag
1125
1135
 
1126
1136
  /**
1127
1137
  * parameters spec https://support.google.com/admanager/answer/10678356?hl=en
1138
+ * Deprecated: use streamlayer.interactive.gam.GamOptions instead.
1128
1139
  *
1129
1140
  * @generated from message streamlayer.interactive.QuestionOptions.GamOptions
1141
+ * @deprecated
1130
1142
  */
1131
1143
  export declare type QuestionOptions_GamOptions = Message<"streamlayer.interactive.QuestionOptions.GamOptions"> & {
1132
1144
  /**
@@ -1672,11 +1684,15 @@ export declare type QuestionOptions_GamOptions = Message<"streamlayer.interactiv
1672
1684
  /**
1673
1685
  * Describes the message streamlayer.interactive.QuestionOptions.GamOptions.
1674
1686
  * Use `create(QuestionOptions_GamOptionsSchema)` to create a new message.
1687
+ * @deprecated
1675
1688
  */
1676
1689
  export declare const QuestionOptions_GamOptionsSchema: GenMessage<QuestionOptions_GamOptions>;
1677
1690
 
1678
1691
  /**
1692
+ * Deprecated: use streamlayer.interactive.gam.AdCampaigns via Promotion.ad_campaigns instead (question.promotion).
1693
+ *
1679
1694
  * @generated from message streamlayer.interactive.QuestionOptions.AdCampaigns
1695
+ * @deprecated
1680
1696
  */
1681
1697
  export declare type QuestionOptions_AdCampaigns = Message<"streamlayer.interactive.QuestionOptions.AdCampaigns"> & {
1682
1698
  /**
@@ -1746,6 +1762,7 @@ export declare type QuestionOptions_AdCampaigns = Message<"streamlayer.interacti
1746
1762
  /**
1747
1763
  * Describes the message streamlayer.interactive.QuestionOptions.AdCampaigns.
1748
1764
  * Use `create(QuestionOptions_AdCampaignsSchema)` to create a new message.
1765
+ * @deprecated
1749
1766
  */
1750
1767
  export declare const QuestionOptions_AdCampaignsSchema: GenMessage<QuestionOptions_AdCampaigns>;
1751
1768
 
@@ -1973,7 +1990,10 @@ export declare type QuestionOptions_PromotionOptions = Message<"streamlayer.inte
1973
1990
  buttonType?: PromotionButtonType;
1974
1991
 
1975
1992
  /**
1976
- * @generated from field: optional streamlayer.interactive.QuestionOptions.AdCampaigns ad_campaigns = 11;
1993
+ * moved to question.promotion.ad_campaigns (streamlayer.interactive.gam.AdCampaigns)
1994
+ *
1995
+ * @generated from field: optional streamlayer.interactive.QuestionOptions.AdCampaigns ad_campaigns = 11 [deprecated = true];
1996
+ * @deprecated
1977
1997
  */
1978
1998
  adCampaigns?: QuestionOptions_AdCampaigns;
1979
1999
 
@@ -2177,7 +2197,10 @@ export declare type QuestionOptions_PromotionOptions_SponsorFrameOptions = Messa
2177
2197
  export declare const QuestionOptions_PromotionOptions_SponsorFrameOptionsSchema: GenMessage<QuestionOptions_PromotionOptions_SponsorFrameOptions>;
2178
2198
 
2179
2199
  /**
2200
+ * Deprecated: use streamlayer.interactive.gam.AdManager instead.
2201
+ *
2180
2202
  * @generated from enum streamlayer.interactive.QuestionOptions.AdManager
2203
+ * @deprecated
2181
2204
  */
2182
2205
  export enum QuestionOptions_AdManager {
2183
2206
  /**
@@ -2203,11 +2226,15 @@ export enum QuestionOptions_AdManager {
2203
2226
 
2204
2227
  /**
2205
2228
  * Describes the enum streamlayer.interactive.QuestionOptions.AdManager.
2229
+ * @deprecated
2206
2230
  */
2207
2231
  export declare const QuestionOptions_AdManagerSchema: GenEnum<QuestionOptions_AdManager>;
2208
2232
 
2209
2233
  /**
2234
+ * Deprecated: use streamlayer.interactive.gam.UsePlatformSpecificSettings instead.
2235
+ *
2210
2236
  * @generated from enum streamlayer.interactive.QuestionOptions.UsePlatformSpecificSettings
2237
+ * @deprecated
2211
2238
  */
2212
2239
  export enum QuestionOptions_UsePlatformSpecificSettings {
2213
2240
  /**
@@ -2228,6 +2255,7 @@ export enum QuestionOptions_UsePlatformSpecificSettings {
2228
2255
 
2229
2256
  /**
2230
2257
  * Describes the enum streamlayer.interactive.QuestionOptions.UsePlatformSpecificSettings.
2258
+ * @deprecated
2231
2259
  */
2232
2260
  export declare const QuestionOptions_UsePlatformSpecificSettingsSchema: GenEnum<QuestionOptions_UsePlatformSpecificSettings>;
2233
2261
 
@@ -5,13 +5,14 @@
5
5
  import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv1";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_streamlayer_analytics_v1_common_analytics_common } from "../analytics/v1/common/analytics.common_pb.js";
8
+ import { file_streamlayer_interactive_gam_interactive_gam } from "./gam/interactive.gam_pb.js";
8
9
  import { file_streamlayer_social_twitter } from "../social/twitter_pb.js";
9
10
 
10
11
  /**
11
12
  * Describes the file streamlayer/interactive/interactive.common.proto.
12
13
  */
13
14
  export const file_streamlayer_interactive_interactive_common = /*@__PURE__*/
14
- fileDesc("CjBzdHJlYW1sYXllci9pbnRlcmFjdGl2ZS9pbnRlcmFjdGl2ZS5jb21tb24ucHJvdG8SF3N0cmVhbWxheWVyLmludGVyYWN0aXZlIlQKCkNsb3NlVGltZXISNQoEYXV0bxgBIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkNsb3NlVGltZXJBdXRvEg8KB3NlY29uZHMYAiABKAUijAIKElF1ZXN0aW9uQXBwZWFyYW5jZRI3CgZsYXlvdXQYASABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkxheW91dBI3CgZpbWFnZXMYAiABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcxIVCg1wcmltYXJ5X2NvbG9yGAMgASgJEkQKCHBvc2l0aW9uGAQgASgOMikuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25Qb3NpdGlvbkICGAFIAIgBARIaChJhdXRvX2hpZGVfaW50ZXJ2YWwYBSABKARCCwoJX3Bvc2l0aW9uIs4CCgtTcG9uc29yc2hpcBIMCgRsb2dvGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIZCgxjbGFzc2ljX2xvZ28YAyABKAlIAYgBARIYCgtjZW50ZXJfbG9nbxgEIAEoCUgCiAEBElAKDWxvZ29fcG9zaXRpb24YBSABKA4yNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Ob3RpZmljYXRpb25TcG9uc29yTG9nb01vZGVIA4gBARJGChB1c2VfZ2VuZXJhbF9sb2dvGAYgASgOMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVXNlR2VuZXJhbExvZ29IBIgBAUIHCgVfbmFtZUIPCg1fY2xhc3NpY19sb2dvQg4KDF9jZW50ZXJfbG9nb0IQCg5fbG9nb19wb3NpdGlvbkITChFfdXNlX2dlbmVyYWxfbG9nbyLNAgoVUHJvbW90aW9uTm90aWZpY2F0aW9uEhQKDHNwb25zb3JfbG9nbxgBIAEoCRJPChFzcG9uc29yX2xvZ29fbW9kZRgCIAEoDjI0LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvblNwb25zb3JMb2dvTW9kZRI2CgpjdGFfYnV0dG9uGAMgASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQ1RBQnV0dG9uElMKDmltYWdlX3Bvc2l0aW9uGAQgASgOMjsuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTm90aWZpY2F0aW9uUHJvbW90aW9uSW1hZ2VQb3NpdGlvbhJACgRtb2RlGAUgASgOMjIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTm90aWZpY2F0aW9uUHJvbW90aW9uTW9kZSL8AwoUUXVlc3Rpb25Ob3RpZmljYXRpb24SDQoFdGl0bGUYASABKAkSDQoFaW1hZ2UYAiABKAkSFwoPaW5kaWNhdG9yX2NvbG9yGAMgASgJEj4KDmltYWdlX3Bvc2l0aW9uGAQgASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1hZ2VQb3NpdGlvbhIMCgRib2R5GAUgASgJEjsKCmltYWdlX21vZGUYBiABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcxJBCglwcm9tb3Rpb24YByABKAsyLi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25Ob3RpZmljYXRpb24SPQoHZW5hYmxlZBgIIAEoDjIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvbkVuYWJsZWQSTwoRdXNlX2NvbnRlbnRfbWVkaWEYCSABKA4yNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Ob3RpZmljYXRpb25Vc2VDb250ZW50TWVkaWESTwoRdXNlX2NvbnRlbnRfdGV4dHMYCiABKA4yNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Ob3RpZmljYXRpb25Vc2VDb250ZW50VGV4dHMiWQoOUXVlc3Rpb25BbnN3ZXISCgoCaWQYASABKAkSDAoEdGV4dBgCIAEoCRIMCgRpY29uGAMgASgJEg8KB2NvcnJlY3QYBCABKAgSDgoGcG9pbnRzGAUgASgNIr8BChZFeHRlbmRlZFF1ZXN0aW9uQW5zd2VyEgoKAmlkGAEgASgJEgwKBHRleHQYAiABKAkSDAoEaWNvbhgDIAEoCRIPCgdjb3JyZWN0GAQgASgIEg4KBnBvaW50cxgFIAEoDRIWCgpwZXJjZW50YWdlGAYgASgNQgIYARIRCgl5b3Vfdm90ZWQYByABKAgSGgoScGVyY2VudGFnZV9kZWNpbWFsGAggASgBEhUKDXBvaW50c19lYXJuZWQYCSABKA0iNAoOQW5zd2VyRmVlZGJhY2sSDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiOgoIRmlsZUxpbmsSCgoCaWQYASABKAkSCwoDdXJsGAIgASgJEhUKDXRodW1ibmFpbF91cmwYAyABKAkiJQoHV2ViTGluaxINCgVsYWJlbBgBIAEoCRILCgN1cmwYAiABKAkioAEKCUNUQUJ1dHRvbhINCgVsYWJlbBgBIAEoCRINCgVjb2xvchgCIAEoCRIXCgp0ZXh0X2NvbG9yGAMgASgJSACIAQESEAoIY3RhX2ljb24YBCABKAkSOwoNY3RhX2ljb25fbW9kZRgFIAEoDjIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkN0YUljb25Nb2RlQg0KC190ZXh0X2NvbG9yIqoECgZCYW5uZXISEQoJaW1hZ2VfdXJsGAEgASgJEgsKA3VybBgCIAEoCRI2CgpjdGFfYnV0dG9uGAMgASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQ1RBQnV0dG9uEjAKBXZpZGVvGAQgASgLMiEuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRmlsZUxpbmsSEQoEYm9keRgFIAEoCUgAiAEBElQKGGFuYWx5dGljc190b3BpY19zdWJfdHlwZRgGIAEoDjItLnN0cmVhbWxheWVyLmFuYWx5dGljcy52MS5jb21tb24uVG9waWNTdWJUeXBlSAGIAQESEgoFdGl0bGUYByABKAlIAogBARIWCglzdWJfdGl0bGUYCCABKAlIA4gBARJYCg5pbWFnZV9wb3NpdGlvbhgJIAEoDjI7LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvblByb21vdGlvbkltYWdlUG9zaXRpb25IBIgBARJFCgxtZWRpYV9mb3JtYXQYCiABKA4yKi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYW5uZXJNZWRpYUZvcm1hdEgFiAEBQgcKBV9ib2R5QhsKGV9hbmFseXRpY3NfdG9waWNfc3ViX3R5cGVCCAoGX3RpdGxlQgwKCl9zdWJfdGl0bGVCEQoPX2ltYWdlX3Bvc2l0aW9uQg8KDV9tZWRpYV9mb3JtYXQiLAoGQWRMb29wEhUKCGludGVydmFsGAEgASgFSACIAQFCCwoJX2ludGVydmFsImQKBVByaWNlEg0KBXByaWNlGAEgASgJEjgKDHNhbGVfZW5hYmxlZBgCIAEoDjIiLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNhbGVQcmljZRISCgpzYWxlX3ByaWNlGAMgASgJIiQKBFNpemUSDQoFbGFiZWwYASABKAkSDQoFdmFsdWUYAiABKAkiagoHUHJvZHVjdBIKCgJpZBgBIAEoCRIRCglpbWFnZV91cmwYAiABKAkSDQoFdGl0bGUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSDQoFY29sb3IYBSABKAkSDQoFYnJhbmQYBiABKAkipwMKEkdlbmVyYWxUYWJNZXRhZGF0YRIcCg9hZHZlcnRpc2VyX2xvZ28YASABKAlIAIgBARIXCg9hZHZlcnRpc2VyX25hbWUYAiABKAkSGgoNY2FtcGFpZ25fbmFtZRgDIAEoCUgBiAEBEjcKCGFkX2dyb3VwGAQgASgLMiAuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQWRHcm91cEgCiAEBEj8KDHRyaWdnZXJfdHlwZRgFIAEoDjIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlRyaWdnZXJUeXBlSAOIAQESDAoEdGFncxgJIAMoCRIoChthZHZlcnRpc2VyX3RyYW5zcGFyZW50X2xvZ28YCiABKAlIBIgBARIYCgthZF9ncm91cF9pZBgLIAEoBUgFiAEBQhIKEF9hZHZlcnRpc2VyX2xvZ29CEAoOX2NhbXBhaWduX25hbWVCCwoJX2FkX2dyb3VwQg8KDV90cmlnZ2VyX3R5cGVCHgocX2FkdmVydGlzZXJfdHJhbnNwYXJlbnRfbG9nb0IOCgxfYWRfZ3JvdXBfaWQiwQEKB0FkR3JvdXASDAoEbmFtZRgBIAEoCRI6Cg5nZW9fdGFyZ2V0aW5ncxgCIAMoCzIiLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkdlb1RhcmdldBIbChNhdWRpZW5jZV90YXJnZXRpbmdzGAMgAygJEkMKEWRldmljZV90YXJnZXRpbmdzGAQgAygOMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRGV2aWNlVGFyZ2V0aW5nEgoKAmlkGAUgASgFIicKCUdlb1RhcmdldBIMCgRjb2RlGAEgASgJEgwKBG5hbWUYAiABKAki0wIKCVByb21vdGlvbhJBCgZmb3JtYXQYASABKA4yKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25Gb3JtYXRCAhgBSACIAQESLwoGYmFubmVyGAIgASgLMh8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQmFubmVyEkkKFGdlbmVyYWxfdGFiX21ldGFkYXRhGAMgASgLMisuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuR2VuZXJhbFRhYk1ldGFkYXRhEjkKB2FkX3VuaXQYBCABKA4yHy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BZFVuaXRCAhgBSAGIAQESNQoHc3BvbnNvchgFIAEoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JzaGlwQgkKB19mb3JtYXRCCgoIX2FkX3VuaXQiPgoPQmFja2dyb3VuZEltYWdlEhUKDWxhbmRzY2FwZV91cmwYASABKAkSFAoMcG9ydHJhaXRfdXJsGAIgASgJIrQCCgpORkxQcm9kdWN0EgoKAmlkGAEgASgJEg0KBXRpdGxlGAIgASgJEhIKCnNhbGVfcHJpY2UYAyABKAESDQoFcHJpY2UYBCABKAESDAoEbGluaxgFIAEoCRISCgppbWFnZV9saW5rGAYgASgJEgwKBGd0aW4YByABKAkSHwoXZ29vZ2xlX3Byb2R1Y3RfY2F0ZWdvcnkYCCABKAkSDgoGZ2VuZGVyGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEhEKCWNvbmRpdGlvbhgLIAEoCRINCgVjb2xvchgMIAEoCRINCgVicmFuZBgNIAEoCRIUCgxhdmFpbGFiaWxpdHkYDiABKAkSDgoGbGVhZ3VlGA8gASgJEgwKBHRlYW0YECABKAkSDQoFc2l6ZXMYESADKAkinEcKD1F1ZXN0aW9uT3B0aW9ucxJECgRwb2xsGAEgASgLMjQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlBvbGxPcHRpb25zSAASSAoGdHJpdmlhGAIgASgLMjYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlRyaXZpYU9wdGlvbnNIABJQCgpwcmVkaWN0aW9uGAMgASgLMjouc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlByZWRpY3Rpb25PcHRpb25zSAASSgoHZmFjdG9pZBgEIAEoCzI3LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5GYWN0b2lkT3B0aW9uc0gAEkYKBXR3ZWV0GAUgASgLMjUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlR3ZWV0T3B0aW9uc0gAEk4KCXByb21vdGlvbhgGIAEoCzI5LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5Qcm9tb3Rpb25PcHRpb25zSAAaDQoLUG9sbE9wdGlvbnMavAEKDVRyaXZpYU9wdGlvbnMSQQoQY29ycmVjdF9mZWVkYmFjaxgBIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEkMKEmluY29ycmVjdF9mZWVkYmFjaxgCIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEg4KBnBvaW50cxgDIAEoBBITCgtleHBsYW5hdGlvbhgEIAEoCRqbAQoRUHJlZGljdGlvbk9wdGlvbnMSQQoQY29ycmVjdF9mZWVkYmFjaxgBIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEkMKEmluY29ycmVjdF9mZWVkYmFjaxgCIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrGtgECg5GYWN0b2lkT3B0aW9ucxINCgVpbWFnZRgBIAEoCRIMCgRib2R5GAIgASgJEjAKBXZpZGVvGAMgASgLMiEuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRmlsZUxpbmsSMgoId2ViX2xpbmsYBCABKAsyIC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5XZWJMaW5rEjsKCmltYWdlX21vZGUYBSABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcxJHChN1c2VfYXNfbm90aWZpY2F0aW9uGAYgASgOMiouc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVXNlQXNOb3RpZmljYXRpb24SPQoLY2xvc2VfdGltZXIYByABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5DbG9zZVRpbWVySACIAQESRAoPYXV0b19wbGF5X3ZpZGVvGAggASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQXV0b1BsYXlWaWRlb0gBiAEBEjcKBG1vZGUYCSABKA4yKS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5GYWN0b2lkTWVkaWFNb2RlEkYKEHBsYXlfdmlkZW9fbXV0ZWQYCiABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QbGF5VmlkZW9NdXRlZEgCiAEBQg4KDF9jbG9zZV90aW1lckISChBfYXV0b19wbGF5X3ZpZGVvQhMKEV9wbGF5X3ZpZGVvX211dGVkGpwCCgxUd2VldE9wdGlvbnMSEQoJdHdlZXRfdXJsGAEgASgJEhAKCHR3ZWV0X2lkGAIgASgJElcKCnR3ZWV0X21ldGEYAyABKAsyQy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuVHdlZXRPcHRpb25zLlR3ZWV0TWV0YWRhdGEajQEKDVR3ZWV0TWV0YWRhdGESDwoHYWNjb3VudBgBIAEoCRIYChBhY2NvdW50X3ZlcmlmaWVkGAIgASgIEhEKCWhhc19tZWRpYRgDIAEoCBIoCgV0d2VldBgEIAEoCzIZLnN0cmVhbWxheWVyLnNvY2lhbC5Ud2VldBIUCgxhY2NvdW50X25hbWUYBSABKAka3hMKCkdhbU9wdGlvbnMSEAoDZW52GAEgASgJSACIAQESFQoIZ2RmcF9yZXEYAiABKAlIAYgBARIPCgJpdRgDIAEoCUgCiAEBEhMKBm91dHB1dBgEIAEoCUgDiAEBEg8KAnN6GAUgASgJSASIAQESJAoXdW52aWV3ZWRf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BF9kdGhCBwoFX2dkcHJCDwoNX2dkcHJfY29uc2VudEIKCghfaWFiZXhjbEIGCgRfbGlwQgYKBF9sdGRCBwoFX25vZmJCBgoEX25wYUIJCgdfb21pZF9wQgYKBF9wcHRCBwoFX3Bwb3NCBwoFX3BwaWRCBwoFX3Njb3JCCwoJX3Nka19hcGlzQgcKBV9zc3NzQggKBl9zZG1heEIGCgRfc2lkQgYKBF9yZHBCEAoOX2FkZHRsX2NvbnNlbnRCCAoGX2FmdnN6QgoKCF9hbGxjdWVzQggKBl9jbXNpZEIGCgRfdmlkQgsKCV9leGNsX2NhdEIGCgRfaXBkQgYKBF9pcGVCEgoQX21heF9hZF9kdXJhdGlvbkISChBfbWluX2FkX2R1cmF0aW9uQggKBl9tcmlkeEIHCgVfbXNpZEIFCgNfYW5CBwoFX3BtYWRCBwoFX3BtbmRCBwoFX3BteGRCBgoEX3BvZEIFCgNfcHBCBwoFX3Bwc2pCBwoFX3B0cGxCCAoGX3B0cGxuQgcKBV9wdWJmQgcKBV9wdnRmQgcKBV9wdmlkQgkKB19wdmlkX3NCBwoFX3JkaWRCCQoHX2lkdHlwZUIJCgdfaXNfbGF0QgcKBV90ZmNkQgYKBF90cnRCCwoJX3ZhZF90eXBlQggKBl92aWRfZEIICgZfdmNvbnBCBgoEX3ZwaUIHCgVfdnBvc0IHCgVfaW1wbEINCgtfdmFkX2Zvcm1hdEIJCgdfY2xpZW50QhYKFF92aWRlb2FkX3N0YXJ0X2RlbGF5Qg8KDV9nYW1fYmFzZV91cmwa/gYKC0FkQ2FtcGFpZ25zEk0KC2dhbV9vcHRpb25zGAEgASgLMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkdhbU9wdGlvbnNIAIgBARIdCgxnYW1fYmFzZV91cmwYAiABKAlCAhgBSAGIAQESMAoHYWRfbG9vcBgDIAEoCzIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFkTG9vcBJOCgxpb3Nfc2V0dGluZ3MYBCABKAsyMy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuR2FtT3B0aW9uc0gCiAEBElIKEGFuZHJvaWRfc2V0dGluZ3MYBSABKAsyMy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuR2FtT3B0aW9uc0gDiAEBElYKFGRlc2t0b3Bfd2ViX3NldHRpbmdzGAYgASgLMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkdhbU9wdGlvbnNIBIgBARJOCgxjdHZfc2V0dGluZ3MYByABKAsyMy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuR2FtT3B0aW9uc0gFiAEBEhQKB2FkX25hbWUYCCABKAlIBogBARJLCgphZF9tYW5hZ2VyGAkgASgOMjIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkFkTWFuYWdlckgHiAEBEnEKHnVzZV9wbGF0Zm9ybV9zcGVjaWZpY19zZXR0aW5ncxgKIAEoDjJELnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5Vc2VQbGF0Zm9ybVNwZWNpZmljU2V0dGluZ3NICIgBAUIOCgxfZ2FtX29wdGlvbnNCDwoNX2dhbV9iYXNlX3VybEIPCg1faW9zX3NldHRpbmdzQhMKEV9hbmRyb2lkX3NldHRpbmdzQhcKFV9kZXNrdG9wX3dlYl9zZXR0aW5nc0IPCg1fY3R2X3NldHRpbmdzQgoKCF9hZF9uYW1lQg0KC19hZF9tYW5hZ2VyQiEKH191c2VfcGxhdGZvcm1fc3BlY2lmaWNfc2V0dGluZ3Ma7wEKC1Nob3BPcHRpb25zEjEKB3Byb2R1Y3QYASABKAsyIC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9kdWN0Ei0KBXByaWNlGAIgASgLMh4uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJpY2USNgoPYXZhaWxhYmxlX3NpemVzGAMgAygLMh0uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuU2l6ZRIzCgZnZW5kZXIYBCABKA4yIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TaG9wR2VuZGVyEhEKCXN0b3JlX3VybBgFIAEoCRqUBAoOTkZMU2hvcE9wdGlvbnMSEgoKcHJvZHVjdF9pZBgBIAEoCRI5Cgdwcm9kdWN0GAIgASgLMiMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTkZMUHJvZHVjdEgAiAEBEl0KDG5vdGlmaWNhdGlvbhgDIAEoCzJHLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5ORkxTaG9wT3B0aW9ucy5ORkxOb3RpZmljYXRpb24axwIKD05GTE5vdGlmaWNhdGlvbhJLCg5tdWx0aWNvbXBvbmVudBgBIAEoDjIzLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvbk11bHRpY29tcG9uZW50Em8KC2dhbWVfbW9tZW50GAIgASgLMlUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLk5GTFNob3BPcHRpb25zLk5GTE5vdGlmaWNhdGlvbi5ORkxHYW1lTW9tZW50SACIAQESDQoFdGl0bGUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkaQgoNTkZMR2FtZU1vbWVudBINCgV0aXRsZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRINCgVtZWRpYRgDIAEoCUIOCgxfZ2FtZV9tb21lbnRCCgoIX3Byb2R1Y3QakQIKDlBhdXNlQWRPcHRpb25zEjAKB3FyX2NvZGUYASABKA4yHy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RUkNvZGUSGgoNcXJfY29kZV9sYWJlbBgCIAEoCUgAiAEBEhgKC3FyX2NvZGVfdXJsGAMgASgJSAGIAQESNgoGbGF5b3V0GAQgASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUGF1c2VBZExheW91dBI9CgpzdGF0c190eXBlGAUgASgOMikuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUGF1c2VBZFN0YXRzVHlwZUIQCg5fcXJfY29kZV9sYWJlbEIOCgxfcXJfY29kZV91cmwawRQKEFByb21vdGlvbk9wdGlvbnMSNAoEdHlwZRgBIAEoDjImLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlByb21vdGlvblR5cGUSNQoHc3BvbnNvchgCIAEoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JzaGlwEi8KBmJhbm5lchgDIAEoCzIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhbm5lchJDCg1lbmFibGVfd2FsbGV0GAQgASgOMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uV2FsbGV0QgIYARI6ChFhZGRpdGlvbmFsX2Jhbm5lchgFIAEoCzIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhbm5lchISCgZjb3Vwb24YBiABKAlCAhgBEj0KCWxvZ29fbW9kZRgHIAEoDjIqLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlByb21vdGlvbkxvZ29Nb2RlEhYKCmNvdXBvbl96aXAYCCABKAlCAhgBEh4KEmNvdXBvbl9iYXJjb2RlX3VybBgJIAEoCUICGAESRgoLYnV0dG9uX3R5cGUYCiABKA4yLC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25CdXR0b25UeXBlSAGIAQESTwoMYWRfY2FtcGFpZ25zGAsgASgLMjQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkFkQ2FtcGFpZ25zSAKIAQESPQoLY2xvc2VfdGltZXIYDCABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5DbG9zZVRpbWVySAOIAQESRAoPYXV0b19wbGF5X3ZpZGVvGA0gASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQXV0b1BsYXlWaWRlb0gEiAEBEi8KHmJhY2tncm91bmRfaW1hZ2VfbGFuZHNjYXBlX3VybBgOIAEoCUICGAFIBYgBARIuCh1iYWNrZ3JvdW5kX2ltYWdlX3BvcnRyYWl0X3VybBgPIAEoCUICGAFIBogBARJtChVhZGRfdG9fd2FsbGV0X29wdGlvbnMYECABKAsyTC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuUHJvbW90aW9uT3B0aW9ucy5BZGRUb1dhbGxldE9wdGlvbnNIABJrChRzZW5kX3RvX3VzZXJfb3B0aW9ucxgRIAEoCzJLLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5Qcm9tb3Rpb25PcHRpb25zLlNlbmRUb1VzZXJPcHRpb25zSAASTwoMc2hvcF9vcHRpb25zGBIgASgLMjQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlNob3BPcHRpb25zSAeIAQESVgoQbmZsX3Nob3Bfb3B0aW9ucxgTIAEoCzI3LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5ORkxTaG9wT3B0aW9uc0gIiAEBEkYKEHBsYXlfdmlkZW9fbXV0ZWQYFCABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QbGF5VmlkZW9NdXRlZEgJiAEBElYKEHBhdXNlX2FkX29wdGlvbnMYFSABKAsyNy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuUGF1c2VBZE9wdGlvbnNICogBARJBCgZmb3JtYXQYFiABKA4yKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25Gb3JtYXRCAhgBSAuIAQESZAoOYmFubmVyX29wdGlvbnMYFyABKAsyRy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuUHJvbW90aW9uT3B0aW9ucy5CYW5uZXJPcHRpb25zSAyIAQEScQoVc3BvbnNvcl9mcmFtZV9vcHRpb25zGBggASgLMk0uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlByb21vdGlvbk9wdGlvbnMuU3BvbnNvckZyYW1lT3B0aW9uc0gNiAEBGlQKEkFkZFRvV2FsbGV0T3B0aW9ucxIOCgZjb3Vwb24YASABKAkSEgoKY291cG9uX3ppcBgCIAEoCRIaChJjb3Vwb25fYmFyY29kZV91cmwYAyABKAka1AEKEVNlbmRUb1VzZXJPcHRpb25zEkMKEXVzZXJfYWNjb3VudF9pbmZvGAEgASgOMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVXNlckFjY291bnRJbmZvEiMKFnNlY29uZGFyeV9idXR0b25fbGFiZWwYAiABKAlIAIgBARIhChRzZWNvbmRhcnlfYnV0dG9uX3VybBgDIAEoCUgBiAEBQhkKF19zZWNvbmRhcnlfYnV0dG9uX2xhYmVsQhcKFV9zZWNvbmRhcnlfYnV0dG9uX3VybBqIAQoNQmFubmVyT3B0aW9ucxI5Cghwb3NpdGlvbhgBIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhbm5lclBvc2l0aW9uEjwKCm1lZGlhX3R5cGUYAiABKA4yKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYW5uZXJNZWRpYVR5cGUa5gEKE1Nwb25zb3JGcmFtZU9wdGlvbnMSTgoQYnV0dG9uX2FsaWdubWVudBgBIAEoDjI0LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JGcmFtZUJ1dHRvbkFsaWdubWVudBIhChlwb3J0cmFpdF9ncmFkaWVudF9vdmVybGF5GAIgASgIEkcKEGJhY2tncm91bmRfaW1hZ2UYAyABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYWNrZ3JvdW5kSW1hZ2VIAIgBAUITChFfYmFja2dyb3VuZF9pbWFnZUIQCg5idXR0b25fb3B0aW9uc0IOCgxfYnV0dG9uX3R5cGVCDwoNX2FkX2NhbXBhaWduc0IOCgxfY2xvc2VfdGltZXJCEgoQX2F1dG9fcGxheV92aWRlb0IhCh9fYmFja2dyb3VuZF9pbWFnZV9sYW5kc2NhcGVfdXJsQiAKHl9iYWNrZ3JvdW5kX2ltYWdlX3BvcnRyYWl0X3VybEIPCg1fc2hvcF9vcHRpb25zQhMKEV9uZmxfc2hvcF9vcHRpb25zQhMKEV9wbGF5X3ZpZGVvX211dGVkQhMKEV9wYXVzZV9hZF9vcHRpb25zQgkKB19mb3JtYXRCEQoPX2Jhbm5lcl9vcHRpb25zQhgKFl9zcG9uc29yX2ZyYW1lX29wdGlvbnMibAoJQWRNYW5hZ2VyEhQKEEFEX01BTkFHRVJfVU5TRVQQABIXChNBRF9NQU5BR0VSX1BVQk1BVElDEAESFgoSQURfTUFOQUdFUl9NQUdOSVRFEAISGAoUQURfTUFOQUdFUl9HT09HTEVfQUQQAyKgAQobVXNlUGxhdGZvcm1TcGVjaWZpY1NldHRpbmdzEigKJFVTRV9QTEFURk9STV9TUEVDSUZJQ19TRVRUSU5HU19VTlNFVBAAEioKJlVTRV9QTEFURk9STV9TUEVDSUZJQ19TRVRUSU5HU19FTkFCTEVEEAESKwonVVNFX1BMQVRGT1JNX1NQRUNJRklDX1NFVFRJTkdTX0RJU0FCTEVEEAJCCQoHb3B0aW9ucyI4CgNUYWcSCgoCaWQYASABKAkSDQoFbGFiZWwYAiABKAkSFgoObGFzdF91c2VkX3RpbWUYAyABKAQiHgoKUXVlc3Rpb25BaRIQCgh2ZXJpZmllZBgBIAEoCCJaChRBYnN0cmFjdFRyaWdnZXJTdGF0ZRIVCghkaXNhYmxlZBgBIAEoCEgAiAEBEhMKBnJlYXNvbhgCIAEoCUgBiAEBQgsKCV9kaXNhYmxlZEIJCgdfcmVhc29uIoEPCghRdWVzdGlvbhIKCgJpZBgBIAEoCRIzCgR0eXBlGAIgASgOMiUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25UeXBlEhQKB3N1YmplY3QYAyABKAlIAIgBARI5CgdvcHRpb25zGAQgASgLMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zEj8KCmFwcGVhcmFuY2UYBSABKAsyKy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkFwcGVhcmFuY2USOQoLc3BvbnNvcnNoaXAYBiABKAsyJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TcG9uc29yc2hpcBJDCgxub3RpZmljYXRpb24YByABKAsyLS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk5vdGlmaWNhdGlvbhI4CgdhbnN3ZXJzGAggAygLMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BbnN3ZXISNwoGc3RhdHVzGAkgASgOMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25TdGF0dXMSFQoIcG9zaXRpb24YCiABKA1IAYgBARIVCg1tYXJrZXRfY2xvc2VkGAsgASgIEhQKDGFjdGl2YXRlZF9hdBgMIAEoCRIVCg1hbnN3ZXJfc2V0X2F0GA0gASgJEkMKCW92ZXJyaWRlcxgOIAMoCzIwLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uLk92ZXJyaWRlc0VudHJ5EhAKCGV2ZW50X2lkGA8gASgJEjQKEHN0cmVhbV90aW1lc3RhbXAYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEioKBHRhZ3MYESADKAsyHC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5UYWcSSgoUYnlwYXNzX25vdGlmaWNhdGlvbnMYEiABKAsyLC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CeXBhc3NOb3RpZmljYXRpb25zEhEKCWltcG9ydF9pZBgTIAEoCRIlChhhY3RpdmF0aW9uX3RyaWdnZXJfY291bnQYFCABKA1IAogBARI3CgZzb3VyY2UYFSABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblNvdXJjZRIvCgJhaRgWIAEoCzIjLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQWkSGQoMaGFzX3RyaWdnZXJzGBcgASgISAOIAQESEgoKY3JlYXRlZF9hdBgYIAEoCRIRCgRuYW1lGBkgASgJSASIAQESNQoJcHJvbW90aW9uGBogASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uEkIKEGJhY2tncm91bmRfaW1hZ2UYGyABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYWNrZ3JvdW5kSW1hZ2USHAoPc3RhdHVzX3Bvc2l0aW9uGBwgASgNSAWIAQESPwoMYWN0aXZhdGVkX2J5GB0gASgOMiQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQWN0aXZhdGVkQnlIBogBARIkChdhY3RpdmF0ZWRfYnlfdHJpZ2dlcl9pZBgeIAEoCUgHiAEBEiYKGWFjdGl2YXRlZF9ieV90cmlnZ2VyX25hbWUYHyABKAlICIgBARIYCgt0ZW1wbGF0ZV9pZBggIAEoCUgJiAEBEjAKB2FkX3VuaXQYISABKA4yHy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BZFVuaXQSFgoJbW9kdWxlX2lkGCIgASgJSAqIAQESIQoUaXNfbW9kdWxlX292ZXJyaWRkZW4YIyABKAhIC4gBARIzCgZmb3JtYXQYJCABKA4yIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5DYXJkRm9ybWF0ElIKFmFic3RyYWN0X3RyaWdnZXJfc3RhdGUYJSABKAsyLS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BYnN0cmFjdFRyaWdnZXJTdGF0ZUgMiAEBGjAKDk92ZXJyaWRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAFCCgoIX3N1YmplY3RCCwoJX3Bvc2l0aW9uQhsKGV9hY3RpdmF0aW9uX3RyaWdnZXJfY291bnRCDwoNX2hhc190cmlnZ2Vyc0IHCgVfbmFtZUISChBfc3RhdHVzX3Bvc2l0aW9uQg8KDV9hY3RpdmF0ZWRfYnlCGgoYX2FjdGl2YXRlZF9ieV90cmlnZ2VyX2lkQhwKGl9hY3RpdmF0ZWRfYnlfdHJpZ2dlcl9uYW1lQg4KDF90ZW1wbGF0ZV9pZEIMCgpfbW9kdWxlX2lkQhcKFV9pc19tb2R1bGVfb3ZlcnJpZGRlbkIZChdfYWJzdHJhY3RfdHJpZ2dlcl9zdGF0ZSLmBgoQRXh0ZW5kZWRRdWVzdGlvbhIKCgJpZBgBIAEoCRIzCgR0eXBlGAIgASgOMiUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25UeXBlEg8KB3N1YmplY3QYAyABKAkSOQoHb3B0aW9ucxgEIAEoCzIoLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucxI/CgphcHBlYXJhbmNlGAUgASgLMisuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BcHBlYXJhbmNlEjkKC3Nwb25zb3JzaGlwGAYgASgLMiQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuU3BvbnNvcnNoaXASQwoMbm90aWZpY2F0aW9uGAcgASgLMi0uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25Ob3RpZmljYXRpb24SQAoHYW5zd2VycxgIIAMoCzIvLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkV4dGVuZGVkUXVlc3Rpb25BbnN3ZXISNwoGc3RhdHVzGAkgASgOMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25TdGF0dXMSEAoIcG9zaXRpb24YCiABKA0SFQoNbWFya2V0X2Nsb3NlZBgLIAEoCBIUCgxhY3RpdmF0ZWRfYXQYDCABKAkSFQoNYW5zd2VyX3NldF9hdBgNIAEoCRIQCghldmVudF9pZBgOIAEoCRJKChRieXBhc3Nfbm90aWZpY2F0aW9ucxgPIAEoCzIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJ5cGFzc05vdGlmaWNhdGlvbnMSNQoJcHJvbW90aW9uGBAgASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uEkIKEGJhY2tncm91bmRfaW1hZ2UYESABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYWNrZ3JvdW5kSW1hZ2USGAoLdGVtcGxhdGVfaWQYEiABKAlIAIgBARIwCgdhZF91bml0GBMgASgOMh8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQWRVbml0Qg4KDF90ZW1wbGF0ZV9pZCKvAwoQUXVlc3Rpb25UaW1lbGluZRIKCgJpZBgBIAEoCRIzCgR0eXBlGAIgASgOMiUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25UeXBlEg8KB3N1YmplY3QYAyABKAkSFAoMYWN0aXZhdGVkX2F0GAQgASgJEjcKBnN0YXR1cxgFIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uU3RhdHVzEjkKB29wdGlvbnMYBiABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMSQwoMbm90aWZpY2F0aW9uGAcgASgLMi0uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25Ob3RpZmljYXRpb24SOgoJcHJvbW90aW9uGAggASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uSACIAQESMAoHYWRfdW5pdBgJIAEoDjIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFkVW5pdEIMCgpfcHJvbW90aW9uIuMLCg9FdmVudE1vZGVyYXRpb24SCgoCaWQYASABKAkSEAoIZXZlbnRfaWQYAiABKAkSPQoLc3BvbnNvcnNoaXAYAyABKAsyJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TcG9uc29yc2hpcEICGAESGgoSb25ib2FyZGluZ19lbmFibGVkGAQgASgIEksKCHF1ZXN0aW9uGAUgASgLMjkuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRXZlbnRNb2RlcmF0aW9uLlF1ZXN0aW9uU2V0dGluZ3MSTgoIc3BvbnNvcnMYBiABKAsyPC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5FdmVudE1vZGVyYXRpb24uU3BvbnNvcnNoaXBTZXR0aW5ncxJTCgxub3RpZmljYXRpb24YByABKAsyPS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5FdmVudE1vZGVyYXRpb24uTm90aWZpY2F0aW9uU2V0dGluZ3MSMAoMYWN0aXZhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIyCg5kZWFjdGl2YXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoScXVlc3Rpb25fYXV0b19wb3N0GAogASgLMikuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BdXRvUG9zdBJKChRieXBhc3Nfbm90aWZpY2F0aW9ucxgLIAEoCzIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJ5cGFzc05vdGlmaWNhdGlvbnMSTgoWaW1wb3J0ZXJfY29sbGFib3JhdGlvbhgMIAEoCzIuLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkltcG9ydGVyQ29sbGFib3JhdGlvbhIXCg9vcmdhbml6YXRpb25faWQYDSABKAka9QMKEFF1ZXN0aW9uU2V0dGluZ3MSPwoKYXBwZWFyYW5jZRgBIAEoCzIrLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQXBwZWFyYW5jZRJcCgZ0cml2aWEYAiABKAsyTC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5FdmVudE1vZGVyYXRpb24uUXVlc3Rpb25TZXR0aW5ncy5Ucml2aWFDYXJkU2V0dGluZ3MSZAoKcHJlZGljdGlvbhgDIAEoCzJQLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkV2ZW50TW9kZXJhdGlvbi5RdWVzdGlvblNldHRpbmdzLlByZWRpY3Rpb25DYXJkU2V0dGluZ3MSQgoRY29ycmVjdF9mZWVkYmFja3MYBCADKAsyJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BbnN3ZXJGZWVkYmFjaxJEChNpbmNvcnJlY3RfZmVlZGJhY2tzGAUgAygLMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQW5zd2VyRmVlZGJhY2saJAoSVHJpdmlhQ2FyZFNldHRpbmdzEg4KBnBvaW50cxgBIAEoDRosChZQcmVkaWN0aW9uQ2FyZFNldHRpbmdzEhIKCm1heF9wb2ludHMYASABKA0aTQoTU3BvbnNvcnNoaXBTZXR0aW5ncxI2CghzcG9uc29ycxgBIAMoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JzaGlwGrsBChROb3RpZmljYXRpb25TZXR0aW5ncxINCgVpbWFnZRgBIAEoCRIXCg9pbmRpY2F0b3JfY29sb3IYAiABKAkSPgoOaW1hZ2VfcG9zaXRpb24YAyABKA4yJi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5JbWFnZVBvc2l0aW9uEjsKCmltYWdlX21vZGUYBCABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcyKpAgoQUXVlc3Rpb25BdXRvUG9zdBI9CgVzdGF0ZRgBIAEoDjIuLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQXV0b1Bvc3RTdGF0ZRIQCghpbnRlcnZhbBgCIAEoDRIyCg5uZXh0X3Bvc3RfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQgoKc3RhcnRfbW9kZRgEIAEoDjIuLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQXV0b1Bvc3RTdGFydBJMCg1zdGFydF9vcHRpb25zGAUgASgLMjUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BdXRvUG9zdFN0YXJ0T3B0aW9ucyKqAQocUXVlc3Rpb25BdXRvUG9zdFN0YXJ0T3B0aW9ucxJZCghzY2hlZHVsZRgBIAEoCzJFLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQXV0b1Bvc3RTdGFydE9wdGlvbnMuU2NoZWR1bGVPcHRpb25zSAAaJAoPU2NoZWR1bGVPcHRpb25zEhEKCXRpbWVzdGFtcBgBIAEoBEIJCgdvcHRpb25zIjMKCkFuc3dlckRhdGESEQoJYW5zd2VyX2lkGAEgASgJEhIKCnBlcmNlbnRhZ2UYAiABKA0iPQoKUGFnaW5hdGlvbhIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIOCgZjdXJzb3IYAyABKAkiJAoEU29ydBINCgVmaWVsZBgBIAEoCRINCgVvcmRlchgCIAEoCSLqAQoNUXVlc3Rpb25TdGF0cxIKCgJpZBgBIAEoCRJFCghxdWVzdGlvbhgCIAEoCzIzLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uU3RhdHMuUXVlc3Rpb25EYXRhEj0KCnN0YXRpc3RpY3MYAyADKAsyKS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BbnN3ZXJWb3Rlc1N0YXRzGkcKDFF1ZXN0aW9uRGF0YRI3CgZzdGF0dXMYASABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblN0YXR1cyKlAQoQQW5zd2VyVm90ZXNTdGF0cxIRCglhbnN3ZXJfaWQYASABKAkSSAoFdm90ZXMYAiABKAsyOS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BbnN3ZXJWb3Rlc1N0YXRzLkFuc3dlclZvdGVzRGF0YRo0Cg9BbnN3ZXJWb3Rlc0RhdGESDQoFY291bnQYASABKA0SEgoKcGVyY2VudGFnZRgCIAEoDSJBChlTZXJ2ZXJOb3RpZmljYXRpb25PcHRpb25zEg8KB3NpbGVuY2UYASABKAgSEwoLc2tpcF91cGRhdGUYAiABKAgiVgoTQnlwYXNzTm90aWZpY2F0aW9ucxI/Cg5pbl9hcHBfc2lsZW5jZRgBIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNpbGVuY2VTZXR0aW5nIi4KC0ltcG9ydEVycm9yEg4KBnJvd19pZBgBIAEoCRIPCgdtZXNzYWdlGAIgASgJIsIBCg5JbXBvcnRQcm9ncmVzcxIRCglpbXBvcnRfaWQYASABKAkSNQoGc3RhdHVzGAIgASgOMiUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1wb3J0U3RhdHVzEjQKBmVycm9ycxgDIAMoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkltcG9ydEVycm9yEjAKDGxhc3RfdXBkYXRlZBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAivgEKFUltcG9ydGVyQ29sbGFib3JhdGlvbhJMCgdpbXBvcnRzGAEgAygLMjsuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1wb3J0ZXJDb2xsYWJvcmF0aW9uLkltcG9ydHNFbnRyeRpXCgxJbXBvcnRzRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1wb3J0UHJvZ3Jlc3M6AjgBItkICghUZW1wbGF0ZRIKCgJpZBgBIAEoCRIzCgR0eXBlGAIgASgOMiUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25UeXBlEhQKB3N1YmplY3QYAyABKAlIAIgBARI5CgdvcHRpb25zGAQgASgLMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zEj8KCmFwcGVhcmFuY2UYBSABKAsyKy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkFwcGVhcmFuY2USOQoLc3BvbnNvcnNoaXAYBiABKAsyJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TcG9uc29yc2hpcBJDCgxub3RpZmljYXRpb24YByABKAsyLS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk5vdGlmaWNhdGlvbhI4CgdhbnN3ZXJzGAggAygLMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BbnN3ZXISQwoJb3ZlcnJpZGVzGAkgAygLMjAuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVGVtcGxhdGUuT3ZlcnJpZGVzRW50cnkSKgoEdGFncxgKIAMoCzIcLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlRhZxJKChRieXBhc3Nfbm90aWZpY2F0aW9ucxgLIAEoCzIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJ5cGFzc05vdGlmaWNhdGlvbnMSLwoCYWkYDCABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkFpEhkKDGhhc190cmlnZ2VycxgNIAEoCEgBiAEBEhIKCmNyZWF0ZWRfYXQYDiABKAkSEQoEbmFtZRgPIAEoCUgCiAEBEjUKCXByb21vdGlvbhgQIAEoCzIiLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlByb21vdGlvbhJCChBiYWNrZ3JvdW5kX2ltYWdlGBEgASgLMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQmFja2dyb3VuZEltYWdlEjAKB2FkX3VuaXQYEiABKA4yHy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BZFVuaXQSGwoOcXVlc3Rpb25fY291bnQYEyABKAVIA4gBARIRCglldmVudF9pZHMYFCADKAkSFgoJbW9kdWxlX2lkGBUgASgJSASIAQESFQoIcG9zaXRpb24YFiABKA1IBYgBARowCg5PdmVycmlkZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBQgoKCF9zdWJqZWN0Qg8KDV9oYXNfdHJpZ2dlcnNCBwoFX25hbWVCEQoPX3F1ZXN0aW9uX2NvdW50QgwKCl9tb2R1bGVfaWRCCwoJX3Bvc2l0aW9uIn0KCk1vZHVsZUNhcmQSGwoTbGlua2VkX2V2ZW50c19jb3VudBgBIAEoDRIdChV1cGNvbWluZ19ldmVudHNfY291bnQYAiABKA0SGQoRaW5fcGxheV9hZHNfY291bnQYAyABKA0SGAoQcGF1c2VkX2Fkc19jb3VudBgEIAEoDSJjChBNb2R1bGVBZHZlcnRpc2VyEgwKBG5hbWUYASABKAkSDAoEbG9nbxgCIAEoCRIZChFpbl9wbGF5X2Fkc19jb3VudBgDIAEoDRIYChBwYXVzZWRfYWRzX2NvdW50GAQgASgNIuICCgZNb2R1bGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgR0eXBlGAMgASgJEg4KBmxlYWd1ZRgEIAEoCRITCgtjdXN0b21fbG9nbxgFIAEoCRISCgpjcmVhdGVkX2F0GAYgASgJEhIKCnVwZGF0ZWRfYXQYByABKAkSMQoEY2FyZBgIIAEoCzIjLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk1vZHVsZUNhcmQSSgoYZGVmYXVsdF9iYWNrZ3JvdW5kX2ltYWdlGAkgASgLMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQmFja2dyb3VuZEltYWdlEj4KC2FkdmVydGlzZXJzGAogAygLMikuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTW9kdWxlQWR2ZXJ0aXNlchIRCgljb2xvcl9iYXIYCyABKAkSEQoJZXZlbnRfaWRzGAwgAygJKvsBCgtBY3RpdmF0ZWRCeRIWChJBQ1RJVkFURURfQllfVU5TRVQQABIVChFBQ1RJVkFURURfQllfVVNFUhABEhoKFkFDVElWQVRFRF9CWV9BVVRPX1BPU1QQAhIkCiBBQ1RJVkFURURfQllfVFJJR0dFUl9UWVBFX01BTlVBTBADEikKJUFDVElWQVRFRF9CWV9UUklHR0VSX1RZUEVfRVZFTlRfQkFTRUQQBBIlCiFBQ1RJVkFURURfQllfVFJJR0dFUl9UWVBFX1NDVEVfMzUQBRIpCiVBQ1RJVkFURURfQllfVFJJR0dFUl9UWVBFX1ZBU1RfU0lHTkFMEAYqyAEKDFF1ZXN0aW9uVHlwZRIXChNRVUVTVElPTl9UWVBFX1VOU0VUEAASFgoSUVVFU1RJT05fVFlQRV9QT0xMEAESGAoUUVVFU1RJT05fVFlQRV9UUklWSUEQAhIcChhRVUVTVElPTl9UWVBFX1BSRURJQ1RJT04QAxIZChVRVUVTVElPTl9UWVBFX0ZBQ1RPSUQQBBIXChNRVUVTVElPTl9UWVBFX1RXRUVUEAUSGwoXUVVFU1RJT05fVFlQRV9QUk9NT1RJT04QBipjCg5RdWVzdGlvblNvdXJjZRIZChVRVUVTVElPTl9TT1VSQ0VfVU5TRVQQABIWChJRVUVTVElPTl9TT1VSQ0VfQUkQARIeChpRVUVTVElPTl9TT1VSQ0VfQ1NWX0lNUE9SVBACKuIBCg5RdWVzdGlvblN0YXR1cxIZChVRVUVTVElPTl9TVEFUVVNfVU5TRVQQABIhCh1RVUVTVElPTl9TVEFUVVNfTk9UX1NDSEVEVUxFRBABEh0KGVFVRVNUSU9OX1NUQVRVU19TQ0hFRFVMRUQQAhIaChZRVUVTVElPTl9TVEFUVVNfQUNUSVZFEAMSHAoYUVVFU1RJT05fU1RBVFVTX1JFU09MVkVEEAQSGwoXUVVFU1RJT05fU1RBVFVTX0VOQUJMRUQQBRIcChhRVUVTVElPTl9TVEFUVVNfRElTQUJMRUQQBiruAQoQUXVlc3Rpb25Qb3NpdGlvbhIbChdRVUVTVElPTl9QT1NJVElPTl9VTlNFVBAAEh0KGVFVRVNUSU9OX1BPU0lUSU9OX0RFRkFVTFQQARIiCh5RVUVTVElPTl9QT1NJVElPTl9GSVhFRF9CT1RUT00QAhIaChZRVUVTVElPTl9QT1NJVElPTl9MQkFSEAMSHQoZUVVFU1RJT05fUE9TSVRJT05fT1ZFUkxBWRAEEh0KGVFVRVNUSU9OX1BPU0lUSU9OX1NJREVCQVIQBRIgChxRVUVTVElPTl9QT1NJVElPTl9GVUxMX0JMRUVEEAYqaQoOUXVlc3Rpb25MYXlvdXQSGQoVUVVFU1RJT05fTEFZT1VUX1VOU0VUEAASHQoZUVVFU1RJT05fTEFZT1VUX0xJU1RfVklFVxABEh0KGVFVRVNUSU9OX0xBWU9VVF9HUklEX1ZJRVcQAiq8AQoOUXVlc3Rpb25JbWFnZXMSGQoVUVVFU1RJT05fSU1BR0VTX1VOU0VUEAASGAoUUVVFU1RJT05fSU1BR0VTX05PTkUQARIbChdRVUVTVElPTl9JTUFHRVNfUk9VTkRFRBACEh8KG1FVRVNUSU9OX0lNQUdFU19UUkFOU1BBUkVOVBADEhwKGFFVRVNUSU9OX0lNQUdFU19DRU5URVJFRBAEEhkKFVFVRVNUSU9OX0lNQUdFU19TT0xJRBAFKvQBChlOb3RpZmljYXRpb25Qcm9tb3Rpb25Nb2RlEiUKIU5PVElGSUNBVElPTl9QUk9NT1RJT05fTU9ERV9VTlNFVBAAEicKI05PVElGSUNBVElPTl9QUk9NT1RJT05fTU9ERV9DTEFTU0lDEAESKwonTk9USUZJQ0FUSU9OX1BST01PVElPTl9NT0RFX0xPV0VSX1RISVJEEAISMQotTk9USUZJQ0FUSU9OX1BST01PVElPTl9NT0RFX1JJQ0hfTk9USUZJQ0FUSU9OEAMSJwojTk9USUZJQ0FUSU9OX1BST01PVElPTl9NT0RFX1NJREVCQVIQBCrNAgoiTm90aWZpY2F0aW9uUHJvbW90aW9uSW1hZ2VQb3NpdGlvbhIvCitOT1RJRklDQVRJT05fUFJPTU9USU9OX0lNQUdFX1BPU0lUSU9OX1VOU0VUEAASLQopTk9USUZJQ0FUSU9OX1BST01PVElPTl9JTUFHRV9QT1NJVElPTl9GSVQQARIyCi5OT1RJRklDQVRJT05fUFJPTU9USU9OX0lNQUdFX1BPU0lUSU9OX0NFTlRFUkVEEAISMAosTk9USUZJQ0FUSU9OX1BST01PVElPTl9JTUFHRV9QT1NJVElPTl9CT1RUT00QAxIvCitOT1RJRklDQVRJT05fUFJPTU9USU9OX0lNQUdFX1BPU0lUSU9OX1NPTElEEAQSMAosTk9USUZJQ0FUSU9OX1BST01PVElPTl9JTUFHRV9QT1NJVElPTl9NSURETEUQBSqRAQobTm90aWZpY2F0aW9uU3BvbnNvckxvZ29Nb2RlEiMKH05PVElGSUNBVElPTl9TUE9OU09SX0xPR09fVU5TRVQQABIiCh5OT1RJRklDQVRJT05fU1BPTlNPUl9MT0dPX05PTkUQARIpCiVOT1RJRklDQVRJT05fU1BPTlNPUl9MT0dPX1RSQU5TUEFSRU5UEAIqTgoLQ3RhSWNvbk1vZGUSEgoOQ1RBX0lDT05fVU5TRVQQABIRCg1DVEFfSUNPTl9OT05FEAESGAoUQ1RBX0lDT05fVFJBTlNQQVJFTlQQAipcCg1JbWFnZVBvc2l0aW9uEhgKFElNQUdFX1BPU0lUSU9OX1VOU0VUEAASFwoTSU1BR0VfUE9TSVRJT05fTEVGVBABEhgKFElNQUdFX1BPU0lUSU9OX1JJR0hUEAIqjwcKDVByb21vdGlvblR5cGUSGAoUUFJPTU9USU9OX1RZUEVfVU5TRVQQABIjChtQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCMjEQARoCCAESIwobUFJPTU9USU9OX1RZUEVfSU5HQU1FX0lBQjExEAIaAggBEiMKG1BST01PVElPTl9UWVBFX0lOR0FNRV9JQUI2MRADGgIIARIoCiBQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCMTFfTEJBUhAEGgIIARIoCiBQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCMjFfTEJBUhAFGgIIARIeChpQUk9NT1RJT05fVFlQRV9FWFRFUk5BTF9BRBAGEiUKIVBST01PVElPTl9UWVBFX1ZJREVPX1NJREVfQllfU0lERRAHEiUKIVBST01PVElPTl9UWVBFX1BJQ1RVUkVfSU5fUElDVFVSRRAIEiAKGFBST01PVElPTl9UWVBFX1NIT1BfTEJBUhAJGgIIARIjChtQUk9NT1RJT05fVFlQRV9TSE9QX09WRVJMQVkQChoCCAESIwobUFJPTU9USU9OX1RZUEVfU0hPUF9TSURFQkFSEAsaAggBEh4KGlBST01PVElPTl9UWVBFX0xPV0VSX1RISVJEEAwSJAocUFJPTU9USU9OX1RZUEVfTkZMX1NIT1BfTEJBUhANGgIIARInCh9QUk9NT1RJT05fVFlQRV9ORkxfU0hPUF9PVkVSTEFZEA4aAggBEicKH1BST01PVElPTl9UWVBFX05GTF9TSE9QX1NJREVCQVIQDxoCCAESKwojUFJPTU9USU9OX1RZUEVfSU5HQU1FX0lBQjIxX1NJREVCQVIQEBoCCAESKwojUFJPTU9USU9OX1RZUEVfSU5HQU1FX0lBQjExX1NJREVCQVIQERoCCAESKwojUFJPTU9USU9OX1RZUEVfSU5HQU1FX0lBQjYxX1NJREVCQVIQEhoCCAESGAoUUFJPTU9USU9OX1RZUEVfU1RBVFMQExIbChdQUk9NT1RJT05fVFlQRV9TVEFOREFSRBAUEhcKE1BST01PVElPTl9UWVBFX1NIT1AQFRIbChdQUk9NT1RJT05fVFlQRV9ORkxfU0hPUBAWEhkKFVBST01PVElPTl9UWVBFX0JBTk5FUhAXEiAKHFBST01PVElPTl9UWVBFX1NQT05TT1JfRlJBTUUQGCqlAQoPUHJvbW90aW9uRm9ybWF0EhoKFlBST01PVElPTl9GT1JNQVRfVU5TRVQQABIZChVQUk9NT1RJT05fRk9STUFUX0xCQVIQARIcChhQUk9NT1RJT05fRk9STUFUX09WRVJMQVkQAhIcChhQUk9NT1RJT05fRk9STUFUX1NJREVCQVIQAxIfChtQUk9NT1RJT05fRk9STUFUX0ZVTExfQkxFRUQQBCpqCg9Qcm9tb3Rpb25XYWxsZXQSGgoWUFJPTU9USU9OX1dBTExFVF9VTlNFVBAAEhwKGFBST01PVElPTl9XQUxMRVRfRU5BQkxFRBABEh0KGVBST01PVElPTl9XQUxMRVRfRElTQUJMRUQQAipGCgZRUkNvZGUSEQoNUVJfQ09ERV9VTlNFVBAAEhMKD1FSX0NPREVfRU5BQkxFRBABEhQKEFFSX0NPREVfRElTQUJMRUQQAip7Cg1QYXVzZUFkTGF5b3V0EhkKFVBBVVNFX0FEX0xBWU9VVF9VTlNFVBAAEhgKFFBBVVNFX0FEX0xBWU9VVF9MRUZUEAESGgoWUEFVU0VfQURfTEFZT1VUX0NFTlRFUhACEhkKFVBBVVNFX0FEX0xBWU9VVF9JTUFHRRADKnwKEFBhdXNlQWRTdGF0c1R5cGUSHQoZUEFVU0VfQURfU1RBVFNfVFlQRV9VTlNFVBAAEh8KG1BBVVNFX0FEX1NUQVRTX1RZUEVfTUFUQ0hVUBABEigKJFBBVVNFX0FEX1NUQVRTX1RZUEVfTEVBR1VFX1NUQU5ESU5HUxACKvgBChNQcm9tb3Rpb25CdXR0b25UeXBlEh8KG1BST01PVElPTl9CVVRUT05fVFlQRV9VTlNFVBAAEh8KG1BST01PVElPTl9CVVRUT05fVFlQRV9CQVNJQxABEicKI1BST01PVElPTl9CVVRUT05fVFlQRV9BRERfVE9fV0FMTEVUEAMSKQolUFJPTU9USU9OX0JVVFRPTl9UWVBFX1JFVFVSTl9UT19WSURFTxAEEiMKH1BST01PVElPTl9CVVRUT05fVFlQRV9OT19CVVRUT04QBRImCiJQUk9NT1RJT05fQlVUVE9OX1RZUEVfU0VORF9UT19VU0VSEAYqaAoPVXNlckFjY291bnRJbmZvEhsKF1VTRVJfQUNDT1VOVF9JTkZPX1VOU0VUEAASGwoXVVNFUl9BQ0NPVU5UX0lORk9fRU1BSUwQARIbChdVU0VSX0FDQ09VTlRfSU5GT19QSE9ORRACKpABChFQcm9tb3Rpb25Mb2dvTW9kZRIdChlQUk9NT1RJT05fTE9HT19NT0RFX1VOU0VUEAASHAoYUFJPTU9USU9OX0xPR09fTU9ERV9MRUZUEAESHgoaUFJPTU9USU9OX0xPR09fTU9ERV9DRU5URVIQAhIeChpQUk9NT1RJT05fTE9HT19NT0RFX01JTk1BTBADKnUKEVVzZUFzTm90aWZpY2F0aW9uEh0KGVVTRV9BU19OT1RJRklDQVRJT05fVU5TRVQQABIfChtVU0VfQVNfTk9USUZJQ0FUSU9OX0VOQUJMRUQQARIgChxVU0VfQVNfTk9USUZJQ0FUSU9OX0RJU0FCTEVEEAIqagoTTm90aWZpY2F0aW9uRW5hYmxlZBIeChpOT1RJRklDQVRJT05fRU5BQkxFRF9VTlNFVBAAEhgKFE5PVElGSUNBVElPTl9FTkFCTEVEEAESGQoVTk9USUZJQ0FUSU9OX0RJU0FCTEVEEAIqoAEKG05vdGlmaWNhdGlvblVzZUNvbnRlbnRNZWRpYRIoCiROT1RJRklDQVRJT05fVVNFX0NPTlRFTlRfTUVESUFfVU5TRVQQABIqCiZOT1RJRklDQVRJT05fVVNFX0NPTlRFTlRfTUVESUFfRU5BQkxFRBABEisKJ05PVElGSUNBVElPTl9VU0VfQ09OVEVOVF9NRURJQV9ESVNBQkxFRBACKqABChtOb3RpZmljYXRpb25Vc2VDb250ZW50VGV4dHMSKAokTk9USUZJQ0FUSU9OX1VTRV9DT05URU5UX1RFWFRTX1VOU0VUEAASKgomTk9USUZJQ0FUSU9OX1VTRV9DT05URU5UX1RFWFRTX0VOQUJMRUQQARIrCidOT1RJRklDQVRJT05fVVNFX0NPTlRFTlRfVEVYVFNfRElTQUJMRUQQAippCg5DbG9zZVRpbWVyQXV0bxIaChZDTE9TRV9USU1FUl9BVVRPX1VOU0VUEAASHAoYQ0xPU0VfVElNRVJfQVVUT19FTkFCTEVEEAESHQoZQ0xPU0VfVElNRVJfQVVUT19ESVNBQkxFRBACKmUKDUF1dG9QbGF5VmlkZW8SGQoVQVVUT19QTEFZX1ZJREVPX1VOU0VUEAASGwoXQVVUT19QTEFZX1ZJREVPX0VOQUJMRUQQARIcChhBVVRPX1BMQVlfVklERU9fRElTQUJMRUQQAippCg5QbGF5VmlkZW9NdXRlZBIaChZQTEFZX1ZJREVPX01VVEVEX1VOU0VUEAASHAoYUExBWV9WSURFT19NVVRFRF9FTkFCTEVEEAESHQoZUExBWV9WSURFT19NVVRFRF9ESVNBQkxFRBACKqoBCgZBZFR5cGUSEQoNQURfVFlQRV9VTlNFVBAAEhAKDEFEX1RZUEVfTEJBUhABEhMKD0FEX1RZUEVfU0lERUJBUhACEhMKD0FEX1RZUEVfT1ZFUkxBWRADEhcKE0FEX1RZUEVfTE9XRVJfVEhJUkQQBBIYChRBRF9UWVBFX1NJREVfQllfU0lERRAFEh4KGkFEX1RZUEVfUElDVFVSRV9JTl9QSUNUVVJFEAYq5AsKDlF1ZXN0aW9uVUlUeXBlEhoKFlFVRVNUSU9OX1VJX1RZUEVfVU5TRVQQABIeChpRVUVTVElPTl9VSV9UWVBFX0dPT0dMRV9BRBABEiAKHFFVRVNUSU9OX1VJX1RZUEVfU1RBTkRBUkRfQUQQAhIgChxRVUVTVElPTl9VSV9UWVBFX0xPV0VSX1RISVJEEAMSIQodUVVFU1RJT05fVUlfVFlQRV9TSURFX0JZX1NJREUQBBInCiNRVUVTVElPTl9VSV9UWVBFX1BJQ1RVUkVfSU5fUElDVFVSRRAFEiUKIVFVRVNUSU9OX1VJX1RZUEVfTkZMX1NIT1BQQUJMRV9BRBAGEh8KG1FVRVNUSU9OX1VJX1RZUEVfSU5TSUdIVF9BRBAHEhwKGFFVRVNUSU9OX1VJX1RZUEVfUE9MTF9BRBAIEh4KGlFVRVNUSU9OX1VJX1RZUEVfVFJJVklBX0FEEAkSIgoeUVVFU1RJT05fVUlfVFlQRV9QUkVESUNUSU9OX0FEEAoSIQodUVVFU1RJT05fVUlfVFlQRV9TSE9QUEFCTEVfQUQQCxImCiJRVUVTVElPTl9VSV9UWVBFX0FJX0FTU0lTVEFOVF9CRVRBEAwSGQoVUVVFU1RJT05fVUlfVFlQRV9QT0xMEA0SGwoXUVVFU1RJT05fVUlfVFlQRV9UUklWSUEQDhIfChtRVUVTVElPTl9VSV9UWVBFX1BSRURJQ1RJT04QDxIcChhRVUVTVElPTl9VSV9UWVBFX0lOU0lHSFQQEBIbChdRVUVTVElPTl9VSV9UWVBFX1hfUE9TVBAREhoKFlFVRVNUSU9OX1VJX1RZUEVfU1RBVFMQEhIbChdRVUVTVElPTl9VSV9UWVBFX0JBTk5FUhATEiIKHlFVRVNUSU9OX1VJX1RZUEVfU1BPTlNPUl9GUkFNRRAUEiUKIVBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX0dPT0dMRV9BRBBlEicKI1BBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1NUQU5EQVJEX0FEEGYSJwojUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfTE9XRVJfVEhJUkQQZxIoCiRQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9TSURFX0JZX1NJREUQaBIuCipQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9QSUNUVVJFX0lOX1BJQ1RVUkUQaRIsCihQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9ORkxfU0hPUFBBQkxFX0FEEGoSJgoiUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfSU5TSUdIVF9BRBBrEiMKH1BBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1BPTExfQUQQbBIlCiFQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9UUklWSUFfQUQQbRIpCiVQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9QUkVESUNUSU9OX0FEEGQSKAokUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfU0hPUFBBQkxFX0FEEG8SLQopUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfQUlfQVNTSVNUQU5UX0JFVEEQcBIgChxQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9QT0xMEHESIgoeUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfVFJJVklBEHISJgoiUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfUFJFRElDVElPThBzEiMKH1BBVVNFRF9RVUVTVElPTl9VSV9UWVBFX0lOU0lHSFQQdBIiCh5QQVVTRURfUVVFU1RJT05fVUlfVFlQRV9YX1BPU1QQdRIhCh1QQVVTRURfUVVFU1RJT05fVUlfVFlQRV9TVEFUUxB2EiIKHlBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX0JBTk5FUhB3EikKJVBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1NQT05TT1JfRlJBTUUQeCppCg5Vc2VHZW5lcmFsTG9nbxIaChZVU0VfR0VORVJBTF9MT0dPX1VOU0VUEAASHAoYVVNFX0dFTkVSQUxfTE9HT19FTkFCTEVEEAESHQoZVVNFX0dFTkVSQUxfTE9HT19ESVNBQkxFRBACKpoBChtTcG9uc29yRnJhbWVCdXR0b25BbGlnbm1lbnQSKAokU1BPTlNPUl9GUkFNRV9CVVRUT05fQUxJR05NRU5UX1VOU0VUEAASJwojU1BPTlNPUl9GUkFNRV9CVVRUT05fQUxJR05NRU5UX0xFRlQQARIoCiRTUE9OU09SX0ZSQU1FX0JVVFRPTl9BTElHTk1FTlRfUklHSFQQAipqChFCYW5uZXJNZWRpYUZvcm1hdBIdChlCQU5ORVJfTUVESUFfRk9STUFUX1VOU0VUEAASGgoWQkFOTkVSX01FRElBX0ZPUk1BVF8xMRABEhoKFkJBTk5FUl9NRURJQV9GT1JNQVRfMjEQAipoCg9CYW5uZXJNZWRpYVR5cGUSGwoXQkFOTkVSX01FRElBX1RZUEVfVU5TRVQQABIbChdCQU5ORVJfTUVESUFfVFlQRV9WSURFTxABEhsKF0JBTk5FUl9NRURJQV9UWVBFX0lNQUdFEAIq7gEKDkJhbm5lclBvc2l0aW9uEhkKFUJBTk5FUl9QT1NJVElPTl9VTlNFVBAAEhwKGEJBTk5FUl9QT1NJVElPTl9UT1BfTEVGVBABEh4KGkJBTk5FUl9QT1NJVElPTl9UT1BfQ0VOVEVSEAISHQoZQkFOTkVSX1BPU0lUSU9OX1RPUF9SSUdIVBADEh8KG0JBTk5FUl9QT1NJVElPTl9CT1RUT01fTEVGVBAEEiEKHUJBTk5FUl9QT1NJVElPTl9CT1RUT01fQ0VOVEVSEAUSIAocQkFOTkVSX1BPU0lUSU9OX0JPVFRPTV9SSUdIVBAGKmkKClNob3BHZW5kZXISFQoRU0hPUF9HRU5ERVJfVU5TRVQQABIUChBTSE9QX0dFTkRFUl9NQUxFEAESFgoSU0hPUF9HRU5ERVJfRkVNQUxFEAISFgoSU0hPUF9HRU5ERVJfVU5JU0VYEAMqUgoJU2FsZVByaWNlEhQKEFNBTEVfUFJJQ0VfVU5TRVQQABIWChJTQUxFX1BSSUNFX0VOQUJMRUQQARIXChNTQUxFX1BSSUNFX0RJU0FCTEVEEAIqlAEKC1RyaWdnZXJUeXBlEhYKElRSSUdHRVJfVFlQRV9VTlNFVBAAEhcKE1RSSUdHRVJfVFlQRV9NQU5VQUwQARIcChhUUklHR0VSX1RZUEVfRVZFTlRfQkFTRUQQAhIYChRUUklHR0VSX1RZUEVfU0NURV8zNRADEhwKGFRSSUdHRVJfVFlQRV9WQVNUX1NJR05BTBAEKn4KD0RldmljZVRhcmdldGluZxIaChZERVZJQ0VfVEFSR0VUSU5HX1VOU0VUEAASGwoXREVWSUNFX1RBUkdFVElOR19NT0JJTEUQARIYChRERVZJQ0VfVEFSR0VUSU5HX0NUVhACEhgKFERFVklDRV9UQVJHRVRJTkdfV0VCEAMqRQoGQWRVbml0EhEKDUFEX1VOSVRfVU5TRVQQABIUChBBRF9VTklUX1NUQU5EQVJUEAESEgoOQURfVU5JVF9QQVVTRUQQAiqWAQoaTm90aWZpY2F0aW9uTXVsdGljb21wb25lbnQSJQohTk9USUZJQ0FUSU9OX01VTFRJQ09NUE9ORU5UX1VOU0VUEAASJwojTk9USUZJQ0FUSU9OX01VTFRJQ09NUE9ORU5UX0VOQUJMRUQQARIoCiROT1RJRklDQVRJT05fTVVMVElDT01QT05FTlRfRElTQUJMRUQQAiqoAQoQRmFjdG9pZE1lZGlhTW9kZRIcChhGQUNUT0lEX01FRElBX01PREVfVU5TRVQQABIcChhGQUNUT0lEX01FRElBX01PREVfSU1BR0UQARIcChhGQUNUT0lEX01FRElBX01PREVfVklERU8QAhIdChlGQUNUT0lEX01FRElBX01PREVfQ0lSQ0xFEAMSGwoXRkFDVE9JRF9NRURJQV9NT0RFX05PTkUQBCqHAQoKQ2FyZEZvcm1hdBIVChFDQVJEX0ZPUk1BVF9VTlNFVBAAEhcKE0NBUkRfRk9STUFUX09WRVJMQVkQARIXChNDQVJEX0ZPUk1BVF9TSURFQkFSEAISFAoQQ0FSRF9GT1JNQVRfTEJBUhADEhoKFkNBUkRfRk9STUFUX0ZVTExfQkxFRUQQBCrqAQoVUXVlc3Rpb25BdXRvUG9zdFN0YXRlEiIKHlFVRVNUSU9OX0FVVE9fUE9TVF9TVEFURV9VTlNFVBAAEh8KG1FVRVNUSU9OX0FVVE9fUE9TVF9TVEFURV9PThABEiAKHFFVRVNUSU9OX0FVVE9fUE9TVF9TVEFURV9PRkYQAhIjCh9RVUVTVElPTl9BVVRPX1BPU1RfU1RBVEVfUEFVU0VEEAMSIQodUVVFU1RJT05fQVVUT19QT1NUX1NUQVRFX0lETEUQBBIiCh5RVUVTVElPTl9BVVRPX1BPU1RfU1RBVEVfUkVTRVQQBSqEAQoVUXVlc3Rpb25BdXRvUG9zdFN0YXJ0EiIKHlFVRVNUSU9OX0FVVE9fUE9TVF9TVEFSVF9VTlNFVBAAEiUKIVFVRVNUSU9OX0FVVE9fUE9TVF9TVEFSVF9TQ0hFRFVMRRABEiAKHFFVRVNUSU9OX0FVVE9fUE9TVF9TVEFSVF9OT1cQAipWChJRdWVzdGlvblNraXBSZWFzb24SHgoaUVVFU1RJT05fU0tJUF9SRUFTT05fVU5TRVQQABIgChxRVUVTVElPTl9TS0lQX1JFQVNPTl9PVkVSRFVFEAEqXAoOU2lsZW5jZVNldHRpbmcSGQoVU0lMRU5DRV9TRVRUSU5HX1VOU0VUEAASFgoSU0lMRU5DRV9TRVRUSU5HX09OEAESFwoTU0lMRU5DRV9TRVRUSU5HX09GRhACKpQBCgxJbXBvcnRTdGF0dXMSFwoTSU1QT1JUX1NUQVRVU19VTlNFVBAAEhkKFUlNUE9SVF9TVEFUVVNfUExBTk5FRBABEhkKFUlNUE9SVF9TVEFUVVNfUlVOTklORxACEhsKF0lNUE9SVF9TVEFUVVNfQ09NUExFVEVEEAMSGAoUSU1QT1JUX1NUQVRVU19GQUlMRUQQBEK3AQoiY29tLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLmNvbW1vbkIhU3RyZWFtTGF5ZXJJbnRlcmFjdGl2ZUNvbW1vblByb3RvUAFaY2dpdGh1Yi5jb20vc3RyZWFtbGF5ZXIvc2wtcHJvdG9maWxlcy8uYnVpbGQvZ28vc3RyZWFtbGF5ZXIvaW50ZXJhY3RpdmUvY29tbW9uO3NsX2ludGVyYWN0aXZlX2NvbW1vbqICBlNMX0FQSWIGcHJvdG8z", [file_google_protobuf_timestamp, file_streamlayer_analytics_v1_common_analytics_common, file_streamlayer_social_twitter]);
15
+ fileDesc("CjBzdHJlYW1sYXllci9pbnRlcmFjdGl2ZS9pbnRlcmFjdGl2ZS5jb21tb24ucHJvdG8SF3N0cmVhbWxheWVyLmludGVyYWN0aXZlIlQKCkNsb3NlVGltZXISNQoEYXV0bxgBIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkNsb3NlVGltZXJBdXRvEg8KB3NlY29uZHMYAiABKAUijAIKElF1ZXN0aW9uQXBwZWFyYW5jZRI3CgZsYXlvdXQYASABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkxheW91dBI3CgZpbWFnZXMYAiABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcxIVCg1wcmltYXJ5X2NvbG9yGAMgASgJEkQKCHBvc2l0aW9uGAQgASgOMikuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25Qb3NpdGlvbkICGAFIAIgBARIaChJhdXRvX2hpZGVfaW50ZXJ2YWwYBSABKARCCwoJX3Bvc2l0aW9uIs4CCgtTcG9uc29yc2hpcBIMCgRsb2dvGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIZCgxjbGFzc2ljX2xvZ28YAyABKAlIAYgBARIYCgtjZW50ZXJfbG9nbxgEIAEoCUgCiAEBElAKDWxvZ29fcG9zaXRpb24YBSABKA4yNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Ob3RpZmljYXRpb25TcG9uc29yTG9nb01vZGVIA4gBARJGChB1c2VfZ2VuZXJhbF9sb2dvGAYgASgOMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVXNlR2VuZXJhbExvZ29IBIgBAUIHCgVfbmFtZUIPCg1fY2xhc3NpY19sb2dvQg4KDF9jZW50ZXJfbG9nb0IQCg5fbG9nb19wb3NpdGlvbkITChFfdXNlX2dlbmVyYWxfbG9nbyLNAgoVUHJvbW90aW9uTm90aWZpY2F0aW9uEhQKDHNwb25zb3JfbG9nbxgBIAEoCRJPChFzcG9uc29yX2xvZ29fbW9kZRgCIAEoDjI0LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvblNwb25zb3JMb2dvTW9kZRI2CgpjdGFfYnV0dG9uGAMgASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQ1RBQnV0dG9uElMKDmltYWdlX3Bvc2l0aW9uGAQgASgOMjsuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTm90aWZpY2F0aW9uUHJvbW90aW9uSW1hZ2VQb3NpdGlvbhJACgRtb2RlGAUgASgOMjIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTm90aWZpY2F0aW9uUHJvbW90aW9uTW9kZSL8AwoUUXVlc3Rpb25Ob3RpZmljYXRpb24SDQoFdGl0bGUYASABKAkSDQoFaW1hZ2UYAiABKAkSFwoPaW5kaWNhdG9yX2NvbG9yGAMgASgJEj4KDmltYWdlX3Bvc2l0aW9uGAQgASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1hZ2VQb3NpdGlvbhIMCgRib2R5GAUgASgJEjsKCmltYWdlX21vZGUYBiABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcxJBCglwcm9tb3Rpb24YByABKAsyLi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25Ob3RpZmljYXRpb24SPQoHZW5hYmxlZBgIIAEoDjIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvbkVuYWJsZWQSTwoRdXNlX2NvbnRlbnRfbWVkaWEYCSABKA4yNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Ob3RpZmljYXRpb25Vc2VDb250ZW50TWVkaWESTwoRdXNlX2NvbnRlbnRfdGV4dHMYCiABKA4yNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Ob3RpZmljYXRpb25Vc2VDb250ZW50VGV4dHMiWQoOUXVlc3Rpb25BbnN3ZXISCgoCaWQYASABKAkSDAoEdGV4dBgCIAEoCRIMCgRpY29uGAMgASgJEg8KB2NvcnJlY3QYBCABKAgSDgoGcG9pbnRzGAUgASgNIr8BChZFeHRlbmRlZFF1ZXN0aW9uQW5zd2VyEgoKAmlkGAEgASgJEgwKBHRleHQYAiABKAkSDAoEaWNvbhgDIAEoCRIPCgdjb3JyZWN0GAQgASgIEg4KBnBvaW50cxgFIAEoDRIWCgpwZXJjZW50YWdlGAYgASgNQgIYARIRCgl5b3Vfdm90ZWQYByABKAgSGgoScGVyY2VudGFnZV9kZWNpbWFsGAggASgBEhUKDXBvaW50c19lYXJuZWQYCSABKA0iNAoOQW5zd2VyRmVlZGJhY2sSDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiOgoIRmlsZUxpbmsSCgoCaWQYASABKAkSCwoDdXJsGAIgASgJEhUKDXRodW1ibmFpbF91cmwYAyABKAkiJQoHV2ViTGluaxINCgVsYWJlbBgBIAEoCRILCgN1cmwYAiABKAkioAEKCUNUQUJ1dHRvbhINCgVsYWJlbBgBIAEoCRINCgVjb2xvchgCIAEoCRIXCgp0ZXh0X2NvbG9yGAMgASgJSACIAQESEAoIY3RhX2ljb24YBCABKAkSOwoNY3RhX2ljb25fbW9kZRgFIAEoDjIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkN0YUljb25Nb2RlQg0KC190ZXh0X2NvbG9yIqoECgZCYW5uZXISEQoJaW1hZ2VfdXJsGAEgASgJEgsKA3VybBgCIAEoCRI2CgpjdGFfYnV0dG9uGAMgASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQ1RBQnV0dG9uEjAKBXZpZGVvGAQgASgLMiEuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRmlsZUxpbmsSEQoEYm9keRgFIAEoCUgAiAEBElQKGGFuYWx5dGljc190b3BpY19zdWJfdHlwZRgGIAEoDjItLnN0cmVhbWxheWVyLmFuYWx5dGljcy52MS5jb21tb24uVG9waWNTdWJUeXBlSAGIAQESEgoFdGl0bGUYByABKAlIAogBARIWCglzdWJfdGl0bGUYCCABKAlIA4gBARJYCg5pbWFnZV9wb3NpdGlvbhgJIAEoDjI7LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLk5vdGlmaWNhdGlvblByb21vdGlvbkltYWdlUG9zaXRpb25IBIgBARJFCgxtZWRpYV9mb3JtYXQYCiABKA4yKi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYW5uZXJNZWRpYUZvcm1hdEgFiAEBQgcKBV9ib2R5QhsKGV9hbmFseXRpY3NfdG9waWNfc3ViX3R5cGVCCAoGX3RpdGxlQgwKCl9zdWJfdGl0bGVCEQoPX2ltYWdlX3Bvc2l0aW9uQg8KDV9tZWRpYV9mb3JtYXQiMAoGQWRMb29wEhUKCGludGVydmFsGAEgASgFSACIAQE6AhgBQgsKCV9pbnRlcnZhbCJkCgVQcmljZRINCgVwcmljZRgBIAEoCRI4CgxzYWxlX2VuYWJsZWQYAiABKA4yIi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TYWxlUHJpY2USEgoKc2FsZV9wcmljZRgDIAEoCSIkCgRTaXplEg0KBWxhYmVsGAEgASgJEg0KBXZhbHVlGAIgASgJImoKB1Byb2R1Y3QSCgoCaWQYASABKAkSEQoJaW1hZ2VfdXJsGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEg0KBWNvbG9yGAUgASgJEg0KBWJyYW5kGAYgASgJIqcDChJHZW5lcmFsVGFiTWV0YWRhdGESHAoPYWR2ZXJ0aXNlcl9sb2dvGAEgASgJSACIAQESFwoPYWR2ZXJ0aXNlcl9uYW1lGAIgASgJEhoKDWNhbXBhaWduX25hbWUYAyABKAlIAYgBARI3CghhZF9ncm91cBgEIAEoCzIgLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFkR3JvdXBIAogBARI/Cgx0cmlnZ2VyX3R5cGUYBSABKA4yJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5UcmlnZ2VyVHlwZUgDiAEBEgwKBHRhZ3MYCSADKAkSKAobYWR2ZXJ0aXNlcl90cmFuc3BhcmVudF9sb2dvGAogASgJSASIAQESGAoLYWRfZ3JvdXBfaWQYCyABKAVIBYgBAUISChBfYWR2ZXJ0aXNlcl9sb2dvQhAKDl9jYW1wYWlnbl9uYW1lQgsKCV9hZF9ncm91cEIPCg1fdHJpZ2dlcl90eXBlQh4KHF9hZHZlcnRpc2VyX3RyYW5zcGFyZW50X2xvZ29CDgoMX2FkX2dyb3VwX2lkIsEBCgdBZEdyb3VwEgwKBG5hbWUYASABKAkSOgoOZ2VvX3RhcmdldGluZ3MYAiADKAsyIi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5HZW9UYXJnZXQSGwoTYXVkaWVuY2VfdGFyZ2V0aW5ncxgDIAMoCRJDChFkZXZpY2VfdGFyZ2V0aW5ncxgEIAMoDjIoLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkRldmljZVRhcmdldGluZxIKCgJpZBgFIAEoBSInCglHZW9UYXJnZXQSDAoEY29kZRgBIAEoCRIMCgRuYW1lGAIgASgJIqkDCglQcm9tb3Rpb24SQQoGZm9ybWF0GAEgASgOMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uRm9ybWF0QgIYAUgAiAEBEi8KBmJhbm5lchgCIAEoCzIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhbm5lchJJChRnZW5lcmFsX3RhYl9tZXRhZGF0YRgDIAEoCzIrLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkdlbmVyYWxUYWJNZXRhZGF0YRI5CgdhZF91bml0GAQgASgOMh8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQWRVbml0QgIYAUgBiAEBEjUKB3Nwb25zb3IYBSABKAsyJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TcG9uc29yc2hpcBJDCgxhZF9jYW1wYWlnbnMYBiABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5nYW0uQWRDYW1wYWlnbnNIAogBAUIJCgdfZm9ybWF0QgoKCF9hZF91bml0Qg8KDV9hZF9jYW1wYWlnbnMiPgoPQmFja2dyb3VuZEltYWdlEhUKDWxhbmRzY2FwZV91cmwYASABKAkSFAoMcG9ydHJhaXRfdXJsGAIgASgJIrQCCgpORkxQcm9kdWN0EgoKAmlkGAEgASgJEg0KBXRpdGxlGAIgASgJEhIKCnNhbGVfcHJpY2UYAyABKAESDQoFcHJpY2UYBCABKAESDAoEbGluaxgFIAEoCRISCgppbWFnZV9saW5rGAYgASgJEgwKBGd0aW4YByABKAkSHwoXZ29vZ2xlX3Byb2R1Y3RfY2F0ZWdvcnkYCCABKAkSDgoGZ2VuZGVyGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEhEKCWNvbmRpdGlvbhgLIAEoCRINCgVjb2xvchgMIAEoCRINCgVicmFuZBgNIAEoCRIUCgxhdmFpbGFiaWxpdHkYDiABKAkSDgoGbGVhZ3VlGA8gASgJEgwKBHRlYW0YECABKAkSDQoFc2l6ZXMYESADKAkisEcKD1F1ZXN0aW9uT3B0aW9ucxJECgRwb2xsGAEgASgLMjQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlBvbGxPcHRpb25zSAASSAoGdHJpdmlhGAIgASgLMjYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlRyaXZpYU9wdGlvbnNIABJQCgpwcmVkaWN0aW9uGAMgASgLMjouc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlByZWRpY3Rpb25PcHRpb25zSAASSgoHZmFjdG9pZBgEIAEoCzI3LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5GYWN0b2lkT3B0aW9uc0gAEkYKBXR3ZWV0GAUgASgLMjUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlR3ZWV0T3B0aW9uc0gAEk4KCXByb21vdGlvbhgGIAEoCzI5LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5Qcm9tb3Rpb25PcHRpb25zSAAaDQoLUG9sbE9wdGlvbnMavAEKDVRyaXZpYU9wdGlvbnMSQQoQY29ycmVjdF9mZWVkYmFjaxgBIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEkMKEmluY29ycmVjdF9mZWVkYmFjaxgCIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEg4KBnBvaW50cxgDIAEoBBITCgtleHBsYW5hdGlvbhgEIAEoCRqbAQoRUHJlZGljdGlvbk9wdGlvbnMSQQoQY29ycmVjdF9mZWVkYmFjaxgBIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEkMKEmluY29ycmVjdF9mZWVkYmFjaxgCIAEoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrGtgECg5GYWN0b2lkT3B0aW9ucxINCgVpbWFnZRgBIAEoCRIMCgRib2R5GAIgASgJEjAKBXZpZGVvGAMgASgLMiEuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRmlsZUxpbmsSMgoId2ViX2xpbmsYBCABKAsyIC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5XZWJMaW5rEjsKCmltYWdlX21vZGUYBSABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkltYWdlcxJHChN1c2VfYXNfbm90aWZpY2F0aW9uGAYgASgOMiouc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVXNlQXNOb3RpZmljYXRpb24SPQoLY2xvc2VfdGltZXIYByABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5DbG9zZVRpbWVySACIAQESRAoPYXV0b19wbGF5X3ZpZGVvGAggASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQXV0b1BsYXlWaWRlb0gBiAEBEjcKBG1vZGUYCSABKA4yKS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5GYWN0b2lkTWVkaWFNb2RlEkYKEHBsYXlfdmlkZW9fbXV0ZWQYCiABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QbGF5VmlkZW9NdXRlZEgCiAEBQg4KDF9jbG9zZV90aW1lckISChBfYXV0b19wbGF5X3ZpZGVvQhMKEV9wbGF5X3ZpZGVvX211dGVkGpwCCgxUd2VldE9wdGlvbnMSEQoJdHdlZXRfdXJsGAEgASgJEhAKCHR3ZWV0X2lkGAIgASgJElcKCnR3ZWV0X21ldGEYAyABKAsyQy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuVHdlZXRPcHRpb25zLlR3ZWV0TWV0YWRhdGEajQEKDVR3ZWV0TWV0YWRhdGESDwoHYWNjb3VudBgBIAEoCRIYChBhY2NvdW50X3ZlcmlmaWVkGAIgASgIEhEKCWhhc19tZWRpYRgDIAEoCBIoCgV0d2VldBgEIAEoCzIZLnN0cmVhbWxheWVyLnNvY2lhbC5Ud2VldBIUCgxhY2NvdW50X25hbWUYBSABKAka4hMKCkdhbU9wdGlvbnMSEAoDZW52GAEgASgJSACIAQES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CgtfY29ycmVsYXRvckIICgZfcGxjbXRCBgoEX3ZwYUIJCgdfdnBtdXRlQgYKBF93dGFCCAoGX2Fjb25wQgoKCF9hZF9ydWxlQgoKCF9hZF90eXBlQgUKA19obEIGCgRfZHRoQgcKBV9nZHByQg8KDV9nZHByX2NvbnNlbnRCCgoIX2lhYmV4Y2xCBgoEX2xpcEIGCgRfbHRkQgcKBV9ub2ZiQgYKBF9ucGFCCQoHX29taWRfcEIGCgRfcHB0QgcKBV9wcG9zQgcKBV9wcGlkQgcKBV9zY29yQgsKCV9zZGtfYXBpc0IHCgVfc3Nzc0IICgZfc2RtYXhCBgoEX3NpZEIGCgRfcmRwQhAKDl9hZGR0bF9jb25zZW50QggKBl9hZnZzekIKCghfYWxsY3Vlc0IICgZfY21zaWRCBgoEX3ZpZEILCglfZXhjbF9jYXRCBgoEX2lwZEIGCgRfaXBlQhIKEF9tYXhfYWRfZHVyYXRpb25CEgoQX21pbl9hZF9kdXJhdGlvbkIICgZfbXJpZHhCBwoFX21zaWRCBQoDX2FuQgcKBV9wbWFkQgcKBV9wbW5kQgcKBV9wbXhkQgYKBF9wb2RCBQoDX3BwQgcKBV9wcHNqQgcKBV9wdHBsQggKBl9wdHBsbkIHCgVfcHViZkIHCgVfcHZ0ZkIHCgVfcHZpZEIJCgdfcHZpZF9zQgcKBV9yZGlkQgkKB19pZHR5cGVCCQoHX2lzX2xhdEIHCgVfdGZjZEIGCgRfdHJ0QgsKCV92YWRfdHlwZUIICgZfdmlkX2RCCAoGX3Zjb25wQgYKBF92cGlCBwoFX3Zwb3NCBwoFX2ltcGxCDQoLX3ZhZF9mb3JtYXRCCQoHX2NsaWVudEIWChRfdmlkZW9hZF9zdGFydF9kZWxheUIPCg1fZ2FtX2Jhc2VfdXJsGoIHCgtBZENhbXBhaWducxJNCgtnYW1fb3B0aW9ucxgBIAEoCzIzLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5HYW1PcHRpb25zSACIAQESHQoMZ2FtX2Jhc2VfdXJsGAIgASgJQgIYAUgBiAEBEjAKB2FkX2xvb3AYAyABKAsyHy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BZExvb3ASTgoMaW9zX3NldHRpbmdzGAQgASgLMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkdhbU9wdGlvbnNIAogBARJSChBhbmRyb2lkX3NldHRpbmdzGAUgASgLMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkdhbU9wdGlvbnNIA4gBARJWChRkZXNrdG9wX3dlYl9zZXR0aW5ncxgGIAEoCzIzLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5HYW1PcHRpb25zSASIAQESTgoMY3R2X3NldHRpbmdzGAcgASgLMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLkdhbU9wdGlvbnNIBYgBARIUCgdhZF9uYW1lGAggASgJSAaIAQESSwoKYWRfbWFuYWdlchgJIAEoDjIyLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5BZE1hbmFnZXJIB4gBARJxCh51c2VfcGxhdGZvcm1fc3BlY2lmaWNfc2V0dGluZ3MYCiABKA4yRC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuVXNlUGxhdGZvcm1TcGVjaWZpY1NldHRpbmdzSAiIAQE6AhgBQg4KDF9nYW1fb3B0aW9uc0IPCg1fZ2FtX2Jhc2VfdXJsQg8KDV9pb3Nfc2V0dGluZ3NCEwoRX2FuZHJvaWRfc2V0dGluZ3NCFwoVX2Rlc2t0b3Bfd2ViX3NldHRpbmdzQg8KDV9jdHZfc2V0dGluZ3NCCgoIX2FkX25hbWVCDQoLX2FkX21hbmFnZXJCIQofX3VzZV9wbGF0Zm9ybV9zcGVjaWZpY19zZXR0aW5ncxrvAQoLU2hvcE9wdGlvbnMSMQoHcHJvZHVjdBgBIAEoCzIgLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlByb2R1Y3QSLQoFcHJpY2UYAiABKAsyHi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QcmljZRI2Cg9hdmFpbGFibGVfc2l6ZXMYAyADKAsyHS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TaXplEjMKBmdlbmRlchgEIAEoDjIjLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNob3BHZW5kZXISEQoJc3RvcmVfdXJsGAUgASgJGpQECg5ORkxTaG9wT3B0aW9ucxISCgpwcm9kdWN0X2lkGAEgASgJEjkKB3Byb2R1Y3QYAiABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5ORkxQcm9kdWN0SACIAQESXQoMbm90aWZpY2F0aW9uGAMgASgLMkcuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLk5GTFNob3BPcHRpb25zLk5GTE5vdGlmaWNhdGlvbhrHAgoPTkZMTm90aWZpY2F0aW9uEksKDm11bHRpY29tcG9uZW50GAEgASgOMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTm90aWZpY2F0aW9uTXVsdGljb21wb25lbnQSbwoLZ2FtZV9tb21lbnQYAiABKAsyVS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuTkZMU2hvcE9wdGlvbnMuTkZMTm90aWZpY2F0aW9uLk5GTEdhbWVNb21lbnRIAIgBARINCgV0aXRsZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRpCCg1ORkxHYW1lTW9tZW50Eg0KBXRpdGxlGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEg0KBW1lZGlhGAMgASgJQg4KDF9nYW1lX21vbWVudEIKCghfcHJvZHVjdBqRAgoOUGF1c2VBZE9wdGlvbnMSMAoHcXJfY29kZRgBIAEoDjIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlFSQ29kZRIaCg1xcl9jb2RlX2xhYmVsGAIgASgJSACIAQESGAoLcXJfY29kZV91cmwYAyABKAlIAYgBARI2CgZsYXlvdXQYBCABKA4yJi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QYXVzZUFkTGF5b3V0Ej0KCnN0YXRzX3R5cGUYBSABKA4yKS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QYXVzZUFkU3RhdHNUeXBlQhAKDl9xcl9jb2RlX2xhYmVsQg4KDF9xcl9jb2RlX3VybBrFFAoQUHJvbW90aW9uT3B0aW9ucxI0CgR0eXBlGAEgASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uVHlwZRI1CgdzcG9uc29yGAIgASgLMiQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuU3BvbnNvcnNoaXASLwoGYmFubmVyGAMgASgLMh8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQmFubmVyEkMKDWVuYWJsZV93YWxsZXQYBCABKA4yKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25XYWxsZXRCAhgBEjoKEWFkZGl0aW9uYWxfYmFubmVyGAUgASgLMh8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQmFubmVyEhIKBmNvdXBvbhgGIAEoCUICGAESPQoJbG9nb19tb2RlGAcgASgOMiouc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uTG9nb01vZGUSFgoKY291cG9uX3ppcBgIIAEoCUICGAESHgoSY291cG9uX2JhcmNvZGVfdXJsGAkgASgJQgIYARJGCgtidXR0b25fdHlwZRgKIAEoDjIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlByb21vdGlvbkJ1dHRvblR5cGVIAYgBARJTCgxhZF9jYW1wYWlnbnMYCyABKAsyNC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuQWRDYW1wYWlnbnNCAhgBSAKIAQESPQoLY2xvc2VfdGltZXIYDCABKAsyIy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5DbG9zZVRpbWVySAOIAQESRAoPYXV0b19wbGF5X3ZpZGVvGA0gASgOMiYuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQXV0b1BsYXlWaWRlb0gEiAEBEi8KHmJhY2tncm91bmRfaW1hZ2VfbGFuZHNjYXBlX3VybBgOIAEoCUICGAFIBYgBARIuCh1iYWNrZ3JvdW5kX2ltYWdlX3BvcnRyYWl0X3VybBgPIAEoCUICGAFIBogBARJtChVhZGRfdG9fd2FsbGV0X29wdGlvbnMYECABKAsyTC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuUHJvbW90aW9uT3B0aW9ucy5BZGRUb1dhbGxldE9wdGlvbnNIABJrChRzZW5kX3RvX3VzZXJfb3B0aW9ucxgRIAEoCzJLLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5Qcm9tb3Rpb25PcHRpb25zLlNlbmRUb1VzZXJPcHRpb25zSAASTwoMc2hvcF9vcHRpb25zGBIgASgLMjQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlNob3BPcHRpb25zSAeIAQESVgoQbmZsX3Nob3Bfb3B0aW9ucxgTIAEoCzI3LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucy5ORkxTaG9wT3B0aW9uc0gIiAEBEkYKEHBsYXlfdmlkZW9fbXV0ZWQYFCABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5QbGF5VmlkZW9NdXRlZEgJiAEBElYKEHBhdXNlX2FkX29wdGlvbnMYFSABKAsyNy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuUGF1c2VBZE9wdGlvbnNICogBARJBCgZmb3JtYXQYFiABKA4yKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25Gb3JtYXRCAhgBSAuIAQESZAoOYmFubmVyX29wdGlvbnMYFyABKAsyRy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMuUHJvbW90aW9uT3B0aW9ucy5CYW5uZXJPcHRpb25zSAyIAQEScQoVc3BvbnNvcl9mcmFtZV9vcHRpb25zGBggASgLMk0uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zLlByb21vdGlvbk9wdGlvbnMuU3BvbnNvckZyYW1lT3B0aW9uc0gNiAEBGlQKEkFkZFRvV2FsbGV0T3B0aW9ucxIOCgZjb3Vwb24YASABKAkSEgoKY291cG9uX3ppcBgCIAEoCRIaChJjb3Vwb25fYmFyY29kZV91cmwYAyABKAka1AEKEVNlbmRUb1VzZXJPcHRpb25zEkMKEXVzZXJfYWNjb3VudF9pbmZvGAEgASgOMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVXNlckFjY291bnRJbmZvEiMKFnNlY29uZGFyeV9idXR0b25fbGFiZWwYAiABKAlIAIgBARIhChRzZWNvbmRhcnlfYnV0dG9uX3VybBgDIAEoCUgBiAEBQhkKF19zZWNvbmRhcnlfYnV0dG9uX2xhYmVsQhcKFV9zZWNvbmRhcnlfYnV0dG9uX3VybBqIAQoNQmFubmVyT3B0aW9ucxI5Cghwb3NpdGlvbhgBIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhbm5lclBvc2l0aW9uEjwKCm1lZGlhX3R5cGUYAiABKA4yKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYW5uZXJNZWRpYVR5cGUa5gEKE1Nwb25zb3JGcmFtZU9wdGlvbnMSTgoQYnV0dG9uX2FsaWdubWVudBgBIAEoDjI0LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JGcmFtZUJ1dHRvbkFsaWdubWVudBIhChlwb3J0cmFpdF9ncmFkaWVudF9vdmVybGF5GAIgASgIEkcKEGJhY2tncm91bmRfaW1hZ2UYAyABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYWNrZ3JvdW5kSW1hZ2VIAIgBAUITChFfYmFja2dyb3VuZF9pbWFnZUIQCg5idXR0b25fb3B0aW9uc0IOCgxfYnV0dG9uX3R5cGVCDwoNX2FkX2NhbXBhaWduc0IOCgxfY2xvc2VfdGltZXJCEgoQX2F1dG9fcGxheV92aWRlb0IhCh9fYmFja2dyb3VuZF9pbWFnZV9sYW5kc2NhcGVfdXJsQiAKHl9iYWNrZ3JvdW5kX2ltYWdlX3BvcnRyYWl0X3VybEIPCg1fc2hvcF9vcHRpb25zQhMKEV9uZmxfc2hvcF9vcHRpb25zQhMKEV9wbGF5X3ZpZGVvX211dGVkQhMKEV9wYXVzZV9hZF9vcHRpb25zQgkKB19mb3JtYXRCEQoPX2Jhbm5lcl9vcHRpb25zQhgKFl9zcG9uc29yX2ZyYW1lX29wdGlvbnMicAoJQWRNYW5hZ2VyEhQKEEFEX01BTkFHRVJfVU5TRVQQABIXChNBRF9NQU5BR0VSX1BVQk1BVElDEAESFgoSQURfTUFOQUdFUl9NQUdOSVRFEAISGAoUQURfTUFOQUdFUl9HT09HTEVfQUQQAxoCGAEipAEKG1VzZVBsYXRmb3JtU3BlY2lmaWNTZXR0aW5ncxIoCiRVU0VfUExBVEZPUk1fU1BFQ0lGSUNfU0VUVElOR1NfVU5TRVQQABIqCiZVU0VfUExBVEZPUk1fU1BFQ0lGSUNfU0VUVElOR1NfRU5BQkxFRBABEisKJ1VTRV9QTEFURk9STV9TUEVDSUZJQ19TRVRUSU5HU19ESVNBQkxFRBACGgIYAUIJCgdvcHRpb25zIjgKA1RhZxIKCgJpZBgBIAEoCRINCgVsYWJlbBgCIAEoCRIWCg5sYXN0X3VzZWRfdGltZRgDIAEoBCIeCgpRdWVzdGlvbkFpEhAKCHZlcmlmaWVkGAEgASgIIloKFEFic3RyYWN0VHJpZ2dlclN0YXRlEhUKCGRpc2FibGVkGAEgASgISACIAQESEwoGcmVhc29uGAIgASgJSAGIAQFCCwoJX2Rpc2FibGVkQgkKB19yZWFzb24igQ8KCFF1ZXN0aW9uEgoKAmlkGAEgASgJEjMKBHR5cGUYAiABKA4yJS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblR5cGUSFAoHc3ViamVjdBgDIAEoCUgAiAEBEjkKB29wdGlvbnMYBCABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMSPwoKYXBwZWFyYW5jZRgFIAEoCzIrLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQXBwZWFyYW5jZRI5CgtzcG9uc29yc2hpcBgGIAEoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JzaGlwEkMKDG5vdGlmaWNhdGlvbhgHIAEoCzItLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uTm90aWZpY2F0aW9uEjgKB2Fuc3dlcnMYCCADKAsyJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkFuc3dlchI3CgZzdGF0dXMYCSABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblN0YXR1cxIVCghwb3NpdGlvbhgKIAEoDUgBiAEBEhUKDW1hcmtldF9jbG9zZWQYCyABKAgSFAoMYWN0aXZhdGVkX2F0GAwgASgJEhUKDWFuc3dlcl9zZXRfYXQYDSABKAkSQwoJb3ZlcnJpZGVzGA4gAygLMjAuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb24uT3ZlcnJpZGVzRW50cnkSEAoIZXZlbnRfaWQYDyABKAkSNAoQc3RyZWFtX3RpbWVzdGFtcBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoEdGFncxgRIAMoCzIcLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlRhZxJKChRieXBhc3Nfbm90aWZpY2F0aW9ucxgSIAEoCzIsLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJ5cGFzc05vdGlmaWNhdGlvbnMSEQoJaW1wb3J0X2lkGBMgASgJEiUKGGFjdGl2YXRpb25fdHJpZ2dlcl9jb3VudBgUIAEoDUgCiAEBEjcKBnNvdXJjZRgVIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uU291cmNlEi8KAmFpGBYgASgLMiMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BaRIZCgxoYXNfdHJpZ2dlcnMYFyABKAhIA4gBARISCgpjcmVhdGVkX2F0GBggASgJEhEKBG5hbWUYGSABKAlIBIgBARI1Cglwcm9tb3Rpb24YGiABKAsyIi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb24SQgoQYmFja2dyb3VuZF9pbWFnZRgbIAEoCzIoLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhY2tncm91bmRJbWFnZRIcCg9zdGF0dXNfcG9zaXRpb24YHCABKA1IBYgBARI/CgxhY3RpdmF0ZWRfYnkYHSABKA4yJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BY3RpdmF0ZWRCeUgGiAEBEiQKF2FjdGl2YXRlZF9ieV90cmlnZ2VyX2lkGB4gASgJSAeIAQESJgoZYWN0aXZhdGVkX2J5X3RyaWdnZXJfbmFtZRgfIAEoCUgIiAEBEhgKC3RlbXBsYXRlX2lkGCAgASgJSAmIAQESMAoHYWRfdW5pdBghIAEoDjIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFkVW5pdBIWCgltb2R1bGVfaWQYIiABKAlICogBARIhChRpc19tb2R1bGVfb3ZlcnJpZGRlbhgjIAEoCEgLiAEBEjMKBmZvcm1hdBgkIAEoDjIjLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkNhcmRGb3JtYXQSUgoWYWJzdHJhY3RfdHJpZ2dlcl9zdGF0ZRglIAEoCzItLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFic3RyYWN0VHJpZ2dlclN0YXRlSAyIAQEaMAoOT3ZlcnJpZGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgIOgI4AUIKCghfc3ViamVjdEILCglfcG9zaXRpb25CGwoZX2FjdGl2YXRpb25fdHJpZ2dlcl9jb3VudEIPCg1faGFzX3RyaWdnZXJzQgcKBV9uYW1lQhIKEF9zdGF0dXNfcG9zaXRpb25CDwoNX2FjdGl2YXRlZF9ieUIaChhfYWN0aXZhdGVkX2J5X3RyaWdnZXJfaWRCHAoaX2FjdGl2YXRlZF9ieV90cmlnZ2VyX25hbWVCDgoMX3RlbXBsYXRlX2lkQgwKCl9tb2R1bGVfaWRCFwoVX2lzX21vZHVsZV9vdmVycmlkZGVuQhkKF19hYnN0cmFjdF90cmlnZ2VyX3N0YXRlIuYGChBFeHRlbmRlZFF1ZXN0aW9uEgoKAmlkGAEgASgJEjMKBHR5cGUYAiABKA4yJS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblR5cGUSDwoHc3ViamVjdBgDIAEoCRI5CgdvcHRpb25zGAQgASgLMiguc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25PcHRpb25zEj8KCmFwcGVhcmFuY2UYBSABKAsyKy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkFwcGVhcmFuY2USOQoLc3BvbnNvcnNoaXAYBiABKAsyJC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5TcG9uc29yc2hpcBJDCgxub3RpZmljYXRpb24YByABKAsyLS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk5vdGlmaWNhdGlvbhJACgdhbnN3ZXJzGAggAygLMi8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRXh0ZW5kZWRRdWVzdGlvbkFuc3dlchI3CgZzdGF0dXMYCSABKA4yJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblN0YXR1cxIQCghwb3NpdGlvbhgKIAEoDRIVCg1tYXJrZXRfY2xvc2VkGAsgASgIEhQKDGFjdGl2YXRlZF9hdBgMIAEoCRIVCg1hbnN3ZXJfc2V0X2F0GA0gASgJEhAKCGV2ZW50X2lkGA4gASgJEkoKFGJ5cGFzc19ub3RpZmljYXRpb25zGA8gASgLMiwuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQnlwYXNzTm90aWZpY2F0aW9ucxI1Cglwcm9tb3Rpb24YECABKAsyIi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb24SQgoQYmFja2dyb3VuZF9pbWFnZRgRIAEoCzIoLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkJhY2tncm91bmRJbWFnZRIYCgt0ZW1wbGF0ZV9pZBgSIAEoCUgAiAEBEjAKB2FkX3VuaXQYEyABKA4yHy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BZFVuaXRCDgoMX3RlbXBsYXRlX2lkIq8DChBRdWVzdGlvblRpbWVsaW5lEgoKAmlkGAEgASgJEjMKBHR5cGUYAiABKA4yJS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblR5cGUSDwoHc3ViamVjdBgDIAEoCRIUCgxhY3RpdmF0ZWRfYXQYBCABKAkSNwoGc3RhdHVzGAUgASgOMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25TdGF0dXMSOQoHb3B0aW9ucxgGIAEoCzIoLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uT3B0aW9ucxJDCgxub3RpZmljYXRpb24YByABKAsyLS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk5vdGlmaWNhdGlvbhI6Cglwcm9tb3Rpb24YCCABKAsyIi5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Qcm9tb3Rpb25IAIgBARIwCgdhZF91bml0GAkgASgOMh8uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQWRVbml0QgwKCl9wcm9tb3Rpb24i4wsKD0V2ZW50TW9kZXJhdGlvbhIKCgJpZBgBIAEoCRIQCghldmVudF9pZBgCIAEoCRI9CgtzcG9uc29yc2hpcBgDIAEoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JzaGlwQgIYARIaChJvbmJvYXJkaW5nX2VuYWJsZWQYBCABKAgSSwoIcXVlc3Rpb24YBSABKAsyOS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5FdmVudE1vZGVyYXRpb24uUXVlc3Rpb25TZXR0aW5ncxJOCghzcG9uc29ycxgGIAEoCzI8LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkV2ZW50TW9kZXJhdGlvbi5TcG9uc29yc2hpcFNldHRpbmdzElMKDG5vdGlmaWNhdGlvbhgHIAEoCzI9LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkV2ZW50TW9kZXJhdGlvbi5Ob3RpZmljYXRpb25TZXR0aW5ncxIwCgxhY3RpdmF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDmRlYWN0aXZhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJFChJxdWVzdGlvbl9hdXRvX3Bvc3QYCiABKAsyKS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkF1dG9Qb3N0EkoKFGJ5cGFzc19ub3RpZmljYXRpb25zGAsgASgLMiwuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQnlwYXNzTm90aWZpY2F0aW9ucxJOChZpbXBvcnRlcl9jb2xsYWJvcmF0aW9uGAwgASgLMi4uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1wb3J0ZXJDb2xsYWJvcmF0aW9uEhcKD29yZ2FuaXphdGlvbl9pZBgNIAEoCRr1AwoQUXVlc3Rpb25TZXR0aW5ncxI/CgphcHBlYXJhbmNlGAEgASgLMisuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BcHBlYXJhbmNlElwKBnRyaXZpYRgCIAEoCzJMLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkV2ZW50TW9kZXJhdGlvbi5RdWVzdGlvblNldHRpbmdzLlRyaXZpYUNhcmRTZXR0aW5ncxJkCgpwcmVkaWN0aW9uGAMgASgLMlAuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuRXZlbnRNb2RlcmF0aW9uLlF1ZXN0aW9uU2V0dGluZ3MuUHJlZGljdGlvbkNhcmRTZXR0aW5ncxJCChFjb3JyZWN0X2ZlZWRiYWNrcxgEIAMoCzInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlckZlZWRiYWNrEkQKE2luY29ycmVjdF9mZWVkYmFja3MYBSADKAsyJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5BbnN3ZXJGZWVkYmFjaxokChJUcml2aWFDYXJkU2V0dGluZ3MSDgoGcG9pbnRzGAEgASgNGiwKFlByZWRpY3Rpb25DYXJkU2V0dGluZ3MSEgoKbWF4X3BvaW50cxgBIAEoDRpNChNTcG9uc29yc2hpcFNldHRpbmdzEjYKCHNwb25zb3JzGAEgAygLMiQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuU3BvbnNvcnNoaXAauwEKFE5vdGlmaWNhdGlvblNldHRpbmdzEg0KBWltYWdlGAEgASgJEhcKD2luZGljYXRvcl9jb2xvchgCIAEoCRI+Cg5pbWFnZV9wb3NpdGlvbhgDIAEoDjImLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkltYWdlUG9zaXRpb24SOwoKaW1hZ2VfbW9kZRgEIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uSW1hZ2VzIqkCChBRdWVzdGlvbkF1dG9Qb3N0Ej0KBXN0YXRlGAEgASgOMi4uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BdXRvUG9zdFN0YXRlEhAKCGludGVydmFsGAIgASgNEjIKDm5leHRfcG9zdF90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJCCgpzdGFydF9tb2RlGAQgASgOMi4uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BdXRvUG9zdFN0YXJ0EkwKDXN0YXJ0X29wdGlvbnMYBSABKAsyNS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkF1dG9Qb3N0U3RhcnRPcHRpb25zIqoBChxRdWVzdGlvbkF1dG9Qb3N0U3RhcnRPcHRpb25zElkKCHNjaGVkdWxlGAEgASgLMkUuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25BdXRvUG9zdFN0YXJ0T3B0aW9ucy5TY2hlZHVsZU9wdGlvbnNIABokCg9TY2hlZHVsZU9wdGlvbnMSEQoJdGltZXN0YW1wGAEgASgEQgkKB29wdGlvbnMiMwoKQW5zd2VyRGF0YRIRCglhbnN3ZXJfaWQYASABKAkSEgoKcGVyY2VudGFnZRgCIAEoDSI9CgpQYWdpbmF0aW9uEgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEg4KBmN1cnNvchgDIAEoCSIkCgRTb3J0Eg0KBWZpZWxkGAEgASgJEg0KBW9yZGVyGAIgASgJIuoBCg1RdWVzdGlvblN0YXRzEgoKAmlkGAEgASgJEkUKCHF1ZXN0aW9uGAIgASgLMjMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUXVlc3Rpb25TdGF0cy5RdWVzdGlvbkRhdGESPQoKc3RhdGlzdGljcxgDIAMoCzIpLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlclZvdGVzU3RhdHMaRwoMUXVlc3Rpb25EYXRhEjcKBnN0YXR1cxgBIAEoDjInLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uU3RhdHVzIqUBChBBbnN3ZXJWb3Rlc1N0YXRzEhEKCWFuc3dlcl9pZBgBIAEoCRJICgV2b3RlcxgCIAEoCzI5LnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFuc3dlclZvdGVzU3RhdHMuQW5zd2VyVm90ZXNEYXRhGjQKD0Fuc3dlclZvdGVzRGF0YRINCgVjb3VudBgBIAEoDRISCgpwZXJjZW50YWdlGAIgASgNIkEKGVNlcnZlck5vdGlmaWNhdGlvbk9wdGlvbnMSDwoHc2lsZW5jZRgBIAEoCBITCgtza2lwX3VwZGF0ZRgCIAEoCCJWChNCeXBhc3NOb3RpZmljYXRpb25zEj8KDmluX2FwcF9zaWxlbmNlGAEgASgOMicuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuU2lsZW5jZVNldHRpbmciLgoLSW1wb3J0RXJyb3ISDgoGcm93X2lkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkiwgEKDkltcG9ydFByb2dyZXNzEhEKCWltcG9ydF9pZBgBIAEoCRI1CgZzdGF0dXMYAiABKA4yJS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5JbXBvcnRTdGF0dXMSNAoGZXJyb3JzGAMgAygLMiQuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuSW1wb3J0RXJyb3ISMAoMbGFzdF91cGRhdGVkGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK+AQoVSW1wb3J0ZXJDb2xsYWJvcmF0aW9uEkwKB2ltcG9ydHMYASADKAsyOy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5JbXBvcnRlckNvbGxhYm9yYXRpb24uSW1wb3J0c0VudHJ5GlcKDEltcG9ydHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5JbXBvcnRQcm9ncmVzczoCOAEi2QgKCFRlbXBsYXRlEgoKAmlkGAEgASgJEjMKBHR5cGUYAiABKA4yJS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvblR5cGUSFAoHc3ViamVjdBgDIAEoCUgAiAEBEjkKB29wdGlvbnMYBCABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbk9wdGlvbnMSPwoKYXBwZWFyYW5jZRgFIAEoCzIrLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQXBwZWFyYW5jZRI5CgtzcG9uc29yc2hpcBgGIAEoCzIkLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlNwb25zb3JzaGlwEkMKDG5vdGlmaWNhdGlvbhgHIAEoCzItLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uTm90aWZpY2F0aW9uEjgKB2Fuc3dlcnMYCCADKAsyJy5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5RdWVzdGlvbkFuc3dlchJDCglvdmVycmlkZXMYCSADKAsyMC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5UZW1wbGF0ZS5PdmVycmlkZXNFbnRyeRIqCgR0YWdzGAogAygLMhwuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuVGFnEkoKFGJ5cGFzc19ub3RpZmljYXRpb25zGAsgASgLMiwuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuQnlwYXNzTm90aWZpY2F0aW9ucxIvCgJhaRgMIAEoCzIjLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLlF1ZXN0aW9uQWkSGQoMaGFzX3RyaWdnZXJzGA0gASgISAGIAQESEgoKY3JlYXRlZF9hdBgOIAEoCRIRCgRuYW1lGA8gASgJSAKIAQESNQoJcHJvbW90aW9uGBAgASgLMiIuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuUHJvbW90aW9uEkIKEGJhY2tncm91bmRfaW1hZ2UYESABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYWNrZ3JvdW5kSW1hZ2USMAoHYWRfdW5pdBgSIAEoDjIfLnN0cmVhbWxheWVyLmludGVyYWN0aXZlLkFkVW5pdBIbCg5xdWVzdGlvbl9jb3VudBgTIAEoBUgDiAEBEhEKCWV2ZW50X2lkcxgUIAMoCRIWCgltb2R1bGVfaWQYFSABKAlIBIgBARIVCghwb3NpdGlvbhgWIAEoDUgFiAEBGjAKDk92ZXJyaWRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAFCCgoIX3N1YmplY3RCDwoNX2hhc190cmlnZ2Vyc0IHCgVfbmFtZUIRCg9fcXVlc3Rpb25fY291bnRCDAoKX21vZHVsZV9pZEILCglfcG9zaXRpb24ifQoKTW9kdWxlQ2FyZBIbChNsaW5rZWRfZXZlbnRzX2NvdW50GAEgASgNEh0KFXVwY29taW5nX2V2ZW50c19jb3VudBgCIAEoDRIZChFpbl9wbGF5X2Fkc19jb3VudBgDIAEoDRIYChBwYXVzZWRfYWRzX2NvdW50GAQgASgNImMKEE1vZHVsZUFkdmVydGlzZXISDAoEbmFtZRgBIAEoCRIMCgRsb2dvGAIgASgJEhkKEWluX3BsYXlfYWRzX2NvdW50GAMgASgNEhgKEHBhdXNlZF9hZHNfY291bnQYBCABKA0i4gIKBk1vZHVsZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHR5cGUYAyABKAkSDgoGbGVhZ3VlGAQgASgJEhMKC2N1c3RvbV9sb2dvGAUgASgJEhIKCmNyZWF0ZWRfYXQYBiABKAkSEgoKdXBkYXRlZF9hdBgHIAEoCRIxCgRjYXJkGAggASgLMiMuc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuTW9kdWxlQ2FyZBJKChhkZWZhdWx0X2JhY2tncm91bmRfaW1hZ2UYCSABKAsyKC5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5CYWNrZ3JvdW5kSW1hZ2USPgoLYWR2ZXJ0aXNlcnMYCiADKAsyKS5zdHJlYW1sYXllci5pbnRlcmFjdGl2ZS5Nb2R1bGVBZHZlcnRpc2VyEhEKCWNvbG9yX2JhchgLIAEoCRIRCglldmVudF9pZHMYDCADKAkq+wEKC0FjdGl2YXRlZEJ5EhYKEkFDVElWQVRFRF9CWV9VTlNFVBAAEhUKEUFDVElWQVRFRF9CWV9VU0VSEAESGgoWQUNUSVZBVEVEX0JZX0FVVE9fUE9TVBACEiQKIEFDVElWQVRFRF9CWV9UUklHR0VSX1RZUEVfTUFOVUFMEAMSKQolQUNUSVZBVEVEX0JZX1RSSUdHRVJfVFlQRV9FVkVOVF9CQVNFRBAEEiUKIUFDVElWQVRFRF9CWV9UUklHR0VSX1RZUEVfU0NURV8zNRAFEikKJUFDVElWQVRFRF9CWV9UUklHR0VSX1RZUEVfVkFTVF9TSUdOQUwQBirIAQoMUXVlc3Rpb25UeXBlEhcKE1FVRVNUSU9OX1RZUEVfVU5TRVQQABIWChJRVUVTVElPTl9UWVBFX1BPTEwQARIYChRRVUVTVElPTl9UWVBFX1RSSVZJQRACEhwKGFFVRVNUSU9OX1RZUEVfUFJFRElDVElPThADEhkKFVFVRVNUSU9OX1RZUEVfRkFDVE9JRBAEEhcKE1FVRVNUSU9OX1RZUEVfVFdFRVQQBRIbChdRVUVTVElPTl9UWVBFX1BST01PVElPThAGKmMKDlF1ZXN0aW9uU291cmNlEhkKFVFVRVNUSU9OX1NPVVJDRV9VTlNFVBAAEhYKElFVRVNUSU9OX1NPVVJDRV9BSRABEh4KGlFVRVNUSU9OX1NPVVJDRV9DU1ZfSU1QT1JUEAIq4gEKDlF1ZXN0aW9uU3RhdHVzEhkKFVFVRVNUSU9OX1NUQVRVU19VTlNFVBAAEiEKHVFVRVNUSU9OX1NUQVRVU19OT1RfU0NIRURVTEVEEAESHQoZUVVFU1RJT05fU1RBVFVTX1NDSEVEVUxFRBACEhoKFlFVRVNUSU9OX1NUQVRVU19BQ1RJVkUQAxIcChhRVUVTVElPTl9TVEFUVVNfUkVTT0xWRUQQBBIbChdRVUVTVElPTl9TVEFUVVNfRU5BQkxFRBAFEhwKGFFVRVNUSU9OX1NUQVRVU19ESVNBQkxFRBAGKu4BChBRdWVzdGlvblBvc2l0aW9uEhsKF1FVRVNUSU9OX1BPU0lUSU9OX1VOU0VUEAASHQoZUVVFU1RJT05fUE9TSVRJT05fREVGQVVMVBABEiIKHlFVRVNUSU9OX1BPU0lUSU9OX0ZJWEVEX0JPVFRPTRACEhoKFlFVRVNUSU9OX1BPU0lUSU9OX0xCQVIQAxIdChlRVUVTVElPTl9QT1NJVElPTl9PVkVSTEFZEAQSHQoZUVVFU1RJT05fUE9TSVRJT05fU0lERUJBUhAFEiAKHFFVRVNUSU9OX1BPU0lUSU9OX0ZVTExfQkxFRUQQBippCg5RdWVzdGlvbkxheW91dBIZChVRVUVTVElPTl9MQVlPVVRfVU5TRVQQABIdChlRVUVTVElPTl9MQVlPVVRfTElTVF9WSUVXEAESHQoZUVVFU1RJT05fTEFZT1VUX0dSSURfVklFVxACKrwBCg5RdWVzdGlvbkltYWdlcxIZChVRVUVTVElPTl9JTUFHRVNfVU5TRVQQABIYChRRVUVTVElPTl9JTUFHRVNfTk9ORRABEhsKF1FVRVNUSU9OX0lNQUdFU19ST1VOREVEEAISHwobUVVFU1RJT05fSU1BR0VTX1RSQU5TUEFSRU5UEAMSHAoYUVVFU1RJT05fSU1BR0VTX0NFTlRFUkVEEAQSGQoVUVVFU1RJT05fSU1BR0VTX1NPTElEEAUq9AEKGU5vdGlmaWNhdGlvblByb21vdGlvbk1vZGUSJQohTk9USUZJQ0FUSU9OX1BST01PVElPTl9NT0RFX1VOU0VUEAASJwojTk9USUZJQ0FUSU9OX1BST01PVElPTl9NT0RFX0NMQVNTSUMQARIrCidOT1RJRklDQVRJT05fUFJPTU9USU9OX01PREVfTE9XRVJfVEhJUkQQAhIxCi1OT1RJRklDQVRJT05fUFJPTU9USU9OX01PREVfUklDSF9OT1RJRklDQVRJT04QAxInCiNOT1RJRklDQVRJT05fUFJPTU9USU9OX01PREVfU0lERUJBUhAEKs0CCiJOb3RpZmljYXRpb25Qcm9tb3Rpb25JbWFnZVBvc2l0aW9uEi8KK05PVElGSUNBVElPTl9QUk9NT1RJT05fSU1BR0VfUE9TSVRJT05fVU5TRVQQABItCilOT1RJRklDQVRJT05fUFJPTU9USU9OX0lNQUdFX1BPU0lUSU9OX0ZJVBABEjIKLk5PVElGSUNBVElPTl9QUk9NT1RJT05fSU1BR0VfUE9TSVRJT05fQ0VOVEVSRUQQAhIwCixOT1RJRklDQVRJT05fUFJPTU9USU9OX0lNQUdFX1BPU0lUSU9OX0JPVFRPTRADEi8KK05PVElGSUNBVElPTl9QUk9NT1RJT05fSU1BR0VfUE9TSVRJT05fU09MSUQQBBIwCixOT1RJRklDQVRJT05fUFJPTU9USU9OX0lNQUdFX1BPU0lUSU9OX01JRERMRRAFKpEBChtOb3RpZmljYXRpb25TcG9uc29yTG9nb01vZGUSIwofTk9USUZJQ0FUSU9OX1NQT05TT1JfTE9HT19VTlNFVBAAEiIKHk5PVElGSUNBVElPTl9TUE9OU09SX0xPR09fTk9ORRABEikKJU5PVElGSUNBVElPTl9TUE9OU09SX0xPR09fVFJBTlNQQVJFTlQQAipOCgtDdGFJY29uTW9kZRISCg5DVEFfSUNPTl9VTlNFVBAAEhEKDUNUQV9JQ09OX05PTkUQARIYChRDVEFfSUNPTl9UUkFOU1BBUkVOVBACKlwKDUltYWdlUG9zaXRpb24SGAoUSU1BR0VfUE9TSVRJT05fVU5TRVQQABIXChNJTUFHRV9QT1NJVElPTl9MRUZUEAESGAoUSU1BR0VfUE9TSVRJT05fUklHSFQQAiqPBwoNUHJvbW90aW9uVHlwZRIYChRQUk9NT1RJT05fVFlQRV9VTlNFVBAAEiMKG1BST01PVElPTl9UWVBFX0lOR0FNRV9JQUIyMRABGgIIARIjChtQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCMTEQAhoCCAESIwobUFJPTU9USU9OX1RZUEVfSU5HQU1FX0lBQjYxEAMaAggBEigKIFBST01PVElPTl9UWVBFX0lOR0FNRV9JQUIxMV9MQkFSEAQaAggBEigKIFBST01PVElPTl9UWVBFX0lOR0FNRV9JQUIyMV9MQkFSEAUaAggBEh4KGlBST01PVElPTl9UWVBFX0VYVEVSTkFMX0FEEAYSJQohUFJPTU9USU9OX1RZUEVfVklERU9fU0lERV9CWV9TSURFEAcSJQohUFJPTU9USU9OX1RZUEVfUElDVFVSRV9JTl9QSUNUVVJFEAgSIAoYUFJPTU9USU9OX1RZUEVfU0hPUF9MQkFSEAkaAggBEiMKG1BST01PVElPTl9UWVBFX1NIT1BfT1ZFUkxBWRAKGgIIARIjChtQUk9NT1RJT05fVFlQRV9TSE9QX1NJREVCQVIQCxoCCAESHgoaUFJPTU9USU9OX1RZUEVfTE9XRVJfVEhJUkQQDBIkChxQUk9NT1RJT05fVFlQRV9ORkxfU0hPUF9MQkFSEA0aAggBEicKH1BST01PVElPTl9UWVBFX05GTF9TSE9QX09WRVJMQVkQDhoCCAESJwofUFJPTU9USU9OX1RZUEVfTkZMX1NIT1BfU0lERUJBUhAPGgIIARIrCiNQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCMjFfU0lERUJBUhAQGgIIARIrCiNQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCMTFfU0lERUJBUhARGgIIARIrCiNQUk9NT1RJT05fVFlQRV9JTkdBTUVfSUFCNjFfU0lERUJBUhASGgIIARIYChRQUk9NT1RJT05fVFlQRV9TVEFUUxATEhsKF1BST01PVElPTl9UWVBFX1NUQU5EQVJEEBQSFwoTUFJPTU9USU9OX1RZUEVfU0hPUBAVEhsKF1BST01PVElPTl9UWVBFX05GTF9TSE9QEBYSGQoVUFJPTU9USU9OX1RZUEVfQkFOTkVSEBcSIAocUFJPTU9USU9OX1RZUEVfU1BPTlNPUl9GUkFNRRAYKqUBCg9Qcm9tb3Rpb25Gb3JtYXQSGgoWUFJPTU9USU9OX0ZPUk1BVF9VTlNFVBAAEhkKFVBST01PVElPTl9GT1JNQVRfTEJBUhABEhwKGFBST01PVElPTl9GT1JNQVRfT1ZFUkxBWRACEhwKGFBST01PVElPTl9GT1JNQVRfU0lERUJBUhADEh8KG1BST01PVElPTl9GT1JNQVRfRlVMTF9CTEVFRBAEKmoKD1Byb21vdGlvbldhbGxldBIaChZQUk9NT1RJT05fV0FMTEVUX1VOU0VUEAASHAoYUFJPTU9USU9OX1dBTExFVF9FTkFCTEVEEAESHQoZUFJPTU9USU9OX1dBTExFVF9ESVNBQkxFRBACKkYKBlFSQ29kZRIRCg1RUl9DT0RFX1VOU0VUEAASEwoPUVJfQ09ERV9FTkFCTEVEEAESFAoQUVJfQ09ERV9ESVNBQkxFRBACKnsKDVBhdXNlQWRMYXlvdXQSGQoVUEFVU0VfQURfTEFZT1VUX1VOU0VUEAASGAoUUEFVU0VfQURfTEFZT1VUX0xFRlQQARIaChZQQVVTRV9BRF9MQVlPVVRfQ0VOVEVSEAISGQoVUEFVU0VfQURfTEFZT1VUX0lNQUdFEAMqfAoQUGF1c2VBZFN0YXRzVHlwZRIdChlQQVVTRV9BRF9TVEFUU19UWVBFX1VOU0VUEAASHwobUEFVU0VfQURfU1RBVFNfVFlQRV9NQVRDSFVQEAESKAokUEFVU0VfQURfU1RBVFNfVFlQRV9MRUFHVUVfU1RBTkRJTkdTEAIq+AEKE1Byb21vdGlvbkJ1dHRvblR5cGUSHwobUFJPTU9USU9OX0JVVFRPTl9UWVBFX1VOU0VUEAASHwobUFJPTU9USU9OX0JVVFRPTl9UWVBFX0JBU0lDEAESJwojUFJPTU9USU9OX0JVVFRPTl9UWVBFX0FERF9UT19XQUxMRVQQAxIpCiVQUk9NT1RJT05fQlVUVE9OX1RZUEVfUkVUVVJOX1RPX1ZJREVPEAQSIwofUFJPTU9USU9OX0JVVFRPTl9UWVBFX05PX0JVVFRPThAFEiYKIlBST01PVElPTl9CVVRUT05fVFlQRV9TRU5EX1RPX1VTRVIQBipoCg9Vc2VyQWNjb3VudEluZm8SGwoXVVNFUl9BQ0NPVU5UX0lORk9fVU5TRVQQABIbChdVU0VSX0FDQ09VTlRfSU5GT19FTUFJTBABEhsKF1VTRVJfQUNDT1VOVF9JTkZPX1BIT05FEAIqkAEKEVByb21vdGlvbkxvZ29Nb2RlEh0KGVBST01PVElPTl9MT0dPX01PREVfVU5TRVQQABIcChhQUk9NT1RJT05fTE9HT19NT0RFX0xFRlQQARIeChpQUk9NT1RJT05fTE9HT19NT0RFX0NFTlRFUhACEh4KGlBST01PVElPTl9MT0dPX01PREVfTUlOTUFMEAMqdQoRVXNlQXNOb3RpZmljYXRpb24SHQoZVVNFX0FTX05PVElGSUNBVElPTl9VTlNFVBAAEh8KG1VTRV9BU19OT1RJRklDQVRJT05fRU5BQkxFRBABEiAKHFVTRV9BU19OT1RJRklDQVRJT05fRElTQUJMRUQQAipqChNOb3RpZmljYXRpb25FbmFibGVkEh4KGk5PVElGSUNBVElPTl9FTkFCTEVEX1VOU0VUEAASGAoUTk9USUZJQ0FUSU9OX0VOQUJMRUQQARIZChVOT1RJRklDQVRJT05fRElTQUJMRUQQAiqgAQobTm90aWZpY2F0aW9uVXNlQ29udGVudE1lZGlhEigKJE5PVElGSUNBVElPTl9VU0VfQ09OVEVOVF9NRURJQV9VTlNFVBAAEioKJk5PVElGSUNBVElPTl9VU0VfQ09OVEVOVF9NRURJQV9FTkFCTEVEEAESKwonTk9USUZJQ0FUSU9OX1VTRV9DT05URU5UX01FRElBX0RJU0FCTEVEEAIqoAEKG05vdGlmaWNhdGlvblVzZUNvbnRlbnRUZXh0cxIoCiROT1RJRklDQVRJT05fVVNFX0NPTlRFTlRfVEVYVFNfVU5TRVQQABIqCiZOT1RJRklDQVRJT05fVVNFX0NPTlRFTlRfVEVYVFNfRU5BQkxFRBABEisKJ05PVElGSUNBVElPTl9VU0VfQ09OVEVOVF9URVhUU19ESVNBQkxFRBACKmkKDkNsb3NlVGltZXJBdXRvEhoKFkNMT1NFX1RJTUVSX0FVVE9fVU5TRVQQABIcChhDTE9TRV9USU1FUl9BVVRPX0VOQUJMRUQQARIdChlDTE9TRV9USU1FUl9BVVRPX0RJU0FCTEVEEAIqZQoNQXV0b1BsYXlWaWRlbxIZChVBVVRPX1BMQVlfVklERU9fVU5TRVQQABIbChdBVVRPX1BMQVlfVklERU9fRU5BQkxFRBABEhwKGEFVVE9fUExBWV9WSURFT19ESVNBQkxFRBACKmkKDlBsYXlWaWRlb011dGVkEhoKFlBMQVlfVklERU9fTVVURURfVU5TRVQQABIcChhQTEFZX1ZJREVPX01VVEVEX0VOQUJMRUQQARIdChlQTEFZX1ZJREVPX01VVEVEX0RJU0FCTEVEEAIqqgEKBkFkVHlwZRIRCg1BRF9UWVBFX1VOU0VUEAASEAoMQURfVFlQRV9MQkFSEAESEwoPQURfVFlQRV9TSURFQkFSEAISEwoPQURfVFlQRV9PVkVSTEFZEAMSFwoTQURfVFlQRV9MT1dFUl9USElSRBAEEhgKFEFEX1RZUEVfU0lERV9CWV9TSURFEAUSHgoaQURfVFlQRV9QSUNUVVJFX0lOX1BJQ1RVUkUQBirkCwoOUXVlc3Rpb25VSVR5cGUSGgoWUVVFU1RJT05fVUlfVFlQRV9VTlNFVBAAEh4KGlFVRVNUSU9OX1VJX1RZUEVfR09PR0xFX0FEEAESIAocUVVFU1RJT05fVUlfVFlQRV9TVEFOREFSRF9BRBACEiAKHFFVRVNUSU9OX1VJX1RZUEVfTE9XRVJfVEhJUkQQAxIhCh1RVUVTVElPTl9VSV9UWVBFX1NJREVfQllfU0lERRAEEicKI1FVRVNUSU9OX1VJX1RZUEVfUElDVFVSRV9JTl9QSUNUVVJFEAUSJQohUVVFU1RJT05fVUlfVFlQRV9ORkxfU0hPUFBBQkxFX0FEEAYSHwobUVVFU1RJT05fVUlfVFlQRV9JTlNJR0hUX0FEEAcSHAoYUVVFU1RJT05fVUlfVFlQRV9QT0xMX0FEEAgSHgoaUVVFU1RJT05fVUlfVFlQRV9UUklWSUFfQUQQCRIiCh5RVUVTVElPTl9VSV9UWVBFX1BSRURJQ1RJT05fQUQQChIhCh1RVUVTVElPTl9VSV9UWVBFX1NIT1BQQUJMRV9BRBALEiYKIlFVRVNUSU9OX1VJX1RZUEVfQUlfQVNTSVNUQU5UX0JFVEEQDBIZChVRVUVTVElPTl9VSV9UWVBFX1BPTEwQDRIbChdRVUVTVElPTl9VSV9UWVBFX1RSSVZJQRAOEh8KG1FVRVNUSU9OX1VJX1RZUEVfUFJFRElDVElPThAPEhwKGFFVRVNUSU9OX1VJX1RZUEVfSU5TSUdIVBAQEhsKF1FVRVNUSU9OX1VJX1RZUEVfWF9QT1NUEBESGgoWUVVFU1RJT05fVUlfVFlQRV9TVEFUUxASEhsKF1FVRVNUSU9OX1VJX1RZUEVfQkFOTkVSEBMSIgoeUVVFU1RJT05fVUlfVFlQRV9TUE9OU09SX0ZSQU1FEBQSJQohUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfR09PR0xFX0FEEGUSJwojUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfU1RBTkRBUkRfQUQQZhInCiNQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9MT1dFUl9USElSRBBnEigKJFBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1NJREVfQllfU0lERRBoEi4KKlBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1BJQ1RVUkVfSU5fUElDVFVSRRBpEiwKKFBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX05GTF9TSE9QUEFCTEVfQUQQahImCiJQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9JTlNJR0hUX0FEEGsSIwofUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfUE9MTF9BRBBsEiUKIVBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1RSSVZJQV9BRBBtEikKJVBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1BSRURJQ1RJT05fQUQQZBIoCiRQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9TSE9QUEFCTEVfQUQQbxItCilQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9BSV9BU1NJU1RBTlRfQkVUQRBwEiAKHFBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1BPTEwQcRIiCh5QQVVTRURfUVVFU1RJT05fVUlfVFlQRV9UUklWSUEQchImCiJQQVVTRURfUVVFU1RJT05fVUlfVFlQRV9QUkVESUNUSU9OEHMSIwofUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfSU5TSUdIVBB0EiIKHlBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1hfUE9TVBB1EiEKHVBBVVNFRF9RVUVTVElPTl9VSV9UWVBFX1NUQVRTEHYSIgoeUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfQkFOTkVSEHcSKQolUEFVU0VEX1FVRVNUSU9OX1VJX1RZUEVfU1BPTlNPUl9GUkFNRRB4KmkKDlVzZUdlbmVyYWxMb2dvEhoKFlVTRV9HRU5FUkFMX0xPR09fVU5TRVQQABIcChhVU0VfR0VORVJBTF9MT0dPX0VOQUJMRUQQARIdChlVU0VfR0VORVJBTF9MT0dPX0RJU0FCTEVEEAIqmgEKG1Nwb25zb3JGcmFtZUJ1dHRvbkFsaWdubWVudBIoCiRTUE9OU09SX0ZSQU1FX0JVVFRPTl9BTElHTk1FTlRfVU5TRVQQABInCiNTUE9OU09SX0ZSQU1FX0JVVFRPTl9BTElHTk1FTlRfTEVGVBABEigKJFNQT05TT1JfRlJBTUVfQlVUVE9OX0FMSUdOTUVOVF9SSUdIVBACKmoKEUJhbm5lck1lZGlhRm9ybWF0Eh0KGUJBTk5FUl9NRURJQV9GT1JNQVRfVU5TRVQQABIaChZCQU5ORVJfTUVESUFfRk9STUFUXzExEAESGgoWQkFOTkVSX01FRElBX0ZPUk1BVF8yMRACKmgKD0Jhbm5lck1lZGlhVHlwZRIbChdCQU5ORVJfTUVESUFfVFlQRV9VTlNFVBAAEhsKF0JBTk5FUl9NRURJQV9UWVBFX1ZJREVPEAESGwoXQkFOTkVSX01FRElBX1RZUEVfSU1BR0UQAiruAQoOQmFubmVyUG9zaXRpb24SGQoVQkFOTkVSX1BPU0lUSU9OX1VOU0VUEAASHAoYQkFOTkVSX1BPU0lUSU9OX1RPUF9MRUZUEAESHgoaQkFOTkVSX1BPU0lUSU9OX1RPUF9DRU5URVIQAhIdChlCQU5ORVJfUE9TSVRJT05fVE9QX1JJR0hUEAMSHwobQkFOTkVSX1BPU0lUSU9OX0JPVFRPTV9MRUZUEAQSIQodQkFOTkVSX1BPU0lUSU9OX0JPVFRPTV9DRU5URVIQBRIgChxCQU5ORVJfUE9TSVRJT05fQk9UVE9NX1JJR0hUEAYqaQoKU2hvcEdlbmRlchIVChFTSE9QX0dFTkRFUl9VTlNFVBAAEhQKEFNIT1BfR0VOREVSX01BTEUQARIWChJTSE9QX0dFTkRFUl9GRU1BTEUQAhIWChJTSE9QX0dFTkRFUl9VTklTRVgQAypSCglTYWxlUHJpY2USFAoQU0FMRV9QUklDRV9VTlNFVBAAEhYKElNBTEVfUFJJQ0VfRU5BQkxFRBABEhcKE1NBTEVfUFJJQ0VfRElTQUJMRUQQAiqUAQoLVHJpZ2dlclR5cGUSFgoSVFJJR0dFUl9UWVBFX1VOU0VUEAASFwoTVFJJR0dFUl9UWVBFX01BTlVBTBABEhwKGFRSSUdHRVJfVFlQRV9FVkVOVF9CQVNFRBACEhgKFFRSSUdHRVJfVFlQRV9TQ1RFXzM1EAMSHAoYVFJJR0dFUl9UWVBFX1ZBU1RfU0lHTkFMEAQqfgoPRGV2aWNlVGFyZ2V0aW5nEhoKFkRFVklDRV9UQVJHRVRJTkdfVU5TRVQQABIbChdERVZJQ0VfVEFSR0VUSU5HX01PQklMRRABEhgKFERFVklDRV9UQVJHRVRJTkdfQ1RWEAISGAoUREVWSUNFX1RBUkdFVElOR19XRUIQAypFCgZBZFVuaXQSEQoNQURfVU5JVF9VTlNFVBAAEhQKEEFEX1VOSVRfU1RBTkRBUlQQARISCg5BRF9VTklUX1BBVVNFRBACKpYBChpOb3RpZmljYXRpb25NdWx0aWNvbXBvbmVudBIlCiFOT1RJRklDQVRJT05fTVVMVElDT01QT05FTlRfVU5TRVQQABInCiNOT1RJRklDQVRJT05fTVVMVElDT01QT05FTlRfRU5BQkxFRBABEigKJE5PVElGSUNBVElPTl9NVUxUSUNPTVBPTkVOVF9ESVNBQkxFRBACKqgBChBGYWN0b2lkTWVkaWFNb2RlEhwKGEZBQ1RPSURfTUVESUFfTU9ERV9VTlNFVBAAEhwKGEZBQ1RPSURfTUVESUFfTU9ERV9JTUFHRRABEhwKGEZBQ1RPSURfTUVESUFfTU9ERV9WSURFTxACEh0KGUZBQ1RPSURfTUVESUFfTU9ERV9DSVJDTEUQAxIbChdGQUNUT0lEX01FRElBX01PREVfTk9ORRAEKocBCgpDYXJkRm9ybWF0EhUKEUNBUkRfRk9STUFUX1VOU0VUEAASFwoTQ0FSRF9GT1JNQVRfT1ZFUkxBWRABEhcKE0NBUkRfRk9STUFUX1NJREVCQVIQAhIUChBDQVJEX0ZPUk1BVF9MQkFSEAMSGgoWQ0FSRF9GT1JNQVRfRlVMTF9CTEVFRBAEKuoBChVRdWVzdGlvbkF1dG9Qb3N0U3RhdGUSIgoeUVVFU1RJT05fQVVUT19QT1NUX1NUQVRFX1VOU0VUEAASHwobUVVFU1RJT05fQVVUT19QT1NUX1NUQVRFX09OEAESIAocUVVFU1RJT05fQVVUT19QT1NUX1NUQVRFX09GRhACEiMKH1FVRVNUSU9OX0FVVE9fUE9TVF9TVEFURV9QQVVTRUQQAxIhCh1RVUVTVElPTl9BVVRPX1BPU1RfU1RBVEVfSURMRRAEEiIKHlFVRVNUSU9OX0FVVE9fUE9TVF9TVEFURV9SRVNFVBAFKoQBChVRdWVzdGlvbkF1dG9Qb3N0U3RhcnQSIgoeUVVFU1RJT05fQVVUT19QT1NUX1NUQVJUX1VOU0VUEAASJQohUVVFU1RJT05fQVVUT19QT1NUX1NUQVJUX1NDSEVEVUxFEAESIAocUVVFU1RJT05fQVVUT19QT1NUX1NUQVJUX05PVxACKlYKElF1ZXN0aW9uU2tpcFJlYXNvbhIeChpRVUVTVElPTl9TS0lQX1JFQVNPTl9VTlNFVBAAEiAKHFFVRVNUSU9OX1NLSVBfUkVBU09OX09WRVJEVUUQASpcCg5TaWxlbmNlU2V0dGluZxIZChVTSUxFTkNFX1NFVFRJTkdfVU5TRVQQABIWChJTSUxFTkNFX1NFVFRJTkdfT04QARIXChNTSUxFTkNFX1NFVFRJTkdfT0ZGEAIqlAEKDEltcG9ydFN0YXR1cxIXChNJTVBPUlRfU1RBVFVTX1VOU0VUEAASGQoVSU1QT1JUX1NUQVRVU19QTEFOTkVEEAESGQoVSU1QT1JUX1NUQVRVU19SVU5OSU5HEAISGwoXSU1QT1JUX1NUQVRVU19DT01QTEVURUQQAxIYChRJTVBPUlRfU1RBVFVTX0ZBSUxFRBAEQrcBCiJjb20uc3RyZWFtbGF5ZXIuaW50ZXJhY3RpdmUuY29tbW9uQiFTdHJlYW1MYXllckludGVyYWN0aXZlQ29tbW9uUHJvdG9QAVpjZ2l0aHViLmNvbS9zdHJlYW1sYXllci9zbC1wcm90b2ZpbGVzLy5idWlsZC9nby9zdHJlYW1sYXllci9pbnRlcmFjdGl2ZS9jb21tb247c2xfaW50ZXJhY3RpdmVfY29tbW9uogIGU0xfQVBJYgZwcm90bzM", [file_google_protobuf_timestamp, file_streamlayer_analytics_v1_common_analytics_common, file_streamlayer_interactive_gam_interactive_gam, file_streamlayer_social_twitter]);
15
16
 
16
17
  /**
17
18
  * Describes the message streamlayer.interactive.CloseTimer.
@@ -100,6 +101,7 @@ export const BannerSchema = /*@__PURE__*/
100
101
  /**
101
102
  * Describes the message streamlayer.interactive.AdLoop.
102
103
  * Use `create(AdLoopSchema)` to create a new message.
104
+ * @deprecated
103
105
  */
104
106
  export const AdLoopSchema = /*@__PURE__*/
105
107
  messageDesc(file_streamlayer_interactive_interactive_common, 12);
@@ -219,6 +221,7 @@ export const QuestionOptions_TweetOptions_TweetMetadataSchema = /*@__PURE__*/
219
221
  /**
220
222
  * Describes the message streamlayer.interactive.QuestionOptions.GamOptions.
221
223
  * Use `create(QuestionOptions_GamOptionsSchema)` to create a new message.
224
+ * @deprecated
222
225
  */
223
226
  export const QuestionOptions_GamOptionsSchema = /*@__PURE__*/
224
227
  messageDesc(file_streamlayer_interactive_interactive_common, 22, 5);
@@ -226,6 +229,7 @@ export const QuestionOptions_GamOptionsSchema = /*@__PURE__*/
226
229
  /**
227
230
  * Describes the message streamlayer.interactive.QuestionOptions.AdCampaigns.
228
231
  * Use `create(QuestionOptions_AdCampaignsSchema)` to create a new message.
232
+ * @deprecated
229
233
  */
230
234
  export const QuestionOptions_AdCampaignsSchema = /*@__PURE__*/
231
235
  messageDesc(file_streamlayer_interactive_interactive_common, 22, 6);
@@ -302,24 +306,32 @@ export const QuestionOptions_PromotionOptions_SponsorFrameOptionsSchema = /*@__P
302
306
 
303
307
  /**
304
308
  * Describes the enum streamlayer.interactive.QuestionOptions.AdManager.
309
+ * @deprecated
305
310
  */
306
311
  export const QuestionOptions_AdManagerSchema = /*@__PURE__*/
307
312
  enumDesc(file_streamlayer_interactive_interactive_common, 22, 0);
308
313
 
309
314
  /**
315
+ * Deprecated: use streamlayer.interactive.gam.AdManager instead.
316
+ *
310
317
  * @generated from enum streamlayer.interactive.QuestionOptions.AdManager
318
+ * @deprecated
311
319
  */
312
320
  export const QuestionOptions_AdManager = /*@__PURE__*/
313
321
  tsEnum(QuestionOptions_AdManagerSchema);
314
322
 
315
323
  /**
316
324
  * Describes the enum streamlayer.interactive.QuestionOptions.UsePlatformSpecificSettings.
325
+ * @deprecated
317
326
  */
318
327
  export const QuestionOptions_UsePlatformSpecificSettingsSchema = /*@__PURE__*/
319
328
  enumDesc(file_streamlayer_interactive_interactive_common, 22, 1);
320
329
 
321
330
  /**
331
+ * Deprecated: use streamlayer.interactive.gam.UsePlatformSpecificSettings instead.
332
+ *
322
333
  * @generated from enum streamlayer.interactive.QuestionOptions.UsePlatformSpecificSettings
334
+ * @deprecated
323
335
  */
324
336
  export const QuestionOptions_UsePlatformSpecificSettings = /*@__PURE__*/
325
337
  tsEnum(QuestionOptions_UsePlatformSpecificSettingsSchema);