postext 1.11.2 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/__tests__/exports.test.js +24 -0
  2. package/dist/__tests__/exports.test.js.map +1 -1
  3. package/dist/__tests__/parse/anchors.test.d.ts +2 -0
  4. package/dist/__tests__/parse/anchors.test.d.ts.map +1 -0
  5. package/dist/__tests__/parse/anchors.test.js +71 -0
  6. package/dist/__tests__/parse/anchors.test.js.map +1 -0
  7. package/dist/__tests__/parse/citations.test.d.ts +2 -0
  8. package/dist/__tests__/parse/citations.test.d.ts.map +1 -0
  9. package/dist/__tests__/parse/citations.test.js +98 -0
  10. package/dist/__tests__/parse/citations.test.js.map +1 -0
  11. package/dist/__tests__/parse/containers.test.js +1 -1
  12. package/dist/__tests__/parse/containers.test.js.map +1 -1
  13. package/dist/__tests__/pipeline/crossRefs.test.d.ts +2 -0
  14. package/dist/__tests__/pipeline/crossRefs.test.d.ts.map +1 -0
  15. package/dist/__tests__/pipeline/crossRefs.test.js +170 -0
  16. package/dist/__tests__/pipeline/crossRefs.test.js.map +1 -0
  17. package/dist/bundle/book.d.ts.map +1 -1
  18. package/dist/bundle/book.js +22 -4
  19. package/dist/bundle/book.js.map +1 -1
  20. package/dist/citations/bibtex.d.ts +19 -0
  21. package/dist/citations/bibtex.d.ts.map +1 -0
  22. package/dist/citations/bibtex.js +375 -0
  23. package/dist/citations/bibtex.js.map +1 -0
  24. package/dist/citations/context.d.ts +64 -0
  25. package/dist/citations/context.d.ts.map +1 -0
  26. package/dist/citations/context.js +115 -0
  27. package/dist/citations/context.js.map +1 -0
  28. package/dist/citations/data.d.ts +35 -0
  29. package/dist/citations/data.d.ts.map +1 -0
  30. package/dist/citations/data.js +158 -0
  31. package/dist/citations/data.js.map +1 -0
  32. package/dist/citations/html.d.ts +16 -0
  33. package/dist/citations/html.d.ts.map +1 -0
  34. package/dist/citations/html.js +99 -0
  35. package/dist/citations/html.js.map +1 -0
  36. package/dist/citations/registry.d.ts +30 -0
  37. package/dist/citations/registry.d.ts.map +1 -0
  38. package/dist/citations/registry.js +51 -0
  39. package/dist/citations/registry.js.map +1 -0
  40. package/dist/citations/types.d.ts +132 -0
  41. package/dist/citations/types.d.ts.map +1 -0
  42. package/dist/citations/types.js +9 -0
  43. package/dist/citations/types.js.map +1 -0
  44. package/dist/defaults/citations.d.ts +5 -0
  45. package/dist/defaults/citations.d.ts.map +1 -0
  46. package/dist/defaults/citations.js +99 -0
  47. package/dist/defaults/citations.js.map +1 -0
  48. package/dist/defaults/crossRefs.d.ts +7 -0
  49. package/dist/defaults/crossRefs.d.ts.map +1 -0
  50. package/dist/defaults/crossRefs.js +35 -0
  51. package/dist/defaults/crossRefs.js.map +1 -0
  52. package/dist/defaults/index.d.ts +2 -0
  53. package/dist/defaults/index.d.ts.map +1 -1
  54. package/dist/defaults/index.js +18 -0
  55. package/dist/defaults/index.js.map +1 -1
  56. package/dist/html-backend.d.ts.map +1 -1
  57. package/dist/html-backend.js +79 -19
  58. package/dist/html-backend.js.map +1 -1
  59. package/dist/index.d.ts +10 -4
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +9 -2
  62. package/dist/index.js.map +1 -1
  63. package/dist/knuthPlass/richAdapter.d.ts +2 -0
  64. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  65. package/dist/knuthPlass/richAdapter.js +1 -1
  66. package/dist/knuthPlass/richAdapter.js.map +1 -1
  67. package/dist/measure/cache.js +1 -1
  68. package/dist/measure/cache.js.map +1 -1
  69. package/dist/measure/rich.d.ts +4 -0
  70. package/dist/measure/rich.d.ts.map +1 -1
  71. package/dist/measure/rich.js +2 -2
  72. package/dist/measure/rich.js.map +1 -1
  73. package/dist/parse/attrs.d.ts.map +1 -1
  74. package/dist/parse/attrs.js +31 -4
  75. package/dist/parse/attrs.js.map +1 -1
  76. package/dist/parse/blockParser.d.ts.map +1 -1
  77. package/dist/parse/blockParser.js +68 -8
  78. package/dist/parse/blockParser.js.map +1 -1
  79. package/dist/parse/citations.d.ts +41 -0
  80. package/dist/parse/citations.d.ts.map +1 -0
  81. package/dist/parse/citations.js +206 -0
  82. package/dist/parse/citations.js.map +1 -0
  83. package/dist/parse/index.d.ts +1 -1
  84. package/dist/parse/index.d.ts.map +1 -1
  85. package/dist/parse/index.js.map +1 -1
  86. package/dist/parse/indexMarks.d.ts +2 -7
  87. package/dist/parse/indexMarks.d.ts.map +1 -1
  88. package/dist/parse/indexMarks.js +65 -20
  89. package/dist/parse/indexMarks.js.map +1 -1
  90. package/dist/parse/inlineFormatting.d.ts +2 -2
  91. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  92. package/dist/parse/inlineFormatting.js +41 -14
  93. package/dist/parse/inlineFormatting.js.map +1 -1
  94. package/dist/parse/types.d.ts +50 -4
  95. package/dist/parse/types.d.ts.map +1 -1
  96. package/dist/pipeline/anchors.d.ts +28 -0
  97. package/dist/pipeline/anchors.d.ts.map +1 -0
  98. package/dist/pipeline/anchors.js +123 -0
  99. package/dist/pipeline/anchors.js.map +1 -0
  100. package/dist/pipeline/build.d.ts.map +1 -1
  101. package/dist/pipeline/build.js +51 -11
  102. package/dist/pipeline/build.js.map +1 -1
  103. package/dist/pipeline/citations.d.ts +80 -0
  104. package/dist/pipeline/citations.d.ts.map +1 -0
  105. package/dist/pipeline/citations.js +418 -0
  106. package/dist/pipeline/citations.js.map +1 -0
  107. package/dist/pipeline/config.d.ts.map +1 -1
  108. package/dist/pipeline/config.js +3 -1
  109. package/dist/pipeline/config.js.map +1 -1
  110. package/dist/pipeline/contentWarnings.d.ts +7 -1
  111. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  112. package/dist/pipeline/contentWarnings.js +57 -3
  113. package/dist/pipeline/contentWarnings.js.map +1 -1
  114. package/dist/pipeline/continuation.d.ts +2 -1
  115. package/dist/pipeline/continuation.d.ts.map +1 -1
  116. package/dist/pipeline/continuation.js +3 -0
  117. package/dist/pipeline/continuation.js.map +1 -1
  118. package/dist/pipeline/crossRefs.d.ts +79 -0
  119. package/dist/pipeline/crossRefs.d.ts.map +1 -0
  120. package/dist/pipeline/crossRefs.js +207 -0
  121. package/dist/pipeline/crossRefs.js.map +1 -0
  122. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  123. package/dist/pipeline/floatPlacement.js +2 -1
  124. package/dist/pipeline/floatPlacement.js.map +1 -1
  125. package/dist/pipeline/index.d.ts +2 -1
  126. package/dist/pipeline/index.d.ts.map +1 -1
  127. package/dist/pipeline/index.js +2 -1
  128. package/dist/pipeline/index.js.map +1 -1
  129. package/dist/pipeline/measureContentBlock.d.ts +4 -0
  130. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  131. package/dist/pipeline/measureContentBlock.js +1 -0
  132. package/dist/pipeline/measureContentBlock.js.map +1 -1
  133. package/dist/pipeline/outline.d.ts +3 -0
  134. package/dist/pipeline/outline.d.ts.map +1 -1
  135. package/dist/pipeline/outline.js +38 -1
  136. package/dist/pipeline/outline.js.map +1 -1
  137. package/dist/pipeline/resourceLayout.d.ts +13 -1
  138. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  139. package/dist/pipeline/resourceLayout.js +22 -2
  140. package/dist/pipeline/resourceLayout.js.map +1 -1
  141. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  142. package/dist/pipeline/resourceNumbering.js +2 -1
  143. package/dist/pipeline/resourceNumbering.js.map +1 -1
  144. package/dist/types.d.ts +133 -2
  145. package/dist/types.d.ts.map +1 -1
  146. package/dist/vdt.d.ts +59 -1
  147. package/dist/vdt.d.ts.map +1 -1
  148. package/dist/vdt.js.map +1 -1
  149. package/dist/worker/layout.worker.js +6 -0
  150. package/dist/worker/layout.worker.js.map +1 -1
  151. package/package.json +1 -1
@@ -8,6 +8,10 @@
8
8
  * them in `VDTDocument.contentWarnings`, located on the page each construct
9
9
  * landed on.
10
10
  */
11
+ import { resourceRefId, unprefixedId } from './crossRefs';
12
+ import { citationIssues } from './citations';
13
+ import { bookCitationContexts, needsCitationContext } from '../citations/context';
14
+ import { duplicateAnchors } from './anchors';
11
15
  import { KNOWN_CONTAINERS, KNOWN_DIRECTIVES, parseInlineSnippetSpans, parseMarkdownMemo } from '../parse';
12
16
  import { invalidAttributeKeys } from '../parse/attrs';
13
17
  import { extractFrontmatter } from '../frontmatter';
@@ -117,7 +121,13 @@ function inlineRange(text, start, blockEnd) {
117
121
  * warnings point at the resource's first embed or reference. The result
118
122
  * has no `pageIndex` — the build adds it.
119
123
  */
120
- export function collectContentWarnings(markdown, config, resources = []) {
124
+ export function collectContentWarnings(markdown, config, resources = [],
125
+ /** The anchor ids of the whole book (#262), when the document is one of
126
+ * its chapters; its own anchors count either way. */
127
+ bookAnchors,
128
+ /** The reference keys of the whole book (#268), when the document is one
129
+ * of its chapters; its own references count either way. */
130
+ bookCitationKeys) {
121
131
  let body = markdown;
122
132
  let offset = 0;
123
133
  try {
@@ -135,6 +145,17 @@ export function collectContentWarnings(markdown, config, resources = []) {
135
145
  for (const r of resources)
136
146
  if (!byId.has(r.id))
137
147
  byId.set(r.id, r);
148
+ const anchors = new Set(bookAnchors);
149
+ for (const b of blocks) {
150
+ if (b.type === 'heading' && b.attrs?.id)
151
+ anchors.add(b.attrs.id);
152
+ for (const m of b.anchorMarks ?? [])
153
+ anchors.add(m.anchorId);
154
+ }
155
+ const isAnchor = (id) => anchors.has(id) || (unprefixedId(id) !== undefined && anchors.has(unprefixedId(id)));
156
+ // An identifier set twice: a reference reaches the first one only.
157
+ for (const d of duplicateAnchors(blocks))
158
+ out.push({ kind: 'duplicateAnchor', anchorId: d.id, ...abs({ start: d.start, end: d.end }) });
138
159
  const paragraphStyles = new Set((config?.paragraphStyles ?? DEFAULT_PARAGRAPH_STYLES).map((s) => s.id));
139
160
  // With no callout style configured every type is the built-in plain box:
140
161
  // a type is only wrong once there are styles to pick from.
@@ -177,8 +198,11 @@ export function collectContentWarnings(markdown, config, resources = []) {
177
198
  }
178
199
  if (span.ref) {
179
200
  const range = inlineRange(body, at, b.sourceEnd);
180
- use(span.ref.resourceId, range);
181
- if (!byId.has(span.ref.resourceId)) {
201
+ const id = resourceRefId(span.ref.resourceId, (x) => byId.has(x));
202
+ use(id, range);
203
+ // A reference naming no resource may name an anchor (#262): of
204
+ // this document, or of the book (`knownAnchors`).
205
+ if (!byId.has(id) && !isAnchor(span.ref.resourceId)) {
182
206
  out.push({ kind: 'unknownResourceId', resourceId: span.ref.resourceId, usage: 'ref', ...abs(range) });
183
207
  }
184
208
  }
@@ -371,6 +395,27 @@ export function collectContentWarnings(markdown, config, resources = []) {
371
395
  }
372
396
  }
373
397
  }
398
+ // Citations (#268): keys no reference defines, data that cannot be read.
399
+ let metadata;
400
+ try {
401
+ metadata = extractFrontmatter(markdown).metadata;
402
+ }
403
+ catch {
404
+ metadata = undefined;
405
+ }
406
+ if (needsCitationContext(blocks, metadata)) {
407
+ const ctx = bookCitationContexts([{ metadata, blocks }])[0];
408
+ const keys = bookCitationKeys ? new Set([...bookCitationKeys, ...ctx.items.map((i) => i.id)]) : undefined;
409
+ for (const issue of citationIssues(blocks, ctx, keys)) {
410
+ const range = abs({ start: issue.sourceStart, end: issue.sourceEnd });
411
+ if (issue.kind === 'unknownCitationKey')
412
+ out.push({ kind: 'unknownCitationKey', key: issue.key ?? '', ...range });
413
+ else if (issue.kind === 'citationsUnavailable')
414
+ out.push({ kind: 'citationsUnavailable', ...range });
415
+ else
416
+ out.push({ kind: 'referencesUnreadable', message: issue.message ?? '', ...range });
417
+ }
418
+ }
374
419
  // Reading order: a resource's warnings sit at its first use.
375
420
  return out
376
421
  .map((w, i) => ({ w, i }))
@@ -488,6 +533,15 @@ export function formatWarning(w) {
488
533
  case 'unknownDirective':
489
534
  text = `Unknown directive ":::${w.name}" — the line is set as text`;
490
535
  break;
536
+ case 'unknownCitationKey':
537
+ text = `No reference defines "@${w.key}" — the citation prints without it`;
538
+ break;
539
+ case 'citationsUnavailable':
540
+ text = 'Citations need a citation engine (import "postext-citeproc/register") — they print as written';
541
+ break;
542
+ case 'referencesUnreadable':
543
+ text = `A :::references block cannot be read: ${w.message}`;
544
+ break;
491
545
  case 'malformedEmbed':
492
546
  text = `The embed line "::${w.name}" is set as text — write ::resource{id="…"} alone on its line, after a blank line`;
493
547
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1E;;2BAE2B;AAC3B,MAAM,aAAa,GAAG,4BAA4B,CAAC;AACnD;;;;kCAIkC;AAClC,MAAM,aAAa,GAAG,wCAAwC,CAAC;AAE/D,uEAAuE;AACvE,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;wEAEwE;AACxE,MAAM,gBAAgB,GAAgE;IACpF,6CAA6C;IAC7C,EAAE,EAAE,EAAE,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IAC9D,+BAA+B;IAC/B,EAAE,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;IACxE,6BAA6B;IAC7B,EAAE,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACxD,kBAAkB;IAClB,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;CAC7C,CAAC;AACF,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,8DAA8D,CAAC;AAC1F,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C;iDACiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAA+D,CAAC;IACpE,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAC7C,oEAAoE;QACpE,8BAA8B;QAC9B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAyB,CAAC;QAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;YAAE,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC;YAAE,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED;;mBAEmB;AACnB,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,KAAK;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,wFAAwF,CAAC;IACxG,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAS,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAI3G;sEACsE;AACtE,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,QAAgB;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,MAAsB,EACtB,YAAiC,EAAE;AACnC;sDACsD;AACtD,WAAiC;AACjC;4DAC4D;AAC5D,gBAAsC;IAEtC,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;QAClB,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC;IAE/F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC;IAChI,mEAAmE;IACnE,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACxI,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,IAAI,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxG,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,IAAI,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,yEAAyE;IACzE,oEAAoE;IACpE,0DAA0D;IAC1D,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,aAAa;WAC5D,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC;IACxF,IAAI,UAAU,GAAkC,GAAG,EAAE,CAAC,KAAK,CAAC;IAC5D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvD,UAAU,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,aAAa,CAAC;IAChG,CAAC;IAED;4CACwC;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,KAAkB,EAAQ,EAAE;QACnD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxB,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,+DAA+D;IAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEpD,2DAA2D;IAC3D,MAAM,SAAS,GAAG,CAAC,CAAe,EAAQ,EAAE;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1D,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACf,+DAA+D;gBAC/D,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxG,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QACD,+CAA+C;QAC/C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,QAAQ,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACzD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC;gBACxB,IAAI,EAAE,KAAK,SAAS;oBAAE,MAAM;gBAC5B,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1G,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,aAAa,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjF,CAAC;qBAAM,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,gEAAgE;oBAChE,sCAAsC;oBACtC,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC;oBACnC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1I,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpE,+DAA+D;oBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,+DAA+D;gBAC/D,mEAAmE;gBACnE,qEAAqE;gBACrE,gEAAgE;gBAChE,IAAI,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;oBACnD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;oBAC/E,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;wBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxG,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzC,IAAI,KAAK,KAAK,SAAS;wBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACvF,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM;YACR,CAAC;YACD;gBACE,MAAM;QACV,CAAC;QACD,SAAS,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,SAAS;IACT,CAAC;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAU,EAAE;YACxC,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3B,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,MAAM,CAAC,GAAG,CAAE,IAAI,MAAM;oBAAE,EAAE,GAAG,GAAG,CAAC;;oBAChC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;gBAAE,SAAS;YACvC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,EAAE,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1J,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO;YAChC,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,SAAS,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;oBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAW,EAAE;YACpC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,IAAwB,EAAQ,EAAE;YACrD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;gBACnH,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,CAAC;oBAC3E,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,IAAI,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,SAAS;QAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAChC,iEAAiE;QACjE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAC5B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;gBACrC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;oBACtE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC3G,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,QAA6C,CAAC;IAClD,IAAI,CAAC;QACH,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAmC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IACD,IAAI,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;iBAC7G,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;;gBAChG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,6DAA6D;IAC7D,OAAO,GAAG;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5E,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAgB,EAAE,QAAmC;IACzF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK;QAAE,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI;gBAAE,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD;0EACsE;IACtE,MAAM,MAAM,GAAG,CAAC,MAAc,EAAsB,EAAE;QACpD,IAAI,MAA0B,CAAC;QAC/B,IAAI,IAAiD,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;gBAAE,SAAS;YAC1F,IAAI,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBACrD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM;oBAAE,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC;YACzE,CAAC;iBAAM,IAAI,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxI,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QACD,OAAO,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC;IAC9B,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;YAC1E,CAAC,CAAC,CAAC,CAAC,UAAU;YACd,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;eACrE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3I,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACnD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAC7B,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;mEACmE;AACnE,SAAS,KAAK,CAAC,CAAoF;IACjG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC;IACzG,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;IACzF,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,CAAoF;IAChH,MAAM,KAAK,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,IAAI,IAAY,CAAC;IACjB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,iBAAiB;YACpB,IAAI,GAAG,oDAAoD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YACxF,MAAM;QACR,KAAK,mBAAmB;YACtB,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO;gBACxB,CAAC,CAAC,wBAAwB,CAAC,CAAC,UAAU,uCAAuC;gBAC7E,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW;oBACvB,CAAC,CAAC,wBAAwB,CAAC,CAAC,UAAU,2BAA2B,KAAK,6BAA6B;oBACnG,CAAC,CAAC,wBAAwB,CAAC,CAAC,UAAU,YAAY,KAAK,+DAA+D,CAAC;YAC3H,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,GAAG,yBAAyB,CAAC,CAAC,IAAI,6BAA6B,CAAC;YACpE,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,0BAA0B,CAAC,CAAC,GAAG,oCAAoC,CAAC;YAC3E,MAAM;QACR,KAAK,sBAAsB;YACzB,IAAI,GAAG,+FAA+F,CAAC;YACvG,MAAM;QACR,KAAK,sBAAsB;YACzB,IAAI,GAAG,yCAAyC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,qBAAqB,CAAC,CAAC,IAAI,mFAAmF,CAAC;YACtH,MAAM;QACR,KAAK,uBAAuB;YAC1B,IAAI,GAAG,4BAA4B,CAAC,CAAC,KAAK,yCAAyC,CAAC;YACpF,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,yBAAyB,CAAC,CAAC,IAAI,2CAA2C,CAAC;YAClF,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,GAAG,uBAAuB,CAAC,CAAC,KAAK,IAAI,KAAK,wCAAwC,CAAC;YACvF,MAAM;QACR,KAAK,mBAAmB;YACtB,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,iCAAiC,CAAC,CAAC,EAAE,8BAA8B,CAAC;YAC7F,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,yBAAyB,CAAC,CAAC,EAAE,mCAAmC,CAAC;YACxE,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,GAAG,0FAA0F,CAAC;YAClG,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,GAAG,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,MAAM,+DAA+D,CAAC;YAC3I,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,uBAAuB,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,OAAO,kCAAkC,CAAC;YACnG,MAAM;QACR,KAAK,qBAAqB;YACxB,IAAI,GAAG,0BAA0B,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,KAAK,mCAAmC,CAAC;YAC/F,MAAM;QACR,KAAK,mBAAmB;YACtB,IAAI,GAAG,wBAAwB,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,UAAU,wCAAwC,CAAC;YAC5G,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,GAAG,yCAAyC,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC,KAAK,UAAU,CAAC;YACpG,MAAM;QACR,KAAK,qBAAqB;YACxB,IAAI,GAAG,sBAAsB,CAAC,CAAC,GAAG,oEAAoE,CAAC;YACvG,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,aAAa;gBAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,sBAAsB,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,8FAA8F;gBAC1K,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAAG,GAAG,CAAC,2BAA2B,CAAC;YAC9G,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;gBAAE,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC;YAChD,MAAM;QACR,KAAK,cAAc;YACjB,IAAI,GAAG,sBAAsB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC;YACxI,MAAM;QACR,KAAK,cAAc;YACjB,IAAI,GAAG,uBAAuB,CAAC,CAAC,IAAI,gGAAgG,CAAC;YACrI,MAAM;QACR,KAAK,uBAAuB;YAC1B,IAAI,GAAG,kBAAkB,CAAC,CAAC,IAAI,gEAAgE,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,QAAQ,+BAA+B,CAAC;YACnK,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,kBAAkB,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,QAAQ,6BAA6B,CAAC,CAAC,KAAK,0DAA0D,CAAC;YAC/J,MAAM;QACR,KAAK,qBAAqB;YACxB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,4BAA4B,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,IAAI,GAAG,CAAC;YACjE,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtH,MAAM;QACR,KAAK,kBAAkB;YACrB,IAAI,GAAG,qBAAqB,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,KAAK,yBAAyB,CAAC;YAChI,MAAM;QACR,KAAK,0BAA0B;YAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9D,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,KAAK,4CAA4C,CAAC,CAAC,IAAI,GAAG;gBAC7F,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,qDAAqD,CAAC,CAAC,IAAI,GAAG,CAAC;YACzF,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,yDAAyD,CAAC,CAAC,IAAI,EAAE,CAAC;YACnK,MAAM;QACR;YACE,+DAA+D;YAC/D,IAAI,GAAG,YAAa,CAAsB,CAAC,IAAI,GAAG,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC"}
@@ -9,9 +9,10 @@ export declare function continuationAfter(content: Pick<PostextContent, 'markdow
9
9
  * prints a table of contents. Chain it chapter by chapter, like
10
10
  * `continuationAfter`, to assemble a book's outline before any page is
11
11
  * laid out. */
12
- export declare function contentOutline(content: Pick<PostextContent, 'markdown'>, config?: PostextConfig, before?: LayoutContinuation): {
12
+ export declare function contentOutline(content: Pick<PostextContent, 'markdown'> & Partial<Pick<PostextContent, 'resources'>>, config?: PostextConfig, before?: LayoutContinuation): {
13
13
  outline: OutlineEntry[];
14
14
  hasToc: boolean;
15
15
  hasIndex: boolean;
16
+ hasRefs: boolean;
16
17
  };
17
18
  //# sourceMappingURL=continuation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,YAAY,EAAa,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAU5H;;;yCAGyC;AACzC,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC,EACvD,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,kBAAkB,CA0CpB;AAmBD;;;;gBAIgB;AAChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EACzC,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CASjE"}
1
+ {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,YAAY,EAAa,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAU5H;;;yCAGyC;AACzC,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC,EACvD,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,kBAAkB,CA0CpB;AAmBD;;;;gBAIgB;AAChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,EACtF,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAWnF"}
@@ -4,6 +4,7 @@
4
4
  // markdown: no layout is involved, so the page half (`pageIndexOffset`,
5
5
  // `pageNumbering`) is left to the caller, which knows how many pages the
6
6
  // preceding content produced and how its last page was numbered.
7
+ import { hasAnchorRefs } from './crossRefs';
7
8
  import { extractFrontmatter } from '../frontmatter';
8
9
  import { parseMarkdownMemo } from '../parse';
9
10
  import { defaultResourceTypes } from '../defaults';
@@ -89,6 +90,8 @@ export function contentOutline(content, config, before) {
89
90
  outline: computeOutline(blocks, resolved, before?.headings),
90
91
  hasToc: hasTocDirective(blocks),
91
92
  hasIndex: hasIndexDirective(blocks),
93
+ // A reference naming no resource may name an anchor of the book (#262).
94
+ hasRefs: hasAnchorRefs(blocks, new Set((content.resources ?? []).map((r) => r.id))),
92
95
  };
93
96
  }
94
97
  //# sourceMappingURL=continuation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Cross-references to anchors (#262, #263): `:ref{id="sec-intro"}` naming a
3
+ * heading with an identifier, an anchor set in the text or a container
4
+ * opened with one. The label comes from the book outline — the heading's
5
+ * number and title, the anchor's text — and, for a page reference, the
6
+ * label of the page the target landed on in the previous layout round.
7
+ */
8
+ import type { ContentBlock, InlineSpan } from '../parse';
9
+ import type { OutlineEntry } from '../types';
10
+ /** A target a cross-reference may name, as the outline knows it. */
11
+ export interface AnchorTarget {
12
+ id: string;
13
+ kind: 'heading' | 'anchor';
14
+ /** Heading level (1–6); absent for an anchor. */
15
+ level?: number;
16
+ /** The printed number of a numbered heading (`''` otherwise). */
17
+ number: string;
18
+ /** A heading's title, an anchor's text (`[text]{#id}`) or a container's
19
+ * `title`; `''` when it has none. */
20
+ title: string;
21
+ /** Label of the page it landed on, once laid out. */
22
+ pageLabel?: string;
23
+ /** 0-based book page index of that page, once laid out. */
24
+ pageIndex?: number;
25
+ }
26
+ /** Anchor targets by identifier. */
27
+ export type AnchorTargets = ReadonlyMap<string, AnchorTarget>;
28
+ /** The targets of an outline: every heading with an identifier and every
29
+ * anchor, the first setting of an identifier winning. */
30
+ export declare function anchorTargetsOf(outline: readonly OutlineEntry[] | undefined): AnchorTargets;
31
+ /** The pandoc-crossref prefixes (`@sec:intro`, `@fig:map`): a reference
32
+ * written with one names the identifier with or without it. */
33
+ export declare const CROSSREF_PREFIXES: readonly string[];
34
+ /** The identifier a reference names, without a pandoc-crossref prefix
35
+ * (`sec:intro` → `intro`); `undefined` when it carries none. */
36
+ export declare function unprefixedId(id: string): string | undefined;
37
+ /** The resource a reference names: its id as written, else without a
38
+ * pandoc-crossref prefix (`@fig:map` names resource `map`) when only that
39
+ * one is a resource. */
40
+ export declare function resourceRefId(id: string, isResource: (id: string) => boolean): string;
41
+ /** The target `id` names: the identifier as written, else without its
42
+ * pandoc-crossref prefix. */
43
+ export declare function findAnchorTarget(targets: AnchorTargets | undefined, id: string): AnchorTarget | undefined;
44
+ /** The words a cross-reference prints around a number, per document
45
+ * language: `{n}` stands for the number or the page label. */
46
+ export interface CrossRefStrings {
47
+ /** A level-1 heading: "chapter 3". */
48
+ chapter: string;
49
+ /** Any other heading: "section 3.2". */
50
+ section: string;
51
+ /** A page: "p. 112". */
52
+ page: string;
53
+ /** The style of a reference that sets none (`crossRefs.defaultStyle`). */
54
+ defaultStyle?: 'default' | 'number' | 'title' | 'page';
55
+ }
56
+ /** The built-in cross-reference words for a document language. */
57
+ export declare function defaultCrossRefStrings(locale: unknown): CrossRefStrings;
58
+ /** What a page reference prints before the target is laid out. */
59
+ export declare const UNKNOWN_PAGE = "?";
60
+ /**
61
+ * The label of a cross-reference to an anchor target:
62
+ * - `default` / `full`: a numbered heading as "chapter 3" / "section 3.2",
63
+ * an unnumbered one by its title, an anchor by its text, else its page;
64
+ * - `number`: the bare number (the title when there is none);
65
+ * - `title`: the title or the anchor's text;
66
+ * - `page`: "p. 112"; `pageNumber`: "112".
67
+ * `text="…"` overrides it all.
68
+ */
69
+ export declare function resolveAnchorRefLabel(ref: NonNullable<InlineSpan['ref']>, target: AnchorTarget, strings: CrossRefStrings): string;
70
+ /** Whether a reference prints its target's page, so its label moves with
71
+ * the layout (the document is laid out again until it settles, #263). */
72
+ export declare function refPrintsPage(ref: NonNullable<InlineSpan['ref']>, target: AnchorTarget | undefined, defaultStyle?: CrossRefStrings['defaultStyle']): boolean;
73
+ /** Whether the parsed content holds a reference that names no resource of
74
+ * `resourceIds` — one that may name an anchor (#262). */
75
+ export declare function hasAnchorRefs(blocks: readonly ContentBlock[], resourceIds: ReadonlySet<string>): boolean;
76
+ /** Whether a reference of the parsed content prints the page of an anchor
77
+ * of `targets`: the document is then laid out until the pages settle. */
78
+ export declare function printsAnchorPages(blocks: readonly ContentBlock[], targets: AnchorTargets, defaultStyle?: CrossRefStrings['defaultStyle']): boolean;
79
+ //# sourceMappingURL=crossRefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossRefs.d.ts","sourceRoot":"","sources":["../../src/pipeline/crossRefs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf;0CACsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE9D;0DAC0D;AAC1D,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,GAAG,aAAa,CAgB3F;AAED;gEACgE;AAChE,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAuC,CAAC;AAEvF;iEACiE;AACjE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI3D;AAED;;yBAEyB;AACzB,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAIrF;AAED;8BAC8B;AAC9B,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMzG;AAED;+DAC+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CACxD;AAeD,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAEvE;AA6CD,kEAAkE;AAClE,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,eAAe,GACvB,MAAM,CAwBR;AAED;0EAC0E;AAC1E,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACnC,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,GAC7C,OAAO,CAST;AAQD;0DAC0D;AAC1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAQxG;AAED;0EAC0E;AAC1E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,OAAO,EAAE,aAAa,EACtB,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,GAC7C,OAAO,CAMT"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Cross-references to anchors (#262, #263): `:ref{id="sec-intro"}` naming a
3
+ * heading with an identifier, an anchor set in the text or a container
4
+ * opened with one. The label comes from the book outline — the heading's
5
+ * number and title, the anchor's text — and, for a page reference, the
6
+ * label of the page the target landed on in the previous layout round.
7
+ */
8
+ import { stringsFor } from '../locale';
9
+ const NBSP = ' ';
10
+ /** The targets of an outline: every heading with an identifier and every
11
+ * anchor, the first setting of an identifier winning. */
12
+ export function anchorTargetsOf(outline) {
13
+ const out = new Map();
14
+ for (const e of outline ?? []) {
15
+ if (e.anchorId === undefined || out.has(e.anchorId))
16
+ continue;
17
+ if (e.kind !== 'heading' && e.kind !== 'anchor')
18
+ continue;
19
+ out.set(e.anchorId, {
20
+ id: e.anchorId,
21
+ kind: e.kind,
22
+ ...(e.kind === 'heading' ? { level: e.level } : {}),
23
+ number: e.numbered ? e.number : '',
24
+ title: e.title,
25
+ ...(e.pageLabel !== undefined ? { pageLabel: e.pageLabel } : {}),
26
+ ...(e.pageIndex !== undefined ? { pageIndex: e.pageIndex } : {}),
27
+ });
28
+ }
29
+ return out;
30
+ }
31
+ /** The pandoc-crossref prefixes (`@sec:intro`, `@fig:map`): a reference
32
+ * written with one names the identifier with or without it. */
33
+ export const CROSSREF_PREFIXES = ['sec', 'fig', 'tbl', 'eq', 'lst'];
34
+ /** The identifier a reference names, without a pandoc-crossref prefix
35
+ * (`sec:intro` → `intro`); `undefined` when it carries none. */
36
+ export function unprefixedId(id) {
37
+ const colon = id.indexOf(':');
38
+ if (colon <= 0)
39
+ return undefined;
40
+ return CROSSREF_PREFIXES.includes(id.slice(0, colon)) ? id.slice(colon + 1) : undefined;
41
+ }
42
+ /** The resource a reference names: its id as written, else without a
43
+ * pandoc-crossref prefix (`@fig:map` names resource `map`) when only that
44
+ * one is a resource. */
45
+ export function resourceRefId(id, isResource) {
46
+ if (isResource(id))
47
+ return id;
48
+ const bare = unprefixedId(id);
49
+ return bare !== undefined && isResource(bare) ? bare : id;
50
+ }
51
+ /** The target `id` names: the identifier as written, else without its
52
+ * pandoc-crossref prefix. */
53
+ export function findAnchorTarget(targets, id) {
54
+ if (!targets)
55
+ return undefined;
56
+ const direct = targets.get(id);
57
+ if (direct)
58
+ return direct;
59
+ const bare = unprefixedId(id);
60
+ return bare !== undefined ? targets.get(bare) : undefined;
61
+ }
62
+ const CROSS_REF_STRINGS = {
63
+ en: { chapter: `chapter${NBSP}{n}`, section: `section${NBSP}{n}`, page: `p.${NBSP}{n}` },
64
+ es: { chapter: `capítulo${NBSP}{n}`, section: `sección${NBSP}{n}`, page: `pág.${NBSP}{n}` },
65
+ fr: { chapter: `chapitre${NBSP}{n}`, section: `section${NBSP}{n}`, page: `p.${NBSP}{n}` },
66
+ de: { chapter: `Kapitel${NBSP}{n}`, section: `Abschnitt${NBSP}{n}`, page: `S.${NBSP}{n}` },
67
+ it: { chapter: `capitolo${NBSP}{n}`, section: `sezione${NBSP}{n}`, page: `p.${NBSP}{n}` },
68
+ pt: { chapter: `capítulo${NBSP}{n}`, section: `secção${NBSP}{n}`, page: `p.${NBSP}{n}` },
69
+ ca: { chapter: `capítol${NBSP}{n}`, section: `secció${NBSP}{n}`, page: `p.${NBSP}{n}` },
70
+ nl: { chapter: `hoofdstuk${NBSP}{n}`, section: `paragraaf${NBSP}{n}`, page: `p.${NBSP}{n}` },
71
+ 'zh-hans': { chapter: '第{n}章', section: '第{n}节', page: '第{n}页' },
72
+ 'zh-hant': { chapter: '第{n}章', section: '第{n}節', page: '第{n}頁' },
73
+ };
74
+ /** The built-in cross-reference words for a document language. */
75
+ export function defaultCrossRefStrings(locale) {
76
+ return stringsFor(CROSS_REF_STRINGS, locale);
77
+ }
78
+ /** A heading number as a reference prints it: without the stop or the
79
+ * space a numbering template may end with ("1.2." → "1.2"). */
80
+ function bareNumber(number) {
81
+ return number.replace(/[\s.:)、。]+$/u, '').trim();
82
+ }
83
+ function applyCase(text, refCase) {
84
+ if (refCase === undefined || text.length === 0)
85
+ return text;
86
+ switch (refCase) {
87
+ case 'lower':
88
+ return text.toLocaleLowerCase();
89
+ case 'upper':
90
+ return text.toLocaleUpperCase();
91
+ case 'capitalize': {
92
+ const first = [...text][0];
93
+ return first.toLocaleUpperCase() + text.slice(first.length);
94
+ }
95
+ }
96
+ }
97
+ /** A template with its words in `refCase` and `{n}` replaced. */
98
+ function fill(template, n, refCase) {
99
+ const at = template.indexOf('{n}');
100
+ if (at < 0)
101
+ return applyCase(template, refCase);
102
+ const before = applyCase(template.slice(0, at), refCase);
103
+ const after = template.slice(at + 3);
104
+ // `capitalize` reaches the words after the number when none come before.
105
+ return `${before}${n}${before.trim().length > 0 ? after : applyCase(after, refCase)}`;
106
+ }
107
+ /** Whether a heading number already holds the words of the template it
108
+ * would be set in: a space ("Chapter 3"), or the template's words around
109
+ * `{n}` ("第三章" against "第{n}章", "Capítulo 2" against "capítulo {n}"). */
110
+ function numberIsWorded(number, template) {
111
+ if (/\s/u.test(number))
112
+ return true;
113
+ const at = template.indexOf('{n}');
114
+ if (at < 0)
115
+ return false;
116
+ const before = template.slice(0, at).trim().toLocaleLowerCase();
117
+ const after = template.slice(at + 3).trim().toLocaleLowerCase();
118
+ const n = number.toLocaleLowerCase();
119
+ return (before.length > 0 && n.startsWith(before)) || (after.length > 0 && n.endsWith(after));
120
+ }
121
+ /** What a page reference prints before the target is laid out. */
122
+ export const UNKNOWN_PAGE = '?';
123
+ /**
124
+ * The label of a cross-reference to an anchor target:
125
+ * - `default` / `full`: a numbered heading as "chapter 3" / "section 3.2",
126
+ * an unnumbered one by its title, an anchor by its text, else its page;
127
+ * - `number`: the bare number (the title when there is none);
128
+ * - `title`: the title or the anchor's text;
129
+ * - `page`: "p. 112"; `pageNumber`: "112".
130
+ * `text="…"` overrides it all.
131
+ */
132
+ export function resolveAnchorRefLabel(ref, target, strings) {
133
+ if (ref.text !== undefined && ref.text.length > 0)
134
+ return ref.text;
135
+ const page = target.pageLabel !== undefined && target.pageLabel.length > 0 ? target.pageLabel : UNKNOWN_PAGE;
136
+ const number = bareNumber(target.number);
137
+ const title = target.title;
138
+ switch (ref.style ?? strings.defaultStyle) {
139
+ case 'page':
140
+ return fill(strings.page, page, ref.case);
141
+ case 'pageNumber':
142
+ return page;
143
+ case 'title':
144
+ return title.length > 0 ? title : fill(strings.page, page, ref.case);
145
+ case 'number':
146
+ return number.length > 0 ? number : title.length > 0 ? title : page;
147
+ default: {
148
+ if (target.kind === 'heading' && number.length > 0) {
149
+ const template = target.level === 1 ? strings.chapter : strings.section;
150
+ // A number its template already words ("Chapter 3", "第三章")
151
+ // prints as is.
152
+ return numberIsWorded(number, template) ? number : fill(template, number, ref.case);
153
+ }
154
+ return title.length > 0 ? title : fill(strings.page, page, ref.case);
155
+ }
156
+ }
157
+ }
158
+ /** Whether a reference prints its target's page, so its label moves with
159
+ * the layout (the document is laid out again until it settles, #263). */
160
+ export function refPrintsPage(ref, target, defaultStyle) {
161
+ if (ref.text !== undefined && ref.text.length > 0)
162
+ return false;
163
+ if (ref.style === undefined && defaultStyle !== undefined && defaultStyle !== 'default')
164
+ ref = { ...ref, style: defaultStyle };
165
+ if (ref.style === 'page' || ref.style === 'pageNumber')
166
+ return true;
167
+ if (!target)
168
+ return false;
169
+ const titled = target.title.length > 0;
170
+ if (ref.style === 'title')
171
+ return !titled;
172
+ if (ref.style === 'number')
173
+ return bareNumber(target.number).length === 0 && !titled;
174
+ return !(target.kind === 'heading' && bareNumber(target.number).length > 0) && !titled;
175
+ }
176
+ /** Every inline `:ref` of the parsed content (paragraphs, headings, list
177
+ * items, quotations). */
178
+ function* refsOf(blocks) {
179
+ for (const b of blocks)
180
+ for (const s of b.spans)
181
+ if (s.ref)
182
+ yield s.ref;
183
+ }
184
+ /** Whether the parsed content holds a reference that names no resource of
185
+ * `resourceIds` — one that may name an anchor (#262). */
186
+ export function hasAnchorRefs(blocks, resourceIds) {
187
+ for (const ref of refsOf(blocks)) {
188
+ if (resourceIds.has(ref.resourceId))
189
+ continue;
190
+ const bare = unprefixedId(ref.resourceId);
191
+ if (bare !== undefined && resourceIds.has(bare))
192
+ continue;
193
+ return true;
194
+ }
195
+ return false;
196
+ }
197
+ /** Whether a reference of the parsed content prints the page of an anchor
198
+ * of `targets`: the document is then laid out until the pages settle. */
199
+ export function printsAnchorPages(blocks, targets, defaultStyle) {
200
+ for (const ref of refsOf(blocks)) {
201
+ const target = findAnchorTarget(targets, ref.resourceId);
202
+ if (target && refPrintsPage(ref, target, defaultStyle))
203
+ return true;
204
+ }
205
+ return false;
206
+ }
207
+ //# sourceMappingURL=crossRefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossRefs.js","sourceRoot":"","sources":["../../src/pipeline/crossRefs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB;iDACiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;2DAG2D;AAC3D,MAAM,WAAW,YAAY;IAC3B;;;;;wDAKoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB;uBACmB;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;gCAC4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;4BAEwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;iBAGa;IACb,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;6EAEyE;IACzE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAED;;;;6DAI6D;AAC7D,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,UAAU,UAAQ,GACjB,iBAAiB,CAYnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAClC;;;qBAGqB;AACrB,UAAU,GAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAS,GAC5D,YAAY,EAAE,CAuChB;AAED;;;0EAG0E;AAC1E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAAE,EACpB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,GAAE,QAAQ,EAAO,EAC1B,aAAa,GAAE,YAAY,EAAO,GACjC,GAAG,CAAC,MAAM,CAAC,CAUb"}
1
+ {"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB;iDACiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;2DAG2D;AAC3D,MAAM,WAAW,YAAY;IAC3B;;;;;wDAKoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB;uBACmB;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;gCAC4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;4BAEwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;iBAGa;IACb,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;6EAEyE;IACzE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAED;;;;6DAI6D;AAC7D,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,UAAU,UAAQ,GACjB,iBAAiB,CAYnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAClC;;;qBAGqB;AACrB,UAAU,GAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAS,GAC5D,YAAY,EAAE,CAuChB;AAED;;;0EAG0E;AAC1E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAAE,EACpB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,GAAE,QAAQ,EAAO,EAC1B,aAAa,GAAE,YAAY,EAAO,GACjC,GAAG,CAAC,MAAM,CAAC,CAUb"}
@@ -15,6 +15,7 @@
15
15
  * blocks, deferring overflow to the next page) lives in the build pipeline,
16
16
  * which owns the VDT and measurement context.
17
17
  */
18
+ import { resourceRefId } from './crossRefs';
18
19
  /** Resolve a resource's placement: own `placement` → its type's
19
20
  * `defaultPlacement` → the built-in default (`auto` / `column`). A rotated
20
21
  * resource is always a page-span float; an inline (`here`) embed is never
@@ -87,7 +88,7 @@ noRotation = false) {
87
88
  record(b.resourceId, i);
88
89
  for (const span of b.spans) {
89
90
  if (span.ref?.resourceId)
90
- record(span.ref.resourceId, i);
91
+ record(resourceRefId(span.ref.resourceId, (id) => resourceById.has(id)), i);
91
92
  }
92
93
  }
93
94
  return plan;