@node-projects/excelforge 2.4.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.github/FUNDING.yml +4 -0
  2. package/MISSING.md +326 -0
  3. package/README.md +484 -12
  4. package/dist/core/SharedStrings.js +6 -2
  5. package/dist/core/SharedStrings.js.map +1 -1
  6. package/dist/core/Workbook.d.ts +41 -1
  7. package/dist/core/Workbook.js +773 -57
  8. package/dist/core/Workbook.js.map +1 -1
  9. package/dist/core/WorkbookReader.d.ts +18 -4
  10. package/dist/core/WorkbookReader.js +1386 -20
  11. package/dist/core/WorkbookReader.js.map +1 -1
  12. package/dist/core/Worksheet.d.ts +130 -2
  13. package/dist/core/Worksheet.js +792 -63
  14. package/dist/core/Worksheet.js.map +1 -1
  15. package/dist/core/types.d.ts +287 -5
  16. package/dist/core/types.js +12 -1
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/features/ChartBuilder.d.ts +9 -1
  19. package/dist/features/ChartBuilder.js +140 -14
  20. package/dist/features/ChartBuilder.js.map +1 -1
  21. package/dist/features/CsvModule.d.ts +11 -0
  22. package/dist/features/CsvModule.js +137 -0
  23. package/dist/features/CsvModule.js.map +1 -0
  24. package/dist/features/Encryption.d.ts +6 -0
  25. package/dist/features/Encryption.js +806 -0
  26. package/dist/features/Encryption.js.map +1 -0
  27. package/dist/features/FormControlBuilder.d.ts +6 -0
  28. package/dist/features/FormControlBuilder.js +135 -0
  29. package/dist/features/FormControlBuilder.js.map +1 -0
  30. package/dist/features/FormulaEngine.d.ts +22 -0
  31. package/dist/features/FormulaEngine.js +498 -0
  32. package/dist/features/FormulaEngine.js.map +1 -0
  33. package/dist/features/HtmlModule.d.ts +21 -0
  34. package/dist/features/HtmlModule.js +1417 -0
  35. package/dist/features/HtmlModule.js.map +1 -0
  36. package/dist/features/JsonModule.d.ts +10 -0
  37. package/dist/features/JsonModule.js +76 -0
  38. package/dist/features/JsonModule.js.map +1 -0
  39. package/dist/features/PivotTableBuilder.d.ts +7 -0
  40. package/dist/features/PivotTableBuilder.js +170 -0
  41. package/dist/features/PivotTableBuilder.js.map +1 -0
  42. package/dist/features/Signing.d.ts +12 -0
  43. package/dist/features/Signing.js +318 -0
  44. package/dist/features/Signing.js.map +1 -0
  45. package/dist/features/TableBuilder.js +2 -2
  46. package/dist/features/TableBuilder.js.map +1 -1
  47. package/dist/index-min.js +579 -144
  48. package/dist/index.d.ts +17 -1
  49. package/dist/index.js +10 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/styles/StyleRegistry.d.ts +14 -0
  52. package/dist/styles/StyleRegistry.js +95 -30
  53. package/dist/styles/StyleRegistry.js.map +1 -1
  54. package/dist/utils/helpers.d.ts +4 -0
  55. package/dist/utils/helpers.js +64 -14
  56. package/dist/utils/helpers.js.map +1 -1
  57. package/dist/utils/zip.js +145 -73
  58. package/dist/utils/zip.js.map +1 -1
  59. package/dist/vba/VbaProject.d.ts +19 -0
  60. package/dist/vba/VbaProject.js +281 -0
  61. package/dist/vba/VbaProject.js.map +1 -0
  62. package/dist/vba/cfb.d.ts +7 -0
  63. package/dist/vba/cfb.js +352 -0
  64. package/dist/vba/cfb.js.map +1 -0
  65. package/dist/vba/ovba.d.ts +2 -0
  66. package/dist/vba/ovba.js +137 -0
  67. package/dist/vba/ovba.js.map +1 -0
  68. package/package.json +4 -3
  69. package/validator.cs +0 -155
  70. package/validatorEpplus.cs +0 -27
  71. package/validatorReadData.cs +0 -111
@@ -3,14 +3,69 @@ const COLORS = [
3
3
  'FF4472C4', 'FFED7D31', 'FFA5A5A5', 'FFFFC000', 'FF5B9BD5',
4
4
  'FF70AD47', 'FF264478', 'FF9E480E', 'FF636363', 'FF997300',
5
5
  ];
6
- function spPr(color) {
7
- return `<c:spPr><a:solidFill xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:srgbClr val="${color.replace('FF', '')}"/></a:solidFill></c:spPr>`;
6
+ const PALETTES = {
7
+ office: ['4472C4', 'ED7D31', 'A5A5A5', 'FFC000', '5B9BD5', '70AD47', '264478', '9E480E', '636363', '997300'],
8
+ blue: ['5B9BD5', '8FAADC', 'B4C7E7', 'D6DCE4', '4472C4', '2F5597', '1F4E79', '002060', '00B0F0', '0070C0'],
9
+ orange: ['ED7D31', 'F4B183', 'F8CBAD', 'FCE4D6', 'C55A11', '843C0C', 'BF8F00', '806000', 'FFD966', 'FFC000'],
10
+ green: ['70AD47', 'A9D18E', 'C5E0B4', 'E2F0D9', '548235', '375623', '92D050', '00B050', '00B0F0', '00FF00'],
11
+ red: ['FF0000', 'FF6161', 'FF9F9F', 'FFD2D2', 'C00000', '8B0000', 'FFC000', 'FF6600', 'FF3300', 'CC0000'],
12
+ purple: ['7030A0', '9B59B6', 'BB8FCE', 'D7BDE2', '5B2C6F', '4A235A', '8E44AD', '6C3483', 'A569BD', 'D2B4DE'],
13
+ teal: ['00B0F0', '00BCD4', '26C6DA', '80DEEA', '0097A7', '006064', '009688', '00796B', '4DB6AC', '80CBC4'],
14
+ gray: ['595959', '808080', 'A6A6A6', 'D9D9D9', '404040', '262626', 'BFBFBF', 'F2F2F2', '7F7F7F', 'C0C0C0'],
15
+ gold: ['FFC000', 'FFD966', 'FFE699', 'FFF2CC', 'BF8F00', '806000', 'ED7D31', 'F4B183', 'DBA13A', 'C09100'],
16
+ blueWarm: ['4472C4', '5B9BD5', '9DC3E6', 'BDD7EE', 'DEEBF7', '2E75B6', '1F4E79', '2F5597', '8FAADC', 'D6DCE4'],
17
+ blueGreen: ['00B0F0', '00B050', '70AD47', '5B9BD5', '4472C4', '2E75B6', '548235', '00B0F0', '009688', '00796B'],
18
+ greenYellow: ['70AD47', '92D050', 'C9E265', 'FFD966', 'FFC000', '548235', 'BF8F00', 'A9D18E', 'E2F0D9', 'C5E0B4'],
19
+ redOrange: ['FF0000', 'ED7D31', 'FFC000', 'FF6600', 'C00000', '843C0C', 'BF8F00', 'FF3300', 'F4B183', 'FFD966'],
20
+ redViolet: ['FF0000', '7030A0', 'ED7D31', 'C00000', '5B2C6F', '843C0C', 'FF6161', '9B59B6', 'F4B183', 'BB8FCE'],
21
+ yellowOrange: ['FFC000', 'ED7D31', 'FFD966', 'F4B183', 'BF8F00', 'C55A11', 'FFE699', 'F8CBAD', '806000', '843C0C'],
22
+ slipstream: ['4472C4', 'ED7D31', 'A5A5A5', 'FFC000', '5B9BD5', '70AD47', '255E91', '9E480E', '636363', '997300'],
23
+ marquee: ['ED7D31', '4472C4', '70AD47', 'FFC000', '5B9BD5', 'A5A5A5', '264478', '9E480E', '636363', '997300'],
24
+ aspect: ['5B9BD5', '4472C4', 'ED7D31', 'FFC000', '70AD47', 'A5A5A5', '9E480E', '264478', '636363', '997300'],
25
+ };
26
+ const MODERN_STYLE_MAP = {
27
+ colorful1: 102, colorful2: 103, colorful3: 104, colorful4: 105,
28
+ monochromatic1: 201, monochromatic2: 202, monochromatic3: 203, monochromatic4: 204,
29
+ monochromatic5: 205, monochromatic6: 206, monochromatic7: 207, monochromatic8: 208,
30
+ monochromatic9: 209, monochromatic10: 210, monochromatic11: 211, monochromatic12: 212,
31
+ };
32
+ function spPr(color, series) {
33
+ const aNs = ' xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"';
34
+ const hex = color.replace(/^FF/, '');
35
+ let fill;
36
+ if (series?.fillType === 'gradient' && series.gradientStops?.length) {
37
+ const stops = series.gradientStops.map(s => `<a:gs pos="${s.pos * 1000}"><a:srgbClr val="${s.color.replace(/^FF/, '').replace(/^#/, '')}"/></a:gs>`).join('');
38
+ fill = `<a:gradFill><a:gsLst>${stops}</a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill>`;
39
+ }
40
+ else {
41
+ fill = `<a:solidFill><a:srgbClr val="${hex}"/></a:solidFill>`;
42
+ }
43
+ const lnWidth = series?.lineWidth ? ` w="${Math.round(series.lineWidth * 12700)}"` : '';
44
+ const ln = lnWidth ? `<a:ln${lnWidth}><a:solidFill><a:srgbClr val="${hex}"/></a:solidFill></a:ln>` : '';
45
+ return `<c:spPr${aNs}>${fill}${ln}</c:spPr>`;
46
+ }
47
+ function spPrSimple(color) {
48
+ return `<c:spPr><a:solidFill xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:srgbClr val="${color.replace(/^FF/, '')}"/></a:solidFill></c:spPr>`;
49
+ }
50
+ function dataLabelsXml(dl) {
51
+ if (!dl)
52
+ return '';
53
+ const parts = [
54
+ dl.numFmt ? `<c:numFmt formatCode="${escapeXml(dl.numFmt)}" sourceLinked="0"/>` : '',
55
+ dl.position ? `<c:dLblPos val="${dl.position}"/>` : '',
56
+ `<c:showLegendKey val="0"/>`,
57
+ `<c:showVal val="${dl.showValue ? '1' : '0'}"/>`,
58
+ `<c:showCatName val="${dl.showCategory ? '1' : '0'}"/>`,
59
+ `<c:showSerName val="${dl.showSeriesName ? '1' : '0'}"/>`,
60
+ `<c:showPercent val="${dl.showPercent ? '1' : '0'}"/>`,
61
+ ];
62
+ return `<c:dLbls>${parts.join('')}</c:dLbls>`;
8
63
  }
9
- function seriesXml(type, series, idx) {
64
+ function seriesXml(type, series, idx, palette) {
10
65
  return series.map((s, i) => {
11
66
  const color = s.color
12
67
  ? s.color.startsWith('#') ? 'FF' + s.color.slice(1) : s.color
13
- : COLORS[i % COLORS.length];
68
+ : palette ? 'FF' + palette[i % palette.length] : COLORS[i % COLORS.length];
14
69
  const catXml = s.categories
15
70
  ? `<c:cat><c:strRef><c:f>${escapeXml(s.categories)}</c:f></c:strRef></c:cat>`
16
71
  : '';
@@ -20,7 +75,8 @@ function seriesXml(type, series, idx) {
20
75
  : '';
21
76
  const marker = type.startsWith('line') || type === 'scatter'
22
77
  ? `<c:marker><c:symbol val="none"/></c:marker>` : '';
23
- return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/>${nameXml}${spPr(color)}${marker}${catXml}${valXml}</c:ser>`;
78
+ const dlXml = dataLabelsXml(s.dataLabels);
79
+ return `<c:ser><c:idx val="${i}"/><c:order val="${i}"/>${nameXml}${spPr(color, s)}${marker}${dlXml}${catXml}${valXml}</c:ser>`;
24
80
  }).join('');
25
81
  }
26
82
  function axisXml(id, crossId, axis, delete_ = false) {
@@ -59,12 +115,15 @@ function catAxisXml(id, crossId, axis) {
59
115
  function legendXml(legend) {
60
116
  if (legend === false)
61
117
  return '';
62
- const pos = typeof legend === 'string' ? legend : 'b';
118
+ const raw = typeof legend === 'string' ? legend : 'b';
119
+ const posMap = { bottom: 'b', top: 't', left: 'l', right: 'r', corner: 'tr' };
120
+ const pos = posMap[raw] ?? raw;
63
121
  return `<c:legend><c:legendPos val="${pos}"/></c:legend>`;
64
122
  }
65
123
  export function buildChartXml(chart) {
66
124
  const type = chart.type;
67
125
  const series = chart.series;
126
+ const palette = chart.colorPalette ? PALETTES[chart.colorPalette] : undefined;
68
127
  const title = chart.title
69
128
  ? `<c:title><c:tx><c:rich>
70
129
  <a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
@@ -73,6 +132,7 @@ export function buildChartXml(chart) {
73
132
  </a:p>
74
133
  </c:rich></c:tx><c:overlay val="0"/></c:title>` : '';
75
134
  const varyColors = chart.varyColors ? `<c:varyColors val="1"/>` : '';
135
+ const globalDL = dataLabelsXml(chart.dataLabels);
76
136
  let plotXml = '';
77
137
  const isPie = type === 'pie' || type === 'doughnut';
78
138
  const isBar = type.startsWith('bar') || type.startsWith('column');
@@ -87,7 +147,7 @@ export function buildChartXml(chart) {
87
147
  if (isPie) {
88
148
  const tag = type === 'doughnut' ? 'doughnutChart' : 'pieChart';
89
149
  const hole = type === 'doughnut' ? `<c:holeSize val="50"/>` : '';
90
- plotXml = `<c:${tag}>${varyColors}${seriesXml(type, series, 0)}${hole}</c:${tag}>`;
150
+ plotXml = `<c:${tag}>${varyColors}${seriesXml(type, series, 0, palette)}${globalDL}${hole}</c:${tag}>`;
91
151
  }
92
152
  else if (isBar) {
93
153
  const barDir = type.startsWith('bar') ? 'bar' : 'col';
@@ -95,7 +155,8 @@ export function buildChartXml(chart) {
95
155
  <c:barDir val="${barDir}"/>
96
156
  ${grouping ? `<c:grouping val="${grouping}"/>` : ''}
97
157
  ${varyColors}
98
- ${seriesXml(type, series, 0)}
158
+ ${seriesXml(type, series, 0, palette)}
159
+ ${globalDL}
99
160
  <c:axId val="1"/><c:axId val="2"/>
100
161
  </c:barChart>`;
101
162
  }
@@ -103,7 +164,8 @@ export function buildChartXml(chart) {
103
164
  plotXml = `<c:lineChart>
104
165
  ${grouping ? `<c:grouping val="${grouping}"/>` : ''}
105
166
  ${varyColors}
106
- ${seriesXml(type, series, 0)}
167
+ ${seriesXml(type, series, 0, palette)}
168
+ ${globalDL}
107
169
  <c:axId val="1"/><c:axId val="2"/>
108
170
  </c:lineChart>`;
109
171
  }
@@ -111,7 +173,8 @@ export function buildChartXml(chart) {
111
173
  plotXml = `<c:scatterChart>
112
174
  <c:scatterStyle val="${type === 'scatterSmooth' ? 'smoothMarker' : 'marker'}"/>
113
175
  ${varyColors}
114
- ${seriesXml(type, series, 0)}
176
+ ${seriesXml(type, series, 0, palette)}
177
+ ${globalDL}
115
178
  <c:axId val="1"/><c:axId val="2"/>
116
179
  </c:scatterChart>`;
117
180
  }
@@ -119,7 +182,8 @@ export function buildChartXml(chart) {
119
182
  plotXml = `<c:areaChart>
120
183
  ${grouping ? `<c:grouping val="${grouping}"/>` : ''}
121
184
  ${varyColors}
122
- ${seriesXml(type, series, 0)}
185
+ ${seriesXml(type, series, 0, palette)}
186
+ ${globalDL}
123
187
  <c:axId val="1"/><c:axId val="2"/>
124
188
  </c:areaChart>`;
125
189
  }
@@ -127,7 +191,8 @@ export function buildChartXml(chart) {
127
191
  plotXml = `<c:radarChart>
128
192
  <c:radarStyle val="${type === 'radarFilled' ? 'filled' : 'marker'}"/>
129
193
  ${varyColors}
130
- ${seriesXml(type, series, 0)}
194
+ ${seriesXml(type, series, 0, palette)}
195
+ ${globalDL}
131
196
  <c:axId val="1"/><c:axId val="2"/>
132
197
  </c:radarChart>`;
133
198
  }
@@ -136,7 +201,8 @@ export function buildChartXml(chart) {
136
201
  <c:barDir val="col"/>
137
202
  <c:grouping val="clustered"/>
138
203
  ${varyColors}
139
- ${seriesXml(type, series, 0)}
204
+ ${seriesXml(type, series, 0, palette)}
205
+ ${globalDL}
140
206
  <c:axId val="1"/><c:axId val="2"/>
141
207
  </c:barChart>`;
142
208
  }
@@ -145,11 +211,26 @@ export function buildChartXml(chart) {
145
211
  ? catAxisXml(1, 2, chart.xAxis) + axisXml(2, 1, chart.yAxis)
146
212
  : '';
147
213
  const legXml = legendXml(chart.legend ?? 'b');
214
+ const styleVal = chart.modernStyle ? Math.min(MODERN_STYLE_MAP[chart.modernStyle], 48) : chart.style;
215
+ const styleXml = styleVal ? `<c:style val="${styleVal}"/>` : '';
216
+ let chartAreaSpPr = '';
217
+ if (chart.chartFill || chart.shadow) {
218
+ const fillXml = chart.chartFill === 'gradient'
219
+ ? `<a:gradFill><a:gsLst><a:gs pos="0"><a:schemeClr val="lt1"/></a:gs><a:gs pos="100000"><a:schemeClr val="bg1"><a:lumMod val="85000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill>`
220
+ : chart.chartFill === 'white' ? `<a:solidFill><a:srgbClr val="FFFFFF"/></a:solidFill>`
221
+ : chart.chartFill === 'none' ? `<a:noFill/>` : '';
222
+ const shadowXml = chart.shadow
223
+ ? `<a:effectLst><a:outerShdw blurRad="50800" dist="38100" dir="5400000" algn="t" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="40000"/></a:srgbClr></a:outerShdw></a:effectLst>`
224
+ : '';
225
+ chartAreaSpPr = `<c:spPr>${fillXml}${shadowXml}</c:spPr>`;
226
+ }
227
+ const roundedXml = chart.roundedCorners ? `<c:roundedCorners val="1"/>` : '';
148
228
  return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
149
229
  <c:chartSpace xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart"
150
230
  xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
151
231
  xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
152
- ${chart.style ? `<c:style val="${chart.style}"/>` : ''}
232
+ ${roundedXml}
233
+ ${styleXml}
153
234
  <c:chart>
154
235
  ${title}
155
236
  <c:autoTitleDeleted val="${chart.title ? '0' : '1'}"/>
@@ -160,6 +241,51 @@ ${chart.style ? `<c:style val="${chart.style}"/>` : ''}
160
241
  ${legXml}
161
242
  <c:plotVisOnly val="1"/>
162
243
  </c:chart>
244
+ ${chartAreaSpPr}
163
245
  </c:chartSpace>`;
164
246
  }
247
+ export function saveChartTemplate(chart) {
248
+ return {
249
+ type: chart.type,
250
+ style: chart.style,
251
+ modernStyle: chart.modernStyle,
252
+ colorPalette: chart.colorPalette,
253
+ legend: chart.legend,
254
+ xAxis: chart.xAxis,
255
+ yAxis: chart.yAxis,
256
+ dataLabels: chart.dataLabels,
257
+ chartFill: chart.chartFill,
258
+ roundedCorners: chart.roundedCorners,
259
+ shadow: chart.shadow,
260
+ varyColors: chart.varyColors,
261
+ grouping: chart.grouping,
262
+ };
263
+ }
264
+ export function applyChartTemplate(template, chart) {
265
+ return {
266
+ type: chart.type ?? template.type,
267
+ title: chart.title,
268
+ series: chart.series,
269
+ from: chart.from,
270
+ to: chart.to,
271
+ xAxis: chart.xAxis ?? template.xAxis,
272
+ yAxis: chart.yAxis ?? template.yAxis,
273
+ legend: chart.legend ?? template.legend,
274
+ style: chart.style ?? template.style,
275
+ modernStyle: chart.modernStyle ?? template.modernStyle,
276
+ colorPalette: chart.colorPalette ?? template.colorPalette,
277
+ dataLabels: chart.dataLabels ?? template.dataLabels,
278
+ chartFill: chart.chartFill ?? template.chartFill,
279
+ roundedCorners: chart.roundedCorners ?? template.roundedCorners,
280
+ shadow: chart.shadow ?? template.shadow,
281
+ varyColors: chart.varyColors ?? template.varyColors,
282
+ grouping: chart.grouping ?? template.grouping,
283
+ };
284
+ }
285
+ export function serializeChartTemplate(template) {
286
+ return JSON.stringify(template);
287
+ }
288
+ export function deserializeChartTemplate(json) {
289
+ return JSON.parse(json);
290
+ }
165
291
  //# sourceMappingURL=ChartBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBuilder.js","sourceRoot":"","sources":["../../src/features/ChartBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartBuilder.js","sourceRoot":"","sources":["../../src/features/ChartBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG;IACb,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU;IACtD,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU;CACvD,CAAC;AAGF,MAAM,QAAQ,GAA6B;IACzC,MAAM,EAAO,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,IAAI,EAAS,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,MAAM,EAAO,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,KAAK,EAAQ,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,GAAG,EAAU,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,MAAM,EAAO,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,IAAI,EAAS,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,IAAI,EAAS,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,IAAI,EAAS,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,QAAQ,EAAK,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,SAAS,EAAI,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,WAAW,EAAE,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,SAAS,EAAI,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,SAAS,EAAI,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,YAAY,EAAC,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,UAAU,EAAG,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,OAAO,EAAM,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;IACxG,MAAM,EAAO,CAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,CAAC;CACzG,CAAC;AAGF,MAAM,gBAAgB,GAA2B;IAC/C,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IAC9D,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;IAClF,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;IAClF,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG;CACtF,CAAC;AAEF,SAAS,IAAI,CAAC,KAAa,EAAE,MAAoB;IAC/C,MAAM,GAAG,GAAG,kEAAkE,CAAC;IAC/E,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAY,CAAC;IACjB,IAAI,MAAM,EAAE,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,EAAE,CAAC,YAAY,CACtG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,IAAI,GAAG,wBAAwB,KAAK,0DAA0D,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,gCAAgC,GAAG,mBAAmB,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,iCAAiC,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;IACxG,OAAO,UAAU,GAAG,IAAI,IAAI,GAAG,EAAE,WAAW,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,wGAAwG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,4BAA4B,CAAC;AACrK,CAAC;AAED,SAAS,aAAa,CAAC,EAA+B;IACpD,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IAEnB,MAAM,KAAK,GAAG;QACZ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QACpF,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;QACtD,4BAA4B;QAC5B,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK;QAChD,uBAAuB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK;QACvD,uBAAuB,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK;QACzD,uBAAuB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK;KACvD,CAAC;IACF,OAAO,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,IAAe,EAAE,MAAqB,EAAE,GAAW,EAAE,OAAkB;IACxF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;YACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAC7D,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU;YACzB,CAAC,CAAC,yBAAyB,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,2BAA2B;YAC7E,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,yBAAyB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACvF,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI;YACpB,CAAC,CAAC,yBAAyB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,SAAS;YAC1D,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,sBAAsB,CAAC,oBAAoB,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,UAAU,CAAC;IACjI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,OAAe,EAAE,IAAgB,EAAE,OAAO,GAAG,KAAK;IAC7E,IAAI,OAAO;QAAE,OAAO,yBAAyB,EAAE,+GAA+G,OAAO,eAAe,CAAC;IACrL,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK;QACvB,CAAC,CAAC,oLAAoL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrR,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3D,IAAI,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO;iBACQ,EAAE;4CACyB,MAAM;;;IAG9C,SAAS,GAAG,KAAK,GAAG,MAAM;oBACV,OAAO;WAChB,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,EAAU,EAAE,OAAe,EAAE,IAAgB;IAC/D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK;QACvB,CAAC,CAAC,oLAAoL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrR,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO;iBACQ,EAAE;;;;IAIf,SAAS,GAAG,KAAK;oBACD,OAAO;WAChB,CAAC;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,MAAuB;IACxC,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAEtD,MAAM,MAAM,GAA2B,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACtG,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC/B,OAAO,+BAA+B,GAAG,gBAAgB,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;QACvB,CAAC,CAAC;;;kBAGY,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;;iDAES,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,UAAU,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,QAAQ,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CACjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YACzC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,GAAG,MAAM,GAAG,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,QAAQ,GAAG,IAAI,OAAO,GAAG,GAAG,CAAC;IACzG,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,OAAO,GAAG;mBACK,MAAM;IACrB,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;IACjD,UAAU;IACV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ;;cAEE,CAAC;IACb,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,GAAG;IACV,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;IACjD,UAAU;IACV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ;;eAEG,CAAC;IACd,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,OAAO,GAAG;yBACW,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ;IACzE,UAAU;IACV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ;;kBAEM,CAAC;IACjB,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,GAAG;IACV,QAAQ,CAAC,CAAC,CAAC,oBAAoB,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE;IACjD,UAAU;IACV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ;;eAEG,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,OAAO,GAAG;uBACS,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;IAC/D,UAAU;IACV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ;;gBAEI,CAAC;IACf,CAAC;SAAM,CAAC;QAEN,OAAO,GAAG;;;IAGV,UAAU;IACV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ;;cAEE,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;QAC5D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;IAG9C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACrG,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAGhE,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,UAAU;YAC5C,CAAC,CAAC,kNAAkN;YACpN,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,sDAAsD;gBACtF,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;YAC5B,CAAC,CAAC,uLAAuL;YACzL,CAAC,CAAC,EAAE,CAAC;QACP,aAAa,GAAG,WAAW,OAAO,GAAG,SAAS,WAAW,CAAC;IAC5D,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7E,OAAO;;;;EAIP,UAAU;EACV,QAAQ;;IAEN,KAAK;6BACoB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;MAE9C,OAAO;MACP,OAAO;;IAET,MAAM;;;EAGR,aAAa;gBACC,CAAC;AACjB,CAAC;AAQD,MAAM,UAAU,iBAAiB,CAAC,KAAY;IAC5C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,kBAAkB,CAAC,QAAuB,EAAE,KAAuF;IACjJ,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;QACjC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;QACpC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;QACvC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;QACtD,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU;QACnD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;QAChD,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc;QAC/D,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;QACvC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU;QACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;KAC9C,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,sBAAsB,CAAC,QAAuB;IAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAGD,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Workbook } from '../core/Workbook.js';
2
+ import { Worksheet } from '../core/Worksheet.js';
3
+ export interface CsvOptions {
4
+ delimiter?: string;
5
+ lineEnding?: string;
6
+ quote?: string;
7
+ sheetName?: string;
8
+ includeHeaders?: boolean;
9
+ }
10
+ export declare function worksheetToCsv(ws: Worksheet, options?: CsvOptions): string;
11
+ export declare function csvToWorkbook(csv: string, options?: CsvOptions): Workbook;
@@ -0,0 +1,137 @@
1
+ import { CellError } from '../core/types.js';
2
+ import { Workbook } from '../core/Workbook.js';
3
+ export function worksheetToCsv(ws, options = {}) {
4
+ const delim = options.delimiter ?? ',';
5
+ const eol = options.lineEnding ?? '\r\n';
6
+ const q = options.quote ?? '"';
7
+ const rows = [];
8
+ const allCells = ws.readAllCells();
9
+ let maxRow = 0, maxCol = 0;
10
+ for (const { row, col } of allCells) {
11
+ if (row > maxRow)
12
+ maxRow = row;
13
+ if (col > maxCol)
14
+ maxCol = col;
15
+ }
16
+ const cellMap = new Map();
17
+ for (const { row, col, cell } of allCells) {
18
+ cellMap.set(`${row},${col}`, cell.value ?? null);
19
+ }
20
+ for (let r = 1; r <= maxRow; r++) {
21
+ const fields = [];
22
+ for (let c = 1; c <= maxCol; c++) {
23
+ const v = cellMap.get(`${r},${c}`);
24
+ const s = formatCsvValue(v);
25
+ if (s.includes(delim) || s.includes(q) || s.includes('\n') || s.includes('\r')) {
26
+ fields.push(q + s.replace(new RegExp(q.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), q + q) + q);
27
+ }
28
+ else {
29
+ fields.push(s);
30
+ }
31
+ }
32
+ rows.push(fields.join(delim));
33
+ }
34
+ return rows.join(eol);
35
+ }
36
+ function formatCsvValue(v) {
37
+ if (v === null || v === undefined)
38
+ return '';
39
+ if (v instanceof CellError)
40
+ return v.error;
41
+ if (v instanceof Date)
42
+ return v.toISOString();
43
+ return String(v);
44
+ }
45
+ export function csvToWorkbook(csv, options = {}) {
46
+ const delim = options.delimiter ?? ',';
47
+ const q = options.quote ?? '"';
48
+ const sheetName = options.sheetName ?? 'Sheet1';
49
+ const rows = parseCsv(csv, delim, q);
50
+ const wb = new Workbook();
51
+ const ws = wb.addSheet(sheetName);
52
+ for (let r = 0; r < rows.length; r++) {
53
+ for (let c = 0; c < rows[r].length; c++) {
54
+ const raw = rows[r][c];
55
+ if (raw === '')
56
+ continue;
57
+ const num = Number(raw);
58
+ if (!isNaN(num) && raw.trim() !== '') {
59
+ ws.setValue(r + 1, c + 1, num);
60
+ }
61
+ else if (raw.toLowerCase() === 'true') {
62
+ ws.setValue(r + 1, c + 1, true);
63
+ }
64
+ else if (raw.toLowerCase() === 'false') {
65
+ ws.setValue(r + 1, c + 1, false);
66
+ }
67
+ else {
68
+ ws.setValue(r + 1, c + 1, raw);
69
+ }
70
+ }
71
+ }
72
+ return wb;
73
+ }
74
+ function parseCsv(csv, delim, quote) {
75
+ const rows = [];
76
+ let row = [];
77
+ let field = '';
78
+ let inQuotes = false;
79
+ let i = 0;
80
+ const len = csv.length;
81
+ while (i < len) {
82
+ const ch = csv[i];
83
+ if (inQuotes) {
84
+ if (ch === quote) {
85
+ if (i + 1 < len && csv[i + 1] === quote) {
86
+ field += quote;
87
+ i += 2;
88
+ }
89
+ else {
90
+ inQuotes = false;
91
+ i++;
92
+ }
93
+ }
94
+ else {
95
+ field += ch;
96
+ i++;
97
+ }
98
+ }
99
+ else {
100
+ if (ch === quote) {
101
+ inQuotes = true;
102
+ i++;
103
+ }
104
+ else if (ch === delim) {
105
+ row.push(field);
106
+ field = '';
107
+ i++;
108
+ }
109
+ else if (ch === '\r') {
110
+ row.push(field);
111
+ field = '';
112
+ rows.push(row);
113
+ row = [];
114
+ i++;
115
+ if (i < len && csv[i] === '\n')
116
+ i++;
117
+ }
118
+ else if (ch === '\n') {
119
+ row.push(field);
120
+ field = '';
121
+ rows.push(row);
122
+ row = [];
123
+ i++;
124
+ }
125
+ else {
126
+ field += ch;
127
+ i++;
128
+ }
129
+ }
130
+ }
131
+ if (field || row.length) {
132
+ row.push(field);
133
+ rows.push(row);
134
+ }
135
+ return rows;
136
+ }
137
+ //# sourceMappingURL=CsvModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CsvModule.js","sourceRoot":"","sources":["../../src/features/CsvModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface EncryptionOptions {
2
+ spinCount?: number;
3
+ }
4
+ export declare function encryptWorkbook(xlsxData: Uint8Array, password: string, options?: EncryptionOptions): Promise<Uint8Array>;
5
+ export declare function decryptWorkbook(encryptedData: Uint8Array, password: string): Promise<Uint8Array>;
6
+ export declare function isEncrypted(data: Uint8Array): boolean;