@longsightgroup/qti3-core 0.10.5 → 0.11.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 (229) hide show
  1. package/README.md +153 -4
  2. package/dist/adaptive-turn-materializer.js +4 -5
  3. package/dist/adaptive-turn-materializer.js.map +1 -1
  4. package/dist/adaptive-turn.d.ts.map +1 -1
  5. package/dist/adaptive-turn.js +1 -0
  6. package/dist/adaptive-turn.js.map +1 -1
  7. package/dist/attempt-state.d.ts.map +1 -1
  8. package/dist/attempt-state.js +41 -1
  9. package/dist/attempt-state.js.map +1 -1
  10. package/dist/catalog.d.ts +8 -0
  11. package/dist/catalog.d.ts.map +1 -1
  12. package/dist/catalog.js +10 -0
  13. package/dist/catalog.js.map +1 -1
  14. package/dist/diagnostics.d.ts +13 -0
  15. package/dist/diagnostics.d.ts.map +1 -0
  16. package/dist/diagnostics.js +28 -0
  17. package/dist/diagnostics.js.map +1 -0
  18. package/dist/index.d.ts +5 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/item-scoring-expectation.d.ts +2 -0
  23. package/dist/item-scoring-expectation.d.ts.map +1 -1
  24. package/dist/item-scoring-expectation.js +8 -0
  25. package/dist/item-scoring-expectation.js.map +1 -1
  26. package/dist/item-submission-materialization.d.ts.map +1 -1
  27. package/dist/item-submission-materialization.js +2 -0
  28. package/dist/item-submission-materialization.js.map +1 -1
  29. package/dist/parser-processing.d.ts.map +1 -1
  30. package/dist/parser-processing.js +8 -18
  31. package/dist/parser-processing.js.map +1 -1
  32. package/dist/parser-values.d.ts.map +1 -1
  33. package/dist/parser-values.js +1 -3
  34. package/dist/parser-values.js.map +1 -1
  35. package/dist/parser.js +36 -6
  36. package/dist/parser.js.map +1 -1
  37. package/dist/processing-equality.d.ts +10 -0
  38. package/dist/processing-equality.d.ts.map +1 -0
  39. package/dist/processing-equality.js +78 -0
  40. package/dist/processing-equality.js.map +1 -0
  41. package/dist/processing-evaluator-comparison.d.ts.map +1 -1
  42. package/dist/processing-evaluator-comparison.js +14 -9
  43. package/dist/processing-evaluator-comparison.js.map +1 -1
  44. package/dist/processing-evaluator-numeric.d.ts.map +1 -1
  45. package/dist/processing-evaluator-numeric.js +2 -1
  46. package/dist/processing-evaluator-numeric.js.map +1 -1
  47. package/dist/processing-evaluator-string.d.ts.map +1 -1
  48. package/dist/processing-evaluator-string.js +26 -10
  49. package/dist/processing-evaluator-string.js.map +1 -1
  50. package/dist/processing-evaluator-variable.d.ts.map +1 -1
  51. package/dist/processing-evaluator-variable.js +9 -3
  52. package/dist/processing-evaluator-variable.js.map +1 -1
  53. package/dist/processing-evaluator.d.ts +5 -1
  54. package/dist/processing-evaluator.d.ts.map +1 -1
  55. package/dist/processing-evaluator.js +13 -4
  56. package/dist/processing-evaluator.js.map +1 -1
  57. package/dist/processing-expression-children.d.ts.map +1 -1
  58. package/dist/processing-expression-children.js +2 -3
  59. package/dist/processing-expression-children.js.map +1 -1
  60. package/dist/processing-expression-tags.d.ts +2 -1
  61. package/dist/processing-expression-tags.d.ts.map +1 -1
  62. package/dist/processing-expression-tags.js +2 -1
  63. package/dist/processing-expression-tags.js.map +1 -1
  64. package/dist/processing-mapping.d.ts.map +1 -1
  65. package/dist/processing-mapping.js +26 -16
  66. package/dist/processing-mapping.js.map +1 -1
  67. package/dist/processing-state.d.ts +2 -2
  68. package/dist/processing-state.d.ts.map +1 -1
  69. package/dist/processing-state.js +5 -2
  70. package/dist/processing-state.js.map +1 -1
  71. package/dist/processing-values.d.ts +1 -2
  72. package/dist/processing-values.d.ts.map +1 -1
  73. package/dist/processing-values.js +1 -3
  74. package/dist/processing-values.js.map +1 -1
  75. package/dist/processing-variables.d.ts.map +1 -1
  76. package/dist/processing-variables.js +10 -5
  77. package/dist/processing-variables.js.map +1 -1
  78. package/dist/qti-package-assets.d.ts.map +1 -1
  79. package/dist/qti-package-assets.js +16 -10
  80. package/dist/qti-package-assets.js.map +1 -1
  81. package/dist/qti-package-manifest.d.ts +1 -0
  82. package/dist/qti-package-manifest.d.ts.map +1 -1
  83. package/dist/qti-package-manifest.js +1 -0
  84. package/dist/qti-package-manifest.js.map +1 -1
  85. package/dist/qti-package-metadata.d.ts.map +1 -1
  86. package/dist/qti-package-metadata.js +11 -0
  87. package/dist/qti-package-metadata.js.map +1 -1
  88. package/dist/qti-package-plan.d.ts +1 -1
  89. package/dist/qti-package-plan.d.ts.map +1 -1
  90. package/dist/qti-package-types.d.ts +9 -0
  91. package/dist/qti-package-types.d.ts.map +1 -1
  92. package/dist/qti-package-xml.d.ts +6 -1
  93. package/dist/qti-package-xml.d.ts.map +1 -1
  94. package/dist/qti-package-xml.js +11 -6
  95. package/dist/qti-package-xml.js.map +1 -1
  96. package/dist/qti-package-zip.d.ts +13 -1
  97. package/dist/qti-package-zip.d.ts.map +1 -1
  98. package/dist/qti-package-zip.js +185 -54
  99. package/dist/qti-package-zip.js.map +1 -1
  100. package/dist/qti-package.d.ts +12 -5
  101. package/dist/qti-package.d.ts.map +1 -1
  102. package/dist/qti-package.js +63 -8
  103. package/dist/qti-package.js.map +1 -1
  104. package/dist/response-validation-policy.d.ts +3 -1
  105. package/dist/response-validation-policy.d.ts.map +1 -1
  106. package/dist/response-validation-policy.js +66 -6
  107. package/dist/response-validation-policy.js.map +1 -1
  108. package/dist/response-validation.d.ts +3 -1
  109. package/dist/response-validation.d.ts.map +1 -1
  110. package/dist/response-validation.js +32 -10
  111. package/dist/response-validation.js.map +1 -1
  112. package/dist/scoring-disposition-policy.d.ts.map +1 -1
  113. package/dist/scoring-disposition-policy.js +6 -2
  114. package/dist/scoring-disposition-policy.js.map +1 -1
  115. package/dist/serializer-processing-expressions.d.ts.map +1 -1
  116. package/dist/serializer-processing-expressions.js +2 -10
  117. package/dist/serializer-processing-expressions.js.map +1 -1
  118. package/dist/server-scoring.d.ts.map +1 -1
  119. package/dist/server-scoring.js +1 -0
  120. package/dist/server-scoring.js.map +1 -1
  121. package/dist/session-builtins.d.ts +16 -0
  122. package/dist/session-builtins.d.ts.map +1 -0
  123. package/dist/session-builtins.js +58 -0
  124. package/dist/session-builtins.js.map +1 -0
  125. package/dist/session.d.ts +5 -1
  126. package/dist/session.d.ts.map +1 -1
  127. package/dist/session.js +63 -11
  128. package/dist/session.js.map +1 -1
  129. package/dist/support-evidence.d.ts.map +1 -1
  130. package/dist/support-evidence.js +16 -3
  131. package/dist/support-evidence.js.map +1 -1
  132. package/dist/support.d.ts.map +1 -1
  133. package/dist/support.js +72 -24
  134. package/dist/support.js.map +1 -1
  135. package/dist/text-response.d.ts +9 -0
  136. package/dist/text-response.d.ts.map +1 -0
  137. package/dist/text-response.js +102 -0
  138. package/dist/text-response.js.map +1 -0
  139. package/dist/trusted-item-session.d.ts +4 -1
  140. package/dist/trusted-item-session.d.ts.map +1 -1
  141. package/dist/trusted-item-session.js +12 -6
  142. package/dist/trusted-item-session.js.map +1 -1
  143. package/dist/types.d.ts +23 -3
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/validation-declaration-entries.d.ts.map +1 -1
  146. package/dist/validation-declaration-entries.js +11 -1
  147. package/dist/validation-declaration-entries.js.map +1 -1
  148. package/dist/validation-interactions.d.ts.map +1 -1
  149. package/dist/validation-interactions.js +102 -12
  150. package/dist/validation-interactions.js.map +1 -1
  151. package/dist/validation-item-children.d.ts +4 -0
  152. package/dist/validation-item-children.d.ts.map +1 -0
  153. package/dist/validation-item-children.js +45 -0
  154. package/dist/validation-item-children.js.map +1 -0
  155. package/dist/validation-processing.d.ts.map +1 -1
  156. package/dist/validation-processing.js +45 -12
  157. package/dist/validation-processing.js.map +1 -1
  158. package/dist/validation.d.ts.map +1 -1
  159. package/dist/validation.js +12 -0
  160. package/dist/validation.js.map +1 -1
  161. package/dist/value-guards.d.ts +4 -0
  162. package/dist/value-guards.d.ts.map +1 -0
  163. package/dist/value-guards.js +5 -0
  164. package/dist/value-guards.js.map +1 -0
  165. package/dist/xml-schema-regex-data.d.ts +48 -0
  166. package/dist/xml-schema-regex-data.d.ts.map +1 -0
  167. package/dist/xml-schema-regex-data.js +403 -0
  168. package/dist/xml-schema-regex-data.js.map +1 -0
  169. package/dist/xml-schema-regex-parser.d.ts +31 -0
  170. package/dist/xml-schema-regex-parser.d.ts.map +1 -0
  171. package/dist/xml-schema-regex-parser.js +245 -0
  172. package/dist/xml-schema-regex-parser.js.map +1 -0
  173. package/dist/xml-schema-regex.d.ts +14 -0
  174. package/dist/xml-schema-regex.d.ts.map +1 -0
  175. package/dist/xml-schema-regex.js +114 -0
  176. package/dist/xml-schema-regex.js.map +1 -0
  177. package/package.json +1 -1
  178. package/src/adaptive-turn-materializer.ts +4 -3
  179. package/src/adaptive-turn.ts +1 -0
  180. package/src/attempt-state.ts +54 -1
  181. package/src/catalog.ts +29 -0
  182. package/src/diagnostics.ts +29 -0
  183. package/src/index.ts +16 -0
  184. package/src/item-scoring-expectation.ts +8 -0
  185. package/src/item-submission-materialization.ts +2 -0
  186. package/src/parser-processing.ts +15 -18
  187. package/src/parser-values.ts +1 -5
  188. package/src/parser.ts +38 -6
  189. package/src/processing-equality.ts +104 -0
  190. package/src/processing-evaluator-comparison.ts +19 -14
  191. package/src/processing-evaluator-numeric.ts +2 -6
  192. package/src/processing-evaluator-string.ts +25 -18
  193. package/src/processing-evaluator-variable.ts +8 -3
  194. package/src/processing-evaluator.ts +20 -7
  195. package/src/processing-expression-children.ts +2 -3
  196. package/src/processing-expression-tags.ts +2 -1
  197. package/src/processing-mapping.ts +31 -25
  198. package/src/processing-state.ts +6 -1
  199. package/src/processing-values.ts +2 -11
  200. package/src/processing-variables.ts +9 -7
  201. package/src/qti-package-assets.ts +20 -13
  202. package/src/qti-package-manifest.ts +1 -0
  203. package/src/qti-package-metadata.ts +11 -0
  204. package/src/qti-package-plan.ts +1 -1
  205. package/src/qti-package-types.ts +10 -0
  206. package/src/qti-package-xml.ts +11 -6
  207. package/src/qti-package-zip.ts +330 -97
  208. package/src/qti-package.ts +106 -7
  209. package/src/response-validation-policy.ts +76 -4
  210. package/src/response-validation.ts +51 -5
  211. package/src/scoring-disposition-policy.ts +7 -2
  212. package/src/serializer-processing-expressions.ts +8 -25
  213. package/src/server-scoring.ts +1 -0
  214. package/src/session-builtins.ts +75 -0
  215. package/src/session.ts +64 -8
  216. package/src/support-evidence.ts +16 -3
  217. package/src/support.ts +94 -24
  218. package/src/text-response.ts +106 -0
  219. package/src/trusted-item-session.ts +17 -5
  220. package/src/types.ts +32 -4
  221. package/src/validation-declaration-entries.ts +11 -1
  222. package/src/validation-interactions.ts +139 -14
  223. package/src/validation-item-children.ts +48 -0
  224. package/src/validation-processing.ts +47 -10
  225. package/src/validation.ts +14 -0
  226. package/src/value-guards.ts +6 -0
  227. package/src/xml-schema-regex-data.ts +404 -0
  228. package/src/xml-schema-regex-parser.ts +234 -0
  229. package/src/xml-schema-regex.ts +115 -0
@@ -15,10 +15,13 @@ export function validateInteractions(item, diagnostics) {
15
15
  validateInteractionSharedVocabulary(interaction, diagnostics);
16
16
  validateInteractionChoices(interaction, diagnostics);
17
17
  validateInteractionChildren(interaction, diagnostics);
18
+ validateGraphicGapMatchChildren(interaction, diagnostics);
19
+ validatePositionObjectChildren(interaction, diagnostics);
18
20
  validateInteractionRequiredAttributes(interaction, diagnostics);
19
21
  validatePortableCustomInteraction(interaction, item, diagnostics);
20
22
  validateInteractionLimitAttributes(interaction, diagnostics);
21
23
  validatePatternMaskAttribute(interaction, diagnostics);
24
+ validateTextInteractionContract(interaction, responseDeclarations, diagnostics);
22
25
  validateGraphicHotspotObjectDimensions(interaction, diagnostics);
23
26
  validateCorrectResponseReferences(interaction, interaction.responseIdentifier
24
27
  ? responseDeclarations.get(interaction.responseIdentifier)
@@ -486,7 +489,7 @@ function allowedInteractionChildren(interaction) {
486
489
  case "order":
487
490
  return setOf(common, ["qti-simple-choice"]);
488
491
  case "associate":
489
- return setOf(common, ["qti-simple-match-set", "qti-simple-associable-choice"]);
492
+ return setOf(common, ["qti-simple-associable-choice"]);
490
493
  case "match":
491
494
  return setOf(common, ["qti-simple-match-set"]);
492
495
  case "gapMatch":
@@ -496,22 +499,24 @@ function allowedInteractionChildren(interaction) {
496
499
  case "hottext":
497
500
  return setOf(common, staticContentNames());
498
501
  case "graphicOrder":
499
- return setOf(common, ["object", "qti-hotspot-choice"]);
502
+ return setOf(common, ["object", "img", "picture", "qti-hotspot-choice"]);
500
503
  case "graphicAssociate":
501
- return setOf(common, ["object", "qti-associable-hotspot"]);
504
+ return setOf(common, ["object", "img", "picture", "qti-associable-hotspot"]);
502
505
  case "graphicGapMatch":
503
506
  return setOf(common, [
504
507
  "object",
508
+ "img",
509
+ "picture",
505
510
  "qti-gap-text",
506
511
  "qti-gap-img",
507
512
  "qti-associable-hotspot",
508
- ...staticContentNames(),
509
513
  ]);
510
514
  case "hotspot":
511
- return setOf(common, ["object", "qti-hotspot-choice"]);
515
+ return setOf(common, ["object", "img", "picture", "qti-hotspot-choice"]);
512
516
  case "positionObject":
513
- return setOf(common, ["object", "img", "qti-position-object-stage"]);
517
+ return new Set(["object", "img", "picture"]);
514
518
  case "selectPoint":
519
+ return setOf(common, ["object", "img", "picture"]);
515
520
  case "media":
516
521
  return setOf(common, ["audio", "video", "object", "img"]);
517
522
  case "drawing":
@@ -556,11 +561,12 @@ function expectedResponseShape(interaction) {
556
561
  return { cardinalities: ["ordered"], baseTypes: ["identifier"] };
557
562
  }
558
563
  if (interaction.type === "associate" || interaction.type === "graphicAssociate") {
559
- return { cardinalities: ["multiple"], baseTypes: ["pair", "directedPair"] };
564
+ return { cardinalities: ["single", "multiple"], baseTypes: ["pair"] };
560
565
  }
561
- if (interaction.type === "match" ||
562
- interaction.type === "gapMatch" ||
563
- interaction.type === "graphicGapMatch") {
566
+ if (interaction.type === "match" || interaction.type === "gapMatch") {
567
+ return { cardinalities: ["single", "multiple"], baseTypes: ["directedPair"] };
568
+ }
569
+ if (interaction.type === "graphicGapMatch") {
564
570
  return { cardinalities: ["multiple"], baseTypes: ["directedPair"] };
565
571
  }
566
572
  if (interaction.type === "selectPoint" || interaction.type === "positionObject") {
@@ -572,8 +578,14 @@ function expectedResponseShape(interaction) {
572
578
  if (interaction.type === "upload") {
573
579
  return { cardinalities: ["single"], baseTypes: ["file"] };
574
580
  }
575
- if (interaction.type === "textEntry" || interaction.type === "extendedText") {
576
- return { cardinalities: ["single"], baseTypes: ["string"] };
581
+ if (interaction.type === "textEntry") {
582
+ return { cardinalities: ["single", "record"], baseTypes: ["string", "integer", "float"] };
583
+ }
584
+ if (interaction.type === "extendedText") {
585
+ return {
586
+ cardinalities: ["single", "multiple", "ordered", "record"],
587
+ baseTypes: ["string", "integer", "float"],
588
+ };
577
589
  }
578
590
  if (interaction.type === "drawing")
579
591
  return { cardinalities: ["single"], baseTypes: ["file"] };
@@ -610,4 +622,82 @@ function needsChoices(interaction) {
610
622
  interaction.type === "graphicGapMatch" ||
611
623
  interaction.type === "hotspot");
612
624
  }
625
+ function validateTextInteractionContract(interaction, declarations, diagnostics) {
626
+ if (interaction.type !== "textEntry" && interaction.type !== "extendedText")
627
+ return;
628
+ const report = (code, message) => diagnostics.push({
629
+ code,
630
+ severity: "error",
631
+ message,
632
+ path: interaction.source?.path,
633
+ source: interaction.source,
634
+ });
635
+ const base = Number(interaction.attributes.base ?? 10);
636
+ if (!Number.isInteger(base) || base < 2 || base > 36) {
637
+ report("interaction.text.base", "Text response base must be an integer from 2 through 36.");
638
+ }
639
+ const format = interaction.attributes.format;
640
+ if (format !== undefined &&
641
+ format !== "plain" &&
642
+ !(interaction.type === "extendedText" && format === "preformatted") &&
643
+ !(interaction.type === "extendedText" &&
644
+ format === "xhtml" &&
645
+ interaction.responseBaseType === "string")) {
646
+ report("interaction.text.format.unsupported", `Text format ${format} is not supported; use plain text.`);
647
+ }
648
+ if (interaction.type === "extendedText") {
649
+ const container = interaction.responseCardinality === "multiple" ||
650
+ interaction.responseCardinality === "ordered";
651
+ const max = interaction.attributes["max-strings"];
652
+ const min = interaction.attributes["min-strings"] ?? "0";
653
+ if ((container && max === undefined) ||
654
+ (max !== undefined && !isNonNegativeInteger(max)) ||
655
+ !isNonNegativeInteger(min) ||
656
+ Number(min) > (container ? Number(max) : 1)) {
657
+ report("interaction.text.strings", "Extended text requires valid min-strings/max-strings limits; containers require max-strings and the minimum must not exceed the maximum.");
658
+ }
659
+ }
660
+ const companion = interaction.attributes["string-identifier"];
661
+ if (companion !== undefined) {
662
+ const declaration = declarations.get(companion);
663
+ if (!declaration ||
664
+ declaration.baseType !== "string" ||
665
+ declaration.cardinality !== interaction.responseCardinality ||
666
+ companion === interaction.responseIdentifier ||
667
+ (interaction.responseBaseType !== "integer" && interaction.responseBaseType !== "float")) {
668
+ report("interaction.text.stringIdentifier", "string-identifier must reference a separate string response with matching cardinality for a numeric text interaction.");
669
+ }
670
+ }
671
+ }
672
+ function validateGraphicGapMatchChildren(interaction, diagnostics) {
673
+ if (interaction.type !== "graphicGapMatch")
674
+ return;
675
+ const names = interaction.childElements.map((child) => child.qtiName);
676
+ const sequence = names.join(" ");
677
+ if (/^(?:qti-prompt )?(?:object|img|picture)(?: qti-gap-(?:text|img))+(?: qti-associable-hotspot)+$/.test(sequence))
678
+ return;
679
+ diagnostics.push({
680
+ code: "interaction.graphicGapMatch.children",
681
+ severity: "error",
682
+ message: "Graphic Gap Match requires an optional prompt, one image, gap choices, then one or more associable hotspots, in that order.",
683
+ path: interaction.source?.path,
684
+ source: interaction.source,
685
+ });
686
+ }
687
+ function validatePositionObjectChildren(interaction, diagnostics) {
688
+ if (interaction.type !== "positionObject")
689
+ return;
690
+ const [child] = interaction.childElements;
691
+ if (interaction.childElements.length === 1 &&
692
+ child &&
693
+ ["object", "img", "picture"].includes(child.qtiName))
694
+ return;
695
+ diagnostics.push({
696
+ code: "interaction.positionObject.children",
697
+ severity: "error",
698
+ message: "Position Object requires exactly one marker image (object, img, or picture); instructions belong before its stage.",
699
+ path: interaction.source?.path,
700
+ source: interaction.source,
701
+ });
702
+ }
613
703
  //# sourceMappingURL=validation-interactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-interactions.js","sourceRoot":"","sources":["../src/validation-interactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-interactions.js","sourceRoot":"","sources":["../src/validation-interactions.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,sCAAsC,EACtC,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,UAAU,oBAAoB,CAAC,IAAuB,EAAE,WAA4B;IACxF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CACtF,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,oCAAoC,CAAC,WAAW,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACpF,gCAAgC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3D,mCAAmC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,0BAA0B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACrD,2BAA2B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACtD,+BAA+B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC1D,8BAA8B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,qCAAqC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAChE,iCAAiC,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAClE,kCAAkC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7D,4BAA4B,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACvD,+BAA+B,CAAC,WAAW,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAChF,sCAAsC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACjE,iCAAiC,CAC/B,WAAW,EACX,WAAW,CAAC,kBAAkB;YAC5B,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAC1D,CAAC,CAAC,SAAS,EACb,WAAW,CACZ,CAAC;QACF,yBAAyB,CACvB,WAAW,EACX,WAAW,CAAC,kBAAkB;YAC5B,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAC1D,CAAC,CAAC,SAAS,EACb,WAAW,CACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAC3C,WAA2B,EAC3B,mBAAgC,EAChC,WAA4B;IAE5B,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;QACpC,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,kCAAkC;gBACjE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;gBAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7D,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0CAA0C;YAChD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,4CAA4C,WAAW,CAAC,kBAAkB,GAAG;YAC5G,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CACvC,WAA2B,EAC3B,WAA4B;IAE5B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,IACE,WAAW,CAAC,mBAAmB;QAC/B,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,EACjE,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,YAAY,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,WAAW,CAAC,mBAAmB,GAAG;YACrI,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,IACE,WAAW,CAAC,IAAI,KAAK,QAAQ;QAC7B,WAAW,CAAC,gBAAgB;QAC5B,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAC1D,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,YAAY,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,WAAW,CAAC,gBAAgB,GAAG;YAC5H,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,WAA2B,EAC3B,WAA4B;IAE5B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,SAAS;QACjC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,6BAA6B;gBACnC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,oCAAoC,MAAM,CAAC,UAAU,GAAG;gBACvF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,IACE,YAAY,CAAC,WAAW,CAAC;QACzB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAC1E,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,gCAAgC;YAC/D,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CACxC,WAA2B,EAC3B,WAA+C,EAC/C,WAA4B;IAE5B,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO;IACjE,IACE,WAAW,CAAC,QAAQ,KAAK,YAAY;QACrC,WAAW,CAAC,QAAQ,KAAK,MAAM;QAC/B,WAAW,CAAC,QAAQ,KAAK,cAAc,EACvC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,WAAW,CAAC,OAAO;SAChB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;SAClC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CACjD,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAEnC,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,IAAI,WAAW,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YACrC,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC9E,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvE,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAgD;IACtE,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,+BAA+B,CACtC,WAA2B,EAC3B,WAAmC,EACnC,KAAa,EACb,WAA4B;IAE5B,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,wBAAwB,WAAW,CAAC,UAAU,qBAAqB,KAAK,kCAAkC,WAAW,CAAC,OAAO,GAAG;QACzI,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAChC,WAA2B,EAC3B,WAA+C,EAC/C,WAA4B;IAE5B,IAAI,CAAC,WAAW,EAAE,OAAO;QAAE,OAAO;IAClC,IACE,WAAW,CAAC,QAAQ,KAAK,YAAY;QACrC,WAAW,CAAC,QAAQ,KAAK,MAAM;QAC/B,WAAW,CAAC,QAAQ,KAAK,cAAc,EACvC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,WAAW,CAAC,OAAO;SAChB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;SAClC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CACjD,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAEnC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,WAAW,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACtC,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACvE,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAA2B,EAC3B,WAAmC,EACnC,KAAwE,EACxE,WAA4B;IAE5B,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,wBAAwB,WAAW,CAAC,UAAU,YAAY,KAAK,CAAC,MAAM,IAAI,EAAE,kCAAkC,WAAW,CAAC,OAAO,GAAG;QAC7I,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI;QACpD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAClC,WAA2B,EAC3B,WAA4B;IAE5B,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QACzC,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,mBAAmB,KAAK,CAAC,OAAO,qBAAqB;YACpF,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI;YACpD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM;SAC3C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qCAAqC,CAC5C,WAA2B,EAC3B,WAA4B;IAE5B,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,OAAO;YACjB,OAAO,EACL,WAAW,CAAC,IAAI,KAAK,SAAS;gBAC5B,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,wEAAwE;gBAChG,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,6FAA6F;YACzH,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC1C,2BAA2B,CACzB,WAAW,EACX,oCAAoC,EACpC,2CAA2C,EAC3C,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,WAA2B;IACjD,OAAO,CACL,WAAW,CAAC,IAAI,KAAK,cAAc;QACnC,WAAW,CAAC,IAAI,KAAK,kBAAkB;QACvC,WAAW,CAAC,IAAI,KAAK,iBAAiB;QACtC,WAAW,CAAC,IAAI,KAAK,SAAS;QAC9B,WAAW,CAAC,IAAI,KAAK,aAAa;QAClC,WAAW,CAAC,IAAI,KAAK,gBAAgB;QACrC,WAAW,CAAC,IAAI,KAAK,OAAO;QAC5B,WAAW,CAAC,IAAI,KAAK,SAAS,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,WAA2B;IACzD,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,OAAO,CACZ,WAAW,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAC9F,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7E,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,2BAA2B,CAClC,WAA2B,EAC3B,SAAiB,EACjB,IAAY,EACZ,WAA4B;IAE5B,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IAC9C,WAAW,CAAC,IAAI,CAAC;QACf,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,aAAa,SAAS,GAAG;QACxD,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iCAAiC,CACxC,WAA2B,EAC3B,IAAuB,EACvB,WAA4B;IAE5B,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,iBAAiB,GAAG,UAAU,CAAC,kBAAkB,EAAE,OAAO,IAAI,EAAE,CAAC;IACvE,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mCAAmC;YACzC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,yEAAyE;YACxG,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,qCAAqC;gBAC3C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,iDAAiD;gBAC1D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QACD,6BAA6B,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9E,6BAA6B,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjF,CAAC;IAED,6BAA6B,CAC3B,UAAU,CAAC,kBAAkB,EAAE,oBAAoB,EACnD,UAAU,CAAC,kBAAkB,EAAE,MAAM,EACrC,WAAW,CACZ,CAAC;IACF,6BAA6B,CAC3B,UAAU,CAAC,kBAAkB,EAAE,sBAAsB,EACrD,UAAU,CAAC,kBAAkB,EAAE,MAAM,EACrC,WAAW,CACZ,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CACvE,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,6CAA6C;gBACnD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,mEAAmE;gBAC5E,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,uDAAuD;gBAC7D,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,iEAAiE,QAAQ,CAAC,UAAU,GAAG;gBAChG,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACnD,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE;YAAE,SAAS;QAC1C,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,4CAA4C;YAClD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,2CAA2C;YACpD,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,qDAAqD;YAC9D,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,GAAuB,EACvB,MAA+B,EAC/B,WAA4B;IAE5B,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO;IAC/C,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,8CAA8C;QACpD,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,0CAA0C,GAAG,0CAA0C;QAChG,IAAI,EAAE,MAAM,EAAE,IAAI;QAClB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CACnC,WAA2B,EAC3B,WAA4B;IAE5B,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO;IACpF,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,WAAW,KAAK,SAAS,IAAI,qBAAqB,CAAC,WAAW,CAAC;QAAE,OAAO;IAC5E,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,kDAAkD;QACjF,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kCAAkC,CACzC,WAA2B,EAC3B,WAA4B;IAE5B,mCAAmC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC7E,mCAAmC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC7E,mCAAmC,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAClF,mCAAmC,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAClF,mCAAmC,CAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACjF,mCAAmC,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAEhF,kBAAkB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3E,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;IACrF,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,6BAA6B,CAAC,MAAiB,EAAE,WAA4B;IACpF,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,sBAAsB;YACrE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5E,yCAAyC,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5E,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACxE,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,uBAAuB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAiB,EAAE,WAA4B;IAC5E,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI;QAAE,OAAO;IACnE,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,8BAA8B;QACpC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,eAAe,MAAM,CAAC,UAAU,iFAAiF;QAC1H,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAiB;IACzC,OAAO,CACL,MAAM,CAAC,OAAO,KAAK,8BAA8B;QACjD,MAAM,CAAC,OAAO,KAAK,wBAAwB;QAC3C,MAAM,CAAC,OAAO,KAAK,cAAc;QACjC,MAAM,CAAC,OAAO,KAAK,aAAa,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAC1C,WAA2B,EAC3B,SAAiB,EACjB,WAA4B;IAE5B,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO;IAC/D,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,8BAA8B;QACpC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,kCAAkC,SAAS,SAAS,KAAK,GAAG;QAC3F,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAA2B,EAC3B,SAAiB,EACjB,WAA4B;IAE5B,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO;IAC7D,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,8BAA8B;QACpC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,qBAAqB,SAAS,SAAS,KAAK,GAAG;QAC9E,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yCAAyC,CAChD,MAAiB,EACjB,SAAiB,EACjB,WAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO;IAC/D,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,kCAAkC,SAAS,SAAS,KAAK,GAAG;QAC3G,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAiB,EACjB,YAAoB,EACpB,YAAoB,EACpB,WAA4B;IAE5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC5C,IACE,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,SAAS;QACjB,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC1B,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC1B,GAAG,KAAK,GAAG,EACX,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO;IACvC,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,aAAa,YAAY,gCAAgC,YAAY,YAAY,YAAY,sBAAsB;QAClK,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,WAA2B,EAC3B,YAAoB,EACpB,YAAoB,EACpB,WAA4B;IAE5B,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,IACE,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,SAAS;QACjB,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC1B,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC1B,GAAG,KAAK,GAAG,EACX,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO;IACvC,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,aAAa,YAAY,gCAAgC,YAAY,YAAY,YAAY,sBAAsB;QAClJ,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,WAA2B;IAC7D,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9B,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9C,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACjD,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACjF,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9C,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC7C,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC3E,KAAK,kBAAkB;YACrB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC;QAC/E,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC,MAAM,EAAE;gBACnB,QAAQ;gBACR,KAAK;gBACL,SAAS;gBACT,cAAc;gBACd,aAAa;gBACb,wBAAwB;aACzB,CAAC,CAAC;QACL,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC3E,KAAK,gBAAgB;YACnB,OAAO,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/C,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QACrD,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5D,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QACrD,KAAK,cAAc;YACjB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC,MAAM,EAAE;gBACnB,wBAAwB;gBACxB,yBAAyB;gBACzB,uBAAuB;gBACvB,sBAAsB;gBACtB,gBAAgB;gBAChB,kBAAkB;aACnB,CAAC,CAAC;QACL,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,KAAiB;IACjC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAA2B;IAE3B,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IAC/F,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxE,OAAO,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChF,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACpE,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3C,OAAO,EAAE,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAChF,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxC,OAAO;YACL,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC1D,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;SAC1C,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9F,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC1C,OAAO;YACL,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC1D,SAAS,EAAE;gBACT,YAAY;gBACZ,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,OAAO;gBACP,MAAM;gBACN,cAAc;gBACd,UAAU;gBACV,MAAM;gBACN,KAAK;aACN;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,WAA2B;IAC/C,OAAO,CACL,WAAW,CAAC,IAAI,KAAK,QAAQ;QAC7B,WAAW,CAAC,IAAI,KAAK,OAAO;QAC5B,WAAW,CAAC,IAAI,KAAK,WAAW;QAChC,WAAW,CAAC,IAAI,KAAK,OAAO;QAC5B,WAAW,CAAC,IAAI,KAAK,UAAU;QAC/B,WAAW,CAAC,IAAI,KAAK,cAAc;QACnC,WAAW,CAAC,IAAI,KAAK,SAAS;QAC9B,WAAW,CAAC,IAAI,KAAK,cAAc;QACnC,WAAW,CAAC,IAAI,KAAK,kBAAkB;QACvC,WAAW,CAAC,IAAI,KAAK,iBAAiB;QACtC,WAAW,CAAC,IAAI,KAAK,SAAS,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,WAA2B,EAC3B,YAAyD,EACzD,WAA4B;IAE5B,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO;IACpF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CAC/C,WAAW,CAAC,IAAI,CAAC;QACf,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,OAAO;QACP,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;IACL,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,CAAC,uBAAuB,EAAE,0DAA0D,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;IAC7C,IACE,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,OAAO;QAClB,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,KAAK,cAAc,CAAC;QACnE,CAAC,CACC,WAAW,CAAC,IAAI,KAAK,cAAc;YACnC,MAAM,KAAK,OAAO;YAClB,WAAW,CAAC,gBAAgB,KAAK,QAAQ,CAC1C,EACD,CAAC;QACD,MAAM,CACJ,qCAAqC,EACrC,eAAe,MAAM,oCAAoC,CAC1D,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACxC,MAAM,SAAS,GACb,WAAW,CAAC,mBAAmB,KAAK,UAAU;YAC9C,WAAW,CAAC,mBAAmB,KAAK,SAAS,CAAC;QAChD,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;QACzD,IACE,CAAC,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC;YAChC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3C,CAAC;YACD,MAAM,CACJ,0BAA0B,EAC1B,0IAA0I,CAC3I,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IACE,CAAC,WAAW;YACZ,WAAW,CAAC,QAAQ,KAAK,QAAQ;YACjC,WAAW,CAAC,WAAW,KAAK,WAAW,CAAC,mBAAmB;YAC3D,SAAS,KAAK,WAAW,CAAC,kBAAkB;YAC5C,CAAC,WAAW,CAAC,gBAAgB,KAAK,SAAS,IAAI,WAAW,CAAC,gBAAgB,KAAK,OAAO,CAAC,EACxF,CAAC;YACD,MAAM,CACJ,mCAAmC,EACnC,uHAAuH,CACxH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,WAA2B,EAC3B,WAA4B;IAE5B,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,IACE,gGAAgG,CAAC,IAAI,CACnG,QAAQ,CACT;QAED,OAAO;IACT,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,sCAAsC;QAC5C,QAAQ,EAAE,OAAO;QACjB,OAAO,EACL,6HAA6H;QAC/H,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CACrC,WAA2B,EAC3B,WAA4B;IAE5B,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO;IAClD,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC;IAC1C,IACE,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QACtC,KAAK;QACL,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAEpD,OAAO;IACT,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,qCAAqC;QAC3C,QAAQ,EAAE,OAAO;QACjB,OAAO,EACL,oHAAoH;QACtH,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI;QAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { QtiAssessmentItem, QtiDiagnostic } from "./types.js";
2
+ /** Validate the authored direct-child sequence retained by the XML parser. */
3
+ export declare function validateAssessmentItemChildren(item: QtiAssessmentItem, diagnostics: QtiDiagnostic[]): void;
4
+ //# sourceMappingURL=validation-item-children.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-item-children.d.ts","sourceRoot":"","sources":["../src/validation-item-children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmBnE,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,aAAa,EAAE,GAC3B,IAAI,CAwBN"}
@@ -0,0 +1,45 @@
1
+ // QTI 3.0.1 AssessmentItemDType sequence:
2
+ // https://purl.imsglobal.org/spec/qti/v3p0/schema/xsd/imsqti_itemv3p0p1_v1p0.xsd
3
+ const itemChildOrder = [
4
+ "qti-context-declaration",
5
+ "qti-response-declaration",
6
+ "qti-outcome-declaration",
7
+ "qti-template-declaration",
8
+ "qti-template-processing",
9
+ "qti-assessment-stimulus-ref",
10
+ "qti-companion-materials-info",
11
+ "qti-stylesheet",
12
+ "qti-item-body",
13
+ "qti-catalog-info",
14
+ "qti-response-processing",
15
+ "qti-modal-feedback",
16
+ ];
17
+ /** Validate the authored direct-child sequence retained by the XML parser. */
18
+ export function validateAssessmentItemChildren(item, diagnostics) {
19
+ let lastOrder = -1;
20
+ for (const child of item.sourceChildren ?? []) {
21
+ const order = itemChildOrder.indexOf(child.qtiName);
22
+ if (order < 0) {
23
+ diagnostics.push({
24
+ code: "assessmentItem.child.unsupported",
25
+ severity: "error",
26
+ message: `qti-assessment-item does not allow ${child.qtiName} as a direct child.`,
27
+ path: child.source?.path,
28
+ source: child.source,
29
+ });
30
+ }
31
+ else if (order < lastOrder) {
32
+ diagnostics.push({
33
+ code: "assessmentItem.child.order",
34
+ severity: "error",
35
+ message: `${child.qtiName} appears out of QTI 3 qti-assessment-item child order.`,
36
+ path: child.source?.path,
37
+ source: child.source,
38
+ });
39
+ }
40
+ else {
41
+ lastOrder = order;
42
+ }
43
+ }
44
+ }
45
+ //# sourceMappingURL=validation-item-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-item-children.js","sourceRoot":"","sources":["../src/validation-item-children.ts"],"names":[],"mappings":"AAEA,0CAA0C;AAC1C,iFAAiF;AACjF,MAAM,cAAc,GAAsB;IACxC,yBAAyB;IACzB,0BAA0B;IAC1B,yBAAyB;IACzB,0BAA0B;IAC1B,yBAAyB;IACzB,6BAA6B;IAC7B,8BAA8B;IAC9B,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,yBAAyB;IACzB,oBAAoB;CACrB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,UAAU,8BAA8B,CAC5C,IAAuB,EACvB,WAA4B;IAE5B,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,kCAAkC;gBACxC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,sCAAsC,KAAK,CAAC,OAAO,qBAAqB;gBACjF,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,4BAA4B;gBAClC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,wDAAwD;gBACjF,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation-processing.d.ts","sourceRoot":"","sources":["../src/validation-processing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAMd,MAAM,YAAY,CAAC;AAgBpB,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,aAAa,EAAE,GAC3B,IAAI,CAeN;AAwED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,aAAa,EAAE,GAC3B,IAAI,CAcN"}
1
+ {"version":3,"file":"validation-processing.d.ts","sourceRoot":"","sources":["../src/validation-processing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAMd,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,aAAa,EAAE,GAC3B,IAAI,CAeN;AAwED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,aAAa,EAAE,GAC3B,IAAI,CAqBN"}
@@ -1,9 +1,11 @@
1
+ import { parseXmlSchemaRegex, patternVariableIdentifier } from "./xml-schema-regex.js";
1
2
  import { expressionChildren } from "./processing-expression-children.js";
2
3
  import { MAX_QTI_REPEAT_RESULT_ELEMENTS } from "./processing-limits.js";
3
4
  import { MATH_OPERATOR_NAMES, STATS_OPERATOR_NAMES } from "./processing-operators.js";
4
5
  import { responseProcessingTemplateKind, } from "./processing-templates.js";
5
6
  import { isBaseType, isBooleanAttribute, isFiniteNumber, isInteger, } from "./validation-primitives.js";
6
7
  import { COMPLETION_STATUS } from "./attempt-state-constants.js";
8
+ import { validateEqualTolerance } from "./processing-equality.js";
7
9
  export function validateResponseProcessingTemplate(item, diagnostics) {
8
10
  const template = item.responseProcessing?.template;
9
11
  if (!template)
@@ -85,7 +87,14 @@ export function validateProcessingReferences(item, diagnostics) {
85
87
  const outcomes = new Set(item.outcomeDeclarations.map((declaration) => declaration.identifier));
86
88
  outcomes.add(COMPLETION_STATUS);
87
89
  const templates = new Set(item.templateDeclarations.map((declaration) => declaration.identifier));
88
- const variables = new Set([...responses, ...outcomes, ...templates]);
90
+ const variables = new Set([
91
+ ...responses,
92
+ ...outcomes,
93
+ ...templates,
94
+ "numAttempts",
95
+ "QTI_CONTEXT",
96
+ ...(item.timeDependent ? ["duration"] : []),
97
+ ]);
89
98
  for (const rule of item.templateProcessing?.rules ?? []) {
90
99
  validateTemplateRule(rule, responses, outcomes, templates, variables, diagnostics);
91
100
  }
@@ -217,7 +226,7 @@ function validateSetOutcomeRule(rule, outcomes, responses, variables, diagnostic
217
226
  function validateExpressionReferences(expression, responses, variables, diagnostics) {
218
227
  if (!expression)
219
228
  return;
220
- if (expression.type === "variable" || expression.type === "isNull") {
229
+ if (expression.type === "variable") {
221
230
  validateProcessingIdentifier(expression.identifier, "processing.variable", expression.source, diagnostics);
222
231
  if (expression.identifier && !variables.has(expression.identifier)) {
223
232
  diagnostics.push({
@@ -287,6 +296,30 @@ function validateExpressionReferences(expression, responses, variables, diagnost
287
296
  });
288
297
  }
289
298
  }
299
+ if (expression.type === "patternMatch") {
300
+ const reference = patternVariableIdentifier(expression.pattern);
301
+ if (reference !== undefined) {
302
+ if (!variables.has(reference))
303
+ diagnostics.push({
304
+ code: "processing.variable.reference",
305
+ severity: "error",
306
+ message: `Pattern references missing variable ${reference}.`,
307
+ source: expression.source,
308
+ path: expression.source?.path,
309
+ });
310
+ }
311
+ else {
312
+ const parsed = parseXmlSchemaRegex(expression.pattern);
313
+ if (!parsed.ok)
314
+ diagnostics.push({
315
+ code: `processing.pattern.${parsed.problem.code}`,
316
+ severity: "error",
317
+ message: parsed.problem.message,
318
+ source: expression.source,
319
+ path: expression.source?.path,
320
+ });
321
+ }
322
+ }
290
323
  if (expression.type === "randomInteger") {
291
324
  validateRandomIntegerExpression(expression, diagnostics);
292
325
  }
@@ -297,7 +330,10 @@ function validateExpressionReferences(expression, responses, variables, diagnost
297
330
  validateBaseValueExpression(expression, diagnostics);
298
331
  }
299
332
  if (expression.type === "equalRounded") {
300
- validateRounding("qti-equal-rounded", expression.roundingMode, expression.figures, diagnostics, expression.source);
333
+ validateRounding("qti-equal-rounded", expression.roundingMode, expression.figures, variables, diagnostics, expression.source);
334
+ }
335
+ if (expression.type === "equal") {
336
+ validateEqualTolerance(expression, variables, diagnostics);
301
337
  }
302
338
  if (expression.type === "anyN") {
303
339
  validateAnyNBound("min", expression.min, responses, variables, diagnostics, expression.source);
@@ -369,7 +405,7 @@ function validateExpressionReferences(expression, responses, variables, diagnost
369
405
  const mathConstantNames = new Set(["pi", "e"]);
370
406
  const mathOperatorNames = new Set(MATH_OPERATOR_NAMES);
371
407
  const statsOperatorNames = new Set(STATS_OPERATOR_NAMES);
372
- function validateRounding(qtiName, roundingMode, figures, diagnostics, source) {
408
+ function validateRounding(qtiName, roundingMode, figures, variables, diagnostics, source) {
373
409
  if (roundingMode !== "decimalPlaces" && roundingMode !== "significantFigures") {
374
410
  diagnostics.push({
375
411
  code: "processing.roundingMode",
@@ -379,7 +415,10 @@ function validateRounding(qtiName, roundingMode, figures, diagnostics, source) {
379
415
  source,
380
416
  });
381
417
  }
382
- const validFigures = Number.isInteger(figures) && (roundingMode === "decimalPlaces" ? figures >= 0 : figures > 0);
418
+ const validFigures = typeof figures === "string"
419
+ ? variables.has(figures)
420
+ : Number.isInteger(figures) &&
421
+ (roundingMode === "decimalPlaces" ? figures >= 0 : figures > 0);
383
422
  if (!validFigures) {
384
423
  diagnostics.push({
385
424
  code: "processing.roundingFigures",
@@ -481,13 +520,7 @@ function minimumExpressionElements(expression) {
481
520
  return minimumProducedElements(expression.expressions);
482
521
  }
483
522
  if (expression.type === "random") {
484
- if (expression.values.length === 0)
485
- return 0;
486
- let minimum = MAX_QTI_REPEAT_RESULT_ELEMENTS + 1;
487
- for (const value of expression.values) {
488
- minimum = Math.min(minimum, minimumExpressionElements(value));
489
- }
490
- return minimum;
523
+ return minimumExpressionElements(expression.expression) > 0 ? 1 : 0;
491
524
  }
492
525
  if (expression.type !== "repeat" || !/^\d+$/.test(expression.numberRepeats))
493
526
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"validation-processing.js","sourceRoot":"","sources":["../src/validation-processing.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EACL,8BAA8B,GAE/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,SAAS,GACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,UAAU,kCAAkC,CAChD,IAAuB,EACvB,WAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,YAAY,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,yCAAyC,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oCAAoC,QAAQ,8BAA8B;QACnF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yCAAyC,CAChD,IAAuB,EACvB,YAA4C,EAC5C,WAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC7C,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,UAAU,CACvD,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;IACjG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,wCAAwC;YAC9C,QAAQ,EAAE,OAAO;YACjB,OAAO,EACL,uFAAuF;YACzF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,qCAAqC;YAC3C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,oFAAoF;YAC7F,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,sCAAsC;YAC5C,QAAQ,EAAE,OAAO;YACjB,OAAO,EACL,qGAAqG;YACvG,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACnD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,kBAAkB,KAAK,UAAU,CAC/D,CAAC;IACF,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,uCAAuC;YAC7C,QAAQ,EAAE,OAAO;YACjB,OAAO,EACL,wFAAwF;YAC1F,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,YAAY,KAAK,aAAa,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,oEAAoE;YAC7E,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,YAAY,KAAK,kBAAkB,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7E,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,iCAAiC;YACvC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,+EAA+E;YACxF,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAuB,EACvB,WAA4B;IAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAChG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAClG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAErE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACxD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACxD,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,SAA+B,EAC/B,QAAqB,EACrB,SAAsB,EACtB,SAAsB,EACtB,WAA4B;IAE5B,4BAA4B,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACxF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACvC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvC,4BAA4B,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACvC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAqB,EACrB,SAAsB,EACtB,QAAqB,EACrB,SAAsB,EACtB,SAAsB,EACtB,WAA4B;IAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACtC,4BAA4B,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACnF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3F,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,4BAA4B,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACnF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtC,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACrC,4BAA4B,CAC1B,IAAI,CAAC,UAAU,EACf,2BAA2B,EAC3B,IAAI,CAAC,MAAM,EACX,WAAW,CACZ,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,qCAAqC;gBAC3C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,kEAAkE,IAAI,CAAC,UAAU,GAAG;gBAC7F,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACpC,4BAA4B,CAC1B,IAAI,CAAC,UAAU,EACf,0BAA0B,EAC1B,IAAI,CAAC,MAAM,EACX,WAAW,CACZ,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzF,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,oCAAoC;gBAC1C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,4EAA4E,IAAI,CAAC,UAAU,GAAG;gBACvG,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,4BAA4B,CAC1B,IAAI,CAAC,UAAU,EACf,4BAA4B,EAC5B,IAAI,CAAC,MAAM,EACX,WAAW,CACZ,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,sCAAsC;gBAC5C,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,oEAAoE,IAAI,CAAC,UAAU,GAAG;gBAC/F,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAqB,EACrB,QAAqB,EACrB,SAAsB,EACtB,SAAsB,EACtB,WAA4B;IAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACtC,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,yBAAyB,CAChC,IAA8D,EAC9D,QAAqB,EACrB,SAAsB,EACtB,SAAsB,EACtB,WAA4B;IAE5B,4BAA4B,CAC1B,IAAI,CAAC,UAAU,EACf,gCAAgC,EAChC,IAAI,CAAC,MAAM,EACX,WAAW,CACZ,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0CAA0C;YAChD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,mEAAmE,IAAI,CAAC,UAAU,GAAG;YAC9F,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IACD,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAwB,EACxB,QAAqB,EACrB,SAAsB,EACtB,SAAsB,EACtB,WAA4B;IAE5B,4BAA4B,CAC1B,IAAI,CAAC,UAAU,EACf,0BAA0B,EAC1B,IAAI,CAAC,MAAM,EACX,WAAW,CACZ,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,gEAAgE,IAAI,CAAC,UAAU,GAAG;YAC3F,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IACD,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,4BAA4B,CACnC,UAA+C,EAC/C,SAAsB,EACtB,SAAsB,EACtB,WAA4B;IAE5B,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnE,4BAA4B,CAC1B,UAAU,CAAC,UAAU,EACrB,qBAAqB,EACrB,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,qDAAqD,UAAU,CAAC,UAAU,GAAG;gBACtF,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACvC,4BAA4B,CAC1B,UAAU,CAAC,UAAU,EACrB,qBAAqB,EACrB,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,iEAAiE,UAAU,CAAC,UAAU,GAAG;gBAClG,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,4BAA4B,CAC1B,UAAU,CAAC,iBAAiB,EAC5B,oBAAoB,EACpB,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjF,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,yEAAyE,UAAU,CAAC,iBAAiB,GAAG;gBACjH,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChF,4BAA4B,CAC1B,UAAU,CAAC,UAAU,EACrB,qBAAqB,EACrB,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,iEAAiE,UAAU,CAAC,UAAU,GAAG;gBAClG,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,4BAA4B,CAC1B,UAAU,CAAC,UAAU,EACrB,oBAAoB,EACpB,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,yEAAyE,UAAU,CAAC,UAAU,GAAG;gBAC1G,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,4BAA4B,CAC1B,UAAU,CAAC,UAAU,EACrB,qBAAqB,EACrB,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;QACF,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnE,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,qDAAqD,UAAU,CAAC,UAAU,GAAG;gBACtF,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACxC,+BAA+B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,6BAA6B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,2BAA2B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACvC,gBAAgB,CACd,mBAAmB,EACnB,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,OAAO,EAClB,WAAW,EACX,UAAU,CAAC,MAAM,CAClB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/F,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,0CAA0C,UAAU,CAAC,IAAI,GAAG;YACrE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClF,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,0CAA0C,UAAU,CAAC,IAAI,GAAG;YACrE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,2CAA2C,UAAU,CAAC,IAAI,GAAG;YACtE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IACE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK;QACxB,UAAU,CAAC,IAAI,KAAK,SAAS;QAC7B,UAAU,CAAC,IAAI,KAAK,KAAK;QACzB,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC;QAC5B,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EACnC,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,OAAO,UAAU,CAAC,IAAI,0CAA0C;YACzE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IACE,UAAU,CAAC,IAAI,KAAK,eAAe;QACnC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAChE,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,gCAAgC;YACtC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,2DAA2D;YACpE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,4BAA4B,CAC1B,UAAU,CAAC,eAAe,EAC1B,uCAAuC,EACvC,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,mBAAmB,CAAC,CAAC;AAC/D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;AAEjE,SAAS,gBAAgB,CACvB,OAAe,EACf,YAAoB,EACpB,OAAe,EACf,WAA4B,EAC5B,MAA+B;IAE/B,IAAI,YAAY,KAAK,eAAe,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,OAAO,8DAA8D;YACjF,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAChB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,4BAA4B;YAClC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,OAAO,gDAAgD;YACnE,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAgE,EAChE,SAAsB,EACtB,WAA4B;IAE5B,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACzE,IACE,OAAO,GAAG,MAAM,CAAC,8BAA8B,CAAC;YAChD,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,8BAA8B,CAAC,EAC3E,CAAC;YACD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,4BAA4B,8BAA8B,mCAAmC;gBACtG,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,4BAA4B,CAC1B,UAAU,CAAC,aAAa,EACxB,iCAAiC,EACjC,UAAU,CAAC,MAAM,EACjB,WAAW,CACZ,CAAC;IACF,IAAI,UAAU,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACzE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,2CAA2C;YACjD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,8DAA8D,UAAU,CAAC,aAAa,GAAG;YAClG,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAwB,EACxB,KAAa,EACb,SAAsB,EACtB,SAAsB,EACtB,WAA4B,EAC5B,MAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB,SAAS,WAAW;YAC7C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,sBAAsB,SAAS,GAAG;YAC3C,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,MAAM;SACP,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO;IAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnC,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB,SAAS,UAAU;YAC5C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,aAAa,SAAS,6CAA6C;YAC5E,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,MAAM;SACP,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB,SAAS,YAAY;YAC9C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,aAAa,SAAS,oDAAoD,KAAK,GAAG;YAC3F,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAgE;IAEhE,OAAO;QACL,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oEAAoE;QAC7E,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAsC;IACrE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,GAAG,kBAAkB,CAAC,KAAK,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAmC;IACpE,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpE,OAAO,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO,GAAG,8BAA8B,GAAG,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACvE,OAAO,SAAS,GAAG,MAAM,CAAC,8BAA8B,CAAC;QACvD,CAAC,CAAC,8BAA8B,GAAG,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,8BAA8B,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAgE,EAChE,WAA4B;IAE5B,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,kCAAkC;YACxC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;SAAM,IACL,QAAQ,KAAK,QAAQ;QACrB,QAAQ,KAAK,MAAM;QACnB,QAAQ,KAAK,MAAM;QACnB,QAAQ,KAAK,SAAS,EACtB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,oCAAoC,QAAQ,GAAG;YACxD,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GACtB,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,IAAI,kBAAkB,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;QACxF,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,oBAAoB,QAAQ,aAAa,kBAAkB,eAAe;YACnF,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChG,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,oEAAoE;YAC7E,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAmE,EACnE,WAA4B;IAE5B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,wCAAwC;YAC9C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,oCAAoC;YAC7C,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,4CAA4C,UAAU,CAAC,QAAQ,GAAG;YAC3E,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,IACE,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAC3D,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,2BAA2B,UAAU,CAAC,QAAQ,iBAAiB,KAAK,GAAG;YAChF,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,gDAAgD,KAAK,GAAG;YACjE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAuE,EACvE,WAA4B;IAE5B,8BAA8B,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/D,8BAA8B,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAE/D,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7C,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrF,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,wDAAwD;gBACjE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;IACtC,IACE,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,SAAS;QACjB,SAAS,CAAC,GAAG,CAAC;QACd,SAAS,CAAC,GAAG,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EACzB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,iCAAiC;YACvC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,kEAAkE;YAC3E,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CACrC,UAAuE,EACvE,SAAiC,EACjC,WAA4B;IAE5B,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,+BAA+B,SAAS,GAAG;YACpD,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO;IAC7B,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,kCAAkC;QACxC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,uCAAuC,SAAS,SAAS,KAAK,GAAG;QAC1E,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CACpC,UAAqE,EACrE,WAA4B;IAE5B,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,SAAS;QACzC,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAE/D,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;IAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;IACtC,IACE,GAAG,KAAK,SAAS;QACjB,cAAc,CAAC,GAAG,CAAC;QACnB,cAAc,CAAC,GAAG,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EACzB,CAAC;QACD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,gEAAgE;YACzE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACnC,UAAqE,EACrE,SAAwB,EACxB,WAA4B;IAE5B,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,kCAAkC;YACxC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,6BAA6B,SAAS,GAAG;YAClD,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO;IAClC,WAAW,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,qCAAqC,SAAS,SAAS,KAAK,GAAG;QACxE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CACnC,UAAkB,EAClB,IAAY,EACZ,MAA+B,EAC/B,WAA4B;IAE5B,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IACzC,WAAW,CAAC,IAAI,CAAC;QACf,IAAI;QACJ,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,kDAAkD;QAC3D,IAAI,EAAE,MAAM,EAAE,IAAI;QAClB,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"validation-processing.js","sourceRoot":"","sources":["../src/validation-processing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAOV,WAAW,EAKX,mBAAmB,EACpB,MAAM,YAAY,CAAC;AA2BpB,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,mBAAmB,CAuBjF"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOV,WAAW,EAKX,mBAAmB,EACpB,MAAM,YAAY,CAAC;AA2BpB,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,mBAAmB,CAwBjF"}
@@ -1,3 +1,4 @@
1
+ import { validateAssessmentItemChildren } from "./validation-item-children.js";
1
2
  import { assertNever } from "./assert-never.js";
2
3
  import { validateQtiDataSsmlMetadata } from "./tts.js";
3
4
  import { validateCompanionMaterials } from "./validation-companion-materials.js";
@@ -12,6 +13,7 @@ export function validateAssessmentItem(document) {
12
13
  const item = document.item;
13
14
  requireIdentifier("qti-assessment-item", item.identifier, diagnostics, item.source);
14
15
  validateAssessmentItemRoot(item, diagnostics);
16
+ validateAssessmentItemChildren(item, diagnostics);
15
17
  validateItemBody(item, diagnostics);
16
18
  validateItemBodySharedVocabulary(item, diagnostics);
17
19
  validateDeclarationIdentifiers(item, diagnostics);
@@ -89,6 +91,16 @@ function validateDeclarationIdentifiers(item, diagnostics) {
89
91
  source: declaration.source,
90
92
  });
91
93
  }
94
+ if (["numAttempts", "duration", "QTI_CONTEXT"].includes(declaration.identifier) ||
95
+ (declaration.identifier === COMPLETION_STATUS && declaration.kind !== "outcome")) {
96
+ diagnostics.push({
97
+ code: "declaration.builtIn",
98
+ severity: "error",
99
+ message: `${declaration.identifier} is a reserved built-in variable and must not be declared explicitly.`,
100
+ path: declaration.source?.path,
101
+ source: declaration.source,
102
+ });
103
+ }
92
104
  if (seen.has(declaration.identifier)) {
93
105
  diagnostics.push({
94
106
  code: "identifier.duplicate",