@sheetxl/sdk 0.8.0-beta.17 → 0.8.0-beta.18

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 (110) hide show
  1. package/browser/esm/{CAjITJT3eLst9Rhi.mjs → -P0fym6eh9hn9row.mjs} +2 -2
  2. package/browser/esm/{CFywn1iiD35nNNUP.mjs → -nOfWMHdlTb9ShjF.mjs} +9 -9
  3. package/browser/esm/{Byp_bvP9G-tN6hcz.mjs → 0Mw5Ew_7tAiWgc5J.mjs} +14 -14
  4. package/browser/esm/{CHByUyHFA3ESf7DX.mjs → 1ktaHvjuYL6stU4C.mjs} +1 -1
  5. package/browser/esm/{CVV4xqwD8gIjYj1E.mjs → B3ifnlsuky2L9HmB.mjs} +33 -33
  6. package/browser/esm/{WR3-xqcK1gF3ewAR.mjs → B67q5ZrwyKvm3d6W.mjs} +3 -3
  7. package/browser/esm/{DTXsi--x2wgqgwtf.mjs → BQSd_URWugiyNoNj.mjs} +2 -2
  8. package/browser/esm/{C0o6WpBojS7XhV5m.mjs → BWHHWC6H2JgG11Kq.mjs} +2 -2
  9. package/browser/esm/{BlkstmZEklk6Y1QD.mjs → BYbb2weYQCb_7KI3.mjs} +21 -21
  10. package/browser/esm/{DJTEQZiR9IFTuN_4.mjs → B_hrmyuWaH5VIFpV.mjs} +2 -2
  11. package/browser/esm/{O970I8lbI7okqG7N.mjs → Bql31KGUYo0SCMwZ.mjs} +392 -392
  12. package/browser/esm/{YwDdO4YwcIE4OB0D.mjs → BtVpErObXYKJCwHG.mjs} +1 -1
  13. package/browser/esm/{B-Q1-7RgSnA75J32.mjs → By7_c19Kv2YQaDVF.mjs} +475 -475
  14. package/browser/esm/{taTjDyUIIxq2eClH.mjs → C6M_XM08QtHuaInQ.mjs} +3 -3
  15. package/browser/esm/{DDNerAeet8uDYKhf.mjs → CBHwju4PYiv85_jD.mjs} +2 -2
  16. package/browser/esm/{Dx_dZ7jrw5Hxeoot.mjs → CJhYhZtsey3OnWKd.mjs} +1 -1
  17. package/browser/esm/{DnMFW_oKYQxRjP1l.mjs → CQlxAbhdxgfu0ERF.mjs} +1 -1
  18. package/browser/esm/{CLT3qGy_brDIwbYd.mjs → CVXOtvee4oFImGyR.mjs} +504 -504
  19. package/browser/esm/{Dlk1kRgkiBIpUxd9.mjs → CXQLYHAhE5MLKxZ4.mjs} +37 -37
  20. package/browser/esm/{jotvQFBWO2jXAhWx.mjs → CZiJYw94Yt7xslXS.mjs} +1 -1
  21. package/browser/esm/{aYpwVCDSwMUuz147.mjs → ChRUNekYurtOtrP1.mjs} +113 -113
  22. package/browser/esm/{JmmPE8Vsj85wdV8H.mjs → CnobgPLHEsTPTFY5.mjs} +1 -1
  23. package/browser/esm/{DGUOlgm1_WFmf_xO.mjs → CxNnMvwtOf76r7yY.mjs} +1 -1
  24. package/browser/esm/{DW3kFc5t4Wnh5E9S.mjs → CzmmdfrOYDUGx-Yh.mjs} +1 -1
  25. package/browser/esm/{XHhDDWrJiZJgWxPM.mjs → D2P43UD6TGSXErhr.mjs} +2 -2
  26. package/browser/esm/{DrmOaEx6CQ91zBsP.mjs → DH8NuKmZAC9EaqwP.mjs} +18 -18
  27. package/browser/esm/{DUB6Oj_aiV3f8s5_.mjs → DJuiV0Y8olnwuqB-.mjs} +21 -21
  28. package/browser/esm/{DkmqFp_-iUIy_l3D.mjs → DKFaQ2QOyUPCk0sD.mjs} +3 -3
  29. package/browser/esm/{BI6NwRrdLCbPdz6f.mjs → DLR8g1DkooIBl8S1.mjs} +2 -2
  30. package/browser/esm/{DsWDvmky7CgzX_7W.mjs → DNAXbbB8DGE2xeHy.mjs} +2 -2
  31. package/browser/esm/{BY_-BTa5h6HnnZ1W.mjs → DQTUUXcERWI4l0to.mjs} +2 -2
  32. package/browser/esm/{DJrnSjYjFxJvpQiH.mjs → DpFowFtk9AeU-89B.mjs} +1 -1
  33. package/browser/esm/{Dy0TAi9WafVT8eke.mjs → DyRVg5YJn7voOO6z.mjs} +2 -2
  34. package/browser/esm/{qNv1x-Ny9TPbvZzj.mjs → Pn5Jc-47dk16sYQ4.mjs} +1 -1
  35. package/browser/esm/{CWkaF7gYWCkW7vDA.mjs → _WWjW2f-YW-AVqAL.mjs} +1 -1
  36. package/browser/esm/{gQzj95vSMXdKhpWf.mjs → _lh_Rr5SwLthmbmu.mjs} +7797 -5857
  37. package/browser/esm/index.mjs +367 -366
  38. package/browser/esm/{yudASWe8CWXYcGt3.mjs → mecFApGwMvcIzlpd.mjs} +36 -36
  39. package/browser/esm/{mufbL88lyIKJEWyP.mjs → n4LOSiYtWTzqQa4w.mjs} +661 -661
  40. package/{node/esm/Cle-_21jebWv_-D4.mjs → browser/esm/tJB0V8fKbukOYt9U.mjs} +2 -2
  41. package/browser/esm/{BWNQcQyx8wt6huOq.mjs → yRhetuEQfV7moa4B.mjs} +1 -1
  42. package/browser/esm/{BuKA3E-Ev8Dp5W2I.mjs → ybFoQ6IijUJnBeCF.mjs} +1 -1
  43. package/node/esm/{Yo7_havHbr9VL8R4.mjs → 0313aQKBU4DE3v2j.mjs} +1 -1
  44. package/node/esm/{DfrxGbxxowFmm3SF.mjs → 3gjEEXV2aSt7cKeD.mjs} +1 -1
  45. package/node/esm/{NnrDjio_xwTBs05n.mjs → 3smtwEJ0ASF0tKBY.mjs} +2 -2
  46. package/node/esm/{cRz94rkuvDrA8mr9.mjs → 4k3KKByrUw2Wr2TX.mjs} +1 -1
  47. package/node/esm/{jqBKdf9DG54xqpaw.mjs → 90jp-mCVEr43zZTj.mjs} +2 -2
  48. package/node/esm/{OCrS6pBT6lGRu82d.mjs → BAEmzj0gb8Cbgz7p.mjs} +3293 -3293
  49. package/node/esm/{CIxb44vA81H9lRip.mjs → BBC5dL9bXzOrQDGY.mjs} +1 -1
  50. package/node/esm/{7ZwdVIsOdcziHpMD.mjs → BV0cJ_YP_0qzJuPt.mjs} +180 -180
  51. package/node/esm/{DxnBYzOueAKEqaQT.mjs → BcxcYoF_4GFL7Zkl.mjs} +15 -15
  52. package/node/esm/{BwyoLlHutolJw7OW.mjs → BesaVk0x7UyfLDk2.mjs} +1 -1
  53. package/node/esm/{ClJJC8tBpgsqHwdn.mjs → C-LmDC9oNcbENOK1.mjs} +1 -1
  54. package/node/esm/{BSlFO0_8UZ38gfeE.mjs → CDkUQn5AwYGomlsT.mjs} +36 -36
  55. package/node/esm/{CjCqcGyCYGkaMQI9.mjs → CE4I5qfVmUBf7mED.mjs} +1 -1
  56. package/node/esm/{DgsBYF3xbjgx9Mzp.mjs → CO0UDgbkHGwyTfev.mjs} +1 -1
  57. package/node/esm/{DfbVTAhNutxM74E8.mjs → CTWihjVB5uFX7U4j.mjs} +2 -2
  58. package/node/esm/{-q1xF3_2jmk3QHIY.mjs → CUNaLYCntlclipWu.mjs} +497 -497
  59. package/node/esm/{BhosJbKOPgbJSZMY.mjs → CY9JqXFJTt5pGhC3.mjs} +1 -1
  60. package/node/esm/{B6BQYUDRxbRnzca4.mjs → C_Sqy290v4uzyi1E.mjs} +3 -3
  61. package/node/esm/{BoLecFnIxhYKGor-.mjs → Cf-cK3yPe9bjK6o2.mjs} +561 -561
  62. package/node/esm/{Cb1-r2RCxcJZB6fM.mjs → CpvUwhAeDmdEpdR-.mjs} +10018 -8039
  63. package/{browser/esm/DCs7bk-yx0UhCvQ4.mjs → node/esm/Crhg3srH-O5sJERh.mjs} +2 -2
  64. package/node/esm/{M3jahkTgfUxGyeZv.mjs → Cx2U91jhiTDz600y.mjs} +116 -116
  65. package/node/esm/{BQko-9y6mf2oQK7u.mjs → CyWWKan_uk4dHZ6P.mjs} +1 -1
  66. package/node/esm/{Bgy7uWJVGwkN7AlD.mjs → D48MjKzkj37XsVm1.mjs} +2 -2
  67. package/node/esm/{XhDjStxKy-dd3WKa.mjs → D7c0zfLVoG7EEln5.mjs} +43 -43
  68. package/node/esm/{CIlH2fSEpdYBZwUA.mjs → D8J4JmOPwG_Yr2GD.mjs} +1 -1
  69. package/node/esm/{oGGVbqahqfK45-Uz.mjs → D91qb21TrJX98Rw8.mjs} +3 -3
  70. package/node/esm/{btVWSwUwMjM0J5fS.mjs → D9D2NyyKbWXpTj5I.mjs} +2 -2
  71. package/node/esm/{DCSJKgcCQzOV-dMJ.mjs → DBF7pIpitcmhi65H.mjs} +2 -2
  72. package/node/esm/{CDgUHRW6vSASfqNr.mjs → DLPVrV723TSxkXqL.mjs} +1 -1
  73. package/node/esm/{DTkV7IK2_ODMJAP5.mjs → DWsnb-a-9dfRn5jJ.mjs} +24 -24
  74. package/node/esm/{DCaLNIs-_4Y6hJ8S.mjs → Dj1pybJRqeZiP1Z6.mjs} +1 -1
  75. package/node/esm/{BBUVvO9Ma1RzbKux.mjs → DtNJOImWtsXVrQps.mjs} +2 -2
  76. package/node/esm/{zh6vcRzFqdV1aYh5.mjs → DxROQlX1KHLb9tHS.mjs} +1 -1
  77. package/node/esm/{B8MYgBe4XICBSROW.mjs → dp4LxzOEkfTbVX_1.mjs} +21 -21
  78. package/node/esm/{CHS84ZGEoH6aeHsZ.mjs → ee_DgHTffiVTOiU2.mjs} +21 -21
  79. package/node/esm/{fwfAgq8qIADcHmY4.mjs → fMFapG4AGMQKX8c5.mjs} +33 -33
  80. package/node/esm/index.mjs +545 -544
  81. package/node/esm/{nxxwAZZF8NsdErJW.mjs → jmElgIMAkpc2Ab1m.mjs} +1 -1
  82. package/node/esm/{D51xu0rubo34Ppeg.mjs → yVJ2lEYZob1gwiRZ.mjs} +14 -14
  83. package/package.json +6 -6
  84. package/resources/locales/de/model.msg.json +15 -0
  85. package/resources/locales/en/model.msg.json +15 -0
  86. package/types/scripting-api.json +11445 -11299
  87. package/types/scripting-enums.json +22 -1
  88. package/types/scripting.d.ts +623 -0
  89. package/types/src/address/index.d.ts +2 -0
  90. package/types/src/anomalies/_Anomalies.d.ts +34 -0
  91. package/types/src/anomalies/_CompletenessChecks.d.ts +32 -0
  92. package/types/src/cell/ICell.d.ts +36 -1
  93. package/types/src/cellRange/ICellRange.d.ts +106 -0
  94. package/types/src/index.d.ts +1 -0
  95. package/types/src/license/runtime.browser.d.ts +3 -1
  96. package/types/src/sheet/IWorksheet.d.ts +17 -0
  97. package/types/src/sheet/SheetCell.d.ts +3 -0
  98. package/types/src/sheet/SheetRange.d.ts +6 -0
  99. package/types/src/sheet/Worksheet.d.ts +103 -1
  100. package/types/src/sheet/_ListenerAnchor.d.ts +14 -0
  101. package/types/src/sheet/_SheetStateTypes.d.ts +13 -0
  102. package/types/src/sparkline/ISparklineGroup.d.ts +338 -0
  103. package/types/src/sparkline/ISparklineGroupCollection.d.ts +68 -0
  104. package/types/src/sparkline/SparklineGroup.d.ts +271 -0
  105. package/types/src/sparkline/SparklineGroupCollection.d.ts +25 -0
  106. package/types/src/sparkline/SparklineRanges.d.ts +195 -0
  107. package/types/src/sparkline/index.d.ts +4 -0
  108. package/types/src/sparkline/layout/SparklineLayout.d.ts +71 -0
  109. package/types/src/sparkline/layout/_layoutSparkline.d.ts +42 -0
  110. package/types/src/sparkline/layout/index.d.ts +2 -0
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
6
6
  */
7
- import { Gr as e, Kr as t, Pr as n, Rr as r, Ur as i, jr as a, jt as o, ni as s, pi as c, zr as l } from "./gQzj95vSMXdKhpWf.mjs";
7
+ import { Br as e, Fr as t, Kr as n, Mr as r, Wr as i, jt as a, mi as o, qr as s, ri as c, zr as l } from "./_lh_Rr5SwLthmbmu.mjs";
8
8
  var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.value"), f = Symbol("sheetxl.formulaNode.replaced"), p = { canonical: !0 }, m = (e, t) => {
9
9
  let n = e.inputs, r = null;
10
10
  if (n) {
@@ -17,29 +17,29 @@ var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.
17
17
  }
18
18
  let i = ((e, t) => {
19
19
  let n = e.type, r = e.value;
20
- if (n === c.Named) {
21
- let n = r, i = n?.nameId, a = n?.scope ?? null;
22
- return t && (i = t.resolve(o.NamedFormula, i)?.toString() ?? i, a &&= t.resolve(o.Sheet, a)?.toString() ?? a), e.binding?.declaration && e.binding.optional ? {
20
+ if (n === o.Named) {
21
+ let n = r, i = n?.nameId, o = n?.scope ?? null;
22
+ return t && (i = t.resolve(a.NamedFormula, i)?.toString() ?? i, o &&= t.resolve(a.Sheet, o)?.toString() ?? o), e.binding?.declaration && e.binding.optional ? {
23
23
  name: i,
24
- scope: a,
24
+ scope: o,
25
25
  optional: !0
26
26
  } : {
27
27
  name: i,
28
- scope: a
28
+ scope: o
29
29
  };
30
30
  }
31
- if (n === c.TableReference) {
31
+ if (n === o.TableReference) {
32
32
  let e = typeof r == "string" ? r : r?.tableId;
33
- return e ? t ? t.resolve(o.Table, e)?.toString() ?? e : e : "";
33
+ return e ? t ? t.resolve(a.Table, e)?.toString() ?? e : e : "";
34
34
  }
35
35
  if (!t) return r;
36
36
  switch (n) {
37
- case c.Function: return t.resolve(o.Function, r, p)?.toString() ?? r;
38
- case c.TableColumn: return t.resolve(o.TableColumn, r)?.toString() ?? r;
39
- case c.Cell: {
37
+ case o.Function: return t.resolve(a.Function, r, p)?.toString() ?? r;
38
+ case o.TableColumn: return t.resolve(a.TableColumn, r)?.toString() ?? r;
39
+ case o.Cell: {
40
40
  let e = r;
41
41
  if (e?.scope) {
42
- let n = t.resolve(o.Sheet, e.scope)?.toString() ?? e.scope;
42
+ let n = t.resolve(a.Sheet, e.scope)?.toString() ?? e.scope;
43
43
  return {
44
44
  ...e,
45
45
  scope: n
@@ -47,10 +47,10 @@ var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.
47
47
  }
48
48
  return r;
49
49
  }
50
- case c.Error: {
50
+ case o.Error: {
51
51
  let e = r;
52
52
  if (e?.scope) {
53
- let n = t.resolve(o.Sheet, e.scope)?.toString() ?? e.scope;
53
+ let n = t.resolve(a.Sheet, e.scope)?.toString() ?? e.scope;
54
54
  return {
55
55
  ...e,
56
56
  scope: n
@@ -93,14 +93,14 @@ var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.
93
93
  ".:",
94
94
  ":.",
95
95
  " "
96
- ], _ = (a, o) => {
97
- let u = a.type, d = a.value;
96
+ ], _ = (r, a) => {
97
+ let u = r.type, d = r.value;
98
98
  switch (u) {
99
- case c.Function: return r(String(d), o);
100
- case c.Infix: return l(d, o[0], o[1], a.isReference ?? g.includes(d));
101
- case c.Prefix: return t(d, o?.[0], a.isReference ?? d === "@");
102
- case c.Postfix: return e(d, o?.[0], a.isReference ?? d === "#");
103
- case c.Named: {
99
+ case o.Function: return l(String(d), a);
100
+ case o.Infix: return e(d, a[0], a[1], r.isReference ?? g.includes(d));
101
+ case o.Prefix: return s(d, a?.[0], r.isReference ?? d === "@");
102
+ case o.Postfix: return n(d, a?.[0], r.isReference ?? d === "#");
103
+ case o.Named: {
104
104
  let e = i(typeof d == "string" ? d : d?.name), t = typeof d == "object" ? d?.scope : null;
105
105
  return t && (e.value = {
106
106
  ...e.value,
@@ -110,33 +110,33 @@ var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.
110
110
  optional: !0
111
111
  }), e;
112
112
  }
113
- case c.Cell: return n(d);
114
- case c.TableReference: return {
115
- type: c.TableReference,
113
+ case o.Cell: return t(d);
114
+ case o.TableReference: return {
115
+ type: o.TableReference,
116
116
  value: d,
117
- inputs: o ?? null,
117
+ inputs: a ?? null,
118
118
  isReference: !0
119
119
  };
120
- case c.TableSpecifier: return {
121
- type: c.TableSpecifier,
120
+ case o.TableSpecifier: return {
121
+ type: o.TableSpecifier,
122
122
  value: d,
123
123
  image: `[${d}]`,
124
124
  inputs: null,
125
125
  isReference: !0
126
126
  };
127
- case c.TableColumn: {
128
- let e = typeof d == "string" && d.startsWith("[") ? d : `[${s(String(d))}]`;
127
+ case o.TableColumn: {
128
+ let e = typeof d == "string" && d.startsWith("[") ? d : `[${c(String(d))}]`;
129
129
  return {
130
- type: c.TableColumn,
130
+ type: o.TableColumn,
131
131
  value: d,
132
132
  image: e,
133
133
  inputs: null,
134
134
  isReference: !0
135
135
  };
136
136
  }
137
- case c.String:
138
- case c.Number:
139
- case c.Boolean: return {
137
+ case o.String:
138
+ case o.Number:
139
+ case o.Boolean: return {
140
140
  type: u,
141
141
  value: d,
142
142
  inputs: null,
@@ -145,8 +145,8 @@ var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.
145
145
  default: return {
146
146
  type: u,
147
147
  value: d,
148
- inputs: o ?? null,
149
- isReference: a.isReference
148
+ inputs: a ?? null,
149
+ isReference: r.isReference
150
150
  };
151
151
  }
152
152
  }, v = (e) => {
@@ -178,7 +178,7 @@ var u = Symbol("sheetxl.formulaNode.internal"), d = Symbol("sheetxl.formulaNode.
178
178
  let i = _(e, r), a = e[f];
179
179
  return a && y(i, a), i;
180
180
  }, y = (e, t) => {
181
- a(e, t), e.type !== t.type && e.image !== void 0 && (e.image = void 0);
181
+ r(e, t), e.type !== t.type && e.image !== void 0 && (e.image = void 0);
182
182
  };
183
183
  function b(e, t) {
184
184
  return m(e, t);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
@@ -1,18 +1,18 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
6
6
  */
7
- import { t as e } from "./YwDdO4YwcIE4OB0D.mjs";
8
- import { an as t, br as n, gr as r, hr as i, in as a, nn as o, rn as s, vr as c, wa as l, wi as u, xi as d, yr as f } from "./gQzj95vSMXdKhpWf.mjs";
7
+ import { t as e } from "./BtVpErObXYKJCwHG.mjs";
8
+ import { Si as t, Ta as n, Ti as r, _r as i, an as a, br as o, gr as s, in as c, on as l, rn as u, xr as d, yr as f } from "./_lh_Rr5SwLthmbmu.mjs";
9
9
  import { ExpectedError as p, messageKey as m, t as h } from "@sheetxl/utils";
10
- var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y = m("op.setSlicerCaption"), b = m("op.setSlicerStyle"), x = m("op.setSlicerLayout"), S = m("op.setSlicerSort"), C = m("op.selectSlicerItems"), w = d.BuiltInSelectorNames.Display, T = Object.freeze({
10
+ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y = m("op.setSlicerCaption"), b = m("op.setSlicerStyle"), x = m("op.setSlicerLayout"), S = m("op.setSlicerSort"), C = m("op.selectSlicerItems"), w = t.BuiltInSelectorNames.Display, T = Object.freeze({
11
11
  selector: w,
12
12
  scope: "column"
13
13
  }), E = Object.freeze({ transactional: !1 }), D = class extends e {
14
14
  constructor(e) {
15
- let t = c(e.json?.source)?.column ?? e.json?.pivot?.sourceName ?? "", n = e.name;
15
+ let t = f(e.json?.source)?.column ?? e.json?.pivot?.sourceName ?? "", n = e.name;
16
16
  !n && e.getMovable && (n = t || null), super({
17
17
  ...e,
18
18
  name: n
@@ -29,7 +29,7 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
29
29
  return "Slicer";
30
30
  }
31
31
  getDefaultAnchorType() {
32
- return u.Type.Absolute;
32
+ return r.Type.Absolute;
33
33
  }
34
34
  getSourceName() {
35
35
  return this._data()?.pivot?.sourceName ?? this._getColumnName();
@@ -46,8 +46,8 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
46
46
  getPivotField() {
47
47
  let e = this._getPivotTables()?.[0];
48
48
  if (!e) return null;
49
- let n = t(e._getCache(), this.getSourceName());
50
- return n < 0 ? null : e.getFields()[n] ?? null;
49
+ let t = l(e._getCache(), this.getSourceName());
50
+ return t < 0 ? null : e.getFields()[t] ?? null;
51
51
  }
52
52
  _getSource() {
53
53
  let e = this._data()?.source ?? "", t = this._formula?.getExpression() ?? null;
@@ -55,7 +55,7 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
55
55
  }
56
56
  setName(e) {
57
57
  let t = this._getWorkbook();
58
- if (t && n(t, e, this) !== e) throw new p(h("error.slicer.nameTaken", { name: e }));
58
+ if (t && d(t, e, this) !== e) throw new p(h("error.slicer.nameTaken", { name: e }));
59
59
  return super.setName(e);
60
60
  }
61
61
  getCaption() {
@@ -71,7 +71,7 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
71
71
  return this._set({ hiddenCaption: !e || void 0 }, y, t);
72
72
  }
73
73
  getCacheName() {
74
- return this._data()?.cacheName || (f(this._getWorkbook()).get(this) ?? i(this._getColumnName()));
74
+ return this._data()?.cacheName || (o(this._getWorkbook()).get(this) ?? s(this._getColumnName()));
75
75
  }
76
76
  getStyle() {
77
77
  return this._data()?.style ?? g;
@@ -130,108 +130,108 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
130
130
  return [a];
131
131
  });
132
132
  }
133
- let t = this.getColumn()?.getFilter();
134
- if (!t) return O;
135
- let n = await t.getItems(T), r = t.getCondition(), i = r ? function(e, t) {
136
- let n = e.toJSON();
137
- if (n.operator !== d.BuiltInOperatorNames.InSet) return () => !1;
138
- let r = n.param ?? {}, i = /* @__PURE__ */ new Set(), a = r.items ?? [];
139
- for (let e = 0; e < a.length; e++) a[e] !== null && i.add(String(a[e]).toLowerCase());
140
- let o = r.dateGroups ?? [], s = t.dates?.[t.dates.length - 1] ?? null;
133
+ let r = this.getColumn()?.getFilter();
134
+ if (!r) return O;
135
+ let i = await r.getItems(T), a = r.getCondition(), o = a ? function(e, n) {
136
+ let r = e.toJSON();
137
+ if (r.operator !== t.BuiltInOperatorNames.InSet) return () => !1;
138
+ let i = r.param ?? {}, a = /* @__PURE__ */ new Set(), o = i.items ?? [];
139
+ for (let e = 0; e < o.length; e++) o[e] !== null && a.add(String(o[e]).toLowerCase());
140
+ let s = i.dateGroups ?? [], c = n.dates?.[n.dates.length - 1] ?? null;
141
141
  return (e) => {
142
- if (e < 0) return !0 === r.blank;
143
- if (i.has(t.items[e].text.toLowerCase())) return !0;
144
- if (!s || o.length === 0) return !1;
145
- let n = null;
146
- for (let t = 0; t < s.runs.length && !n; t++) {
147
- let r = s.runs[t];
148
- r.min <= e && e <= r.max && (n = r.value ?? null);
142
+ if (e < 0) return !0 === i.blank;
143
+ if (a.has(n.items[e].text.toLowerCase())) return !0;
144
+ if (!c || s.length === 0) return !1;
145
+ let t = null;
146
+ for (let n = 0; n < c.runs.length && !t; n++) {
147
+ let r = c.runs[n];
148
+ r.min <= e && e <= r.max && (t = r.value ?? null);
149
149
  }
150
- if (!n) return !1;
151
- for (let e = 0; e < o.length; e++) if (N(o[e], n)) return !0;
150
+ if (!t) return !1;
151
+ for (let e = 0; e < s.length; e++) if (N(s[e], t)) return !0;
152
152
  return !1;
153
153
  };
154
- }(r, n) : null, a = [];
155
- for (let e = 0; e < n.items.length; e++) {
156
- let t = n.items[e], r = !0 === t.passesOthers;
157
- a.push({
154
+ }(a, i) : null, s = [];
155
+ for (let e = 0; e < i.items.length; e++) {
156
+ let t = i.items[e], n = !0 === t.passesOthers;
157
+ s.push({
158
158
  item: {
159
159
  key: t.text,
160
160
  name: t.text,
161
161
  value: t.value,
162
- hasData: r,
163
- isSelected: !i || (r ? t.checked : i(e))
162
+ hasData: n,
163
+ isSelected: !o || (n ? t.checked : o(e))
164
164
  },
165
165
  firstRow: t.firstRow
166
166
  });
167
167
  }
168
- let o = this.getSortOrder();
169
- if (o === "dataSource") a.sort((e, t) => e.firstRow - t.firstRow);
168
+ let c = this.getSortOrder();
169
+ if (c === "dataSource") s.sort((e, t) => e.firstRow - t.firstRow);
170
170
  else {
171
- let e = t.getRange().getWorksheet().getRuntime().getLocaleProfile(), n = o === "descending" ? -1 : 1;
172
- a.sort((t, r) => n * (l.compare(t.item.value, r.item.value, e) || l.compare(t.item.key, r.item.key, e)));
171
+ let e = r.getRange().getWorksheet().getRuntime().getLocaleProfile(), t = c === "descending" ? -1 : 1;
172
+ s.sort((r, i) => t * (n.compare(r.item.value, i.item.value, e) || n.compare(r.item.key, i.item.key, e)));
173
173
  }
174
- let s = null;
175
- if (n.hasBlanks) {
176
- let e = !0 === n.blanksPassOthers;
177
- s = {
174
+ let l = null;
175
+ if (i.hasBlanks) {
176
+ let e = !0 === i.blanksPassOthers;
177
+ l = {
178
178
  key: j,
179
179
  name: h("slicer.blankItem"),
180
180
  value: null,
181
181
  hasData: e,
182
- isSelected: !i || (e ? n.blanksChecked : i(-1))
182
+ isSelected: !o || (e ? i.blanksChecked : o(-1))
183
183
  };
184
184
  }
185
- let c = [], u = this.getCrossFilter();
186
- if (u === "showItemsWithNoData") {
187
- for (let e = 0; e < a.length; e++) c.push(a[e].item);
188
- return s && c.push(s), c;
185
+ let u = [], d = this.getCrossFilter();
186
+ if (d === "showItemsWithNoData") {
187
+ for (let e = 0; e < s.length; e++) u.push(s[e].item);
188
+ return l && u.push(l), u;
189
189
  }
190
- for (let e = 0; e < a.length; e++) a[e].item.hasData && c.push(a[e].item);
191
- if (s?.hasData && c.push(s), u === "none") return c;
192
- for (let e = 0; e < a.length; e++) a[e].item.hasData || c.push(a[e].item);
193
- return s && !s.hasData && c.push(s), c;
190
+ for (let e = 0; e < s.length; e++) s[e].item.hasData && u.push(s[e].item);
191
+ if (l?.hasData && u.push(l), d === "none") return u;
192
+ for (let e = 0; e < s.length; e++) s[e].item.hasData || u.push(s[e].item);
193
+ return l && !l.hasData && u.push(l), u;
194
194
  }
195
195
  async getItem(e) {
196
196
  let t = await this.getItems();
197
197
  for (let n = 0; n < t.length; n++) if (t[n].key === e) return t[n];
198
198
  return null;
199
199
  }
200
- async selectItems(e, t) {
200
+ async selectItems(e, n) {
201
201
  if (this.isITimeline) return this;
202
202
  if (this._data()?.pivot) {
203
- let n = this._getPivotItems()?.items;
204
- if (!n) return this;
205
- let r = new Set(e), i = new Set(n.flatMap((e) => r.has(e.key) ? [e.id] : []));
206
- return await this._showPivotItems(i.size === 0 || i.size === n.length ? null : i, t), this;
203
+ let t = this._getPivotItems()?.items;
204
+ if (!t) return this;
205
+ let r = new Set(e), i = new Set(t.flatMap((e) => r.has(e.key) ? [e.id] : []));
206
+ return await this._showPivotItems(i.size === 0 || i.size === t.length ? null : i, n), this;
207
207
  }
208
- let n = this.getColumn()?.getFilter();
209
- if (!n) return this;
210
- if (!e || e.length === 0) return this.clearFilters(t);
211
- let r = await n.getItems(T), i = new Set(e), a = r.dates?.[r.dates.length - 1] ?? null, o = a && a.runs.length > 0 ? a.runs[a.runs.length - 1].max : -1, s = [], c = [], l = !0, u = 0;
212
- for (let e = 0; e < r.items.length; e++) {
213
- if (!i.has(r.items[e].text)) {
214
- l = !1;
208
+ let r = this.getColumn()?.getFilter();
209
+ if (!r) return this;
210
+ if (!e || e.length === 0) return this.clearFilters(n);
211
+ let i = await r.getItems(T), a = new Set(e), o = i.dates?.[i.dates.length - 1] ?? null, s = o && o.runs.length > 0 ? o.runs[o.runs.length - 1].max : -1, c = [], l = [], u = !0, d = 0;
212
+ for (let e = 0; e < i.items.length; e++) {
213
+ if (!a.has(i.items[e].text)) {
214
+ u = !1;
215
215
  continue;
216
216
  }
217
- if (e > o) {
218
- s.push(r.items[e].text);
217
+ if (e > s) {
218
+ c.push(i.items[e].text);
219
219
  continue;
220
220
  }
221
- for (; a.runs[u].max < e;) u++;
222
- let t = a.runs[u].value;
223
- t && c[c.length - 1] !== t && c.push(t);
221
+ for (; o.runs[d].max < e;) d++;
222
+ let t = o.runs[d].value;
223
+ t && l[l.length - 1] !== t && l.push(t);
224
224
  }
225
- let f = r.hasBlanks && i.has(j);
226
- if (r.hasBlanks && !f && (l = !1), l && !r.truncated) return this.clearFilters(t);
227
- let p = { items: s };
228
- return c.length > 0 && (p.dateGroups = c), f && (p.blank = !0), await n.setCondition({
225
+ let f = i.hasBlanks && a.has(j);
226
+ if (i.hasBlanks && !f && (u = !1), u && !i.truncated) return this.clearFilters(n);
227
+ let p = { items: c };
228
+ return l.length > 0 && (p.dateGroups = l), f && (p.blank = !0), await r.setCondition({
229
229
  selector: w,
230
- operator: d.BuiltInOperatorNames.InSet,
230
+ operator: t.BuiltInOperatorNames.InSet,
231
231
  param: p
232
232
  }, !1, {
233
233
  description: C,
234
- ...t
234
+ ...n
235
235
  }), this;
236
236
  }
237
237
  async clearFilters(e) {
@@ -278,50 +278,50 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
278
278
  }
279
279
  getDateRange() {
280
280
  let e = this._timelineField(), t = e?.table._getModel();
281
- return t ? s(t, e.field) : null;
282
- }
283
- async setDateRange(e, n) {
284
- let r = this.isITimeline ? this._getPivotTables() ?? [] : [], i = this._getWorkbook();
285
- if (!i || r.length === 0) return this;
286
- let a = this.getSourceName();
287
- return await i.doBatch(async () => {
288
- for (let n of r) {
289
- let r = t(n._getCache(), a);
290
- r >= 0 && await n._setDateRange(r, a, e);
281
+ return t ? c(t, e.field) : null;
282
+ }
283
+ async setDateRange(e, t) {
284
+ let n = this.isITimeline ? this._getPivotTables() ?? [] : [], r = this._getWorkbook();
285
+ if (!r || n.length === 0) return this;
286
+ let i = this.getSourceName();
287
+ return await r.doBatch(async () => {
288
+ for (let t of n) {
289
+ let n = l(t._getCache(), i);
290
+ n >= 0 && await t._setDateRange(n, i, e);
291
291
  }
292
292
  }, {
293
293
  description: C,
294
- ...n
294
+ ...t
295
295
  }), this;
296
296
  }
297
297
  _getTimelineState() {
298
298
  let e = this._data()?.pivot;
299
299
  if (!e?.timeline || !e.tabular) return null;
300
- let n = this._timelineField();
301
- if (n) {
302
- let e = n.table._getModel(), t = n.table._getCache();
300
+ let t = this._timelineField();
301
+ if (t) {
302
+ let e = t.table._getModel(), n = t.table._getCache();
303
303
  return {
304
- cacheId: n.table.getCacheId(),
305
- range: e ? s(e, n.field) : null,
306
- filtered: !!e?.filters?.some((e) => e.field === n.field && e.dataField === void 0),
307
- dates: o(t, n.field)
304
+ cacheId: t.table.getCacheId(),
305
+ range: e ? c(e, t.field) : null,
306
+ filtered: !!e?.filters?.some((e) => e.field === t.field && e.dataField === void 0),
307
+ dates: u(n, t.field)
308
308
  };
309
309
  }
310
310
  if (e.cacheId === void 0) return null;
311
- let r = this._getWorkbook()?._getPivotCache?.(e.cacheId)?.toJSON() ?? null, i = t(r, e.sourceName);
311
+ let n = this._getWorkbook()?._getPivotCache?.(e.cacheId)?.toJSON() ?? null, r = l(n, e.sourceName);
312
312
  return {
313
313
  cacheId: e.cacheId,
314
314
  range: null,
315
315
  filtered: !1,
316
- dates: r && i >= 0 ? o(r, i) : null
316
+ dates: n && r >= 0 ? u(n, r) : null
317
317
  };
318
318
  }
319
319
  _timelineField() {
320
320
  if (!this.isITimeline) return null;
321
- let e = this._getPivotTables()?.[0], n = e ? t(e._getCache(), this.getSourceName()) : -1;
322
- return n >= 0 ? {
321
+ let e = this._getPivotTables()?.[0], t = e ? l(e._getCache(), this.getSourceName()) : -1;
322
+ return t >= 0 ? {
323
323
  table: e,
324
- field: n
324
+ field: t
325
325
  } : null;
326
326
  }
327
327
  get [Symbol.toStringTag]() {
@@ -355,26 +355,26 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
355
355
  _getPivotItems() {
356
356
  let e = this._data()?.pivot;
357
357
  if (!e?.tabular || e.timeline) return null;
358
- let n = this._getPivotTables()?.[0], r = n ? n.getCacheId() : e.cacheId;
359
- if (r === void 0) return null;
360
- let i = this._getWorkbook(), o = n ? n._getModel() : {}, s = n ? n._getCache() : i?._getPivotCache?.(r)?.toJSON() ?? null, c = t(s, e.sourceName), l = (n?.getWorksheet() ?? this.getMovable()?.getRange().getWorksheet())?.getRuntime();
361
- return !o || !s || c < 0 || !l ? null : {
362
- cacheId: r,
363
- items: a(o, s, c, this.getSortOrder(), this.getCrossFilter(), l.getLocaleProfile())
358
+ let t = this._getPivotTables()?.[0], n = t ? t.getCacheId() : e.cacheId;
359
+ if (n === void 0) return null;
360
+ let r = this._getWorkbook(), i = t ? t._getModel() : {}, o = t ? t._getCache() : r?._getPivotCache?.(n)?.toJSON() ?? null, s = l(o, e.sourceName), c = (t?.getWorksheet() ?? this.getMovable()?.getRange().getWorksheet())?.getRuntime();
361
+ return !i || !o || s < 0 || !c ? null : {
362
+ cacheId: n,
363
+ items: a(i, o, s, this.getSortOrder(), this.getCrossFilter(), c.getLocaleProfile())
364
364
  };
365
365
  }
366
- async _showPivotItems(e, n) {
367
- let r = this._getPivotTables() ?? [], i = this._getWorkbook();
368
- if (!i || r.length === 0) return;
369
- let a = this.getSourceName();
370
- await i.doBatch(async () => {
371
- for (let n of r) {
372
- let r = t(n._getCache(), a);
373
- r >= 0 && await n._showSlicerItems(r, e);
366
+ async _showPivotItems(e, t) {
367
+ let n = this._getPivotTables() ?? [], r = this._getWorkbook();
368
+ if (!r || n.length === 0) return;
369
+ let i = this.getSourceName();
370
+ await r.doBatch(async () => {
371
+ for (let t of n) {
372
+ let n = l(t._getCache(), i);
373
+ n >= 0 && await t._showSlicerItems(n, e);
374
374
  }
375
375
  }, {
376
376
  description: C,
377
- ...n
377
+ ...t
378
378
  });
379
379
  }
380
380
  _bindPivot() {
@@ -411,9 +411,9 @@ var g = "SlicerStyleLight1", _ = "ascending", v = "showItemsWithDataAtTop", y =
411
411
  }
412
412
  _resolve() {
413
413
  if (this._closed) return null;
414
- let e = c(this._getSource());
414
+ let e = f(this._getSource());
415
415
  if (!e) return null;
416
- let t = r(this._getWorkbook(), e.table), n = t?.getColumnByName(e.column) ?? null;
416
+ let t = i(this._getWorkbook(), e.table), n = t?.getColumnByName(e.column) ?? null;
417
417
  return n ? (this._columnName = n.getName(), {
418
418
  table: t,
419
419
  column: n
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
6
6
  */
7
- import { Pa as e, gi as t, n } from "./gQzj95vSMXdKhpWf.mjs";
7
+ import { Fa as e, _i as t, n } from "./_lh_Rr5SwLthmbmu.mjs";
8
8
  import { FormulaError as r } from "@sheetxl/primitives";
9
9
  var i = e.Type, a = 4294967295, o = {
10
10
  SUM: 0,
@@ -1,14 +1,14 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.17
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.8.0-beta.18
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: SheetXL EULA — https://www.sheetxl.com/eula
6
6
  */
7
- import { Hi as e, Mr as t, Ui as n, Vr as r, Wr as i, Xr as a, gt as o, mt as s, pi as c, rr as l } from "./gQzj95vSMXdKhpWf.mjs";
8
- import { C as u, E as d, T as f, h as p, i as m, r as h, w as g, x as _, y as v } from "./B-Q1-7RgSnA75J32.mjs";
9
- import { n as y, r as b, t as x } from "./Dlk1kRgkiBIpUxd9.mjs";
10
- import { i as S, r as C } from "./O970I8lbI7okqG7N.mjs";
11
- import { a as w, n as T } from "./BY_-BTa5h6HnnZ1W.mjs";
7
+ import { Gr as e, Hr as t, Nr as n, Ui as r, Wi as i, Zr as a, gt as o, ir as s, mi as c, mt as l } from "./_lh_Rr5SwLthmbmu.mjs";
8
+ import { C as u, E as d, T as f, h as p, i as m, r as h, w as g, x as _, y as v } from "./By7_c19Kv2YQaDVF.mjs";
9
+ import { n as y, r as b, t as x } from "./CXQLYHAhE5MLKxZ4.mjs";
10
+ import { i as S, r as C } from "./Bql31KGUYo0SCMwZ.mjs";
11
+ import { a as w, n as T } from "./DQTUUXcERWI4l0to.mjs";
12
12
  import { ScalarType as E } from "@sheetxl/primitives";
13
13
  import D from "@sheetxl/formulas/declarations";
14
14
  import O from "@sheetxl/formulas-extended/declarations";
@@ -35,7 +35,7 @@ function A(e) {
35
35
  return n;
36
36
  };
37
37
  for (let t of Object.keys(n)) {
38
- let { decl: r } = w(t, n[t], i), a = new l(r);
38
+ let { decl: r } = w(t, n[t], i), a = new s(r);
39
39
  e.set(t.toUpperCase(), {
40
40
  getName: () => t,
41
41
  getDeclaration: () => a,
@@ -49,8 +49,8 @@ function A(e) {
49
49
  var j = null, M = Object.freeze({
50
50
  rowStart: 0,
51
51
  colStart: 0,
52
- rowEnd: n,
53
- colEnd: e
52
+ rowEnd: i,
53
+ colEnd: r
54
54
  }), N = (e) => A(e);
55
55
  function P(e, t) {
56
56
  if (typeof e != "string" || e.length === 0) return null;
@@ -73,14 +73,14 @@ function F(e, t) {
73
73
  }
74
74
  function I(e, t) {
75
75
  let n = p(h(v(x(e)), N)), r = t?.entireCoords ?? M, i = !0 === t?.r1c1;
76
- return (e) => i ? o(n, r) : s(n, r, e?.rowIndex ?? 0, e?.colIndex ?? 0);
76
+ return (e) => i ? o(n, r) : l(n, r, e?.rowIndex ?? 0, e?.colIndex ?? 0);
77
77
  }
78
- function L(e) {
79
- let n = e.trim();
80
- if (!n) return;
78
+ function L(r) {
79
+ let i = r.trim();
80
+ if (!i) return;
81
81
  let o;
82
82
  try {
83
- let e = S.shared().tokenize(n, !1);
83
+ let e = S.shared().tokenize(i, !1);
84
84
  if (e.errors.length > 0) return;
85
85
  o = e.tokens;
86
86
  } catch {
@@ -98,13 +98,13 @@ function L(e) {
98
98
  case "NumberToken":
99
99
  case "ScientificDigit":
100
100
  case "DigitToken": {
101
- let e = i(u).value;
102
- return s === 0 ? e : s * e;
101
+ let t = e(u).value;
102
+ return s === 0 ? t : s * t;
103
103
  }
104
104
  case "StringToken": return s === 0 ? a(u).value : void 0;
105
- case "BooleanToken": return s === 0 ? t(u).value : void 0;
105
+ case "BooleanToken": return s === 0 ? n(u).value : void 0;
106
106
  case "LiteralError":
107
- case "RefError": return s === 0 ? r(u).value : void 0;
107
+ case "RefError": return s === 0 ? t(u).value : void 0;
108
108
  default: return;
109
109
  }
110
110
  } catch {