docxmlater 9.7.7 → 9.7.8

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 (33) hide show
  1. package/dist/core/Document.d.ts.map +1 -1
  2. package/dist/core/Document.js +24 -0
  3. package/dist/core/Document.js.map +1 -1
  4. package/dist/core/DocumentParser.d.ts +2 -0
  5. package/dist/core/DocumentParser.d.ts.map +1 -1
  6. package/dist/core/DocumentParser.js +190 -1
  7. package/dist/core/DocumentParser.js.map +1 -1
  8. package/dist/elements/Section.d.ts +12 -0
  9. package/dist/elements/Section.d.ts.map +1 -1
  10. package/dist/elements/Section.js +183 -0
  11. package/dist/elements/Section.js.map +1 -1
  12. package/dist/elements/Table.d.ts +12 -0
  13. package/dist/elements/Table.d.ts.map +1 -1
  14. package/dist/elements/Table.js +271 -3
  15. package/dist/elements/Table.js.map +1 -1
  16. package/dist/elements/TableCell.d.ts +12 -0
  17. package/dist/elements/TableCell.d.ts.map +1 -1
  18. package/dist/elements/TableCell.js +181 -7
  19. package/dist/elements/TableCell.js.map +1 -1
  20. package/dist/elements/TableRow.d.ts +14 -0
  21. package/dist/elements/TableRow.d.ts.map +1 -1
  22. package/dist/elements/TableRow.js +157 -0
  23. package/dist/elements/TableRow.js.map +1 -1
  24. package/dist/tracking/DocumentTrackingContext.d.ts +7 -0
  25. package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
  26. package/dist/tracking/DocumentTrackingContext.js +173 -46
  27. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  28. package/dist/tracking/TrackingContext.d.ts +7 -1
  29. package/dist/tracking/TrackingContext.d.ts.map +1 -1
  30. package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
  31. package/dist/utils/InMemoryRevisionAcceptor.js +23 -0
  32. package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
  33. package/package.json +1 -1
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Table = void 0;
4
4
  const TableRow_1 = require("./TableRow");
5
5
  const TableCell_1 = require("./TableCell");
6
+ const Revision_1 = require("./Revision");
6
7
  const XMLBuilder_1 = require("../xml/XMLBuilder");
7
8
  const deepClone_1 = require("../utils/deepClone");
8
9
  class Table {
9
10
  rows = [];
10
11
  formatting;
11
12
  _stylesManager;
13
+ trackingContext;
14
+ tblPrChange;
12
15
  constructor(rows, columns, formatting = {}) {
13
16
  if (formatting.width === undefined) {
14
17
  formatting.width = 9360;
@@ -25,6 +28,18 @@ class Table {
25
28
  }
26
29
  }
27
30
  }
31
+ _setTrackingContext(context) {
32
+ this.trackingContext = context;
33
+ }
34
+ getTblPrChange() {
35
+ return this.tblPrChange;
36
+ }
37
+ setTblPrChange(change) {
38
+ this.tblPrChange = change;
39
+ }
40
+ clearTblPrChange() {
41
+ this.tblPrChange = undefined;
42
+ }
28
43
  addRow(row) {
29
44
  this.rows.push(row);
30
45
  row._setParentTable(this);
@@ -80,19 +95,35 @@ class Table {
80
95
  return row ? row.getCell(columnIndex) : undefined;
81
96
  }
82
97
  setWidth(twips) {
98
+ const prev = this.formatting.width;
83
99
  this.formatting.width = twips;
100
+ if (this.trackingContext?.isEnabled() && prev !== twips) {
101
+ this.trackingContext.trackTableChange(this, 'width', prev, twips);
102
+ }
84
103
  return this;
85
104
  }
86
105
  setAlignment(alignment) {
106
+ const prev = this.formatting.alignment;
87
107
  this.formatting.alignment = alignment;
108
+ if (this.trackingContext?.isEnabled() && prev !== alignment) {
109
+ this.trackingContext.trackTableChange(this, 'alignment', prev, alignment);
110
+ }
88
111
  return this;
89
112
  }
90
113
  setLayout(layout) {
114
+ const prev = this.formatting.layout;
91
115
  this.formatting.layout = layout === "auto" ? "autofit" : layout;
116
+ if (this.trackingContext?.isEnabled() && prev !== this.formatting.layout) {
117
+ this.trackingContext.trackTableChange(this, 'layout', prev, this.formatting.layout);
118
+ }
92
119
  return this;
93
120
  }
94
121
  setBorders(borders, options) {
122
+ const prev = this.formatting.borders;
95
123
  this.formatting.borders = borders;
124
+ if (this.trackingContext?.isEnabled() && prev !== borders) {
125
+ this.trackingContext.trackTableChange(this, 'borders', prev, borders);
126
+ }
96
127
  if (options?.applyToCells !== false) {
97
128
  const cellBorders = {
98
129
  top: borders.top,
@@ -176,27 +207,51 @@ class Table {
176
207
  return this;
177
208
  }
178
209
  setCellSpacing(twips) {
210
+ const prev = this.formatting.cellSpacing;
179
211
  this.formatting.cellSpacing = twips;
212
+ if (this.trackingContext?.isEnabled() && prev !== twips) {
213
+ this.trackingContext.trackTableChange(this, 'cellSpacing', prev, twips);
214
+ }
180
215
  return this;
181
216
  }
182
217
  setIndent(twips) {
218
+ const prev = this.formatting.indent;
183
219
  this.formatting.indent = twips;
220
+ if (this.trackingContext?.isEnabled() && prev !== twips) {
221
+ this.trackingContext.trackTableChange(this, 'indent', prev, twips);
222
+ }
184
223
  return this;
185
224
  }
186
225
  setStyle(style) {
226
+ const prev = this.formatting.style;
187
227
  this.formatting.style = style;
228
+ if (this.trackingContext?.isEnabled() && prev !== style) {
229
+ this.trackingContext.trackTableChange(this, 'style', prev, style);
230
+ }
188
231
  return this;
189
232
  }
190
233
  setTblLook(tblLook) {
234
+ const prev = this.formatting.tblLook;
191
235
  this.formatting.tblLook = tblLook;
236
+ if (this.trackingContext?.isEnabled() && prev !== tblLook) {
237
+ this.trackingContext.trackTableChange(this, 'tblLook', prev, tblLook);
238
+ }
192
239
  return this;
193
240
  }
194
241
  setStyleRowBandSize(size) {
242
+ const prev = this.formatting.tblStyleRowBandSize;
195
243
  this.formatting.tblStyleRowBandSize = size;
244
+ if (this.trackingContext?.isEnabled() && prev !== size) {
245
+ this.trackingContext.trackTableChange(this, 'tblStyleRowBandSize', prev, size);
246
+ }
196
247
  return this;
197
248
  }
198
249
  setStyleColBandSize(size) {
250
+ const prev = this.formatting.tblStyleColBandSize;
199
251
  this.formatting.tblStyleColBandSize = size;
252
+ if (this.trackingContext?.isEnabled() && prev !== size) {
253
+ this.trackingContext.trackTableChange(this, 'tblStyleColBandSize', prev, size);
254
+ }
200
255
  return this;
201
256
  }
202
257
  getTblLookFlags() {
@@ -275,42 +330,78 @@ class Table {
275
330
  }
276
331
  }
277
332
  setPosition(position) {
333
+ const prev = this.formatting.position;
278
334
  this.formatting.position = position;
335
+ if (this.trackingContext?.isEnabled() && prev !== position) {
336
+ this.trackingContext.trackTableChange(this, 'position', prev, position);
337
+ }
279
338
  return this;
280
339
  }
281
340
  setOverlap(overlap) {
341
+ const prev = this.formatting.overlap;
282
342
  this.formatting.overlap = overlap;
343
+ if (this.trackingContext?.isEnabled() && prev !== overlap) {
344
+ this.trackingContext.trackTableChange(this, 'overlap', prev, overlap);
345
+ }
283
346
  return this;
284
347
  }
285
348
  setBidiVisual(bidi) {
349
+ const prev = this.formatting.bidiVisual;
286
350
  this.formatting.bidiVisual = bidi;
351
+ if (this.trackingContext?.isEnabled() && prev !== bidi) {
352
+ this.trackingContext.trackTableChange(this, 'bidiVisual', prev, bidi);
353
+ }
287
354
  return this;
288
355
  }
289
356
  setTableGrid(widths) {
357
+ const prev = this.formatting.tableGrid;
290
358
  this.formatting.tableGrid = widths;
359
+ if (this.trackingContext?.isEnabled()) {
360
+ this.trackingContext.trackTableChange(this, 'tableGrid', prev, widths);
361
+ }
291
362
  return this;
292
363
  }
293
364
  setCaption(caption) {
365
+ const prev = this.formatting.caption;
294
366
  this.formatting.caption = caption;
367
+ if (this.trackingContext?.isEnabled() && prev !== caption) {
368
+ this.trackingContext.trackTableChange(this, 'caption', prev, caption);
369
+ }
295
370
  return this;
296
371
  }
297
372
  setDescription(description) {
373
+ const prev = this.formatting.description;
298
374
  this.formatting.description = description;
375
+ if (this.trackingContext?.isEnabled() && prev !== description) {
376
+ this.trackingContext.trackTableChange(this, 'description', prev, description);
377
+ }
299
378
  return this;
300
379
  }
301
380
  setShading(shading) {
381
+ const prev = this.formatting.shading;
302
382
  this.formatting.shading = shading;
383
+ if (this.trackingContext?.isEnabled() && prev !== shading) {
384
+ this.trackingContext.trackTableChange(this, 'shading', prev, shading);
385
+ }
303
386
  return this;
304
387
  }
305
388
  getShading() {
306
389
  return this.formatting.shading;
307
390
  }
308
391
  setWidthType(type) {
392
+ const prev = this.formatting.widthType;
309
393
  this.formatting.widthType = type;
394
+ if (this.trackingContext?.isEnabled() && prev !== type) {
395
+ this.trackingContext.trackTableChange(this, 'widthType', prev, type);
396
+ }
310
397
  return this;
311
398
  }
312
399
  setCellSpacingType(type) {
400
+ const prev = this.formatting.cellSpacingType;
313
401
  this.formatting.cellSpacingType = type;
402
+ if (this.trackingContext?.isEnabled() && prev !== type) {
403
+ this.trackingContext.trackTableChange(this, 'cellSpacingType', prev, type);
404
+ }
314
405
  return this;
315
406
  }
316
407
  getFormatting() {
@@ -344,7 +435,11 @@ class Table {
344
435
  return this.formatting.cellMargins;
345
436
  }
346
437
  setCellMargins(margins) {
438
+ const prev = this.formatting.cellMargins;
347
439
  this.formatting.cellMargins = margins;
440
+ if (this.trackingContext?.isEnabled() && prev !== margins) {
441
+ this.trackingContext.trackTableChange(this, 'cellMargins', prev, margins);
442
+ }
348
443
  return this;
349
444
  }
350
445
  getStyle() {
@@ -546,6 +641,106 @@ class Table {
546
641
  "w:val": this.formatting.description,
547
642
  }));
548
643
  }
644
+ if (this.tblPrChange) {
645
+ const changeAttrs = {
646
+ "w:id": this.tblPrChange.id,
647
+ "w:author": this.tblPrChange.author,
648
+ "w:date": this.tblPrChange.date,
649
+ };
650
+ const prevTblPrChildren = [];
651
+ const prev = this.tblPrChange.previousProperties;
652
+ if (prev) {
653
+ if (prev.style) {
654
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyle", { "w:val": prev.style }));
655
+ }
656
+ if (prev.width !== undefined) {
657
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblW", {
658
+ "w:w": prev.width,
659
+ "w:type": prev.widthType || "dxa",
660
+ }));
661
+ }
662
+ if (prev.alignment) {
663
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("jc", { "w:val": prev.alignment }));
664
+ }
665
+ if (prev.indent !== undefined) {
666
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblInd", { "w:w": prev.indent, "w:type": "dxa" }));
667
+ }
668
+ if (prev.borders) {
669
+ const borderChildren = [];
670
+ const bNames = ['top', 'bottom', 'left', 'right', 'insideH', 'insideV'];
671
+ for (const name of bNames) {
672
+ const b = prev.borders[name];
673
+ if (b) {
674
+ const bAttrs = {};
675
+ if (b.style)
676
+ bAttrs['w:val'] = b.style;
677
+ if (b.size !== undefined)
678
+ bAttrs['w:sz'] = b.size;
679
+ if (b.color)
680
+ bAttrs['w:color'] = b.color;
681
+ borderChildren.push(XMLBuilder_1.XMLBuilder.wSelf(name, bAttrs));
682
+ }
683
+ }
684
+ if (borderChildren.length > 0) {
685
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.w("tblBorders", undefined, borderChildren));
686
+ }
687
+ }
688
+ if (prev.shading) {
689
+ const shadingAttrs = {};
690
+ if (prev.shading.pattern)
691
+ shadingAttrs["w:val"] = prev.shading.pattern;
692
+ if (prev.shading.fill)
693
+ shadingAttrs["w:fill"] = prev.shading.fill;
694
+ if (prev.shading.color)
695
+ shadingAttrs["w:color"] = prev.shading.color;
696
+ if (Object.keys(shadingAttrs).length > 0) {
697
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("shd", shadingAttrs));
698
+ }
699
+ }
700
+ if (prev.layout) {
701
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblLayout", { "w:type": prev.layout }));
702
+ }
703
+ if (prev.cellSpacing !== undefined) {
704
+ const csAttrs = { "w:w": prev.cellSpacing, "w:type": prev.cellSpacingType || "dxa" };
705
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblCellSpacing", csAttrs));
706
+ }
707
+ if (prev.bidiVisual) {
708
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("bidiVisual"));
709
+ }
710
+ if (prev.cellMargins) {
711
+ const cmChildren = [];
712
+ for (const side of ['top', 'start', 'bottom', 'end']) {
713
+ const val = prev.cellMargins[side];
714
+ if (val !== undefined) {
715
+ cmChildren.push(XMLBuilder_1.XMLBuilder.wSelf(side, { "w:w": val, "w:type": "dxa" }));
716
+ }
717
+ }
718
+ if (cmChildren.length > 0) {
719
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.w("tblCellMar", undefined, cmChildren));
720
+ }
721
+ }
722
+ if (prev.tblLook) {
723
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblLook", { "w:val": prev.tblLook }));
724
+ }
725
+ if (prev.tblStyleRowBandSize !== undefined) {
726
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyleRowBandSize", { "w:val": prev.tblStyleRowBandSize }));
727
+ }
728
+ if (prev.tblStyleColBandSize !== undefined) {
729
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyleColBandSize", { "w:val": prev.tblStyleColBandSize }));
730
+ }
731
+ if (prev.overlap) {
732
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblOverlap", { "w:val": prev.overlap }));
733
+ }
734
+ if (prev.caption) {
735
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblCaption", { "w:val": prev.caption }));
736
+ }
737
+ if (prev.description) {
738
+ prevTblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblDescription", { "w:val": prev.description }));
739
+ }
740
+ }
741
+ const prevTblPr = XMLBuilder_1.XMLBuilder.w("tblPr", undefined, prevTblPrChildren);
742
+ tblPrChildren.push(XMLBuilder_1.XMLBuilder.w("tblPrChange", changeAttrs, [prevTblPr]));
743
+ }
549
744
  const tableChildren = [];
550
745
  tableChildren.push(XMLBuilder_1.XMLBuilder.w("tblPr", undefined, tblPrChildren));
551
746
  const gridWidths = this.formatting.tableGrid;
@@ -570,6 +765,22 @@ class Table {
570
765
  }
571
766
  removeRow(index) {
572
767
  if (index >= 0 && index < this.rows.length) {
768
+ if (this.trackingContext?.isEnabled()) {
769
+ const author = this.trackingContext.getAuthor();
770
+ const row = this.rows[index];
771
+ for (const cell of row.getCells()) {
772
+ const cellDelRevision = Revision_1.Revision.createTableCellDelete(author, []);
773
+ cell.setCellRevision(cellDelRevision);
774
+ for (const para of cell.getParagraphs()) {
775
+ const runs = para.getRuns();
776
+ if (runs.length > 0) {
777
+ const deletion = Revision_1.Revision.createDeletion(author, runs);
778
+ para.addRevision(deletion);
779
+ }
780
+ }
781
+ }
782
+ return true;
783
+ }
573
784
  this.rows.splice(index, 1);
574
785
  return true;
575
786
  }
@@ -585,19 +796,31 @@ class Table {
585
796
  row = new TableRow_1.TableRow(columnCount);
586
797
  }
587
798
  this.rows.splice(index, 0, row);
799
+ if (this.trackingContext?.isEnabled()) {
800
+ const author = this.trackingContext.getAuthor();
801
+ for (const cell of row.getCells()) {
802
+ const revision = Revision_1.Revision.createTableCellInsert(author, []);
803
+ cell.setCellRevision(revision);
804
+ }
805
+ }
588
806
  return row;
589
807
  }
590
808
  addColumn(index) {
809
+ const isTracking = this.trackingContext?.isEnabled();
810
+ const author = isTracking ? this.trackingContext.getAuthor() : '';
591
811
  for (const row of this.rows) {
592
812
  const cell = new TableCell_1.TableCell();
813
+ if (isTracking) {
814
+ const revision = Revision_1.Revision.createTableCellInsert(author, []);
815
+ cell.setCellRevision(revision);
816
+ }
593
817
  const cells = row.getCells();
594
818
  if (index === undefined || index >= cells.length) {
595
819
  row.addCell(cell);
596
820
  }
597
821
  else {
598
822
  const idx = Math.max(0, index);
599
- const newCells = [...cells.slice(0, idx), cell, ...cells.slice(idx)];
600
- row.cells = newCells;
823
+ row.insertCellAt(idx, cell);
601
824
  }
602
825
  }
603
826
  return this;
@@ -606,11 +829,24 @@ class Table {
606
829
  if (index < 0 || this.rows.length === 0) {
607
830
  return false;
608
831
  }
832
+ if (this.trackingContext?.isEnabled()) {
833
+ const author = this.trackingContext.getAuthor();
834
+ let marked = false;
835
+ for (const row of this.rows) {
836
+ const cells = row.getCells();
837
+ if (index < cells.length) {
838
+ const revision = Revision_1.Revision.createTableCellDelete(author, []);
839
+ cells[index].setCellRevision(revision);
840
+ marked = true;
841
+ }
842
+ }
843
+ return marked;
844
+ }
609
845
  let removed = false;
610
846
  for (const row of this.rows) {
611
847
  const cells = row.getCells();
612
848
  if (index < cells.length) {
613
- row.cells.splice(index, 1);
849
+ row.removeCellAt(index);
614
850
  removed = true;
615
851
  }
616
852
  }
@@ -681,6 +917,20 @@ class Table {
681
917
  }
682
918
  }
683
919
  }
920
+ if (this.trackingContext?.isEnabled()) {
921
+ const author = this.trackingContext.getAuthor();
922
+ for (let row = startRow; row <= endRow; row++) {
923
+ for (let col = startCol; col <= endCol; col++) {
924
+ if (row === startRow && col === startCol)
925
+ continue;
926
+ const absorbedCell = this.getCell(row, col);
927
+ if (absorbedCell) {
928
+ const revision = Revision_1.Revision.createTableCellMerge(author, []);
929
+ absorbedCell.setCellRevision(revision);
930
+ }
931
+ }
932
+ }
933
+ }
684
934
  return this;
685
935
  }
686
936
  splitCell(row, col) {
@@ -788,6 +1038,24 @@ class Table {
788
1038
  return false;
789
1039
  }
790
1040
  const actualCount = Math.min(count, this.rows.length - startIndex);
1041
+ if (this.trackingContext?.isEnabled()) {
1042
+ const author = this.trackingContext.getAuthor();
1043
+ for (let i = startIndex; i < startIndex + actualCount; i++) {
1044
+ const row = this.rows[i];
1045
+ for (const cell of row.getCells()) {
1046
+ const cellDelRevision = Revision_1.Revision.createTableCellDelete(author, []);
1047
+ cell.setCellRevision(cellDelRevision);
1048
+ for (const para of cell.getParagraphs()) {
1049
+ const runs = para.getRuns();
1050
+ if (runs.length > 0) {
1051
+ const deletion = Revision_1.Revision.createDeletion(author, runs);
1052
+ para.addRevision(deletion);
1053
+ }
1054
+ }
1055
+ }
1056
+ }
1057
+ return true;
1058
+ }
791
1059
  this.rows.splice(startIndex, actualCount);
792
1060
  return actualCount > 0;
793
1061
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/elements/Table.ts"],"names":[],"mappings":";;;AAKA,yCAAqD;AACrD,2CAAwD;AACxD,kDAA2D;AAC3D,kDAA+C;AA8L/C,MAAa,KAAK;IACR,IAAI,GAAe,EAAE,CAAC;IACtB,UAAU,CAAkB;IAE5B,cAAc,CAAuD;IAQ7E,YACE,IAAa,EACb,OAAgB,EAChB,aAA8B,EAAE;QAKhC,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IACE,IAAI,KAAK,SAAS;YAClB,IAAI,GAAG,CAAC;YACR,OAAO,KAAK,SAAS;YACrB,OAAO,GAAG,CAAC,EACX,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC;gBAClC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAiBD,MAAM,CAAC,GAAa;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,SAAS,CAAC,SAAkB,EAAE,UAA0B;QACtD,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAiBD,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAkBD,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAMD,iBAAiB;QACf,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACxC,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAMD,gBAAgB;QACd,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAYD,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAoBD,OAAO,CAAC,QAAgB,EAAE,WAAmB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAoBD,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,YAAY,CAAC,SAAyB;QACpC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,SAAS,CAAC,MAAmB;QAE3B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAiCD,UAAU,CAAC,OAAqB,EAAE,OAAoC;QAEpE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAGlC,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAG5B,MAAM,UAAU,GAAG,GAAG,CAAC,0BAA0B,EAAE,CAAC;gBACpD,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;oBACxB,GAAG,CAAC,0BAA0B,CAAC;wBAC7B,GAAG,UAAU;wBACb,OAAO,EAAE,OAAO;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAGD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IA0BD,aAAa,CAAC,MAAmB,EAAE,OAAoC;QACrE,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,MAAM;SAChB,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAYD,kBAAkB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACvC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IA8BD,qBAAqB,CAAC,OAAkC;QACtD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAGxC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;YAGD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAE9B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAgB,CAAC,CAAC;gBAC9C,CAAC;gBAGD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACvC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC3C,CAAC;gBAGD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC/B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBACjC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;oBACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACpC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,mBAAmB,CAAC,IAAY;QAC9B,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,mBAAmB,CAAC,IAAY;QAC9B,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,eAAe;QAQb,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC;QAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO;YACL,QAAQ,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAChC,OAAO,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,WAAW,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACnC,UAAU,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAClC,OAAO,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,OAAO,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;SAChC,CAAC;IACJ,CAAC;IA6DD,0BAA0B,CAAC,KAc1B;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAG5B,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,gBAAgB,GACpB,KAAK,CAAC,SAAS,KAAK,IAAI;gBACtB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACjC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAGD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM;oBACvB,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI;oBAC7B,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC;gBAE/B,IAAI,UAAU,EAAE,CAAC;oBACf,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;wBAClC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC7B,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;oBACxC,MAAM,QAAQ,GAAG,IAAI;yBAClB,aAAa,EAAE;yBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;yBACvB,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,YAAa,EAAE,CAAC;wBACvC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;4BACjD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAMO,mBAAmB,CACzB,IAAe,EACf,UAAmC;QAGnC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAGD,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACjC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC;QAGD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAGD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IA0BD,WAAW,CAAC,QAAiC;QAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,aAAa,CAAC,IAAa;QACzB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAaD,YAAY,CAAC,MAAgB;QAC3B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,cAAc,CAAC,WAAmB;QAChC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,UAAU,CAAC,OAAqB;QAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAqBD,YAAY,CAAC,IAAoB;QAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,kBAAkB,CAAC,IAAoB;QACrC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAiBD,aAAa;QACX,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAUD,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAMD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAMD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAMD,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAMD,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAMD,eAAe;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAMD,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAOD,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAYD,cAAc,CAAC,OAAyB;QACtC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAMD,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAMD,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAMD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAMD,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAMD,kBAAkB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;IACzC,CAAC;IAUD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC;IAChD,CAAC;IAMD,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;IAC7E,CAAC;IAOD,iBAAiB,CACf,OAA4D;QAE5D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACxC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAMD,iBAAiB;QAGf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAMD,KAAK;QACH,MAAM,aAAa,GAAiB,EAAE,CAAC;QAGvC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CACjE,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrC,MAAM,QAAQ,GAAoC,EAAE,CAAC;YAErD,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,GAAG,CAAC,gBAAgB;gBAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACzE,IAAI,GAAG,CAAC,cAAc;gBAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;YACrE,IAAI,GAAG,CAAC,mBAAmB;gBACzB,QAAQ,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC;YACrD,IAAI,GAAG,CAAC,iBAAiB;gBACvB,QAAQ,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACnD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;gBAChC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;YAChD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;gBACjC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC;YAClD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC/B,QAAQ,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;YAC9C,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS;gBAClC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;YAEpD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,uBAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1C,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC7B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;aACvD,CAAC,CACH,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/B,aAAa,CAAC,IAAI,CAAC,uBAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC;YACrD,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,MAAM,EAAE;gBACvB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC5B,QAAQ,EAAE,SAAS;aACpB,CAAC,CACH,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAC/D,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC3B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CACpE,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAiB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAExC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,cAAc,CAAC,IAAI,CAAC,uBAAU,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,cAAc,CAAC,IAAI,CAAC,uBAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,uBAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,cAAc,CAAC,IAAI,CAAC,uBAAU,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,cAAc,CAAC,IAAI,CACjB,uBAAU,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CACpD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,cAAc,CAAC,IAAI,CACjB,uBAAU,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CACpD,CAAC;YACJ,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAC;YACjE,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;gBAClC,QAAQ,EAAE,eAAe;aAC1B,CAAC,CACH,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,cAAc,GAAiB,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAClD,cAAc,CAAC,IAAI,CACjB,uBAAU,CAAC,KAAK,CAAC,KAAK,EAAE;oBACtB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG;oBACtC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnD,cAAc,CAAC,IAAI,CACjB,uBAAU,CAAC,KAAK,CAAC,MAAM,EAAE;oBACvB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI;oBACvC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrD,cAAc,CAAC,IAAI,CACjB,uBAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACzB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM;oBACzC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpD,cAAc,CAAC,IAAI,CACjB,uBAAU,CAAC,KAAK,CAAC,OAAO,EAAE;oBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK;oBACxC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzC,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACzB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC7B,QAAQ,EAAE,KAAK;aAChB,CAAC,CACH,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAClE,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtD,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAC1F,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtD,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAC1F,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAA2B,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;gBACjC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;YACtD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;gBAC9B,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK;gBAC/B,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YACtD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,uBAAU,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CACrE,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAChC,aAAa,CAAC,IAAI,CAChB,uBAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBACjC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;aACrC,CAAC,CACH,CAAC;QACJ,CAAC;QAGD,MAAM,aAAa,GAAiB,EAAE,CAAC;QAGvC,aAAa,CAAC,IAAI,CAAC,uBAAU,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;QAQpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC7C,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,UAAU,CAAC,MAAM;YACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAGnE,MAAM,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,eAAe,GAAiB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAE9C,eAAe,CAAC,IAAI,CAClB,uBAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAEN,eAAe,CAAC,IAAI,CAAC,uBAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,uBAAU,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;QAGxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,uBAAU,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAgBD,SAAS,CAAC,KAAa;QACrB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAsBD,SAAS,CAAC,KAAa,EAAE,GAAc;QAErC,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAGvD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,GAAG,GAAG,IAAI,mBAAQ,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAkBD,SAAS,CAAC,KAAc;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,qBAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAEjD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBAEN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAE/B,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAGpE,GAAW,CAAC,KAAK,GAAG,QAAQ,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAExB,GAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAeD,cAAc;QACZ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAgBD,eAAe,CAAC,MAAyB;QAGvC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAqBD,MAAM,CAAC,MAAM,CACX,IAAa,EACb,OAAgB,EAChB,UAA4B;QAE5B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAeD,UAAU,CACR,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,MAAc;QAGd,IACE,QAAQ,GAAG,CAAC;YACZ,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAC1B,QAAQ,GAAG,CAAC;YACZ,MAAM,GAAG,CAAC,EACV,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,IAAI,MAAM,GAAG,QAAQ,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAID,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAC9C,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAGzB,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBAEX,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACjE,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,YAAY,GAAG,+CAA+C;wBAClG,6EAA6E,CAChF,CAAC;gBACJ,CAAC;gBAGD,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAEhB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACzC,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,YAAY,GAAG,iCAAiC,OAAO,IAAI;wBAC/F,6EAA6E,CAChF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAGD,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YAEtB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAGjC,KAAK,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,SAAS,EAAE,CAAC;oBACd,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAEvC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;wBACtB,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAYD,SAAS,CAAC,GAAW,EAAE,GAAW;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAiBD,aAAa,CACX,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,MAAc;QAEd,MAAM,SAAS,GAAa,EAAE,CAAC;QAG/B,IACE,QAAQ,GAAG,CAAC;YACZ,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAC1B,QAAQ,GAAG,CAAC;YACZ,MAAM,GAAG,CAAC;YACV,MAAM,GAAG,QAAQ;YACjB,MAAM,GAAG,QAAQ,EACjB,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACrC,CAAC;QAGD,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAC9C,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC;oBACnE,SAAS;gBACX,CAAC;gBAGD,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBAEX,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;wBACpE,SAAS,CAAC,IAAI,CACZ,eAAe,GAAG,YAAY,GAAG,iCAAiC,MAAM,GAAG,CAC5E,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAGD,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAEhB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;wBAC5C,SAAS,CAAC,IAAI,CACZ,eAAe,GAAG,YAAY,GAAG,uBAAuB,OAAO,EAAE,CAClE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;IAcD,QAAQ,CACN,OAAe,EACf,OAAe,EACf,KAAa,EACb,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAGD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,UAAU,CAAC,OAAO;YAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,OAAO;YAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,KAAK;YAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,iBAAiB;YAC9B,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAG5D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,qBAAS,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAcD,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAElC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAK,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAiBD,cAAc,CAAC,WAAmB,EAAE,KAAa;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;QAClD,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAYD,UAAU,CAAC,UAAkB,EAAE,KAAa;QAC1C,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACpC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAYD,UAAU,CAAC,UAAkB,EAAE,KAAa;QAC1C,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;IA2BD,QAAQ,CACN,WAAmB,EACnB,OAA6E;QAE7E,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC;QAErD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAGlC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAE5C,IAAI,UAAkB,CAAC;YACvB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAEhE,OAAO,IAAI,CAAC;IACd,CAAC;IAoBD,KAAK;QAEH,MAAM,gBAAgB,GAAoB,IAAA,qBAAS,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAGrE,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAGtD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,CAAC;YAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5C,MAAM,UAAU,GAAG,IAAI,qBAAS,CAAC,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAC,CAAC;gBAG5D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACxC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxC,CAAC;gBAED,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;YAED,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAl/DD,sBAk/DC"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/elements/Table.ts"],"names":[],"mappings":"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"}
@@ -50,13 +50,25 @@ export interface RawNestedContent {
50
50
  xml: string;
51
51
  type: "table" | "sdt";
52
52
  }
53
+ export interface TcPrChange {
54
+ author: string;
55
+ date: string;
56
+ id: string;
57
+ previousProperties: Record<string, any>;
58
+ }
53
59
  export declare class TableCell {
54
60
  private paragraphs;
55
61
  private formatting;
56
62
  private rawNestedContent;
57
63
  private _parentRow?;
58
64
  private cellRevision?;
65
+ private trackingContext?;
66
+ private tcPrChange?;
59
67
  constructor(formatting?: CellFormatting);
68
+ _setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void;
69
+ getTcPrChange(): TcPrChange | undefined;
70
+ setTcPrChange(change: TcPrChange | undefined): void;
71
+ clearTcPrChange(): void;
60
72
  addParagraph(paragraph: Paragraph): this;
61
73
  createParagraph(text?: string): Paragraph;
62
74
  getParagraphs(): Paragraph[];