@usejunior/docx-core 0.1.2 → 0.2.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/baselines/atomizer/consumerCompatibility.d.ts +2 -0
- package/dist/baselines/atomizer/consumerCompatibility.d.ts.map +1 -0
- package/dist/baselines/atomizer/consumerCompatibility.js +188 -0
- package/dist/baselines/atomizer/consumerCompatibility.js.map +1 -0
- package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
- package/dist/baselines/atomizer/documentReconstructor.js +82 -42
- package/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier.d.ts +15 -1
- package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier.js +111 -16
- package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
- package/dist/baselines/atomizer/pipeline.d.ts +4 -0
- package/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
- package/dist/baselines/atomizer/pipeline.js +335 -4
- package/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/dist/primitives/document_view.d.ts +3 -1
- package/dist/primitives/document_view.d.ts.map +1 -1
- package/dist/primitives/document_view.js +44 -18
- package/dist/primitives/document_view.js.map +1 -1
- package/dist/primitives/formatting_tags.d.ts +10 -9
- package/dist/primitives/formatting_tags.d.ts.map +1 -1
- package/dist/primitives/formatting_tags.js +162 -90
- package/dist/primitives/formatting_tags.js.map +1 -1
- package/dist/primitives/matching.d.ts +4 -2
- package/dist/primitives/matching.d.ts.map +1 -1
- package/dist/primitives/matching.js +39 -14
- package/dist/primitives/matching.js.map +1 -1
- package/dist/primitives/namespaces.d.ts +1 -0
- package/dist/primitives/namespaces.d.ts.map +1 -1
- package/dist/primitives/namespaces.js +1 -0
- package/dist/primitives/namespaces.js.map +1 -1
- package/dist/primitives/semantic_tags.d.ts +10 -25
- package/dist/primitives/semantic_tags.d.ts.map +1 -1
- package/dist/primitives/semantic_tags.js +34 -115
- package/dist/primitives/semantic_tags.js.map +1 -1
- package/dist/primitives/styles.d.ts.map +1 -1
- package/dist/primitives/styles.js +21 -6
- package/dist/primitives/styles.js.map +1 -1
- package/dist/primitives/text.d.ts +3 -0
- package/dist/primitives/text.d.ts.map +1 -1
- package/dist/primitives/text.js +65 -20
- package/dist/primitives/text.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,12 +4,22 @@
|
|
|
4
4
|
* Rebuilds document.xml from marked atoms with track changes.
|
|
5
5
|
* Generates w:ins, w:del, w:moveFrom, w:moveTo elements as appropriate.
|
|
6
6
|
*/
|
|
7
|
+
import { DOMParser } from '@xmldom/xmldom';
|
|
7
8
|
import { CorrelationStatus } from '../../core-types.js';
|
|
8
|
-
import { getLeafText, childElements } from '../../primitives/index.js';
|
|
9
|
+
import { getLeafText, childElements, findChildByTagName } from '../../primitives/index.js';
|
|
9
10
|
import { serializeToXml, cloneElement } from './xmlToWmlElement.js';
|
|
10
11
|
import { EMPTY_PARAGRAPH_TAG } from '../../atomizer.js';
|
|
11
12
|
import { areRunPropertiesEqual } from '../../format-detection.js';
|
|
12
13
|
import { debug } from './debug.js';
|
|
14
|
+
const SYNTHETIC_DOC = new DOMParser().parseFromString('<root xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"/>', 'application/xml');
|
|
15
|
+
const W_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main';
|
|
16
|
+
function createEl(tag, attrs) {
|
|
17
|
+
const el = SYNTHETIC_DOC.createElementNS(W_NS, tag);
|
|
18
|
+
if (attrs)
|
|
19
|
+
for (const [k, v] of Object.entries(attrs))
|
|
20
|
+
el.setAttribute(k, v);
|
|
21
|
+
return el;
|
|
22
|
+
}
|
|
13
23
|
/**
|
|
14
24
|
* Create initial revision ID state.
|
|
15
25
|
*/
|
|
@@ -450,9 +460,10 @@ function buildParagraphXml(group, author, dateStr, revState) {
|
|
|
450
460
|
if (isEntireParagraphWithStatus(group, CorrelationStatus.Inserted)) {
|
|
451
461
|
const paraId = allocateRevisionId(revState);
|
|
452
462
|
const runId = allocateRevisionId(revState);
|
|
463
|
+
const pPrChangeEl = buildPPrChangeElement(group.pPr, author, dateStr, revState);
|
|
453
464
|
const parts = [];
|
|
454
465
|
parts.push('<w:p>');
|
|
455
|
-
parts.push(serializePPrWithParaRevisionMarker(group.pPr,
|
|
466
|
+
parts.push(serializePPrWithParaRevisionMarker(group.pPr, 'w:ins', paraId, author, dateStr, pPrChangeEl));
|
|
456
467
|
parts.push(`<w:ins w:id="${runId}" w:author="${escapeXmlAttr(author)}" w:date="${dateStr}">`);
|
|
457
468
|
for (const runGroup of group.runGroups) {
|
|
458
469
|
parts.push(buildRunContentAsPlainRun(runGroup));
|
|
@@ -466,7 +477,7 @@ function buildParagraphXml(group, author, dateStr, revState) {
|
|
|
466
477
|
const runId = allocateRevisionId(revState);
|
|
467
478
|
const parts = [];
|
|
468
479
|
parts.push('<w:p>');
|
|
469
|
-
parts.push(serializePPrWithParaRevisionMarker(group.pPr,
|
|
480
|
+
parts.push(serializePPrWithParaRevisionMarker(group.pPr, 'w:del', paraId, author, dateStr));
|
|
470
481
|
parts.push(`<w:del w:id="${runId}" w:author="${escapeXmlAttr(author)}" w:date="${dateStr}">`);
|
|
471
482
|
for (const runGroup of group.runGroups) {
|
|
472
483
|
const plainRun = buildRunContentAsPlainRun(runGroup);
|
|
@@ -476,31 +487,20 @@ function buildParagraphXml(group, author, dateStr, revState) {
|
|
|
476
487
|
parts.push('</w:p>');
|
|
477
488
|
return parts.join('');
|
|
478
489
|
}
|
|
479
|
-
//
|
|
490
|
+
// Empty inserted paragraphs — use paragraph-mark revision marker (same as whole-paragraph).
|
|
491
|
+
// In OOXML, <w:ins> is NOT a valid container for <w:p>. The correct encoding places the
|
|
492
|
+
// marker inside w:pPr > w:rPr.
|
|
480
493
|
if (isEmptyParagraphWithStatus(group, CorrelationStatus.Inserted)) {
|
|
481
|
-
const
|
|
482
|
-
const
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
if (group.pPr) {
|
|
486
|
-
parts.push(serializeToXml(group.pPr));
|
|
487
|
-
}
|
|
488
|
-
parts.push('</w:p>');
|
|
489
|
-
parts.push('</w:ins>');
|
|
490
|
-
return parts.join('');
|
|
494
|
+
const paraId = allocateRevisionId(revState);
|
|
495
|
+
const pPrChangeEl = buildPPrChangeElement(group.pPr, author, dateStr, revState);
|
|
496
|
+
const pPrXml = serializePPrWithParaRevisionMarker(group.pPr, 'w:ins', paraId, author, dateStr, pPrChangeEl);
|
|
497
|
+
return `<w:p>${pPrXml}</w:p>`;
|
|
491
498
|
}
|
|
492
|
-
//
|
|
499
|
+
// Empty deleted paragraphs — use paragraph-mark revision marker.
|
|
493
500
|
if (isEmptyParagraphWithStatus(group, CorrelationStatus.Deleted)) {
|
|
494
|
-
const
|
|
495
|
-
const
|
|
496
|
-
|
|
497
|
-
parts.push('<w:p>');
|
|
498
|
-
if (group.pPr) {
|
|
499
|
-
parts.push(serializeToXml(group.pPr));
|
|
500
|
-
}
|
|
501
|
-
parts.push('</w:p>');
|
|
502
|
-
parts.push('</w:del>');
|
|
503
|
-
return parts.join('');
|
|
501
|
+
const paraId = allocateRevisionId(revState);
|
|
502
|
+
const pPrXml = serializePPrWithParaRevisionMarker(group.pPr, 'w:del', paraId, author, dateStr);
|
|
503
|
+
return `<w:p>${pPrXml}</w:p>`;
|
|
504
504
|
}
|
|
505
505
|
const parts = [];
|
|
506
506
|
parts.push('<w:p>');
|
|
@@ -517,26 +517,64 @@ function buildParagraphXml(group, author, dateStr, revState) {
|
|
|
517
517
|
return parts.join('');
|
|
518
518
|
}
|
|
519
519
|
/**
|
|
520
|
-
* Serialize paragraph properties
|
|
520
|
+
* Serialize paragraph properties with a paragraph-level revision marker (w:ins or w:del)
|
|
521
|
+
* placed inside w:pPr > w:rPr, per OOXML spec.
|
|
521
522
|
*
|
|
522
|
-
*
|
|
523
|
-
*/
|
|
524
|
-
function serializePPrWithParaRevisionMarker(pPr,
|
|
525
|
-
//
|
|
526
|
-
|
|
527
|
-
|
|
523
|
+
* DOM-based implementation — replaces the former regex-based approach.
|
|
524
|
+
*/
|
|
525
|
+
function serializePPrWithParaRevisionMarker(pPr, markerTag, id, author, dateStr, pPrChangeEl) {
|
|
526
|
+
// Clone pPr or synthesize empty one.
|
|
527
|
+
const effectivePPr = pPr ? cloneElement(pPr) : createEl('w:pPr');
|
|
528
|
+
// Find or create w:rPr at schema-correct position.
|
|
529
|
+
let rPr = findChildByTagName(effectivePPr, 'w:rPr');
|
|
530
|
+
if (!rPr) {
|
|
531
|
+
rPr = createEl('w:rPr');
|
|
532
|
+
const sectPr = findChildByTagName(effectivePPr, 'w:sectPr');
|
|
533
|
+
const existingPPrChange = findChildByTagName(effectivePPr, 'w:pPrChange');
|
|
534
|
+
const insertBefore = sectPr ?? existingPPrChange ?? null;
|
|
535
|
+
if (insertBefore) {
|
|
536
|
+
effectivePPr.insertBefore(rPr, insertBefore);
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
effectivePPr.appendChild(rPr);
|
|
540
|
+
}
|
|
528
541
|
}
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
542
|
+
// Insert revision marker at start of rPr.
|
|
543
|
+
const marker = createEl(markerTag, {
|
|
544
|
+
'w:id': String(id),
|
|
545
|
+
'w:author': author,
|
|
546
|
+
'w:date': dateStr,
|
|
547
|
+
});
|
|
548
|
+
rPr.insertBefore(marker, rPr.firstChild);
|
|
549
|
+
// Append pPrChange at end if provided.
|
|
550
|
+
if (pPrChangeEl) {
|
|
551
|
+
effectivePPr.appendChild(pPrChangeEl);
|
|
533
552
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
553
|
+
return serializeToXml(effectivePPr);
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Build a `<w:pPrChange>` Element from a pPr DOM element.
|
|
557
|
+
*
|
|
558
|
+
* The child `<w:pPr>` conforms to CT_PPrBase — it excludes w:rPr, w:sectPr,
|
|
559
|
+
* w:rPrChange, and w:pPrChange.
|
|
560
|
+
*/
|
|
561
|
+
function buildPPrChangeElement(pPr, author, dateStr, revState) {
|
|
562
|
+
const id = allocateRevisionId(revState);
|
|
563
|
+
const EXCLUDED = new Set(['w:rPr', 'w:rPrChange', 'w:pPrChange', 'w:sectPr']);
|
|
564
|
+
const pPrChange = createEl('w:pPrChange', {
|
|
565
|
+
'w:id': String(id),
|
|
566
|
+
'w:author': author,
|
|
567
|
+
'w:date': dateStr,
|
|
568
|
+
});
|
|
569
|
+
const oldPPr = createEl('w:pPr');
|
|
570
|
+
if (pPr) {
|
|
571
|
+
for (const child of childElements(pPr)) {
|
|
572
|
+
if (!EXCLUDED.has(child.tagName))
|
|
573
|
+
oldPPr.appendChild(child.cloneNode(true));
|
|
574
|
+
}
|
|
537
575
|
}
|
|
538
|
-
|
|
539
|
-
return
|
|
576
|
+
pPrChange.appendChild(oldPPr);
|
|
577
|
+
return pPrChange;
|
|
540
578
|
}
|
|
541
579
|
/**
|
|
542
580
|
* Returns true if every atom in the paragraph is of the specified status
|
|
@@ -824,14 +862,16 @@ function buildFormatChangeRun(group, author, dateStr, revState) {
|
|
|
824
862
|
}
|
|
825
863
|
}
|
|
826
864
|
}
|
|
827
|
-
// Add rPrChange with old properties
|
|
865
|
+
// Add rPrChange with old properties (wrapped in w:rPr per OOXML spec)
|
|
828
866
|
const formatChange = group.atoms[0]?.formatChange;
|
|
829
867
|
if (formatChange?.oldRunProperties) {
|
|
830
868
|
const id = allocateRevisionId(revState);
|
|
831
869
|
parts.push(`<w:rPrChange w:id="${id}" w:author="${escapeXmlAttr(author)}" w:date="${dateStr}">`);
|
|
870
|
+
parts.push('<w:rPr>');
|
|
832
871
|
for (const child of childElements(formatChange.oldRunProperties)) {
|
|
833
872
|
parts.push(serializeToXml(child));
|
|
834
873
|
}
|
|
874
|
+
parts.push('</w:rPr>');
|
|
835
875
|
parts.push('</w:rPrChange>');
|
|
836
876
|
}
|
|
837
877
|
parts.push('</w:rPr>');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentReconstructor.js","sourceRoot":"","sources":["../../../src/baselines/atomizer/documentReconstructor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"documentReconstructor.js","sourceRoot":"","sources":["../../../src/baselines/atomizer/documentReconstructor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CACnD,gFAAgF,EAChF,iBAAiB,CAClB,CAAC;AACF,MAAM,IAAI,GAAG,8DAA8D,CAAC;AAE5E,SAAS,QAAQ,CAAC,GAAW,EAAE,KAA8B;IAC3D,MAAM,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,KAAK;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC;AACZ,CAAC;AAoBD;;GAEG;AACH,SAAS,qBAAqB;IAC5B,OAAO;QACL,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,IAAI,GAAG,EAAE;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAsB;IAChD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,KAAsB,EACtB,QAAgB;IAEhB,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG;YACJ,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACxC,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;SACvC,CAAC;QACF,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAiC,EACjC,WAAmB,EACnB,OAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IAEzC,2BAA2B;IAC3B,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE9D,kEAAkE;IAClE,MAAM,eAAe,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAEvE,uBAAuB;IACvB,kBAAkB,EAAE,CAAC;IACrB,2BAA2B,EAAE,CAAC;IAE9B,KAAK,CAAC,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,aAAa,eAAe,CAAC,MAAM,aAAa,CAAC,CAAC;IAE9F,6CAA6C;IAC7C,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,KAAK,CAAC,eAAe,EAAE,8BAA8B,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;IAE1G,MAAM,aAAa,GAAG,yBAAyB,EAAE,CAAC;IAClD,KAAK,CAAC,eAAe,EAAE,8BAA8B,aAAa,CAAC,QAAQ,aAAa,aAAa,CAAC,OAAO,WAAW,aAAa,CAAC,KAAK,WAAW,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;IAE7K,2BAA2B;IAC3B,OAAO,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AA0BD;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,KAA2B;IACxD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,YAAY,GAA0B,IAAI,CAAC;IAC/C,IAAI,eAAe,GAAoB,IAAI,CAAC;IAE5C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,eAAe,EAAE,0BAA0B,KAAK,CAAC,MAAM,WAAW,aAAa,CAAC,IAAI,0BAA0B,CAAC,CAAC;IAEtH,uFAAuF;IACvF,kGAAkG;IAClG,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,CAAC;QACzD,OAAO,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,0BAA0B;QAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEjD,mCAAmC;QACnC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,oFAAoF;QACpF,kEAAkE;QAClE,IAAI,CAAC,YAAY,IAAI,uBAAuB,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YAClF,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;gBACpC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC;YACD,eAAe,GAAG,IAAI,CAAC;YACvB,YAAY,GAAG;gBACb,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnC,SAAS,EAAE,EAAE;aACd,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,mCAAmC;QACnC,8DAA8D;QAC9D,4EAA4E;QAC5E,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YACtE,IAAI,eAAe,EAAE,CAAC;gBACpB,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/C,CAAC;YACD,eAAe,GAAG;gBAChB,MAAM,EAAE,IAAI,CAAC,iBAAiB;gBAC9B,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;QACpC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAe;IAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,MAAwB;IACnD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;YAE9B,yCAAyC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO;gBAC5C,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;YAE/D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,kCAAkC;YAClC,MAAM,SAAS,GAAyB,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAyB,EAAE,CAAC;YAE5C,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;gBAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;oBAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;oBACvD,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpF,0DAA0D;oBAC1D,gDAAgD;oBAChD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC/B,wCAAwC;wBACxC,MAAM,OAAO,GAAuB;4BAClC,GAAG,IAAI;4BACP,iBAAiB,EAAE,iBAAiB,CAAC,OAAO;yBAC7C,CAAC;wBACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAExB,0CAA0C;wBAC1C,MAAM,OAAO,GAAuB;4BAClC,GAAG,IAAI;4BACP,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ;yBAC9C,CAAC;wBACF,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;oBACD,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,sDAAsD;oBACtD,MAAM;gBACR,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,mEAAmE;YACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACV,MAAM,EAAE,iBAAiB,CAAC,OAAO;oBACjC,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI;iBACV,CAAC,CAAC;YACL,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;oBACV,MAAM,EAAE,iBAAiB,CAAC,QAAQ;oBAClC,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,IAAI;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,0BAA0B,CAAC,MAAwB;IAC1D,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,IAAwB,EACxB,OAAe;IAEf,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAE,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,OAAgB,EAChB,OAAe;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAK,KAAiB,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACnE,OAAO,KAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,uBAAuB,CAC9B,YAA4B,EAC5B,eAAgC,EAChC,WAA+B;IAE/B,MAAM,qBAAqB,GAAG,WAAW,CAAC,cAAc,CAAC;IAEzD,wEAAwE;IACxE,IAAI,qBAAqB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEtD,yEAAyE;IACzE,IAAI,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAC1E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC;QAEnD,0EAA0E;QAC1E,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,qBAAqB,KAAK,kBAAkB,CAAC;QACtD,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACpE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC;IAEnD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,qBAAqB,KAAK,kBAAkB,CAAC;IACtD,CAAC;IAED,4DAA4D;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,IAAwB;IACnD,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,YAAsB,EACtB,IAAwB;IAExB,+BAA+B;IAC/B,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,wDAAwD;IACxD,IAAI,YAAY,CAAC,MAAM,KAAK,iBAAiB,CAAC,WAAW;QACrD,YAAY,CAAC,MAAM,KAAK,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,MAAM,UAAU,GAAG,mBAAmB,CACpC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CACnD,CAAC;IACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEzC,6CAA6C;IAC7C,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,UAAU,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEzD,OAAO,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,0BAA0B,CACjC,KAAqB,EACrB,MAAyB;IAEzB,mFAAmF;IACnF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,+EAA+E;QAC/E,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,mBAAmB,CAC9D,CAAC;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,KAAK,MAAM,CAC5C,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,sCAAsC;AACtC,IAAI,sBAAsB,GAAG,CAAC,CAAC;AAC/B,IAAI,qBAAqB,GAAG,CAAC,CAAC;AAC9B,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAC5B,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,sBAAsB,GAAG,CAAC,CAAC;IAC3B,qBAAqB,GAAG,CAAC,CAAC;IAC1B,mBAAmB,GAAG,CAAC,CAAC;IACxB,mBAAmB,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IAMvC,OAAO;QACL,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,qBAAqB;QAC9B,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,mBAAmB;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAqB;IAClD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,mBAAmB,CAC9D,CAAC;QACF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,KAAqB,EACrB,MAAc,EACd,OAAe,EACf,QAAyB;IAEzB,+CAA+C;IAC/C,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC;QAC/D,IAAI,MAAM,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC1C,sBAAsB,EAAE,CAAC;QAC3B,CAAC;aAAM,IAAI,MAAM,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAChD,qBAAqB,EAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,MAAM,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC9C,mBAAmB,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,mBAAmB,EAAE,CAAC;QACxB,CAAC;QAED,8DAA8D;QAC9D,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;QAC9G,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,KAAK,CAAC,eAAe,EAAE,oBAAoB,UAAU,YAAY,MAAM,eAAe,KAAK,CAAC,MAAM,mBAAmB,QAAQ,GAAG,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,EAAE;IACF,uEAAuE;IACvE,6CAA6C;IAC7C,UAAU;IACV,iDAAiD;IACjD,wCAAwC;IACxC,WAAW;IACX,EAAE;IACF,oFAAoF;IACpF,2DAA2D;IAC3D,IAAI,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAC3C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CACzD,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CACR,gBAAgB,KAAK,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,IAAI,CAClF,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAC3C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAC5C,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CACR,gBAAgB,KAAK,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,IAAI,CAClF,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAC/E,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,4FAA4F;IAC5F,wFAAwF;IACxF,+BAA+B;IAC/B,IAAI,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,kCAAkC,CAC/C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CACzD,CAAC;QACF,OAAO,QAAQ,MAAM,QAAQ,CAAC;IAChC,CAAC;IAED,iEAAiE;IACjE,IAAI,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,kCAAkC,CAC/C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAC5C,CAAC;QACF,OAAO,QAAQ,MAAM,QAAQ,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpB,2BAA2B;IAC3B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAS,kCAAkC,CACzC,GAAmB,EACnB,SAA4B,EAC5B,EAAU,EACV,MAAc,EACd,OAAe,EACf,WAA4B;IAE5B,qCAAqC;IACrC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjE,mDAAmD;IACnD,IAAI,GAAG,GAAG,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,MAAM,IAAI,iBAAiB,IAAI,IAAI,CAAC;QACzD,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE;QACjC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAEzC,uCAAuC;IACvC,IAAI,WAAW,EAAE,CAAC;QAChB,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,GAAmB,EACnB,MAAc,EACd,OAAe,EACf,QAAyB;IAEzB,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE;QACxC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAY,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,KAAqB,EACrB,MAAyB;IAEzB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YAC/B,IAAI,EAAE,CAAC,OAAO,KAAK,mBAAmB;gBAAE,SAAS;YAEjD,aAAa,GAAG,IAAI,CAAC;YAErB,4EAA4E;YAC5E,4EAA4E;YAC5E,6EAA6E;YAC7E,2CAA2C;YAC3C,MAAM,oBAAoB,GACxB,EAAE,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,MAAM,gBAAgB,GACpB,oBAAoB,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC;YAEnG,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM,EAAE,CAAC;gBACtC,eAAe,GAAG,IAAI,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,SAAS,CAAC,4CAA4C;YACxD,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,gGAAgG;IAChG,OAAO,aAAa,IAAI,eAAe,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,KAAe;IAChD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,mBAAmB,CAC9D,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,+CAA+C;IAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,iDAAiD;IACjD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,KAAe,EACf,MAAc,EACd,OAAe,EACf,QAAyB;IAEzB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE1C,kFAAkF;IAClF,sDAAsD;IACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,iBAAiB,CAAC,KAAK,CAAC;QAC7B,KAAK,iBAAiB,CAAC,OAAO;YAC5B,OAAO,UAAU,CAAC;QAEpB,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,OAAO,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE5D,KAAK,iBAAiB,CAAC,OAAO;YAC5B,OAAO,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE5D,KAAK,iBAAiB,CAAC,WAAW;YAChC,OAAO,gBAAgB,CACrB,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,CAAC,QAAQ,IAAI,OAAO,EACzB,QAAQ,CACT,CAAC;QAEJ,KAAK,iBAAiB,CAAC,gBAAgB;YACrC,OAAO,cAAc,CACnB,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,CAAC,QAAQ,IAAI,OAAO,EACzB,QAAQ,CACT,CAAC;QAEJ,KAAK,iBAAiB,CAAC,aAAa;YAClC,wDAAwD;YACxD,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEhE;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,gBAAgB,GAAG,CAAC,CAAC;IACrB,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAA2B;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAA2D,EAAE,CAAC;IAC1E,IAAI,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAChD,IAAI,YAAY,GAAyB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAE/C,6CAA6C;QAC7C,IAAI,IAAI,GAAG,UAAU,KAAK,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACtD,UAAU,GAAG,OAAO,CAAC;YACrB,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAA2B,EAAE,GAAmB;IACtE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,mBAAmB,CAC9D,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,IAAI,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,aAAa,GACjB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;YAC3B,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;YACzB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,aAAa;YACX,CAAC,CAAC,6BAA6B,OAAO,QAAQ;YAC9C,CAAC,CAAC,QAAQ,OAAO,QAAQ,CAC5B,CAAC;QACF,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,gBAAgB,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,gBAAgB,EAAE,CAAC;YACnB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/B,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACzB,WAAW,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QAED,gBAAgB,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,gBAAgB,EAAE,CAAC;IAEnB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,cAAc,EAAE,CAAC;QACjB,8CAA8C;QAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,OAAO,6BAA6B,IAAI,QAAQ,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,IAAI,QAAQ,CAAC;QAC9B,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,sEAAsE;QACtE,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,KAAe;IACtC,8DAA8D;IAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,mBAAmB,CAC9D,CAAC;IAEF,sEAAsE;IACtE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,iDAAiD;IACjD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,OAAe,EACf,MAAc,EACd,OAAe,EACf,QAAyB;IAEzB,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,gBAAgB,EAAE,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,KAAK,OAAO,UAAU,CAAC;AAC1G,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,OAAe,EACf,MAAc,EACd,OAAe,EACf,QAAyB;IAEzB,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,qDAAqD;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAC;IACjG,OAAO,gBAAgB,EAAE,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,KAAK,UAAU,UAAU,CAAC;AAC7G,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,OAAe,EACf,MAAc,EACd,OAAe,EACf,QAAgB,EAChB,QAAyB;IAEzB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE5C,kDAAkD;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAC;IAEjG,OAAO,CACL,+BAA+B,GAAG,CAAC,aAAa,aAAa,QAAQ,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,KAAK;QAClI,qBAAqB,MAAM,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,KAAK,UAAU,eAAe;QACjH,6BAA6B,GAAG,CAAC,aAAa,KAAK,CACpD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,OAAe,EACf,MAAc,EACd,OAAe,EACf,QAAgB,EAChB,QAAyB;IAEzB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO,CACL,6BAA6B,GAAG,CAAC,WAAW,aAAa,QAAQ,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,KAAK;QAC9H,mBAAmB,MAAM,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,KAAK,OAAO,aAAa;QAC1G,2BAA2B,GAAG,CAAC,WAAW,KAAK,CAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAAe,EACf,MAAc,EACd,OAAe,EACf,QAAyB;IAEzB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpB,2BAA2B;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;IAC9D,IAAI,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtB,qBAAqB;QACrB,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QAClD,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CACR,sBAAsB,EAAE,eAAe,aAAa,CAAC,MAAM,CAAC,aAAa,OAAO,IAAI,CACrF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,gBAAiB,CAAC,EAAE,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,KAAK,CAAC,IAAI,CAAC,6BAA6B,IAAI,QAAQ,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,WAAmB,EAAE,aAAuB;IACjE,6BAA6B;IAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CACjC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CACxD,CAAC;IAEF,+EAA+E;IAC/E,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO,UAAU,GAAG,WAAW,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAaD;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,WAAiC;IAEjC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAW,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,kBAAkB;QAClB,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,kBAAkB;QAClB,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,KAAK,iBAAiB,CAAC,QAAQ;gBAC7B,UAAU,EAAE,CAAC;gBACb,MAAM;YACR,KAAK,iBAAiB,CAAC,OAAO;gBAC5B,SAAS,EAAE,CAAC;gBACZ,MAAM;YACR,KAAK,iBAAiB,CAAC,WAAW,CAAC;YACnC,KAAK,iBAAiB,CAAC,gBAAgB;gBACrC,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,KAAK,iBAAiB,CAAC,aAAa;gBAClC,aAAa,EAAE,CAAC;gBAChB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,IAAI;QAC3B,UAAU;QACV,SAAS;QACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,4CAA4C;QAC1E,aAAa;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -139,6 +139,20 @@ export declare function wrapAsMoveTo(run: Element, moveName: string, author: str
|
|
|
139
139
|
* @param state - Revision ID state
|
|
140
140
|
*/
|
|
141
141
|
export declare function addFormatChange(run: Element, oldRunProperties: Element | null, author: string, dateStr: string, state: RevisionIdState): void;
|
|
142
|
+
/**
|
|
143
|
+
* Add a paragraph property change element (w:pPrChange) to record the "before"
|
|
144
|
+
* state of paragraph properties. This is needed for Google Docs to display
|
|
145
|
+
* inserted paragraphs as tracked changes.
|
|
146
|
+
*
|
|
147
|
+
* The child `<w:pPr>` inside `w:pPrChange` must conform to CT_PPrBase — it
|
|
148
|
+
* MUST NOT contain w:rPr, w:sectPr, or w:pPrChange.
|
|
149
|
+
*
|
|
150
|
+
* @param paragraph - The w:p element
|
|
151
|
+
* @param author - Author name
|
|
152
|
+
* @param dateStr - Formatted date
|
|
153
|
+
* @param state - Revision ID state
|
|
154
|
+
*/
|
|
155
|
+
export declare function addParagraphPropertyChange(paragraph: Element, author: string, dateStr: string, state: RevisionIdState): void;
|
|
142
156
|
/**
|
|
143
157
|
* Wrap an inserted empty paragraph with <w:ins>.
|
|
144
158
|
*
|
|
@@ -149,7 +163,7 @@ export declare function addFormatChange(run: Element, oldRunProperties: Element
|
|
|
149
163
|
* @param dateStr - Formatted date
|
|
150
164
|
* @param state - Revision ID state
|
|
151
165
|
*/
|
|
152
|
-
export declare function wrapParagraphAsInserted(
|
|
166
|
+
export declare function wrapParagraphAsInserted(_paragraph: Element, _author: string, _dateStr: string, _state: RevisionIdState): boolean;
|
|
153
167
|
/**
|
|
154
168
|
* Wrap a deleted empty paragraph with <w:del>.
|
|
155
169
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inPlaceModifier.d.ts","sourceRoot":"","sources":["../../../src/baselines/atomizer/inPlaceModifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"inPlaceModifier.d.ts","sourceRoot":"","sources":["../../../src/baselines/atomizer/inPlaceModifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { CorrelationStatus } from '../../core-types.js';
|
|
14
14
|
import { EMPTY_PARAGRAPH_TAG } from '../../atomizer.js';
|
|
15
15
|
import { getLeafText, childElements, findChildByTagName, insertAfterElement, wrapElement, splitRunAtVisibleOffset, visibleLengthForEl, getDirectContentElements, } from '../../primitives/index.js';
|
|
16
|
+
import { enforceConsumerCompatibility } from './consumerCompatibility.js';
|
|
16
17
|
import { DOMParser, XMLSerializer } from '@xmldom/xmldom';
|
|
17
18
|
import { warn } from './debug.js';
|
|
18
19
|
const SYNTHETIC_DOC = new DOMParser().parseFromString('<root xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"/>', 'application/xml');
|
|
@@ -391,12 +392,14 @@ function cloneUnemittedSourceBookmarkMarkers(sourceRun, targetParagraph, state,
|
|
|
391
392
|
}
|
|
392
393
|
return clones;
|
|
393
394
|
}
|
|
394
|
-
function
|
|
395
|
-
|
|
396
|
-
|
|
395
|
+
function insertMarkersBeforeWrapper(wrapper, markers) {
|
|
396
|
+
const parent = wrapper.parentNode;
|
|
397
|
+
if (!parent)
|
|
398
|
+
return;
|
|
399
|
+
for (const marker of markers) {
|
|
397
400
|
if (!marker)
|
|
398
401
|
continue;
|
|
399
|
-
|
|
402
|
+
parent.insertBefore(marker, wrapper);
|
|
400
403
|
}
|
|
401
404
|
}
|
|
402
405
|
function filterEquivalentBookmarkMarkers(markers, targetNode, context) {
|
|
@@ -517,8 +520,17 @@ function addParagraphMarkRevisionMarker(paragraph, markerTag, author, dateStr, s
|
|
|
517
520
|
let rPr = findChildByTagName(pPr, 'w:rPr');
|
|
518
521
|
if (!rPr) {
|
|
519
522
|
rPr = createEl('w:rPr');
|
|
520
|
-
//
|
|
521
|
-
|
|
523
|
+
// CT_PPr ordering: ... base props ..., w:rPr, w:sectPr?, w:pPrChange?
|
|
524
|
+
// Insert rPr in schema-correct position (before sectPr/pPrChange).
|
|
525
|
+
const sectPr = findChildByTagName(pPr, 'w:sectPr');
|
|
526
|
+
const pPrChange = findChildByTagName(pPr, 'w:pPrChange');
|
|
527
|
+
const insertBefore = sectPr ?? pPrChange ?? null;
|
|
528
|
+
if (insertBefore) {
|
|
529
|
+
pPr.insertBefore(rPr, insertBefore);
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
pPr.appendChild(rPr);
|
|
533
|
+
}
|
|
522
534
|
}
|
|
523
535
|
// Avoid duplicating markers.
|
|
524
536
|
if (findChildByTagName(rPr, markerTag))
|
|
@@ -618,7 +630,7 @@ export function insertDeletedRun(deletedAtom, insertAfterRun, targetParagraph, a
|
|
|
618
630
|
}
|
|
619
631
|
const sourceMarkers = cloneUnemittedSourceBookmarkMarkers(sourceRun, targetParagraph, state, context);
|
|
620
632
|
if (sourceMarkers.length > 0)
|
|
621
|
-
|
|
633
|
+
insertMarkersBeforeWrapper(del, sourceMarkers);
|
|
622
634
|
return del;
|
|
623
635
|
}
|
|
624
636
|
/**
|
|
@@ -693,7 +705,7 @@ export function insertMoveFromRun(atom, moveName, insertAfterRun, targetParagrap
|
|
|
693
705
|
}
|
|
694
706
|
const sourceMarkers = cloneUnemittedSourceBookmarkMarkers(sourceRun, targetParagraph, state, context);
|
|
695
707
|
if (sourceMarkers.length > 0)
|
|
696
|
-
|
|
708
|
+
insertMarkersBeforeWrapper(moveFrom, sourceMarkers);
|
|
697
709
|
return moveFrom;
|
|
698
710
|
}
|
|
699
711
|
/**
|
|
@@ -846,16 +858,58 @@ export function addFormatChange(run, oldRunProperties, author, dateStr, state) {
|
|
|
846
858
|
'w:author': author,
|
|
847
859
|
'w:date': dateStr,
|
|
848
860
|
});
|
|
849
|
-
// Clone old properties
|
|
861
|
+
// Clone old properties into a w:rPr wrapper inside rPrChange (OOXML spec requires
|
|
862
|
+
// rPrChange to contain a single w:rPr child holding the previous formatting).
|
|
850
863
|
if (oldRunProperties) {
|
|
864
|
+
const oldRPr = createEl('w:rPr');
|
|
851
865
|
for (const child of childElements(oldRunProperties)) {
|
|
852
866
|
const cloned = child.cloneNode(true);
|
|
853
|
-
|
|
867
|
+
oldRPr.appendChild(cloned);
|
|
854
868
|
}
|
|
869
|
+
rPrChange.appendChild(oldRPr);
|
|
855
870
|
}
|
|
856
871
|
// Add rPrChange to rPr
|
|
857
872
|
rPr.appendChild(rPrChange);
|
|
858
873
|
}
|
|
874
|
+
/**
|
|
875
|
+
* Add a paragraph property change element (w:pPrChange) to record the "before"
|
|
876
|
+
* state of paragraph properties. This is needed for Google Docs to display
|
|
877
|
+
* inserted paragraphs as tracked changes.
|
|
878
|
+
*
|
|
879
|
+
* The child `<w:pPr>` inside `w:pPrChange` must conform to CT_PPrBase — it
|
|
880
|
+
* MUST NOT contain w:rPr, w:sectPr, or w:pPrChange.
|
|
881
|
+
*
|
|
882
|
+
* @param paragraph - The w:p element
|
|
883
|
+
* @param author - Author name
|
|
884
|
+
* @param dateStr - Formatted date
|
|
885
|
+
* @param state - Revision ID state
|
|
886
|
+
*/
|
|
887
|
+
export function addParagraphPropertyChange(paragraph, author, dateStr, state) {
|
|
888
|
+
let pPr = findChildByTagName(paragraph, 'w:pPr');
|
|
889
|
+
if (!pPr) {
|
|
890
|
+
pPr = createEl('w:pPr');
|
|
891
|
+
paragraph.insertBefore(pPr, paragraph.firstChild);
|
|
892
|
+
}
|
|
893
|
+
// Idempotent — don't add a second pPrChange.
|
|
894
|
+
if (findChildByTagName(pPr, 'w:pPrChange'))
|
|
895
|
+
return;
|
|
896
|
+
const id = allocateRevisionId(state);
|
|
897
|
+
const pPrChange = createEl('w:pPrChange', {
|
|
898
|
+
'w:id': String(id),
|
|
899
|
+
'w:author': author,
|
|
900
|
+
'w:date': dateStr,
|
|
901
|
+
});
|
|
902
|
+
// Clone current pPr content as "before" snapshot.
|
|
903
|
+
// pPrChange child pPr must be CT_PPrBase — exclude rPr, rPrChange, sectPr, pPrChange.
|
|
904
|
+
const EXCLUDED = new Set(['w:rPr', 'w:rPrChange', 'w:pPrChange', 'w:sectPr']);
|
|
905
|
+
const oldPPr = createEl('w:pPr');
|
|
906
|
+
for (const child of childElements(pPr)) {
|
|
907
|
+
if (!EXCLUDED.has(child.tagName))
|
|
908
|
+
oldPPr.appendChild(child.cloneNode(true));
|
|
909
|
+
}
|
|
910
|
+
pPrChange.appendChild(oldPPr);
|
|
911
|
+
pPr.appendChild(pPrChange); // pPrChange goes last in pPr per schema
|
|
912
|
+
}
|
|
859
913
|
/**
|
|
860
914
|
* Wrap an inserted empty paragraph with <w:ins>.
|
|
861
915
|
*
|
|
@@ -866,11 +920,13 @@ export function addFormatChange(run, oldRunProperties, author, dateStr, state) {
|
|
|
866
920
|
* @param dateStr - Formatted date
|
|
867
921
|
* @param state - Revision ID state
|
|
868
922
|
*/
|
|
869
|
-
export function wrapParagraphAsInserted(
|
|
870
|
-
//
|
|
871
|
-
//
|
|
872
|
-
//
|
|
873
|
-
|
|
923
|
+
export function wrapParagraphAsInserted(_paragraph, _author, _dateStr, _state) {
|
|
924
|
+
// No-op: paragraph-mark w:ins markers and pPrChange inside pPr/rPr are valid
|
|
925
|
+
// OOXML but Google Docs ignores (or actively hides) w:ins-wrapped runs when
|
|
926
|
+
// they coexist with those markers. Since the individual runs in an inserted
|
|
927
|
+
// paragraph are already wrapped with <w:ins> by the comparison engine, the
|
|
928
|
+
// paragraph-level markers are redundant and omitting them maximises
|
|
929
|
+
// cross-application compatibility.
|
|
874
930
|
return true;
|
|
875
931
|
}
|
|
876
932
|
/**
|
|
@@ -1051,6 +1107,8 @@ export function modifyRevisedDocument(revisedRoot, originalAtoms, revisedAtoms,
|
|
|
1051
1107
|
applyWholeParagraphRevisionMarkers(mergedAtoms, ctx);
|
|
1052
1108
|
// Merge adjacent <w:ins>/<w:del> siblings to reduce revision fragmentation.
|
|
1053
1109
|
mergeAdjacentTrackChangeSiblings(ctx.body);
|
|
1110
|
+
// Apply strict post-render consumer compatibility pass
|
|
1111
|
+
enforceConsumerCompatibility(revisedRoot, () => allocateRevisionId(state));
|
|
1054
1112
|
// Serialize the modified tree
|
|
1055
1113
|
return new XMLSerializer().serializeToString(revisedRoot.ownerDocument || revisedRoot);
|
|
1056
1114
|
}
|
|
@@ -1073,8 +1131,15 @@ function handleInserted(atom, ctx) {
|
|
|
1073
1131
|
}
|
|
1074
1132
|
const endRun = getAtomRunAtBoundary(atom, 'end') ?? runs[runs.length - 1];
|
|
1075
1133
|
const insertionPoint = getRunInsertionAnchor(endRun);
|
|
1134
|
+
if (insertionPoint === ctx.lastRevisedRunAnchor) {
|
|
1135
|
+
return {
|
|
1136
|
+
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1137
|
+
newLastParagraphIndex: atom.paragraphIndex,
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1076
1140
|
return {
|
|
1077
1141
|
newLastRun: insertionPoint,
|
|
1142
|
+
newLastRevisedRunAnchor: insertionPoint,
|
|
1078
1143
|
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1079
1144
|
newLastParagraphIndex: atom.paragraphIndex,
|
|
1080
1145
|
};
|
|
@@ -1321,8 +1386,15 @@ function handleMovedDestination(atom, ctx) {
|
|
|
1321
1386
|
}
|
|
1322
1387
|
const endRun = getAtomRunAtBoundary(atom, 'end') ?? runs[runs.length - 1];
|
|
1323
1388
|
const insertionPoint = getRunInsertionAnchor(endRun);
|
|
1389
|
+
if (insertionPoint === ctx.lastRevisedRunAnchor) {
|
|
1390
|
+
return {
|
|
1391
|
+
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1392
|
+
newLastParagraphIndex: atom.paragraphIndex,
|
|
1393
|
+
};
|
|
1394
|
+
}
|
|
1324
1395
|
return {
|
|
1325
1396
|
newLastRun: insertionPoint,
|
|
1397
|
+
newLastRevisedRunAnchor: insertionPoint,
|
|
1326
1398
|
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1327
1399
|
newLastParagraphIndex: atom.paragraphIndex,
|
|
1328
1400
|
};
|
|
@@ -1337,9 +1409,17 @@ function handleFormatChanged(atom, ctx) {
|
|
|
1337
1409
|
const run = getAtomRunAtBoundary(atom, 'start');
|
|
1338
1410
|
if (run && atom.formatChange?.oldRunProperties) {
|
|
1339
1411
|
addFormatChange(run, atom.formatChange.oldRunProperties, ctx.author, ctx.dateStr, ctx.state);
|
|
1340
|
-
const
|
|
1412
|
+
const endRun = getAtomRunAtBoundary(atom, 'end') ?? run;
|
|
1413
|
+
const insertionPoint = getRunInsertionAnchor(endRun);
|
|
1414
|
+
if (insertionPoint === ctx.lastRevisedRunAnchor) {
|
|
1415
|
+
return {
|
|
1416
|
+
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1417
|
+
newLastParagraphIndex: atom.paragraphIndex,
|
|
1418
|
+
};
|
|
1419
|
+
}
|
|
1341
1420
|
return {
|
|
1342
1421
|
newLastRun: insertionPoint,
|
|
1422
|
+
newLastRevisedRunAnchor: insertionPoint,
|
|
1343
1423
|
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1344
1424
|
newLastParagraphIndex: atom.paragraphIndex,
|
|
1345
1425
|
};
|
|
@@ -1365,8 +1445,17 @@ function handleEqual(atom, ctx) {
|
|
|
1365
1445
|
const run = getAtomRunAtBoundary(atom, 'end');
|
|
1366
1446
|
if (run) {
|
|
1367
1447
|
const insertionPoint = getRunInsertionAnchor(run);
|
|
1448
|
+
// BUG FIX: Don't move the insertion point backwards if we are still in the same run.
|
|
1449
|
+
// This prevents Deleted atoms inserted between words of the same run from being reversed.
|
|
1450
|
+
if (insertionPoint === ctx.lastRevisedRunAnchor) {
|
|
1451
|
+
return {
|
|
1452
|
+
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1453
|
+
newLastParagraphIndex: atom.paragraphIndex,
|
|
1454
|
+
};
|
|
1455
|
+
}
|
|
1368
1456
|
return {
|
|
1369
1457
|
newLastRun: insertionPoint,
|
|
1458
|
+
newLastRevisedRunAnchor: insertionPoint,
|
|
1370
1459
|
newLastParagraph: atom.sourceParagraphElement ?? ctx.lastProcessedParagraph,
|
|
1371
1460
|
newLastParagraphIndex: atom.paragraphIndex,
|
|
1372
1461
|
};
|
|
@@ -1383,6 +1472,7 @@ function handleEqual(atom, ctx) {
|
|
|
1383
1472
|
// Setting newLastRun to null explicitly resets it.
|
|
1384
1473
|
return {
|
|
1385
1474
|
newLastRun: null, // Reset - we're in a new paragraph with no runs yet
|
|
1475
|
+
newLastRevisedRunAnchor: null,
|
|
1386
1476
|
// Use the revised paragraph (not the original's sourceParagraphElement!)
|
|
1387
1477
|
newLastParagraph: revisedParagraph ?? ctx.lastProcessedParagraph,
|
|
1388
1478
|
newLastParagraphIndex: atom.paragraphIndex,
|
|
@@ -1421,6 +1511,7 @@ function processAtoms(mergedAtoms, _originalAtoms, revisedAtoms, author, dateStr
|
|
|
1421
1511
|
state,
|
|
1422
1512
|
body: revisedRoot,
|
|
1423
1513
|
lastProcessedRun: null,
|
|
1514
|
+
lastRevisedRunAnchor: null,
|
|
1424
1515
|
lastProcessedParagraph: null,
|
|
1425
1516
|
lastParagraphIndex: undefined,
|
|
1426
1517
|
unifiedParaToElement: new Map(),
|
|
@@ -1468,6 +1559,7 @@ function processAtoms(mergedAtoms, _originalAtoms, revisedAtoms, author, dateStr
|
|
|
1468
1559
|
state,
|
|
1469
1560
|
body,
|
|
1470
1561
|
lastProcessedRun: null,
|
|
1562
|
+
lastRevisedRunAnchor: null,
|
|
1471
1563
|
lastProcessedParagraph: null,
|
|
1472
1564
|
lastParagraphIndex: undefined,
|
|
1473
1565
|
unifiedParaToElement,
|
|
@@ -1484,6 +1576,9 @@ function processAtoms(mergedAtoms, _originalAtoms, revisedAtoms, author, dateStr
|
|
|
1484
1576
|
if (result.newLastRun !== undefined) {
|
|
1485
1577
|
ctx.lastProcessedRun = result.newLastRun;
|
|
1486
1578
|
}
|
|
1579
|
+
if (result.newLastRevisedRunAnchor !== undefined) {
|
|
1580
|
+
ctx.lastRevisedRunAnchor = result.newLastRevisedRunAnchor;
|
|
1581
|
+
}
|
|
1487
1582
|
if (result.newLastParagraph !== undefined) {
|
|
1488
1583
|
ctx.lastProcessedParagraph = result.newLastParagraph;
|
|
1489
1584
|
}
|