postext 1.47.0 → 1.48.1

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 (336) hide show
  1. package/dist/__tests__/bundle/designOverflowPin.test.js +1 -1
  2. package/dist/__tests__/bundle/gridBreakRulesPin.test.js +2 -2
  3. package/dist/__tests__/bundle/shapingLanguagePin.test.js +3 -3
  4. package/dist/__tests__/bundle/taskBoxPin.test.js +1 -1
  5. package/dist/__tests__/bundle.test.js +1 -1
  6. package/dist/__tests__/codeBlocks.test.js +1 -1
  7. package/dist/__tests__/composed/cardShapes.test.d.ts +2 -0
  8. package/dist/__tests__/composed/cardShapes.test.d.ts.map +1 -0
  9. package/dist/__tests__/composed/cardShapes.test.js +82 -0
  10. package/dist/__tests__/composed/cardShapes.test.js.map +1 -0
  11. package/dist/__tests__/composed/connectors.test.d.ts +2 -0
  12. package/dist/__tests__/composed/connectors.test.d.ts.map +1 -0
  13. package/dist/__tests__/composed/connectors.test.js +349 -0
  14. package/dist/__tests__/composed/connectors.test.js.map +1 -0
  15. package/dist/__tests__/composed/decorationSidePoints.test.d.ts +2 -0
  16. package/dist/__tests__/composed/decorationSidePoints.test.d.ts.map +1 -0
  17. package/dist/__tests__/composed/decorationSidePoints.test.js +164 -0
  18. package/dist/__tests__/composed/decorationSidePoints.test.js.map +1 -0
  19. package/dist/__tests__/composed/fit.test.js +2 -1
  20. package/dist/__tests__/composed/fit.test.js.map +1 -1
  21. package/dist/__tests__/composed/fixtures/connectors.d.ts +33 -0
  22. package/dist/__tests__/composed/fixtures/connectors.d.ts.map +1 -0
  23. package/dist/__tests__/composed/fixtures/connectors.js +142 -0
  24. package/dist/__tests__/composed/fixtures/connectors.js.map +1 -0
  25. package/dist/__tests__/composed/fixtures/grid.d.ts +32 -0
  26. package/dist/__tests__/composed/fixtures/grid.d.ts.map +1 -0
  27. package/dist/__tests__/composed/fixtures/grid.js +53 -0
  28. package/dist/__tests__/composed/fixtures/grid.js.map +1 -0
  29. package/dist/__tests__/composed/fixtures/legendMap.d.ts +24 -0
  30. package/dist/__tests__/composed/fixtures/legendMap.d.ts.map +1 -0
  31. package/dist/__tests__/composed/fixtures/legendMap.js +117 -0
  32. package/dist/__tests__/composed/fixtures/legendMap.js.map +1 -0
  33. package/dist/__tests__/composed/fixtures/mapParts.d.ts +58 -0
  34. package/dist/__tests__/composed/fixtures/mapParts.d.ts.map +1 -0
  35. package/dist/__tests__/composed/fixtures/mapParts.js +192 -0
  36. package/dist/__tests__/composed/fixtures/mapParts.js.map +1 -0
  37. package/dist/__tests__/composed/fixtures/modules.d.ts +55 -0
  38. package/dist/__tests__/composed/fixtures/modules.d.ts.map +1 -0
  39. package/dist/__tests__/composed/fixtures/modules.js +123 -0
  40. package/dist/__tests__/composed/fixtures/modules.js.map +1 -0
  41. package/dist/__tests__/composed/grid.test.d.ts +2 -0
  42. package/dist/__tests__/composed/grid.test.d.ts.map +1 -0
  43. package/dist/__tests__/composed/grid.test.js +357 -0
  44. package/dist/__tests__/composed/grid.test.js.map +1 -0
  45. package/dist/__tests__/composed/groups.test.js +6 -3
  46. package/dist/__tests__/composed/groups.test.js.map +1 -1
  47. package/dist/__tests__/composed/labelLegend.test.d.ts +2 -0
  48. package/dist/__tests__/composed/labelLegend.test.d.ts.map +1 -0
  49. package/dist/__tests__/composed/labelLegend.test.js +268 -0
  50. package/dist/__tests__/composed/labelLegend.test.js.map +1 -0
  51. package/dist/__tests__/composed/labelsChecks.test.js.map +1 -1
  52. package/dist/__tests__/composed/leaders.test.d.ts +2 -0
  53. package/dist/__tests__/composed/leaders.test.d.ts.map +1 -0
  54. package/dist/__tests__/composed/leaders.test.js +372 -0
  55. package/dist/__tests__/composed/leaders.test.js.map +1 -0
  56. package/dist/__tests__/composed/moduleConnectorPage.test.d.ts +2 -0
  57. package/dist/__tests__/composed/moduleConnectorPage.test.d.ts.map +1 -0
  58. package/dist/__tests__/composed/moduleConnectorPage.test.js +76 -0
  59. package/dist/__tests__/composed/moduleConnectorPage.test.js.map +1 -0
  60. package/dist/__tests__/composed/modules.test.d.ts +2 -0
  61. package/dist/__tests__/composed/modules.test.d.ts.map +1 -0
  62. package/dist/__tests__/composed/modules.test.js +352 -0
  63. package/dist/__tests__/composed/modules.test.js.map +1 -0
  64. package/dist/__tests__/composed/overConnectors.test.d.ts +2 -0
  65. package/dist/__tests__/composed/overConnectors.test.d.ts.map +1 -0
  66. package/dist/__tests__/composed/overConnectors.test.js +232 -0
  67. package/dist/__tests__/composed/overConnectors.test.js.map +1 -0
  68. package/dist/__tests__/composed/overlap.test.d.ts +2 -0
  69. package/dist/__tests__/composed/overlap.test.d.ts.map +1 -0
  70. package/dist/__tests__/composed/overlap.test.js +339 -0
  71. package/dist/__tests__/composed/overlap.test.js.map +1 -0
  72. package/dist/__tests__/composedTemplates.test.js +1 -1
  73. package/dist/__tests__/design/boxShape.test.d.ts +2 -0
  74. package/dist/__tests__/design/boxShape.test.d.ts.map +1 -0
  75. package/dist/__tests__/design/boxShape.test.js +126 -0
  76. package/dist/__tests__/design/boxShape.test.js.map +1 -0
  77. package/dist/__tests__/design/boxShapePaint.test.d.ts +2 -0
  78. package/dist/__tests__/design/boxShapePaint.test.d.ts.map +1 -0
  79. package/dist/__tests__/design/boxShapePaint.test.js +130 -0
  80. package/dist/__tests__/design/boxShapePaint.test.js.map +1 -0
  81. package/dist/__tests__/design/openerBottomAnchor.test.js.map +1 -1
  82. package/dist/__tests__/design/pathBlock.test.d.ts +2 -0
  83. package/dist/__tests__/design/pathBlock.test.d.ts.map +1 -0
  84. package/dist/__tests__/design/pathBlock.test.js +194 -0
  85. package/dist/__tests__/design/pathBlock.test.js.map +1 -0
  86. package/dist/__tests__/design/pathElement.test.d.ts +2 -0
  87. package/dist/__tests__/design/pathElement.test.d.ts.map +1 -0
  88. package/dist/__tests__/design/pathElement.test.js +257 -0
  89. package/dist/__tests__/design/pathElement.test.js.map +1 -0
  90. package/dist/__tests__/design/svgPath.test.d.ts +2 -0
  91. package/dist/__tests__/design/svgPath.test.d.ts.map +1 -0
  92. package/dist/__tests__/design/svgPath.test.js +144 -0
  93. package/dist/__tests__/design/svgPath.test.js.map +1 -0
  94. package/dist/__tests__/exports.test.js +52 -0
  95. package/dist/__tests__/exports.test.js.map +1 -1
  96. package/dist/__tests__/hardBreaks.test.js +1 -1
  97. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  98. package/dist/__tests__/labelGlyphPaint.test.d.ts +2 -0
  99. package/dist/__tests__/labelGlyphPaint.test.d.ts.map +1 -0
  100. package/dist/__tests__/labelGlyphPaint.test.js +86 -0
  101. package/dist/__tests__/labelGlyphPaint.test.js.map +1 -0
  102. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  103. package/dist/__tests__/migrate/labelsOnPictures.test.js +1 -1
  104. package/dist/__tests__/migrate/labelsOnPictures.test.js.map +1 -1
  105. package/dist/__tests__/parse/containers.test.js +1 -1
  106. package/dist/__tests__/parse/containers.test.js.map +1 -1
  107. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
  108. package/dist/__tests__/pipeline/calloutLabelGlyph.test.d.ts +2 -0
  109. package/dist/__tests__/pipeline/calloutLabelGlyph.test.d.ts.map +1 -0
  110. package/dist/__tests__/pipeline/calloutLabelGlyph.test.js +198 -0
  111. package/dist/__tests__/pipeline/calloutLabelGlyph.test.js.map +1 -0
  112. package/dist/__tests__/pipeline/calloutShapes.test.d.ts +2 -0
  113. package/dist/__tests__/pipeline/calloutShapes.test.d.ts.map +1 -0
  114. package/dist/__tests__/pipeline/calloutShapes.test.js +159 -0
  115. package/dist/__tests__/pipeline/calloutShapes.test.js.map +1 -0
  116. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  117. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  118. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  119. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  120. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  121. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  122. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  123. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  124. package/dist/__tests__/verseLines.test.js +1 -1
  125. package/dist/bundle/configVersion.d.ts +12 -3
  126. package/dist/bundle/configVersion.d.ts.map +1 -1
  127. package/dist/bundle/configVersion.js +16 -5
  128. package/dist/bundle/configVersion.js.map +1 -1
  129. package/dist/canvas-backend/blockRender.js +3 -3
  130. package/dist/canvas-backend/blockRender.js.map +1 -1
  131. package/dist/canvas-backend/composed.d.ts +4 -2
  132. package/dist/canvas-backend/composed.d.ts.map +1 -1
  133. package/dist/canvas-backend/composed.js +12 -7
  134. package/dist/canvas-backend/composed.js.map +1 -1
  135. package/dist/canvas-backend/headerFooter.d.ts +17 -1
  136. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  137. package/dist/canvas-backend/headerFooter.js +64 -1
  138. package/dist/canvas-backend/headerFooter.js.map +1 -1
  139. package/dist/canvas-backend/index.d.ts.map +1 -1
  140. package/dist/canvas-backend/index.js +7 -1
  141. package/dist/canvas-backend/index.js.map +1 -1
  142. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  143. package/dist/canvas-backend/renderResourceBlock.js +17 -6
  144. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  145. package/dist/canvas-backend/swatch.d.ts +20 -1
  146. package/dist/canvas-backend/swatch.d.ts.map +1 -1
  147. package/dist/canvas-backend/swatch.js +51 -1
  148. package/dist/canvas-backend/swatch.js.map +1 -1
  149. package/dist/comics/layoutPage.d.ts.map +1 -1
  150. package/dist/comics/layoutPage.js +6 -1
  151. package/dist/comics/layoutPage.js.map +1 -1
  152. package/dist/composed/continuation.d.ts +10 -2
  153. package/dist/composed/continuation.d.ts.map +1 -1
  154. package/dist/composed/continuation.js +10 -2
  155. package/dist/composed/continuation.js.map +1 -1
  156. package/dist/composed/document.d.ts +45 -1
  157. package/dist/composed/document.d.ts.map +1 -1
  158. package/dist/composed/document.js +76 -17
  159. package/dist/composed/document.js.map +1 -1
  160. package/dist/composed/labelText.d.ts +6 -2
  161. package/dist/composed/labelText.d.ts.map +1 -1
  162. package/dist/composed/labelText.js +19 -3
  163. package/dist/composed/labelText.js.map +1 -1
  164. package/dist/composed/labels.d.ts +57 -3
  165. package/dist/composed/labels.d.ts.map +1 -1
  166. package/dist/composed/labels.js +261 -12
  167. package/dist/composed/labels.js.map +1 -1
  168. package/dist/composed/modules.d.ts +30 -0
  169. package/dist/composed/modules.d.ts.map +1 -0
  170. package/dist/composed/modules.js +194 -0
  171. package/dist/composed/modules.js.map +1 -0
  172. package/dist/composed/overlap.d.ts +52 -0
  173. package/dist/composed/overlap.d.ts.map +1 -0
  174. package/dist/composed/overlap.js +611 -0
  175. package/dist/composed/overlap.js.map +1 -0
  176. package/dist/composed/paint.d.ts +28 -5
  177. package/dist/composed/paint.d.ts.map +1 -1
  178. package/dist/composed/paint.js +26 -5
  179. package/dist/composed/paint.js.map +1 -1
  180. package/dist/composed/reflowLog.d.ts +6 -1
  181. package/dist/composed/reflowLog.d.ts.map +1 -1
  182. package/dist/composed/reflowLog.js +43 -0
  183. package/dist/composed/reflowLog.js.map +1 -1
  184. package/dist/composed/repeat.d.ts +66 -0
  185. package/dist/composed/repeat.d.ts.map +1 -0
  186. package/dist/composed/repeat.js +217 -0
  187. package/dist/composed/repeat.js.map +1 -0
  188. package/dist/composed/slotChecks.d.ts +1 -1
  189. package/dist/composed/slotChecks.d.ts.map +1 -1
  190. package/dist/composed/slotChecks.js +114 -8
  191. package/dist/composed/slotChecks.js.map +1 -1
  192. package/dist/composed/sourceMap.d.ts.map +1 -1
  193. package/dist/composed/sourceMap.js +16 -4
  194. package/dist/composed/sourceMap.js.map +1 -1
  195. package/dist/composed/spread.d.ts.map +1 -1
  196. package/dist/composed/spread.js +6 -2
  197. package/dist/composed/spread.js.map +1 -1
  198. package/dist/composed/templates.d.ts +22 -2
  199. package/dist/composed/templates.d.ts.map +1 -1
  200. package/dist/composed/templates.js +166 -10
  201. package/dist/composed/templates.js.map +1 -1
  202. package/dist/composed/types.d.ts +140 -7
  203. package/dist/composed/types.d.ts.map +1 -1
  204. package/dist/composed/validate.d.ts +1 -1
  205. package/dist/composed/validate.d.ts.map +1 -1
  206. package/dist/composed/validate.js +101 -4
  207. package/dist/composed/validate.js.map +1 -1
  208. package/dist/composed/wrap.d.ts.map +1 -1
  209. package/dist/composed/wrap.js +95 -17
  210. package/dist/composed/wrap.js.map +1 -1
  211. package/dist/configWarnings.d.ts +7 -1
  212. package/dist/configWarnings.d.ts.map +1 -1
  213. package/dist/configWarnings.js +275 -4
  214. package/dist/configWarnings.js.map +1 -1
  215. package/dist/contrast.d.ts.map +1 -1
  216. package/dist/contrast.js +8 -0
  217. package/dist/contrast.js.map +1 -1
  218. package/dist/defaults/calloutStyles.d.ts +10 -1
  219. package/dist/defaults/calloutStyles.d.ts.map +1 -1
  220. package/dist/defaults/calloutStyles.js +46 -7
  221. package/dist/defaults/calloutStyles.js.map +1 -1
  222. package/dist/defaults/headerFooter.d.ts.map +1 -1
  223. package/dist/defaults/headerFooter.js +38 -0
  224. package/dist/defaults/headerFooter.js.map +1 -1
  225. package/dist/design/boxShape.d.ts +101 -0
  226. package/dist/design/boxShape.d.ts.map +1 -0
  227. package/dist/design/boxShape.js +398 -0
  228. package/dist/design/boxShape.js.map +1 -0
  229. package/dist/design/connector.d.ts +75 -0
  230. package/dist/design/connector.d.ts.map +1 -0
  231. package/dist/design/connector.js +325 -0
  232. package/dist/design/connector.js.map +1 -0
  233. package/dist/design/layout.d.ts +56 -3
  234. package/dist/design/layout.d.ts.map +1 -1
  235. package/dist/design/layout.js +214 -12
  236. package/dist/design/layout.js.map +1 -1
  237. package/dist/design/logicalEdges.d.ts +7 -0
  238. package/dist/design/logicalEdges.d.ts.map +1 -1
  239. package/dist/design/logicalEdges.js +28 -0
  240. package/dist/design/logicalEdges.js.map +1 -1
  241. package/dist/design/pathBlock.d.ts +69 -0
  242. package/dist/design/pathBlock.d.ts.map +1 -0
  243. package/dist/design/pathBlock.js +286 -0
  244. package/dist/design/pathBlock.js.map +1 -0
  245. package/dist/design/svgPath.d.ts +48 -0
  246. package/dist/design/svgPath.d.ts.map +1 -0
  247. package/dist/design/svgPath.js +402 -0
  248. package/dist/design/svgPath.js.map +1 -0
  249. package/dist/fonts/usage.d.ts +5 -0
  250. package/dist/fonts/usage.d.ts.map +1 -1
  251. package/dist/fonts/usage.js +36 -3
  252. package/dist/fonts/usage.js.map +1 -1
  253. package/dist/html-backend.d.ts.map +1 -1
  254. package/dist/html-backend.js +127 -22
  255. package/dist/html-backend.js.map +1 -1
  256. package/dist/index.d.ts +19 -9
  257. package/dist/index.d.ts.map +1 -1
  258. package/dist/index.js +13 -5
  259. package/dist/index.js.map +1 -1
  260. package/dist/measure/cache.js +1 -1
  261. package/dist/measure/cache.js.map +1 -1
  262. package/dist/measure/inlineIcon.d.ts +34 -0
  263. package/dist/measure/inlineIcon.d.ts.map +1 -0
  264. package/dist/measure/inlineIcon.js +89 -0
  265. package/dist/measure/inlineIcon.js.map +1 -0
  266. package/dist/measure/rich.d.ts +2 -1
  267. package/dist/measure/rich.d.ts.map +1 -1
  268. package/dist/measure/rich.js +6 -0
  269. package/dist/measure/rich.js.map +1 -1
  270. package/dist/migrate/pageDesign.d.ts.map +1 -1
  271. package/dist/migrate/pageDesign.js +4 -2
  272. package/dist/migrate/pageDesign.js.map +1 -1
  273. package/dist/migrate/textToMarkdown.js +2 -0
  274. package/dist/migrate/textToMarkdown.js.map +1 -1
  275. package/dist/parse/blockParser.d.ts.map +1 -1
  276. package/dist/parse/blockParser.js +171 -20
  277. package/dist/parse/blockParser.js.map +1 -1
  278. package/dist/parse/index.d.ts +1 -1
  279. package/dist/parse/index.d.ts.map +1 -1
  280. package/dist/parse/index.js.map +1 -1
  281. package/dist/parse/inlineFormatting.d.ts +11 -3
  282. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  283. package/dist/parse/inlineFormatting.js +63 -5
  284. package/dist/parse/inlineFormatting.js.map +1 -1
  285. package/dist/parse/inlineSnippet.d.ts +2 -1
  286. package/dist/parse/inlineSnippet.d.ts.map +1 -1
  287. package/dist/parse/inlineSnippet.js +3 -2
  288. package/dist/parse/inlineSnippet.js.map +1 -1
  289. package/dist/parse/sourceMapping.d.ts.map +1 -1
  290. package/dist/parse/sourceMapping.js +8 -1
  291. package/dist/parse/sourceMapping.js.map +1 -1
  292. package/dist/parse/types.d.ts +71 -1
  293. package/dist/parse/types.d.ts.map +1 -1
  294. package/dist/pipeline/build.d.ts.map +1 -1
  295. package/dist/pipeline/build.js +23 -11
  296. package/dist/pipeline/build.js.map +1 -1
  297. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  298. package/dist/pipeline/buildMeasurement.js +23 -11
  299. package/dist/pipeline/buildMeasurement.js.map +1 -1
  300. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  301. package/dist/pipeline/calloutLayout.js +142 -32
  302. package/dist/pipeline/calloutLayout.js.map +1 -1
  303. package/dist/pipeline/composedLayout.d.ts +1 -33
  304. package/dist/pipeline/composedLayout.d.ts.map +1 -1
  305. package/dist/pipeline/composedLayout.js +526 -36
  306. package/dist/pipeline/composedLayout.js.map +1 -1
  307. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  308. package/dist/pipeline/contentWarnings.js +46 -1
  309. package/dist/pipeline/contentWarnings.js.map +1 -1
  310. package/dist/pipeline/continuation.d.ts.map +1 -1
  311. package/dist/pipeline/continuation.js +3 -2
  312. package/dist/pipeline/continuation.js.map +1 -1
  313. package/dist/pipeline/headerFooter.d.ts +19 -1
  314. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  315. package/dist/pipeline/headerFooter.js +145 -5
  316. package/dist/pipeline/headerFooter.js.map +1 -1
  317. package/dist/pipeline/partPalette.d.ts.map +1 -1
  318. package/dist/pipeline/partPalette.js +40 -1
  319. package/dist/pipeline/partPalette.js.map +1 -1
  320. package/dist/pipeline/resourceLayout.d.ts +1 -1
  321. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  322. package/dist/pipeline/resourceLayout.js +44 -15
  323. package/dist/pipeline/resourceLayout.js.map +1 -1
  324. package/dist/preflight.d.ts.map +1 -1
  325. package/dist/preflight.js +36 -1
  326. package/dist/preflight.js.map +1 -1
  327. package/dist/types.d.ts +305 -22
  328. package/dist/types.d.ts.map +1 -1
  329. package/dist/vdt.d.ts +384 -11
  330. package/dist/vdt.d.ts.map +1 -1
  331. package/dist/vdt.js.map +1 -1
  332. package/package.json +1 -1
  333. package/dist/composed/round2Types.d.ts +0 -185
  334. package/dist/composed/round2Types.d.ts.map +0 -1
  335. package/dist/composed/round2Types.js +0 -2
  336. package/dist/composed/round2Types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlap.test.js","sourceRoot":"","sources":["../../../src/__tests__/composed/overlap.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,iFAAiF;AACjF,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,MAAM,OAAO;IACX,IAAI,GAAG,EAAE,CAAC;IACV,WAAW,CAAC,CAAS;QACnB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IACjC,CAAC;CACF;AACA,UAAsD,CAAC,eAAe,GAAG;IACxE,UAAU;QACR,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC;CACF,CAAC;AAEF,MAAM,YAAY,GAAG,QAAmD,CAAC;AACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAkB,CAAC;AAC9F,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAClE;wCACwC;AACxC,MAAM,SAAS,GAAgB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,EAAE;IACF,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,QAAiB;IACvB,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE;CAC/E,CAAC,CAAe,CAAC;AAKlB,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC,CAAC;AAC/D,MAAM,QAAQ,GAAG,GAAiB,EAAE,CAAC,eAAe,CAAE,MAAM,CAAC,aAAgC,CAAC,CAAC,CAAE,CAAC,CAAC;AACnG,4DAA4D;AAC5D,MAAM,UAAU,GAAG,CAAC,KAA2C,EAAE,OAAqB,QAAQ,EAAE,EAAgB,EAAE,CAAC,CAAC;IAClH,GAAG,IAAI;IACP,MAAM,EAAE,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClF,CAAC,CAAC;AACH,MAAM,KAAK,GAAG,CAAC,MAAoB,QAAQ,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAuB,EAAE,EAAe,EAAE,CAC5G,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAC7H,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAa,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AACpI,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAa,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;AACxI,MAAM,IAAI,GAAG,CAAC,GAAgB,EAAE,KAAa,EAAE,EAAU,EAAuB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;AAErJ;;oCAEoC;AACpC,MAAM,aAAa,GAAG,CAAC,GAAiB,EAAE,CAAW,EAAgB,EAAE;IACrE,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAE,CAAC;QACvD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAU,EAAU,EAAE,CAAE,CAAoC,EAAE,KAAK,IAAI,CAAC,CAAC;QACpF,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,SAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAClG,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,IAAI,GAAG,GAAG,CAAC,MAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAuC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAA4B,CAAC;IACtF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;IAEpB,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAE,CAAC;QACxC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAClL,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACxD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,qEAAqE;QACrE,qEAAqE;QACrE,uEAAuE;QACvE,kEAAkE;QAClE,2DAA2D;QAC3D,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mGAAmG,EAAE,GAAG,EAAE;QAC3G,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAgE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC;QACvH,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CAAC;QACjE,MAAM,GAAG,GAAG,GAAG,CAAC,SAAU,CAAC,MAAO,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,SAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAE,GAAG,CAAC,CAAuB,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,GAAG,CAAC,CAAuB,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,sEAAsE;QACtE,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC;QACpF,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,CAAE,IAAyB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,QAAQ;QACR,MAAM,GAAG,GAAiB;YACxB,EAAE,EAAE,UAAU;YACd,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;gBAChH,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;gBACrJ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;aAC/H;SACF,CAAC;QACF,MAAM,EAAE,GAAG;YACT,+BAA+B;YAC/B,yBAAyB;YACzB,0CAA0C,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,KAAK;YACL,EAAE;YACF,uBAAuB;YACvB,wDAAwD,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,KAAK;YACL,EAAE;YACF,sCAAsC;YACtC,MAAM;YACN,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAE,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAwC,CAAC;YAC/F,kEAAkE;YAClE,mEAAmE;YACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,mEAAmE;YACnE,iBAAiB;YACjB,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAE,CAAC;YACpD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,uDAAuD;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/H,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAE,CAAC;YACpD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACpF,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtB,qDAAqD;gBACrD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;oBAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8GAA8G,EAAE,GAAG,EAAE;QACtH,MAAM,GAAG,GAAiB;YACxB,EAAE,EAAE,UAAU;YACd,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;gBAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;aAC1I;SACF,CAAC;QACF,MAAM,EAAE,GAAG,yDAAyD,0CAA0C,CAAC,MAAM,CAAC,EAAE,CAAC,sDAAsD,CAAC;QAChL,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAE,CAAC;QACjD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9G,mEAAmE;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACtD,2CAA2C;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,oEAAoE;QACpE,4CAA4C;QAC5C,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,GAAG,CAAC,MAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrL,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,2CAA2C;QAC3C,GAAG,CAAC,MAAO,CAAC,GAAG,CAAC,MAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAO,CAAC,GAAG,CAAC,MAAO,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACnG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACrG,gCAAgC;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;QACvC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oEAAoE,CAAC,CAAC;QAC7F,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,0CAA0C,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvK,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;IAEpB,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAE,CAAC;QACxD,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAChI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,0DAA0D;QAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAiE,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAiE,CAAC;QAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1F,0DAA0D;QAC1D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrH,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAE,CAAC;QACzD,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5C,4EAA4E;QAC5E,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAO,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAE,CAAC;QAClE,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAO,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAgB,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,UAAU;YACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;SACtK,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,yEAAyE,CAAC;QACrF,sEAAsE;QACtE,6BAA6B;QAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAE,CAAC;QACvE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8FAA8F,EAAE,GAAG,EAAE;QACtG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5I,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjH,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,iCAAiC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3K,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACtD,MAAM,MAAM,GAAiB;QAC3B,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACd,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;YAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;YAChG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;SAC5I;KACF,CAAC;IACF,MAAM,EAAE,GAAG;QACT,mCAAmC;QACnC,uBAAuB;QACvB,iEAAiE;QACjE,KAAK;QACL,EAAE;QACF,wBAAwB;QACxB,GAAG,sEAAsE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrF,KAAK;QACL,EAAE;QACF,sCAAsC;QACtC,MAAM;QACN,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,EAAE,CAAC,qGAAqG,EAAE,GAAG,EAAE;QAC7G,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,sDAAsD;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,CAAC;QAC/G,MAAM,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,QAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAoB,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5J,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -339,7 +339,7 @@ describe('the config sections', () => {
339
339
  });
340
340
  describe('configVersion 15 (#853)', () => {
341
341
  it('is the version this engine writes', () => {
342
- expect(CONFIG_VERSION).toBe(15);
342
+ expect(CONFIG_VERSION).toBe(16);
343
343
  });
344
344
  it('reads a configuration stored under 14 as it is, templates and all', () => {
345
345
  const stored = config([TEMA], { labelStyles: [{ id: 'mar' }], bodyText: { fontSize: { value: 10, unit: 'pt' } } });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=boxShape.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boxShape.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/design/boxShape.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { borderPieces, boxOutline, boxStylePathBlocks, cornerRadiiPx, normalizeBoxStyle, outlineSubpath, shapePathBlocks, } from '../../design/boxShape';
3
+ import { createBoundingBox } from '../../vdt';
4
+ // #1059: box shapes — a radius per corner, a border per side and a card
5
+ // joined to its tab — as outlines of the vector block.
6
+ const box = createBoundingBox(10, 20, 100, 60);
7
+ const points = (sp) => sp.filter((c) => c.op !== 'Z').map((c) => [Math.round(c.x * 1000) / 1000, Math.round(c.y * 1000) / 1000]);
8
+ describe('box outlines', () => {
9
+ it('rounds only the corners that have a radius', () => {
10
+ const o = boxOutline(box, [8, 0, 8, 0]);
11
+ expect(o.vertices.map((v) => v.r)).toEqual([8, 0, 8, 0]);
12
+ const sp = outlineSubpath(o);
13
+ // Two curves: top-left and bottom-right; the square corners are points.
14
+ expect(sp.filter((c) => c.op === 'C')).toHaveLength(2);
15
+ expect(points(sp)).toContainEqual([110, 20]);
16
+ expect(points(sp)).toContainEqual([10, 80]);
17
+ expect(sp[sp.length - 1].op).toBe('Z');
18
+ });
19
+ it('clamps two corners that would take more than their edge', () => {
20
+ const o = boxOutline(createBoundingBox(0, 0, 100, 20), [30, 30, 0, 0]);
21
+ // The left edge is 20 long with one corner on it: 20; the top edge
22
+ // shares 100 between two corners of 30, which fit.
23
+ expect(o.vertices[0].r).toBe(20);
24
+ expect(o.vertices[1].r).toBe(20);
25
+ });
26
+ it('grows a tab out of the top with concave fillets at its feet', () => {
27
+ const o = boxOutline(box, [6, 6, 6, 6], { edge: 'top', x0: 40, x1: 80, height: 12, radius: 6, fillet: 4 });
28
+ const concave = o.vertices.filter((v) => v.concave);
29
+ expect(concave.map((v) => [v.x, v.y, v.r])).toEqual([[40, 20, 4], [80, 20, 4]]);
30
+ // The tab's outer corners stand 12 px above the box.
31
+ expect(o.vertices.filter((v) => v.y === 8).map((v) => v.x)).toEqual([40, 80]);
32
+ // Every tab edge belongs to the top side.
33
+ expect(o.sides.filter((s) => s === 'top')).toHaveLength(5);
34
+ const pts = points(outlineSubpath(o));
35
+ // The fillet runs from the box's edge 4 px before the tab up its side.
36
+ expect(pts).toContainEqual([36, 20]);
37
+ expect(pts).toContainEqual([40, 16]);
38
+ });
39
+ it('runs the side straight up into a tab flush with it', () => {
40
+ const o = boxOutline(box, [6, 6, 6, 6], { edge: 'top', x0: 10, x1: 50, height: 12, radius: 6, fillet: 4 });
41
+ // No box corner at the top-left, no fillet on that side.
42
+ expect(o.vertices.some((v) => v.x === 10 && v.y === 20)).toBe(false);
43
+ expect(o.vertices.filter((v) => v.concave)).toHaveLength(1);
44
+ // The left edge reaches the tab's top: it is the left side's.
45
+ const tl = o.vertices.findIndex((v) => v.x === 10 && v.y === 8);
46
+ expect(o.sides[(tl + o.vertices.length - 1) % o.vertices.length]).toBe('left');
47
+ });
48
+ it('hangs a tab from the foot, at the right corner', () => {
49
+ const o = boxOutline(box, [0, 0, 6, 6], { edge: 'bottom', x0: 70, x1: 110, height: 10, radius: 6, fillet: 6 });
50
+ expect(o.vertices.filter((v) => v.y === 90).map((v) => v.x).sort((a, b) => a - b)).toEqual([70, 110]);
51
+ expect(o.vertices.filter((v) => v.concave).map((v) => [v.x, v.y])).toEqual([[70, 80]]);
52
+ });
53
+ it('keeps fillets and tab corners within the room the tab has', () => {
54
+ // Inset 3 px: the fillet is held to half of it, the box corner to the rest.
55
+ const o = boxOutline(box, [10, 10, 10, 10], { edge: 'top', x0: 13, x1: 33, height: 6, radius: 10, fillet: 10 });
56
+ const fillet = o.vertices.find((v) => v.concave);
57
+ expect(fillet.r).toBeCloseTo(1.5, 6);
58
+ expect(o.vertices[0].r).toBeCloseTo(1.5, 6);
59
+ const tabCorner = o.vertices.find((v) => v.y === 14);
60
+ expect(tabCorner.r).toBeLessThanOrEqual(6 - 1.5 + 1e-9);
61
+ });
62
+ });
63
+ describe('border pieces', () => {
64
+ it('cuts one closed piece per side that has a width', () => {
65
+ const o = boxOutline(box, [0, 0, 0, 0]);
66
+ const pieces = borderPieces(o, { top: 2, right: 0, bottom: 4, left: 0 });
67
+ expect([...pieces.keys()].sort()).toEqual(['bottom', 'top']);
68
+ // The top piece: the box's top edge and its inner edge 2 px down.
69
+ expect(points(pieces.get('top')[0])).toEqual([[10, 20], [110, 20], [110, 22], [10, 22]]);
70
+ });
71
+ it('gives a side the whole corner when its neighbour has no width', () => {
72
+ const o = boxOutline(box, [8, 8, 8, 8]);
73
+ const top = borderPieces(o, { top: 2, right: 0, bottom: 0, left: 0 }).get('top')[0];
74
+ // From the foot of the top-left corner's curve (on the left edge)…
75
+ expect(points(top)[0]).toEqual([10, 28]);
76
+ });
77
+ });
78
+ describe('shape path blocks', () => {
79
+ it('paints one colour of border on every side as one even-odd ring over the fill', () => {
80
+ const side = { color: '#123456', widthPx: 2 };
81
+ const blocks = shapePathBlocks(boxOutline(box, [4, 0, 4, 0]), '#ffffff', { top: side, right: { ...side, widthPx: 1 }, bottom: side, left: side });
82
+ expect(blocks.map((b) => [b.boxPart, b.fill, b.fillRule ?? 'nonzero', b.subpaths.length])).toEqual([
83
+ ['fill', '#ffffff', 'nonzero', 1],
84
+ ['border', '#123456', 'evenodd', 2],
85
+ ]);
86
+ expect(blocks[1].borderWidthPx).toBe(2);
87
+ });
88
+ it('paints a border on some sides only as their pieces, no edge left on the outline', () => {
89
+ const blocks = shapePathBlocks(boxOutline(box, [4, 4, 4, 4]), undefined, {
90
+ top: { color: '#123456', widthPx: 2 }, right: null, bottom: { color: '#123456', widthPx: 2 }, left: null,
91
+ });
92
+ expect(blocks.map((b) => [b.boxPart, b.fillRule ?? 'nonzero', b.subpaths.length])).toEqual([['border', 'nonzero', 2]]);
93
+ });
94
+ it('paints the pieces of each colour of border apart', () => {
95
+ const blocks = shapePathBlocks(boxOutline(box, [0, 0, 0, 0]), undefined, {
96
+ top: { color: '#ff0000', widthPx: 3 }, right: { color: '#0000ff', widthPx: 1 }, bottom: null, left: { color: '#ff0000', widthPx: 1 },
97
+ });
98
+ expect(blocks.map((b) => [b.fill, b.subpaths.length, b.borderWidthPx])).toEqual([['#ff0000', 2, 3], ['#0000ff', 1, 1]]);
99
+ });
100
+ it('fills a box its border leaves no room in with the border colour', () => {
101
+ const blocks = boxStylePathBlocks(0, 0, 10, 10, { backgroundColor: '#fff', borderWidthPx: 6, borderRadiusPx: 0, borderColor: '#000', borderRadiiPx: [2, 0, 0, 0] });
102
+ expect(blocks).toHaveLength(1);
103
+ expect(blocks[0].fill).toBe('#000');
104
+ });
105
+ });
106
+ describe('box style folding', () => {
107
+ it('folds equal corners and equal sides back to the plain fields', () => {
108
+ const side = { color: '#111111', widthPx: 1 };
109
+ const style = normalizeBoxStyle({ borderWidthPx: 0, borderRadiusPx: 0, borderRadiiPx: [3, 3, 3, 3], borderSides: { top: side, right: side, bottom: side, left: side } });
110
+ expect(style).toEqual({ borderWidthPx: 1, borderRadiusPx: 3, borderColor: '#111111' });
111
+ });
112
+ it('keeps corners and sides that differ, with the plain fields for checks', () => {
113
+ const style = normalizeBoxStyle({ borderWidthPx: 0, borderRadiusPx: 0, borderRadiiPx: [3, 0, 3, 0], borderSides: { top: { color: '#aa0000', widthPx: 2 }, right: null, bottom: null, left: null } });
114
+ expect(style.borderRadiiPx).toEqual([3, 0, 3, 0]);
115
+ expect(style.borderRadiusPx).toBe(3);
116
+ expect(style.borderColor).toBe('#aa0000');
117
+ expect(style.borderWidthPx).toBe(2);
118
+ expect(style.borderSides?.top).toEqual({ color: '#aa0000', widthPx: 2 });
119
+ });
120
+ it('reads a radius per corner, a corner left out square', () => {
121
+ const toPx = (d) => d.value * 2;
122
+ expect(cornerRadiiPx({ topLeft: { value: 3, unit: 'pt' }, bottomRight: { value: 1, unit: 'pt' } }, toPx)).toEqual([6, 0, 2, 0]);
123
+ expect(cornerRadiiPx({ value: 2, unit: 'pt' }, toPx)).toEqual([4, 4, 4, 4]);
124
+ });
125
+ });
126
+ //# sourceMappingURL=boxShape.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boxShape.test.js","sourceRoot":"","sources":["../../../src/__tests__/design/boxShape.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAuB,MAAM,WAAW,CAAC;AAEnE,wEAAwE;AACxE,uDAAuD;AAEvD,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAG,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,CAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAE,CAAmB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAEzL,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7B,wEAAwE;QACxE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,mEAAmE;QACnE,mDAAmD;QACnD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,qDAAqD;QACrD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9E,0CAA0C;QAC1C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,uEAAuE;QACvE,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3G,yDAAyD;QACzD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5D,8DAA8D;QAC9D,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/G,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,4EAA4E;QAC5E,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAChH,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAE,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,kEAAkE;QAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAE,CAAC;QACtF,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClJ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;YACvE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;SACzG,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;YACvE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;SACrI,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1H,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpK,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzK,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACrM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,IAAI,GAAG,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChI,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=boxShapePaint.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boxShapePaint.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/design/boxShapePaint.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { buildDocument } from '../../pipeline';
3
+ import { createMeasurementCache } from '../../measure';
4
+ import { renderToHtmlIndexed } from '../../html-backend';
5
+ import { renderHeaderFooterSlot } from '../../canvas-backend/headerFooter';
6
+ import { collectConfigWarnings } from '../../configWarnings';
7
+ import { applyPaletteOverrides } from '../../design/layout';
8
+ // #1059: decoration boxes with a radius per corner and a border per side,
9
+ // and how canvas and HTML paint box shapes.
10
+ class StubCtx {
11
+ font = '';
12
+ measureText(s) {
13
+ return { width: s.length * 6 };
14
+ }
15
+ }
16
+ globalThis.OffscreenCanvas = class {
17
+ getContext() {
18
+ return new StubCtx();
19
+ }
20
+ };
21
+ const pt = (value) => ({ value, unit: 'pt' });
22
+ const hex = (h, paletteId) => ({ hex: h, model: 'hex', ...(paletteId ? { paletteId } : {}) });
23
+ const config = (style) => ({
24
+ page: { width: pt(300), height: pt(300), dpi: 72, margins: { top: pt(40), bottom: pt(20), left: pt(20), right: pt(20) } },
25
+ layout: { layoutType: 'single' },
26
+ header: {
27
+ elements: [{
28
+ kind: 'box', id: 'band',
29
+ placement: { anchor: { to: 'container', edge: 'top-left' }, size: { width: pt(100), height: pt(20) } },
30
+ style: style,
31
+ }],
32
+ },
33
+ footer: { elements: [] },
34
+ });
35
+ const headerBox = (style) => {
36
+ const doc = buildDocument({ markdown: 'Body.' }, config(style), createMeasurementCache());
37
+ return doc.pages[0].header.blocks.find((b) => b.kind === 'box');
38
+ };
39
+ describe('decoration boxes (#1059)', () => {
40
+ it('keeps a box with one radius and one border as it was', () => {
41
+ const box = headerBox({ backgroundColor: hex('#eeeeee'), borderColor: hex('#000000'), borderWidth: pt(1), borderRadius: pt(3) });
42
+ expect(box.box).toEqual({ backgroundColor: '#eeeeee', borderColor: '#000000', borderWidthPx: 1, borderRadiusPx: 3 });
43
+ });
44
+ it('rounds two corners and draws the top side only', () => {
45
+ const box = headerBox({
46
+ backgroundColor: hex('#eeeeee'), borderColor: hex('#aa0000'), borderWidth: pt(2),
47
+ borderRadius: { topLeft: pt(5), topRight: pt(5) },
48
+ borderSides: { right: { enabled: false }, bottom: { enabled: false }, left: { enabled: false } },
49
+ });
50
+ expect(box.box.borderRadiiPx).toEqual([5, 5, 0, 0]);
51
+ expect(box.box.borderSides).toEqual({ top: { color: '#aa0000', widthPx: 2 }, right: null, bottom: null, left: null });
52
+ });
53
+ it('reports corner and side keys a box does not have', () => {
54
+ const warnings = collectConfigWarnings(config({ borderRadius: { topleft: pt(2) }, borderSides: { up: {} } }));
55
+ expect(warnings.map((w) => [w.kind, w.path, w.suggestion])).toEqual(expect.arrayContaining([
56
+ ['unknownConfigKey', 'header.elements[0].style.borderRadius.topleft', 'topLeft'],
57
+ ['unknownConfigKey', 'header.elements[0].style.borderSides.up', undefined],
58
+ ]));
59
+ });
60
+ it('takes a part palette on each side colour', () => {
61
+ const el = { kind: 'box', id: 'b', placement: { anchor: { to: 'container', edge: 'top-left' } }, style: { borderSides: { top: { color: hex('#000000', 'band') } } } };
62
+ const out = applyPaletteOverrides(el, { band: '#00aa00' });
63
+ expect(out.style.borderSides.top.color.hex).toBe('#00aa00');
64
+ });
65
+ });
66
+ function recordingCtx() {
67
+ const calls = [];
68
+ const state = { fillStyle: '', strokeStyle: '', lineWidth: 1 };
69
+ const rec = (op) => function (...args) {
70
+ calls.push({ op, args, fill: this.fillStyle });
71
+ };
72
+ const ctx = {
73
+ ...state,
74
+ save() { }, restore() { },
75
+ beginPath: rec('beginPath'), moveTo: rec('moveTo'), lineTo: rec('lineTo'), arcTo: rec('arcTo'),
76
+ bezierCurveTo: rec('bezierCurveTo'), quadraticCurveTo: rec('quadraticCurveTo'), closePath: rec('closePath'),
77
+ fill: rec('fill'), stroke: rec('stroke'), fillRect: rec('fillRect'), strokeRect: rec('strokeRect'), rect: rec('rect'), clip: rec('clip'),
78
+ setLineDash() { },
79
+ };
80
+ return { ctx: ctx, calls };
81
+ }
82
+ const slot = (box) => ({
83
+ bbox: { x: 0, y: 0, width: 400, height: 400 },
84
+ blocks: [{ kind: 'box', bbox: { x: 10, y: 20, width: 100, height: 50 }, box }],
85
+ });
86
+ describe('box shapes on canvas (#1059)', () => {
87
+ it('paints a uniform box as before: arcs, no curves', () => {
88
+ const { ctx, calls } = recordingCtx();
89
+ renderHeaderFooterSlot(ctx, slot({ backgroundColor: '#eeeeee', borderColor: '#000000', borderWidthPx: 2, borderRadiusPx: 6 }));
90
+ expect(calls.some((c) => c.op === 'arcTo')).toBe(true);
91
+ expect(calls.some((c) => c.op === 'bezierCurveTo')).toBe(false);
92
+ });
93
+ it('paints corners of their own and a border per side as vector paths', () => {
94
+ const { ctx, calls } = recordingCtx();
95
+ renderHeaderFooterSlot(ctx, slot({
96
+ backgroundColor: '#eeeeee', borderColor: '#aa0000', borderWidthPx: 2, borderRadiusPx: 6,
97
+ borderRadiiPx: [6, 0, 6, 0],
98
+ borderSides: { top: { color: '#aa0000', widthPx: 2 }, right: null, bottom: null, left: { color: '#0000aa', widthPx: 1 } },
99
+ }));
100
+ expect(calls.some((c) => c.op === 'arcTo')).toBe(false);
101
+ expect(calls.filter((c) => c.op === 'fill').map((c) => c.fill)).toEqual(['#eeeeee', '#aa0000', '#0000aa']);
102
+ expect(calls.some((c) => c.op === 'bezierCurveTo')).toBe(true);
103
+ });
104
+ });
105
+ describe('box shapes in HTML (#1059)', () => {
106
+ it('writes a radius per corner and a border per side as CSS', () => {
107
+ const doc = buildDocument({ markdown: 'Body.' }, config({
108
+ backgroundColor: hex('#eeeeee'), borderColor: hex('#aa0000'), borderWidth: pt(2),
109
+ borderRadius: { topLeft: pt(5), bottomRight: pt(5) },
110
+ borderSides: { right: { enabled: false }, bottom: { enabled: false }, left: { enabled: false } },
111
+ }), createMeasurementCache());
112
+ const html = renderToHtmlIndexed(doc, { mode: 'single' }).pages[0].innerHtml;
113
+ expect(html).toContain('border-top:2px solid #aa0000;box-sizing:border-box;border-radius:5px 0px 5px 0px;');
114
+ expect(html).not.toContain('border:2px solid');
115
+ });
116
+ it('draws a card joined to its tab as an inline SVG', () => {
117
+ const doc = buildDocument({ markdown: ':::callout{type="card" label="Words"}\nBody.\n:::' }, {
118
+ ...config({}),
119
+ calloutStyles: [{
120
+ id: 'card', borderRadius: pt(6), background: hex('#fafafa'),
121
+ border: { enabled: true, color: hex('#336699'), width: pt(1) },
122
+ label: { joined: true, position: 'top-left', inset: pt(10), height: pt(14) },
123
+ }],
124
+ }, createMeasurementCache());
125
+ const html = renderToHtmlIndexed(doc, { mode: 'single' }).pages[0].innerHtml;
126
+ expect(html).toMatch(/<svg aria-hidden="true"[^>]*>.*fill="#fafafa"/);
127
+ expect(html).toMatch(/fill="#336699" fill-rule="evenodd"/);
128
+ });
129
+ });
130
+ //# sourceMappingURL=boxShapePaint.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boxShapePaint.test.js","sourceRoot":"","sources":["../../../src/__tests__/design/boxShapePaint.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openerBottomAnchor.test.js","sourceRoot":"","sources":["../../../src/__tests__/design/openerBottomAnchor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openerBottomAnchor.test.js","sourceRoot":"","sources":["../../../src/__tests__/design/openerBottomAnchor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pathBlock.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathBlock.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/design/pathBlock.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,194 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { renderHeaderFooterSlot } from '../../canvas-backend/headerFooter';
3
+ import { renderToHtml } from '../../html-backend';
4
+ import { buildDocument } from '../../pipeline';
5
+ import { offsetDesignBlock } from '../../pipeline/calloutLayout';
6
+ import { applyPartPalettesToFlow } from '../../pipeline/partPalette';
7
+ import { preflightDocument } from '../../preflight';
8
+ import { markerSvgData, pathHit, pathInkBox, pathMarkerOutline, pathSvgData, quadToCubic } from '../../design/pathBlock';
9
+ // Deterministic text measurement stub (no DOM in the node test env).
10
+ class StubCtx {
11
+ font = '';
12
+ measureText(s) {
13
+ return { width: s.length * 7 };
14
+ }
15
+ }
16
+ globalThis.OffscreenCanvas = class {
17
+ getContext() {
18
+ return new StubCtx();
19
+ }
20
+ };
21
+ /** A filled triangle (even-odd), a dashed stroked line with round caps,
22
+ * and a curve, in page px. */
23
+ const filled = () => ({
24
+ kind: 'path',
25
+ bbox: { x: 10, y: 10, width: 40, height: 30 },
26
+ subpaths: [[{ op: 'M', x: 10, y: 40 }, { op: 'L', x: 30, y: 10 }, { op: 'L', x: 50, y: 40 }, { op: 'Z' }]],
27
+ fill: '#336699',
28
+ fillRule: 'evenodd',
29
+ });
30
+ const dashed = () => ({
31
+ kind: 'path',
32
+ bbox: { x: 99, y: 19, width: 102, height: 2 },
33
+ subpaths: [[{ op: 'M', x: 100, y: 20 }, { op: 'L', x: 200, y: 20 }]],
34
+ stroke: { color: '#cc0000', widthPx: 2, dash: [6, 3], cap: 'round', join: 'bevel' },
35
+ });
36
+ const marked = () => ({
37
+ kind: 'path',
38
+ bbox: { x: 0, y: 0, width: 100, height: 100 },
39
+ subpaths: [[{ op: 'M', x: 10, y: 50 }, { op: 'Q', x1: 50, y1: 0, x: 90, y: 50 }]],
40
+ stroke: { color: '#000000', widthPx: 1 },
41
+ markers: [
42
+ { kind: 'dot', x: 10, y: 50, angle: 0, sizePx: 6, color: '#00aa00' },
43
+ { kind: 'arrow', x: 90, y: 50, angle: 0, sizePx: 10, color: '#0000aa' },
44
+ ],
45
+ });
46
+ function recordingCtx() {
47
+ const calls = [];
48
+ const state = { fillStyle: '', strokeStyle: '', lineWidth: 1, lineCap: 'butt', lineJoin: 'miter', dash: [] };
49
+ const stack = [];
50
+ const rec = (op) => function (...args) {
51
+ calls.push({ op, args, fill: this.fillStyle, stroke: this.strokeStyle, lineWidth: this.lineWidth, cap: this.lineCap, join: this.lineJoin, dash: this.dash });
52
+ };
53
+ const ctx = {
54
+ ...state,
55
+ save() { stack.push({ ...this }); },
56
+ restore() { Object.assign(this, stack.pop()); },
57
+ setLineDash(d) { this.dash = d; },
58
+ beginPath: rec('beginPath'),
59
+ moveTo: rec('moveTo'),
60
+ lineTo: rec('lineTo'),
61
+ bezierCurveTo: rec('bezierCurveTo'),
62
+ quadraticCurveTo: rec('quadraticCurveTo'),
63
+ arc: rec('arc'),
64
+ closePath: rec('closePath'),
65
+ fill: rec('fill'),
66
+ stroke: rec('stroke'),
67
+ fillRect: rec('fillRect'),
68
+ };
69
+ return { ctx: ctx, calls };
70
+ }
71
+ const slotOf = (...blocks) => ({ bbox: { x: 0, y: 0, width: 400, height: 400 }, blocks });
72
+ describe('path block geometry (#1055)', () => {
73
+ it('a dot marker is a circle sizePx across; an arrow a triangle whose tip is the point, pointing along angle', () => {
74
+ expect(pathMarkerOutline({ kind: 'dot', x: 5, y: 6, angle: 0, sizePx: 4, color: '#000' })).toEqual({ kind: 'dot', cx: 5, cy: 6, r: 2 });
75
+ const arrow = pathMarkerOutline({ kind: 'arrow', x: 100, y: 50, angle: Math.PI / 2, sizePx: 10, color: '#000' });
76
+ if (arrow.kind !== 'arrow')
77
+ throw new Error('arrow');
78
+ // Pointing down: the tip at the point, the base 10 px above it, 7 px wide.
79
+ expect(arrow.points[0]).toEqual({ x: 100, y: 50 });
80
+ expect(arrow.points[1].y).toBeCloseTo(40);
81
+ expect(arrow.points[2].y).toBeCloseTo(40);
82
+ expect(Math.abs(arrow.points[1].x - arrow.points[2].x)).toBeCloseTo(7);
83
+ });
84
+ it('writes SVG path data relative to an origin', () => {
85
+ expect(pathSvgData(filled().subpaths, 10, 10)).toBe('M0 30L20 0L40 30Z');
86
+ expect(pathSvgData(marked().subpaths)).toBe('M10 50Q50 0 90 50');
87
+ expect(markerSvgData({ kind: 'arrow', x: 10, y: 0, angle: 0, sizePx: 10, color: '#000' })).toBe('M10 0L0 3.5L0 -3.5Z');
88
+ });
89
+ it('turns a quadratic curve into the cubic PDF draws', () => {
90
+ expect(quadToCubic(0, 0, { op: 'Q', x1: 30, y1: 30, x: 60, y: 0 })).toEqual({ op: 'C', x1: 20, y1: 20, x2: 40, y2: 20, x: 60, y: 0 });
91
+ });
92
+ it('boxes the whole ink: half the stroke and the markers', () => {
93
+ expect(pathInkBox(dashed())).toEqual({ x: 99, y: 19, width: 102, height: 2 });
94
+ const box = pathInkBox(marked());
95
+ expect(box.x).toBeCloseTo(7); // the dot, 3 px round its point at x 10
96
+ expect(box.x + box.width).toBeCloseTo(90.5); // the stroke's half width past the arrow tip
97
+ });
98
+ it('moves its outline and markers with its box (offsetDesignBlock)', () => {
99
+ const b = marked();
100
+ offsetDesignBlock(b, 5, -10);
101
+ expect(b.bbox).toEqual({ x: 5, y: -10, width: 100, height: 100 });
102
+ expect(b.subpaths[0]).toEqual([{ op: 'M', x: 15, y: 40 }, { op: 'Q', x1: 55, y1: -10, x: 95, y: 40 }]);
103
+ expect(b.markers.map((m) => [m.x, m.y])).toEqual([[15, 40], [95, 40]]);
104
+ });
105
+ it('is hit on its ink only, not across its box', () => {
106
+ const line = dashed();
107
+ expect(pathHit(line, { x: 150, y: 21 })).toBe(true);
108
+ expect(pathHit(line, { x: 150, y: 30 })).toBe(false);
109
+ const tri = filled();
110
+ expect(pathHit(tri, { x: 30, y: 30 })).toBe(true);
111
+ expect(pathHit(tri, { x: 12, y: 12 })).toBe(false);
112
+ expect(pathHit(marked(), { x: 84, y: 52 })).toBe(true); // in the arrowhead
113
+ });
114
+ });
115
+ describe('path block on canvas (#1055)', () => {
116
+ it('fills an outline by its fill rule', () => {
117
+ const { ctx, calls } = recordingCtx();
118
+ renderHeaderFooterSlot(ctx, slotOf(filled()));
119
+ expect(calls.filter((c) => c.op === 'moveTo' || c.op === 'lineTo').map((c) => c.args)).toEqual([[10, 40], [30, 10], [50, 40]]);
120
+ expect(calls.some((c) => c.op === 'closePath')).toBe(true);
121
+ const fill = calls.find((c) => c.op === 'fill');
122
+ expect(fill.args).toEqual(['evenodd']);
123
+ expect(fill.fill).toBe('#336699');
124
+ expect(calls.some((c) => c.op === 'stroke')).toBe(false);
125
+ });
126
+ it('strokes with its width, dash, cap and join', () => {
127
+ const { ctx, calls } = recordingCtx();
128
+ renderHeaderFooterSlot(ctx, slotOf(dashed()));
129
+ const stroke = calls.find((c) => c.op === 'stroke');
130
+ expect(stroke).toMatchObject({ stroke: '#cc0000', lineWidth: 2, cap: 'round', join: 'bevel', dash: [6, 3] });
131
+ expect(calls.some((c) => c.op === 'fill')).toBe(false);
132
+ });
133
+ it('draws a curve, then fills a dot and an arrow in their colours', () => {
134
+ const { ctx, calls } = recordingCtx();
135
+ renderHeaderFooterSlot(ctx, slotOf(marked()));
136
+ expect(calls.find((c) => c.op === 'quadraticCurveTo').args).toEqual([50, 0, 90, 50]);
137
+ expect(calls.find((c) => c.op === 'arc').args.slice(0, 3)).toEqual([10, 50, 3]);
138
+ expect(calls.filter((c) => c.op === 'fill').map((c) => c.fill)).toEqual(['#00aa00', '#0000aa']);
139
+ });
140
+ });
141
+ // ---------------------------------------------------------------------------
142
+ const pt = (value) => ({ value, unit: 'pt' });
143
+ const config = {
144
+ page: { dpi: 72, width: pt(400), height: pt(400), margins: { top: pt(20), bottom: pt(20), left: pt(20), right: pt(20) } },
145
+ layout: { layoutType: 'single' },
146
+ header: { elements: [] },
147
+ footer: { elements: [] },
148
+ };
149
+ /** A one-page document whose header holds `blocks`. */
150
+ function docWith(...blocks) {
151
+ const doc = buildDocument({ markdown: 'Text.' }, config);
152
+ doc.pages[0].header = slotOf(...blocks);
153
+ return doc;
154
+ }
155
+ describe('path block in HTML (#1055)', () => {
156
+ it('is an inline svg placed on its box, hidden from assistive technology', () => {
157
+ const html = renderToHtml(docWith(filled(), dashed(), marked()));
158
+ expect(html).toContain('<svg aria-hidden="true" focusable="false" width="40" height="30" style="position:absolute;left:10px;top:10px;width:40px;height:30px;overflow:visible;">');
159
+ expect(html).toContain('<path d="M0 30L20 0L40 30Z" fill="#336699" fill-rule="evenodd"/>');
160
+ expect(html).toContain('<path d="M1 1L101 1" fill="none" stroke="#cc0000" stroke-width="2" stroke-dasharray="6 3" stroke-linecap="round" stroke-linejoin="bevel"/>');
161
+ // The dot and the arrow, filled in their colours.
162
+ expect(html).toContain('fill="#00aa00"/>');
163
+ expect(html).toContain('<path d="M90 50L80 53.5L80 46.5Z" fill="#0000aa"/>');
164
+ });
165
+ });
166
+ describe('path block in preflight (#1055)', () => {
167
+ it('reads a hairline stroke as a thin rule', () => {
168
+ const hair = dashed();
169
+ hair.stroke = { ...hair.stroke, widthPx: 0.05 };
170
+ const rule = preflightDocument(docWith(hair)).find((i) => i.kind === 'thinRule');
171
+ expect(rule?.kind === 'thinRule' && rule.color).toBe('#cc0000');
172
+ });
173
+ });
174
+ describe('path block under a part palette (#1055)', () => {
175
+ it("recolours a box frame's path fill, stroke and markers that come from the palette, nothing else", () => {
176
+ const LAKE = '#2d6a7d';
177
+ const RUST = '#9a5a2e';
178
+ const path = {
179
+ kind: 'path',
180
+ bbox: { x: 0, y: 0, width: 10, height: 10 },
181
+ subpaths: [[{ op: 'M', x: 0, y: 0 }, { op: 'L', x: 10, y: 10 }]],
182
+ fill: LAKE,
183
+ stroke: { color: LAKE, widthPx: 1 },
184
+ markers: [{ kind: 'dot', x: 0, y: 0, angle: 0, sizePx: 2, color: LAKE }, { kind: 'dot', x: 10, y: 10, angle: 0, sizePx: 2, color: '#123456' }],
185
+ };
186
+ const box = { type: 'callout', lines: [], designOverlay: slotOf(path) };
187
+ const doc = { pages: [{ index: 0, columns: [], floats: [box] }] };
188
+ applyPartPalettesToFlow(doc, [{ lake: RUST }], [{ id: 'lake', name: 'Lake', value: { hex: LAKE, model: 'hex' } }]);
189
+ expect(path.fill).toBe(RUST);
190
+ expect(path.stroke.color).toBe(RUST);
191
+ expect(path.markers.map((m) => m.color)).toEqual([RUST, '#123456']);
192
+ });
193
+ });
194
+ //# sourceMappingURL=pathBlock.test.js.map