@xiee/utils 1.14.48 → 1.14.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/css/lt.css CHANGED
@@ -20,14 +20,15 @@ th, td{ padding: 5px; }
20
20
  tbody {
21
21
  :not(:last-child) :is(td, th) { border-bottom: 1px solid #ddd; }
22
22
  .lt-row-group :is(td, th) { border-bottom: 1.5px solid #ddd; }
23
- .lt-stub, .lt-row-group th { text-align: left; }
24
- .lt-indent { padding-left: 1em; }
23
+ .lt-stub, .lt-row-group { text-align: left; }
24
+ .lt-row-group { vertical-align: top; }
25
25
  }
26
26
  thead th {
27
27
  border-bottom: 1px solid #888;
28
28
  &:not(:first-child) { border-left: var(--bg); }
29
29
  &:not(:last-child) { border-right: var(--bg); }
30
30
  }
31
+ .lt-indent { padding-left: 1em; }
31
32
  .lt-spanner-row {
32
33
  .lt-spanner { border-bottom: 1px solid #bbb; text-align: center; }
33
34
  .lt-spanner-empty { border-bottom: none; }
@@ -40,7 +41,7 @@ th, td{ padding: 5px; }
40
41
  .lt-source-note td { font-style: italic; }
41
42
  }
42
43
 
43
- .al-r { text-align: right; }
44
+ .al-r { text-align: right; white-space: nowrap; }
44
45
  .al-c { text-align: center; }
45
46
 
46
47
  .lt-fnref {
package/css/lt.min.css CHANGED
@@ -1,2 +1,2 @@
1
- th,td{padding:5px}.lt-table{--bg:4px solid transparent;border-collapse:separate;caption-side:top;border-spacing:0;border-top:1.5px solid #888;border-bottom:1.5px solid #888;margin:1em auto;& caption{text-align:center;padding:.5em;& .lt-title{font-size:1.2em}& .lt-subtitle{font-size:.9em}}& th{font-weight:400}& tbody{& :not(:last-child) :is(td,th){border-bottom:1px solid #ddd}& .lt-row-group :is(td,th){border-bottom:1.5px solid #ddd}& .lt-stub,& .lt-row-group th{text-align:left}& .lt-indent{padding-left:1em}}& thead th{border-bottom:1px solid #888;&:not(:first-child){border-left:var(--bg)}&:not(:last-child){border-right:var(--bg)}}& .lt-spanner-row{& .lt-spanner{text-align:center;border-bottom:1px solid #bbb}& .lt-spanner-empty{border-bottom:none}}& .lt-footer{font-size:.85em;& .lt-footnote:first-child td{border-top:1px solid #aaa}& .lt-source-note:first-child td{border-top:1px dashed #aaa}& .lt-source-note td{font-style:italic}}& .al-r{text-align:right}& .al-c{text-align:center}& .lt-fnref{color:#06c;&:before{content:" ["}&:after{content:"]"}}}
1
+ th,td{padding:5px}.lt-table{--bg:4px solid transparent;border-collapse:separate;caption-side:top;border-spacing:0;border-top:1.5px solid #888;border-bottom:1.5px solid #888;margin:1em auto;& caption{text-align:center;padding:.5em;& .lt-title{font-size:1.2em}& .lt-subtitle{font-size:.9em}}& th{font-weight:400}& tbody{& :not(:last-child) :is(td,th){border-bottom:1px solid #ddd}& .lt-row-group :is(td,th){border-bottom:1.5px solid #ddd}& .lt-stub,& .lt-row-group{text-align:left}& .lt-row-group{vertical-align:top}}& thead th{border-bottom:1px solid #888;&:not(:first-child){border-left:var(--bg)}&:not(:last-child){border-right:var(--bg)}}& .lt-indent{padding-left:1em}& .lt-spanner-row{& .lt-spanner{text-align:center;border-bottom:1px solid #bbb}& .lt-spanner-empty{border-bottom:none}}& .lt-footer{font-size:.85em;& .lt-footnote:first-child td{border-top:1px solid #aaa}& .lt-source-note:first-child td{border-top:1px dashed #aaa}& .lt-source-note td{font-style:italic}}& .al-r{text-align:right;white-space:nowrap}& .al-c{text-align:center}& .lt-fnref{color:#06c;&:before{content:" ["}&:after{content:"]"}}}
2
2
  /*# sourceMappingURL=lt.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,kBACA,2KAUE,yCAGE,4BACA,+BAGF,qBACA,QACE,4DACA,0DACA,8CACA,+BAEF,wCAEE,0CACA,2CAEF,kBACE,6DACA,wCAGF,6BAEE,wDACA,4DACA,wCAGF,yBACA,0BAEA,uBAEE,sBACA","sources":["lt.css"],"sourcesContent":["th, td{ padding: 5px; }\n.lt-table {\n --bg: 4px solid transparent;\n\n border-collapse: separate;\n caption-side: top;\n margin: 1em auto;\n border-spacing: 0;\n border-top: 1.5px solid #888;\n border-bottom: 1.5px solid #888;\n\n caption {\n padding: .5em;\n text-align: center;\n .lt-title { font-size: 1.2em; }\n .lt-subtitle { font-size: 0.9em; }\n }\n\n th { font-weight: normal; }\n tbody {\n :not(:last-child) :is(td, th) { border-bottom: 1px solid #ddd; }\n .lt-row-group :is(td, th) { border-bottom: 1.5px solid #ddd; }\n .lt-stub, .lt-row-group th { text-align: left; }\n .lt-indent { padding-left: 1em; }\n }\n thead th {\n border-bottom: 1px solid #888;\n &:not(:first-child) { border-left: var(--bg); }\n &:not(:last-child) { border-right: var(--bg); }\n }\n .lt-spanner-row {\n .lt-spanner { border-bottom: 1px solid #bbb; text-align: center; }\n .lt-spanner-empty { border-bottom: none; }\n }\n\n .lt-footer {\n font-size: 0.85em;\n .lt-footnote:first-child td { border-top: 1px solid #aaa; }\n .lt-source-note:first-child td { border-top: 1px dashed #aaa; }\n .lt-source-note td { font-style: italic; }\n }\n\n .al-r { text-align: right; }\n .al-c { text-align: center; }\n\n .lt-fnref {\n color: #06c;\n &::before { content: \" [\"; }\n &::after { content: \"]\"; }\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AAAA,kBACA,2KAUE,yCAGE,4BACA,+BAGF,qBACA,QACE,4DACA,0DACA,2CACA,oCAEF,wCAEE,0CACA,2CAEF,8BACA,kBACE,6DACA,wCAGF,6BAEE,wDACA,4DACA,wCAGF,4CACA,0BAEA,uBAEE,sBACA","sources":["lt.css"],"sourcesContent":["th, td{ padding: 5px; }\n.lt-table {\n --bg: 4px solid transparent;\n\n border-collapse: separate;\n caption-side: top;\n margin: 1em auto;\n border-spacing: 0;\n border-top: 1.5px solid #888;\n border-bottom: 1.5px solid #888;\n\n caption {\n padding: .5em;\n text-align: center;\n .lt-title { font-size: 1.2em; }\n .lt-subtitle { font-size: 0.9em; }\n }\n\n th { font-weight: normal; }\n tbody {\n :not(:last-child) :is(td, th) { border-bottom: 1px solid #ddd; }\n .lt-row-group :is(td, th) { border-bottom: 1.5px solid #ddd; }\n .lt-stub, .lt-row-group { text-align: left; }\n .lt-row-group { vertical-align: top; }\n }\n thead th {\n border-bottom: 1px solid #888;\n &:not(:first-child) { border-left: var(--bg); }\n &:not(:last-child) { border-right: var(--bg); }\n }\n .lt-indent { padding-left: 1em; }\n .lt-spanner-row {\n .lt-spanner { border-bottom: 1px solid #bbb; text-align: center; }\n .lt-spanner-empty { border-bottom: none; }\n }\n\n .lt-footer {\n font-size: 0.85em;\n .lt-footnote:first-child td { border-top: 1px solid #aaa; }\n .lt-source-note:first-child td { border-top: 1px dashed #aaa; }\n .lt-source-note td { font-style: italic; }\n }\n\n .al-r { text-align: right; white-space: nowrap; }\n .al-c { text-align: center; }\n\n .lt-fnref {\n color: #06c;\n &::before { content: \" [\"; }\n &::after { content: \"]\"; }\n }\n}\n"],"names":[]}
package/js/lt.js CHANGED
@@ -13,14 +13,18 @@
13
13
  const sup = i => `<sup class="lt-fnref">${i}</sup>`;
14
14
 
15
15
  // --- Number formatting ---
16
+ const isNum = v => typeof v === "number" && !isNaN(v);
17
+
16
18
  function fmtNumber(v, decimals, bigMark) {
17
- if (v == null || typeof v !== "number" || isNaN(v)) return null;
19
+ if (v == null || !isNum(v)) return null;
18
20
  let s = decimals != null ? v.toFixed(decimals) : String(v);
21
+ if (/^-0(\.0+)?$/.test(s)) s = s.slice(1);
19
22
  if (bigMark) {
20
23
  const parts = s.split(".");
21
24
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, bigMark);
22
25
  s = parts.join(".");
23
26
  }
27
+ if (s[0] === "-") s = "−" + s.slice(1);
24
28
  return decimals != null || bigMark ? s : null;
25
29
  }
26
30
 
@@ -32,8 +36,8 @@
32
36
  const m = remaining.match(/<<(.*?)>>/);
33
37
  if (!m) { result += subRefs(remaining, vals); break; }
34
38
  if (m.index > 0) result += subRefs(remaining.slice(0, m.index), vals);
35
- const block = m[1];
36
- const refs = [...block.matchAll(/\{(\d+)\}/g)].map(x => +x[1]);
39
+ const block = m[1],
40
+ refs = [...block.matchAll(/\{(\d+)\}/g)].map(x => +x[1]);
37
41
  if (!refs.length || refs.every(i => vals[i - 1] !== ""))
38
42
  result += subRefs(block, vals);
39
43
  remaining = remaining.slice(m.index + m[0].length);
@@ -46,6 +50,64 @@
46
50
  return s;
47
51
  }
48
52
 
53
+ // --- Auto-format numeric columns ---
54
+ function autoFmt(spec, display, nRow) {
55
+ if (spec.auto_fmt === false) return;
56
+ const data = spec.data || {}, ops = spec.ops || [],
57
+ colNames = Object.keys(data);
58
+
59
+ const fmtCols = new Set();
60
+ for (const op of ops) {
61
+ if (op.type === "fmt_number") for (const c of (op.columns || colNames)) fmtCols.add(c);
62
+ }
63
+
64
+ const getLabel = c => {
65
+ for (const op of ops) {
66
+ if (op.type === "label" && op.labels && op.labels[c] != null) return op.labels[c];
67
+ }
68
+ return c;
69
+ };
70
+
71
+ for (const c of colNames) {
72
+ if (fmtCols.has(c)) continue;
73
+ const col = data[c];
74
+ if (!col || !col.length) continue;
75
+ if (typeof col.find(v => v != null) !== "number") continue;
76
+
77
+ const lbl = getLabel(c),
78
+ pct = /%|[ _](pct|percent)$/i.test(lbl);
79
+
80
+ if (/year/i.test(lbl) && col.every(v => v == null || /^\d{4}$/.test(String(v)))) continue;
81
+
82
+ // Determine decimal places: find max significant decimals across column,
83
+ // then cap dynamically based on the largest integer-part width (targeting
84
+ // ~4 total significant digits): e.g., values <1 get up to 4 decimals,
85
+ // 10-99 get 2, >=1000 get 0.
86
+ let maxInt = 0, n = 0;
87
+ for (const v of col) {
88
+ if (!isNum(v)) continue;
89
+ // Number of digits before the decimal point
90
+ const a = Math.abs(pct ? v * 100 : v),
91
+ intW = a < 1 ? 0 : Math.floor(Math.log10(a)) + 1;
92
+ if (intW > maxInt) maxInt = intW;
93
+ // Significant decimals (strip trailing zeros; adjust for pct *100)
94
+ const m = String(v).match(/\.(\d+)/);
95
+ if (!m) continue;
96
+ const d = m[1].replace(/0+$/, "").length - (pct ? 2 : 0);
97
+ if (d > n) n = d;
98
+ }
99
+ // Cap: 4 decimals max, minus integer width (so large numbers get fewer)
100
+ n = Math.max(Math.min(n, Math.max(4 - maxInt, 0)), 0);
101
+
102
+ for (let i = 0; i < nRow; i++) {
103
+ const v = col[i];
104
+ if (!isNum(v)) continue;
105
+ const s = fmtNumber(pct ? v * 100 : v, n, " ");
106
+ if (s != null) display[c][i] = s + (pct ? "%" : "");
107
+ }
108
+ }
109
+ }
110
+
49
111
  // --- Apply ops to data columns, return display strings per column ---
50
112
  function applyOps(spec) {
51
113
  const data = spec.data || {},
@@ -59,6 +121,8 @@
59
121
  display[c] = data[c].map(v => v == null ? "" : String(v));
60
122
  }
61
123
 
124
+ autoFmt(spec, display, nRow);
125
+
62
126
  for (const op of ops) {
63
127
  const cols = op.columns || colNames;
64
128
  switch (op.type) {
@@ -67,8 +131,12 @@
67
131
  if (!data[c]) continue;
68
132
  for (let i = 0; i < nRow; i++) {
69
133
  const raw = data[c][i];
70
- const f = fmtNumber(raw, op.decimals, op.big_mark ?? "");
71
- if (f != null) display[c][i] = f;
134
+ if (raw == null || !isNum(raw)) continue;
135
+ const v = op.percent === true ? raw * 100 : raw,
136
+ sfx = op.percent ? "%" : "",
137
+ f = fmtNumber(v, op.decimals, op.big_mark ?? "");
138
+ if (f != null) display[c][i] = f + sfx;
139
+ else if (sfx) display[c][i] = String(v) + sfx;
72
140
  }
73
141
  }
74
142
  break;
@@ -77,8 +145,8 @@
77
145
  if (!data[c]) continue;
78
146
  for (let i = 0; i < nRow; i++) {
79
147
  const raw = data[c][i];
80
- if (op.small != null && typeof raw === "number" && raw !== 0 &&
81
- !isNaN(raw) && raw != null && Math.abs(raw) < op.small) {
148
+ if (op.small != null && isNum(raw) && raw !== 0 &&
149
+ Math.abs(raw) < op.small) {
82
150
  display[c][i] = op.small_text ?? ("<" + op.small);
83
151
  } else if (op.zero != null && raw === 0) {
84
152
  display[c][i] = op.zero;
@@ -110,13 +178,15 @@
110
178
  colNames = Object.keys(data),
111
179
  nRow = colNames.length ? data[colNames[0]].length : 0;
112
180
 
113
- // Determine row_group and row_label columns
114
- const rowGroupCol = spec.row_group || null,
181
+ // row_group: array → rowspan mode; string → separator-row mode
182
+ const rowGroupCols = Array.isArray(spec.row_group) ? spec.row_group
183
+ : (spec.row_group ? [spec.row_group] : []),
184
+ rowGroupSep = typeof spec.row_group === "string",
115
185
  rowLabelCol = spec.row_label || null;
116
186
 
117
187
  // Hidden columns: row_group, row_label, merge sources
118
188
  const hidden = new Set();
119
- if (rowGroupCol) hidden.add(rowGroupCol);
189
+ for (const g of rowGroupCols) hidden.add(g);
120
190
  if (rowLabelCol) hidden.add(rowLabelCol);
121
191
  for (const op of ops) {
122
192
  if (op.type === "merge" && op.hide !== false && op.columns)
@@ -126,9 +196,9 @@
126
196
  // Visible columns after hiding
127
197
  let visible = colNames.filter(c => !hidden.has(c));
128
198
 
129
- // Apply cols_move
199
+ // Apply move
130
200
  for (const op of ops) {
131
- if (op.type !== "cols_move") continue;
201
+ if (op.type !== "move") continue;
132
202
  const toMove = (op.columns || []).filter(c => visible.includes(c));
133
203
  if (!toMove.length) continue;
134
204
  const rest = visible.filter(c => !toMove.includes(c));
@@ -156,7 +226,7 @@
156
226
  // Column labels
157
227
  const colLabels = [...visible];
158
228
  for (const op of ops) {
159
- if (op.type !== "cols_label" || !op.labels) continue;
229
+ if (op.type !== "label" || !op.labels) continue;
160
230
  for (const [c, lbl] of Object.entries(op.labels)) {
161
231
  const i = visible.indexOf(c);
162
232
  if (i >= 0) colLabels[i] = lbl;
@@ -166,7 +236,7 @@
166
236
  // Column widths
167
237
  let colWidths = null;
168
238
  for (const op of ops) {
169
- if (op.type !== "cols_width" || !op.widths) continue;
239
+ if (op.type !== "width" || !op.widths) continue;
170
240
  if (!colWidths) colWidths = visible.map(() => "");
171
241
  for (const [c, w] of Object.entries(op.widths)) {
172
242
  const i = visible.indexOf(c);
@@ -187,10 +257,10 @@
187
257
  if (op.type === "stubhead") stubLabel = op.label;
188
258
  }
189
259
 
190
- // Row groups from data column
260
+ // Row groups from data column (separator-row mode only)
191
261
  let groups = [];
192
- if (rowGroupCol && data[rowGroupCol]) {
193
- const gCol = data[rowGroupCol];
262
+ if (rowGroupSep && rowGroupCols.length && data[rowGroupCols[0]]) {
263
+ const gCol = data[rowGroupCols[0]];
194
264
  let i = 0;
195
265
  while (i < nRow) {
196
266
  const label = gCol[i] == null ? "" : String(gCol[i]);
@@ -216,6 +286,28 @@
216
286
  groups = [...ordered, ...rest];
217
287
  }
218
288
 
289
+ // Rowspan groups: compute span sizes for each group column
290
+ const rowSpans = [];
291
+ if (!rowGroupSep && rowGroupCols.length) {
292
+ for (const gc of rowGroupCols) {
293
+ const col = data[gc] || [], spans = new Array(nRow).fill(0);
294
+ let i = 0;
295
+ while (i < nRow) {
296
+ const label = String(col[i] ?? "");
297
+ let j = i + 1;
298
+ while (j < nRow && String(col[j] ?? "") === label) j++;
299
+ spans[i] = j - i;
300
+ i = j;
301
+ }
302
+ // Resolve display label from label ops
303
+ let hdr = gc;
304
+ for (const op of ops) {
305
+ if (op.type === "label" && op.labels && op.labels[gc] != null) hdr = op.labels[gc];
306
+ }
307
+ rowSpans.push({ col: gc, label: hdr, spans });
308
+ }
309
+ }
310
+
219
311
  // Styles
220
312
  const styles = [];
221
313
  for (const op of ops) {
@@ -242,7 +334,7 @@
242
334
 
243
335
  return {
244
336
  visible, align, colLabels, colWidths, indent, stubLabel, stub,
245
- groups, styles,
337
+ groups, rowSpans, styles,
246
338
  spanners: spec.spanners || [],
247
339
  footnotes: spec.footnotes || [],
248
340
  notes: spec.notes || [],
@@ -280,13 +372,13 @@
280
372
  };
281
373
 
282
374
  function buildHtml(spec) {
283
- const { display, nRow } = applyOps(spec);
284
- const res = resolveSpec(spec);
285
- const { visible: cols, align, colLabels, colWidths, indent, stubLabel,
286
- stub, groups, styles, spanners, footnotes: fns, notes, header: hdr } = res;
287
- const reg = indexFootnotes(fns),
375
+ const { display, nRow } = applyOps(spec),
376
+ { visible: cols, align, colLabels, colWidths, indent, stubLabel,
377
+ stub, groups, rowSpans, styles, spanners, footnotes: fns, notes, header: hdr } = resolveSpec(spec),
378
+ reg = indexFootnotes(fns),
288
379
  fIdx = matcher(fns, reg.idx),
289
- nCol = cols.length + (stub ? 1 : 0),
380
+ nGrp = rowSpans.length,
381
+ nCol = cols.length + (stub ? 1 : 0) + nGrp,
290
382
  out = [`<table class="lt-table">`];
291
383
  const mark = (type, p) => { const i = fIdx(type, p); return i ? sup(i) : ""; };
292
384
  const colCls = cols.map((_, i) => {
@@ -332,7 +424,9 @@
332
424
  // <thead>
333
425
  out.push(`<thead>`);
334
426
  if (spanners.length) {
335
- out.push(`<tr class="lt-spanner-row">${stub ? `<th class="lt-spanner-empty"></th>` : ""}`);
427
+ out.push(`<tr class="lt-spanner-row">`);
428
+ for (let k = 0; k < nGrp; k++) out.push(`<th class="lt-spanner-empty"></th>`);
429
+ if (stub) out.push(`<th class="lt-spanner-empty"></th>`);
336
430
  for (let k = 0; k < cols.length;) {
337
431
  const sp = spanners.find(s => s.columns[0] === cols[k]);
338
432
  if (sp) {
@@ -345,7 +439,9 @@
345
439
  }
346
440
  out.push(`</tr>`);
347
441
  }
348
- out.push(`<tr>${stub ? `<th scope="col"${groups.length ? ` class="lt-indent"` : ""}>${esc(stubLabel)}</th>` : ""}`);
442
+ out.push(`<tr>`);
443
+ for (const rs of rowSpans) out.push(`<th scope="col">${esc(rs.label)}</th>`);
444
+ if (stub) out.push(`<th scope="col"${groups.length ? ` class="lt-indent"` : ""}>${esc(stubLabel)}</th>`);
349
445
  for (let i = 0; i < cols.length; i++)
350
446
  out.push(`<th scope="col"${colCls[i]}>${esc(colLabels[i])}${mark("column_labels", { columns: [cols[i]] })}</th>`);
351
447
  out.push(`</tr></thead>`);
@@ -369,16 +465,21 @@
369
465
  // Row rendering
370
466
  const pushRow = r => {
371
467
  out.push(`<tr>`);
468
+ // Rowspan group cells
469
+ for (const rs of rowSpans) {
470
+ const span = rs.spans[r - 1];
471
+ if (span > 0) out.push(`<th scope="row" class="lt-row-group"${span > 1 ? ` rowspan="${span}"` : ""}>${esc(display[rs.col] ? display[rs.col][r - 1] : "")}</th>`);
472
+ }
372
473
  if (stub) {
373
- const ind = indent[r - 1] || 0;
374
- const cls = `lt-stub${groups.length ? " lt-indent" : ""}`;
375
- const style = ind ? ` style="padding-left:${ind + 1}em"` : "";
474
+ const ind = indent[r - 1] || 0,
475
+ cls = `lt-stub${groups.length ? " lt-indent" : ""}`,
476
+ style = ind ? ` style="padding-left:${ind + 1}em"` : "";
376
477
  out.push(`<th scope="row" class="${cls}"${style}>${esc(stub[r - 1])}</th>`);
377
478
  }
378
479
  for (let ci = 0; ci < cols.length; ci++) {
379
- const m = bodyMarks[`${r},${ci}`];
380
- const s = styleMap[`${r},${ci}`];
381
- const val = display[cols[ci]] ? display[cols[ci]][r - 1] : "";
480
+ const m = bodyMarks[`${r},${ci}`],
481
+ s = styleMap[`${r},${ci}`],
482
+ val = display[cols[ci]] ? display[cols[ci]][r - 1] : "";
382
483
  out.push(`<td${colCls[ci]}${s ? ` style="${s}"` : ""}>${esc(val)}${m ? sup(m) : ""}</td>`);
383
484
  }
384
485
  out.push(`</tr>`);
package/js/lt.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";if(t.LT&&t.LT.buildHtml)return;const n=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),o=t=>`<sup class="lt-fnref">${t}</sup>`;function s(t,n,o){if(null==t||"number"!=typeof t||isNaN(t))return null;let s=null!=n?t.toFixed(n):String(t);if(o){const t=s.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,o),s=t.join(".")}return null!=n||o?s:null}function e(t,n){if(!n)return t.filter(t=>""!==t).join(" ");let o=n,s="";for(;o;){const n=o.match(/<<(.*?)>>/);if(!n){s+=l(o,t);break}n.index>0&&(s+=l(o.slice(0,n.index),t));const e=n[1],r=[...e.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);r.length&&!r.every(n=>""!==t[n-1])||(s+=l(e,t)),o=o.slice(n.index+n[0].length)}return s}function l(t,n){for(let o=0;o<n.length;o++)t=t.split("{"+(o+1)+"}").join(n[o]);return t}function r(t){const{display:l,nRow:r}=function(t){const n=t.data||{},o=t.ops||[],l=Object.keys(n),r=l.length?n[l[0]].length:0,c={};for(const t of l)c[t]=n[t].map(t=>null==t?"":String(t));for(const t of o){const o=t.columns||l;switch(t.type){case"fmt_number":for(const e of o)if(n[e])for(let o=0;o<r;o++){const l=s(n[e][o],t.decimals,t.big_mark??"");null!=l&&(c[e][o]=l)}break;case"sub":for(const s of o)if(n[s])for(let o=0;o<r;o++){const e=n[s][o];null!=t.small&&"number"==typeof e&&0!==e&&!isNaN(e)&&null!=e&&Math.abs(e)<t.small?c[s][o]=t.small_text??"<"+t.small:null!=t.zero&&0===e?c[s][o]=t.zero:null!=t.missing&&null==e&&(c[s][o]=t.missing)}break;case"merge":{const n=t.columns;if(!n||n.length<2)break;const o=n[0];for(let s=0;s<r;s++){const l=n.map(t=>c[t]?c[t][s]:"");c[o][s]=e(l,t.pattern)}break}}}return{display:c,nRow:r}}(t),c=function(t){const n=t.data||{},o=t.ops||[],s=Object.keys(n),e=s.length?n[s[0]].length:0,l=t.row_group||null,r=t.row_label||null,c=new Set;l&&c.add(l),r&&c.add(r);for(const t of o)"merge"===t.type&&!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>c.add(t));let i=s.filter(t=>!c.has(t));for(const t of o){if("cols_move"!==t.type)continue;const n=(t.columns||[]).filter(t=>i.includes(t));if(!n.length)continue;const o=i.filter(t=>!n.includes(t));if(null==t.after)i=[...n,...o];else{const s=o.indexOf(t.after);s>=0&&(i=[...o.slice(0,s+1),...n,...o.slice(s+1)])}}const u=i.map(t=>{const o=n[t];return o&&o.length&&"number"==typeof o.find(t=>null!=t)?"right":"left"});for(const t of o)if("align"===t.type)for(const n of t.columns||[]){const o=i.indexOf(n);o>=0&&(u[o]=t.align)}const f=[...i];for(const t of o)if("cols_label"===t.type&&t.labels)for(const[n,o]of Object.entries(t.labels)){const t=i.indexOf(n);t>=0&&(f[t]=o)}let a=null;for(const t of o)if("cols_width"===t.type&&t.widths){a||(a=i.map(()=>""));for(const[n,o]of Object.entries(t.widths)){const t=i.indexOf(n);t>=0&&(a[t]=o)}}const p=new Array(e).fill(0);for(const t of o)if("indent"===t.type&&t.rows)for(const n of t.rows)p[n-1]=t.level??1;let h="";for(const t of o)"stubhead"===t.type&&(h=t.label);let d=[];if(l&&n[l]){const t=n[l];let o=0;for(;o<e;){const n=null==t[o]?"":String(t[o]),s=[o+1];for(;++o<e&&String(t[o]??"")===n;)s.push(o+1);d.push({label:n,rows:s})}}for(const t of o)"row_group"===t.type&&d.push({label:t.label,rows:t.rows});for(const t of o){if("group_order"!==t.type||!d.length)continue;const n=t.order||[],o=[],s=[];for(const t of n){const n=d.find(n=>n.label===t);n&&o.push(n)}for(const t of d)o.includes(t)||s.push(t);d=[...o,...s]}const g=[];for(const t of o){if("style"!==t.type)continue;const n={css:t.css};t.columns&&(n.columns=t.columns),t.rows&&(n.rows=t.rows),g.push(n)}const b=d.length&&!r&&i.length?i.find(t=>!n[t]||!n[t].length||"number"!=typeof n[t].find(t=>null!=t)):null,m=r||b||null,$=m&&n[m]?n[m].map(t=>null==t?"":String(t)):null;return m&&!r&&(u.shift(),f.shift(),i=i.slice(1),a&&a.shift()),m&&!h&&(h=m),{visible:i,align:u,colLabels:f,colWidths:a,indent:p,stubLabel:h,stub:$,groups:d,styles:g,spanners:t.spanners||[],footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:e}}(t),{visible:i,align:u,colLabels:f,colWidths:a,indent:p,stubLabel:h,stub:d,groups:g,styles:b,spanners:m,footnotes:$,notes:y,header:w}=c,x=function(t){const n=[],o={};return t.forEach(t=>{null==o[t.text]&&(o[t.text]=n.length+1,n.push(t.text))}),{order:n,idx:o}}($),_=((t,n)=>(o,s)=>{for(const e of t){const t=e.location;if(t.type!==o)continue;const l=n[e.text];if("title"===o&&t.group===s.group)return l;if("column_labels"===o&&s.columns.every(n=>t.columns.indexOf(n)>=0))return l;if("column_spanners"===o&&s.spanners.every(n=>t.spanners.indexOf(n)>=0))return l;if("row_groups"===o){if("all"===t.match)return l;if("exact"===t.match&&t.values.indexOf(s.label)>=0)return l;if("starts_with"===t.match&&0===s.label.indexOf(t.value))return l}}return 0})($,x.idx),O=i.length+(d?1:0),v=['<table class="lt-table">'],L=(t,n)=>{const s=_(t,n);return s?o(s):""},j=i.map((t,n)=>{const o=(!d&&0===n&&g.length?"lt-indent ":"")+({right:"al-r",center:"al-c"}[u[n]]||"");return o?` class="${o.trimEnd()}"`:""}),k={};for(const t of b){const n=t.columns||i,o=t.rows;for(let s=1;s<=r;s++)if(!(o&&o.indexOf(s)<0))for(const o of n){const n=i.indexOf(o);if(n<0)continue;const e=`${s},${n}`;k[e]=k[e]?k[e]+";"+t.css:t.css}}if(a&&a.some(t=>t)){v.push("<colgroup>"),d&&v.push("<col>");for(let t=0;t<i.length;t++)v.push(a[t]?`<col style="width:${a[t]}">`:"<col>");v.push("</colgroup>")}const S=null!=w.title&&""!==w.title,T=null!=w.subtitle&&""!==w.subtitle;if((S||T)&&(v.push('<caption class="lt-caption">'),S&&v.push(`<div class="lt-title">${n(w.title)}${L("title",{group:"title"})}</div>`),T&&v.push(`<div class="lt-subtitle">${n(w.subtitle)}${L("title",{group:"subtitle"})}</div>`),v.push("</caption>")),v.push("<thead>"),m.length){v.push('<tr class="lt-spanner-row">'+(d?'<th class="lt-spanner-empty"></th>':""));for(let t=0;t<i.length;){const o=m.find(n=>n.columns[0]===i[t]);o?(v.push(`<th colspan="${o.columns.length}" scope="colgroup" class="lt-spanner">${n(o.label)}${L("column_spanners",{spanners:[o.label]})}</th>`),t+=o.columns.length):(v.push('<th class="lt-spanner-empty"></th>'),t++)}v.push("</tr>")}v.push("<tr>"+(d?`<th scope="col"${g.length?' class="lt-indent"':""}>${n(h)}</th>`:""));for(let t=0;t<i.length;t++)v.push(`<th scope="col"${j[t]}>${n(f[t])}${L("column_labels",{columns:[i[t]]})}</th>`);v.push("</tr></thead>");const E={};for(const t of $){if("body"!==t.location.type)continue;const n=x.idx[t.text],o=t.location.columns||[],s=t.location.rows;for(let t=1;t<=r;t++)if(!(s&&s.indexOf(t)<0))for(const s of o){const o=i.indexOf(s);o>=0&&(E[`${t},${o}`]=n)}}const N=t=>{if(v.push("<tr>"),d){const o=p[t-1]||0,s="lt-stub"+(g.length?" lt-indent":""),e=o?` style="padding-left:${o+1}em"`:"";v.push(`<th scope="row" class="${s}"${e}>${n(d[t-1])}</th>`)}for(let s=0;s<i.length;s++){const e=E[`${t},${s}`],r=k[`${t},${s}`],c=l[i[s]]?l[i[s]][t-1]:"";v.push(`<td${j[s]}${r?` style="${r}"`:""}>${n(c)}${e?o(e):""}</td>`)}v.push("</tr>")};if(v.push("<tbody>"),g.length){const t={};for(const o of g){v.push(`<tr class="lt-row-group"><th colspan="${O}" scope="colgroup">${n(o.label)}${L("row_groups",{label:o.label})}</th></tr>`);for(const n of o.rows)t[n]=1,N(n)}for(let n=1;n<=r;n++)t[n]||N(n)}else for(let t=1;t<=r;t++)N(t);if(v.push("</tbody>"),x.order.length||y.length){v.push('<tfoot class="lt-footer">'),x.order.forEach((t,s)=>v.push(`<tr class="lt-footnote"><td colspan="${O}">${o(s+1)} ${n(t)}</td></tr>`));for(const t of y)v.push(`<tr class="lt-source-note"><td colspan="${O}">${n(t)}</td></tr>`);v.push("</tfoot>")}return v.push("</table>"),v.join("")}const c=(t,n)=>t.insertAdjacentHTML("afterend",r(n)),i=t.LT&&t.LT.q||[];for(;i.length;){const t=i.shift();c(t.s,t.d)}t.LT={build(t){c(document.currentScript,t)},buildHtml:r,q:{push(t){c(t.s,t.d)}}}})(window);
1
+ (t=>{"use strict";if(t.LT&&t.LT.buildHtml)return;const n=t=>String(t).replace(/&/g,"&amp;").replace(/[<]/g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),o=t=>`<sup class="lt-fnref">${t}</sup>`,s=t=>"number"==typeof t&&!isNaN(t);function e(t,n,o){if(null==t||!s(t))return null;let e=null!=n?t.toFixed(n):String(t);if(/^-0(\.0+)?$/.test(e)&&(e=e.slice(1)),o){const t=e.split(".");t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,o),e=t.join(".")}return"-"===e[0]&&(e="−"+e.slice(1)),null!=n||o?e:null}function l(t,n){if(!n)return t.filter(t=>""!==t).join(" ");let o=n,s="";for(;o;){const n=o.match(/<<(.*?)>>/);if(!n){s+=r(o,t);break}n.index>0&&(s+=r(o.slice(0,n.index),t));const e=n[1],l=[...e.matchAll(/\{(\d+)\}/g)].map(t=>+t[1]);l.length&&!l.every(n=>""!==t[n-1])||(s+=r(e,t)),o=o.slice(n.index+n[0].length)}return s}function r(t,n){for(let o=0;o<n.length;o++)t=t.split("{"+(o+1)+"}").join(n[o]);return t}function c(t){const n=t.data||{},o=t.ops||[],r=Object.keys(n),c=r.length?n[r[0]].length:0,i={};for(const t of r)i[t]=n[t].map(t=>null==t?"":String(t));!function(t,n,o){if(!1===t.auto_fmt)return;const l=t.data||{},r=t.ops||[],c=Object.keys(l),i=new Set;for(const t of r)if("fmt_number"===t.type)for(const n of t.columns||c)i.add(n);const f=t=>{for(const n of r)if("label"===n.type&&n.labels&&null!=n.labels[t])return n.labels[t];return t};for(const t of c){if(i.has(t))continue;const r=l[t];if(!r||!r.length)continue;if("number"!=typeof r.find(t=>null!=t))continue;const c=f(t),u=/%|[ _](pct|percent)$/i.test(c);if(/year/i.test(c)&&r.every(t=>null==t||/^\d{4}$/.test(String(t))))continue;let a=0,p=0;for(const t of r){if(!s(t))continue;const n=Math.abs(u?100*t:t),o=n<1?0:Math.floor(Math.log10(n))+1;o>a&&(a=o);const e=String(t).match(/\.(\d+)/);if(!e)continue;const l=e[1].replace(/0+$/,"").length-(u?2:0);l>p&&(p=l)}p=Math.max(Math.min(p,Math.max(4-a,0)),0);for(let l=0;l<o;l++){const o=r[l];if(!s(o))continue;const c=e(u?100*o:o,p," ");null!=c&&(n[t][l]=c+(u?"%":""))}}}(t,i,c);for(const t of o){const o=t.columns||r;switch(t.type){case"fmt_number":for(const l of o)if(n[l])for(let o=0;o<c;o++){const r=n[l][o];if(null==r||!s(r))continue;const c=!0===t.percent?100*r:r,f=t.percent?"%":"",u=e(c,t.decimals,t.big_mark??"");null!=u?i[l][o]=u+f:f&&(i[l][o]=String(c)+f)}break;case"sub":for(const e of o)if(n[e])for(let o=0;o<c;o++){const l=n[e][o];null!=t.small&&s(l)&&0!==l&&Math.abs(l)<t.small?i[e][o]=t.small_text??"<"+t.small:null!=t.zero&&0===l?i[e][o]=t.zero:null!=t.missing&&null==l&&(i[e][o]=t.missing)}break;case"merge":{const n=t.columns;if(!n||n.length<2)break;const o=n[0];for(let s=0;s<c;s++){const e=n.map(t=>i[t]?i[t][s]:"");i[o][s]=l(e,t.pattern)}break}}}return{display:i,nRow:c}}function i(t){const{display:s,nRow:e}=c(t),{visible:l,align:r,colLabels:i,colWidths:f,indent:u,stubLabel:a,stub:p,groups:h,rowSpans:d,styles:g,spanners:b,footnotes:m,notes:$,header:y}=function(t){const n=t.data||{},o=t.ops||[],s=Object.keys(n),e=s.length?n[s[0]].length:0,l=Array.isArray(t.row_group)?t.row_group:t.row_group?[t.row_group]:[],r="string"==typeof t.row_group,c=t.row_label||null,i=new Set;for(const t of l)i.add(t);c&&i.add(c);for(const t of o)"merge"===t.type&&!1!==t.hide&&t.columns&&t.columns.slice(1).forEach(t=>i.add(t));let f=s.filter(t=>!i.has(t));for(const t of o){if("move"!==t.type)continue;const n=(t.columns||[]).filter(t=>f.includes(t));if(!n.length)continue;const o=f.filter(t=>!n.includes(t));if(null==t.after)f=[...n,...o];else{const s=o.indexOf(t.after);s>=0&&(f=[...o.slice(0,s+1),...n,...o.slice(s+1)])}}const u=f.map(t=>{const o=n[t];return o&&o.length&&"number"==typeof o.find(t=>null!=t)?"right":"left"});for(const t of o)if("align"===t.type)for(const n of t.columns||[]){const o=f.indexOf(n);o>=0&&(u[o]=t.align)}const a=[...f];for(const t of o)if("label"===t.type&&t.labels)for(const[n,o]of Object.entries(t.labels)){const t=f.indexOf(n);t>=0&&(a[t]=o)}let p=null;for(const t of o)if("width"===t.type&&t.widths){p||(p=f.map(()=>""));for(const[n,o]of Object.entries(t.widths)){const t=f.indexOf(n);t>=0&&(p[t]=o)}}const h=new Array(e).fill(0);for(const t of o)if("indent"===t.type&&t.rows)for(const n of t.rows)h[n-1]=t.level??1;let d="";for(const t of o)"stubhead"===t.type&&(d=t.label);let g=[];if(r&&l.length&&n[l[0]]){const t=n[l[0]];let o=0;for(;o<e;){const n=null==t[o]?"":String(t[o]),s=[o+1];for(;++o<e&&String(t[o]??"")===n;)s.push(o+1);g.push({label:n,rows:s})}}for(const t of o)"row_group"===t.type&&g.push({label:t.label,rows:t.rows});for(const t of o){if("group_order"!==t.type||!g.length)continue;const n=t.order||[],o=[],s=[];for(const t of n){const n=g.find(n=>n.label===t);n&&o.push(n)}for(const t of g)o.includes(t)||s.push(t);g=[...o,...s]}const b=[];if(!r&&l.length)for(const t of l){const s=n[t]||[],l=new Array(e).fill(0);let r=0;for(;r<e;){const t=String(s[r]??"");let n=r+1;for(;n<e&&String(s[n]??"")===t;)n++;l[r]=n-r,r=n}let c=t;for(const n of o)"label"===n.type&&n.labels&&null!=n.labels[t]&&(c=n.labels[t]);b.push({col:t,label:c,spans:l})}const m=[];for(const t of o){if("style"!==t.type)continue;const n={css:t.css};t.columns&&(n.columns=t.columns),t.rows&&(n.rows=t.rows),m.push(n)}const $=g.length&&!c&&f.length?f.find(t=>!n[t]||!n[t].length||"number"!=typeof n[t].find(t=>null!=t)):null,y=c||$||null,w=y&&n[y]?n[y].map(t=>null==t?"":String(t)):null;return y&&!c&&(u.shift(),a.shift(),f=f.slice(1),p&&p.shift()),y&&!d&&(d=y),{visible:f,align:u,colLabels:a,colWidths:p,indent:h,stubLabel:d,stub:w,groups:g,rowSpans:b,styles:m,spanners:t.spanners||[],footnotes:t.footnotes||[],notes:t.notes||[],header:t.header||{},nRow:e}}(t),w=function(t){const n=[],o={};return t.forEach(t=>{null==o[t.text]&&(o[t.text]=n.length+1,n.push(t.text))}),{order:n,idx:o}}(m),x=((t,n)=>(o,s)=>{for(const e of t){const t=e.location;if(t.type!==o)continue;const l=n[e.text];if("title"===o&&t.group===s.group)return l;if("column_labels"===o&&s.columns.every(n=>t.columns.indexOf(n)>=0))return l;if("column_spanners"===o&&s.spanners.every(n=>t.spanners.indexOf(n)>=0))return l;if("row_groups"===o){if("all"===t.match)return l;if("exact"===t.match&&t.values.indexOf(s.label)>=0)return l;if("starts_with"===t.match&&0===s.label.indexOf(t.value))return l}}return 0})(m,w.idx),_=d.length,O=l.length+(p?1:0)+_,S=['<table class="lt-table">'],v=(t,n)=>{const s=x(t,n);return s?o(s):""},j=l.map((t,n)=>{const o=(!p&&0===n&&h.length?"lt-indent ":"")+({right:"al-r",center:"al-c"}[r[n]]||"");return o?` class="${o.trimEnd()}"`:""}),L={};for(const t of g){const n=t.columns||l,o=t.rows;for(let s=1;s<=e;s++)if(!(o&&o.indexOf(s)<0))for(const o of n){const n=l.indexOf(o);if(n<0)continue;const e=`${s},${n}`;L[e]=L[e]?L[e]+";"+t.css:t.css}}if(f&&f.some(t=>t)){S.push("<colgroup>"),p&&S.push("<col>");for(let t=0;t<l.length;t++)S.push(f[t]?`<col style="width:${f[t]}">`:"<col>");S.push("</colgroup>")}const k=null!=y.title&&""!==y.title,M=null!=y.subtitle&&""!==y.subtitle;if((k||M)&&(S.push('<caption class="lt-caption">'),k&&S.push(`<div class="lt-title">${n(y.title)}${v("title",{group:"title"})}</div>`),M&&S.push(`<div class="lt-subtitle">${n(y.subtitle)}${v("title",{group:"subtitle"})}</div>`),S.push("</caption>")),S.push("<thead>"),b.length){S.push('<tr class="lt-spanner-row">');for(let t=0;t<_;t++)S.push('<th class="lt-spanner-empty"></th>');p&&S.push('<th class="lt-spanner-empty"></th>');for(let t=0;t<l.length;){const o=b.find(n=>n.columns[0]===l[t]);o?(S.push(`<th colspan="${o.columns.length}" scope="colgroup" class="lt-spanner">${n(o.label)}${v("column_spanners",{spanners:[o.label]})}</th>`),t+=o.columns.length):(S.push('<th class="lt-spanner-empty"></th>'),t++)}S.push("</tr>")}S.push("<tr>");for(const t of d)S.push(`<th scope="col">${n(t.label)}</th>`);p&&S.push(`<th scope="col"${h.length?' class="lt-indent"':""}>${n(a)}</th>`);for(let t=0;t<l.length;t++)S.push(`<th scope="col"${j[t]}>${n(i[t])}${v("column_labels",{columns:[l[t]]})}</th>`);S.push("</tr></thead>");const A={};for(const t of m){if("body"!==t.location.type)continue;const n=w.idx[t.text],o=t.location.columns||[],s=t.location.rows;for(let t=1;t<=e;t++)if(!(s&&s.indexOf(t)<0))for(const s of o){const o=l.indexOf(s);o>=0&&(A[`${t},${o}`]=n)}}const T=t=>{S.push("<tr>");for(const o of d){const e=o.spans[t-1];e>0&&S.push(`<th scope="row" class="lt-row-group"${e>1?` rowspan="${e}"`:""}>${n(s[o.col]?s[o.col][t-1]:"")}</th>`)}if(p){const o=u[t-1]||0,s="lt-stub"+(h.length?" lt-indent":""),e=o?` style="padding-left:${o+1}em"`:"";S.push(`<th scope="row" class="${s}"${e}>${n(p[t-1])}</th>`)}for(let e=0;e<l.length;e++){const r=A[`${t},${e}`],c=L[`${t},${e}`],i=s[l[e]]?s[l[e]][t-1]:"";S.push(`<td${j[e]}${c?` style="${c}"`:""}>${n(i)}${r?o(r):""}</td>`)}S.push("</tr>")};if(S.push("<tbody>"),h.length){const t={};for(const o of h){S.push(`<tr class="lt-row-group"><th colspan="${O}" scope="colgroup">${n(o.label)}${v("row_groups",{label:o.label})}</th></tr>`);for(const n of o.rows)t[n]=1,T(n)}for(let n=1;n<=e;n++)t[n]||T(n)}else for(let t=1;t<=e;t++)T(t);if(S.push("</tbody>"),w.order.length||$.length){S.push('<tfoot class="lt-footer">'),w.order.forEach((t,s)=>S.push(`<tr class="lt-footnote"><td colspan="${O}">${o(s+1)} ${n(t)}</td></tr>`));for(const t of $)S.push(`<tr class="lt-source-note"><td colspan="${O}">${n(t)}</td></tr>`);S.push("</tfoot>")}return S.push("</table>"),S.join("")}const f=(t,n)=>t.insertAdjacentHTML("afterend",i(n)),u=t.LT&&t.LT.q||[];for(;u.length;){const t=u.shift();f(t.s,t.d)}t.LT={build(t){f(document.currentScript,t)},buildHtml:i,q:{push(t){f(t.s,t.d)}}}})(window);
2
2
  //# sourceMappingURL=lt.min.js.map
package/js/lt.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["root","LT","buildHtml","esc","s","String","replace","sup","i","fmtNumber","v","decimals","bigMark","isNaN","toFixed","parts","split","join","mergeVals","vals","pattern","filter","remaining","result","m","match","subRefs","index","slice","block","refs","matchAll","map","x","length","every","spec","display","nRow","data","ops","colNames","Object","keys","c","op","cols","columns","type","f","big_mark","raw","small","Math","abs","small_text","zero","missing","mCols","target","applyOps","res","rowGroupCol","row_group","rowLabelCol","row_label","hidden","Set","add","hide","forEach","visible","has","toMove","includes","rest","after","pos","indexOf","align","col","find","colLabels","labels","lbl","entries","colWidths","widths","w","indent","Array","fill","rows","r","level","stubLabel","label","groups","gCol","push","order","ordered","g","styles","css","autoStub","stubCol","stub","shift","spanners","footnotes","notes","header","resolveSpec","fns","hdr","reg","idx","text","indexFootnotes","fIdx","p","loc","location","hit","group","values","value","matcher","nCol","out","mark","colCls","_","right","center","trimEnd","styleMap","sCols","sRows","ci","key","some","hasT","title","hasS","subtitle","k","sp","bodyMarks","fi","fcols","frows","pushRow","ind","cls","style","val","seen","txt","n","mount","insertAdjacentHTML","q","e","d","build","document","currentScript","window"],"sources":["lt.js"],"mappings":"AAIA,CAACA,IACC,aACA,GAAIA,EAAKC,IAAMD,EAAKC,GAAGC,UAAW,OAGlC,MAAMC,EAAMC,GAAKC,OAAOD,GACrBE,QAAQ,KAAM,SAASA,QAAQ,OAAQ,QACvCA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UACjCC,EAAMC,GAAK,yBAAyBA,UAG1C,SAASC,EAAUC,EAAGC,EAAUC,GAC9B,GAAS,MAALF,GAA0B,iBAANA,GAAkBG,MAAMH,GAAI,OAAO,KAC3D,IAAIN,EAAgB,MAAZO,EAAmBD,EAAEI,QAAQH,GAAYN,OAAOK,GACxD,GAAIE,EAAS,CACX,MAAMG,EAAQX,EAAEY,MAAM,KACtBD,EAAM,GAAKA,EAAM,GAAGT,QAAQ,wBAAyBM,GACrDR,EAAIW,EAAME,KAAK,IACjB,CACA,OAAmB,MAAZN,GAAoBC,EAAUR,EAAI,IAC3C,CAGA,SAASc,EAAUC,EAAMC,GACvB,IAAKA,EAAS,OAAOD,EAAKE,OAAOX,GAAW,KAANA,GAAUO,KAAK,KACrD,IAAIK,EAAYF,EAASG,EAAS,GAClC,KAAOD,GAAW,CAChB,MAAME,EAAIF,EAAUG,MAAM,aAC1B,IAAKD,EAAG,CAAED,GAAUG,EAAQJ,EAAWH,GAAO,KAAO,CACjDK,EAAEG,MAAQ,IAAGJ,GAAUG,EAAQJ,EAAUM,MAAM,EAAGJ,EAAEG,OAAQR,IAChE,MAAMU,EAAQL,EAAE,GACVM,EAAO,IAAID,EAAME,SAAS,eAAeC,IAAIC,IAAMA,EAAE,IACtDH,EAAKI,SAAUJ,EAAKK,MAAM3B,GAAqB,KAAhBW,EAAKX,EAAI,MAC3Ce,GAAUG,EAAQG,EAAOV,IAC3BG,EAAYA,EAAUM,MAAMJ,EAAEG,MAAQH,EAAE,GAAGU,OAC7C,CACA,OAAOX,CACT,CACA,SAASG,EAAQtB,EAAGe,GAClB,IAAK,IAAIX,EAAI,EAAGA,EAAIW,EAAKe,OAAQ1B,IAC/BJ,EAAIA,EAAEY,MAAM,KAAOR,EAAI,GAAK,KAAKS,KAAKE,EAAKX,IAC7C,OAAOJ,CACT,CA2OA,SAASF,EAAUkC,GACjB,MAAMC,QAAEA,EAAOC,KAAEA,GAzOnB,SAAkBF,GAChB,MAAMG,EAAOH,EAAKG,MAAQ,CAAC,EACrBC,EAAMJ,EAAKI,KAAO,GAClBC,EAAWC,OAAOC,KAAKJ,GACvBD,EAAOG,EAASP,OAASK,EAAKE,EAAS,IAAIP,OAAS,EAGpDG,EAAU,CAAC,EACjB,IAAK,MAAMO,KAAKH,EACdJ,EAAQO,GAAKL,EAAKK,GAAGZ,IAAItB,GAAU,MAALA,EAAY,GAAKL,OAAOK,IAGxD,IAAK,MAAMmC,KAAML,EAAK,CACpB,MAAMM,EAAOD,EAAGE,SAAWN,EAC3B,OAAQI,EAAGG,MACT,IAAK,aACH,IAAK,MAAMJ,KAAKE,EACd,GAAKP,EAAKK,GACV,IAAK,IAAIpC,EAAI,EAAGA,EAAI8B,EAAM9B,IAAK,CAC7B,MACMyC,EAAIxC,EADE8B,EAAKK,GAAGpC,GACKqC,EAAGlC,SAAUkC,EAAGK,UAAY,IAC5C,MAALD,IAAWZ,EAAQO,GAAGpC,GAAKyC,EACjC,CAEF,MACF,IAAK,MACH,IAAK,MAAML,KAAKE,EACd,GAAKP,EAAKK,GACV,IAAK,IAAIpC,EAAI,EAAGA,EAAI8B,EAAM9B,IAAK,CAC7B,MAAM2C,EAAMZ,EAAKK,GAAGpC,GACJ,MAAZqC,EAAGO,OAAgC,iBAARD,GAA4B,IAARA,IAC9CtC,MAAMsC,IAAe,MAAPA,GAAeE,KAAKC,IAAIH,GAAON,EAAGO,MACnDf,EAAQO,GAAGpC,GAAKqC,EAAGU,YAAe,IAAMV,EAAGO,MACvB,MAAXP,EAAGW,MAAwB,IAARL,EAC5Bd,EAAQO,GAAGpC,GAAKqC,EAAGW,KACI,MAAdX,EAAGY,SAA0B,MAAPN,IAC/Bd,EAAQO,GAAGpC,GAAKqC,EAAGY,QAEvB,CAEF,MACF,IAAK,QAAS,CACZ,MAAMC,EAAQb,EAAGE,QACjB,IAAKW,GAASA,EAAMxB,OAAS,EAAG,MAChC,MAAMyB,EAASD,EAAM,GACrB,IAAK,IAAIlD,EAAI,EAAGA,EAAI8B,EAAM9B,IAAK,CAC7B,MAAMW,EAAOuC,EAAM1B,IAAIY,GAAKP,EAAQO,GAAKP,EAAQO,GAAGpC,GAAK,IACzD6B,EAAQsB,GAAQnD,GAAKU,EAAUC,EAAM0B,EAAGzB,QAC1C,CACA,KACF,EAEJ,CACA,MAAO,CAAEiB,UAASC,OACpB,CAmL4BsB,CAASxB,GAC7ByB,EAjLR,SAAqBzB,GACnB,MAAMG,EAAOH,EAAKG,MAAQ,CAAC,EACrBC,EAAMJ,EAAKI,KAAO,GAClBC,EAAWC,OAAOC,KAAKJ,GACvBD,EAAOG,EAASP,OAASK,EAAKE,EAAS,IAAIP,OAAS,EAGpD4B,EAAc1B,EAAK2B,WAAa,KAChCC,EAAc5B,EAAK6B,WAAa,KAGhCC,EAAS,IAAIC,IACfL,GAAaI,EAAOE,IAAIN,GACxBE,GAAaE,EAAOE,IAAIJ,GAC5B,IAAK,MAAMnB,KAAML,EACC,UAAZK,EAAGG,OAAgC,IAAZH,EAAGwB,MAAkBxB,EAAGE,SACjDF,EAAGE,QAAQnB,MAAM,GAAG0C,QAAQ1B,GAAKsB,EAAOE,IAAIxB,IAIhD,IAAI2B,EAAU9B,EAASpB,OAAOuB,IAAMsB,EAAOM,IAAI5B,IAG/C,IAAK,MAAMC,KAAML,EAAK,CACpB,GAAgB,cAAZK,EAAGG,KAAsB,SAC7B,MAAMyB,GAAU5B,EAAGE,SAAW,IAAI1B,OAAOuB,GAAK2B,EAAQG,SAAS9B,IAC/D,IAAK6B,EAAOvC,OAAQ,SACpB,MAAMyC,EAAOJ,EAAQlD,OAAOuB,IAAM6B,EAAOC,SAAS9B,IAClD,GAAgB,MAAZC,EAAG+B,MACLL,EAAU,IAAIE,KAAWE,OACpB,CACL,MAAME,EAAMF,EAAKG,QAAQjC,EAAG+B,OACxBC,GAAO,IAAGN,EAAU,IAAII,EAAK/C,MAAM,EAAGiD,EAAM,MAAOJ,KAAWE,EAAK/C,MAAMiD,EAAM,IACrF,CACF,CAGA,MAAME,EAAQR,EAAQvC,IAAIY,IACxB,MAAMoC,EAAMzC,EAAKK,GACjB,OAAOoC,GAAOA,EAAI9C,QAA8C,iBAA7B8C,EAAIC,KAAKvE,GAAU,MAALA,GAA0B,QAAU,SAEvF,IAAK,MAAMmC,KAAML,EACf,GAAgB,UAAZK,EAAGG,KACP,IAAK,MAAMJ,KAAMC,EAAGE,SAAW,GAAK,CAClC,MAAMvC,EAAI+D,EAAQO,QAAQlC,GACtBpC,GAAK,IAAGuE,EAAMvE,GAAKqC,EAAGkC,MAC5B,CAIF,MAAMG,EAAY,IAAIX,GACtB,IAAK,MAAM1B,KAAML,EACf,GAAgB,eAAZK,EAAGG,MAA0BH,EAAGsC,OACpC,IAAK,MAAOvC,EAAGwC,KAAQ1C,OAAO2C,QAAQxC,EAAGsC,QAAS,CAChD,MAAM3E,EAAI+D,EAAQO,QAAQlC,GACtBpC,GAAK,IAAG0E,EAAU1E,GAAK4E,EAC7B,CAIF,IAAIE,EAAY,KAChB,IAAK,MAAMzC,KAAML,EACf,GAAgB,eAAZK,EAAGG,MAA0BH,EAAG0C,OAApC,CACKD,IAAWA,EAAYf,EAAQvC,IAAI,IAAM,KAC9C,IAAK,MAAOY,EAAG4C,KAAM9C,OAAO2C,QAAQxC,EAAG0C,QAAS,CAC9C,MAAM/E,EAAI+D,EAAQO,QAAQlC,GACtBpC,GAAK,IAAG8E,EAAU9E,GAAKgF,EAC7B,CALoD,CAStD,MAAMC,EAAS,IAAIC,MAAMpD,GAAMqD,KAAK,GACpC,IAAK,MAAM9C,KAAML,EACf,GAAgB,WAAZK,EAAGG,MAAsBH,EAAG+C,KAChC,IAAK,MAAMC,KAAKhD,EAAG+C,KAAMH,EAAOI,EAAI,GAAKhD,EAAGiD,OAAS,EAIvD,IAAIC,EAAY,GAChB,IAAK,MAAMlD,KAAML,EACC,aAAZK,EAAGG,OAAqB+C,EAAYlD,EAAGmD,OAI7C,IAAIC,EAAS,GACb,GAAInC,GAAevB,EAAKuB,GAAc,CACpC,MAAMoC,EAAO3D,EAAKuB,GAClB,IAAItD,EAAI,EACR,KAAOA,EAAI8B,GAAM,CACf,MAAM0D,EAAmB,MAAXE,EAAK1F,GAAa,GAAKH,OAAO6F,EAAK1F,IAC3CoF,EAAO,CAACpF,EAAI,GAClB,OAASA,EAAI8B,GAAQjC,OAAO6F,EAAK1F,IAAM,MAAQwF,GAAOJ,EAAKO,KAAK3F,EAAI,GACpEyF,EAAOE,KAAK,CAAEH,QAAOJ,QACvB,CACF,CAEA,IAAK,MAAM/C,KAAML,EACC,cAAZK,EAAGG,MAAsBiD,EAAOE,KAAK,CAAEH,MAAOnD,EAAGmD,MAAOJ,KAAM/C,EAAG+C,OAGvE,IAAK,MAAM/C,KAAML,EAAK,CACpB,GAAgB,gBAAZK,EAAGG,OAA2BiD,EAAO/D,OAAQ,SACjD,MAAMkE,EAAQvD,EAAGuD,OAAS,GACpBC,EAAU,GAAI1B,EAAO,GAC3B,IAAK,MAAMS,KAAOgB,EAAO,CACvB,MAAME,EAAIL,EAAOhB,KAAKhD,GAAKA,EAAE+D,QAAUZ,GACnCkB,GAAGD,EAAQF,KAAKG,EACtB,CACA,IAAK,MAAMA,KAAKL,EAAaI,EAAQ3B,SAAS4B,IAAI3B,EAAKwB,KAAKG,GAC5DL,EAAS,IAAII,KAAY1B,EAC3B,CAGA,MAAM4B,EAAS,GACf,IAAK,MAAM1D,KAAML,EAAK,CACpB,GAAgB,UAAZK,EAAGG,KAAkB,SACzB,MAAM5C,EAAI,CAAEoG,IAAK3D,EAAG2D,KAChB3D,EAAGE,UAAS3C,EAAE2C,QAAUF,EAAGE,SAC3BF,EAAG+C,OAAMxF,EAAEwF,KAAO/C,EAAG+C,MACzBW,EAAOJ,KAAK/F,EACd,CAGA,MAAMqG,EAAWR,EAAO/D,SAAW8B,GAAeO,EAAQrC,OACtDqC,EAAQU,KAAKrC,IAAML,EAAKK,KAAOL,EAAKK,GAAGV,QAAkD,iBAAjCK,EAAKK,GAAGqC,KAAKvE,GAAU,MAALA,IAC1E,KACEgG,EAAU1C,GAAeyC,GAAY,KACrCE,EAAOD,GAAWnE,EAAKmE,GACzBnE,EAAKmE,GAAS1E,IAAItB,GAAU,MAALA,EAAY,GAAKL,OAAOK,IAC/C,KAOJ,OANIgG,IAAY1C,IACde,EAAM6B,QAAS1B,EAAU0B,QAASrC,EAAUA,EAAQ3C,MAAM,GACtD0D,GAAWA,EAAUsB,SAEvBF,IAAYX,IAAWA,EAAYW,GAEhC,CACLnC,UAASQ,QAAOG,YAAWI,YAAWG,SAAQM,YAAWY,OACzDV,SAAQM,SACRM,SAAUzE,EAAKyE,UAAY,GAC3BC,UAAW1E,EAAK0E,WAAa,GAC7BC,MAAO3E,EAAK2E,OAAS,GACrBC,OAAQ5E,EAAK4E,QAAU,CAAC,EACxB1E,OAEJ,CAgCc2E,CAAY7E,IAChBmC,QAASzB,EAAIiC,MAAEA,EAAKG,UAAEA,EAASI,UAAEA,EAASG,OAAEA,EAAMM,UAAEA,EAASY,KAC7DA,EAAIV,OAAEA,EAAMM,OAAEA,EAAMM,SAAEA,EAAUC,UAAWI,EAAGH,MAAEA,EAAOC,OAAQG,GAAQtD,EACzEuD,EAhCR,SAAwBF,GACtB,MAAMd,EAAQ,GAAIiB,EAAM,CAAC,EAIzB,OAHAH,EAAI5C,QAAQrB,IACS,MAAfoE,EAAIpE,EAAEqE,QAAiBD,EAAIpE,EAAEqE,MAAQlB,EAAMlE,OAAS,EAAGkE,EAAMD,KAAKlD,EAAEqE,SAEnE,CAAElB,QAAOiB,MAClB,CA0BcE,CAAeL,GACrBM,EAzBQ,EAACN,EAAKG,IAAQ,CAACrE,EAAMyE,KACnC,IAAK,MAAMxE,KAAKiE,EAAK,CACnB,MAAMQ,EAAMzE,EAAE0E,SACd,GAAID,EAAI1E,OAASA,EAAM,SACvB,MAAM4E,EAAMP,EAAIpE,EAAEqE,MAClB,GAAa,UAATtE,GAAoB0E,EAAIG,QAAUJ,EAAEI,MAAO,OAAOD,EACtD,GAAa,kBAAT5E,GACAyE,EAAE1E,QAAQZ,MAAMS,GAAK8E,EAAI3E,QAAQ+B,QAAQlC,IAAM,GAAI,OAAOgF,EAC9D,GAAa,oBAAT5E,GACAyE,EAAEZ,SAAS1E,MAAM/B,GAAKsH,EAAIb,SAAS/B,QAAQ1E,IAAM,GAAI,OAAOwH,EAChE,GAAa,eAAT5E,EAAuB,CACzB,GAAkB,QAAd0E,EAAIjG,MAAiB,OAAOmG,EAChC,GAAkB,UAAdF,EAAIjG,OAAqBiG,EAAII,OAAOhD,QAAQ2C,EAAEzB,QAAU,EAAG,OAAO4B,EACtE,GAAkB,gBAAdF,EAAIjG,OAA0D,IAA/BgG,EAAEzB,MAAMlB,QAAQ4C,EAAIK,OAAc,OAAOH,CAC9E,CACF,CACA,OAAO,GASMI,CAAQd,EAAKE,EAAIC,KACxBY,EAAOnF,EAAKZ,QAAUyE,EAAO,EAAI,GACjCuB,EAAM,CAAC,4BACPC,EAAO,CAACnF,EAAMyE,KAAQ,MAAMjH,EAAIgH,EAAKxE,EAAMyE,GAAI,OAAOjH,EAAID,EAAIC,GAAK,IACnE4H,EAAStF,EAAKd,IAAI,CAACqG,EAAG7H,KAC1B,MAAMoC,IAAM+D,GAAc,IAANnG,GAAWyF,EAAO/D,OAAS,aAAe,KAC3D,CAACoG,MAAO,OAAQC,OAAQ,QAAQxD,EAAMvE,KAAO,IAChD,OAAOoC,EAAI,WAAWA,EAAE4F,aAAe,KAInCC,EAAW,CAAC,EAClB,IAAK,MAAMrI,KAAKmG,EAAQ,CACtB,MAAMmC,EAAQtI,EAAE2C,SAAWD,EAAM6F,EAAQvI,EAAEwF,KAC3C,IAAK,IAAIC,EAAI,EAAGA,GAAKvD,EAAMuD,IACzB,KAAI8C,GAASA,EAAM7D,QAAQe,GAAK,GAChC,IAAK,MAAMjD,KAAK8F,EAAO,CACrB,MAAME,EAAK9F,EAAKgC,QAAQlC,GACxB,GAAIgG,EAAK,EAAG,SACZ,MAAMC,EAAM,GAAGhD,KAAK+C,IACpBH,EAASI,GAAOJ,EAASI,GAAOJ,EAASI,GAAO,IAAMzI,EAAEoG,IAAMpG,EAAEoG,GAClE,CAEJ,CAGA,GAAIlB,GAAaA,EAAUwD,KAAKtD,GAAKA,GAAI,CACvC0C,EAAI/B,KAAK,cACLQ,GAAMuB,EAAI/B,KAAK,SACnB,IAAK,IAAI3F,EAAI,EAAGA,EAAIsC,EAAKZ,OAAQ1B,IAC/B0H,EAAI/B,KAAKb,EAAU9E,GAAK,qBAAqB8E,EAAU9E,OAAS,SAClE0H,EAAI/B,KAAK,cACX,CAGA,MAAM4C,EAAoB,MAAb5B,EAAI6B,OAA+B,KAAd7B,EAAI6B,MAChCC,EAAuB,MAAhB9B,EAAI+B,UAAqC,KAAjB/B,EAAI+B,SAUzC,IATIH,GAAQE,KACVf,EAAI/B,KAAK,gCACL4C,GAAMb,EAAI/B,KAAK,yBAAyBhG,EAAIgH,EAAI6B,SAASb,EAAK,QAAS,CAAEN,MAAO,mBAChFoB,GAAMf,EAAI/B,KAAK,4BAA4BhG,EAAIgH,EAAI+B,YAAYf,EAAK,QAAS,CAAEN,MAAO,sBAC1FK,EAAI/B,KAAK,eAIX+B,EAAI/B,KAAK,WACLU,EAAS3E,OAAQ,CACnBgG,EAAI/B,KAAK,+BAA8BQ,EAAO,qCAAuC,KACrF,IAAK,IAAIwC,EAAI,EAAGA,EAAIrG,EAAKZ,QAAS,CAChC,MAAMkH,EAAKvC,EAAS5B,KAAK7E,GAAKA,EAAE2C,QAAQ,KAAOD,EAAKqG,IAChDC,GACFlB,EAAI/B,KAAK,gBAAgBiD,EAAGrG,QAAQb,+CAA+C/B,EAAIiJ,EAAGpD,SAASmC,EAAK,kBAAmB,CAAEtB,SAAU,CAACuC,EAAGpD,iBAC3ImD,GAAKC,EAAGrG,QAAQb,SAEhBgG,EAAI/B,KAAK,sCACTgD,IAEJ,CACAjB,EAAI/B,KAAK,QACX,CACA+B,EAAI/B,KAAK,QAAOQ,EAAO,kBAAkBV,EAAO/D,OAAS,qBAAuB,MAAM/B,EAAI4F,UAAoB,KAC9G,IAAK,IAAIvF,EAAI,EAAGA,EAAIsC,EAAKZ,OAAQ1B,IAC/B0H,EAAI/B,KAAK,kBAAkBiC,EAAO5H,MAAML,EAAI+E,EAAU1E,MAAM2H,EAAK,gBAAiB,CAAEpF,QAAS,CAACD,EAAKtC,cACrG0H,EAAI/B,KAAK,iBAGT,MAAMkD,EAAY,CAAC,EACnB,IAAK,MAAMpG,KAAKiE,EAAK,CACnB,GAAwB,SAApBjE,EAAE0E,SAAS3E,KAAiB,SAChC,MAAMsG,EAAKlC,EAAIC,IAAIpE,EAAEqE,MACfiC,EAAQtG,EAAE0E,SAAS5E,SAAW,GAC9ByG,EAAQvG,EAAE0E,SAAS/B,KACzB,IAAK,IAAIC,EAAI,EAAGA,GAAKvD,EAAMuD,IACzB,KAAI2D,GAASA,EAAM1E,QAAQe,GAAK,GAChC,IAAK,MAAMjD,KAAK2G,EAAO,CACrB,MAAMX,EAAK9F,EAAKgC,QAAQlC,GACpBgG,GAAM,IAAGS,EAAU,GAAGxD,KAAK+C,KAAQU,EACzC,CAEJ,CAGA,MAAMG,EAAU5D,IAEd,GADAqC,EAAI/B,KAAK,QACLQ,EAAM,CACR,MAAM+C,EAAMjE,EAAOI,EAAI,IAAM,EACvB8D,EAAM,WAAU1D,EAAO/D,OAAS,aAAe,IAC/C0H,EAAQF,EAAM,wBAAwBA,EAAM,OAAS,GAC3DxB,EAAI/B,KAAK,0BAA0BwD,KAAOC,KAASzJ,EAAIwG,EAAKd,EAAI,WAClE,CACA,IAAK,IAAI+C,EAAK,EAAGA,EAAK9F,EAAKZ,OAAQ0G,IAAM,CACvC,MAAMpH,EAAI6H,EAAU,GAAGxD,KAAK+C,KACtBxI,EAAIqI,EAAS,GAAG5C,KAAK+C,KACrBiB,EAAMxH,EAAQS,EAAK8F,IAAOvG,EAAQS,EAAK8F,IAAK/C,EAAI,GAAK,GAC3DqC,EAAI/B,KAAK,MAAMiC,EAAOQ,KAAMxI,EAAI,WAAWA,KAAO,MAAMD,EAAI0J,KAAOrI,EAAIjB,EAAIiB,GAAK,UAClF,CACA0G,EAAI/B,KAAK,UAKX,GADA+B,EAAI/B,KAAK,WACLF,EAAO/D,OAAQ,CACjB,MAAM4H,EAAO,CAAC,EACd,IAAK,MAAMxD,KAAKL,EAAQ,CACtBiC,EAAI/B,KAAK,yCAAyC8B,uBAA0B9H,EAAImG,EAAEN,SAASmC,EAAK,aAAc,CAAEnC,MAAOM,EAAEN,qBACzH,IAAK,MAAMH,KAAKS,EAAEV,KAAQkE,EAAKjE,GAAK,EAAG4D,EAAQ5D,EACjD,CACA,IAAK,IAAIA,EAAI,EAAGA,GAAKvD,EAAMuD,IAAUiE,EAAKjE,IAAI4D,EAAQ5D,EACxD,MACE,IAAK,IAAIA,EAAI,EAAGA,GAAKvD,EAAMuD,IAAK4D,EAAQ5D,GAK1C,GAHAqC,EAAI/B,KAAK,YAGLiB,EAAIhB,MAAMlE,QAAU6E,EAAM7E,OAAQ,CACpCgG,EAAI/B,KAAK,6BACTiB,EAAIhB,MAAM9B,QAAQ,CAACyF,EAAKvJ,IAAM0H,EAAI/B,KAChC,wCAAwC8B,MAAS1H,EAAIC,EAAI,MAAML,EAAI4J,iBACrE,IAAK,MAAMC,KAAKjD,EACdmB,EAAI/B,KAAK,2CAA2C8B,MAAS9H,EAAI6J,gBACnE9B,EAAI/B,KAAK,WACX,CAGA,OADA+B,EAAI/B,KAAK,YACF+B,EAAIjH,KAAK,GAClB,CAEA,MAAMgJ,EAAQ,CAAC7J,EAAGgC,IAAShC,EAAE8J,mBAAmB,WAAYhK,EAAUkC,IAEhE+H,EAAInK,EAAKC,IAAMD,EAAKC,GAAGkK,GAAK,GAClC,KAAOA,EAAEjI,QAAQ,CAAE,MAAMkI,EAAID,EAAEvD,QAASqD,EAAMG,EAAEhK,EAAGgK,EAAEC,EAAI,CACzDrK,EAAKC,GAAK,CAAE,KAAAqK,CAAMlI,GAAQ6H,EAAMM,SAASC,cAAepI,EAAO,EAAGlC,YAChEiK,EAAG,CAAE,IAAAhE,CAAKiE,GAAKH,EAAMG,EAAEhK,EAAGgK,EAAEC,EAAI,GACnC,EAhaD,CAgaGI","ignoreList":[]}
1
+ {"version":3,"names":["root","LT","buildHtml","esc","s","String","replace","sup","i","isNum","v","isNaN","fmtNumber","decimals","bigMark","toFixed","test","slice","parts","split","join","mergeVals","vals","pattern","filter","remaining","result","m","match","subRefs","index","block","refs","matchAll","map","x","length","every","applyOps","spec","data","ops","colNames","Object","keys","nRow","display","c","auto_fmt","fmtCols","Set","op","type","columns","add","getLabel","labels","has","col","find","lbl","pct","maxInt","n","a","Math","abs","intW","floor","log10","d","max","min","autoFmt","cols","raw","percent","sfx","f","big_mark","small","small_text","zero","missing","mCols","target","visible","align","colLabels","colWidths","indent","stubLabel","stub","groups","rowSpans","styles","spanners","footnotes","fns","notes","header","hdr","rowGroupCols","Array","isArray","row_group","rowGroupSep","rowLabelCol","row_label","hidden","g","hide","forEach","toMove","includes","rest","after","pos","indexOf","entries","widths","w","fill","rows","r","level","label","gCol","push","order","ordered","gc","spans","j","css","autoStub","stubCol","shift","resolveSpec","reg","idx","text","indexFootnotes","fIdx","p","loc","location","hit","group","values","value","matcher","nGrp","nCol","out","mark","colCls","_","right","center","trimEnd","styleMap","sCols","sRows","ci","key","some","hasT","title","hasS","subtitle","k","sp","rs","bodyMarks","fi","fcols","frows","pushRow","span","ind","cls","style","val","seen","txt","mount","insertAdjacentHTML","q","e","build","document","currentScript","window"],"sources":["lt.js"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.14.48",
3
+ "version": "1.14.50",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"