@streamlayer/sl-eslib 5.247.0 → 5.249.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.247.0",
3
+ "version": "5.249.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -56,3 +56,7 @@ export const adTotal: typeof Dashboard["method"]["adTotal"];
56
56
  * @generated from rpc streamlayer.analytics.v2.studio.Dashboard.AdDetails
57
57
  */
58
58
  export const adDetails: typeof Dashboard["method"]["adDetails"];
59
+ /**
60
+ * @generated from rpc streamlayer.analytics.v2.studio.Dashboard.AdPauseTotal
61
+ */
62
+ export const adPauseTotal: typeof Dashboard["method"]["adPauseTotal"];
@@ -68,3 +68,8 @@ export const adTotal = Dashboard.method.adTotal;
68
68
  * @generated from rpc streamlayer.analytics.v2.studio.Dashboard.AdDetails
69
69
  */
70
70
  export const adDetails = Dashboard.method.adDetails;
71
+
72
+ /**
73
+ * @generated from rpc streamlayer.analytics.v2.studio.Dashboard.AdPauseTotal
74
+ */
75
+ export const adPauseTotal = Dashboard.method.adPauseTotal;
@@ -2314,6 +2314,292 @@ export declare type AdDetailsResponse_AdDetailsResponseMeta = Message<"streamlay
2314
2314
  */
2315
2315
  export declare const AdDetailsResponse_AdDetailsResponseMetaSchema: GenMessage<AdDetailsResponse_AdDetailsResponseMeta>;
2316
2316
 
2317
+ /**
2318
+ * External Ad totals (currently scoped to EXPOSED_PAUSED_AD topicType=14; the same handler
2319
+ * covers any future external-ad topicType — it scans an "external ad" metric pipeline distinct
2320
+ * from the poll/video/display metrics served by AdTotal).
2321
+ *
2322
+ * Contract: backend aggregates over the event_ids the caller provides. It does NOT resolve
2323
+ * "which events a template/card is currently attached to" — that lookup belongs on the frontend
2324
+ * (templates service / cards-events relation in PG). The frontend builds event_ids before calling.
2325
+ *
2326
+ * Two UI contexts use this same RPC:
2327
+ * - Modules/Library (template view, SLW-6925 scenario 1): FE resolves the list of currently
2328
+ * attached event_ids and passes them. If the template is attached to 0 events — FE renders
2329
+ * zeros locally and does NOT call this RPC (no events ⇒ no analytics by definition).
2330
+ * - Local event (SLW-6925 scenario 2): FE passes event_ids=[currentEventId].
2331
+ *
2332
+ * Aggregation is SQL-level: sumIf for counts, uniqCombinedMergeIf for Reach (deduplicates
2333
+ * unique devices across events — no double-counting), rates (CTR, fill rate, interaction rate)
2334
+ * are computed from aggregated totals, not averaged per event. Detach is handled naturally:
2335
+ * when an event is unbound from a template, FE re-resolves the list and the next call sees
2336
+ * a smaller event_ids array — the unbound event's metrics drop out of the result.
2337
+ *
2338
+ * @generated from message streamlayer.analytics.v2.studio.AdPauseTotalRequestFilter
2339
+ */
2340
+ export declare type AdPauseTotalRequestFilter = Message<"streamlayer.analytics.v2.studio.AdPauseTotalRequestFilter"> & {
2341
+ /**
2342
+ * @generated from field: optional string organization_id = 1;
2343
+ */
2344
+ organizationId?: string;
2345
+
2346
+ /**
2347
+ * required (minItems=1); FE resolves list of currently-attached events for templates view
2348
+ *
2349
+ * @generated from field: repeated uint64 event_ids = 2;
2350
+ */
2351
+ eventIds: bigint[];
2352
+
2353
+ /**
2354
+ * card / template ids
2355
+ *
2356
+ * @generated from field: repeated string topic_ids = 3;
2357
+ */
2358
+ topicIds: string[];
2359
+
2360
+ /**
2361
+ * UNSET=totals | EVENT | QUESTION | PLATFORM
2362
+ *
2363
+ * @generated from field: optional streamlayer.analytics.v2.studio.MetricBreakdown breakdown = 4;
2364
+ */
2365
+ breakdown?: MetricBreakdown;
2366
+
2367
+ /**
2368
+ * @generated from field: optional streamlayer.analytics.v1.common.Period period = 5;
2369
+ */
2370
+ period?: Period;
2371
+ };
2372
+
2373
+ /**
2374
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalRequestFilter.
2375
+ * Use `create(AdPauseTotalRequestFilterSchema)` to create a new message.
2376
+ */
2377
+ export declare const AdPauseTotalRequestFilterSchema: GenMessage<AdPauseTotalRequestFilter>;
2378
+
2379
+ /**
2380
+ * @generated from message streamlayer.analytics.v2.studio.AdPauseTotalRequest
2381
+ */
2382
+ export declare type AdPauseTotalRequest = Message<"streamlayer.analytics.v2.studio.AdPauseTotalRequest"> & {
2383
+ /**
2384
+ * @generated from field: streamlayer.analytics.v2.studio.AdPauseTotalRequestFilter filter = 1;
2385
+ */
2386
+ filter?: AdPauseTotalRequestFilter;
2387
+ };
2388
+
2389
+ /**
2390
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalRequest.
2391
+ * Use `create(AdPauseTotalRequestSchema)` to create a new message.
2392
+ */
2393
+ export declare const AdPauseTotalRequestSchema: GenMessage<AdPauseTotalRequest>;
2394
+
2395
+ /**
2396
+ * @generated from message streamlayer.analytics.v2.studio.AdPauseTotalResponseRow
2397
+ */
2398
+ export declare type AdPauseTotalResponseRow = Message<"streamlayer.analytics.v2.studio.AdPauseTotalResponseRow"> & {
2399
+ /**
2400
+ * breakdown dimensions (set only when applicable)
2401
+ *
2402
+ * breakdown=EVENT/QUESTION/PLATFORM
2403
+ *
2404
+ * @generated from field: optional uint64 event_id = 1;
2405
+ */
2406
+ eventId?: bigint;
2407
+
2408
+ /**
2409
+ * breakdown=QUESTION
2410
+ *
2411
+ * @generated from field: optional string question_id = 2;
2412
+ */
2413
+ questionId?: string;
2414
+
2415
+ /**
2416
+ * breakdown=PLATFORM
2417
+ *
2418
+ * @generated from field: optional string platform = 3;
2419
+ */
2420
+ platform?: string;
2421
+
2422
+ /**
2423
+ * base counts
2424
+ *
2425
+ * EMetric.TotalExternalAdRequested
2426
+ *
2427
+ * @generated from field: uint32 total_external_ad_requested = 10;
2428
+ */
2429
+ totalExternalAdRequested: number;
2430
+
2431
+ /**
2432
+ * EMetric.TotalExternalAdLoaded
2433
+ *
2434
+ * @generated from field: uint32 total_external_ad_loaded = 11;
2435
+ */
2436
+ totalExternalAdLoaded: number;
2437
+
2438
+ /**
2439
+ * EMetric.TotalExternalAdRendered -> Impressions
2440
+ *
2441
+ * @generated from field: uint32 total_external_ad_rendered = 12;
2442
+ */
2443
+ totalExternalAdRendered: number;
2444
+
2445
+ /**
2446
+ * EMetric.TotalExternalAdClosed
2447
+ *
2448
+ * @generated from field: uint32 total_external_ad_closed = 13;
2449
+ */
2450
+ totalExternalAdClosed: number;
2451
+
2452
+ /**
2453
+ * EMetric.TotalAdInteractions -> Clicks
2454
+ *
2455
+ * @generated from field: uint32 total_ad_interactions = 14;
2456
+ */
2457
+ totalAdInteractions: number;
2458
+
2459
+ /**
2460
+ * EMetric.TotalExternalAdEngagmentSessions
2461
+ *
2462
+ * @generated from field: uint32 total_external_ad_engagment_sessions = 15;
2463
+ */
2464
+ totalExternalAdEngagmentSessions: number;
2465
+
2466
+ /**
2467
+ * reach (uniq devices, correctly deduplicated across event_ids)
2468
+ *
2469
+ * EMetric.AdTotalReach -> Reach / Total Viewers
2470
+ *
2471
+ * @generated from field: uint32 ad_total_reach = 20;
2472
+ */
2473
+ adTotalReach: number;
2474
+
2475
+ /**
2476
+ * rates & ratios (percent values as doubles where applicable)
2477
+ *
2478
+ * EMetric.ExternalAdFillRate
2479
+ *
2480
+ * @generated from field: double external_ad_fill_rate = 30;
2481
+ */
2482
+ externalAdFillRate: number;
2483
+
2484
+ /**
2485
+ * EMetric.AdCTR -> CTR
2486
+ *
2487
+ * @generated from field: double ad_ctr = 31;
2488
+ */
2489
+ adCtr: number;
2490
+
2491
+ /**
2492
+ * EMetric.ExternalAdInteractionRate
2493
+ *
2494
+ * @generated from field: double external_ad_interaction_rate = 32;
2495
+ */
2496
+ externalAdInteractionRate: number;
2497
+
2498
+ /**
2499
+ * EMetric.AdFrequency
2500
+ *
2501
+ * @generated from field: double ad_frequency = 33;
2502
+ */
2503
+ adFrequency: number;
2504
+
2505
+ /**
2506
+ * EMetric.AdFrequency1xPct
2507
+ *
2508
+ * @generated from field: double ad_frequency_1x_pct = 34;
2509
+ */
2510
+ adFrequency1xPct: number;
2511
+
2512
+ /**
2513
+ * EMetric.AdFrequency2xPct
2514
+ *
2515
+ * @generated from field: double ad_frequency_2x_pct = 35;
2516
+ */
2517
+ adFrequency2xPct: number;
2518
+
2519
+ /**
2520
+ * EMetric.AdFrequency3plusPct
2521
+ *
2522
+ * @generated from field: double ad_frequency_3plus_pct = 36;
2523
+ */
2524
+ adFrequency3plusPct: number;
2525
+
2526
+ /**
2527
+ * engagement / time
2528
+ *
2529
+ * EMetric.PauseAdTimeToInteraction
2530
+ *
2531
+ * @generated from field: double pause_ad_time_to_interaction = 40;
2532
+ */
2533
+ pauseAdTimeToInteraction: number;
2534
+
2535
+ /**
2536
+ * EMetric.ExternalAdEngagmentSecondsSum
2537
+ *
2538
+ * @generated from field: uint64 external_ad_engagment_seconds_sum = 41;
2539
+ */
2540
+ externalAdEngagmentSecondsSum: bigint;
2541
+
2542
+ /**
2543
+ * EMetric.ExternalAdEngagmentSecondsAvg
2544
+ *
2545
+ * @generated from field: double external_ad_engagment_seconds_avg = 42;
2546
+ */
2547
+ externalAdEngagmentSecondsAvg: number;
2548
+
2549
+ /**
2550
+ * EMetric.AverageTimeExternalAdOverlaySession
2551
+ *
2552
+ * @generated from field: double average_time_external_ad_overlay_session = 43;
2553
+ */
2554
+ averageTimeExternalAdOverlaySession: number;
2555
+
2556
+ /**
2557
+ * EMetric.SumTimeExternalAdOverlaySession
2558
+ *
2559
+ * @generated from field: uint64 sum_time_external_ad_overlay_session = 44;
2560
+ */
2561
+ sumTimeExternalAdOverlaySession: bigint;
2562
+ };
2563
+
2564
+ /**
2565
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalResponseRow.
2566
+ * Use `create(AdPauseTotalResponseRowSchema)` to create a new message.
2567
+ */
2568
+ export declare const AdPauseTotalResponseRowSchema: GenMessage<AdPauseTotalResponseRow>;
2569
+
2570
+ /**
2571
+ * @generated from message streamlayer.analytics.v2.studio.AdPauseTotalResponse
2572
+ */
2573
+ export declare type AdPauseTotalResponse = Message<"streamlayer.analytics.v2.studio.AdPauseTotalResponse"> & {
2574
+ /**
2575
+ * @generated from field: repeated streamlayer.analytics.v2.studio.AdPauseTotalResponseRow data = 1;
2576
+ */
2577
+ data: AdPauseTotalResponseRow[];
2578
+
2579
+ /**
2580
+ * @generated from field: streamlayer.analytics.v2.studio.AdPauseTotalResponse.AdPauseTotalResponseMeta meta = 2;
2581
+ */
2582
+ meta?: AdPauseTotalResponse_AdPauseTotalResponseMeta;
2583
+ };
2584
+
2585
+ /**
2586
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalResponse.
2587
+ * Use `create(AdPauseTotalResponseSchema)` to create a new message.
2588
+ */
2589
+ export declare const AdPauseTotalResponseSchema: GenMessage<AdPauseTotalResponse>;
2590
+
2591
+ /**
2592
+ * @generated from message streamlayer.analytics.v2.studio.AdPauseTotalResponse.AdPauseTotalResponseMeta
2593
+ */
2594
+ export declare type AdPauseTotalResponse_AdPauseTotalResponseMeta = Message<"streamlayer.analytics.v2.studio.AdPauseTotalResponse.AdPauseTotalResponseMeta"> & {
2595
+ };
2596
+
2597
+ /**
2598
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalResponse.AdPauseTotalResponseMeta.
2599
+ * Use `create(AdPauseTotalResponse_AdPauseTotalResponseMetaSchema)` to create a new message.
2600
+ */
2601
+ export declare const AdPauseTotalResponse_AdPauseTotalResponseMetaSchema: GenMessage<AdPauseTotalResponse_AdPauseTotalResponseMeta>;
2602
+
2317
2603
  /**
2318
2604
  * @generated from enum streamlayer.analytics.v2.studio.WpType
2319
2605
  */
@@ -2561,5 +2847,13 @@ export declare const Dashboard: GenService<{
2561
2847
  input: typeof AdDetailsRequestSchema;
2562
2848
  output: typeof AdDetailsResponseSchema;
2563
2849
  },
2850
+ /**
2851
+ * @generated from rpc streamlayer.analytics.v2.studio.Dashboard.AdPauseTotal
2852
+ */
2853
+ adPauseTotal: {
2854
+ methodKind: "unary";
2855
+ input: typeof AdPauseTotalRequestSchema;
2856
+ output: typeof AdPauseTotalResponseSchema;
2857
+ },
2564
2858
  }>;
2565
2859
 
@@ -12,7 +12,7 @@ import { file_streamlayer_analytics_v1_polls_polls } from "../../v1/polls/polls_
12
12
  * Describes the file streamlayer/analytics/v2/studio/dashboard.proto.
13
13
  */
14
14
  export const file_streamlayer_analytics_v2_studio_dashboard = /*@__PURE__*/
15
- fileDesc("Ci9zdHJlYW1sYXllci9hbmFseXRpY3MvdjIvc3R1ZGlvL2Rhc2hib2FyZC5wcm90bxIfc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpbyJRCg5DYXJkU3RhdGlzdGljcxINCgV0b3RhbBgBIAEoBRIOCgZ2aWV3ZWQYAiABKAUSDgoGb3BlbmVkGAMgASgFEhAKCGFuc3dlcmVkGAQgASgFIqwGCh1EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlRGF0YRIVCg10b3RhbF92aWV3ZXJzGAEgASgFEh8KF3RvdGFsX3JlZ2lzdHJlZF92aWV3ZXJzGAIgASgFEh0KFXRvdGFsX2VuZ2FnZWRfdmlld2VycxgDIAEoBRIaChJ0b3RhbF9pbnRlcmFjdGlvbnMYBCABKAUSFAoMbGl2ZV92aWV3ZXJzGAUgASgFEhwKFGxpdmVfZW5nYWdlZF92aWV3ZXJzGAYgASgFEiUKHWludGVyYWN0aW9uc19wZXJfZW5nYWdlZF91c2VyGAcgASgBEh4KFmxpdmVfcmVnaXN0cmVkX3ZpZXdlcnMYHiABKAUSGAoQdG90YWxfd3Bfc3RhcnRlZBgIIAEoBRIhChl0b3RhbF93cF9zZXNzaW9uc19zdGFydGVkGC0gASgFEh0KFXVzZXJzX2VuZ2FnZWRfd2l0aF93cBgJIAEoBRIkChx1c2Vyc19lbmdhZ2VkX3dpdGhfYWN0aXZlX3dwGAogASgFEhIKCmFjdGl2ZV93cHMYCyABKAUSGwoTYXZnX3VzZXJzX2FjdGl2ZV93cBgMIAEoARIeChZhdmdfYWN0aXZlX3dwX2R1cmF0aW9uGA0gASgBEikKIWxpdmVfdXNlcnNfZW5nYWdlZF93aXRoX2FjdGl2ZV93cBgOIAEoBRIXCg9saXZlX2FjdGl2ZV93cHMYDyABKAUSGwoTdG90YWxfbWluX3dwMl91c2VycxgQIAEoARIbChN0b3RhbF9taW5fd3AzX3VzZXJzGBEgASgBEhsKE3RvdGFsX21pbl93cDRfdXNlcnMYEiABKAESGwoTdG90YWxfbWluX3dwNV91c2VycxgTIAEoARIbChN0b3RhbF9taW5fd3A2X3VzZXJzGBQgASgBEhsKE3RvdGFsX21pbl93cDdfdXNlcnMYFSABKAESGwoTdG90YWxfbWluX3dwOF91c2VycxgWIAEoARIbChN0b3RhbF9taW5fd3A5X3VzZXJzGBcgASgBEh4KFnRvdGFsX3VzZXJzX3N0YXJ0ZWRfd3AYGCABKAUi/gIKHkRhc2hib2FyZE92ZXJ2aWV3UmVxdWVzdEZpbHRlchIcCg9vcmdhbml6YXRpb25faWQYASABKAlIAIgBARIRCglldmVudF9pZHMYAiADKAQSNwoGcGVyaW9kGAMgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2QSFQoEZGF0ZRgEIAEoCUICGAFIAYgBARIRCgljb3VudHJpZXMYBSADKAkSGQoMbGl2ZV9tZXRyaWNzGAYgASgISAKIAQESFAoDZndwGAcgASgIQgIYAUgDiAEBEj0KB3dwX3R5cGUYCCABKA4yJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwVHlwZUgEiAEBEg8KAnR6GAkgASgJSAWIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIHCgVfZGF0ZUIPCg1fbGl2ZV9tZXRyaWNzQgYKBF9md3BCCgoIX3dwX3R5cGVCBQoDX3R6ImsKGERhc2hib2FyZE92ZXJ2aWV3UmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkRhc2hib2FyZE92ZXJ2aWV3UmVxdWVzdEZpbHRlciLyAQoZRGFzaGJvYXJkT3ZlcnZpZXdSZXNwb25zZRJMCgRkYXRhGAEgASgLMj4uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlRGF0YRJmCgRtZXRhGAIgASgLMlguc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlLkRhc2hib2FyZE92ZXJ2aWV3UmVzcG9uc2VNZXRhGh8KHURhc2hib2FyZE92ZXJ2aWV3UmVzcG9uc2VNZXRhIuYBChtGZWF0dXJlZEdyb3Vwc1JlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESEQoJZXZlbnRfaWRzGAIgAygEEjcKBnBlcmlvZBgDIAEoCzInLnN0cmVhbWxheWVyLmFuYWx5dGljcy52MS5jb21tb24uUGVyaW9kEhUKBGRhdGUYBCABKAlCAhgBSAGIAQESEQoJY291bnRyaWVzGAUgAygJEg8KAnR6GAYgASgJSAKIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIHCgVfZGF0ZUIFCgNfdHoiZQoVRmVhdHVyZWRHcm91cHNSZXF1ZXN0EkwKBmZpbHRlchgBIAEoCzI8LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRmVhdHVyZWRHcm91cHNSZXF1ZXN0RmlsdGVyIpUFChpGZWF0dXJlZEdyb3Vwc1Jlc3BvbnNlRGF0YRIVCg10b3RhbF92aWV3ZXJzGAEgASgFEh0KFXRvdGFsX2VuZ2FnZWRfdmlld2VycxgCIAEoBRIaChJ0b3RhbF9wcm9tcHRzX3NlbnQYAyABKAUSKAogdG90YWxfdW5pcXVlX3ZpZXdlcnNfb3Blbl9wcm9tcHQYBCABKAUSLAokdG90YWxfdW5pcXVlX3ZpZXdlcnNfYW5zd2VyZWRfcHJvbXB0GAUgASgFEjEKKWF2ZXJhZ2VfcHJvbXB0c19vcGVuZWRfcGVyX2VuZ2FnZWRfdmlld2VyGAYgASgBEhwKFHRvdGFsX3Byb21wdHNfb3BlbmVkGAcgASgFEhoKEnRvdGFsX2ludGVyYWN0aW9ucxgIIAEoBRJCCglwb2xsX2NhcmQYCSABKAsyLy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkNhcmRTdGF0aXN0aWNzEkQKC3RyaXZpYV9jYXJkGAogASgLMi8uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5DYXJkU3RhdGlzdGljcxJICg9wcmVkaWN0aW9uX2NhcmQYCyABKAsyLy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkNhcmRTdGF0aXN0aWNzEkUKDGZhY3RvaWRfY2FyZBgMIAEoCzIvLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQ2FyZFN0YXRpc3RpY3MSRQoMdHdpdHRlcl9jYXJkGA0gASgLMi8uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5DYXJkU3RhdGlzdGljcyLjAQoWRmVhdHVyZWRHcm91cHNSZXNwb25zZRJJCgRkYXRhGAEgASgLMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5GZWF0dXJlZEdyb3Vwc1Jlc3BvbnNlRGF0YRJgCgRtZXRhGAIgASgLMlIuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5GZWF0dXJlZEdyb3Vwc1Jlc3BvbnNlLkZlYXR1cmVkR3JvdXBzUmVzcG9uc2VNZXRhGhwKGkZlYXR1cmVkR3JvdXBzUmVzcG9uc2VNZXRhIoQDCh5NZXRyaWNzQnlUaW1lTGluZVJlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESEQoJZXZlbnRfaWRzGAIgAygEEhEKCWNvdW50cmllcxgDIAMoCRI8CgZwZXJpb2QYBCABKAsyJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjEuY29tbW9uLlBlcmlvZEgBiAEBEhUKBGRhdGUYBSABKAlCAhgBSAKIAQESPgoKYWdnX3BlcmlvZBgGIAEoDjIqLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWdnUGVyaW9kEj0KB3dwX3R5cGUYByABKA4yJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwVHlwZUgDiAEBEg8KAnR6GAggASgJSASIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIJCgdfcGVyaW9kQgcKBV9kYXRlQgoKCF93cF90eXBlQgUKA190eiJtChpXcE1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdEZpbHRlciKeAgofV3BNZXRyaWNzQnlUaW1lTGluZVJlc3BvbnNlRGF0YRISCgp0aW1lX2ZyYW1lGAEgASgDEhUKDXRvdGFsX3dwX3NlZW4YAiABKAUSJAocdXNlcnNfZW5nYWdlZF93aXRoX2FjdGl2ZV93cBgDIAEoBRIdChV1c2Vyc19lbmdhZ2VkX3dpdGhfd3AYBCABKAUSEgoKYWN0aXZlX3dwcxgFIAEoBRIbChNhdmdfdXNlcnNfYWN0aXZlX3dwGAYgASgBEh4KFmF2Z19hY3RpdmVfd3BfZHVyYXRpb24YByABKAESHAoUdG90YWxfbWluX3dwXzJfdXNlcnMYCCABKAESHAoUdG90YWxfbWluX3dwXzNfdXNlcnMYCSABKAEi/AEKG1dwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZRJOCgRkYXRhGAEgAygLMkAuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5XcE1ldHJpY3NCeVRpbWVMaW5lUmVzcG9uc2VEYXRhEmoKBG1ldGEYAiABKAsyXC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZS5XcE1ldHJpY3NCeVRpbWVMaW5lUmVzcG9uc2VNZXRhGiEKH1dwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZU1ldGEiaQoWVXNlcnNCeVRpbWVMaW5lUmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdEZpbHRlciLvAgohUG9sbHNTdGF0c0J5VGltZUxpbmVSZXF1ZXN0RmlsdGVyEhwKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUgAiAEBEhAKCGV2ZW50X2lkGAIgASgEEhEKCWNvdW50cmllcxgDIAMoCRI8CgZwZXJpb2QYBCABKAsyJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjEuY29tbW9uLlBlcmlvZEgBiAEBEj4KCmFnZ19wZXJpb2QYBSABKA4yKi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFnZ1BlcmlvZBJDCgp0b3BpY190eXBlGAYgASgOMiouc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5Ub3BpY1R5cGVIAogBARIPCgJ0ehgHIAEoCUgDiAEBQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX3BlcmlvZEINCgtfdG9waWNfdHlwZUIFCgNfdHoicQobUG9sbHNTdGF0c0J5VGltZUxpbmVSZXF1ZXN0ElIKBmZpbHRlchgBIAEoCzJCLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uUG9sbHNTdGF0c0J5VGltZUxpbmVSZXF1ZXN0RmlsdGVyIskBChFQb2xsc1RvdGFsUmVxdWVzdBJaCgZmaWx0ZXIYASABKAsySi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLlBvbGxzVG90YWxSZXF1ZXN0LlBvbGxzVG90YWxSZXF1ZXN0RmlsdGVyGlgKF1BvbGxzVG90YWxSZXF1ZXN0RmlsdGVyEhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIRCglldmVudF9pZHMYAiADKAQSEQoJdG9waWNfaWRzGAMgAygJImAKC01ldHJpY3NEYXRhEg0KBXRvdGFsGAEgASgFEg4KBm9wZW5lZBgCIAEoBRIRCgluYXZpZ2F0ZWQYAyABKAUSEAoIcmVjZWl2ZWQYBCABKAUSDQoFdm90ZWQYBSABKAUisQIKIFBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2VEYXRhEhIKCnRpbWVfZnJhbWUYASABKAkSPAoGY29tbW9uGAIgASgLMiwuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5NZXRyaWNzRGF0YRJeCgdieV90eXBlGAMgAygLMk0uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlc3BvbnNlRGF0YS5CeVR5cGVFbnRyeRpbCgtCeVR5cGVFbnRyeRILCgNrZXkYASABKAkSOwoFdmFsdWUYAiABKAsyLC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NEYXRhOgI4ASKBAgocUG9sbHNTdGF0c0J5VGltZUxpbmVSZXNwb25zZRJPCgRkYXRhGAEgAygLMkEuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlc3BvbnNlRGF0YRJsCgRtZXRhGAIgASgLMl4uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlc3BvbnNlLlBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2VNZXRhGiIKIFBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2VNZXRhInkKG1VzZXJzQnlUaW1lTGluZVJlc3BvbnNlRGF0YRISCgp0aW1lX2ZyYW1lGAEgASgDEhgKEHJlZ2lzdGVyZWRfdXNlcnMYAiABKAUSFQoNdG90YWxfZGV2aWNlcxgDIAEoBRIVCg1lbmdhZ2VkX3VzZXJzGAQgASgFIugBChdVc2Vyc0J5VGltZUxpbmVSZXNwb25zZRJKCgRkYXRhGAEgAygLMjwuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Vc2Vyc0J5VGltZUxpbmVSZXNwb25zZURhdGESYgoEbWV0YRgCIAEoCzJULnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uVXNlcnNCeVRpbWVMaW5lUmVzcG9uc2UuVXNlcnNCeVRpbWVMaW5lUmVzcG9uc2VNZXRhGh0KG1VzZXJzQnlUaW1lTGluZVJlc3BvbnNlTWV0YSJ2CiNEZXZpY2VJbnRlcmFjdGlvbnNCeVRpbWVMaW5lUmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdEZpbHRlciLGAQooRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlRGF0YRISCgp0aW1lX2ZyYW1lGAEgASgDEgwKBGlfb3MYAiABKAUSEAoIaV9wYWRfb3MYAyABKAUSDwoHYW5kcm9pZBgEIAEoBRIYChBhbGxfaW50ZXJhY3Rpb25zGAUgASgFEgsKA3dlYhgGIAEoBRIOCgZtYWNfb3MYByABKAUSDwoHd2luZG93cxgIIAEoBRINCgVsaW51eBgJIAEoBSKpAgokRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlElcKBGRhdGEYASADKAsySS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmVSZXNwb25zZURhdGESfAoEbWV0YRgCIAEoCzJuLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlLkRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmVSZXNwb25zZU1ldGEaKgooRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlTWV0YSKXAQoaTGlzdENvdW50cmllc1JlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESPAoGcGVyaW9kGAIgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2RIAYgBAUISChBfb3JnYW5pemF0aW9uX2lkQgkKB19wZXJpb2QiYwoUTGlzdENvdW50cmllc1JlcXVlc3QSSwoGZmlsdGVyGAEgASgLMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5MaXN0Q291bnRyaWVzUmVxdWVzdEZpbHRlciJJChlMaXN0Q291bnRyaWVzUmVzcG9uc2VEYXRhEg8KB2NvdW50cnkYASABKAkSDgoGYWxwaGEyGAIgASgJEgsKA2NudBgDIAEoBSLeAQoVTGlzdENvdW50cmllc1Jlc3BvbnNlEkgKBGRhdGEYASADKAsyOi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkxpc3RDb3VudHJpZXNSZXNwb25zZURhdGESXgoEbWV0YRgCIAEoCzJQLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTGlzdENvdW50cmllc1Jlc3BvbnNlLkxpc3RDb3VudHJpZXNSZXNwb25zZU1ldGEaGwoZTGlzdENvdW50cmllc1Jlc3BvbnNlTWV0YSLDAQoaRXhwb3J0TWV0cmljc1JlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESEQoJZXZlbnRfaWRzGAIgAygEEjcKBnBlcmlvZBgDIAEoCzInLnN0cmVhbWxheWVyLmFuYWx5dGljcy52MS5jb21tb24uUGVyaW9kEg8KB21ldHJpY3MYBCADKAkSDwoCdHoYBSABKAlIAYgBAUISChBfb3JnYW5pemF0aW9uX2lkQgUKA190eiJjChRFeHBvcnRNZXRyaWNzUmVxdWVzdBJLCgZmaWx0ZXIYASABKAsyOy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkV4cG9ydE1ldHJpY3NSZXF1ZXN0RmlsdGVyIp4CChVFeHBvcnRNZXRyaWNzUmVzcG9uc2USXgoEZGF0YRgBIAEoCzJQLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRXhwb3J0TWV0cmljc1Jlc3BvbnNlLkV4cG9ydE1ldHJpY3NSZXNwb25zZURhdGESXgoEbWV0YRgCIAEoCzJQLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRXhwb3J0TWV0cmljc1Jlc3BvbnNlLkV4cG9ydE1ldHJpY3NSZXNwb25zZU1ldGEaGwoZRXhwb3J0TWV0cmljc1Jlc3BvbnNlTWV0YRooChlFeHBvcnRNZXRyaWNzUmVzcG9uc2VEYXRhEgsKA3VybBgBIAEoCSJnChhFeHBvcnRFeHRlcm5hbEFkc1JlcXVlc3QSSwoGZmlsdGVyGAEgASgLMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRNZXRyaWNzUmVxdWVzdEZpbHRlciKxAQoZRXhwb3J0RXh0ZXJuYWxBZHNSZXNwb25zZRJmCgRkYXRhGAEgASgLMlguc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRFeHRlcm5hbEFkc1Jlc3BvbnNlLkV4cG9ydEV4dGVybmFsQWRzUmVzcG9uc2VEYXRhGiwKHUV4cG9ydEV4dGVybmFsQWRzUmVzcG9uc2VEYXRhEgsKA3VybBgBIAEoCSKBAgoQTWV0cmljRGVzY3JpcHRvchITCgttZXRyaWNfbmFtZRgBIAEoCRJPCgp2YWx1ZV90eXBlGAIgASgOMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5NZXRyaWNEZXNjcmlwdG9yLlZhbHVlVHlwZSKGAQoJVmFsdWVUeXBlEhQKEFZBTFVFX1RZUEVfVU5TRVQQABITCg9WQUxVRV9UWVBFX1VJTlQQARIVChFWQUxVRV9UWVBFX0RPVUJMRRACEhYKElZBTFVFX1RZUEVfUEVSQ0VOVBADEh8KG1ZBTFVFX1RZUEVfRFVSQVRJT05fU0VDT05EUxAEIhQKEkxpc3RNZXRyaWNzUmVxdWVzdCLNAQoTTGlzdE1ldHJpY3NSZXNwb25zZRI/CgRkYXRhGAEgAygLMjEuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5NZXRyaWNEZXNjcmlwdG9yEloKBG1ldGEYAiABKAsyTC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkxpc3RNZXRyaWNzUmVzcG9uc2UuTGlzdE1ldHJpY3NSZXNwb25zZU1ldGEaGQoXTGlzdE1ldHJpY3NSZXNwb25zZU1ldGEitAEKFUFkVG90YWxzUmVxdWVzdEZpbHRlchIcCg9vcmdhbml6YXRpb25faWQYASABKAlIAIgBARIRCglldmVudF9pZHMYAiADKAQSEQoJdG9waWNfaWRzGAMgAygJEkMKCWJyZWFrZG93bhgEIAEoDjIwLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTWV0cmljQnJlYWtkb3duQhIKEF9vcmdhbml6YXRpb25faWQiWQoPQWRUb3RhbHNSZXF1ZXN0EkYKBmZpbHRlchgBIAEoCzI2LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWRUb3RhbHNSZXF1ZXN0RmlsdGVyItUPChRBZFRvdGFsc1Jlc3BvbnNlRGF0YRIVCghldmVudF9pZBgBIAEoBEgAiAEBEhgKC3F1ZXN0aW9uX2lkGAIgASgJSAGIAQESFQoIcGxhdGZvcm0YAyABKAlIAogBARIZCgxhZF91bml0X3R5cGUYBCABKAlIA4gBARIUCgdhZF90eXBlGAUgASgJSASIAQESFgoJYWRfZm9ybWF0GAYgASgJSAWIAQESFQoIY3RhX3R5cGUYByABKAlIBogBARIcChR0b3RhbF9hZF9pbXByZXNzaW9ucxgKIAEoDRIhChl0b3RhbF9kaXNwbGF5X2ltcHJlc3Npb25zGAsgASgNEiIKGnRvdGFsX2FkX3ZpZGVvX2ltcHJlc3Npb25zGAwgASgNEh0KFXRvdGFsX2FkX3ZpZGVvX3BsYXllZBgNIAEoDRIXCg90b3RhbF9hZF9jbGlja3MYFCABKA0SHQoVdG90YWxfYWRfaW50ZXJhY3Rpb25zGBUgASgNEhQKDGFkX3ZpZGVvX3EyNRgWIAEoDRIUCgxhZF92aWRlb19xNTAYFyABKA0SFAoMYWRfdmlkZW9fcTc1GBggASgNEhkKEWFkX3ZpZGVvX2NvbXBsZXRlGBkgASgNEhIKCmFkX3JlcGxheXMYGiABKA0SEgoKYWRfdW5tdXRlcxgbIAEoDRIhChl0b3RhbF9hZF9iYW5uZXJfbmF2aWdhdGVkGBwgASgNEiEKGXRvdGFsX2FkX2J1dHRvbl9uYXZpZ2F0ZWQYHSABKA0SFgoOYWRfdG90YWxfcmVhY2gYHiABKA0SGwoTdG90YWxfZXZlbnRfdmlld2VycxgfIAEoDRIgChh1bmlxX2FkX2Jhbm5lcl9uYXZpZ2F0ZWQYICABKA0SIAoYdW5pcV9hZF9idXR0b25fbmF2aWdhdGVkGCEgASgNEhwKFHVuaXFfYWRfdmlkZW9fcGxheWVkGCIgASgNEhMKC2F2ZXJhZ2VfY3RyGCggASgBEhsKE2FkX2ludGVyYWN0aW9uX3JhdGUYKSABKAESHQoVdmlkZW9fY29tcGxldGlvbl9yYXRlGCogASgBEhQKDGFkX3JlYWNoX3BjdBgrIAEoARIWCg5hZF9yZXBsYXlfcmF0ZRgsIAEoARIUCgxhZF92aWV3X3JhdGUYLSABKAESFAoMYWRfZnJlcXVlbmN5GC4gASgBEhYKDmFkX3VubXV0ZV9yYXRlGC8gASgBEhoKEmFkX2NvbnZlcnNpb25fcmF0ZRgwIAEoARIWCg5hZF9jb252ZXJzaW9ucxgyIAEoDRIYChBhZF9lbmdhZ2VkX3ZpZXdzGDMgASgNEhoKDWFkX2VuZ2FnZW1lbnQYNCABKAFIB4gBARITCgthZF9hdXRvcGxheRg8IAEoCBIZChFhZF9hdWRpb19wcmlvcml0eRg9IAEoCBIUCgdhZF9uYW1lGEYgASgJSAiIAQESGgoNY2FtcGFpZ25fbmFtZRhHIAEoCUgJiAEBEhUKCGFkX2dyb3VwGEggASgJSAqIAQESFAoHYWRfdW5pdBhJIAEoDUgLiAEBEjwKE21vZGVyYXRpb25fc3RhcnRfYXQYSiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAyIAQESOgoRbW9kZXJhdGlvbl9lbmRfYXQYSyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSA2IAQESJAoXbW9kZXJhdGlvbl9kdXJhdGlvbl9zZWMYTCABKA1IDogBARIXCgpldmVudF9uYW1lGFAgASgJSA+IAQESEwoGc2VyaWVzGFEgASgJSBCIAQESEwoGbGVhZ3VlGFIgASgJSBGIAQESOQoQZXZlbnRfc3RhcnRfdGltZRhTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARI3Cg5ldmVudF9lbmRfdGltZRhUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIE4gBARIZCgxhY3RpdmF0ZWRfYnkYWiABKA1IFIgBARIjChZhY3RpdmF0aW9uX2luc3RhbmNlX2lkGFsgASgJSBWIAQESHwoSYWN0aXZhdGlvbl9kZXRhaWxzGFwgASgJSBaIAQFCCwoJX2V2ZW50X2lkQg4KDF9xdWVzdGlvbl9pZEILCglfcGxhdGZvcm1CDwoNX2FkX3VuaXRfdHlwZUIKCghfYWRfdHlwZUIMCgpfYWRfZm9ybWF0QgsKCV9jdGFfdHlwZUIQCg5fYWRfZW5nYWdlbWVudEIKCghfYWRfbmFtZUIQCg5fY2FtcGFpZ25fbmFtZUILCglfYWRfZ3JvdXBCCgoIX2FkX3VuaXRCFgoUX21vZGVyYXRpb25fc3RhcnRfYXRCFAoSX21vZGVyYXRpb25fZW5kX2F0QhoKGF9tb2RlcmF0aW9uX2R1cmF0aW9uX3NlY0INCgtfZXZlbnRfbmFtZUIJCgdfc2VyaWVzQgkKB19sZWFndWVCEwoRX2V2ZW50X3N0YXJ0X3RpbWVCEQoPX2V2ZW50X2VuZF90aW1lQg8KDV9hY3RpdmF0ZWRfYnlCGQoXX2FjdGl2YXRpb25faW5zdGFuY2VfaWRCFQoTX2FjdGl2YXRpb25fZGV0YWlscyLFAQoQQWRUb3RhbHNSZXNwb25zZRJDCgRkYXRhGAEgAygLMjUuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZFRvdGFsc1Jlc3BvbnNlRGF0YRJUCgRtZXRhGAIgASgLMkYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZFRvdGFsc1Jlc3BvbnNlLkFkVG90YWxzUmVzcG9uc2VNZXRhGhYKFEFkVG90YWxzUmVzcG9uc2VNZXRhIq8CChZBZERldGFpbHNSZXF1ZXN0RmlsdGVyEhwKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUgAiAEBEhEKCWV2ZW50X2lkcxgCIAMoBBIRCgl0b3BpY19pZHMYAyADKAkSPAoGcGVyaW9kGAQgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2RIAYgBARIeChFwbGF0Zm9ybV9jYXRlZ29yeRgFIAEoCUgCiAEBEhMKC3BsYXRmb3JtX29zGAYgAygJEhEKCWNvdW50cmllcxgHIAMoCRIPCgJ0ehgIIAEoCUgDiAEBQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX3BlcmlvZEIUChJfcGxhdGZvcm1fY2F0ZWdvcnlCBQoDX3R6IlsKEEFkRGV0YWlsc1JlcXVlc3QSRwoGZmlsdGVyGAEgASgLMjcuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZERldGFpbHNSZXF1ZXN0RmlsdGVyIr4NChRBZERldGFpbHNSZXNwb25zZVJvdxIQCghldmVudF9pZBgBIAEoBBITCgtxdWVzdGlvbl9pZBgCIAEoCRIQCghwbGF0Zm9ybRgKIAEoCRIcChR0b3RhbF9hZF9pbXByZXNzaW9ucxgUIAEoDRIhChl0b3RhbF9kaXNwbGF5X2ltcHJlc3Npb25zGBUgASgNEiIKGnRvdGFsX2FkX3ZpZGVvX2ltcHJlc3Npb25zGBYgASgNEh0KFXRvdGFsX2FkX3ZpZGVvX3BsYXllZBgXIAEoDRIXCg90b3RhbF9hZF9jbGlja3MYGCABKA0SHQoVdG90YWxfYWRfaW50ZXJhY3Rpb25zGBkgASgNEhQKDGFkX3ZpZGVvX3EyNRgaIAEoDRIUCgxhZF92aWRlb19xNTAYGyABKA0SFAoMYWRfdmlkZW9fcTc1GBwgASgNEhkKEWFkX3ZpZGVvX2NvbXBsZXRlGB0gASgNEhIKCmFkX3JlcGxheXMYHiABKA0SEgoKYWRfdW5tdXRlcxgfIAEoDRIgChh1bmlxX2FkX2Jhbm5lcl9uYXZpZ2F0ZWQYICABKA0SIAoYdW5pcV9hZF9idXR0b25fbmF2aWdhdGVkGCEgASgNEhwKFHVuaXFfYWRfdmlkZW9fcGxheWVkGCIgASgNEhYKDmFkX3RvdGFsX3JlYWNoGCggASgNEhgKEGFkX2VuZ2FnZWRfdmlld3MYKSABKA0SFgoOYWRfY29udmVyc2lvbnMYKiABKA0SGwoTdG90YWxfZXZlbnRfdmlld2VycxgrIAEoDRITCgthdmVyYWdlX2N0chgyIAEoARIbChNhZF9pbnRlcmFjdGlvbl9yYXRlGDMgASgBEh0KFXZpZGVvX2NvbXBsZXRpb25fcmF0ZRg0IAEoARIWCg5hZF9yZXBsYXlfcmF0ZRg1IAEoARIUCgxhZF92aWV3X3JhdGUYNiABKAESFAoMYWRfZnJlcXVlbmN5GDcgASgBEhYKDmFkX3VubXV0ZV9yYXRlGDggASgBEhQKDGFkX3JlYWNoX3BjdBg5IAEoARIaChJhZF9jb252ZXJzaW9uX3JhdGUYOiABKAESGgoNYWRfZW5nYWdlbWVudBg7IAEoAUgAiAEBEhMKC2FkX2F1dG9wbGF5GDwgASgIEhkKEWFkX2F1ZGlvX3ByaW9yaXR5GD0gASgIEhQKB2FkX25hbWUYRiABKAlIAYgBARIaCg1jYW1wYWlnbl9uYW1lGEcgASgJSAKIAQESFQoIYWRfZ3JvdXAYSCABKAlIA4gBARIUCgdhZF91bml0GEkgASgNSASIAQESPAoTbW9kZXJhdGlvbl9zdGFydF9hdBhKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARI6ChFtb2RlcmF0aW9uX2VuZF9hdBhLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIkChdtb2RlcmF0aW9uX2R1cmF0aW9uX3NlYxhMIAEoDUgHiAEBEhcKCmV2ZW50X25hbWUYUCABKAlICIgBARITCgZzZXJpZXMYUSABKAlICYgBARITCgZsZWFndWUYUiABKAlICogBARI5ChBldmVudF9zdGFydF90aW1lGFMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgLiAEBEjcKDmV2ZW50X2VuZF90aW1lGFQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEhkKDGFjdGl2YXRlZF9ieRhaIAEoDUgNiAEBEiMKFmFjdGl2YXRpb25faW5zdGFuY2VfaWQYWyABKAlIDogBARIfChJhY3RpdmF0aW9uX2RldGFpbHMYXCABKAlID4gBAUIQCg5fYWRfZW5nYWdlbWVudEIKCghfYWRfbmFtZUIQCg5fY2FtcGFpZ25fbmFtZUILCglfYWRfZ3JvdXBCCgoIX2FkX3VuaXRCFgoUX21vZGVyYXRpb25fc3RhcnRfYXRCFAoSX21vZGVyYXRpb25fZW5kX2F0QhoKGF9tb2RlcmF0aW9uX2R1cmF0aW9uX3NlY0INCgtfZXZlbnRfbmFtZUIJCgdfc2VyaWVzQgkKB19sZWFndWVCEwoRX2V2ZW50X3N0YXJ0X3RpbWVCEQoPX2V2ZW50X2VuZF90aW1lQg8KDV9hY3RpdmF0ZWRfYnlCGQoXX2FjdGl2YXRpb25faW5zdGFuY2VfaWRCFQoTX2FjdGl2YXRpb25fZGV0YWlscyLJAQoRQWREZXRhaWxzUmVzcG9uc2USQwoEZGF0YRgBIAMoCzI1LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWREZXRhaWxzUmVzcG9uc2VSb3cSVgoEbWV0YRgCIAEoCzJILnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWREZXRhaWxzUmVzcG9uc2UuQWREZXRhaWxzUmVzcG9uc2VNZXRhGhcKFUFkRGV0YWlsc1Jlc3BvbnNlTWV0YSpUCgZXcFR5cGUSEQoNV1BfVFlQRV9VTlNFVBAAEg4KCldQX1RZUEVfV1AQARIPCgtXUF9UWVBFX0ZXUBACEhYKEldQX1RZUEVfV1BfQU5EX0ZXUBADKtIBCg9NZXRyaWNCcmVha2Rvd24SGgoWTUVUUklDX0JSRUFLRE9XTl9VTlNFVBAAEhoKFk1FVFJJQ19CUkVBS0RPV05fRVZFTlQQARIdChlNRVRSSUNfQlJFQUtET1dOX1FVRVNUSU9OEAISHQoZTUVUUklDX0JSRUFLRE9XTl9QTEFURk9STRADEiYKIk1FVFJJQ19CUkVBS0RPV05fUExBVEZPUk1fUVVFU1RJT04QBBIhCh1NRVRSSUNfQlJFQUtET1dOX0FEX1VOSVRfVFlQRRAFKlAKCUFnZ1BlcmlvZBIMCghBUF9VTlNFVBAAEgsKB0FQXzFNSU4QARIMCghBUF8xSE9VUhAKEgsKB0FQXzFEQVkQFBINCglBUF8xTU9OVEgQHjKfEQoJRGFzaGJvYXJkEq0BChFEYXNoYm9hcmRPdmVydmlldxI5LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRGFzaGJvYXJkT3ZlcnZpZXdSZXF1ZXN0Gjouc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlIiGKph0RZGFzaGJvYXJkT3ZlcnZpZXegph0CqKYdAbCmHQESoQEKDkZlYXR1cmVkR3JvdXBzEjYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5GZWF0dXJlZEdyb3Vwc1JlcXVlc3QaNy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkZlYXR1cmVkR3JvdXBzUmVzcG9uc2UiHoqmHQ5mZWF0dXJlZEdyb3Vwc6CmHQKoph0BsKYdARK1AQoTV3BNZXRyaWNzQnlUaW1lTGluZRI7LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uV3BNZXRyaWNzQnlUaW1lTGluZVJlcXVlc3QaPC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZSIjiqYdE3dwTWV0cmljc0J5VGltZUxpbmWgph0CqKYdAbCmHQESpQEKD1VzZXJzQnlUaW1lTGluZRI3LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uVXNlcnNCeVRpbWVMaW5lUmVxdWVzdBo4LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uVXNlcnNCeVRpbWVMaW5lUmVzcG9uc2UiH4qmHQ91c2Vyc0J5VGltZUxpbmWgph0CqKYdAbCmHQESkAEKClBvbGxzVG90YWwSMi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLlBvbGxzVG90YWxSZXF1ZXN0GjIuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLnBvbGxzLlRvdGFsUG9sbHNSZXNwb25zZSIaiqYdCnBvbGxzVG90YWygph0CqKYdAbCmHQESuQEKFFBvbGxzU3RhdHNCeVRpbWVMaW5lEjwuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlcXVlc3QaPS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLlBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2UiJIqmHRRwb2xsc1N0YXRzQnlUaW1lTGluZaCmHQKoph0BsKYdARLZAQocRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZRJELnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlcXVlc3QaRS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmVSZXNwb25zZSIsiqYdHGRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmWgph0CqKYdAbCmHQESnQEKDUxpc3RDb3VudHJpZXMSNS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkxpc3RDb3VudHJpZXNSZXF1ZXN0GjYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5MaXN0Q291bnRyaWVzUmVzcG9uc2UiHYqmHQ1saXN0Q291bnRyaWVzoKYdAqimHQGwph0BEpUBCgtMaXN0TWV0cmljcxIzLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTGlzdE1ldHJpY3NSZXF1ZXN0GjQuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5MaXN0TWV0cmljc1Jlc3BvbnNlIhuKph0LbGlzdE1ldHJpY3Ogph0CqKYdAbCmHQESnQEKDUV4cG9ydE1ldHJpY3MSNS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkV4cG9ydE1ldHJpY3NSZXF1ZXN0GjYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRNZXRyaWNzUmVzcG9uc2UiHYqmHQ1leHBvcnRNZXRyaWNzoKYdAqimHQGwph0BEq4BChFFeHBvcnRFeHRlcm5hbEFkcxI5LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRXhwb3J0RXh0ZXJuYWxBZHNSZXF1ZXN0Gjouc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRFeHRlcm5hbEFkc1Jlc3BvbnNlIiKKph0SYWQuZXhwb3J0LmV4dGVybmFsoKYdAqimHQGwph0BEocBCgdBZFRvdGFsEjAuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZFRvdGFsc1JlcXVlc3QaMS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkVG90YWxzUmVzcG9uc2UiF4qmHQdhZFRvdGFsoKYdAqimHQGwph0BEo0BCglBZERldGFpbHMSMS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkRGV0YWlsc1JlcXVlc3QaMi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkRGV0YWlsc1Jlc3BvbnNlIhmKph0JYWREZXRhaWxzoKYdAqimHQGwph0BGhCKtRgMYW5hbHl0aWNzLnYyQqIBCiNjb20uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnN0dWRpby52MkIWU3RyZWFtTGF5ZXJTdHVkaW9Qcm90b1ABWlhnaXRodWIuY29tL3N0cmVhbWxheWVyL3NsLXByb3RvZmlsZXMvLmJ1aWxkL2dvL3N0cmVhbWxheWVyL2FuYWx5dGljcy92Mi9zdHVkaW87c2xfc3R1ZGlvogIGU0xfQVBJYgZwcm90bzM", [file_google_protobuf_timestamp, file_streamlayer_common_streamlayer_common, file_streamlayer_analytics_v1_common_analytics_common, file_streamlayer_analytics_v1_polls_polls]);
15
+ fileDesc("Ci9zdHJlYW1sYXllci9hbmFseXRpY3MvdjIvc3R1ZGlvL2Rhc2hib2FyZC5wcm90bxIfc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpbyJRCg5DYXJkU3RhdGlzdGljcxINCgV0b3RhbBgBIAEoBRIOCgZ2aWV3ZWQYAiABKAUSDgoGb3BlbmVkGAMgASgFEhAKCGFuc3dlcmVkGAQgASgFIqwGCh1EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlRGF0YRIVCg10b3RhbF92aWV3ZXJzGAEgASgFEh8KF3RvdGFsX3JlZ2lzdHJlZF92aWV3ZXJzGAIgASgFEh0KFXRvdGFsX2VuZ2FnZWRfdmlld2VycxgDIAEoBRIaChJ0b3RhbF9pbnRlcmFjdGlvbnMYBCABKAUSFAoMbGl2ZV92aWV3ZXJzGAUgASgFEhwKFGxpdmVfZW5nYWdlZF92aWV3ZXJzGAYgASgFEiUKHWludGVyYWN0aW9uc19wZXJfZW5nYWdlZF91c2VyGAcgASgBEh4KFmxpdmVfcmVnaXN0cmVkX3ZpZXdlcnMYHiABKAUSGAoQdG90YWxfd3Bfc3RhcnRlZBgIIAEoBRIhChl0b3RhbF93cF9zZXNzaW9uc19zdGFydGVkGC0gASgFEh0KFXVzZXJzX2VuZ2FnZWRfd2l0aF93cBgJIAEoBRIkChx1c2Vyc19lbmdhZ2VkX3dpdGhfYWN0aXZlX3dwGAogASgFEhIKCmFjdGl2ZV93cHMYCyABKAUSGwoTYXZnX3VzZXJzX2FjdGl2ZV93cBgMIAEoARIeChZhdmdfYWN0aXZlX3dwX2R1cmF0aW9uGA0gASgBEikKIWxpdmVfdXNlcnNfZW5nYWdlZF93aXRoX2FjdGl2ZV93cBgOIAEoBRIXCg9saXZlX2FjdGl2ZV93cHMYDyABKAUSGwoTdG90YWxfbWluX3dwMl91c2VycxgQIAEoARIbChN0b3RhbF9taW5fd3AzX3VzZXJzGBEgASgBEhsKE3RvdGFsX21pbl93cDRfdXNlcnMYEiABKAESGwoTdG90YWxfbWluX3dwNV91c2VycxgTIAEoARIbChN0b3RhbF9taW5fd3A2X3VzZXJzGBQgASgBEhsKE3RvdGFsX21pbl93cDdfdXNlcnMYFSABKAESGwoTdG90YWxfbWluX3dwOF91c2VycxgWIAEoARIbChN0b3RhbF9taW5fd3A5X3VzZXJzGBcgASgBEh4KFnRvdGFsX3VzZXJzX3N0YXJ0ZWRfd3AYGCABKAUi/gIKHkRhc2hib2FyZE92ZXJ2aWV3UmVxdWVzdEZpbHRlchIcCg9vcmdhbml6YXRpb25faWQYASABKAlIAIgBARIRCglldmVudF9pZHMYAiADKAQSNwoGcGVyaW9kGAMgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2QSFQoEZGF0ZRgEIAEoCUICGAFIAYgBARIRCgljb3VudHJpZXMYBSADKAkSGQoMbGl2ZV9tZXRyaWNzGAYgASgISAKIAQESFAoDZndwGAcgASgIQgIYAUgDiAEBEj0KB3dwX3R5cGUYCCABKA4yJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwVHlwZUgEiAEBEg8KAnR6GAkgASgJSAWIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIHCgVfZGF0ZUIPCg1fbGl2ZV9tZXRyaWNzQgYKBF9md3BCCgoIX3dwX3R5cGVCBQoDX3R6ImsKGERhc2hib2FyZE92ZXJ2aWV3UmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkRhc2hib2FyZE92ZXJ2aWV3UmVxdWVzdEZpbHRlciLyAQoZRGFzaGJvYXJkT3ZlcnZpZXdSZXNwb25zZRJMCgRkYXRhGAEgASgLMj4uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlRGF0YRJmCgRtZXRhGAIgASgLMlguc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlLkRhc2hib2FyZE92ZXJ2aWV3UmVzcG9uc2VNZXRhGh8KHURhc2hib2FyZE92ZXJ2aWV3UmVzcG9uc2VNZXRhIuYBChtGZWF0dXJlZEdyb3Vwc1JlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESEQoJZXZlbnRfaWRzGAIgAygEEjcKBnBlcmlvZBgDIAEoCzInLnN0cmVhbWxheWVyLmFuYWx5dGljcy52MS5jb21tb24uUGVyaW9kEhUKBGRhdGUYBCABKAlCAhgBSAGIAQESEQoJY291bnRyaWVzGAUgAygJEg8KAnR6GAYgASgJSAKIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIHCgVfZGF0ZUIFCgNfdHoiZQoVRmVhdHVyZWRHcm91cHNSZXF1ZXN0EkwKBmZpbHRlchgBIAEoCzI8LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRmVhdHVyZWRHcm91cHNSZXF1ZXN0RmlsdGVyIpUFChpGZWF0dXJlZEdyb3Vwc1Jlc3BvbnNlRGF0YRIVCg10b3RhbF92aWV3ZXJzGAEgASgFEh0KFXRvdGFsX2VuZ2FnZWRfdmlld2VycxgCIAEoBRIaChJ0b3RhbF9wcm9tcHRzX3NlbnQYAyABKAUSKAogdG90YWxfdW5pcXVlX3ZpZXdlcnNfb3Blbl9wcm9tcHQYBCABKAUSLAokdG90YWxfdW5pcXVlX3ZpZXdlcnNfYW5zd2VyZWRfcHJvbXB0GAUgASgFEjEKKWF2ZXJhZ2VfcHJvbXB0c19vcGVuZWRfcGVyX2VuZ2FnZWRfdmlld2VyGAYgASgBEhwKFHRvdGFsX3Byb21wdHNfb3BlbmVkGAcgASgFEhoKEnRvdGFsX2ludGVyYWN0aW9ucxgIIAEoBRJCCglwb2xsX2NhcmQYCSABKAsyLy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkNhcmRTdGF0aXN0aWNzEkQKC3RyaXZpYV9jYXJkGAogASgLMi8uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5DYXJkU3RhdGlzdGljcxJICg9wcmVkaWN0aW9uX2NhcmQYCyABKAsyLy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkNhcmRTdGF0aXN0aWNzEkUKDGZhY3RvaWRfY2FyZBgMIAEoCzIvLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQ2FyZFN0YXRpc3RpY3MSRQoMdHdpdHRlcl9jYXJkGA0gASgLMi8uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5DYXJkU3RhdGlzdGljcyLjAQoWRmVhdHVyZWRHcm91cHNSZXNwb25zZRJJCgRkYXRhGAEgASgLMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5GZWF0dXJlZEdyb3Vwc1Jlc3BvbnNlRGF0YRJgCgRtZXRhGAIgASgLMlIuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5GZWF0dXJlZEdyb3Vwc1Jlc3BvbnNlLkZlYXR1cmVkR3JvdXBzUmVzcG9uc2VNZXRhGhwKGkZlYXR1cmVkR3JvdXBzUmVzcG9uc2VNZXRhIoQDCh5NZXRyaWNzQnlUaW1lTGluZVJlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESEQoJZXZlbnRfaWRzGAIgAygEEhEKCWNvdW50cmllcxgDIAMoCRI8CgZwZXJpb2QYBCABKAsyJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjEuY29tbW9uLlBlcmlvZEgBiAEBEhUKBGRhdGUYBSABKAlCAhgBSAKIAQESPgoKYWdnX3BlcmlvZBgGIAEoDjIqLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWdnUGVyaW9kEj0KB3dwX3R5cGUYByABKA4yJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwVHlwZUgDiAEBEg8KAnR6GAggASgJSASIAQFCEgoQX29yZ2FuaXphdGlvbl9pZEIJCgdfcGVyaW9kQgcKBV9kYXRlQgoKCF93cF90eXBlQgUKA190eiJtChpXcE1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdEZpbHRlciKeAgofV3BNZXRyaWNzQnlUaW1lTGluZVJlc3BvbnNlRGF0YRISCgp0aW1lX2ZyYW1lGAEgASgDEhUKDXRvdGFsX3dwX3NlZW4YAiABKAUSJAocdXNlcnNfZW5nYWdlZF93aXRoX2FjdGl2ZV93cBgDIAEoBRIdChV1c2Vyc19lbmdhZ2VkX3dpdGhfd3AYBCABKAUSEgoKYWN0aXZlX3dwcxgFIAEoBRIbChNhdmdfdXNlcnNfYWN0aXZlX3dwGAYgASgBEh4KFmF2Z19hY3RpdmVfd3BfZHVyYXRpb24YByABKAESHAoUdG90YWxfbWluX3dwXzJfdXNlcnMYCCABKAESHAoUdG90YWxfbWluX3dwXzNfdXNlcnMYCSABKAEi/AEKG1dwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZRJOCgRkYXRhGAEgAygLMkAuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5XcE1ldHJpY3NCeVRpbWVMaW5lUmVzcG9uc2VEYXRhEmoKBG1ldGEYAiABKAsyXC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZS5XcE1ldHJpY3NCeVRpbWVMaW5lUmVzcG9uc2VNZXRhGiEKH1dwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZU1ldGEiaQoWVXNlcnNCeVRpbWVMaW5lUmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdEZpbHRlciLvAgohUG9sbHNTdGF0c0J5VGltZUxpbmVSZXF1ZXN0RmlsdGVyEhwKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUgAiAEBEhAKCGV2ZW50X2lkGAIgASgEEhEKCWNvdW50cmllcxgDIAMoCRI8CgZwZXJpb2QYBCABKAsyJy5zdHJlYW1sYXllci5hbmFseXRpY3MudjEuY29tbW9uLlBlcmlvZEgBiAEBEj4KCmFnZ19wZXJpb2QYBSABKA4yKi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFnZ1BlcmlvZBJDCgp0b3BpY190eXBlGAYgASgOMiouc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5Ub3BpY1R5cGVIAogBARIPCgJ0ehgHIAEoCUgDiAEBQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX3BlcmlvZEINCgtfdG9waWNfdHlwZUIFCgNfdHoicQobUG9sbHNTdGF0c0J5VGltZUxpbmVSZXF1ZXN0ElIKBmZpbHRlchgBIAEoCzJCLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uUG9sbHNTdGF0c0J5VGltZUxpbmVSZXF1ZXN0RmlsdGVyIskBChFQb2xsc1RvdGFsUmVxdWVzdBJaCgZmaWx0ZXIYASABKAsySi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLlBvbGxzVG90YWxSZXF1ZXN0LlBvbGxzVG90YWxSZXF1ZXN0RmlsdGVyGlgKF1BvbGxzVG90YWxSZXF1ZXN0RmlsdGVyEhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIRCglldmVudF9pZHMYAiADKAQSEQoJdG9waWNfaWRzGAMgAygJImAKC01ldHJpY3NEYXRhEg0KBXRvdGFsGAEgASgFEg4KBm9wZW5lZBgCIAEoBRIRCgluYXZpZ2F0ZWQYAyABKAUSEAoIcmVjZWl2ZWQYBCABKAUSDQoFdm90ZWQYBSABKAUisQIKIFBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2VEYXRhEhIKCnRpbWVfZnJhbWUYASABKAkSPAoGY29tbW9uGAIgASgLMiwuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5NZXRyaWNzRGF0YRJeCgdieV90eXBlGAMgAygLMk0uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlc3BvbnNlRGF0YS5CeVR5cGVFbnRyeRpbCgtCeVR5cGVFbnRyeRILCgNrZXkYASABKAkSOwoFdmFsdWUYAiABKAsyLC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NEYXRhOgI4ASKBAgocUG9sbHNTdGF0c0J5VGltZUxpbmVSZXNwb25zZRJPCgRkYXRhGAEgAygLMkEuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlc3BvbnNlRGF0YRJsCgRtZXRhGAIgASgLMl4uc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlc3BvbnNlLlBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2VNZXRhGiIKIFBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2VNZXRhInkKG1VzZXJzQnlUaW1lTGluZVJlc3BvbnNlRGF0YRISCgp0aW1lX2ZyYW1lGAEgASgDEhgKEHJlZ2lzdGVyZWRfdXNlcnMYAiABKAUSFQoNdG90YWxfZGV2aWNlcxgDIAEoBRIVCg1lbmdhZ2VkX3VzZXJzGAQgASgFIugBChdVc2Vyc0J5VGltZUxpbmVSZXNwb25zZRJKCgRkYXRhGAEgAygLMjwuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Vc2Vyc0J5VGltZUxpbmVSZXNwb25zZURhdGESYgoEbWV0YRgCIAEoCzJULnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uVXNlcnNCeVRpbWVMaW5lUmVzcG9uc2UuVXNlcnNCeVRpbWVMaW5lUmVzcG9uc2VNZXRhGh0KG1VzZXJzQnlUaW1lTGluZVJlc3BvbnNlTWV0YSJ2CiNEZXZpY2VJbnRlcmFjdGlvbnNCeVRpbWVMaW5lUmVxdWVzdBJPCgZmaWx0ZXIYASABKAsyPy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLk1ldHJpY3NCeVRpbWVMaW5lUmVxdWVzdEZpbHRlciLGAQooRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlRGF0YRISCgp0aW1lX2ZyYW1lGAEgASgDEgwKBGlfb3MYAiABKAUSEAoIaV9wYWRfb3MYAyABKAUSDwoHYW5kcm9pZBgEIAEoBRIYChBhbGxfaW50ZXJhY3Rpb25zGAUgASgFEgsKA3dlYhgGIAEoBRIOCgZtYWNfb3MYByABKAUSDwoHd2luZG93cxgIIAEoBRINCgVsaW51eBgJIAEoBSKpAgokRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlElcKBGRhdGEYASADKAsySS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmVSZXNwb25zZURhdGESfAoEbWV0YRgCIAEoCzJuLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlLkRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmVSZXNwb25zZU1ldGEaKgooRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlc3BvbnNlTWV0YSKXAQoaTGlzdENvdW50cmllc1JlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESPAoGcGVyaW9kGAIgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2RIAYgBAUISChBfb3JnYW5pemF0aW9uX2lkQgkKB19wZXJpb2QiYwoUTGlzdENvdW50cmllc1JlcXVlc3QSSwoGZmlsdGVyGAEgASgLMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5MaXN0Q291bnRyaWVzUmVxdWVzdEZpbHRlciJJChlMaXN0Q291bnRyaWVzUmVzcG9uc2VEYXRhEg8KB2NvdW50cnkYASABKAkSDgoGYWxwaGEyGAIgASgJEgsKA2NudBgDIAEoBSLeAQoVTGlzdENvdW50cmllc1Jlc3BvbnNlEkgKBGRhdGEYASADKAsyOi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkxpc3RDb3VudHJpZXNSZXNwb25zZURhdGESXgoEbWV0YRgCIAEoCzJQLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTGlzdENvdW50cmllc1Jlc3BvbnNlLkxpc3RDb3VudHJpZXNSZXNwb25zZU1ldGEaGwoZTGlzdENvdW50cmllc1Jlc3BvbnNlTWV0YSLDAQoaRXhwb3J0TWV0cmljc1JlcXVlc3RGaWx0ZXISHAoPb3JnYW5pemF0aW9uX2lkGAEgASgJSACIAQESEQoJZXZlbnRfaWRzGAIgAygEEjcKBnBlcmlvZBgDIAEoCzInLnN0cmVhbWxheWVyLmFuYWx5dGljcy52MS5jb21tb24uUGVyaW9kEg8KB21ldHJpY3MYBCADKAkSDwoCdHoYBSABKAlIAYgBAUISChBfb3JnYW5pemF0aW9uX2lkQgUKA190eiJjChRFeHBvcnRNZXRyaWNzUmVxdWVzdBJLCgZmaWx0ZXIYASABKAsyOy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkV4cG9ydE1ldHJpY3NSZXF1ZXN0RmlsdGVyIp4CChVFeHBvcnRNZXRyaWNzUmVzcG9uc2USXgoEZGF0YRgBIAEoCzJQLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRXhwb3J0TWV0cmljc1Jlc3BvbnNlLkV4cG9ydE1ldHJpY3NSZXNwb25zZURhdGESXgoEbWV0YRgCIAEoCzJQLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRXhwb3J0TWV0cmljc1Jlc3BvbnNlLkV4cG9ydE1ldHJpY3NSZXNwb25zZU1ldGEaGwoZRXhwb3J0TWV0cmljc1Jlc3BvbnNlTWV0YRooChlFeHBvcnRNZXRyaWNzUmVzcG9uc2VEYXRhEgsKA3VybBgBIAEoCSJnChhFeHBvcnRFeHRlcm5hbEFkc1JlcXVlc3QSSwoGZmlsdGVyGAEgASgLMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRNZXRyaWNzUmVxdWVzdEZpbHRlciKxAQoZRXhwb3J0RXh0ZXJuYWxBZHNSZXNwb25zZRJmCgRkYXRhGAEgASgLMlguc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRFeHRlcm5hbEFkc1Jlc3BvbnNlLkV4cG9ydEV4dGVybmFsQWRzUmVzcG9uc2VEYXRhGiwKHUV4cG9ydEV4dGVybmFsQWRzUmVzcG9uc2VEYXRhEgsKA3VybBgBIAEoCSKBAgoQTWV0cmljRGVzY3JpcHRvchITCgttZXRyaWNfbmFtZRgBIAEoCRJPCgp2YWx1ZV90eXBlGAIgASgOMjsuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5NZXRyaWNEZXNjcmlwdG9yLlZhbHVlVHlwZSKGAQoJVmFsdWVUeXBlEhQKEFZBTFVFX1RZUEVfVU5TRVQQABITCg9WQUxVRV9UWVBFX1VJTlQQARIVChFWQUxVRV9UWVBFX0RPVUJMRRACEhYKElZBTFVFX1RZUEVfUEVSQ0VOVBADEh8KG1ZBTFVFX1RZUEVfRFVSQVRJT05fU0VDT05EUxAEIhQKEkxpc3RNZXRyaWNzUmVxdWVzdCLNAQoTTGlzdE1ldHJpY3NSZXNwb25zZRI/CgRkYXRhGAEgAygLMjEuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5NZXRyaWNEZXNjcmlwdG9yEloKBG1ldGEYAiABKAsyTC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkxpc3RNZXRyaWNzUmVzcG9uc2UuTGlzdE1ldHJpY3NSZXNwb25zZU1ldGEaGQoXTGlzdE1ldHJpY3NSZXNwb25zZU1ldGEitAEKFUFkVG90YWxzUmVxdWVzdEZpbHRlchIcCg9vcmdhbml6YXRpb25faWQYASABKAlIAIgBARIRCglldmVudF9pZHMYAiADKAQSEQoJdG9waWNfaWRzGAMgAygJEkMKCWJyZWFrZG93bhgEIAEoDjIwLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTWV0cmljQnJlYWtkb3duQhIKEF9vcmdhbml6YXRpb25faWQiWQoPQWRUb3RhbHNSZXF1ZXN0EkYKBmZpbHRlchgBIAEoCzI2LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWRUb3RhbHNSZXF1ZXN0RmlsdGVyItUPChRBZFRvdGFsc1Jlc3BvbnNlRGF0YRIVCghldmVudF9pZBgBIAEoBEgAiAEBEhgKC3F1ZXN0aW9uX2lkGAIgASgJSAGIAQESFQoIcGxhdGZvcm0YAyABKAlIAogBARIZCgxhZF91bml0X3R5cGUYBCABKAlIA4gBARIUCgdhZF90eXBlGAUgASgJSASIAQESFgoJYWRfZm9ybWF0GAYgASgJSAWIAQESFQoIY3RhX3R5cGUYByABKAlIBogBARIcChR0b3RhbF9hZF9pbXByZXNzaW9ucxgKIAEoDRIhChl0b3RhbF9kaXNwbGF5X2ltcHJlc3Npb25zGAsgASgNEiIKGnRvdGFsX2FkX3ZpZGVvX2ltcHJlc3Npb25zGAwgASgNEh0KFXRvdGFsX2FkX3ZpZGVvX3BsYXllZBgNIAEoDRIXCg90b3RhbF9hZF9jbGlja3MYFCABKA0SHQoVdG90YWxfYWRfaW50ZXJhY3Rpb25zGBUgASgNEhQKDGFkX3ZpZGVvX3EyNRgWIAEoDRIUCgxhZF92aWRlb19xNTAYFyABKA0SFAoMYWRfdmlkZW9fcTc1GBggASgNEhkKEWFkX3ZpZGVvX2NvbXBsZXRlGBkgASgNEhIKCmFkX3JlcGxheXMYGiABKA0SEgoKYWRfdW5tdXRlcxgbIAEoDRIhChl0b3RhbF9hZF9iYW5uZXJfbmF2aWdhdGVkGBwgASgNEiEKGXRvdGFsX2FkX2J1dHRvbl9uYXZpZ2F0ZWQYHSABKA0SFgoOYWRfdG90YWxfcmVhY2gYHiABKA0SGwoTdG90YWxfZXZlbnRfdmlld2VycxgfIAEoDRIgChh1bmlxX2FkX2Jhbm5lcl9uYXZpZ2F0ZWQYICABKA0SIAoYdW5pcV9hZF9idXR0b25fbmF2aWdhdGVkGCEgASgNEhwKFHVuaXFfYWRfdmlkZW9fcGxheWVkGCIgASgNEhMKC2F2ZXJhZ2VfY3RyGCggASgBEhsKE2FkX2ludGVyYWN0aW9uX3JhdGUYKSABKAESHQoVdmlkZW9fY29tcGxldGlvbl9yYXRlGCogASgBEhQKDGFkX3JlYWNoX3BjdBgrIAEoARIWCg5hZF9yZXBsYXlfcmF0ZRgsIAEoARIUCgxhZF92aWV3X3JhdGUYLSABKAESFAoMYWRfZnJlcXVlbmN5GC4gASgBEhYKDmFkX3VubXV0ZV9yYXRlGC8gASgBEhoKEmFkX2NvbnZlcnNpb25fcmF0ZRgwIAEoARIWCg5hZF9jb252ZXJzaW9ucxgyIAEoDRIYChBhZF9lbmdhZ2VkX3ZpZXdzGDMgASgNEhoKDWFkX2VuZ2FnZW1lbnQYNCABKAFIB4gBARITCgthZF9hdXRvcGxheRg8IAEoCBIZChFhZF9hdWRpb19wcmlvcml0eRg9IAEoCBIUCgdhZF9uYW1lGEYgASgJSAiIAQESGgoNY2FtcGFpZ25fbmFtZRhHIAEoCUgJiAEBEhUKCGFkX2dyb3VwGEggASgJSAqIAQESFAoHYWRfdW5pdBhJIAEoDUgLiAEBEjwKE21vZGVyYXRpb25fc3RhcnRfYXQYSiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAyIAQESOgoRbW9kZXJhdGlvbl9lbmRfYXQYSyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSA2IAQESJAoXbW9kZXJhdGlvbl9kdXJhdGlvbl9zZWMYTCABKA1IDogBARIXCgpldmVudF9uYW1lGFAgASgJSA+IAQESEwoGc2VyaWVzGFEgASgJSBCIAQESEwoGbGVhZ3VlGFIgASgJSBGIAQESOQoQZXZlbnRfc3RhcnRfdGltZRhTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIEogBARI3Cg5ldmVudF9lbmRfdGltZRhUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIE4gBARIZCgxhY3RpdmF0ZWRfYnkYWiABKA1IFIgBARIjChZhY3RpdmF0aW9uX2luc3RhbmNlX2lkGFsgASgJSBWIAQESHwoSYWN0aXZhdGlvbl9kZXRhaWxzGFwgASgJSBaIAQFCCwoJX2V2ZW50X2lkQg4KDF9xdWVzdGlvbl9pZEILCglfcGxhdGZvcm1CDwoNX2FkX3VuaXRfdHlwZUIKCghfYWRfdHlwZUIMCgpfYWRfZm9ybWF0QgsKCV9jdGFfdHlwZUIQCg5fYWRfZW5nYWdlbWVudEIKCghfYWRfbmFtZUIQCg5fY2FtcGFpZ25fbmFtZUILCglfYWRfZ3JvdXBCCgoIX2FkX3VuaXRCFgoUX21vZGVyYXRpb25fc3RhcnRfYXRCFAoSX21vZGVyYXRpb25fZW5kX2F0QhoKGF9tb2RlcmF0aW9uX2R1cmF0aW9uX3NlY0INCgtfZXZlbnRfbmFtZUIJCgdfc2VyaWVzQgkKB19sZWFndWVCEwoRX2V2ZW50X3N0YXJ0X3RpbWVCEQoPX2V2ZW50X2VuZF90aW1lQg8KDV9hY3RpdmF0ZWRfYnlCGQoXX2FjdGl2YXRpb25faW5zdGFuY2VfaWRCFQoTX2FjdGl2YXRpb25fZGV0YWlscyLFAQoQQWRUb3RhbHNSZXNwb25zZRJDCgRkYXRhGAEgAygLMjUuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZFRvdGFsc1Jlc3BvbnNlRGF0YRJUCgRtZXRhGAIgASgLMkYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZFRvdGFsc1Jlc3BvbnNlLkFkVG90YWxzUmVzcG9uc2VNZXRhGhYKFEFkVG90YWxzUmVzcG9uc2VNZXRhIq8CChZBZERldGFpbHNSZXF1ZXN0RmlsdGVyEhwKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUgAiAEBEhEKCWV2ZW50X2lkcxgCIAMoBBIRCgl0b3BpY19pZHMYAyADKAkSPAoGcGVyaW9kGAQgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2RIAYgBARIeChFwbGF0Zm9ybV9jYXRlZ29yeRgFIAEoCUgCiAEBEhMKC3BsYXRmb3JtX29zGAYgAygJEhEKCWNvdW50cmllcxgHIAMoCRIPCgJ0ehgIIAEoCUgDiAEBQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX3BlcmlvZEIUChJfcGxhdGZvcm1fY2F0ZWdvcnlCBQoDX3R6IlsKEEFkRGV0YWlsc1JlcXVlc3QSRwoGZmlsdGVyGAEgASgLMjcuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZERldGFpbHNSZXF1ZXN0RmlsdGVyIr4NChRBZERldGFpbHNSZXNwb25zZVJvdxIQCghldmVudF9pZBgBIAEoBBITCgtxdWVzdGlvbl9pZBgCIAEoCRIQCghwbGF0Zm9ybRgKIAEoCRIcChR0b3RhbF9hZF9pbXByZXNzaW9ucxgUIAEoDRIhChl0b3RhbF9kaXNwbGF5X2ltcHJlc3Npb25zGBUgASgNEiIKGnRvdGFsX2FkX3ZpZGVvX2ltcHJlc3Npb25zGBYgASgNEh0KFXRvdGFsX2FkX3ZpZGVvX3BsYXllZBgXIAEoDRIXCg90b3RhbF9hZF9jbGlja3MYGCABKA0SHQoVdG90YWxfYWRfaW50ZXJhY3Rpb25zGBkgASgNEhQKDGFkX3ZpZGVvX3EyNRgaIAEoDRIUCgxhZF92aWRlb19xNTAYGyABKA0SFAoMYWRfdmlkZW9fcTc1GBwgASgNEhkKEWFkX3ZpZGVvX2NvbXBsZXRlGB0gASgNEhIKCmFkX3JlcGxheXMYHiABKA0SEgoKYWRfdW5tdXRlcxgfIAEoDRIgChh1bmlxX2FkX2Jhbm5lcl9uYXZpZ2F0ZWQYICABKA0SIAoYdW5pcV9hZF9idXR0b25fbmF2aWdhdGVkGCEgASgNEhwKFHVuaXFfYWRfdmlkZW9fcGxheWVkGCIgASgNEhYKDmFkX3RvdGFsX3JlYWNoGCggASgNEhgKEGFkX2VuZ2FnZWRfdmlld3MYKSABKA0SFgoOYWRfY29udmVyc2lvbnMYKiABKA0SGwoTdG90YWxfZXZlbnRfdmlld2VycxgrIAEoDRITCgthdmVyYWdlX2N0chgyIAEoARIbChNhZF9pbnRlcmFjdGlvbl9yYXRlGDMgASgBEh0KFXZpZGVvX2NvbXBsZXRpb25fcmF0ZRg0IAEoARIWCg5hZF9yZXBsYXlfcmF0ZRg1IAEoARIUCgxhZF92aWV3X3JhdGUYNiABKAESFAoMYWRfZnJlcXVlbmN5GDcgASgBEhYKDmFkX3VubXV0ZV9yYXRlGDggASgBEhQKDGFkX3JlYWNoX3BjdBg5IAEoARIaChJhZF9jb252ZXJzaW9uX3JhdGUYOiABKAESGgoNYWRfZW5nYWdlbWVudBg7IAEoAUgAiAEBEhMKC2FkX2F1dG9wbGF5GDwgASgIEhkKEWFkX2F1ZGlvX3ByaW9yaXR5GD0gASgIEhQKB2FkX25hbWUYRiABKAlIAYgBARIaCg1jYW1wYWlnbl9uYW1lGEcgASgJSAKIAQESFQoIYWRfZ3JvdXAYSCABKAlIA4gBARIUCgdhZF91bml0GEkgASgNSASIAQESPAoTbW9kZXJhdGlvbl9zdGFydF9hdBhKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARI6ChFtb2RlcmF0aW9uX2VuZF9hdBhLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIkChdtb2RlcmF0aW9uX2R1cmF0aW9uX3NlYxhMIAEoDUgHiAEBEhcKCmV2ZW50X25hbWUYUCABKAlICIgBARITCgZzZXJpZXMYUSABKAlICYgBARITCgZsZWFndWUYUiABKAlICogBARI5ChBldmVudF9zdGFydF90aW1lGFMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgLiAEBEjcKDmV2ZW50X2VuZF90aW1lGFQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgMiAEBEhkKDGFjdGl2YXRlZF9ieRhaIAEoDUgNiAEBEiMKFmFjdGl2YXRpb25faW5zdGFuY2VfaWQYWyABKAlIDogBARIfChJhY3RpdmF0aW9uX2RldGFpbHMYXCABKAlID4gBAUIQCg5fYWRfZW5nYWdlbWVudEIKCghfYWRfbmFtZUIQCg5fY2FtcGFpZ25fbmFtZUILCglfYWRfZ3JvdXBCCgoIX2FkX3VuaXRCFgoUX21vZGVyYXRpb25fc3RhcnRfYXRCFAoSX21vZGVyYXRpb25fZW5kX2F0QhoKGF9tb2RlcmF0aW9uX2R1cmF0aW9uX3NlY0INCgtfZXZlbnRfbmFtZUIJCgdfc2VyaWVzQgkKB19sZWFndWVCEwoRX2V2ZW50X3N0YXJ0X3RpbWVCEQoPX2V2ZW50X2VuZF90aW1lQg8KDV9hY3RpdmF0ZWRfYnlCGQoXX2FjdGl2YXRpb25faW5zdGFuY2VfaWRCFQoTX2FjdGl2YXRpb25fZGV0YWlscyLJAQoRQWREZXRhaWxzUmVzcG9uc2USQwoEZGF0YRgBIAMoCzI1LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWREZXRhaWxzUmVzcG9uc2VSb3cSVgoEbWV0YRgCIAEoCzJILnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWREZXRhaWxzUmVzcG9uc2UuQWREZXRhaWxzUmVzcG9uc2VNZXRhGhcKFUFkRGV0YWlsc1Jlc3BvbnNlTWV0YSKUAgoZQWRQYXVzZVRvdGFsUmVxdWVzdEZpbHRlchIcCg9vcmdhbml6YXRpb25faWQYASABKAlIAIgBARIRCglldmVudF9pZHMYAiADKAQSEQoJdG9waWNfaWRzGAMgAygJEkgKCWJyZWFrZG93bhgEIAEoDjIwLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTWV0cmljQnJlYWtkb3duSAGIAQESPAoGcGVyaW9kGAUgASgLMicuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLmNvbW1vbi5QZXJpb2RIAogBAUISChBfb3JnYW5pemF0aW9uX2lkQgwKCl9icmVha2Rvd25CCQoHX3BlcmlvZCJhChNBZFBhdXNlVG90YWxSZXF1ZXN0EkoKBmZpbHRlchgBIAEoCzI6LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWRQYXVzZVRvdGFsUmVxdWVzdEZpbHRlciKeBgoXQWRQYXVzZVRvdGFsUmVzcG9uc2VSb3cSFQoIZXZlbnRfaWQYASABKARIAIgBARIYCgtxdWVzdGlvbl9pZBgCIAEoCUgBiAEBEhUKCHBsYXRmb3JtGAMgASgJSAKIAQESIwobdG90YWxfZXh0ZXJuYWxfYWRfcmVxdWVzdGVkGAogASgNEiAKGHRvdGFsX2V4dGVybmFsX2FkX2xvYWRlZBgLIAEoDRIiChp0b3RhbF9leHRlcm5hbF9hZF9yZW5kZXJlZBgMIAEoDRIgChh0b3RhbF9leHRlcm5hbF9hZF9jbG9zZWQYDSABKA0SHQoVdG90YWxfYWRfaW50ZXJhY3Rpb25zGA4gASgNEiwKJHRvdGFsX2V4dGVybmFsX2FkX2VuZ2FnbWVudF9zZXNzaW9ucxgPIAEoDRIWCg5hZF90b3RhbF9yZWFjaBgUIAEoDRIdChVleHRlcm5hbF9hZF9maWxsX3JhdGUYHiABKAESDgoGYWRfY3RyGB8gASgBEiQKHGV4dGVybmFsX2FkX2ludGVyYWN0aW9uX3JhdGUYICABKAESFAoMYWRfZnJlcXVlbmN5GCEgASgBEhsKE2FkX2ZyZXF1ZW5jeV8xeF9wY3QYIiABKAESGwoTYWRfZnJlcXVlbmN5XzJ4X3BjdBgjIAEoARIeChZhZF9mcmVxdWVuY3lfM3BsdXNfcGN0GCQgASgBEiQKHHBhdXNlX2FkX3RpbWVfdG9faW50ZXJhY3Rpb24YKCABKAESKQohZXh0ZXJuYWxfYWRfZW5nYWdtZW50X3NlY29uZHNfc3VtGCkgASgEEikKIWV4dGVybmFsX2FkX2VuZ2FnbWVudF9zZWNvbmRzX2F2ZxgqIAEoARIwCihhdmVyYWdlX3RpbWVfZXh0ZXJuYWxfYWRfb3ZlcmxheV9zZXNzaW9uGCsgASgBEiwKJHN1bV90aW1lX2V4dGVybmFsX2FkX292ZXJsYXlfc2Vzc2lvbhgsIAEoBEILCglfZXZlbnRfaWRCDgoMX3F1ZXN0aW9uX2lkQgsKCV9wbGF0Zm9ybSLYAQoUQWRQYXVzZVRvdGFsUmVzcG9uc2USRgoEZGF0YRgBIAMoCzI4LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWRQYXVzZVRvdGFsUmVzcG9uc2VSb3cSXAoEbWV0YRgCIAEoCzJOLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uQWRQYXVzZVRvdGFsUmVzcG9uc2UuQWRQYXVzZVRvdGFsUmVzcG9uc2VNZXRhGhoKGEFkUGF1c2VUb3RhbFJlc3BvbnNlTWV0YSpUCgZXcFR5cGUSEQoNV1BfVFlQRV9VTlNFVBAAEg4KCldQX1RZUEVfV1AQARIPCgtXUF9UWVBFX0ZXUBACEhYKEldQX1RZUEVfV1BfQU5EX0ZXUBADKtIBCg9NZXRyaWNCcmVha2Rvd24SGgoWTUVUUklDX0JSRUFLRE9XTl9VTlNFVBAAEhoKFk1FVFJJQ19CUkVBS0RPV05fRVZFTlQQARIdChlNRVRSSUNfQlJFQUtET1dOX1FVRVNUSU9OEAISHQoZTUVUUklDX0JSRUFLRE9XTl9QTEFURk9STRADEiYKIk1FVFJJQ19CUkVBS0RPV05fUExBVEZPUk1fUVVFU1RJT04QBBIhCh1NRVRSSUNfQlJFQUtET1dOX0FEX1VOSVRfVFlQRRAFKlAKCUFnZ1BlcmlvZBIMCghBUF9VTlNFVBAAEgsKB0FQXzFNSU4QARIMCghBUF8xSE9VUhAKEgsKB0FQXzFEQVkQFBINCglBUF8xTU9OVEgQHjK9EgoJRGFzaGJvYXJkEq0BChFEYXNoYm9hcmRPdmVydmlldxI5LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRGFzaGJvYXJkT3ZlcnZpZXdSZXF1ZXN0Gjouc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5EYXNoYm9hcmRPdmVydmlld1Jlc3BvbnNlIiGKph0RZGFzaGJvYXJkT3ZlcnZpZXegph0CqKYdAbCmHQESoQEKDkZlYXR1cmVkR3JvdXBzEjYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5GZWF0dXJlZEdyb3Vwc1JlcXVlc3QaNy5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkZlYXR1cmVkR3JvdXBzUmVzcG9uc2UiHoqmHQ5mZWF0dXJlZEdyb3Vwc6CmHQKoph0BsKYdARK1AQoTV3BNZXRyaWNzQnlUaW1lTGluZRI7LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uV3BNZXRyaWNzQnlUaW1lTGluZVJlcXVlc3QaPC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLldwTWV0cmljc0J5VGltZUxpbmVSZXNwb25zZSIjiqYdE3dwTWV0cmljc0J5VGltZUxpbmWgph0CqKYdAbCmHQESpQEKD1VzZXJzQnlUaW1lTGluZRI3LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uVXNlcnNCeVRpbWVMaW5lUmVxdWVzdBo4LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uVXNlcnNCeVRpbWVMaW5lUmVzcG9uc2UiH4qmHQ91c2Vyc0J5VGltZUxpbmWgph0CqKYdAbCmHQESkAEKClBvbGxzVG90YWwSMi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLlBvbGxzVG90YWxSZXF1ZXN0GjIuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYxLnBvbGxzLlRvdGFsUG9sbHNSZXNwb25zZSIaiqYdCnBvbGxzVG90YWygph0CqKYdAbCmHQESuQEKFFBvbGxzU3RhdHNCeVRpbWVMaW5lEjwuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5Qb2xsc1N0YXRzQnlUaW1lTGluZVJlcXVlc3QaPS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLlBvbGxzU3RhdHNCeVRpbWVMaW5lUmVzcG9uc2UiJIqmHRRwb2xsc1N0YXRzQnlUaW1lTGluZaCmHQKoph0BsKYdARLZAQocRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZRJELnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRGV2aWNlSW50ZXJhY3Rpb25zQnlUaW1lTGluZVJlcXVlc3QaRS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmVSZXNwb25zZSIsiqYdHGRldmljZUludGVyYWN0aW9uc0J5VGltZUxpbmWgph0CqKYdAbCmHQESnQEKDUxpc3RDb3VudHJpZXMSNS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkxpc3RDb3VudHJpZXNSZXF1ZXN0GjYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5MaXN0Q291bnRyaWVzUmVzcG9uc2UiHYqmHQ1saXN0Q291bnRyaWVzoKYdAqimHQGwph0BEpUBCgtMaXN0TWV0cmljcxIzLnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uTGlzdE1ldHJpY3NSZXF1ZXN0GjQuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5MaXN0TWV0cmljc1Jlc3BvbnNlIhuKph0LbGlzdE1ldHJpY3Ogph0CqKYdAbCmHQESnQEKDUV4cG9ydE1ldHJpY3MSNS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkV4cG9ydE1ldHJpY3NSZXF1ZXN0GjYuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRNZXRyaWNzUmVzcG9uc2UiHYqmHQ1leHBvcnRNZXRyaWNzoKYdAqimHQGwph0BEq4BChFFeHBvcnRFeHRlcm5hbEFkcxI5LnN0cmVhbWxheWVyLmFuYWx5dGljcy52Mi5zdHVkaW8uRXhwb3J0RXh0ZXJuYWxBZHNSZXF1ZXN0Gjouc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5FeHBvcnRFeHRlcm5hbEFkc1Jlc3BvbnNlIiKKph0SYWQuZXhwb3J0LmV4dGVybmFsoKYdAqimHQGwph0BEocBCgdBZFRvdGFsEjAuc3RyZWFtbGF5ZXIuYW5hbHl0aWNzLnYyLnN0dWRpby5BZFRvdGFsc1JlcXVlc3QaMS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkVG90YWxzUmVzcG9uc2UiF4qmHQdhZFRvdGFsoKYdAqimHQGwph0BEo0BCglBZERldGFpbHMSMS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkRGV0YWlsc1JlcXVlc3QaMi5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkRGV0YWlsc1Jlc3BvbnNlIhmKph0JYWREZXRhaWxzoKYdAqimHQGwph0BEpsBCgxBZFBhdXNlVG90YWwSNC5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkUGF1c2VUb3RhbFJlcXVlc3QaNS5zdHJlYW1sYXllci5hbmFseXRpY3MudjIuc3R1ZGlvLkFkUGF1c2VUb3RhbFJlc3BvbnNlIh6Kph0OYWQucGF1c2UudG90YWygph0CqKYdAbCmHQEaEIq1GAxhbmFseXRpY3MudjJCogEKI2NvbS5zdHJlYW1sYXllci5hbmFseXRpY3Muc3R1ZGlvLnYyQhZTdHJlYW1MYXllclN0dWRpb1Byb3RvUAFaWGdpdGh1Yi5jb20vc3RyZWFtbGF5ZXIvc2wtcHJvdG9maWxlcy8uYnVpbGQvZ28vc3RyZWFtbGF5ZXIvYW5hbHl0aWNzL3YyL3N0dWRpbztzbF9zdHVkaW+iAgZTTF9BUEliBnByb3RvMw", [file_google_protobuf_timestamp, file_streamlayer_common_streamlayer_common, file_streamlayer_analytics_v1_common_analytics_common, file_streamlayer_analytics_v1_polls_polls]);
16
16
 
17
17
  /**
18
18
  * Describes the message streamlayer.analytics.v2.studio.CardStatistics.
@@ -439,6 +439,41 @@ export const AdDetailsResponseSchema = /*@__PURE__*/
439
439
  export const AdDetailsResponse_AdDetailsResponseMetaSchema = /*@__PURE__*/
440
440
  messageDesc(file_streamlayer_analytics_v2_studio_dashboard, 44, 0);
441
441
 
442
+ /**
443
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalRequestFilter.
444
+ * Use `create(AdPauseTotalRequestFilterSchema)` to create a new message.
445
+ */
446
+ export const AdPauseTotalRequestFilterSchema = /*@__PURE__*/
447
+ messageDesc(file_streamlayer_analytics_v2_studio_dashboard, 45);
448
+
449
+ /**
450
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalRequest.
451
+ * Use `create(AdPauseTotalRequestSchema)` to create a new message.
452
+ */
453
+ export const AdPauseTotalRequestSchema = /*@__PURE__*/
454
+ messageDesc(file_streamlayer_analytics_v2_studio_dashboard, 46);
455
+
456
+ /**
457
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalResponseRow.
458
+ * Use `create(AdPauseTotalResponseRowSchema)` to create a new message.
459
+ */
460
+ export const AdPauseTotalResponseRowSchema = /*@__PURE__*/
461
+ messageDesc(file_streamlayer_analytics_v2_studio_dashboard, 47);
462
+
463
+ /**
464
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalResponse.
465
+ * Use `create(AdPauseTotalResponseSchema)` to create a new message.
466
+ */
467
+ export const AdPauseTotalResponseSchema = /*@__PURE__*/
468
+ messageDesc(file_streamlayer_analytics_v2_studio_dashboard, 48);
469
+
470
+ /**
471
+ * Describes the message streamlayer.analytics.v2.studio.AdPauseTotalResponse.AdPauseTotalResponseMeta.
472
+ * Use `create(AdPauseTotalResponse_AdPauseTotalResponseMetaSchema)` to create a new message.
473
+ */
474
+ export const AdPauseTotalResponse_AdPauseTotalResponseMetaSchema = /*@__PURE__*/
475
+ messageDesc(file_streamlayer_analytics_v2_studio_dashboard, 48, 0);
476
+
442
477
  /**
443
478
  * Describes the enum streamlayer.analytics.v2.studio.WpType.
444
479
  */