react-semaphor 0.1.475 → 0.1.476

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.
Files changed (56) hide show
  1. package/dist/brand-studio/index.cjs +1 -1
  2. package/dist/brand-studio/index.js +1 -1
  3. package/dist/briefings/index.cjs +1 -1
  4. package/dist/briefings/index.js +20 -20
  5. package/dist/chunks/{dashboard-briefing-launcher-B6tm7M3_.cjs → dashboard-briefing-launcher-ZfuxdRN2.cjs} +1 -1
  6. package/dist/chunks/{dashboard-briefing-launcher-BZOpMkdj.js → dashboard-briefing-launcher-eBsB9kr8.js} +5 -5
  7. package/dist/chunks/{dashboard-controls-CHn88-1Q.js → dashboard-controls-BX6p6z8a.js} +5 -5
  8. package/dist/chunks/{dashboard-controls-CyoY0IC_.cjs → dashboard-controls-DwjEc7sO.cjs} +1 -1
  9. package/dist/chunks/dashboard-filter-value-compatibility-BCVF9IHg.js +1026 -0
  10. package/dist/chunks/dashboard-filter-value-compatibility-DLkdeypb.cjs +1 -0
  11. package/dist/chunks/{dashboard-json-Dh3UKm8Y.js → dashboard-json-BfgitBXc.js} +3 -3
  12. package/dist/chunks/{dashboard-json-BOsyKwip.cjs → dashboard-json-CdwYFOsc.cjs} +1 -1
  13. package/dist/chunks/{edit-dashboard-visual-DK--eIEf.cjs → edit-dashboard-visual-Cbougpzc.cjs} +1 -1
  14. package/dist/chunks/{edit-dashboard-visual-BCz0oRoM.js → edit-dashboard-visual-D80DLF7C.js} +6 -6
  15. package/dist/chunks/{editor-action-buttons-D7JDG5pX.cjs → editor-action-buttons-BDRLfaW-.cjs} +1 -1
  16. package/dist/chunks/{editor-action-buttons-Dp-j9gS6.js → editor-action-buttons-DjsEDQok.js} +3 -3
  17. package/dist/chunks/index-CneWIz__.cjs +1404 -0
  18. package/dist/chunks/{index-DodDy3sE.js → index-D9S3j7_z.js} +532 -463
  19. package/dist/chunks/{index-Dw2nLjUn.js → index-Dv5hbC1r.js} +40766 -40484
  20. package/dist/chunks/index-v2MZLyus.cjs +4 -0
  21. package/dist/chunks/{pivot-header-presentation-BBiJU_57.js → pivot-header-presentation-CaERAWpl.js} +1 -1
  22. package/dist/chunks/{pivot-header-presentation-BMyOXlXL.cjs → pivot-header-presentation-CePk1R6g.cjs} +1 -1
  23. package/dist/chunks/{pivot-result-lifecycle-PxmbJWkm.js → pivot-result-lifecycle-B9FTybxN.js} +176 -165
  24. package/dist/chunks/pivot-result-lifecycle-CcGt_29N.cjs +1 -0
  25. package/dist/chunks/{report-preferences-dialog-Di8MmnqB.js → report-preferences-dialog-BXBlvW79.js} +2 -2
  26. package/dist/chunks/{report-preferences-dialog-B9JUV3Gr.cjs → report-preferences-dialog-cSMJYqns.cjs} +1 -1
  27. package/dist/chunks/switch-B1mZx2k9.cjs +138 -0
  28. package/dist/chunks/{switch-D20CIzj6.js → switch-C8NihGV4.js} +3326 -3318
  29. package/dist/dashboard/index.cjs +1 -1
  30. package/dist/dashboard/index.js +1 -1
  31. package/dist/dashboard-authoring/index.cjs +3 -3
  32. package/dist/dashboard-authoring/index.js +298 -287
  33. package/dist/data-app-builder/index.cjs +1 -1
  34. package/dist/data-app-builder/index.js +2 -2
  35. package/dist/format-utils/index.cjs +3 -3
  36. package/dist/format-utils/index.js +61 -60
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.js +6 -6
  39. package/dist/surfboard/index.cjs +1 -1
  40. package/dist/surfboard/index.js +2 -2
  41. package/dist/types/briefings.d.ts +13 -1
  42. package/dist/types/dashboard-assistant.d.ts +2 -0
  43. package/dist/types/dashboard-authoring.d.ts +13 -1
  44. package/dist/types/dashboard.d.ts +19 -1
  45. package/dist/types/format-utils.d.ts +7 -0
  46. package/dist/types/main.d.ts +19 -1
  47. package/dist/types/shared.d.ts +13 -1
  48. package/dist/types/surfboard.d.ts +19 -1
  49. package/dist/types/types.d.ts +19 -1
  50. package/package.json +1 -1
  51. package/dist/chunks/dashboard-filter-value-compatibility-9W8Ckcle.js +0 -846
  52. package/dist/chunks/dashboard-filter-value-compatibility-Co1dn9Bc.cjs +0 -1
  53. package/dist/chunks/index-B4VxBoJg.cjs +0 -4
  54. package/dist/chunks/index-DpbiVs0_.cjs +0 -1404
  55. package/dist/chunks/pivot-result-lifecycle-DJgO2P0H.cjs +0 -1
  56. package/dist/chunks/switch-B4eH4guz.cjs +0 -138
@@ -1,22 +1,22 @@
1
1
  var Je = Object.defineProperty;
2
- var Qe = (e, r, t) => r in e ? Je(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
- var _ = (e, r, t) => Qe(e, typeof r != "symbol" ? r + "" : r, t);
4
- import { F as Xe, D as et, q as tt, E as rt, A as J, u as q, o as nt, M as ot, w as at, R as it, i as Ce, b as ct, m as lt, P as U } from "./pivot-result-lifecycle-PxmbJWkm.js";
2
+ var Xe = (e, r, t) => r in e ? Je(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
+ var _ = (e, r, t) => Xe(e, typeof r != "symbol" ? r + "" : r, t);
4
+ import { G as et, E as tt, q as rt, F as nt, o as ot, M as at, B as Q, u as U, w as it, R as ct, A as lt, i as Te, b as dt, m as st, P as j } from "./pivot-result-lifecycle-B9FTybxN.js";
5
5
  import { DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES as de } from "../value-format-preferences/index.js";
6
- import { F as Te, m as dt, r as ae } from "./validators-D-T-2HOR.js";
6
+ import { F as Ce, m as mt, r as ae } from "./validators-D-T-2HOR.js";
7
7
  import "./analyze-result-contract-C8s8EUL5.js";
8
- import { h as $e, r as ke, a as Ee, v as st, i as mt } from "./saved-temporal-bucket-format-CHsXUPJI.js";
9
- import { r as z, b as ut, d as ft, P as pt } from "./pivot-result-identity-CIZXsI53.js";
10
- import { v as yt, a as ht } from "./temporal-bucket-contract-CZl5D7FZ.js";
11
- import { h as gt, T as vt, k as xe, i as bt } from "./temporal-bucket-CtP7hKLa.js";
12
- import { r as Se, s as It, i as wt } from "./temporal-bucket-authoring-DJ9kK2wD.js";
8
+ import { h as $e, r as ke, a as Ee, v as ut, i as ft } from "./saved-temporal-bucket-format-CHsXUPJI.js";
9
+ import { r as z, b as pt, d as yt, P as ht } from "./pivot-result-identity-CIZXsI53.js";
10
+ import { v as gt, a as vt } from "./temporal-bucket-contract-CZl5D7FZ.js";
11
+ import { h as bt, T as It, k as xe, i as wt } from "./temporal-bucket-CtP7hKLa.js";
12
+ import { r as Se, s as Tt, i as Ct } from "./temporal-bucket-authoring-DJ9kK2wD.js";
13
13
  import { v as _e } from "./raw-temporal-contract-U8J9RlEH.js";
14
- import { r as Ct, a as Tt, b as $t } from "./canonical-result-keys-CEQefvdO.js";
15
- const kt = `import pandas as pd
14
+ import { r as $t, a as kt, b as Et } from "./canonical-result-keys-CEQefvdO.js";
15
+ const xt = `import pandas as pd
16
16
  df = pd.DataFrame(data) # 'data' contains the query result
17
17
  result = df.to_dict('records') # must return 'result' as [dict] type
18
18
  `;
19
- function hn(e) {
19
+ function bn(e) {
20
20
  return {
21
21
  databaseName: (e == null ? void 0 : e.lastSelectedDatabase) || "",
22
22
  schemaName: (e == null ? void 0 : e.lastSelectedSchema) || "",
@@ -25,16 +25,16 @@ function hn(e) {
25
25
  };
26
26
  }
27
27
  function H(e) {
28
- return e === kt ? "" : e;
28
+ return e === xt ? "" : e;
29
29
  }
30
- function Q(e, r = e.config) {
30
+ function J(e, r = e.config) {
31
31
  return Se({
32
32
  hasExecutableConfig: $e(r),
33
33
  sql: e.sql,
34
34
  normalizedPython: H(e.python || "")
35
35
  });
36
36
  }
37
- class Et extends Error {
37
+ class St extends Error {
38
38
  constructor(t) {
39
39
  super(
40
40
  `ambiguous_temporal_grain: Temporal field "${t}" has saved presentation but no valid grouping grain. Reconfigure and resave the field.`
@@ -44,16 +44,16 @@ class Et extends Error {
44
44
  this.name = "AmbiguousGroupedTemporalGrainError", this.fieldId = t;
45
45
  }
46
46
  }
47
- function xt(e) {
47
+ function _t(e) {
48
48
  return Ee(e) || e.semanticTemporalPresentation != null;
49
49
  }
50
- function St(e) {
50
+ function Ft(e) {
51
51
  if (!e.id || !["date", "datetime"].includes(
52
- Te(e.dataType)
52
+ Ce(e.dataType)
53
53
  ))
54
54
  return;
55
- if (dt(e.granularity)) return e;
56
- if (!xt(e)) return;
55
+ if (mt(e.granularity)) return e;
56
+ if (!_t(e)) return;
57
57
  if (!ke({
58
58
  fieldId: e.id,
59
59
  dataType: e.dataType,
@@ -62,7 +62,7 @@ function St(e) {
62
62
  dateFormat: e.dateFormat,
63
63
  customFormat: e.customFormat
64
64
  }).ok)
65
- throw new Et(e.id);
65
+ throw new St(e.id);
66
66
  return { ...e, granularity: "day" };
67
67
  }
68
68
  function se(e) {
@@ -87,45 +87,45 @@ function se(e) {
87
87
  cardType: e.card.type,
88
88
  cardConfig: r,
89
89
  fields: t.flatMap((n) => {
90
- const o = St(n);
90
+ const o = Ft(n);
91
91
  return o ? [o] : [];
92
92
  })
93
93
  };
94
94
  }
95
- function gn(e) {
95
+ function In(e) {
96
96
  return se({
97
97
  ...e,
98
98
  supportsCardType: (r) => r === "table"
99
99
  });
100
100
  }
101
- function vn(e) {
101
+ function wn(e) {
102
102
  return se({
103
103
  ...e,
104
- supportsCardType: wt
104
+ supportsCardType: Ct
105
105
  });
106
106
  }
107
- function _t(e) {
107
+ function Rt(e) {
108
108
  return se({
109
109
  ...e,
110
110
  // Raw detail-table presentation has its own result/adapter contract.
111
111
  // This module remains grouped-only even though the shared producer
112
112
  // registry now recognizes detailTable.
113
- supportsCardType: (r) => r !== "detailTable" && It(r)
113
+ supportsCardType: (r) => r !== "detailTable" && Tt(r)
114
114
  });
115
115
  }
116
116
  const ge = /* @__PURE__ */ new WeakMap();
117
- function Ft(e) {
117
+ function At(e) {
118
118
  const r = ge.get(e);
119
119
  if (r) return r;
120
- const t = Xe(e);
120
+ const t = et(e);
121
121
  return ge.set(e, t), t;
122
122
  }
123
123
  function V(e, r) {
124
124
  const t = e ?? [], n = r ?? [];
125
125
  return t.length === n.length && t.every((o, a) => o === n[a]);
126
126
  }
127
- function Rt(e, r) {
128
- const t = et({
127
+ function Pt(e, r) {
128
+ const t = tt({
129
129
  groupByFields: r.groupByColumns,
130
130
  metricFields: r.metricColumns,
131
131
  pivotByFields: r.pivotByColumns,
@@ -148,7 +148,7 @@ function Rt(e, r) {
148
148
  t.expectedMetricAliases
149
149
  );
150
150
  }
151
- class At extends Error {
151
+ class Bt extends Error {
152
152
  constructor(t) {
153
153
  super(
154
154
  `missing_resolved_temporal_format: Saved presentation is missing temporal field "${t.fieldId}" for card "${t.cardId}". Resave the report or Briefing to capture the current dashboard presentation.`
@@ -174,7 +174,7 @@ class ee extends Error {
174
174
  this.name = "MissingTemporalResultMetadataError", this.cardId = t.cardId, this.fieldId = t.fieldId, this.columnKey = t.columnKey;
175
175
  }
176
176
  }
177
- class O extends Error {
177
+ class K extends Error {
178
178
  constructor(t, n, o) {
179
179
  super(`${t}: ${n}`);
180
180
  _(this, "deliveryBlocking", !0);
@@ -184,13 +184,13 @@ class O extends Error {
184
184
  function Fe(e, r) {
185
185
  return `${r}:${e}`;
186
186
  }
187
- function Bt(e) {
187
+ function Mt(e) {
188
188
  var r, t;
189
189
  return (t = (r = e.presentation) == null ? void 0 : r.byFieldRole) == null ? void 0 : t.get(
190
190
  Fe(e.fieldId, e.role)
191
191
  );
192
192
  }
193
- function Pt(e) {
193
+ function Dt(e) {
194
194
  var t;
195
195
  if ((((t = e.cardConfig.metricColumns) == null ? void 0 : t.length) || 0) > 0 || e.binding.role !== "metric")
196
196
  return !1;
@@ -202,7 +202,7 @@ function Pt(e) {
202
202
  }
203
203
  );
204
204
  }
205
- function bn(e, r) {
205
+ function Tn(e, r) {
206
206
  return !r || r.byColumnKey.size === 0 ? e.map((t) => ({ ...t })) : e.map((t) => {
207
207
  const n = { ...t };
208
208
  return r.byColumnKey.forEach((o, a) => {
@@ -213,7 +213,7 @@ function bn(e, r) {
213
213
  }), n;
214
214
  });
215
215
  }
216
- function In(e) {
216
+ function Cn(e) {
217
217
  var u;
218
218
  if (!e.result || typeof e.result != "object") return !1;
219
219
  const r = e.result;
@@ -225,8 +225,8 @@ function In(e) {
225
225
  const n = Array.isArray(r.records) ? r.records.length : void 0, o = (t.cardConfig.pivotByColumns || []).map((d) => d.id);
226
226
  if (t.cardType === "pivotTable")
227
227
  try {
228
- const d = Ft(r);
229
- if (!Rt(
228
+ const d = At(r);
229
+ if (!Pt(
230
230
  d.pivotResultContract,
231
231
  t.cardConfig
232
232
  ))
@@ -242,7 +242,7 @@ function In(e) {
242
242
  ), b = v.length > 0 && v.every(
243
243
  (w) => {
244
244
  var g;
245
- return ((g = w.pivotIdentity) == null ? void 0 : g.members.length) === 0 && ut({
245
+ return ((g = w.pivotIdentity) == null ? void 0 : g.members.length) === 0 && pt({
246
246
  expectedPivotFieldIds: o,
247
247
  classification: d.pivotResultContract.columnClassifications[w.key]
248
248
  });
@@ -261,7 +261,7 @@ function In(e) {
261
261
  (A) => {
262
262
  var L;
263
263
  return ((L = A.pivotIdentity) == null ? void 0 : L.members.filter(
264
- (Ze) => Ze.fieldId === w.id
264
+ (Qe) => Qe.fieldId === w.id
265
265
  )) ?? [];
266
266
  }
267
267
  );
@@ -272,13 +272,13 @@ function In(e) {
272
272
  }
273
273
  );
274
274
  }
275
- const C = d.columns.find(
275
+ const T = d.columns.find(
276
276
  (S) => S.key === (g.outputKey || g.rawKey)
277
277
  );
278
- return ((E = C == null ? void 0 : C.temporalBucket) == null ? void 0 : E.granularity) === w.granularity;
278
+ return ((E = T == null ? void 0 : T.temporalBucket) == null ? void 0 : E.granularity) === w.granularity;
279
279
  });
280
280
  } catch (d) {
281
- if (d instanceof rt) return !1;
281
+ if (d instanceof nt) return !1;
282
282
  throw d;
283
283
  }
284
284
  if (n === 0)
@@ -313,7 +313,7 @@ function In(e) {
313
313
  "metric"
314
314
  );
315
315
  if (c) {
316
- if (!Pt({
316
+ if (!Dt({
317
317
  cardConfig: t.cardConfig,
318
318
  binding: c,
319
319
  columns: r.columns || []
@@ -329,7 +329,7 @@ function In(e) {
329
329
  ))
330
330
  return !1;
331
331
  try {
332
- ft(
332
+ yt(
333
333
  (r.columns || []).map((d) => ({
334
334
  key: d.key,
335
335
  pivotIdentity: d.pivotIdentity
@@ -340,7 +340,7 @@ function In(e) {
340
340
  }
341
341
  );
342
342
  } catch (d) {
343
- if (d instanceof pt) return !1;
343
+ if (d instanceof ht) return !1;
344
344
  throw d;
345
345
  }
346
346
  const f = (r.columns || []).filter((d) => {
@@ -357,15 +357,15 @@ function In(e) {
357
357
  if (!v) return !1;
358
358
  if (v.role === "pivotby") {
359
359
  const g = f.flatMap(
360
- (C) => {
360
+ (T) => {
361
361
  var E;
362
- return ((E = C.pivotIdentity) == null ? void 0 : E.members) ?? [];
362
+ return ((E = T.pivotIdentity) == null ? void 0 : E.members) ?? [];
363
363
  }
364
- ).filter((C) => C.fieldId === d.id);
364
+ ).filter((T) => T.fieldId === d.id);
365
365
  return f.length === 0 ? n === 0 : g.length > 0 && g.every(
366
- (C) => {
366
+ (T) => {
367
367
  var E;
368
- return ((E = C.temporalBucket) == null ? void 0 : E.granularity) === d.granularity;
368
+ return ((E = T.temporalBucket) == null ? void 0 : E.granularity) === d.granularity;
369
369
  }
370
370
  );
371
371
  }
@@ -393,7 +393,7 @@ function Z(e, r) {
393
393
  if (!o.ok) throw new Error(o.error.code);
394
394
  return o.format;
395
395
  }
396
- function Mt(e, r, t = de) {
396
+ function Ot(e, r, t = de) {
397
397
  const n = Z(e, "card"), o = Z(e, "semantic"), a = e.semanticTemporalPresentation;
398
398
  return xe({
399
399
  metadata: r,
@@ -411,7 +411,7 @@ function Mt(e, r, t = de) {
411
411
  }
412
412
  });
413
413
  }
414
- function Dt(e, r = bt, t = "en-US") {
414
+ function Kt(e, r = wt, t = "en-US") {
415
415
  var i;
416
416
  const n = Z(e, "card"), o = ((i = e.semanticTemporalPresentation) == null ? void 0 : i.granularity) === e.granularity ? Z(e, "semantic") : void 0, a = n && n.presentation.mode !== "auto" ? n : o && o.presentation.mode !== "auto" ? o : {
417
417
  presentation: { mode: "auto" }
@@ -426,7 +426,7 @@ function Dt(e, r = bt, t = "en-US") {
426
426
  presentation: a.presentation
427
427
  };
428
428
  }
429
- function wn(e) {
429
+ function $n(e) {
430
430
  const r = e.activation;
431
431
  if (!r)
432
432
  return {
@@ -449,12 +449,12 @@ function wn(e) {
449
449
  ), i.get(c.id) === 1 && o.set(c.id, s);
450
450
  }, m = (c, s, f) => {
451
451
  if (s.granularity !== c.granularity)
452
- throw new O(
452
+ throw new K(
453
453
  "invalid_temporal_bucket_metadata",
454
454
  `Result identity "${f}" declares ${s.granularity} buckets for active ${c.granularity} field "${c.id}".`,
455
455
  { cardId: e.card.id, fieldId: c.id, columnKey: f }
456
456
  );
457
- const u = e.executionSnapshot && e.dashboardId ? tt({
457
+ const u = e.executionSnapshot && e.dashboardId ? rt({
458
458
  snapshot: e.executionSnapshot,
459
459
  scope: {
460
460
  dashboardId: e.dashboardId,
@@ -468,7 +468,7 @@ function wn(e) {
468
468
  }
469
469
  }) : void 0;
470
470
  if (e.executionSnapshot && !u)
471
- throw new At({
471
+ throw new Bt({
472
472
  dashboardId: e.dashboardId,
473
473
  cardId: e.card.id,
474
474
  fieldId: c.id
@@ -485,7 +485,7 @@ function wn(e) {
485
485
  ...u.presentation.mode === "auto" ? {
486
486
  styles: u.presentation.styles
487
487
  } : {}
488
- }) : Mt(
488
+ }) : Ot(
489
489
  c,
490
490
  s,
491
491
  e.valueFormatPreferences ?? de
@@ -501,7 +501,7 @@ function wn(e) {
501
501
  if (!s) {
502
502
  if (e.columns === void 0 && e.columnKeyMap === void 0 && (e.resultRowCount === void 0 || e.resultRowCount === 0))
503
503
  continue;
504
- throw new O(
504
+ throw new K(
505
505
  "missing_temporal_column_binding",
506
506
  `Activated temporal field "${c.id}" has no authoritative result-column binding.`,
507
507
  { cardId: e.card.id, fieldId: c.id, columnKey: c.name }
@@ -532,11 +532,11 @@ function wn(e) {
532
532
  fieldId: c.id,
533
533
  columnKey: w.column.key
534
534
  });
535
- const g = yt(
535
+ const g = gt(
536
536
  w.member.temporalBucket
537
537
  );
538
538
  if (!g.ok || !g.value)
539
- throw new O(
539
+ throw new K(
540
540
  "invalid_temporal_bucket_metadata",
541
541
  g.ok ? `Pivot result column "${w.column.key}" has no validated temporal bucket metadata.` : g.error.message,
542
542
  {
@@ -545,19 +545,19 @@ function wn(e) {
545
545
  columnKey: w.column.key
546
546
  }
547
547
  );
548
- const C = m(
548
+ const T = m(
549
549
  c,
550
550
  g.value,
551
551
  w.column.key
552
552
  );
553
553
  for (const { column: E, member: S } of b)
554
554
  if (!S.temporalBucket || JSON.stringify(S.temporalBucket) !== JSON.stringify(w.member.temporalBucket))
555
- throw new O(
555
+ throw new K(
556
556
  "invalid_temporal_bucket_metadata",
557
557
  `Pivot result column "${E.key}" has contradictory bucket metadata for field "${c.id}".`,
558
558
  { cardId: e.card.id, fieldId: c.id, columnKey: E.key }
559
559
  );
560
- l(c, C);
560
+ l(c, T);
561
561
  continue;
562
562
  }
563
563
  const f = s.outputKey || s.rawKey, u = t.get(f);
@@ -567,11 +567,11 @@ function wn(e) {
567
567
  fieldId: c.id,
568
568
  columnKey: f
569
569
  });
570
- const d = ht(u, {
570
+ const d = vt(u, {
571
571
  metadataRequired: !0
572
572
  });
573
573
  if (!d.ok || !d.value)
574
- throw new O(
574
+ throw new K(
575
575
  "invalid_temporal_bucket_metadata",
576
576
  d.ok ? `Result column "${f}" has no validated temporal bucket metadata.` : d.error.message,
577
577
  { cardId: e.card.id, fieldId: c.id, columnKey: f }
@@ -585,9 +585,9 @@ function wn(e) {
585
585
  }
586
586
  return { byColumnKey: n, byFieldId: o, byFieldRole: a };
587
587
  }
588
- function Cn(e) {
588
+ function kn(e) {
589
589
  var t, n;
590
- const r = e.role ? Bt({
590
+ const r = e.role ? Mt({
591
591
  presentation: e.presentation,
592
592
  fieldId: e.fieldId,
593
593
  role: e.role
@@ -600,7 +600,7 @@ function Cn(e) {
600
600
  function Re(e) {
601
601
  if (e.value === null || e.value === void 0) return "(Blank)";
602
602
  if (typeof e.value != "string")
603
- throw new O(
603
+ throw new K(
604
604
  "invalid_temporal_bucket_value",
605
605
  `Canonical temporal column "${e.presentation.columnKey}" must contain a string or null.`,
606
606
  {
@@ -609,13 +609,13 @@ function Re(e) {
609
609
  }
610
610
  );
611
611
  try {
612
- return gt({
612
+ return bt({
613
613
  value: e.value,
614
614
  metadata: e.presentation.metadata,
615
615
  format: e.presentation.resolved.format
616
616
  });
617
617
  } catch (r) {
618
- throw r instanceof vt ? new O(
618
+ throw r instanceof It ? new K(
619
619
  r.code,
620
620
  r.message,
621
621
  {
@@ -633,16 +633,16 @@ class x extends Error {
633
633
  function Ae() {
634
634
  return { type: "raw_temporal", presentation: { mode: "auto" } };
635
635
  }
636
- function Kt(e) {
636
+ function Nt(e) {
637
637
  if (e.locale || e.relative || e.timezone && e.timezone !== "auto" || e.sourceTimezone && e.sourceTimezone !== "auto" || e.prefix || e.suffix)
638
638
  throw new x(
639
639
  "invalid_raw_temporal_format",
640
640
  "Activated raw temporal presentation contains unsupported locale, relative-time, timezone, prefix, or suffix settings."
641
641
  );
642
642
  }
643
- function Be(e) {
643
+ function Pe(e) {
644
644
  const r = e.format;
645
- if ((r == null ? void 0 : r.type) === "date" && (Kt(r), r.pattern))
645
+ if ((r == null ? void 0 : r.type) === "date" && (Nt(r), r.pattern))
646
646
  return {
647
647
  type: "raw_temporal",
648
648
  presentation: {
@@ -683,12 +683,14 @@ function Be(e) {
683
683
  } : Ae();
684
684
  }
685
685
  function me(e) {
686
+ var i;
686
687
  if (e != null && e.useRelativeTime) return;
687
688
  if (!e) return Ae();
688
- if (e.useCustomFormat && !e.customFormat)
689
+ if (e.useCustomFormat && !((i = e.customFormat) != null && i.trim()))
689
690
  throw new x(
690
691
  "invalid_raw_temporal_format",
691
- "Declared SQL temporal presentation selects a custom pattern but has no customFormat."
692
+ "Declared SQL temporal presentation selects a custom pattern but has no customFormat.",
693
+ { reason: "missing_declared_sql_custom_date_format" }
692
694
  );
693
695
  const r = e.useCustomFormat && e.customFormat ? e.customFormat : e.format, t = e.timezone, n = e.sourceTimezone, o = t && t !== "auto" ? { timezone: t } : void 0, a = {
694
696
  sourceTimezone: n && n !== "auto" ? n : "UTC"
@@ -709,19 +711,29 @@ function me(e) {
709
711
  presentation: { mode: "auto" }
710
712
  };
711
713
  }
712
- function Tn(e) {
714
+ function En(e) {
715
+ return e === "instant" ? "yyyy-MM-dd'T'HH:mm:ssXXX" : e === "wall_datetime" ? "yyyy-MM-dd'T'HH:mm:ss" : "yyyy-MM-dd";
716
+ }
717
+ function xn(e) {
718
+ lt({
719
+ dialect: "date_fns",
720
+ pattern: e.pattern,
721
+ valueKind: e.valueKind
722
+ });
723
+ }
724
+ function zt(e) {
713
725
  const r = me(e.settings);
714
726
  if (!r)
715
727
  throw new x(
716
728
  "invalid_raw_temporal_format",
717
729
  "Relative-time SQL presentation does not have an absolute date preview."
718
730
  );
719
- const t = e.valueKind ?? "date", n = {
731
+ const t = e.valueKind ?? (r.presentation.mode === "pattern" ? "instant" : "date"), n = {
720
732
  kind: "raw_temporal",
721
733
  valueKind: t
722
- }, o = e.value ?? (t === "date" ? "2023-05-15" : t === "wall_datetime" ? "2023-05-15T14:30:45" : "2023-05-15T14:30:45Z"), a = J({
734
+ }, o = e.value ?? (t === "date" ? "2023-05-15" : t === "wall_datetime" ? "2023-05-15T14:30:45" : "2023-05-15T14:30:45Z"), a = Q({
723
735
  metadata: n,
724
- format: q({
736
+ format: U({
725
737
  format: r,
726
738
  preferences: e.preferences,
727
739
  calendar: { tz: e.calendarTimezone }
@@ -734,12 +746,64 @@ function Tn(e) {
734
746
  );
735
747
  return a.text;
736
748
  }
737
- function Ot(e) {
749
+ function Sn(e) {
750
+ try {
751
+ return { ok: !0, text: zt(e) };
752
+ } catch (r) {
753
+ return {
754
+ ok: !1,
755
+ message: r instanceof Error ? r.message : "Invalid SQL temporal presentation."
756
+ };
757
+ }
758
+ }
759
+ function Be(e) {
738
760
  var t;
739
761
  const r = e.effectiveCardConfig ?? e.card.config;
740
- return Q(e.card, r) === "freeform" && !!((t = e.card.sql) != null && t.trim()) && !H(e.card.python || "").trim();
762
+ return J(e.card, r) === "freeform" && !!((t = e.card.sql) != null && t.trim()) && !H(e.card.python || "").trim();
763
+ }
764
+ function Lt(e) {
765
+ var r, t;
766
+ return e.type !== "table" && e.type !== "detailTable" || !Be({ card: e }) ? !1 : Object.values(
767
+ ((t = (r = e.preferences) == null ? void 0 : r.tablePrefs) == null ? void 0 : t.columnSettingsMap) || {}
768
+ ).some(
769
+ (n) => {
770
+ var o, a, i;
771
+ return n.type === "date" && ((o = n.dateFormat) == null ? void 0 : o.useRelativeTime) !== !0 && ((a = n.dateFormat) == null ? void 0 : a.useCustomFormat) === !0 && !((i = n.dateFormat.customFormat) != null && i.trim());
772
+ }
773
+ );
741
774
  }
742
- function Nt() {
775
+ function _n(e) {
776
+ var t, n, o;
777
+ if (!Lt(e)) return e;
778
+ const r = ((n = (t = e.preferences) == null ? void 0 : t.tablePrefs) == null ? void 0 : n.columnSettingsMap) || {};
779
+ return {
780
+ ...e,
781
+ preferences: {
782
+ ...e.preferences,
783
+ tablePrefs: {
784
+ ...(o = e.preferences) == null ? void 0 : o.tablePrefs,
785
+ columnSettingsMap: Object.fromEntries(
786
+ Object.entries(r).map(([a, i]) => {
787
+ var l, m, c;
788
+ return [
789
+ a,
790
+ i.type === "date" && ((l = i.dateFormat) == null ? void 0 : l.useRelativeTime) !== !0 && ((m = i.dateFormat) == null ? void 0 : m.useCustomFormat) === !0 && !((c = i.dateFormat.customFormat) != null && c.trim()) ? {
791
+ ...i,
792
+ dateFormat: {
793
+ ...i.dateFormat,
794
+ format: "",
795
+ useCustomFormat: !1,
796
+ customFormat: ""
797
+ }
798
+ } : i
799
+ ];
800
+ })
801
+ )
802
+ }
803
+ }
804
+ };
805
+ }
806
+ function Vt() {
743
807
  return {
744
808
  activatedColumnKeys: /* @__PURE__ */ new Set(),
745
809
  byColumnKey: /* @__PURE__ */ new Map(),
@@ -749,7 +813,7 @@ function Nt() {
749
813
  function ie(e, r) {
750
814
  return e === void 0 ? { kind: "invalid", error: r } : {
751
815
  kind: "invalid",
752
- error: e instanceof x ? e : e instanceof it ? new x(
816
+ error: e instanceof x ? e : e instanceof ct ? new x(
753
817
  e.code,
754
818
  e.message,
755
819
  r.context
@@ -760,7 +824,7 @@ function ie(e, r) {
760
824
  )
761
825
  };
762
826
  }
763
- function zt(e) {
827
+ function jt(e) {
764
828
  var o;
765
829
  if (e.cardType !== "detailTable" || e.resultOwner !== "config")
766
830
  return { kind: "inactive" };
@@ -785,10 +849,10 @@ function zt(e) {
785
849
  ), l = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map();
786
850
  for (const s of a) {
787
851
  const f = Array.from(i).flatMap(
788
- ([C, E]) => {
852
+ ([T, E]) => {
789
853
  const S = z(
790
854
  n,
791
- C,
855
+ T,
792
856
  "detail"
793
857
  );
794
858
  return S && S.role === "detail" && (S.outputKey ?? S.rawKey) === s.key ? [{ field: E, binding: S }] : [];
@@ -809,8 +873,8 @@ function zt(e) {
809
873
  `Raw temporal result column "${h}" has no metadata.`,
810
874
  { fieldId: d.id, columnKey: h }
811
875
  );
812
- const w = q({
813
- format: Be(d),
876
+ const w = U({
877
+ format: Pe(d),
814
878
  preferences: e.preferences,
815
879
  calendar: e.calendar
816
880
  }), g = {
@@ -818,13 +882,13 @@ function zt(e) {
818
882
  columnKey: h,
819
883
  metadata: b,
820
884
  format: w,
821
- formatValue: J({ metadata: b, format: w })
885
+ formatValue: Q({ metadata: b, format: w })
822
886
  };
823
- for (let C = 0; C < r.length; C += 1)
824
- if (!Object.prototype.hasOwnProperty.call(r[C], h) || r[C][h] === void 0)
887
+ for (let T = 0; T < r.length; T += 1)
888
+ if (!Object.prototype.hasOwnProperty.call(r[T], h) || r[T][h] === void 0)
825
889
  throw new x(
826
890
  "missing_raw_temporal_result_contract",
827
- `Raw temporal result row ${C} is missing column "${h}".`,
891
+ `Raw temporal result row ${T} is missing column "${h}".`,
828
892
  { fieldId: d.id, columnKey: h }
829
893
  );
830
894
  l.set(h, g), m.set(d.id, g);
@@ -845,9 +909,9 @@ function zt(e) {
845
909
  );
846
910
  }
847
911
  }
848
- function Lt(e) {
912
+ function qt(e) {
849
913
  var n, o, a;
850
- const r = e.effectiveCardConfig ?? e.card.config, t = Q(
914
+ const r = e.effectiveCardConfig ?? e.card.config, t = J(
851
915
  e.card,
852
916
  r
853
917
  );
@@ -860,7 +924,7 @@ function Lt(e) {
860
924
  "Activated raw temporal detail results require records, columns, and columnKeyMap atomically."
861
925
  )
862
926
  } : e.records !== void 0 && !i ? { kind: "inactive" } : ve(
863
- zt({
927
+ jt({
864
928
  cardType: e.card.type,
865
929
  resultOwner: t,
866
930
  effectiveCardConfig: r,
@@ -876,7 +940,7 @@ function Lt(e) {
876
940
  );
877
941
  }
878
942
  return ve(
879
- Vt({
943
+ Ut({
880
944
  resultOwner: t,
881
945
  sql: e.card.sql,
882
946
  normalizedPython: H(
@@ -891,13 +955,13 @@ function Lt(e) {
891
955
  e
892
956
  );
893
957
  }
894
- function $n(e) {
958
+ function Fn(e) {
895
959
  var n, o, a;
896
- const r = e.effectiveCardConfig ?? e.card.config, t = Q(
960
+ const r = e.effectiveCardConfig ?? e.card.config, t = J(
897
961
  e.card,
898
962
  r
899
963
  );
900
- return e.card.type === "detailTable" && t === "config" ? !!((n = e.columns) != null && n.some((i) => i.rawTemporal)) : Ot(e) ? Object.values(
964
+ return e.card.type === "detailTable" && t === "config" ? !!((n = e.columns) != null && n.some((i) => i.rawTemporal)) : Be(e) ? Object.values(
901
965
  ((a = (o = e.card.preferences) == null ? void 0 : o.tablePrefs) == null ? void 0 : a.columnSettingsMap) || {}
902
966
  ).some(
903
967
  (i) => {
@@ -919,7 +983,7 @@ function ve(e, r) {
919
983
  };
920
984
  const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
921
985
  for (const o of e.presentation.activatedColumnKeys) {
922
- const a = nt({
986
+ const a = ot({
923
987
  snapshot: r.executionSnapshot,
924
988
  scope: {
925
989
  dashboardId: r.dashboardId,
@@ -931,14 +995,14 @@ function ve(e, r) {
931
995
  if (!a)
932
996
  return {
933
997
  kind: "invalid",
934
- error: new ot(o)
998
+ error: new at(o)
935
999
  };
936
1000
  const i = e.presentation.byColumnKey.get(o);
937
1001
  if (!i) continue;
938
1002
  const l = {
939
1003
  ...i,
940
1004
  format: a,
941
- formatValue: J({
1005
+ formatValue: Q({
942
1006
  metadata: i.metadata,
943
1007
  format: a
944
1008
  })
@@ -954,7 +1018,7 @@ function ve(e, r) {
954
1018
  }
955
1019
  };
956
1020
  }
957
- function Vt(e) {
1021
+ function Ut(e) {
958
1022
  var t, n;
959
1023
  if (e.resultOwner !== "freeform" || !((t = e.sql) != null && t.trim()) || (n = e.normalizedPython) != null && n.trim())
960
1024
  return { kind: "inactive" };
@@ -977,7 +1041,7 @@ function Vt(e) {
977
1041
  s.dateFormat
978
1042
  );
979
1043
  if (!f) continue;
980
- const u = at({
1044
+ const u = it({
981
1045
  columnKey: c,
982
1046
  values: e.records.map((b) => {
983
1047
  if (!Object.prototype.hasOwnProperty.call(b, c))
@@ -1016,7 +1080,7 @@ function Vt(e) {
1016
1080
  _e(v, {
1017
1081
  metadataRequired: !0
1018
1082
  }), l[d] = v;
1019
- const h = q({
1083
+ const h = U({
1020
1084
  format: f,
1021
1085
  preferences: e.preferences,
1022
1086
  calendar: e.calendar
@@ -1025,14 +1089,14 @@ function Vt(e) {
1025
1089
  columnKey: c,
1026
1090
  metadata: u.metadata,
1027
1091
  format: h,
1028
- formatValue: J({
1092
+ formatValue: Q({
1029
1093
  metadata: u.metadata,
1030
1094
  format: h
1031
1095
  })
1032
1096
  });
1033
1097
  }
1034
1098
  const m = {
1035
- ...Nt(),
1099
+ ...Vt(),
1036
1100
  activatedColumnKeys: a,
1037
1101
  byColumnKey: o
1038
1102
  };
@@ -1057,7 +1121,7 @@ function Vt(e) {
1057
1121
  );
1058
1122
  }
1059
1123
  }
1060
- function kn(e) {
1124
+ function Rn(e) {
1061
1125
  if (e.value !== null && typeof e.value != "string")
1062
1126
  return {
1063
1127
  value: e.value,
@@ -1074,11 +1138,11 @@ function kn(e) {
1074
1138
  const r = e.presentation.formatValue(e.value);
1075
1139
  return { value: e.value, label: r.text, result: r };
1076
1140
  }
1077
- function En(e) {
1141
+ function An(e) {
1078
1142
  if (!e.result || typeof e.result != "object") return !1;
1079
1143
  const r = e.result;
1080
1144
  if (e.expectedResultOwner !== void 0 && r.resultOwner !== e.expectedResultOwner || !Array.isArray(r.records)) return !1;
1081
- const t = Lt({
1145
+ const t = qt({
1082
1146
  card: e.card,
1083
1147
  effectiveCardConfig: e.effectiveCardConfig,
1084
1148
  records: r.records,
@@ -1092,7 +1156,7 @@ function En(e) {
1092
1156
  function be(e) {
1093
1157
  return !e || typeof e != "object" ? !1 : Array.isArray(e.cards);
1094
1158
  }
1095
- function Ut(e) {
1159
+ function Gt(e) {
1096
1160
  if (!e)
1097
1161
  return null;
1098
1162
  if (typeof e == "string")
@@ -1104,21 +1168,21 @@ function Ut(e) {
1104
1168
  }
1105
1169
  return be(e) ? e : null;
1106
1170
  }
1107
- function Pe(e) {
1171
+ function Me(e) {
1108
1172
  var r;
1109
1173
  return (r = e == null ? void 0 : e.cards) != null && r.length ? e.activeCardId && e.cards.find((t) => t.id === e.activeCardId) || e.cards[0] : null;
1110
1174
  }
1111
- function xn(e) {
1175
+ function Pn(e) {
1112
1176
  var t;
1113
1177
  const r = (e == null ? void 0 : e.frameObject) ?? ((t = e == null ? void 0 : e.visual) == null ? void 0 : t.frameObject);
1114
- return Pe(Ut(r));
1178
+ return Me(Gt(r));
1115
1179
  }
1116
1180
  function ue(e) {
1117
1181
  if (!(e != null && e.expectedType)) return "table";
1118
1182
  const r = Array.isArray(e.expectedType) ? e.expectedType[0] : e.expectedType;
1119
- return qt(r) ? r : "table";
1183
+ return Wt(r) ? r : "table";
1120
1184
  }
1121
- const jt = [
1185
+ const Ht = [
1122
1186
  "bar",
1123
1187
  "horizontalBar",
1124
1188
  "line",
@@ -1150,8 +1214,8 @@ const jt = [
1150
1214
  "treemap",
1151
1215
  "custom"
1152
1216
  ];
1153
- function qt(e) {
1154
- return jt.includes(e);
1217
+ function Wt(e) {
1218
+ return Ht.includes(e);
1155
1219
  }
1156
1220
  function G(e) {
1157
1221
  const r = e.position;
@@ -1165,7 +1229,7 @@ function G(e) {
1165
1229
  }
1166
1230
  return Number.POSITIVE_INFINITY;
1167
1231
  }
1168
- function j(e) {
1232
+ function q(e) {
1169
1233
  if (typeof e == "number")
1170
1234
  return { kind: "number", start: e, end: e };
1171
1235
  if (typeof e == "string") {
@@ -1185,33 +1249,33 @@ function j(e) {
1185
1249
  }
1186
1250
  return null;
1187
1251
  }
1188
- function Me(e) {
1252
+ function De(e) {
1189
1253
  return !e || e.length === 0 ? void 0 : [...e].sort(
1190
1254
  (t, n) => G(t) - G(n)
1191
1255
  )[0];
1192
1256
  }
1193
- function De(e, r) {
1257
+ function Oe(e, r) {
1194
1258
  if (!e || e.length === 0) return;
1195
1259
  const t = [], n = [], o = [];
1196
1260
  e.forEach((s) => {
1197
- const f = j(s.position);
1261
+ const f = q(s.position);
1198
1262
  f && (f.kind === "number" ? t.push(s) : f.kind === "range" ? n.push(s) : f.kind === "dynamic" && o.push(s));
1199
1263
  });
1200
1264
  const a = t.find((s) => {
1201
- const f = j(s.position);
1265
+ const f = q(s.position);
1202
1266
  return (f == null ? void 0 : f.kind) === "number" && f.start === r;
1203
1267
  });
1204
1268
  if (a) return a;
1205
1269
  const l = n.sort(
1206
1270
  (s, f) => G(s) - G(f)
1207
1271
  ).find((s) => {
1208
- const f = j(s.position);
1272
+ const f = q(s.position);
1209
1273
  return (f == null ? void 0 : f.kind) === "range" && r >= f.start && r <= f.end;
1210
1274
  });
1211
1275
  if (l) return l;
1212
1276
  const c = o.map((s) => ({
1213
1277
  slot: s,
1214
- parsed: j(s.position)
1278
+ parsed: q(s.position)
1215
1279
  })).filter((s) => {
1216
1280
  var f;
1217
1281
  return ((f = s.parsed) == null ? void 0 : f.kind) === "dynamic";
@@ -1231,12 +1295,12 @@ function De(e, r) {
1231
1295
  )[0];
1232
1296
  return c == null ? void 0 : c.slot;
1233
1297
  }
1234
- function Gt(e, r) {
1235
- const t = De(e, r);
1298
+ function Yt(e, r) {
1299
+ const t = Oe(e, r);
1236
1300
  if (t)
1237
1301
  return ue(t);
1238
1302
  }
1239
- function Ht(e, r) {
1303
+ function Zt(e, r) {
1240
1304
  var n;
1241
1305
  const t = (n = e == null ? void 0 : e.customCardPreferences) == null ? void 0 : n.slotIndex;
1242
1306
  return typeof t == "number" ? t : r;
@@ -1259,18 +1323,18 @@ function Ie(e, r) {
1259
1323
  }
1260
1324
  return !1;
1261
1325
  }
1262
- function Wt(e) {
1326
+ function Qt(e) {
1263
1327
  const r = [];
1264
1328
  let t = -1;
1265
1329
  e.forEach((n, o) => {
1266
- const a = Ht(n, o);
1330
+ const a = Zt(n, o);
1267
1331
  a > t && (t = a), r[a] = n ?? null;
1268
1332
  });
1269
1333
  for (let n = 0; n <= t; n += 1)
1270
1334
  n in r || (r[n] = null);
1271
1335
  return r;
1272
1336
  }
1273
- function Sn(e) {
1337
+ function Bn(e) {
1274
1338
  return e.map((r, t) => !r.customCardPreferences || r.customCardPreferences.slotIndex === t ? r : {
1275
1339
  ...r,
1276
1340
  customCardPreferences: {
@@ -1279,17 +1343,17 @@ function Sn(e) {
1279
1343
  }
1280
1344
  });
1281
1345
  }
1282
- function _n(e) {
1283
- const r = Me(e);
1346
+ function Mn(e) {
1347
+ const r = De(e);
1284
1348
  if (r)
1285
1349
  return ue(r);
1286
1350
  }
1287
- function Fn(e, r, t) {
1351
+ function Dn(e, r, t) {
1288
1352
  if (!e) return;
1289
- const n = Gt(t, r);
1353
+ const n = Yt(t, r);
1290
1354
  return e.type === "custom" && n ? n : e.type;
1291
1355
  }
1292
- function Rn(e, r, t) {
1356
+ function On(e, r, t) {
1293
1357
  var v;
1294
1358
  const n = {
1295
1359
  dataSource: t.dataSource,
@@ -1308,16 +1372,16 @@ function Rn(e, r, t) {
1308
1372
  pluginChartType: r.chartType,
1309
1373
  minInputs: r.minInputs,
1310
1374
  maxInputs: r.maxInputs
1311
- }, a = r.minInputs || 1, l = e.map((h) => ({ slot: h, parsed: j(h.position) })).filter((h) => h.parsed !== null).reduce((h, b) => {
1375
+ }, a = r.minInputs || 1, l = e.map((h) => ({ slot: h, parsed: q(h.position) })).filter((h) => h.parsed !== null).reduce((h, b) => {
1312
1376
  const w = b.parsed.end;
1313
1377
  return Number.isFinite(w) ? Math.max(h, w) : h;
1314
- }, -1), m = Math.max(a, l + 1), c = Me(e), s = c ? G(c) : 0;
1378
+ }, -1), m = Math.max(a, l + 1), c = De(e), s = c ? G(c) : 0;
1315
1379
  let f = !1;
1316
1380
  const u = [];
1317
1381
  for (let h = 0; h < m; h += 1) {
1318
- const b = De(e, h), w = ue(b), g = !f && h === s, C = h, E = {
1382
+ const b = Oe(e, h), w = ue(b), g = !f && h === s, T = h, E = {
1319
1383
  ...n,
1320
- id: st(),
1384
+ id: ut(),
1321
1385
  title: (g ? c == null ? void 0 : c.label : b == null ? void 0 : b.label) || `Tab ${h + 1}`,
1322
1386
  tabTitle: (g ? c == null ? void 0 : c.label : b == null ? void 0 : b.label) || `Tab ${h + 1}`,
1323
1387
  description: (g ? c == null ? void 0 : c.description : b == null ? void 0 : b.description) || "",
@@ -1329,12 +1393,12 @@ function Rn(e, r, t) {
1329
1393
  ...g && {
1330
1394
  customCardPreferences: {
1331
1395
  ...o,
1332
- slotIndex: C
1396
+ slotIndex: T
1333
1397
  }
1334
1398
  },
1335
1399
  ...!g && {
1336
1400
  customCardPreferences: {
1337
- slotIndex: C
1401
+ slotIndex: T
1338
1402
  }
1339
1403
  }
1340
1404
  };
@@ -1363,7 +1427,7 @@ function Rn(e, r, t) {
1363
1427
  }
1364
1428
  return u;
1365
1429
  }
1366
- function Yt({
1430
+ function Jt({
1367
1431
  frame: e,
1368
1432
  configCard: r,
1369
1433
  isMultiInputVisual: t
@@ -1378,10 +1442,10 @@ function Yt({
1378
1442
  return e.cards.find((m) => m.id === i) || null;
1379
1443
  }) : e.cards;
1380
1444
  }
1381
- function Zt(e, r) {
1445
+ function Xt(e, r) {
1382
1446
  return r && Ie(r, e.cards) ? r : e.cards.find((t) => Ie(t, e.cards)) || null;
1383
1447
  }
1384
- function Jt(e, r) {
1448
+ function er(e, r) {
1385
1449
  var o, a;
1386
1450
  if (!e) return null;
1387
1451
  const t = r == null ? void 0 : r.visualType;
@@ -1391,10 +1455,10 @@ function Jt(e, r) {
1391
1455
  const n = (o = e.customCardPreferences) == null ? void 0 : o.visualType;
1392
1456
  return n || ((a = e.customCardPreferences) != null && a.dataInputCardIds ? "multiple" : null);
1393
1457
  }
1394
- function An(e) {
1458
+ function Kn(e) {
1395
1459
  return e.visualType === "multiple" || e.slots && e.slots.length > 0 || (e.minInputs || 0) > 1 || (e.maxInputs || 0) > 1 || (e.dataInputs || []).length > 1 ? "multiple" : "single";
1396
1460
  }
1397
- function Bn(e) {
1461
+ function Nn(e) {
1398
1462
  return Array.isArray(e) ? { records: e } : e;
1399
1463
  }
1400
1464
  class W extends Error {
@@ -1408,7 +1472,7 @@ class W extends Error {
1408
1472
  this.name = "TemporalSnapshotSelectionError", this.selection = t;
1409
1473
  }
1410
1474
  }
1411
- function Qt(e, r) {
1475
+ function tr(e, r) {
1412
1476
  var o;
1413
1477
  const t = [], n = /* @__PURE__ */ new Map();
1414
1478
  for (const a of r) {
@@ -1424,7 +1488,7 @@ function Qt(e, r) {
1424
1488
  const c = (((o = m.document) == null ? void 0 : o.sections) || []).flatMap(
1425
1489
  (u) => u.type === "table" || u.type === "chart" ? [u.card] : []
1426
1490
  ), s = (m.frames || []).flatMap(
1427
- (u) => Xt(u, a.cardId)
1491
+ (u) => rr(u, a.cardId)
1428
1492
  );
1429
1493
  s.length > 0 && (l = !0);
1430
1494
  const f = [
@@ -1450,29 +1514,29 @@ function Qt(e, r) {
1450
1514
  }
1451
1515
  return t;
1452
1516
  }
1453
- function Xt(e, r) {
1517
+ function rr(e, r) {
1454
1518
  var i;
1455
- const t = r ? (i = e.cards) == null ? void 0 : i.find((l) => l.id === r) : Pe(e);
1519
+ const t = r ? (i = e.cards) == null ? void 0 : i.find((l) => l.id === r) : Me(e);
1456
1520
  if (!t) return [];
1457
- const n = Zt(e, t), o = (e.cards || []).filter(
1521
+ const n = Xt(e, t), o = (e.cards || []).filter(
1458
1522
  (l) => {
1459
1523
  var m;
1460
1524
  return typeof ((m = l.customCardPreferences) == null ? void 0 : m.slotIndex) == "number";
1461
1525
  }
1462
- ).length > 1, a = n != null && (Jt(n) === "multiple" || o);
1463
- return !n || !a ? [t] : Wt(
1464
- Yt({
1526
+ ).length > 1, a = n != null && (er(n) === "multiple" || o);
1527
+ return !n || !a ? [t] : Qt(
1528
+ Jt({
1465
1529
  frame: e,
1466
1530
  configCard: n,
1467
1531
  isMultiInputVisual: !0
1468
1532
  })
1469
1533
  ).filter((l) => l !== null);
1470
1534
  }
1471
- function Pn(e) {
1472
- return Qt(e.dashboard, e.selections).flatMap(
1535
+ function zn(e) {
1536
+ return tr(e.dashboard, e.selections).flatMap(
1473
1537
  ({ card: r, attachmentIndex: t }) => {
1474
1538
  var s, f, u, d;
1475
- const n = ((s = e.resolveCardConfig) == null ? void 0 : s.call(e, r)) ?? r.config, o = _t({
1539
+ const n = ((s = e.resolveCardConfig) == null ? void 0 : s.call(e, r)) ?? r.config, o = Rt({
1476
1540
  card: r,
1477
1541
  cardConfig: n
1478
1542
  }), a = {
@@ -1486,7 +1550,7 @@ function Pn(e) {
1486
1550
  fieldId: v.id,
1487
1551
  role: v.role
1488
1552
  },
1489
- format: Dt(
1553
+ format: Kt(
1490
1554
  v,
1491
1555
  {
1492
1556
  dateStyle: e.valueFormatPreferences.dateStyle,
@@ -1494,7 +1558,7 @@ function Pn(e) {
1494
1558
  },
1495
1559
  e.valueFormatPreferences.locale
1496
1560
  )
1497
- })) : [], l = [], m = Q(r, n), c = H(
1561
+ })) : [], l = [], m = J(r, n), c = H(
1498
1562
  r.python || ""
1499
1563
  );
1500
1564
  if (r.type === "detailTable" && m === "config") {
@@ -1517,17 +1581,17 @@ function Pn(e) {
1517
1581
  }))
1518
1582
  ], b = /* @__PURE__ */ new Map(), w = new Set(
1519
1583
  h.map(
1520
- ({ field: g, role: C }) => Ct(g, C)
1584
+ ({ field: g, role: T }) => $t(g, T)
1521
1585
  )
1522
1586
  );
1523
1587
  for (const { field: g } of h) {
1524
- const C = g.label;
1525
- C && b.set(C, (b.get(C) || 0) + 1);
1588
+ const T = g.label;
1589
+ T && b.set(T, (b.get(T) || 0) + 1);
1526
1590
  }
1527
1591
  for (const g of v) {
1528
- const C = Te(g.dataType);
1529
- if (C !== "date" && C !== "datetime") continue;
1530
- const E = Tt(g), S = g.label, A = $t({
1592
+ const T = Ce(g.dataType);
1593
+ if (T !== "date" && T !== "datetime") continue;
1594
+ const E = kt(g), S = g.label, A = Et({
1531
1595
  label: S,
1532
1596
  labelCount: S && b.get(S) || 0,
1533
1597
  rawKey: E,
@@ -1537,8 +1601,8 @@ function Pn(e) {
1537
1601
  l.push({
1538
1602
  scope: a,
1539
1603
  target: { kind: "column", columnKey: A },
1540
- format: q({
1541
- format: Be(g),
1604
+ format: U({
1605
+ format: Pe(g),
1542
1606
  preferences: e.valueFormatPreferences,
1543
1607
  calendar: e.calendar
1544
1608
  })
@@ -1555,7 +1619,7 @@ function Pn(e) {
1555
1619
  b && l.push({
1556
1620
  scope: a,
1557
1621
  target: { kind: "column", columnKey: v },
1558
- format: q({
1622
+ format: U({
1559
1623
  format: b,
1560
1624
  preferences: e.valueFormatPreferences,
1561
1625
  calendar: e.calendar
@@ -1566,13 +1630,13 @@ function Pn(e) {
1566
1630
  }
1567
1631
  );
1568
1632
  }
1569
- function er(e) {
1633
+ function nr(e) {
1570
1634
  return !!e && typeof e == "object" && !Array.isArray(e);
1571
1635
  }
1572
- function B(e, r, t) {
1573
- return er(e) ? e : (t.push({ field: r, message: "Expected an object." }), {});
1636
+ function P(e, r, t) {
1637
+ return nr(e) ? e : (t.push({ field: r, message: "Expected an object." }), {});
1574
1638
  }
1575
- function P(e, r, t, n) {
1639
+ function B(e, r, t, n) {
1576
1640
  const o = new Set(t);
1577
1641
  Object.keys(e).forEach((a) => {
1578
1642
  o.has(a) || n.push({
@@ -1613,12 +1677,12 @@ function fe(e, r, t) {
1613
1677
  }
1614
1678
  }
1615
1679
  function we(e, r, t) {
1616
- const n = B(e, r, t);
1617
- P(n, r, ["tokens", "components"], t);
1680
+ const n = P(e, r, t);
1681
+ B(n, r, ["tokens", "components"], t);
1618
1682
  const o = {};
1619
1683
  if (n.tokens !== void 0) {
1620
- const a = B(n.tokens, `${r}.tokens`, t);
1621
- P(
1684
+ const a = P(n.tokens, `${r}.tokens`, t);
1685
+ B(
1622
1686
  a,
1623
1687
  `${r}.tokens`,
1624
1688
  ["color", "typography"],
@@ -1626,7 +1690,7 @@ function we(e, r, t) {
1626
1690
  );
1627
1691
  const i = {};
1628
1692
  if (a.color !== void 0) {
1629
- const l = B(
1693
+ const l = P(
1630
1694
  a.color,
1631
1695
  `${r}.tokens.color`,
1632
1696
  t
@@ -1643,7 +1707,7 @@ function we(e, r, t) {
1643
1707
  "warning",
1644
1708
  "info"
1645
1709
  ];
1646
- P(l, `${r}.tokens.color`, m, t);
1710
+ B(l, `${r}.tokens.color`, m, t);
1647
1711
  const c = {};
1648
1712
  m.forEach((s) => {
1649
1713
  const f = D(
@@ -1656,12 +1720,12 @@ function we(e, r, t) {
1656
1720
  }), i.color = c;
1657
1721
  }
1658
1722
  if (a.typography !== void 0) {
1659
- const l = B(
1723
+ const l = P(
1660
1724
  a.typography,
1661
1725
  `${r}.tokens.typography`,
1662
1726
  t
1663
1727
  );
1664
- P(
1728
+ B(
1665
1729
  l,
1666
1730
  `${r}.tokens.typography`,
1667
1731
  ["fontFamily", "monoFontFamily"],
@@ -1688,18 +1752,18 @@ function we(e, r, t) {
1688
1752
  o.tokens = i;
1689
1753
  }
1690
1754
  if (n.components !== void 0) {
1691
- const a = B(
1755
+ const a = P(
1692
1756
  n.components,
1693
1757
  `${r}.components`,
1694
1758
  t
1695
1759
  );
1696
- if (P(a, `${r}.components`, ["chart"], t), a.chart !== void 0) {
1697
- const i = B(
1760
+ if (B(a, `${r}.components`, ["chart"], t), a.chart !== void 0) {
1761
+ const i = P(
1698
1762
  a.chart,
1699
1763
  `${r}.components.chart`,
1700
1764
  t
1701
1765
  );
1702
- P(i, `${r}.components.chart`, ["palette"], t);
1766
+ B(i, `${r}.components.chart`, ["palette"], t);
1703
1767
  let l;
1704
1768
  i.palette !== void 0 && (Array.isArray(i.palette) ? i.palette.length > 20 ? t.push({
1705
1769
  field: `${r}.components.chart.palette`,
@@ -1721,13 +1785,13 @@ function we(e, r, t) {
1721
1785
  }
1722
1786
  return o;
1723
1787
  }
1724
- function tr(e, r) {
1725
- const t = "presentation.appearance", n = B(e, t, r);
1726
- P(n, t, ["version", "schemes"], r);
1788
+ function or(e, r) {
1789
+ const t = "presentation.appearance", n = P(e, t, r);
1790
+ B(n, t, ["version", "schemes"], r);
1727
1791
  const o = {};
1728
1792
  if (n.version !== void 0 && (typeof n.version != "number" || !Number.isFinite(n.version) ? r.push({ field: `${t}.version`, message: "Expected a number." }) : o.version = n.version), n.schemes !== void 0) {
1729
- const a = B(n.schemes, `${t}.schemes`, r);
1730
- P(a, `${t}.schemes`, ["light", "dark"], r), o.schemes = {
1793
+ const a = P(n.schemes, `${t}.schemes`, r);
1794
+ B(a, `${t}.schemes`, ["light", "dark"], r), o.schemes = {
1731
1795
  ...a.light !== void 0 ? {
1732
1796
  light: we(
1733
1797
  a.light,
@@ -1746,9 +1810,9 @@ function tr(e, r) {
1746
1810
  }
1747
1811
  return o;
1748
1812
  }
1749
- function rr(e, r) {
1750
- const t = "presentation.brandOverrides", n = B(e, t, r);
1751
- P(n, t, ["brandName", "logoUrl", "link"], r);
1813
+ function ar(e, r) {
1814
+ const t = "presentation.brandOverrides", n = P(e, t, r);
1815
+ B(n, t, ["brandName", "logoUrl", "link"], r);
1752
1816
  const o = D(
1753
1817
  n.brandName,
1754
1818
  `${t}.brandName`,
@@ -1761,8 +1825,8 @@ function rr(e, r) {
1761
1825
  ...i !== void 0 ? { link: i } : {}
1762
1826
  };
1763
1827
  }
1764
- function nr(e, r) {
1765
- const t = "presentation.fragments", n = B(e, t, r), o = [
1828
+ function ir(e, r) {
1829
+ const t = "presentation.fragments", n = P(e, t, r), o = [
1766
1830
  "preHeaderText",
1767
1831
  "headerBannerHtml",
1768
1832
  "signatureHtml",
@@ -1770,7 +1834,7 @@ function nr(e, r) {
1770
1834
  "disclaimerHtml",
1771
1835
  "unsubscribeUrl"
1772
1836
  ];
1773
- P(n, t, o, r);
1837
+ B(n, t, o, r);
1774
1838
  const a = {};
1775
1839
  return o.forEach((i) => {
1776
1840
  const l = i === "unsubscribeUrl" ? fe(n[i], `${t}.${i}`, r) : D(
@@ -1783,9 +1847,9 @@ function nr(e, r) {
1783
1847
  l !== void 0 && (a[i] = l);
1784
1848
  }), a;
1785
1849
  }
1786
- function or(e) {
1850
+ function cr(e) {
1787
1851
  const r = [], t = {};
1788
- if (e.appearance !== void 0 && (t.appearance = tr(e.appearance, r)), e.brandOverrides !== void 0 && (t.brandOverrides = rr(e.brandOverrides, r)), e.fragments !== void 0 && (t.fragments = nr(e.fragments, r)), e.viewUrl !== void 0) {
1852
+ if (e.appearance !== void 0 && (t.appearance = or(e.appearance, r)), e.brandOverrides !== void 0 && (t.brandOverrides = ar(e.brandOverrides, r)), e.fragments !== void 0 && (t.fragments = ir(e.fragments, r)), e.viewUrl !== void 0) {
1789
1853
  const n = fe(e.viewUrl, "presentation.viewUrl", r);
1790
1854
  n !== void 0 && (t.viewUrl = n);
1791
1855
  }
@@ -1799,15 +1863,15 @@ const Ke = [
1799
1863
  "THU",
1800
1864
  "FRI",
1801
1865
  "SAT"
1802
- ], ar = new Map(
1866
+ ], lr = new Map(
1803
1867
  Ke.map((e, r) => [e, r])
1804
- ), Mn = {
1868
+ ), Ln = {
1805
1869
  cadence: "weekly",
1806
1870
  hour: 9,
1807
1871
  minute: 0,
1808
1872
  weekdays: [1]
1809
1873
  };
1810
- function Dn(e) {
1874
+ function Vn(e) {
1811
1875
  if (typeof e != "string" || e.length === 0 || e !== e.trim() || /^(?:(?:UTC|GMT)[+-]|[+-]\d{2}:\d{2}$)/.test(e))
1812
1876
  return !1;
1813
1877
  try {
@@ -1816,25 +1880,25 @@ function Dn(e) {
1816
1880
  return !1;
1817
1881
  }
1818
1882
  }
1819
- function ir(e) {
1883
+ function dr(e) {
1820
1884
  return Number.isInteger(e.minute) && e.minute >= 0 && e.minute <= 59 && Number.isInteger(e.hour) && e.hour >= 0 && e.hour <= 23;
1821
1885
  }
1822
- function Oe(e) {
1886
+ function Ne(e) {
1823
1887
  if (e.length === 0) return null;
1824
1888
  const r = [...e].sort((t, n) => t - n);
1825
1889
  return r.some(
1826
1890
  (t, n) => !Number.isInteger(t) || t < 0 || t > 6 || n > 0 && t === r[n - 1]
1827
1891
  ) ? null : r;
1828
1892
  }
1829
- function Kn(e) {
1830
- if (!ir(e))
1893
+ function jn(e) {
1894
+ if (!dr(e))
1831
1895
  throw new Error("Choose a valid schedule time.");
1832
1896
  const r = `${e.minute} ${e.hour}`;
1833
1897
  switch (e.cadence) {
1834
1898
  case "daily":
1835
1899
  return `${r} * * *`;
1836
1900
  case "weekly": {
1837
- const t = Oe(e.weekdays);
1901
+ const t = Ne(e.weekdays);
1838
1902
  if (!t) throw new Error("Choose at least one weekday.");
1839
1903
  return `${r} * * ${t.map((n) => Ke[n]).join(",")}`;
1840
1904
  }
@@ -1844,7 +1908,7 @@ function Kn(e) {
1844
1908
  return `${r} 1 * *`;
1845
1909
  }
1846
1910
  }
1847
- function cr(e) {
1911
+ function sr(e) {
1848
1912
  if (typeof e != "string" || e.length === 0)
1849
1913
  return { ok: !1, issue: "Choose a supported schedule." };
1850
1914
  if (e !== e.trim() || e.includes(" "))
@@ -1864,10 +1928,10 @@ function cr(e) {
1864
1928
  value: { cadence: "daily", hour: m, minute: l, weekdays: [] }
1865
1929
  };
1866
1930
  if (o === "*" && i !== "*") {
1867
- const s = i.split(",").map((d) => ar.get(d));
1931
+ const s = i.split(",").map((d) => lr.get(d));
1868
1932
  if (s.some((d) => d === void 0))
1869
1933
  return { ok: !1, issue: "Choose a supported schedule." };
1870
- const f = s, u = Oe(f);
1934
+ const f = s, u = Ne(f);
1871
1935
  return !u || u.some((d, v) => d !== f[v]) ? { ok: !1, issue: "Choose a supported schedule." } : {
1872
1936
  ok: !0,
1873
1937
  value: { cadence: "weekly", hour: m, minute: l, weekdays: u }
@@ -1881,14 +1945,14 @@ function cr(e) {
1881
1945
  value: { cadence: "monthly", hour: m, minute: l, weekdays: [] }
1882
1946
  } : { ok: !1, issue: "Choose a supported schedule." };
1883
1947
  }
1884
- function lr(e, r, t) {
1948
+ function mr(e, r, t) {
1885
1949
  return new Intl.DateTimeFormat(t, {
1886
1950
  hour: "numeric",
1887
1951
  minute: "2-digit",
1888
1952
  timeZone: "UTC"
1889
1953
  }).format(new Date(Date.UTC(2020, 0, 1, e, r)));
1890
1954
  }
1891
- function dr(e, r) {
1955
+ function ur(e, r) {
1892
1956
  var t;
1893
1957
  if (e === "UTC") return "UTC";
1894
1958
  try {
@@ -1900,11 +1964,11 @@ function dr(e, r) {
1900
1964
  return null;
1901
1965
  }
1902
1966
  }
1903
- function On(e, r, t = "en-US") {
1904
- const n = cr(e);
1967
+ function qn(e, r, t = "en-US") {
1968
+ const n = sr(e);
1905
1969
  if (!n.ok) return null;
1906
1970
  try {
1907
- const o = lr(n.value.hour, n.value.minute, t), a = dr(r, t);
1971
+ const o = mr(n.value.hour, n.value.minute, t), a = ur(r, t);
1908
1972
  if (!a) return null;
1909
1973
  switch (n.value.cadence) {
1910
1974
  case "daily":
@@ -1927,12 +1991,12 @@ function On(e, r, t = "en-US") {
1927
1991
  return null;
1928
1992
  }
1929
1993
  }
1930
- const sr = /* @__PURE__ */ new Set([
1994
+ const fr = /* @__PURE__ */ new Set([
1931
1995
  "table",
1932
1996
  "aggregateTable",
1933
1997
  "pivotTable",
1934
1998
  "detailTable"
1935
- ]), mr = /* @__PURE__ */ new Set([
1999
+ ]), pr = /* @__PURE__ */ new Set([
1936
2000
  "bar",
1937
2001
  "horizontalBar",
1938
2002
  "line",
@@ -1963,51 +2027,51 @@ const sr = /* @__PURE__ */ new Set([
1963
2027
  "treemap",
1964
2028
  "custom"
1965
2029
  ]);
1966
- function Nn(e) {
2030
+ function Un(e) {
1967
2031
  var n, o, a;
1968
- const r = mr.has(e.type) && (e.type !== "custom" || !!((n = e.customCardPreferences) != null && n.url));
1969
- return e.type === "text" || !r || mt(e) ? { formats: [], defaultFormat: null } : {
1970
- formats: ur({
2032
+ const r = pr.has(e.type) && (e.type !== "custom" || !!((n = e.customCardPreferences) != null && n.url));
2033
+ return e.type === "text" || !r || ft(e) ? { formats: [], defaultFormat: null } : {
2034
+ formats: yr({
1971
2035
  cardType: e.type,
1972
2036
  allowDownload: (o = e.preferences) == null ? void 0 : o.allowDownload
1973
2037
  }),
1974
- defaultFormat: fr({
2038
+ defaultFormat: hr({
1975
2039
  cardType: e.type,
1976
2040
  allowDownload: (a = e.preferences) == null ? void 0 : a.allowDownload
1977
2041
  })
1978
2042
  };
1979
2043
  }
1980
- function ur(e) {
2044
+ function yr(e) {
1981
2045
  return e.allowDownload === !1 ? ["pdf"] : ["pdf", "csv"];
1982
2046
  }
1983
- function fr(e) {
1984
- return sr.has(e.cardType) && e.allowDownload !== !1 ? "csv" : "pdf";
2047
+ function hr(e) {
2048
+ return fr.has(e.cardType) && e.allowDownload !== !1 ? "csv" : "pdf";
1985
2049
  }
1986
- function zn(e) {
2050
+ function Gn(e) {
1987
2051
  return e != null && e.role ? e.type === "tenant" ? e.role === "POWER_USER" : ["AUTHOR", "ADMIN", "SUPER_ADMIN"].includes(e.role) : !1;
1988
2052
  }
1989
- function Ln(e) {
2053
+ function Hn(e) {
1990
2054
  return e.canCreate ? [
1991
2055
  ...e.scheduledReportAvailable ? ["scheduled_report"] : [],
1992
2056
  ...e.analyticalBriefingsEnabled ? ["analytical_briefing"] : []
1993
2057
  ] : [];
1994
2058
  }
1995
- function pr(e) {
2059
+ function gr(e) {
1996
2060
  const r = (e == null ? void 0 : e.channels) ?? [];
1997
2061
  return r.length === 1 && r[0] === "EMAIL";
1998
2062
  }
1999
- function yr(e) {
2000
- return e.body.type === "generated_analysis" ? "Analytical briefing" : e.body.type === "custom_message" && e.attachments.length > 0 && pr(e.deliveryConfig) ? e.scheduleExpr ? "Scheduled report" : "On-demand report" : "Plain briefing";
2063
+ function vr(e) {
2064
+ return e.body.type === "generated_analysis" ? "Analytical briefing" : e.body.type === "custom_message" && e.attachments.length > 0 && gr(e.deliveryConfig) ? e.scheduleExpr ? "Scheduled report" : "On-demand report" : "Plain briefing";
2001
2065
  }
2002
- function Vn(e) {
2003
- const r = yr(e), t = r === "Scheduled report" || r === "On-demand report" ? "report" : "briefing";
2066
+ function Wn(e) {
2067
+ const r = vr(e), t = r === "Scheduled report" || r === "On-demand report" ? "report" : "briefing";
2004
2068
  return {
2005
2069
  typeLabel: r,
2006
2070
  noun: t,
2007
2071
  pluralNoun: t === "report" ? "reports" : "briefings"
2008
2072
  };
2009
2073
  }
2010
- const ce = "BRIEFING", hr = ["markdown", "html"], le = ["markdown"], te = 20, y = {
2074
+ const ce = "BRIEFING", br = ["markdown", "html"], le = ["markdown"], te = 20, y = {
2011
2075
  name: 500,
2012
2076
  description: 2e3,
2013
2077
  instruction: 5e4,
@@ -2036,7 +2100,7 @@ const ce = "BRIEFING", hr = ["markdown", "html"], le = ["markdown"], te = 20, y
2036
2100
  // tiny tiles in narrow client panels; 2-up was the chosen layout).
2037
2101
  maxKpiTiles: 8
2038
2102
  };
2039
- function gr(e) {
2103
+ function Ir(e) {
2040
2104
  if (e === null || typeof e != "object" || Array.isArray(e))
2041
2105
  return !1;
2042
2106
  const r = e;
@@ -2046,17 +2110,17 @@ function gr(e) {
2046
2110
  if (t === null || typeof t != "object" || Array.isArray(t))
2047
2111
  return !1;
2048
2112
  const n = t;
2049
- return (n.kind === "metric" && typeof n.metricId == "string" && !!n.metricId.trim() || n.kind === "column" && typeof n.columnKey == "string" && !!n.columnKey.trim() || n.kind === "matrix_measure" && typeof n.measureId == "string" && !!n.measureId.trim()) && Ce(r.format).ok;
2113
+ return (n.kind === "metric" && typeof n.metricId == "string" && !!n.metricId.trim() || n.kind === "column" && typeof n.columnKey == "string" && !!n.columnKey.trim() || n.kind === "matrix_measure" && typeof n.measureId == "string" && !!n.measureId.trim()) && Te(r.format).ok;
2050
2114
  }
2051
- function vr(e) {
2052
- return e == null ? "" : gr(e) ? ct(e.value, e.format) : String(e);
2115
+ function wr(e) {
2116
+ return e == null ? "" : Ir(e) ? dt(e.value, e.format) : String(e);
2053
2117
  }
2054
- function Un(e) {
2118
+ function Yn(e) {
2055
2119
  return [e.delta, e.percentChange].filter(
2056
2120
  (r) => r != null
2057
- ).map(vr).filter(Boolean).join(" / ");
2121
+ ).map(wr).filter(Boolean).join(" / ");
2058
2122
  }
2059
- const Ne = new Set(hr), br = /* @__PURE__ */ new Set([
2123
+ const ze = new Set(br), Tr = /* @__PURE__ */ new Set([
2060
2124
  "EMAIL",
2061
2125
  "WEBHOOK",
2062
2126
  "SLACK",
@@ -2067,39 +2131,39 @@ const Ne = new Set(hr), br = /* @__PURE__ */ new Set([
2067
2131
  maxPlanningIterations: { min: 1, max: 10 },
2068
2132
  maxRows: { min: 1, max: 1e5 },
2069
2133
  timeoutMs: { min: 1e3, max: 30 * 6e4 }
2070
- }, Ir = /* @__PURE__ */ new Set([
2134
+ }, Cr = /* @__PURE__ */ new Set([
2071
2135
  "letter",
2072
2136
  "legal",
2073
2137
  "a4",
2074
2138
  "a3",
2075
2139
  "tabloid"
2076
- ]), wr = /* @__PURE__ */ new Set([
2140
+ ]), $r = /* @__PURE__ */ new Set([
2077
2141
  "portrait",
2078
2142
  "landscape"
2079
- ]), Cr = /* @__PURE__ */ new Set([",", ";", " "]), Tr = /* @__PURE__ */ new Set([
2143
+ ]), kr = /* @__PURE__ */ new Set([",", ";", " "]), Er = /* @__PURE__ */ new Set([
2080
2144
  "current",
2081
2145
  "all"
2082
- ]), $r = /* @__PURE__ */ new Set([
2146
+ ]), xr = /* @__PURE__ */ new Set([
2083
2147
  "concise",
2084
2148
  "balanced",
2085
2149
  "detailed"
2086
- ]), kr = /* @__PURE__ */ new Set([
2150
+ ]), Sr = /* @__PURE__ */ new Set([
2087
2151
  "info",
2088
2152
  "positive",
2089
2153
  "warning",
2090
2154
  "critical"
2091
- ]), Er = /* @__PURE__ */ new Set([
2155
+ ]), _r = /* @__PURE__ */ new Set([
2092
2156
  "text",
2093
2157
  "number",
2094
2158
  "currency",
2095
2159
  "percent",
2096
2160
  "date",
2097
2161
  "boolean"
2098
- ]), xr = /* @__PURE__ */ new Set([
2162
+ ]), Fr = /* @__PURE__ */ new Set([
2099
2163
  "left",
2100
2164
  "center",
2101
2165
  "right"
2102
- ]), Sr = [
2166
+ ]), Rr = [
2103
2167
  "pageSize",
2104
2168
  "orientation",
2105
2169
  "includeFilters",
@@ -2132,14 +2196,14 @@ class X extends Error {
2132
2196
  this.name = "BriefingContractError", this.issues = t;
2133
2197
  }
2134
2198
  }
2135
- function ze(e) {
2199
+ function Le(e) {
2136
2200
  return typeof e == "object" && e !== null && !Array.isArray(e);
2137
2201
  }
2138
2202
  function p(e, r, t) {
2139
2203
  e.push({ field: r, message: t });
2140
2204
  }
2141
2205
  function k(e, r, t) {
2142
- return ze(e) ? e : (p(t, r, "Expected an object."), {});
2206
+ return Le(e) ? e : (p(t, r, "Expected an object."), {});
2143
2207
  }
2144
2208
  function I(e, r, t, n) {
2145
2209
  const o = new Set(t);
@@ -2151,7 +2215,7 @@ function I(e, r, t, n) {
2151
2215
  );
2152
2216
  });
2153
2217
  }
2154
- function T(e, r, t, n) {
2218
+ function C(e, r, t, n) {
2155
2219
  if (typeof e != "string")
2156
2220
  return p(n, r, "Expected a string."), "";
2157
2221
  const o = e.trim();
@@ -2168,13 +2232,13 @@ function $(e, r, t, n) {
2168
2232
  if (o)
2169
2233
  return o.length > t && p(n, r, `Must be ${t} characters or fewer.`), o;
2170
2234
  }
2171
- function _r(e, r, t, n) {
2235
+ function Ar(e, r, t, n) {
2172
2236
  if (typeof e != "string")
2173
2237
  return p(n, r, "Expected a string."), "";
2174
2238
  const o = e.trim();
2175
2239
  return o.length > t && p(n, r, `Must be ${t} characters or fewer.`), o;
2176
2240
  }
2177
- function Fr(e, r, t) {
2241
+ function Pr(e, r, t) {
2178
2242
  if (e != null) {
2179
2243
  if (!Number.isInteger(e) || Number(e) < 0) {
2180
2244
  p(t, r, "Expected a non-negative integer.");
@@ -2190,7 +2254,7 @@ function R(e, r, t, n = {}) {
2190
2254
  return p(t, r, "Expected an array."), n.required ? [] : void 0;
2191
2255
  const o = [];
2192
2256
  return e.forEach((a, i) => {
2193
- const l = T(
2257
+ const l = C(
2194
2258
  a,
2195
2259
  `${r}.${i}`,
2196
2260
  y.id,
@@ -2202,19 +2266,19 @@ function R(e, r, t, n = {}) {
2202
2266
  function N(e, r, t, n) {
2203
2267
  return e == null ? r : typeof e != "boolean" ? (p(n, t, "Expected a boolean."), r) : e;
2204
2268
  }
2205
- function Rr(e, r) {
2269
+ function Br(e, r) {
2206
2270
  return e == null ? "ACTIVE" : e === "ACTIVE" || e === "PAUSED" || e === "DISABLED" ? e : (p(r, "status", "Expected ACTIVE, PAUSED, or DISABLED."), "ACTIVE");
2207
2271
  }
2208
- function Ar(e) {
2272
+ function Mr(e) {
2209
2273
  return e.includes("@") && e.includes(".") && !e.includes(" ");
2210
2274
  }
2211
- function Le(e, r) {
2275
+ function Ve(e, r) {
2212
2276
  if (e == null)
2213
2277
  return { type: "project" };
2214
2278
  const t = k(e, "source", r), n = t.type;
2215
2279
  return n === "project" ? (I(t, "source", ["type"], r), { type: "project" }) : n === "dashboard" ? (I(t, "source", ["type", "dashboardId"], r), {
2216
2280
  type: "dashboard",
2217
- dashboardId: T(
2281
+ dashboardId: C(
2218
2282
  t.dashboardId,
2219
2283
  "source.dashboardId",
2220
2284
  y.id,
@@ -2222,11 +2286,11 @@ function Le(e, r) {
2222
2286
  )
2223
2287
  }) : (p(r, "source.type", "Expected project or dashboard."), { type: "project" });
2224
2288
  }
2225
- function Ve(e, r) {
2289
+ function je(e, r) {
2226
2290
  const t = k(e, "body", r), n = t.type;
2227
2291
  return n === "generated_analysis" ? (I(t, "body", ["type", "instruction"], r), {
2228
2292
  type: "generated_analysis",
2229
- instruction: T(
2293
+ instruction: C(
2230
2294
  t.instruction,
2231
2295
  "body.instruction",
2232
2296
  y.instruction,
@@ -2234,7 +2298,7 @@ function Ve(e, r) {
2234
2298
  )
2235
2299
  }) : n === "custom_message" ? (I(t, "body", ["type", "message"], r), {
2236
2300
  type: "custom_message",
2237
- message: _r(
2301
+ message: Ar(
2238
2302
  t.message,
2239
2303
  "body.message",
2240
2304
  y.customMessage,
@@ -2246,7 +2310,7 @@ function Ve(e, r) {
2246
2310
  "Expected generated_analysis, custom_message, or none."
2247
2311
  ), { type: "none" });
2248
2312
  }
2249
- function Br(e, r) {
2313
+ function Dr(e, r) {
2250
2314
  if (e == null)
2251
2315
  return [...le];
2252
2316
  if (!Array.isArray(e))
@@ -2259,7 +2323,7 @@ function Br(e, r) {
2259
2323
  ), [];
2260
2324
  const t = [];
2261
2325
  return e.forEach((n, o) => {
2262
- if (typeof n != "string" || !Ne.has(n)) {
2326
+ if (typeof n != "string" || !ze.has(n)) {
2263
2327
  p(
2264
2328
  r,
2265
2329
  `presentation.artifactFormats.${o}`,
@@ -2270,7 +2334,7 @@ function Br(e, r) {
2270
2334
  t.includes(n) || t.push(n);
2271
2335
  }), t;
2272
2336
  }
2273
- function Ue(e, r) {
2337
+ function qe(e, r) {
2274
2338
  if (e == null)
2275
2339
  return {
2276
2340
  artifactFormats: [...le],
@@ -2296,7 +2360,7 @@ function Ue(e, r) {
2296
2360
  r
2297
2361
  );
2298
2362
  const n = {
2299
- artifactFormats: Br(t.artifactFormats, r),
2363
+ artifactFormats: Dr(t.artifactFormats, r),
2300
2364
  includeEvidence: N(
2301
2365
  t.includeEvidence,
2302
2366
  !0,
@@ -2326,16 +2390,16 @@ function Ue(e, r) {
2326
2390
  r
2327
2391
  );
2328
2392
  o && (n.audience = o), a && (n.tone = a), i && (n.format = i);
2329
- const l = or(t);
2393
+ const l = cr(t);
2330
2394
  return l.issues.forEach((m) => p(r, m.field, m.message)), Object.assign(n, l.value), n;
2331
2395
  }
2332
- function Pr(e, r, t) {
2396
+ function Or(e, r, t) {
2333
2397
  return Array.isArray(e) ? (e.length === 0 && p(t, r, "Expected at least one item."), e.length > F.maxListItems && p(
2334
2398
  t,
2335
2399
  r,
2336
2400
  `Must have ${F.maxListItems} items or fewer.`
2337
2401
  ), e.slice(0, F.maxListItems).map(
2338
- (n, o) => T(
2402
+ (n, o) => C(
2339
2403
  n,
2340
2404
  `${r}.${o}`,
2341
2405
  y.contentItem,
@@ -2343,12 +2407,12 @@ function Pr(e, r, t) {
2343
2407
  )
2344
2408
  ).filter(Boolean)) : (p(t, r, "Expected an array."), []);
2345
2409
  }
2346
- function Mr(e, r, t) {
2410
+ function Kr(e, r, t) {
2347
2411
  const n = k(e, r, t);
2348
2412
  if (n.kind === "metric")
2349
2413
  return I(n, r, ["kind", "metricId"], t), {
2350
2414
  kind: "metric",
2351
- metricId: T(
2415
+ metricId: C(
2352
2416
  n.metricId,
2353
2417
  `${r}.metricId`,
2354
2418
  y.id,
@@ -2358,7 +2422,7 @@ function Mr(e, r, t) {
2358
2422
  if (n.kind === "column")
2359
2423
  return I(n, r, ["kind", "columnKey"], t), {
2360
2424
  kind: "column",
2361
- columnKey: T(
2425
+ columnKey: C(
2362
2426
  n.columnKey,
2363
2427
  `${r}.columnKey`,
2364
2428
  y.id,
@@ -2368,7 +2432,7 @@ function Mr(e, r, t) {
2368
2432
  if (n.kind === "matrix_measure")
2369
2433
  return I(n, r, ["kind", "measureId"], t), {
2370
2434
  kind: "matrix_measure",
2371
- measureId: T(
2435
+ measureId: C(
2372
2436
  n.measureId,
2373
2437
  `${r}.measureId`,
2374
2438
  y.id,
@@ -2381,18 +2445,18 @@ function Mr(e, r, t) {
2381
2445
  "Expected metric, column, or matrix_measure."
2382
2446
  );
2383
2447
  }
2384
- function je(e, r, t) {
2448
+ function Ue(e, r, t) {
2385
2449
  if (e === null || typeof e != "object" || Array.isArray(e))
2386
2450
  return;
2387
2451
  const n = k(e, r, t);
2388
2452
  if (!Object.prototype.hasOwnProperty.call(n, "target") && !Object.prototype.hasOwnProperty.call(n, "format"))
2389
2453
  return;
2390
2454
  I(n, r, ["value", "target", "format"], t), (typeof n.value != "number" || !Number.isFinite(n.value)) && p(t, `${r}.value`, "Expected a finite number.");
2391
- const o = Mr(
2455
+ const o = Kr(
2392
2456
  n.target,
2393
2457
  `${r}.target`,
2394
2458
  t
2395
- ), a = Ce(n.format);
2459
+ ), a = Te(n.format);
2396
2460
  if (a.ok || a.issues.forEach(
2397
2461
  (i) => p(
2398
2462
  t,
@@ -2412,7 +2476,7 @@ function M(e, r, t) {
2412
2476
  }
2413
2477
  return e;
2414
2478
  }
2415
- const n = je(e, r, t);
2479
+ const n = Ue(e, r, t);
2416
2480
  if (n) return n;
2417
2481
  p(
2418
2482
  t,
@@ -2420,21 +2484,21 @@ function M(e, r, t) {
2420
2484
  "Expected a string, number, or structured numeric value."
2421
2485
  );
2422
2486
  }
2423
- function Dr(e, r, t) {
2487
+ function Nr(e, r, t) {
2424
2488
  if (e === null || typeof e == "string" || typeof e == "number" || typeof e == "boolean")
2425
2489
  return typeof e == "string" && e.length > y.contentCell ? (p(
2426
2490
  t,
2427
2491
  r,
2428
2492
  `Must be ${y.contentCell} characters or fewer.`
2429
2493
  ), e.slice(0, y.contentCell)) : typeof e == "number" && !Number.isFinite(e) ? (p(t, r, "Expected a finite number."), null) : e;
2430
- const n = je(e, r, t);
2494
+ const n = Ue(e, r, t);
2431
2495
  return n || (p(
2432
2496
  t,
2433
2497
  r,
2434
2498
  "Expected a string, number, boolean, structured numeric value, or null."
2435
2499
  ), null);
2436
2500
  }
2437
- function Kr(e, r, t) {
2501
+ function zr(e, r, t) {
2438
2502
  if (!Array.isArray(e))
2439
2503
  return p(t, r, "Expected an array."), [];
2440
2504
  e.length === 0 && p(t, r, "Expected at least one column."), e.length > F.maxTableColumns && p(
@@ -2446,28 +2510,28 @@ function Kr(e, r, t) {
2446
2510
  return e.slice(0, F.maxTableColumns).map((o, a) => {
2447
2511
  const i = `${r}.${a}`, l = k(o, i, t);
2448
2512
  I(l, i, ["key", "label", "kind", "align"], t);
2449
- const m = T(
2513
+ const m = C(
2450
2514
  l.key,
2451
2515
  `${i}.key`,
2452
2516
  y.id,
2453
2517
  t
2454
2518
  );
2455
2519
  m && (n.has(m) && p(t, `${i}.key`, "Column key must be unique."), n.add(m));
2456
- const c = T(
2520
+ const c = C(
2457
2521
  l.label,
2458
2522
  `${i}.label`,
2459
2523
  y.contentTitle,
2460
2524
  t
2461
- ), s = K(
2525
+ ), s = O(
2462
2526
  l.kind,
2463
2527
  `${i}.kind`,
2464
- Er,
2528
+ _r,
2465
2529
  "text, number, currency, percent, date, or boolean",
2466
2530
  t
2467
- ), f = K(
2531
+ ), f = O(
2468
2532
  l.align,
2469
2533
  `${i}.align`,
2470
- xr,
2534
+ Fr,
2471
2535
  "left, center, or right",
2472
2536
  t
2473
2537
  );
@@ -2479,7 +2543,7 @@ function Kr(e, r, t) {
2479
2543
  };
2480
2544
  });
2481
2545
  }
2482
- function Or(e, r, t, n) {
2546
+ function Lr(e, r, t, n) {
2483
2547
  if (!Array.isArray(e))
2484
2548
  return p(n, r, "Expected an array."), [];
2485
2549
  e.length > F.maxTableRows && p(
@@ -2495,12 +2559,12 @@ function Or(e, r, t, n) {
2495
2559
  }), Object.fromEntries(
2496
2560
  t.map((c) => [
2497
2561
  c.key,
2498
- Dr(m[c.key] ?? null, `${l}.${c.key}`, n)
2562
+ Nr(m[c.key] ?? null, `${l}.${c.key}`, n)
2499
2563
  ])
2500
2564
  );
2501
2565
  });
2502
2566
  }
2503
- function Nr(e, r, t) {
2567
+ function Vr(e, r, t) {
2504
2568
  const n = `content.blocks.${r}`, o = k(e, n, t), a = o.type;
2505
2569
  if (a === "heading") {
2506
2570
  I(o, n, ["type", "text", "level", "evidenceIds"], t);
@@ -2509,7 +2573,7 @@ function Nr(e, r, t) {
2509
2573
  const l = R(o.evidenceIds, `${n}.evidenceIds`, t);
2510
2574
  return {
2511
2575
  type: "heading",
2512
- text: T(
2576
+ text: C(
2513
2577
  o.text,
2514
2578
  `${n}.text`,
2515
2579
  y.contentTitle,
@@ -2524,7 +2588,7 @@ function Nr(e, r, t) {
2524
2588
  const i = R(o.evidenceIds, `${n}.evidenceIds`, t);
2525
2589
  return {
2526
2590
  type: "paragraph",
2527
- text: T(
2591
+ text: C(
2528
2592
  o.text,
2529
2593
  `${n}.text`,
2530
2594
  y.contentText,
@@ -2540,17 +2604,17 @@ function Nr(e, r, t) {
2540
2604
  `${n}.title`,
2541
2605
  y.contentTitle,
2542
2606
  t
2543
- ), l = K(
2607
+ ), l = O(
2544
2608
  o.severity,
2545
2609
  `${n}.severity`,
2546
- kr,
2610
+ Sr,
2547
2611
  "info, positive, warning, or critical",
2548
2612
  t
2549
2613
  );
2550
2614
  return {
2551
2615
  type: "finding",
2552
2616
  ...i ? { title: i } : {},
2553
- text: T(
2617
+ text: C(
2554
2618
  o.text,
2555
2619
  `${n}.text`,
2556
2620
  y.contentText,
@@ -2573,7 +2637,7 @@ function Nr(e, r, t) {
2573
2637
  return {
2574
2638
  type: a,
2575
2639
  ...i ? { title: i } : {},
2576
- items: Pr(o.items, `${n}.items`, t),
2640
+ items: Or(o.items, `${n}.items`, t),
2577
2641
  ...l ? { evidenceIds: l } : {}
2578
2642
  };
2579
2643
  }
@@ -2619,7 +2683,7 @@ function Nr(e, r, t) {
2619
2683
  ), f = R(o.evidenceIds, `${n}.evidenceIds`, t);
2620
2684
  return {
2621
2685
  type: "metric",
2622
- label: T(
2686
+ label: C(
2623
2687
  o.label,
2624
2688
  `${n}.label`,
2625
2689
  y.contentTitle,
@@ -2689,13 +2753,13 @@ function Nr(e, r, t) {
2689
2753
  `${u}.unit`,
2690
2754
  y.contentTitle,
2691
2755
  t
2692
- ), C = R(
2756
+ ), T = R(
2693
2757
  d.evidenceIds,
2694
2758
  `${u}.evidenceIds`,
2695
2759
  t
2696
2760
  );
2697
2761
  return {
2698
- label: T(
2762
+ label: C(
2699
2763
  d.label,
2700
2764
  `${u}.label`,
2701
2765
  y.contentTitle,
@@ -2706,7 +2770,7 @@ function Nr(e, r, t) {
2706
2770
  ...b !== void 0 ? { delta: b } : {},
2707
2771
  ...w !== void 0 ? { percentChange: w } : {},
2708
2772
  ...g ? { unit: g } : {},
2709
- ...C ? { evidenceIds: C } : {}
2773
+ ...T ? { evidenceIds: T } : {}
2710
2774
  };
2711
2775
  }), c = R(
2712
2776
  o.evidenceIds,
@@ -2732,7 +2796,7 @@ function Nr(e, r, t) {
2732
2796
  ), m = R(o.evidenceIds, `${n}.evidenceIds`, t);
2733
2797
  return {
2734
2798
  type: "progress",
2735
- label: T(
2799
+ label: C(
2736
2800
  o.label,
2737
2801
  `${n}.label`,
2738
2802
  y.contentTitle,
@@ -2750,7 +2814,7 @@ function Nr(e, r, t) {
2750
2814
  ["type", "id", "title", "columns", "rows", "caption", "totalRows", "evidenceIds"],
2751
2815
  t
2752
2816
  );
2753
- const i = Kr(o.columns, `${n}.columns`, t), l = $(
2817
+ const i = zr(o.columns, `${n}.columns`, t), l = $(
2754
2818
  o.title,
2755
2819
  `${n}.title`,
2756
2820
  y.contentTitle,
@@ -2765,7 +2829,7 @@ function Nr(e, r, t) {
2765
2829
  `${n}.caption`,
2766
2830
  y.contentItem,
2767
2831
  t
2768
- ), s = Fr(
2832
+ ), s = Pr(
2769
2833
  o.totalRows,
2770
2834
  `${n}.totalRows`,
2771
2835
  t
@@ -2775,7 +2839,7 @@ function Nr(e, r, t) {
2775
2839
  ...m ? { id: m } : {},
2776
2840
  ...l ? { title: l } : {},
2777
2841
  columns: i,
2778
- rows: Or(o.rows, `${n}.rows`, i, t),
2842
+ rows: Lr(o.rows, `${n}.rows`, i, t),
2779
2843
  ...c ? { caption: c } : {},
2780
2844
  ...s !== void 0 ? { totalRows: s } : {},
2781
2845
  ...f ? { evidenceIds: f } : {}
@@ -2804,7 +2868,7 @@ function Nr(e, r, t) {
2804
2868
  `${n}.title`,
2805
2869
  y.contentTitle,
2806
2870
  t
2807
- ), l = T(
2871
+ ), l = C(
2808
2872
  o.sql,
2809
2873
  `${n}.sql`,
2810
2874
  y.contentSql,
@@ -2826,7 +2890,7 @@ function Nr(e, r, t) {
2826
2890
  text: ""
2827
2891
  };
2828
2892
  }
2829
- function zr(e) {
2893
+ function jr(e) {
2830
2894
  const r = [], t = k(e, "content", r);
2831
2895
  I(t, "content", ["version", "title", "summary", "blocks"], r), t.version !== 1 && p(r, "content.version", "Expected version 1.");
2832
2896
  const n = $(
@@ -2847,7 +2911,7 @@ function zr(e) {
2847
2911
  "content.blocks",
2848
2912
  `Must have ${F.maxBlocks} blocks or fewer.`
2849
2913
  );
2850
- const i = a.slice(0, F.maxBlocks).map((l, m) => Nr(l, m, r));
2914
+ const i = a.slice(0, F.maxBlocks).map((l, m) => Vr(l, m, r));
2851
2915
  return pe(r), {
2852
2916
  version: 1,
2853
2917
  ...n ? { title: n } : {},
@@ -2855,11 +2919,11 @@ function zr(e) {
2855
2919
  blocks: i
2856
2920
  };
2857
2921
  }
2858
- function jn(e) {
2922
+ function Zn(e) {
2859
2923
  try {
2860
2924
  return {
2861
2925
  valid: !0,
2862
- value: zr(e),
2926
+ value: jr(e),
2863
2927
  issues: []
2864
2928
  };
2865
2929
  } catch (r) {
@@ -2871,14 +2935,14 @@ function jn(e) {
2871
2935
  function Y(e, r, t, n) {
2872
2936
  return typeof e == "string" && t.includes(e) ? e : (p(n, r, `Expected ${t.join(" or ")}.`), t[0]);
2873
2937
  }
2874
- function K(e, r, t, n, o) {
2938
+ function O(e, r, t, n, o) {
2875
2939
  if (e != null) {
2876
2940
  if (typeof e == "string" && t.has(e))
2877
2941
  return e;
2878
2942
  p(o, r, `Expected ${n}.`);
2879
2943
  }
2880
2944
  }
2881
- function Lr(e, r, t) {
2945
+ function qr(e, r, t) {
2882
2946
  if (e != null) {
2883
2947
  if (!Array.isArray(e)) {
2884
2948
  p(t, r, "Expected an array.");
@@ -2887,42 +2951,42 @@ function Lr(e, r, t) {
2887
2951
  return e;
2888
2952
  }
2889
2953
  }
2890
- function Vr(e, r, t) {
2954
+ function Ur(e, r, t) {
2891
2955
  if (e != null) {
2892
- if (!ze(e)) {
2956
+ if (!Le(e)) {
2893
2957
  p(t, r, "Expected an object.");
2894
2958
  return;
2895
2959
  }
2896
2960
  return e;
2897
2961
  }
2898
2962
  }
2899
- function Ur(e, r, t) {
2963
+ function Gr(e, r, t) {
2900
2964
  if (e == null)
2901
2965
  return;
2902
2966
  const n = k(e, r, t);
2903
- I(n, r, Sr, t);
2904
- const o = {}, a = K(
2967
+ I(n, r, Rr, t);
2968
+ const o = {}, a = O(
2905
2969
  n.pageSize,
2906
2970
  `${r}.pageSize`,
2907
- Ir,
2971
+ Cr,
2908
2972
  "letter, legal, a4, a3, or tabloid",
2909
2973
  t
2910
- ), i = K(
2974
+ ), i = O(
2911
2975
  n.orientation,
2912
2976
  `${r}.orientation`,
2913
- wr,
2977
+ $r,
2914
2978
  "portrait or landscape",
2915
2979
  t
2916
- ), l = K(
2980
+ ), l = O(
2917
2981
  n.delimiter,
2918
2982
  `${r}.delimiter`,
2919
- Cr,
2983
+ kr,
2920
2984
  "comma, semicolon, or tab",
2921
2985
  t
2922
- ), m = K(
2986
+ ), m = O(
2923
2987
  n.sheetSelection,
2924
2988
  `${r}.sheetSelection`,
2925
- Tr,
2989
+ Er,
2926
2990
  "current or all",
2927
2991
  t
2928
2992
  );
@@ -2965,7 +3029,7 @@ function Ur(e, r, t) {
2965
3029
  "cardControlDefinitions",
2966
3030
  "controlBindings"
2967
3031
  ]) {
2968
- const s = Lr(n[c], `${r}.${c}`, t);
3032
+ const s = qr(n[c], `${r}.${c}`, t);
2969
3033
  s && (o[c] = s);
2970
3034
  }
2971
3035
  for (const c of [
@@ -2973,7 +3037,7 @@ function Ur(e, r, t) {
2973
3037
  "tablePreferences",
2974
3038
  "dashboardInputExecutionSnapshot"
2975
3039
  ]) {
2976
- const s = Vr(n[c], `${r}.${c}`, t);
3040
+ const s = Ur(n[c], `${r}.${c}`, t);
2977
3041
  s && (o[c] = s);
2978
3042
  }
2979
3043
  return Object.keys(o).length > 0 ? o : void 0;
@@ -2988,10 +3052,10 @@ function ne(e, r, t, n) {
2988
3052
  return o && (e.title = o), e;
2989
3053
  }
2990
3054
  function oe(e, r, t, n) {
2991
- const o = Ur(r, t, n);
3055
+ const o = Gr(r, t, n);
2992
3056
  return o && (e.settings = o), e;
2993
3057
  }
2994
- function jr(e, r, t) {
3058
+ function Hr(e, r, t) {
2995
3059
  const n = `attachments.${r}`, o = k(e, n, t), a = o.type;
2996
3060
  if (a === "dashboard") {
2997
3061
  I(
@@ -3003,7 +3067,7 @@ function jr(e, r, t) {
3003
3067
  const i = ne(
3004
3068
  {
3005
3069
  type: "dashboard",
3006
- dashboardId: T(
3070
+ dashboardId: C(
3007
3071
  o.dashboardId,
3008
3072
  `${n}.dashboardId`,
3009
3073
  y.id,
@@ -3027,13 +3091,13 @@ function jr(e, r, t) {
3027
3091
  const i = ne(
3028
3092
  {
3029
3093
  type: a,
3030
- dashboardId: T(
3094
+ dashboardId: C(
3031
3095
  o.dashboardId,
3032
3096
  `${n}.dashboardId`,
3033
3097
  y.id,
3034
3098
  t
3035
3099
  ),
3036
- sheetId: T(
3100
+ sheetId: C(
3037
3101
  o.sheetId,
3038
3102
  `${n}.sheetId`,
3039
3103
  y.id,
@@ -3057,13 +3121,13 @@ function jr(e, r, t) {
3057
3121
  const i = ne(
3058
3122
  {
3059
3123
  type: "card",
3060
- dashboardId: T(
3124
+ dashboardId: C(
3061
3125
  o.dashboardId,
3062
3126
  `${n}.dashboardId`,
3063
3127
  y.id,
3064
3128
  t
3065
3129
  ),
3066
- cardId: T(
3130
+ cardId: C(
3067
3131
  o.cardId,
3068
3132
  `${n}.cardId`,
3069
3133
  y.id,
@@ -3088,7 +3152,7 @@ function jr(e, r, t) {
3088
3152
  "Expected dashboard, dashboard_sheet, document_sheet, or card."
3089
3153
  ), { type: "dashboard", dashboardId: "", format: "pdf" };
3090
3154
  }
3091
- function qr(e) {
3155
+ function Wr(e) {
3092
3156
  switch (e.type) {
3093
3157
  case "dashboard":
3094
3158
  return `${e.type}:${e.dashboardId}:${e.format}`;
@@ -3099,7 +3163,7 @@ function qr(e) {
3099
3163
  return `${e.type}:${e.dashboardId}:${e.cardId}:${e.format}`;
3100
3164
  }
3101
3165
  }
3102
- function qe(e, r) {
3166
+ function Ge(e, r) {
3103
3167
  if (e == null)
3104
3168
  return [];
3105
3169
  if (!Array.isArray(e))
@@ -3109,13 +3173,13 @@ function qe(e, r) {
3109
3173
  "attachments",
3110
3174
  `Choose ${te} attachments or fewer.`
3111
3175
  );
3112
- const t = e.slice(0, te).map((o, a) => jr(o, a, r)), n = /* @__PURE__ */ new Set();
3176
+ const t = e.slice(0, te).map((o, a) => Hr(o, a, r)), n = /* @__PURE__ */ new Set();
3113
3177
  return t.forEach((o, a) => {
3114
- const i = qr(o);
3178
+ const i = Wr(o);
3115
3179
  n.has(i) && p(r, `attachments.${a}`, "Duplicate attachment."), n.add(i);
3116
3180
  }), t;
3117
3181
  }
3118
- function Ge(e, r) {
3182
+ function He(e, r) {
3119
3183
  if (e == null)
3120
3184
  return;
3121
3185
  const t = k(e, "limits", r);
@@ -3141,36 +3205,36 @@ function pe(e) {
3141
3205
  if (e.length > 0)
3142
3206
  throw new X(e);
3143
3207
  }
3144
- function He(e, r, t) {
3208
+ function We(e, r, t) {
3145
3209
  !(e.type === "generated_analysis" || e.type === "custom_message" && !!e.message.trim()) && r.length === 0 && p(
3146
3210
  t,
3147
3211
  "body",
3148
3212
  "Add briefing instructions, a custom message, or at least one attachment."
3149
3213
  );
3150
3214
  }
3151
- function Gr(e, r, t) {
3215
+ function Yr(e, r, t) {
3152
3216
  e == null || e.forEach((n, o) => {
3153
3217
  const a = `${t}.${o}.scope`, i = n.scope.attachmentIndex;
3154
3218
  if (i === void 0)
3155
- throw new U(
3219
+ throw new j(
3156
3220
  `${a}.attachmentIndex must identify the attachment that owns this presentation entry.`
3157
3221
  );
3158
3222
  const l = r[i];
3159
3223
  if (!l)
3160
- throw new U(
3224
+ throw new j(
3161
3225
  `${a}.attachmentIndex must identify an existing attachment.`
3162
3226
  );
3163
3227
  if (n.scope.dashboardId !== l.dashboardId)
3164
- throw new U(
3228
+ throw new j(
3165
3229
  `${a}.dashboardId must match the dashboard selected by the referenced attachment.`
3166
3230
  );
3167
3231
  if (l.type === "card" && n.scope.cardId !== l.cardId)
3168
- throw new U(
3232
+ throw new j(
3169
3233
  `${a}.cardId must match the card selected by the referenced attachment.`
3170
3234
  );
3171
3235
  });
3172
3236
  }
3173
- function We(e) {
3237
+ function Ye(e) {
3174
3238
  const r = [], t = k(e, "jobConfig", r);
3175
3239
  I(
3176
3240
  t,
@@ -3188,11 +3252,11 @@ function We(e) {
3188
3252
  ), t.kind !== ce && p(r, "kind", "Expected BRIEFING.");
3189
3253
  let n;
3190
3254
  try {
3191
- n = lt(
3255
+ n = st(
3192
3256
  t.presentationExecutionSnapshot
3193
3257
  );
3194
3258
  } catch (c) {
3195
- if (c instanceof U)
3259
+ if (c instanceof j)
3196
3260
  throw c;
3197
3261
  p(
3198
3262
  r,
@@ -3200,8 +3264,8 @@ function We(e) {
3200
3264
  c instanceof Error ? c.message : "Invalid presentation snapshot."
3201
3265
  );
3202
3266
  }
3203
- const o = Le(t.source, r), a = Ve(t.body, r), i = qe(t.attachments, r), l = Ue(t.presentation, r), m = Ge(t.limits, r);
3204
- return He(a, i, r), Gr(
3267
+ const o = Ve(t.source, r), a = je(t.body, r), i = Ge(t.attachments, r), l = qe(t.presentation, r), m = He(t.limits, r);
3268
+ return We(a, i, r), Yr(
3205
3269
  n == null ? void 0 : n.resolvedFormats,
3206
3270
  i,
3207
3271
  "jobConfig.presentationExecutionSnapshot.resolvedFormats"
@@ -3215,8 +3279,8 @@ function We(e) {
3215
3279
  ...m ? { limits: m } : {}
3216
3280
  };
3217
3281
  }
3218
- function qn(e) {
3219
- return We({
3282
+ function Qn(e) {
3283
+ return Ye({
3220
3284
  ...e,
3221
3285
  kind: ce
3222
3286
  });
@@ -3225,7 +3289,7 @@ function ye(e, r, t, n = "deliveryConfig.recipients") {
3225
3289
  const o = `${n}.${r}`, a = k(e, o, t), i = a.type;
3226
3290
  if (i === "email") {
3227
3291
  I(a, o, ["type", "address", "name"], t);
3228
- const l = T(
3292
+ const l = C(
3229
3293
  a.address,
3230
3294
  `${o}.address`,
3231
3295
  y.id,
@@ -3236,7 +3300,7 @@ function ye(e, r, t, n = "deliveryConfig.recipients") {
3236
3300
  y.attachmentTitle,
3237
3301
  t
3238
3302
  );
3239
- return l && !Ar(l) && p(t, `${o}.address`, "Email address is invalid."), {
3303
+ return l && !Mr(l) && p(t, `${o}.address`, "Email address is invalid."), {
3240
3304
  type: "email",
3241
3305
  address: l,
3242
3306
  ...m ? { name: m } : {}
@@ -3244,7 +3308,7 @@ function ye(e, r, t, n = "deliveryConfig.recipients") {
3244
3308
  }
3245
3309
  return i === "user" ? (I(a, o, ["type", "userId"], t), {
3246
3310
  type: "user",
3247
- userId: T(
3311
+ userId: C(
3248
3312
  a.userId,
3249
3313
  `${o}.userId`,
3250
3314
  y.id,
@@ -3252,7 +3316,7 @@ function ye(e, r, t, n = "deliveryConfig.recipients") {
3252
3316
  )
3253
3317
  }) : i === "tenant_user" ? (I(a, o, ["type", "tenantUserId"], t), {
3254
3318
  type: "tenant_user",
3255
- tenantUserId: T(
3319
+ tenantUserId: C(
3256
3320
  a.tenantUserId,
3257
3321
  `${o}.tenantUserId`,
3258
3322
  y.id,
@@ -3260,7 +3324,7 @@ function ye(e, r, t, n = "deliveryConfig.recipients") {
3260
3324
  )
3261
3325
  }) : i === "group" ? (I(a, o, ["type", "groupId"], t), {
3262
3326
  type: "group",
3263
- groupId: T(
3327
+ groupId: C(
3264
3328
  a.groupId,
3265
3329
  `${o}.groupId`,
3266
3330
  y.id,
@@ -3272,17 +3336,17 @@ function ye(e, r, t, n = "deliveryConfig.recipients") {
3272
3336
  "Expected email, user, tenant_user, or group."
3273
3337
  ), { type: "email", address: "" });
3274
3338
  }
3275
- function Hr(e, r) {
3339
+ function Zr(e, r) {
3276
3340
  return e == null ? [] : Array.isArray(e) ? e.map(
3277
3341
  (t, n) => ye(t, n, r)
3278
3342
  ) : (p(r, "deliveryConfig.recipients", "Expected an array."), []);
3279
3343
  }
3280
- function Wr(e, r) {
3344
+ function Qr(e, r) {
3281
3345
  if (!Array.isArray(e))
3282
3346
  return p(r, "deliveryConfig.channels", "Expected an array."), [];
3283
3347
  const t = [];
3284
3348
  return e.forEach((n, o) => {
3285
- if (!Ye(n)) {
3349
+ if (!Ze(n)) {
3286
3350
  p(
3287
3351
  r,
3288
3352
  `deliveryConfig.channels.${o}`,
@@ -3293,7 +3357,7 @@ function Wr(e, r) {
3293
3357
  t.includes(n) || t.push(n);
3294
3358
  }), t;
3295
3359
  }
3296
- function Yr(e, r, t) {
3360
+ function Jr(e, r, t) {
3297
3361
  if (e == null)
3298
3362
  return;
3299
3363
  const n = k(e, r, t), o = {};
@@ -3305,7 +3369,7 @@ function Yr(e, r, t) {
3305
3369
  o[a] = i.trim();
3306
3370
  }), Object.keys(o).length > 0 ? o : void 0;
3307
3371
  }
3308
- function Zr(e, r, t) {
3372
+ function Xr(e, r, t) {
3309
3373
  if (e == null)
3310
3374
  return;
3311
3375
  const n = k(e, r, t);
@@ -3315,20 +3379,20 @@ function Zr(e, r, t) {
3315
3379
  ["url", "method", "headers", "secretEncrypted"],
3316
3380
  t
3317
3381
  );
3318
- const o = n.method === void 0 || n.method === null ? void 0 : Y(n.method, `${r}.method`, ["POST", "PUT"], t), a = Yr(n.headers, `${r}.headers`, t), i = $(
3382
+ const o = n.method === void 0 || n.method === null ? void 0 : Y(n.method, `${r}.method`, ["POST", "PUT"], t), a = Jr(n.headers, `${r}.headers`, t), i = $(
3319
3383
  n.secretEncrypted,
3320
3384
  `${r}.secretEncrypted`,
3321
3385
  2e3,
3322
3386
  t
3323
3387
  );
3324
3388
  return {
3325
- url: T(n.url, `${r}.url`, 2e3, t),
3389
+ url: C(n.url, `${r}.url`, 2e3, t),
3326
3390
  ...o ? { method: o } : {},
3327
3391
  ...a ? { headers: a } : {},
3328
3392
  ...i ? { secretEncrypted: i } : {}
3329
3393
  };
3330
3394
  }
3331
- function Jr(e, r, t) {
3395
+ function en(e, r, t) {
3332
3396
  const n = k(e, r, t), o = n.type;
3333
3397
  if (o === "channel") {
3334
3398
  I(
@@ -3350,7 +3414,7 @@ function Jr(e, r, t) {
3350
3414
  );
3351
3415
  return {
3352
3416
  type: "channel",
3353
- channelId: T(
3417
+ channelId: C(
3354
3418
  n.channelId,
3355
3419
  `${r}.channelId`,
3356
3420
  y.id,
@@ -3369,7 +3433,7 @@ function Jr(e, r, t) {
3369
3433
  recipient: ye(n.recipient, 0, t, `${r}.recipient`)
3370
3434
  }) : (p(t, `${r}.type`, "Expected channel."), { type: "channel", channelId: "" });
3371
3435
  }
3372
- function Qr(e, r, t) {
3436
+ function tn(e, r, t) {
3373
3437
  if (e == null)
3374
3438
  return;
3375
3439
  if (!Array.isArray(e)) {
@@ -3381,7 +3445,7 @@ function Qr(e, r, t) {
3381
3445
  );
3382
3446
  return n.length > 0 ? n : void 0;
3383
3447
  }
3384
- function Xr(e, r, t) {
3448
+ function rn(e, r, t) {
3385
3449
  if (e == null)
3386
3450
  return;
3387
3451
  const n = k(e, r, t);
@@ -3397,7 +3461,7 @@ function Xr(e, r, t) {
3397
3461
  ],
3398
3462
  t
3399
3463
  );
3400
- const o = Qr(
3464
+ const o = tn(
3401
3465
  n.threadMentions,
3402
3466
  `${r}.threadMentions`,
3403
3467
  t
@@ -3418,7 +3482,7 @@ function Xr(e, r, t) {
3418
3482
  t
3419
3483
  );
3420
3484
  return {
3421
- destination: Jr(
3485
+ destination: en(
3422
3486
  n.destination,
3423
3487
  `${r}.destination`,
3424
3488
  t
@@ -3429,7 +3493,7 @@ function Xr(e, r, t) {
3429
3493
  ...n.includeBriefingLink !== void 0 ? { includeBriefingLink: l } : {}
3430
3494
  };
3431
3495
  }
3432
- function en(e, r, t) {
3496
+ function nn(e, r, t) {
3433
3497
  const n = k(e, r, t);
3434
3498
  I(
3435
3499
  n,
@@ -3445,10 +3509,10 @@ function en(e, r, t) {
3445
3509
  ],
3446
3510
  t
3447
3511
  );
3448
- const o = K(
3512
+ const o = O(
3449
3513
  n.formatProfile,
3450
3514
  `${r}.formatProfile`,
3451
- $r,
3515
+ xr,
3452
3516
  "concise, balanced, or detailed",
3453
3517
  t
3454
3518
  ), a = $(
@@ -3471,11 +3535,11 @@ function en(e, r, t) {
3471
3535
  !0,
3472
3536
  `${r}.actionBlockVisible`,
3473
3537
  t
3474
- ), c = Zr(
3538
+ ), c = Xr(
3475
3539
  n.webhookConfig,
3476
3540
  `${r}.webhookConfig`,
3477
3541
  t
3478
- ), s = Xr(
3542
+ ), s = rn(
3479
3543
  n.slackConfig,
3480
3544
  `${r}.slackConfig`,
3481
3545
  t
@@ -3490,12 +3554,12 @@ function en(e, r, t) {
3490
3554
  ...c ? { webhookConfig: c } : {}
3491
3555
  };
3492
3556
  }
3493
- function tn(e, r) {
3557
+ function on(e, r) {
3494
3558
  if (e == null)
3495
3559
  return;
3496
3560
  const t = k(e, "deliveryConfig.channelConfigs", r), n = {};
3497
3561
  return Object.entries(t).forEach(([o, a]) => {
3498
- if (!Ye(o)) {
3562
+ if (!Ze(o)) {
3499
3563
  p(
3500
3564
  r,
3501
3565
  `deliveryConfig.channelConfigs.${o}`,
@@ -3503,14 +3567,14 @@ function tn(e, r) {
3503
3567
  );
3504
3568
  return;
3505
3569
  }
3506
- n[o] = en(
3570
+ n[o] = nn(
3507
3571
  a,
3508
3572
  `deliveryConfig.channelConfigs.${o}`,
3509
3573
  r
3510
3574
  );
3511
3575
  }), Object.keys(n).length > 0 ? n : void 0;
3512
3576
  }
3513
- function rn(e, r) {
3577
+ function an(e, r) {
3514
3578
  var m, c, s;
3515
3579
  if (e == null)
3516
3580
  return null;
@@ -3521,7 +3585,7 @@ function rn(e, r) {
3521
3585
  ["recipients", "channels", "channelConfigs"],
3522
3586
  r
3523
3587
  );
3524
- const n = tn(t.channelConfigs, r), o = Hr(t.recipients, r), a = Wr(t.channels, r), i = ((c = (m = n == null ? void 0 : n.SLACK) == null ? void 0 : m.slackConfig) == null ? void 0 : c.destination.type) === "channel" && !!n.SLACK.slackConfig.destination.channelId.trim();
3588
+ const n = on(t.channelConfigs, r), o = Zr(t.recipients, r), a = Qr(t.channels, r), i = ((c = (m = n == null ? void 0 : n.SLACK) == null ? void 0 : m.slackConfig) == null ? void 0 : c.destination.type) === "channel" && !!n.SLACK.slackConfig.destination.channelId.trim();
3525
3589
  return a.some(
3526
3590
  (f) => f !== "SLACK"
3527
3591
  ) && o.length === 0 && p(
@@ -3566,7 +3630,7 @@ function he(e) {
3566
3630
  ],
3567
3631
  r
3568
3632
  );
3569
- const n = T(
3633
+ const n = C(
3570
3634
  t.name,
3571
3635
  "name",
3572
3636
  y.name,
@@ -3576,8 +3640,8 @@ function he(e) {
3576
3640
  "description",
3577
3641
  y.description,
3578
3642
  r
3579
- ) ?? null, a = $(t.scheduleExpr, "scheduleExpr", 500, r) ?? null, i = $(t.timezone, "timezone", 200, r) ?? "UTC", l = Rr(t.status, r), m = Le(t.source, r), c = Ve(t.body, r), s = qe(t.attachments, r), f = Ue(t.presentation, r), u = Ge(t.limits, r), d = rn(t.deliveryConfig, r);
3580
- return He(c, s, r), pe(r), {
3643
+ ) ?? null, a = $(t.scheduleExpr, "scheduleExpr", 500, r) ?? null, i = $(t.timezone, "timezone", 200, r) ?? "UTC", l = Br(t.status, r), m = Ve(t.source, r), c = je(t.body, r), s = Ge(t.attachments, r), f = qe(t.presentation, r), u = He(t.limits, r), d = an(t.deliveryConfig, r);
3644
+ return We(c, s, r), pe(r), {
3581
3645
  name: n,
3582
3646
  description: o,
3583
3647
  status: l,
@@ -3591,13 +3655,13 @@ function he(e) {
3591
3655
  deliveryConfig: d
3592
3656
  };
3593
3657
  }
3594
- function Gn(e) {
3658
+ function Jn(e) {
3595
3659
  return he(e);
3596
3660
  }
3597
- function Hn(e) {
3661
+ function Xn(e) {
3598
3662
  return he(e);
3599
3663
  }
3600
- function Wn(e) {
3664
+ function eo(e) {
3601
3665
  try {
3602
3666
  return { valid: !0, value: he(e), issues: [] };
3603
3667
  } catch (r) {
@@ -3606,99 +3670,104 @@ function Wn(e) {
3606
3670
  throw r;
3607
3671
  }
3608
3672
  }
3609
- function Yn(e) {
3673
+ function to(e) {
3610
3674
  try {
3611
- return { valid: !0, value: We(e), issues: [] };
3675
+ return { valid: !0, value: Ye(e), issues: [] };
3612
3676
  } catch (r) {
3613
3677
  if (r instanceof X)
3614
3678
  return { valid: !1, issues: r.issues };
3615
3679
  throw r;
3616
3680
  }
3617
3681
  }
3618
- function Zn(e) {
3619
- return typeof e == "string" && Ne.has(e);
3682
+ function ro(e) {
3683
+ return typeof e == "string" && ze.has(e);
3620
3684
  }
3621
- function Ye(e) {
3622
- return typeof e == "string" && br.has(e);
3685
+ function Ze(e) {
3686
+ return typeof e == "string" && Tr.has(e);
3623
3687
  }
3624
3688
  export {
3625
- Pe as $,
3626
- Pn as A,
3627
- Q as B,
3628
- Bt as C,
3629
- gn as D,
3630
- kn as E,
3631
- O as F,
3632
- Cn as G,
3633
- Et as H,
3634
- Ft as I,
3635
- Rt as J,
3636
- Lt as K,
3637
- zt as L,
3638
- me as M,
3639
- Dt as N,
3640
- $n as O,
3641
- bn as P,
3689
+ Ln as $,
3690
+ _n as A,
3691
+ zn as B,
3692
+ J as C,
3693
+ Mt as D,
3694
+ In as E,
3695
+ Rn as F,
3696
+ K as G,
3697
+ kn as H,
3698
+ St as I,
3699
+ At as J,
3700
+ Pt as K,
3701
+ qt as L,
3702
+ jt as M,
3703
+ me as N,
3704
+ Kt as O,
3705
+ Fn as P,
3642
3706
  Tn as Q,
3643
- Ot as R,
3644
- Nn as S,
3645
- ur as T,
3646
- Dn as U,
3647
- cr as V,
3648
- Kn as W,
3649
- Mn as X,
3650
- pr as Y,
3651
- zn as Z,
3652
- Ut as _,
3653
- Ln as a,
3654
- xn as a0,
3655
- kt as a1,
3656
- ce as a2,
3657
- hr as a3,
3658
- le as a4,
3659
- te as a5,
3660
- y as a6,
3661
- F as a7,
3662
- gr as a8,
3663
- vr as a9,
3664
- Un as aa,
3665
- X as ab,
3666
- zr as ac,
3667
- jn as ad,
3668
- We as ae,
3669
- qn as af,
3670
- he as ag,
3671
- Gn as ah,
3672
- Hn as ai,
3673
- Wn as aj,
3674
- Yn as ak,
3675
- Zn as al,
3676
- Ye as am,
3677
- fr as an,
3678
- yr as ao,
3679
- Yt as b,
3680
- Ht as c,
3681
- On as d,
3682
- Fn as e,
3683
- Zt as f,
3684
- Vn as g,
3685
- An as h,
3707
+ En as R,
3708
+ xn as S,
3709
+ Sn as T,
3710
+ Be as U,
3711
+ x as V,
3712
+ Un as W,
3713
+ yr as X,
3714
+ Vn as Y,
3715
+ sr as Z,
3716
+ jn as _,
3717
+ Hn as a,
3718
+ gr as a0,
3719
+ Gn as a1,
3720
+ Lt as a2,
3721
+ Gt as a3,
3722
+ Me as a4,
3723
+ Pn as a5,
3724
+ xt as a6,
3725
+ ce as a7,
3726
+ br as a8,
3727
+ le as a9,
3728
+ te as aa,
3729
+ y as ab,
3730
+ F as ac,
3731
+ Ir as ad,
3732
+ wr as ae,
3733
+ Yn as af,
3734
+ X as ag,
3735
+ jr as ah,
3736
+ Zn as ai,
3737
+ Ye as aj,
3738
+ Qn as ak,
3739
+ he as al,
3740
+ Jn as am,
3741
+ Xn as an,
3742
+ eo as ao,
3743
+ to as ap,
3744
+ ro as aq,
3745
+ Ze as ar,
3746
+ hr as as,
3747
+ vr as at,
3748
+ Jt as b,
3749
+ Zt as c,
3750
+ qn as d,
3751
+ Dn as e,
3752
+ Xt as f,
3753
+ Wn as g,
3754
+ Kn as h,
3686
3755
  Ie as i,
3687
- Rn as j,
3688
- Wt as k,
3689
- Bn as l,
3690
- De as m,
3756
+ On as j,
3757
+ Qt as k,
3758
+ Nn as l,
3759
+ Oe as m,
3691
3760
  H as n,
3692
- Sn as o,
3761
+ Bn as o,
3693
3762
  ue as p,
3694
- _n as q,
3695
- Jt as r,
3696
- St as s,
3697
- hn as t,
3698
- wn as u,
3699
- _t as v,
3700
- In as w,
3701
- En as x,
3702
- vn as y,
3763
+ Mn as q,
3764
+ er as r,
3765
+ Ft as s,
3766
+ bn as t,
3767
+ $n as u,
3768
+ Rt as v,
3769
+ Cn as w,
3770
+ An as x,
3771
+ wn as y,
3703
3772
  Re as z
3704
3773
  };