@diagrammo/dgmo 0.51.0 → 0.53.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 (336) hide show
  1. package/.cursorrules +74 -77
  2. package/.github/copilot-instructions.md +74 -77
  3. package/.windsurfrules +74 -77
  4. package/SKILL.md +74 -77
  5. package/dist/advanced.d.ts +109 -246
  6. package/dist/advanced.js +296 -633
  7. package/dist/analyzer-TDN5KJFP.js +15 -0
  8. package/dist/auto.css +14 -6
  9. package/dist/auto.js +141 -129
  10. package/dist/auto.mjs +2062 -937
  11. package/dist/block.css +14 -6
  12. package/dist/block.js +123 -73
  13. package/dist/calculator-VBIT6GQF.js +11 -0
  14. package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
  15. package/dist/chart-meta.d.ts +2 -0
  16. package/dist/chart-meta.js +105 -0
  17. package/dist/charts-d3-DH2XA45I.js +26 -0
  18. package/dist/{chunk-RLFVAKEO.js → chunk-22OQWBWD.js} +25 -8
  19. package/dist/{chunk-I2QZFCS2.js → chunk-27STWBOK.js} +10 -8
  20. package/dist/{chunk-5PZT4DQG.js → chunk-2QC4HXCY.js} +41 -21
  21. package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
  22. package/dist/{chunk-F3FYUFUH.js → chunk-3BEKKRH5.js} +18 -17
  23. package/dist/{chunk-2UJSV2VT.js → chunk-3CZLWOCI.js} +17 -7
  24. package/dist/{chunk-JEUJOX5X.js → chunk-3IUHKMJI.js} +2 -2
  25. package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
  26. package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
  27. package/dist/{chunk-ZO27FGJS.js → chunk-4ASVFYB2.js} +10 -7
  28. package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
  29. package/dist/{chunk-2ILHQOL3.js → chunk-4K42RUGC.js} +41 -13
  30. package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
  31. package/dist/{chunk-QOOUC2J5.js → chunk-4RGZFA7H.js} +2 -2
  32. package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
  33. package/dist/{chunk-EXOQP75F.js → chunk-4WGMGKCZ.js} +53 -33
  34. package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
  35. package/dist/{chunk-3YSQZ75W.js → chunk-65V6IRFN.js} +46 -33
  36. package/dist/{chunk-TMACGPW5.js → chunk-6AUZPPAV.js} +4 -4
  37. package/dist/{chunk-6H7O2OPM.js → chunk-6DCOIN4W.js} +36 -6
  38. package/dist/{chunk-GTWKD3QT.js → chunk-6HTRCTAS.js} +7 -6
  39. package/dist/{chunk-VB4UJ3H2.js → chunk-6KY7OCZC.js} +21 -11
  40. package/dist/{chunk-YAA6IID3.js → chunk-774C2FF3.js} +2 -2
  41. package/dist/{chunk-WJ7RW65H.js → chunk-7GUF6SDR.js} +22 -20
  42. package/dist/{chunk-QYTPPDAO.js → chunk-7JDTNFAK.js} +3 -3
  43. package/dist/{chunk-U6EQI3U6.js → chunk-ADYKAKE3.js} +3 -3
  44. package/dist/{chunk-VNSXLA6G.js → chunk-AHXIMHDQ.js} +84 -20
  45. package/dist/chunk-AIMLCDAO.js +404 -0
  46. package/dist/{chunk-6MNGECP2.js → chunk-ALYZ3MAA.js} +4 -4
  47. package/dist/{chunk-5F5ELR3V.js → chunk-AN2DQB3G.js} +151 -20
  48. package/dist/{chunk-IEWG6J7C.js → chunk-AZNXGWDC.js} +91 -36
  49. package/dist/{chunk-4XFBQT5O.js → chunk-B4XS2AF2.js} +3 -3
  50. package/dist/{chunk-CC4YRBWV.js → chunk-BD3WGY4T.js} +18 -8
  51. package/dist/{chunk-RAHVMKBG.js → chunk-BFDVEO5R.js} +2 -2
  52. package/dist/{chunk-332ZR4QU.js → chunk-BR7AYN76.js} +8 -8
  53. package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
  54. package/dist/{chunk-PZDBOK2Q.js → chunk-CK2GMDXD.js} +11 -5
  55. package/dist/{chunk-467TVMQL.js → chunk-CMVZWP32.js} +3 -3
  56. package/dist/{chunk-GNSFLJAA.js → chunk-CQFNIIQN.js} +7 -7
  57. package/dist/{chunk-RBDIYLA5.js → chunk-DAOFNU6J.js} +17 -1
  58. package/dist/{chunk-AFIEPDLX.js → chunk-DWUMPMV2.js} +23 -11
  59. package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
  60. package/dist/{chunk-6BQFET7X.js → chunk-FFXCKZOU.js} +12 -4
  61. package/dist/{chunk-WRNFDFPU.js → chunk-FGDSTT3F.js} +2 -2
  62. package/dist/{chunk-6NFYEQDX.js → chunk-FLDC7ZAK.js} +34 -7
  63. package/dist/{chunk-IUJODQKX.js → chunk-FT7TPPZ5.js} +25 -23
  64. package/dist/{chunk-IEDMFNU7.js → chunk-FUKNRLIJ.js} +19 -7
  65. package/dist/{chunk-JJXGQIRV.js → chunk-FXCB7H5O.js} +4 -4
  66. package/dist/{chunk-GGHRAITI.js → chunk-GABSL6TH.js} +4 -4
  67. package/dist/{chunk-RXKTSFDL.js → chunk-GAWKIIPO.js} +35 -43
  68. package/dist/{chunk-ZJ3LS7DW.js → chunk-GMAH572Z.js} +6 -6
  69. package/dist/{chunk-TRM2J7ZN.js → chunk-GMIJ35PW.js} +28 -29
  70. package/dist/{chunk-AB7INMR5.js → chunk-GQ644SPD.js} +26 -25
  71. package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
  72. package/dist/{chunk-3ODS2VGL.js → chunk-GWQJKTFS.js} +161 -704
  73. package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
  74. package/dist/{chunk-JSSX2SX4.js → chunk-HE5J53SZ.js} +4 -4
  75. package/dist/{chunk-2EQMXBBQ.js → chunk-HNBY6CNV.js} +3 -3
  76. package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
  77. package/dist/{chunk-OJTXTQA2.js → chunk-HORZ5H2L.js} +38 -31
  78. package/dist/{chunk-MX2EY5Y7.js → chunk-HOXKNRON.js} +2 -2
  79. package/dist/{chunk-E7Y3SYKW.js → chunk-I64ECJX3.js} +18 -8
  80. package/dist/{chunk-JM4LEPY3.js → chunk-IQJCVREL.js} +11 -8
  81. package/dist/{chunk-3JLKYGBQ.js → chunk-J7HI6G3G.js} +9 -6
  82. package/dist/{chunk-Q62FEYK3.js → chunk-JHOAH4TI.js} +3 -3
  83. package/dist/{chunk-OZPBJM5Q.js → chunk-JTMSWEIW.js} +11 -8
  84. package/dist/{chunk-P6T66CCZ.js → chunk-JYDMBWRP.js} +37 -19
  85. package/dist/{chunk-7DF4J4RL.js → chunk-KKHCNSKK.js} +17 -11
  86. package/dist/{chunk-ENRS56GC.js → chunk-KUSAVOWZ.js} +11 -8
  87. package/dist/{chunk-BYJBIALT.js → chunk-LC3FFD43.js} +23 -18
  88. package/dist/{chunk-65WJYYKJ.js → chunk-LHILKFDP.js} +16 -11
  89. package/dist/{chunk-NEQ6GJXB.js → chunk-LQHVDZYC.js} +52 -16
  90. package/dist/{chunk-5WPNFSXP.js → chunk-MA3HJZHB.js} +5 -5
  91. package/dist/{chunk-Z6XJQ6KO.js → chunk-MEQYZZFR.js} +3 -3
  92. package/dist/{chunk-MVN25IF6.js → chunk-NNUMX6WX.js} +42 -12
  93. package/dist/{chunk-7DYOELRK.js → chunk-NNYFQOTK.js} +78 -38
  94. package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
  95. package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
  96. package/dist/{chunk-5PDTIBLV.js → chunk-P3H7QVDH.js} +56 -19
  97. package/dist/{chunk-ND76YJCN.js → chunk-PIXZTCKH.js} +84 -117
  98. package/dist/{chunk-3LV2NCB6.js → chunk-PKNNHU7H.js} +22 -9
  99. package/dist/{chunk-TK2VQQX2.js → chunk-PT4SW76W.js} +20 -18
  100. package/dist/{chunk-AE7II3E3.js → chunk-PV2QO7QL.js} +4 -4
  101. package/dist/{chunk-FTBZV6NE.js → chunk-PYO4TJJ3.js} +34 -26
  102. package/dist/{chunk-QZPEGJOM.js → chunk-Q7AH665U.js} +28 -14
  103. package/dist/{chunk-QHI5XVUJ.js → chunk-QAALSCKI.js} +27 -26
  104. package/dist/{chunk-GD6L76WD.js → chunk-QI3BOLQB.js} +23 -11
  105. package/dist/{chunk-Y6GBQTBK.js → chunk-QWIBT6DS.js} +50 -28
  106. package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
  107. package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
  108. package/dist/{chunk-YGJZWZTY.js → chunk-R5NH5BZG.js} +12 -9
  109. package/dist/{chunk-U5SI5NIM.js → chunk-RJ5LBZ5U.js} +43 -26
  110. package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
  111. package/dist/{chunk-XEQXCIBC.js → chunk-RW5PEJ7D.js} +18 -6
  112. package/dist/{chunk-4VWJ4LW2.js → chunk-SG4PRYO3.js} +61 -49
  113. package/dist/{chunk-RBHWPDBB.js → chunk-SGPFVDUL.js} +18 -7
  114. package/dist/{chunk-KJGG2JKQ.js → chunk-SQCBSFT5.js} +84 -79
  115. package/dist/{chunk-5X6YQA2J.js → chunk-U7NKYLX2.js} +18 -16
  116. package/dist/chunk-U7VO6JAA.js +566 -0
  117. package/dist/{chunk-32XPAAET.js → chunk-UFQJMOVZ.js} +10 -10
  118. package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
  119. package/dist/{chunk-EDA6C7MV.js → chunk-UK6DKJLD.js} +34 -14
  120. package/dist/{chunk-GROLTAWZ.js → chunk-UKP5HWB5.js} +149 -89
  121. package/dist/{chunk-DY7XLRHK.js → chunk-UQRIKAMH.js} +28 -27
  122. package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
  123. package/dist/{chunk-NI3XQBPB.js → chunk-UVDCHR4E.js} +18 -6
  124. package/dist/{chunk-6K2M4VSR.js → chunk-VAO6ANGC.js} +23 -10
  125. package/dist/{chunk-6NYWYNBI.js → chunk-VGNIDAPQ.js} +4 -4
  126. package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
  127. package/dist/{chunk-IUO34HKW.js → chunk-VIRANCNY.js} +36 -32
  128. package/dist/{chunk-4QZ43D7I.js → chunk-VJHBSPGF.js} +12 -14
  129. package/dist/{chunk-BGP54HVR.js → chunk-VKNCC2GX.js} +12 -8
  130. package/dist/{chunk-FC5I2KXV.js → chunk-VRRDUYOK.js} +7 -7
  131. package/dist/{chunk-G3PF3S7P.js → chunk-W2DINCHL.js} +15 -15
  132. package/dist/{chunk-OU7HLO7I.js → chunk-W5KMNC5U.js} +8 -8
  133. package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
  134. package/dist/{chunk-X7EC3L2H.js → chunk-X3RXGSCZ.js} +48 -30
  135. package/dist/{chunk-KFNWFNAA.js → chunk-XEAQDIMF.js} +7 -6
  136. package/dist/{chunk-AXW3M6OQ.js → chunk-XG4NWFPY.js} +38 -27
  137. package/dist/{chunk-B63YB7X3.js → chunk-XQ4KN6JQ.js} +127 -65
  138. package/dist/{chunk-WBRZJOEC.js → chunk-XY3UDKKH.js} +4 -4
  139. package/dist/{chunk-IE477RQZ.js → chunk-YG2BEIQU.js} +14 -13
  140. package/dist/{chunk-LV4BETUU.js → chunk-YJVA3QUU.js} +55 -5
  141. package/dist/{chunk-5SVOCD5W.js → chunk-YR43LJT5.js} +20 -16
  142. package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
  143. package/dist/{chunk-WQLMU7VG.js → chunk-ZXUAPTCK.js} +3 -3
  144. package/dist/cli.cjs +158 -155
  145. package/dist/clock.js +25 -23
  146. package/dist/countdown.js +4 -3
  147. package/dist/dgmo-router-B4S23EBH.js +86 -0
  148. package/dist/dimensions-K6PGYYGT.js +22 -0
  149. package/dist/editor.js +36 -6
  150. package/dist/element.js +143 -131
  151. package/dist/element.mjs +2062 -937
  152. package/dist/flowchart-parser-LALR6J6F.js +21 -0
  153. package/dist/{flowchart-renderer-AQSMEMYF.js → flowchart-renderer-DXYB5YRF.js} +14 -14
  154. package/dist/highlight.d.ts +21 -1
  155. package/dist/highlight.js +129 -8
  156. package/dist/index.d.ts +4 -2
  157. package/dist/index.js +80 -75
  158. package/dist/layout-3BVDMKXI.js +15 -0
  159. package/dist/layout-3M5UYJHY.js +14 -0
  160. package/dist/{layout-JDJAEQ3P.js → layout-3V2A4MUE.js} +8 -8
  161. package/dist/layout-4IHCMWZN.js +19 -0
  162. package/dist/layout-5XGYNYVT.js +9 -0
  163. package/dist/layout-AZUPXWSK.js +15 -0
  164. package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
  165. package/dist/layout-CB3XWCOI.js +10 -0
  166. package/dist/{layout-OAC4PEAC.js → layout-E6HR6PXH.js} +7 -7
  167. package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
  168. package/dist/layout-KPQWJNAG.js +14 -0
  169. package/dist/layout-OL2XFJXA.js +17 -0
  170. package/dist/layout-WCAIKGZG.js +19 -0
  171. package/dist/layout-WSMPBQ4Q.js +17 -0
  172. package/dist/layout-ZE5DRJWX.js +20 -0
  173. package/dist/{layout-search-55FU6HD3.js → layout-search-34DPZD43.js} +51 -35
  174. package/dist/legend-constants-P5EQWRQQ.js +49 -0
  175. package/dist/{palettes-PRJ2RI6D.js → palettes-FGTNFARW.js} +4 -4
  176. package/dist/{parser-KKTJ6M3Y.js → parser-275KP7JO.js} +8 -8
  177. package/dist/parser-27Z76SN3.js +22 -0
  178. package/dist/parser-3CODK6RG.js +15 -0
  179. package/dist/{parser-EH5VE7ZN.js → parser-3KIGEEJM.js} +6 -6
  180. package/dist/parser-3VSWEKBF.js +15 -0
  181. package/dist/parser-4E4I3GNT.js +13 -0
  182. package/dist/parser-5FGJSQNS.js +12 -0
  183. package/dist/parser-5HQXCNOS.js +12 -0
  184. package/dist/parser-5QPFOB5F.js +12 -0
  185. package/dist/parser-6B6SSZT7.js +11 -0
  186. package/dist/parser-6PPHAXXH.js +14 -0
  187. package/dist/parser-7JHWEWXM.js +13 -0
  188. package/dist/{parser-5PDYJGWA.js → parser-7JVIDLLR.js} +7 -7
  189. package/dist/parser-CKA3QMAG.js +18 -0
  190. package/dist/parser-CRKLXGW7.js +13 -0
  191. package/dist/parser-EXNBDNGY.js +11 -0
  192. package/dist/parser-FF4BMRSB.js +16 -0
  193. package/dist/parser-FOOFEJQU.js +13 -0
  194. package/dist/parser-G26MTBFS.js +11 -0
  195. package/dist/parser-GKP2MHHL.js +11 -0
  196. package/dist/parser-GN2MM5CC.js +11 -0
  197. package/dist/parser-IKWK2ZU3.js +18 -0
  198. package/dist/parser-IVGHXLZP.js +14 -0
  199. package/dist/parser-NNIL3HXU.js +11 -0
  200. package/dist/parser-RNLTBIJ6.js +19 -0
  201. package/dist/parser-UWRX52PC.js +16 -0
  202. package/dist/parser-VOERD6XR.js +14 -0
  203. package/dist/parser-XNKJCMMA.js +13 -0
  204. package/dist/parser-XVPTRWZ4.js +15 -0
  205. package/dist/parser-YSLNDFLV.js +22 -0
  206. package/dist/parser-ZGNXYFPS.js +15 -0
  207. package/dist/parser-ZQDQTB4X.js +20 -0
  208. package/dist/pert.d.ts +4 -2
  209. package/dist/registry-CaSw0PSH.d.ts +350 -0
  210. package/dist/renderer-2C6DJRYN.js +24 -0
  211. package/dist/renderer-5MPN7CXZ.js +19 -0
  212. package/dist/renderer-6EN5XXJZ.js +27 -0
  213. package/dist/renderer-6WRYVM5R.js +24 -0
  214. package/dist/renderer-7NQSTQMQ.js +16 -0
  215. package/dist/renderer-7ZNVOVFG.js +16 -0
  216. package/dist/{renderer-KQB7UGDS.js → renderer-AK2WO4EI.js} +7 -6
  217. package/dist/renderer-COLQFSFV.js +26 -0
  218. package/dist/renderer-CWEFGEIC.js +36 -0
  219. package/dist/renderer-D3BRNOMV.js +29 -0
  220. package/dist/renderer-HIFQVEJA.js +22 -0
  221. package/dist/renderer-JCZG6AYU.js +28 -0
  222. package/dist/{renderer-6RKQPNJI.js → renderer-JTCX6PCG.js} +13 -13
  223. package/dist/renderer-JWGQSTMR.js +37 -0
  224. package/dist/{renderer-3YPZHMOU.js → renderer-K7XLVPH5.js} +6 -6
  225. package/dist/renderer-KARQF3F3.js +22 -0
  226. package/dist/renderer-LVZAHRP6.js +34 -0
  227. package/dist/{renderer-QXGN5H3A.js → renderer-NE5W7CQP.js} +8 -8
  228. package/dist/renderer-QD2SJF2I.js +34 -0
  229. package/dist/renderer-RLMOTXZ6.js +37 -0
  230. package/dist/renderer-SQ54MDSA.js +26 -0
  231. package/dist/{renderer-UV6MI64M.js → renderer-TYHGXAVT.js} +7 -6
  232. package/dist/renderer-UKXW2QPE.js +23 -0
  233. package/dist/renderer-UPF7NRTI.js +28 -0
  234. package/dist/renderer-VMH6L6CP.js +24 -0
  235. package/dist/{renderer-GHPZMFU2.js → renderer-WCWI4I6A.js} +5 -5
  236. package/dist/renderer-WFSUBKUL.js +25 -0
  237. package/dist/renderer-WNFXYYGL.js +21 -0
  238. package/dist/{renderer-RGIYOTKJ.js → renderer-XTXSOK3L.js} +14 -14
  239. package/dist/renderer-YUKPS27O.js +24 -0
  240. package/dist/renderer-YUXGXGSW.js +27 -0
  241. package/dist/renderer-ZBTEX2JK.js +16 -0
  242. package/dist/renderer-radial-WF6VOUOD.js +21 -0
  243. package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
  244. package/dist/state-parser-L7DHZIQO.js +19 -0
  245. package/dist/state-renderer-TFEUOP4H.js +38 -0
  246. package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
  247. package/docs/ai-integration.md +74 -77
  248. package/docs/language-reference.md +329 -290
  249. package/fonts/Inter-Bold.woff2 +0 -0
  250. package/fonts/Inter-Regular.woff2 +0 -0
  251. package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
  252. package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
  253. package/gallery/fixtures/clock.dgmo +1 -1
  254. package/gallery/fixtures/event-line.dgmo +1 -1
  255. package/gallery/fixtures/gantt-full.dgmo +1 -1
  256. package/gallery/fixtures/gantt-sprints.dgmo +9 -9
  257. package/gallery/fixtures/gantt.dgmo +1 -1
  258. package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
  259. package/gallery/fixtures/state-tags.dgmo +40 -0
  260. package/gallery/fixtures/swimlane.dgmo +1 -1
  261. package/gallery/fixtures/timeline-intraday.dgmo +1 -1
  262. package/package.json +5 -1
  263. package/dist/analyzer-BJ54GIFB.js +0 -15
  264. package/dist/calculator-LDYQCDDY.js +0 -11
  265. package/dist/charts-d3-7E4B4IMW.js +0 -26
  266. package/dist/dgmo-router-Y2VEX46B.js +0 -86
  267. package/dist/dimensions-F7B5C4BJ.js +0 -22
  268. package/dist/flowchart-parser-MY53QWTZ.js +0 -21
  269. package/dist/layout-46366KBT.js +0 -10
  270. package/dist/layout-46N4JJYK.js +0 -17
  271. package/dist/layout-4DIUOX2T.js +0 -14
  272. package/dist/layout-AM2JWW3X.js +0 -15
  273. package/dist/layout-CBCLPMSG.js +0 -15
  274. package/dist/layout-EE6GE46Y.js +0 -17
  275. package/dist/layout-G23F7LDH.js +0 -9
  276. package/dist/layout-HYZPWAK5.js +0 -18
  277. package/dist/layout-MUPRALE5.js +0 -14
  278. package/dist/layout-YVTNOTN4.js +0 -20
  279. package/dist/layout-ZDOSXL5G.js +0 -19
  280. package/dist/parser-2Q2T4C3B.js +0 -22
  281. package/dist/parser-3A42DZ72.js +0 -11
  282. package/dist/parser-4RFTKAQX.js +0 -15
  283. package/dist/parser-57ILIFZ2.js +0 -20
  284. package/dist/parser-5A2UWU6B.js +0 -11
  285. package/dist/parser-6BJEXUFX.js +0 -13
  286. package/dist/parser-6ZKABF5S.js +0 -22
  287. package/dist/parser-AIMHGJRR.js +0 -19
  288. package/dist/parser-AZJ25OKK.js +0 -13
  289. package/dist/parser-B77S5SZM.js +0 -11
  290. package/dist/parser-BEPSWJAD.js +0 -11
  291. package/dist/parser-BKI42XBQ.js +0 -16
  292. package/dist/parser-C3D7MVXY.js +0 -11
  293. package/dist/parser-CDG7CHV5.js +0 -14
  294. package/dist/parser-CZOJ7XQ6.js +0 -15
  295. package/dist/parser-E2RL6JYF.js +0 -18
  296. package/dist/parser-FQ6GZFMR.js +0 -13
  297. package/dist/parser-GKLZKEIK.js +0 -13
  298. package/dist/parser-H6ABKHZZ.js +0 -12
  299. package/dist/parser-I6GGFKOQ.js +0 -12
  300. package/dist/parser-JA7JQ7NF.js +0 -15
  301. package/dist/parser-OK22AC6Y.js +0 -14
  302. package/dist/parser-OK2ILHRT.js +0 -16
  303. package/dist/parser-OUTPNJWC.js +0 -11
  304. package/dist/parser-PORDUX5E.js +0 -15
  305. package/dist/parser-SRVFR7PM.js +0 -13
  306. package/dist/parser-UKFFZCFJ.js +0 -14
  307. package/dist/parser-UMWPLORP.js +0 -18
  308. package/dist/parser-Z4TZV2CB.js +0 -12
  309. package/dist/renderer-2AUFT3E2.js +0 -24
  310. package/dist/renderer-2HTNBIF2.js +0 -34
  311. package/dist/renderer-3K3IB7D5.js +0 -22
  312. package/dist/renderer-3YNIWF5I.js +0 -16
  313. package/dist/renderer-4WR6WMVF.js +0 -26
  314. package/dist/renderer-66MERVQ2.js +0 -24
  315. package/dist/renderer-ARMJBP6C.js +0 -28
  316. package/dist/renderer-CO2DW7S7.js +0 -37
  317. package/dist/renderer-EDJ2O4S5.js +0 -34
  318. package/dist/renderer-F7U3MFCV.js +0 -22
  319. package/dist/renderer-GD2COXVL.js +0 -16
  320. package/dist/renderer-GQIESYEM.js +0 -25
  321. package/dist/renderer-HCKJDFXD.js +0 -37
  322. package/dist/renderer-HYGHO4SJ.js +0 -28
  323. package/dist/renderer-JC3RDUT7.js +0 -23
  324. package/dist/renderer-NKJ24TEA.js +0 -19
  325. package/dist/renderer-OYO67VZK.js +0 -26
  326. package/dist/renderer-QIWVHWZO.js +0 -15
  327. package/dist/renderer-QRWACQRI.js +0 -21
  328. package/dist/renderer-QXPP4TA2.js +0 -27
  329. package/dist/renderer-RHT4MHFU.js +0 -24
  330. package/dist/renderer-RYR3TJ46.js +0 -36
  331. package/dist/renderer-SRKDNDFB.js +0 -27
  332. package/dist/renderer-TGTUABCI.js +0 -24
  333. package/dist/renderer-TXJFKPOG.js +0 -29
  334. package/dist/renderer-radial-FWABAZHB.js +0 -21
  335. package/dist/state-parser-6T6CNMPX.js +0 -18
  336. package/dist/state-renderer-AWZ3ECAX.js +0 -34
package/dist/clock.js CHANGED
@@ -185,7 +185,12 @@ function handAngles(h, m, s) {
185
185
  }
186
186
 
187
187
  // src/palettes/color-utils.ts
188
+ var MIX_CACHE = /* @__PURE__ */ new Map();
189
+ var MIX_CACHE_MAX = 5e3;
188
190
  function mix(a, b, pct) {
191
+ const key = `${a}|${b}|${pct}`;
192
+ const cached = MIX_CACHE.get(key);
193
+ if (cached !== void 0) return cached;
189
194
  const parse = (h) => {
190
195
  const r = h.replace("#", "");
191
196
  const f = r.length === 3 ? [...r].map((c2) => c2 + c2).join("") : r;
@@ -197,7 +202,10 @@ function mix(a, b, pct) {
197
202
  };
198
203
  const [ar, ag, ab] = parse(a), [br, bg, bb] = parse(b), t = pct / 100;
199
204
  const c = (x, y) => Math.round(x * t + y * (1 - t)).toString(16).padStart(2, "0");
200
- return `#${c(ar, br)}${c(ag, bg)}${c(ab, bb)}`;
205
+ const out = `#${c(ar, br)}${c(ag, bg)}${c(ab, bb)}`;
206
+ if (MIX_CACHE.size >= MIX_CACHE_MAX) MIX_CACHE.clear();
207
+ MIX_CACHE.set(key, out);
208
+ return out;
201
209
  }
202
210
 
203
211
  // src/clock/ticker.ts
@@ -241,20 +249,23 @@ function updateRow(group, now) {
241
249
  setHand(group, "s", ang.second);
242
250
  const mode = group.getAttribute("data-dgmo-clock-auto-mode");
243
251
  const cardFill = group.getAttribute("data-dgmo-clock-cardfill");
252
+ const fillMode = group.getAttribute("data-dgmo-clock-fill-mode");
244
253
  let autoSolid = null;
245
254
  if (mode === "daylight") autoSolid = up ? c("day") : c("night");
246
255
  else if (mode === "time") autoSolid = rampColor(parts.h);
247
256
  else if (mode) autoSolid = group.getAttribute("data-dgmo-clock-auto-solid");
248
- const faceFill = autoSolid && cardFill ? mix(autoSolid, cardFill, 20) : group.getAttribute("data-dgmo-clock-auto-face") ?? stTint;
249
- const handColor = autoSolid ?? stColor;
250
- const face = group.querySelector("[data-dgmo-clock-facebg]");
251
- if (face) face.setAttribute("fill", faceFill);
252
- const ring = group.querySelector("[data-dgmo-clock-facering]");
253
- if (ring && autoSolid) ring.setAttribute("stroke", autoSolid);
254
- const center = group.querySelector("[data-dgmo-clock-center]");
255
- if (center) center.setAttribute("fill", handColor);
256
- const secondHand = group.querySelector('[data-dgmo-clock-hand="s"]');
257
- if (secondHand) secondHand.setAttribute("stroke", handColor);
257
+ if (!fillMode) {
258
+ const faceFill = autoSolid && cardFill ? mix(autoSolid, cardFill, 20) : group.getAttribute("data-dgmo-clock-auto-face") ?? stTint;
259
+ const handColor = autoSolid ?? stColor;
260
+ const face = group.querySelector("[data-dgmo-clock-facebg]");
261
+ if (face) face.setAttribute("fill", faceFill);
262
+ const ring = group.querySelector("[data-dgmo-clock-facering]");
263
+ if (ring && autoSolid) ring.setAttribute("stroke", autoSolid);
264
+ const center = group.querySelector("[data-dgmo-clock-center]");
265
+ if (center) center.setAttribute("fill", handColor);
266
+ const secondHand = group.querySelector('[data-dgmo-clock-hand="s"]');
267
+ if (secondHand) secondHand.setAttribute("stroke", handColor);
268
+ }
258
269
  setPart(group, '[data-dgmo-clock-digital-part="main"]', ts.main);
259
270
  setPart(group, '[data-dgmo-clock-digital-part="sec"]', `:${ts.sec}`);
260
271
  setPart(group, '[data-dgmo-clock-digital-part="ap"]', ts.ap);
@@ -267,20 +278,11 @@ function updateRow(group, now) {
267
278
  if (statusEl.textContent !== status.text)
268
279
  statusEl.textContent = status.text;
269
280
  statusEl.setAttribute("fill", col);
270
- const dot = group.querySelector("[data-dgmo-clock-status-dot]");
271
- if (dot) {
272
- if (status.cls === "off") {
273
- dot.setAttribute("fill", "none");
274
- dot.setAttribute("stroke", col);
275
- dot.setAttribute("stroke-width", "1.4");
276
- } else {
277
- dot.setAttribute("fill", col);
278
- dot.setAttribute("stroke", "none");
279
- }
280
- }
281
+ const icon = group.querySelector("[data-dgmo-clock-status-icon]");
282
+ if (icon) icon.setAttribute("fill", col);
281
283
  }
282
284
  const lane = group.querySelector("[data-dgmo-clock-lane]");
283
- if (lane && mode) {
285
+ if (lane && mode && !fillMode) {
284
286
  let laneFill = null;
285
287
  if (mode === "daylight") laneFill = stTint;
286
288
  else if (mode === "time" && cardFill)
package/dist/countdown.js CHANGED
@@ -505,9 +505,10 @@ function updateNode(node, now) {
505
505
  });
506
506
  text = remaining < 0 ? `${clock} ago` : clock;
507
507
  } else if (expiredNow) {
508
- if (units === "compound" || units === "human")
509
- text = `${formatCompound(resolvedMs, now, 2, tz)} ago`;
510
- else {
508
+ if (units === "compound" || units === "human") {
509
+ const [a, b] = hasTime ? [resolvedMs, now] : [dayStart(resolvedMs, tz), dayStart(now, tz)];
510
+ text = `${formatCompound(a, b, 2, tz)} ago`;
511
+ } else {
511
512
  const elapsed = -remaining;
512
513
  text = elapsed <= 0 ? "Now!" : `${formatCount(elapsed, { units, round, fields })} ago`;
513
514
  }
@@ -0,0 +1,86 @@
1
+ import {
2
+ CHART_TYPE_DESCRIPTIONS,
3
+ chartTypeParsers,
4
+ getAllChartTypes,
5
+ getRenderCategory,
6
+ isExtendedChartType,
7
+ knownChartTypeIds,
8
+ looksLikeC4,
9
+ looksLikeGantt,
10
+ parseDgmo,
11
+ parseDgmoChartType
12
+ } from "./chunk-SQCBSFT5.js";
13
+ import "./chunk-Q7AH665U.js";
14
+ import "./chunk-4K42RUGC.js";
15
+ import "./chunk-KUSAVOWZ.js";
16
+ import "./chunk-NR5HCAUD.js";
17
+ import "./chunk-6HTRCTAS.js";
18
+ import "./chunk-DWUMPMV2.js";
19
+ import "./chunk-OQKP2X3D.js";
20
+ import "./chunk-FLDC7ZAK.js";
21
+ import "./chunk-APKUAJ2L.js";
22
+ import "./chunk-RW5PEJ7D.js";
23
+ import "./chunk-ALYZ3MAA.js";
24
+ import "./chunk-FFXCKZOU.js";
25
+ import "./chunk-BDXC7MDK.js";
26
+ import "./chunk-MA3HJZHB.js";
27
+ import "./chunk-QQJUTGQH.js";
28
+ import "./chunk-3CZLWOCI.js";
29
+ import "./chunk-GABSL6TH.js";
30
+ import "./chunk-CK2GMDXD.js";
31
+ import "./chunk-HNBY6CNV.js";
32
+ import "./chunk-VJHBSPGF.js";
33
+ import "./chunk-JHOAH4TI.js";
34
+ import "./chunk-PV2QO7QL.js";
35
+ import "./chunk-FUKNRLIJ.js";
36
+ import "./chunk-PKNNHU7H.js";
37
+ import "./chunk-NNUMX6WX.js";
38
+ import "./chunk-2QC4HXCY.js";
39
+ import "./chunk-27STWBOK.js";
40
+ import "./chunk-6DCOIN4W.js";
41
+ import "./chunk-VKNCC2GX.js";
42
+ import "./chunk-VAO6ANGC.js";
43
+ import "./chunk-RT7ACF77.js";
44
+ import "./chunk-I64ECJX3.js";
45
+ import "./chunk-AN2DQB3G.js";
46
+ import "./chunk-VRRDUYOK.js";
47
+ import "./chunk-BR7AYN76.js";
48
+ import "./chunk-SGPFVDUL.js";
49
+ import "./chunk-XEAQDIMF.js";
50
+ import "./chunk-IYULMRBE.js";
51
+ import "./chunk-P3H7QVDH.js";
52
+ import "./chunk-3TYUXC7D.js";
53
+ import "./chunk-EQW6HOP4.js";
54
+ import "./chunk-UK6DKJLD.js";
55
+ import "./chunk-6AUZPPAV.js";
56
+ import "./chunk-DAOFNU6J.js";
57
+ import "./chunk-FXCB7H5O.js";
58
+ import "./chunk-R3XI2VC7.js";
59
+ import "./chunk-JYDMBWRP.js";
60
+ import "./chunk-22OQWBWD.js";
61
+ import "./chunk-C3Z4DX3V.js";
62
+ import "./chunk-CMVZWP32.js";
63
+ import "./chunk-JTMSWEIW.js";
64
+ import "./chunk-I46X5VUA.js";
65
+ import "./chunk-NXMESY4J.js";
66
+ import "./chunk-ZXUAPTCK.js";
67
+ import "./chunk-QZAW5SFH.js";
68
+ import "./chunk-WF64MW5G.js";
69
+ import "./chunk-NOTA6TEI.js";
70
+ import "./chunk-YJVA3QUU.js";
71
+ import "./chunk-ZKPPI6BF.js";
72
+ import "./chunk-4W2PE66Q.js";
73
+ import "./chunk-5WRI5ZAA.js";
74
+ export {
75
+ CHART_TYPE_DESCRIPTIONS,
76
+ chartTypeParsers,
77
+ getAllChartTypes,
78
+ getRenderCategory,
79
+ isExtendedChartType,
80
+ knownChartTypeIds,
81
+ looksLikeC4,
82
+ looksLikeGantt,
83
+ parseDgmo,
84
+ parseDgmoChartType
85
+ };
86
+ //# sourceMappingURL=dgmo-router-B4S23EBH.js.map
@@ -0,0 +1,22 @@
1
+ import {
2
+ mapContentAspect,
3
+ mapExportDimensions
4
+ } from "./chunk-BFDVEO5R.js";
5
+ import "./chunk-UFQJMOVZ.js";
6
+ import "./chunk-4QV26TEG.js";
7
+ import "./chunk-VHO3YBTB.js";
8
+ import "./chunk-774C2FF3.js";
9
+ import "./chunk-A4GOY3PE.js";
10
+ import "./chunk-JYDMBWRP.js";
11
+ import "./chunk-4RGZFA7H.js";
12
+ import "./chunk-4ASYQ347.js";
13
+ import "./chunk-CMVZWP32.js";
14
+ import "./chunk-YJVA3QUU.js";
15
+ import "./chunk-ZKPPI6BF.js";
16
+ import "./chunk-4W2PE66Q.js";
17
+ import "./chunk-5WRI5ZAA.js";
18
+ export {
19
+ mapContentAspect,
20
+ mapExportDimensions
21
+ };
22
+ //# sourceMappingURL=dimensions-K6PGYYGT.js.map
package/dist/editor.js CHANGED
@@ -78,7 +78,9 @@ var DIRECTIVES_REGISTRY = [
78
78
  { token: "sprint-length", category: "directive", gantt: ["option"] },
79
79
  { token: "sprint-number", category: "directive", gantt: ["option"] },
80
80
  { token: "sprint-start", category: "directive", gantt: ["option"] },
81
- { token: "solid-fill", category: "directive", gantt: ["boolean"] },
81
+ { token: "fill-tint", category: "directive", gantt: ["boolean"] },
82
+ { token: "fill-solid", category: "directive", gantt: ["boolean"] },
83
+ { token: "fill-outline", category: "directive", gantt: ["boolean"] },
82
84
  // `chart` is a wireframe element keyword (CONTROL); gantt also accepts it as
83
85
  // an option. Highlight family is control.
84
86
  { token: "chart", category: "control", gantt: ["option"] },
@@ -96,7 +98,6 @@ var DIRECTIVES_REGISTRY = [
96
98
  { token: "flow-width", category: "directive", map: true },
97
99
  { token: "locale", category: "directive", map: true },
98
100
  { token: "caption", category: "directive", map: true },
99
- { token: "no-legend", category: "directive", map: true },
100
101
  { token: "no-coastline", category: "directive", map: true },
101
102
  { token: "no-relief", category: "directive", map: true },
102
103
  { token: "no-context-labels", category: "directive", map: true },
@@ -114,6 +115,9 @@ var DIRECTIVES_REGISTRY = [
114
115
  { token: "days", category: "directive", map: true },
115
116
  // ── Shared across types ──────────────────────────────────
116
117
  // `active-tag`: infra top-level option + gantt option + map directive.
118
+ // Treemap also accepts it (§24C.6, decision #48) — validated inline in its
119
+ // parser, so no chart-scoped Set is derived for it; highlighting comes from
120
+ // the global directive category here.
117
121
  {
118
122
  token: "active-tag",
119
123
  category: "directive",
@@ -121,7 +125,9 @@ var DIRECTIVES_REGISTRY = [
121
125
  gantt: ["option"],
122
126
  map: true
123
127
  },
124
- // `title`: gantt option (also a general data-chart directive, hand-listed).
128
+ // `title`: gantt option. (The data-chart `title` directive was removed in
129
+ // decision #48 — it now raises E_TITLE_DIRECTIVE; the token stays here for
130
+ // gantt.)
125
131
  { token: "title", category: "directive", gantt: ["option"] },
126
132
  // `sort`: gantt option (also general, hand-listed).
127
133
  { token: "sort", category: "directive", gantt: ["option"] },
@@ -130,6 +136,11 @@ var DIRECTIVES_REGISTRY = [
130
136
  { token: "lane-by", category: "directive", gantt: ["option"] },
131
137
  // `no-title`: gantt boolean + map directive (also general, hand-listed).
132
138
  { token: "no-title", category: "directive", gantt: ["boolean"], map: true },
139
+ // `no-legend`: universal (decision #48) — every chart that renders a legend
140
+ // accepts it, and charts without one take it as a harmless no-op. Parsed for
141
+ // most types via GLOBAL_BOOLEANS in utils/parsing; gantt derives its boolean
142
+ // Set from here, and map from `map: true`.
143
+ { token: "no-legend", category: "directive", gantt: ["boolean"], map: true },
133
144
  // ══════════════════════════════════════════════════════════
134
145
  // Highlight-only vocab (no extractable parser Set).
135
146
  // ══════════════════════════════════════════════════════════
@@ -141,10 +152,15 @@ var DIRECTIVES_REGISTRY = [
141
152
  { token: "era", category: "directive" },
142
153
  { token: "marker", category: "directive" },
143
154
  { token: "holiday", category: "directive" },
144
- { token: "workweek", category: "directive" },
155
+ // `workweek` is also the canonical weekday-window directive on clock and map
156
+ // clock-cards (decision #48; `days` stays as the legacy alias).
157
+ { token: "workweek", category: "directive", map: true },
145
158
  { token: "no-dependencies", category: "directive" },
146
159
  // ── Tech-radar ───────────────────────────────────────────
147
160
  { token: "rings", category: "directive" },
161
+ // Blip listing is default-on everywhere (decision #48): `no-blip-legend`
162
+ // suppresses it; `show-blip-legend` stays as the parse-accepted legacy no-op.
163
+ { token: "no-blip-legend", category: "directive" },
148
164
  { token: "show-blip-legend", category: "directive" },
149
165
  { token: "trend", category: "directive" },
150
166
  // ── Tags / shared directives ─────────────────────────────
@@ -170,7 +186,13 @@ var DIRECTIVES_REGISTRY = [
170
186
  // ATTRIBUTE_KEYS colon-gate from reclassifying `heat:` as a propertyName. So
171
187
  // `heat` lives only in the reserved-key registry + ATTRIBUTE_KEYS and highlights
172
188
  // as a property in both positions — exactly the treemap `heat` precedent.
189
+ // Box values render by default since decision #48; `show-values` stays as
190
+ // the parse-accepted legacy no-op (suppress with the shared `no-value`).
173
191
  { token: "show-values", category: "directive" },
192
+ // Treemap's legacy plural spelling of the same suppression (decision #48
193
+ // made the shared singular `no-value` canonical). Registered so a legacy
194
+ // document still highlights it as a directive rather than plain text.
195
+ { token: "no-values", category: "directive" },
174
196
  // ── Swimlane ─────────────────────────────────────────────
175
197
  { token: "lane", category: "directive" },
176
198
  // ── ER ───────────────────────────────────────────────────
@@ -253,7 +275,9 @@ var DIRECTIVES_REGISTRY = [
253
275
  { token: "trials", category: "directive" },
254
276
  { token: "seed", category: "directive" },
255
277
  { token: "scrubber-trials", category: "directive" },
256
- { token: "start-date", category: "directive" },
278
+ // `start-date` is also gantt's canonical project-start option (decision #48;
279
+ // bare `start` above stays as the legacy alias).
280
+ { token: "start-date", category: "directive", gantt: ["option"] },
257
281
  { token: "end-date", category: "directive" },
258
282
  // ── Goal ─────────────────────────────────────────────────
259
283
  // Mode flags, value-key leaders, and opt-outs. `now`/`target` collide with
@@ -291,6 +315,12 @@ var DIRECTIVES_REGISTRY = [
291
315
  { token: "backlog", category: "status" },
292
316
  { token: "ready", category: "status" },
293
317
  // ── Modifiers + ER column types/modifiers (MODIFIER) ─────
318
+ // `collapsed` is the bare trailing group-line flag made canonical by
319
+ // decision #48 (`[Fulfillment] collapsed`). It is deliberately a bare
320
+ // MODIFIER rather than a colon key: the legacy `collapsed: true` form still
321
+ // parses and still highlights (as `modifier` instead of `propertyName`),
322
+ // whereas leaving it colon-only left the canonical bare form as plain text.
323
+ { token: "collapsed", category: "modifier" },
294
324
  { token: "as", category: "modifier" },
295
325
  { token: "alias", category: "modifier" },
296
326
  { token: "aka", category: "modifier" },
@@ -485,7 +515,7 @@ var parser = LRParser.deserialize({
485
515
  maxTerm: 40,
486
516
  skippedNodes: [0],
487
517
  repeatNodeCount: 2,
488
- tokenData: "={~RzOX#uXY#zYZ$VZp#upq#zqr#urs$[st#uux#uxy%eyz%lz{%s{|%z|}&R}!O&Y!O!P#u!P!Q&i!Q!['Y![!]1Q!]!^#u!^!_1X!_!`1`!`!a1m!a!b1t!b!c#u!c!}1{!}#O5R#O#P#u#P#Q5W#Q#R#u#R#S1{#S#T#u#T#[1{#[#]5_#]#o1{#o#p#u#p#q=_#q#r#u#r#s=f#s;'S#u;'S;=`=u<%lO#u~#zOq~~$PQv~XY#zpq#z~$[Ow~~$aUq~OY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~$vUOY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~%_Oo~~%bP;=`<%l$s~%lOc~q~~%sOd~q~~%zOm~q~~&ROj~q~~&YOi~q~~&aPk~q~!`!a&d~&iOX~~&nPq~!P!Q&q~&vSV~OY&qZ;'S&q;'S;=`'S<%lO&q~'VP;=`<%l&q~'a^^~q~uv(]|}(b!O!P)_!P!Q+O!Q![,Y#R#S0l#U#V*Y#W#X*`#[#]*`#a#b*m#e#f*`#g#h*`#k#l*`#m#n*`~(bO]~~(eP!Q![(h~(kP!Q![(n~(qP!Q![(t~(yQ^~|}(b!O!P)P~)SP!Q![)V~)[P^~!Q![)V~)bP!Q![)e~)jY^~uv(]!Q![)e#U#V*Y#W#X*`#[#]*`#a#b*m#e#f*`#g#h*`#k#l*`#m#n*`~*]P#W#X*`~*ePZ~!a!b*h~*mOZ~~*rQZ~!a!b*h#]#^*x~*{P#b#c*`~+RP!Q![+U~+ZQ[~!P!Q+a!Q![,Q~+dP!Q![+g~+jP!Q![+m~+rP[~!Q![+u~+xP!Q![+{~,QO[~~,VP[~!P!Q+a~,_^^~uv(]|}(b!O!P)_!P!Q+O!Q![-Z#R#S0l#U#V*Y#W#X*`#[#]*`#a#b*m#e#f*`#g#h*`#k#l*`#m#n*`~-`]^~uv(]|}(b!O!P)_!Q![.X#R#S0l#U#V*Y#W#X*`#[#]*`#a#b*m#e#f*`#g#h*`#k#l*`#m#n*`~.^]^~uv(]}!O/V!O!P)_!Q![/q#R#S0l#U#V*Y#W#X*`#[#]*`#a#b*m#e#f*`#g#h*`#k#l*`#m#n*`~/YP!Q![/]~/`P!Q![/c~/hP[~}!O/k~/nP!Q![+u~/v[^~uv(]!O!P)_!Q![/q#R#S0l#U#V*Y#W#X*`#[#]*`#a#b*m#e#f*`#g#h*`#k#l*`#m#n*`~0oP!Q![0r~0wR^~!O!P)P!Q![0r#R#S0l~1XOh~q~~1`Oe~q~~1ePq~!_!`1h~1mO_~~1tOf~q~~1{On~q~~2S_p~q~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#o3R~3W_p~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#o3R~4Y]qr3Rst3Rvw3Rwx3R{|3R!O!P3R!P!Q3R!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#o3R~5WOa~~5_Ob~q~~5fap~q~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#h3R#h#i6k#i#o3R~6pap~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#h3R#h#i7u#i#o3R~7zap~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#d3R#d#e9P#e#o3R~9Ubp~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R![!]:^!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#g3R#g#h<W#h#o3R~:aP!P!Q:d~:gP!P!Q:j~:mYOX;]Zp;]qy;]z|;]}!`;]!a#P;]#Q#p;]#q;'S;];'S;=`<Q<%lO;]~;bY`~OX;]Zp;]qy;]z|;]}!`;]!a#P;]#Q#p;]#q;'S;];'S;=`<Q<%lO;]~<TP;=`<%l;]~<]`p~qr3Rst3Rvw3Rwx3R{|3R}!O4V!O!P3R!P!Q3R!Q![3R![!]:^!_!`3R!a!b3R!b!c3R!c!}3R#R#S3R#T#o3R~=fOg~q~~=mPl~q~!`!a=p~=uOY~~=xP;=`<%l#u",
518
+ tokenData: ">w~RzOX#uXY#zYZ$VZp#upq#zqr#urs$[st#uux#uxy%eyz%lz{%s{|%z|}&R}!O&Y!O!P#u!P!Q&i!Q!['Y![!]1|!]!^#u!^!_2T!_!`2[!`!a2i!a!b2p!b!c#u!c!}2w!}#O5}#O#P#u#P#Q6S#Q#R#u#R#S2w#S#T#u#T#[2w#[#]6Z#]#o2w#o#p#u#p#q>Z#q#r#u#r#s>b#s;'S#u;'S;=`>q<%lO#u~#zOq~~$PQv~XY#zpq#z~$[Ow~~$aUq~OY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~$vUOY$sZr$srs%Ys;'S$s;'S;=`%_<%lO$s~%_Oo~~%bP;=`<%l$s~%lOc~q~~%sOd~q~~%zOm~q~~&ROj~q~~&YOi~q~~&aPk~q~!`!a&d~&iOX~~&nPq~!P!Q&q~&vSV~OY&qZ;'S&q;'S;=`'S<%lO&q~'VP;=`<%l&q~'a_^~q~uv(`|}(e}!O)b!O!P*l!P!Q,h!Q![-R#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~(eO]~~(hP!Q![(k~(nP!Q![(q~(tP!Q![(w~(|Q^~|}(e!O!P)S~)VP!Q![)Y~)_P^~!Q![)Y~)eP!Q![)h~)mQ[~}!O)s!Q![*d~)vP!Q![)y~)|P!Q![*P~*UP[~!Q![*X~*[P!Q![*_~*dO[~~*iP[~}!O)s~*oP!Q![*r~*wY^~uv(`!Q![*r#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~+jP#W#X+m~+rPZ~!a!b+u~+zOZ~~,PQZ~!a!b+u#]#^,V~,YP#b#c+m~,bQZ~!a!b+u#d#e+m~,kP!Q![,n~,sQ[~!P!Q)s!Q![,y~-OP[~!P!Q)s~-W_^~uv(`|}(e}!O)b!O!P*l!P!Q,h!Q![.V#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~.[]^~uv(`|}(e!O!P*l!Q![/T#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~/Y]^~uv(`}!O0R!O!P*l!Q![0m#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~0UP!Q![0X~0[P!Q![0_~0dP[~}!O0g~0jP!Q![*X~0r[^~uv(`!O!P*l!Q![0m#R#S1h#U#V+g#W#X+m#[#]+m#a#b+z#e#f+m#g#h,]#k#l+m#m#n+m~1kP!Q![1n~1sR^~!O!P)S!Q![1n#R#S1h~2TOh~q~~2[Oe~q~~2aPq~!_!`2d~2iO_~~2pOf~q~~2wOn~q~~3O_p~q~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~4S_p~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~5U]qr3}st3}vw3}wx3}{|3}!O!P3}!P!Q3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~6SOa~~6ZOb~q~~6bap~q~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#h3}#h#i7g#i#o3}~7lap~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#h3}#h#i8q#i#o3}~8vap~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#d3}#d#e9{#e#o3}~:Qbp~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}![!];Y!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#g3}#g#h=S#h#o3}~;]P!P!Q;`~;cP!P!Q;f~;iYOX<XZp<Xqy<Xz|<X}!`<X!a#P<X#Q#p<X#q;'S<X;'S;=`<|<%lO<X~<^Y`~OX<XZp<Xqy<Xz|<X}!`<X!a#P<X#Q#p<X#q;'S<X;'S;=`<|<%lO<X~=PP;=`<%l<X~=X`p~qr3}st3}vw3}wx3}{|3}}!O5R!O!P3}!P!Q3}!Q![3}![!];Y!_!`3}!a!b3}!b!c3}!c!}3}#R#S3}#T#o3}~>bOg~q~~>iPl~q~!`!a>l~>qOY~~>tP;=`<%l#u",
489
519
  tokenizers: [0],
490
520
  topRules: { "Document": [0, 6] },
491
521
  specialized: [{ term: 32, get: (value, stack) => specializeKeyword(value, stack) << 1, external: specializeKeyword }],