agentic-mermaid 0.5.3 → 0.5.4

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 (135) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/agent-core.d.ts +7 -7
  3. package/dist/agent-core.js +1 -1
  4. package/dist/agent.d.ts +7 -7
  5. package/dist/agent.js +1 -1
  6. package/dist/agentic-mermaid-mcp.js +1 -1
  7. package/dist/am.js +1 -1
  8. package/dist/browser-lazy/chunks/{agentic-producer-core-CC6OOLDW.js → agentic-producer-core-ECZ3CMZM.js} +1 -1
  9. package/dist/browser-lazy/chunks/{architecture-QUFVKYJR.js → architecture-H5LTMKQW.js} +6 -6
  10. package/dist/browser-lazy/chunks/{block-6J3Q63BO.js → block-566X6FNV.js} +5 -5
  11. package/dist/browser-lazy/chunks/{builtin-backends-7SOZZHPF.js → builtin-backends-VAFEZXKY.js} +6 -6
  12. package/dist/browser-lazy/chunks/{c4-SQVBZAKJ.js → c4-ZXFDLBFK.js} +5 -5
  13. package/dist/browser-lazy/chunks/{chunk-5X6MJX3H.js → chunk-2JQXRKBC.js} +1 -1
  14. package/dist/browser-lazy/chunks/{chunk-E2WMJZNM.js → chunk-37FZNMPR.js} +1 -1
  15. package/dist/browser-lazy/chunks/{chunk-TYZOZXUJ.js → chunk-3JTYTXA6.js} +6 -6
  16. package/dist/browser-lazy/chunks/{chunk-PQGPS2YV.js → chunk-4NILRBC7.js} +1 -1
  17. package/dist/browser-lazy/chunks/{chunk-AMJLVPUB.js → chunk-5LKPDHPC.js} +2 -2
  18. package/dist/browser-lazy/chunks/{chunk-BY2CPG6B.js → chunk-62MR3LWJ.js} +1 -1
  19. package/dist/browser-lazy/chunks/{chunk-J7FFAFQF.js → chunk-64JFHCJC.js} +1 -1
  20. package/dist/browser-lazy/chunks/chunk-6GPDLZFQ.js +1 -0
  21. package/dist/browser-lazy/chunks/{chunk-VWVZGQE2.js → chunk-6UOOATQR.js} +1 -1
  22. package/dist/browser-lazy/chunks/chunk-7TTFBJYA.js +1 -0
  23. package/dist/browser-lazy/chunks/chunk-7UFOFWBA.js +20 -0
  24. package/dist/browser-lazy/chunks/{chunk-5B2Z7575.js → chunk-A7V5VDKN.js} +1 -1
  25. package/dist/browser-lazy/chunks/chunk-CPO5P4L2.js +1 -0
  26. package/dist/browser-lazy/chunks/chunk-EIYLJ4FI.js +20 -0
  27. package/dist/browser-lazy/chunks/{chunk-X2UYKWKM.js → chunk-G4JBA7HU.js} +3 -3
  28. package/dist/browser-lazy/chunks/{chunk-2UIA2IME.js → chunk-IUI4DYC3.js} +1 -1
  29. package/dist/browser-lazy/chunks/{chunk-QA6GJQ4X.js → chunk-J57YRC2M.js} +1 -1
  30. package/dist/browser-lazy/chunks/{chunk-BU5LHXNJ.js → chunk-LBXXKLIR.js} +3 -3
  31. package/dist/browser-lazy/chunks/chunk-NKW2ZNCD.js +1 -0
  32. package/dist/browser-lazy/chunks/{chunk-ICC7HBJX.js → chunk-O34YYEQV.js} +1 -1
  33. package/dist/browser-lazy/chunks/{chunk-UL6NDWLL.js → chunk-OBI5U5XU.js} +1 -1
  34. package/dist/browser-lazy/chunks/{chunk-YCEICNM6.js → chunk-OFOS57WQ.js} +1 -1
  35. package/dist/browser-lazy/chunks/{chunk-OZ443IVJ.js → chunk-PSZEE64O.js} +7 -7
  36. package/dist/browser-lazy/chunks/{chunk-SZELX2EJ.js → chunk-PXTLV57R.js} +1 -1
  37. package/dist/browser-lazy/chunks/{chunk-HLWUNUCM.js → chunk-QVSZOF5M.js} +1 -1
  38. package/dist/browser-lazy/chunks/{chunk-2GPK4VFF.js → chunk-TT5GR5EJ.js} +1 -1
  39. package/dist/browser-lazy/chunks/{chunk-DF6765YX.js → chunk-V6I2VGNQ.js} +5 -5
  40. package/dist/browser-lazy/chunks/{chunk-CN7WTBWB.js → chunk-VRZKI33U.js} +1 -1
  41. package/dist/browser-lazy/chunks/{chunk-2SH76OTH.js → chunk-XHU3A432.js} +1 -1
  42. package/dist/browser-lazy/chunks/{chunk-NO7ZIVRU.js → chunk-YVNJDVQO.js} +1 -1
  43. package/dist/browser-lazy/chunks/chunk-Z7UHFVKN.js +6 -0
  44. package/dist/browser-lazy/chunks/{class-5QA4SCTS.js → class-XIFNVBFE.js} +8 -8
  45. package/dist/{zenuml/chunks/decode-BWERFDGK.js → browser-lazy/chunks/decode-5MFOG3AZ.js} +1 -1
  46. package/dist/browser-lazy/chunks/{elk.bundled-L4CADV5W.js → elk.bundled-RYWHIS5N.js} +8 -8
  47. package/dist/browser-lazy/chunks/er-VEUYJBGG.js +11 -0
  48. package/dist/browser-lazy/chunks/{eventmodeling-2BPLHWRN.js → eventmodeling-G7DITZX7.js} +10 -10
  49. package/dist/browser-lazy/chunks/{flowchart-NEIMZTB5.js → flowchart-SSFIU4EU.js} +1 -1
  50. package/dist/browser-lazy/chunks/{forest-implementation-AEP24AIP.js → forest-implementation-RWFF7XDV.js} +1 -1
  51. package/dist/browser-lazy/chunks/{gantt-RDPIFYAF.js → gantt-HQNVDX2B.js} +6 -6
  52. package/dist/browser-lazy/chunks/{gitgraph-N4Y5RYB7.js → gitgraph-Z5MN6M6L.js} +4 -4
  53. package/dist/browser-lazy/chunks/{ishikawa-LD3YBDJN.js → ishikawa-UEERNFQV.js} +2 -2
  54. package/dist/browser-lazy/chunks/{journey-6YQR5DJX.js → journey-3BEWWGB5.js} +6 -6
  55. package/dist/browser-lazy/chunks/{kanban-PLMJ7NBW.js → kanban-2WFNCWLB.js} +10 -10
  56. package/dist/browser-lazy/chunks/{mermaid-yaml-runtime-QVYX4EWK.js → mermaid-yaml-runtime-IK4ET4BT.js} +8 -8
  57. package/dist/browser-lazy/chunks/{mindmap-K2UBFO3Y.js → mindmap-R2C6SNYR.js} +4 -4
  58. package/dist/browser-lazy/chunks/{packet-CUW4QY6Y.js → packet-GMVCI5YZ.js} +3 -3
  59. package/dist/browser-lazy/chunks/{pie-7F7UUCG3.js → pie-WER45DKC.js} +7 -7
  60. package/dist/browser-lazy/chunks/{quadrant-TOONO2WC.js → quadrant-NCUPSFKN.js} +4 -4
  61. package/dist/browser-lazy/chunks/{radar-J6JVWVAX.js → radar-WLYS4YC5.js} +8 -8
  62. package/dist/browser-lazy/chunks/render-core-42UVWIPF.js +3 -0
  63. package/dist/browser-lazy/chunks/{requirement-CMAKDJPO.js → requirement-AK3NWMJ6.js} +7 -7
  64. package/dist/browser-lazy/chunks/{sankey-AWXQEP3F.js → sankey-C2DY6WVU.js} +4 -4
  65. package/dist/browser-lazy/chunks/{sequence-Q2RJRB4L.js → sequence-D4WJB44W.js} +1 -1
  66. package/dist/browser-lazy/chunks/{state-WRBFQEDX.js → state-YUQVESE7.js} +2 -2
  67. package/dist/browser-lazy/chunks/{timeline-D2KILFXM.js → timeline-BMBJJXWR.js} +4 -4
  68. package/dist/browser-lazy/chunks/{treemap-N3VYX5D4.js → treemap-B66XBZZ6.js} +3 -3
  69. package/dist/browser-lazy/chunks/{xychart-G73OGK66.js → xychart-HAVFROGT.js} +6 -6
  70. package/dist/browser-lazy/chunks/{zenuml-H4BXNYXR.js → zenuml-62RLYFWP.js} +7 -7
  71. package/dist/browser-lazy/index.js +1 -1
  72. package/dist/browser.global.js +507 -507
  73. package/dist/{chunk-DQDKA5ND.js → chunk-2DNGDTJD.js} +2 -2
  74. package/dist/{chunk-GVCHLSHH.js → chunk-4F2UGYTM.js} +2 -2
  75. package/dist/{chunk-H3NCS2XZ.js → chunk-7XYB2LNC.js} +2 -2
  76. package/dist/chunk-DOFB572I.js +58 -0
  77. package/dist/chunk-EHJI3QYE.js +52 -0
  78. package/dist/{chunk-UA234O4M.js → chunk-HINRNKPO.js} +2 -2
  79. package/dist/{chunk-JZOJ4YGS.js → chunk-KXMANAST.js} +33 -33
  80. package/dist/{chunk-7CRDX2QR.js → chunk-U4MT3RRE.js} +2 -2
  81. package/dist/{chunk-NKNFOREZ.js → chunk-WYIB6BUR.js} +2 -2
  82. package/dist/{cli-YGGTJZH7.js → cli-ZYIDBYNS.js} +2 -2
  83. package/dist/{index-EeXqJXr5.d.ts → index-Bvhprdxz.d.ts} +3 -3
  84. package/dist/index.d.ts +4 -4
  85. package/dist/index.js +1 -1
  86. package/dist/{mcp-cli-63DYXTVD.js → mcp-cli-YVDCORWA.js} +2 -2
  87. package/dist/{paint-certification-6rwQjIv_.d.ts → paint-certification-BoLyr006.d.ts} +2 -2
  88. package/dist/{server-5NEOHOFS.js → server-4JGAVXR3.js} +2 -2
  89. package/dist/{svg-styles-BdnoM7AT.d.ts → svg-styles-BnCoXyYe.d.ts} +1 -1
  90. package/dist/svg-styles.d.ts +1 -1
  91. package/dist/svg-styles.js +1 -1
  92. package/dist/svg.d.ts +4 -4
  93. package/dist/svg.js +1 -1
  94. package/dist/{types-BcS52Mjt.d.ts → types-CLVJCaH2.d.ts} +1 -1
  95. package/dist/zenuml/chunks/{appearance-UOQ5KA6O.js → appearance-5RM5MVM2.js} +1 -1
  96. package/dist/zenuml/chunks/{builtin-backends-KDKE7YHO.js → builtin-backends-UTNWL4N3.js} +11 -11
  97. package/dist/zenuml/chunks/{chunk-QWX77U7G.js → chunk-3A6S6GNB.js} +2 -2
  98. package/dist/zenuml/chunks/{chunk-OXQWRSBM.js → chunk-55WS466K.js} +11 -11
  99. package/dist/zenuml/chunks/chunk-6J4BGPB2.js +29 -0
  100. package/dist/zenuml/chunks/chunk-CNLL4BGF.js +1 -0
  101. package/dist/zenuml/chunks/{chunk-RZ6XK5CD.js → chunk-IARQ24W3.js} +13 -13
  102. package/dist/zenuml/chunks/{chunk-42DXZ5C6.js → chunk-ZNZRIISS.js} +2 -2
  103. package/dist/{browser-lazy/chunks/decode-63UIZGD2.js → zenuml/chunks/decode-LDNNXEAO.js} +1 -1
  104. package/dist/zenuml/chunks/{mermaid-yaml-runtime-KZVU74WU.js → mermaid-yaml-runtime-A5CNJ3IE.js} +8 -8
  105. package/dist/zenuml/chunks/render-core-ECIWU5ZS.js +3 -0
  106. package/dist/zenuml/chunks/{zenuml-EA2ZFRUX.js → zenuml-N3LZMB2G.js} +8 -8
  107. package/dist/zenuml.d.ts +2 -2
  108. package/dist/zenuml.js +1 -1
  109. package/docs/MCP-DIRECTORY-LISTINGS.md +81 -12
  110. package/docs/api.md +1 -1
  111. package/package.json +1 -1
  112. package/server.json +2 -2
  113. package/dist/browser-lazy/chunks/chunk-4LHYF3BS.js +0 -1
  114. package/dist/browser-lazy/chunks/chunk-FAIMVOX5.js +0 -6
  115. package/dist/browser-lazy/chunks/chunk-GVOEAY52.js +0 -1
  116. package/dist/browser-lazy/chunks/chunk-J35HAQQF.js +0 -20
  117. package/dist/browser-lazy/chunks/chunk-RIVTHZAQ.js +0 -1
  118. package/dist/browser-lazy/chunks/chunk-Z3FDIVLN.js +0 -20
  119. package/dist/browser-lazy/chunks/er-7ZSKGN7Y.js +0 -11
  120. package/dist/browser-lazy/chunks/render-core-BZOM3K7D.js +0 -3
  121. package/dist/chunk-EHCMJUMD.js +0 -52
  122. package/dist/chunk-OMY6NRQD.js +0 -58
  123. package/dist/zenuml/chunks/chunk-7TVYPTDW.js +0 -1
  124. package/dist/zenuml/chunks/chunk-RLJEI7YN.js +0 -29
  125. package/dist/zenuml/chunks/render-core-V5RQ737O.js +0 -3
  126. /package/dist/browser-lazy/chunks/{chunk-5FQ534HP.js → chunk-BMZ24VPS.js} +0 -0
  127. /package/dist/browser-lazy/chunks/{chunk-2I4UPL7Q.js → chunk-D6MQ7QSU.js} +0 -0
  128. /package/dist/browser-lazy/chunks/{chunk-CQE4HQEW.js → chunk-HJVO5VC3.js} +0 -0
  129. /package/dist/browser-lazy/chunks/{chunk-LH7HUDKW.js → chunk-L4UC3KGS.js} +0 -0
  130. /package/dist/browser-lazy/chunks/{chunk-NMQQMRIR.js → chunk-MFTQWHUB.js} +0 -0
  131. /package/dist/browser-lazy/chunks/{chunk-N5ELX7LR.js → chunk-PJJSDGLB.js} +0 -0
  132. /package/dist/browser-lazy/chunks/{chunk-CSFUKSU6.js → chunk-QCU5G5PZ.js} +0 -0
  133. /package/dist/browser-lazy/chunks/{chunk-VQYYGAXP.js → chunk-TLFX3U6S.js} +0 -0
  134. /package/dist/browser-lazy/chunks/{chunk-5UVGUSD6.js → chunk-YHMTSXIR.js} +0 -0
  135. /package/dist/zenuml/chunks/{chunk-EVPSMEKN.js → chunk-GC7IPQ5P.js} +0 -0
@@ -1,6 +1,6 @@
1
- import{h as e}from"./chunk-J7FFAFQF.js";import{a as t,b as i}from"./chunk-5B2Z7575.js";import{b as a}from"./chunk-2I4UPL7Q.js";import{e as o,f as r,l as n}from"./chunk-2SH76OTH.js";import{d as l}from"./chunk-AMJLVPUB.js";import"./chunk-DF6765YX.js";import"./chunk-J35HAQQF.js";import{a as d}from"./chunk-2UIA2IME.js";import{a as s,b as h,c as c,d as p}from"./chunk-CN7WTBWB.js";import{C as u,D as m,a as g,b as f,c as v,d as b,e as y,g as x,i as w}from"./chunk-HLWUNUCM.js";import{A as M,B as F,M as k,aa as z,c as S,ca as $,n as _,o as W,q as L,qa as j,y as I}from"./chunk-X2UYKWKM.js";import{m as C}from"./chunk-TYZOZXUJ.js";import{f as N,h as H,l as P,n as T,o as A}from"./chunk-NO7ZIVRU.js";import{N as E,Z as Y,ma as D,n as U,o as V,qa as B,sa as O,za as Z}from"./chunk-Z3FDIVLN.js";import{O as X}from"./chunk-N5ELX7LR.js";import"./chunk-5UVGUSD6.js";import"./chunk-CSFUKSU6.js";var Q,R,J,K=Object.freeze({id:"treemap",upstreamId:"treemap",maturity:"stable",label:"Treemap",headers:["treemap","treemap-beta"],aliases:[],config:{section:"treemap",keys:["useMaxWidth","padding","diagramPadding","showValues","nodeWidth","nodeHeight","borderWidth","valueFontSize","labelFontSize","valueFormat"],noopKeys:["useMaxWidth"]},identity:{id:"family:treemap",kind:"family",version:"1.0.0",compatibility:{core:"0.5.3"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["value","category"],semanticRoles:["prelude","title","chrome","node","group","bar","label"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"node",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`treemap
1
+ import{h as e}from"./chunk-64JFHCJC.js";import{a as t,b as i}from"./chunk-A7V5VDKN.js";import{b as a}from"./chunk-D6MQ7QSU.js";import{e as o,f as r,l as n}from"./chunk-XHU3A432.js";import{d as l}from"./chunk-5LKPDHPC.js";import"./chunk-V6I2VGNQ.js";import"./chunk-7UFOFWBA.js";import{a as d}from"./chunk-IUI4DYC3.js";import{a as s,b as h,c as c,d as p}from"./chunk-VRZKI33U.js";import{C as u,D as m,a as g,b as f,c as v,d as b,e as y,g as x,i as w}from"./chunk-QVSZOF5M.js";import{A as M,B as F,M as k,aa as z,c as S,ca as $,n as _,o as W,q as I,qa as j,y as C}from"./chunk-G4JBA7HU.js";import{m as L}from"./chunk-3JTYTXA6.js";import{f as H,h as N,l as P,n as A,o as D}from"./chunk-YVNJDVQO.js";import{Aa as V,N as Y,_ as T,n as E,na as O,o as B,ra as J,ta as Q}from"./chunk-EIYLJ4FI.js";import{O as U}from"./chunk-PJJSDGLB.js";import"./chunk-YHMTSXIR.js";import"./chunk-QCU5G5PZ.js";var X,Z,R,G=Object.freeze({id:"treemap",upstreamId:"treemap",maturity:"stable",label:"Treemap",headers:["treemap","treemap-beta"],aliases:[],config:{section:"treemap",keys:["useMaxWidth","padding","diagramPadding","showValues","nodeWidth","nodeHeight","borderWidth","valueFontSize","labelFontSize","valueFormat"],noopKeys:["useMaxWidth"]},identity:{id:"family:treemap",kind:"family",version:"1.0.0",compatibility:{core:"0.5.4"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["value","category"],semanticRoles:["prelude","title","chrome","node","group","bar","label"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"node",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"group",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`treemap
2
2
  "Product"
3
3
  "Engineering": 60
4
- "Design": 40`,detect:X,detectLoose:X});function q(e,t){if((i=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var i,a=e.slice(0,i);return[a.length>1?a[0]+a.slice(2):a,+e.slice(i+1)]}var G=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ee(e){var t;if(!(t=G.exec(e)))throw Error("invalid format: "+e);return new et({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function et(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function ei(e,t){var i=q(e,t);if(!i)return e+"";var a=i[0],o=i[1];return o<0?"0."+Array(-o).join("0")+a:a.length>o+1?a.slice(0,o+1)+"."+a.slice(o+1):a+Array(o-a.length+2).join("0")}ee.prototype=et.prototype,et.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var ea={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ei(100*e,t),r:ei,s:function(e,t){var i=q(e,t);if(!i)return e+"";var a=i[0],o=i[1],r=o-(Q=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,n=a.length;return r===n?a:r>n?a+Array(r-n+1).join("0"):r>0?a.slice(0,r)+"."+a.slice(r):"0."+Array(1-r).join("0")+q(e,Math.max(0,t+r-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function eo(e){return e}var er=Array.prototype.map,en=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function el(e={}){let t=(t,i,a=0)=>{let o=e[t];return void 0===o||"number"!=typeof o||!Number.isFinite(o)||o<a||o>1e4?i:o};return{width:10*t("nodeWidth",96,1),height:10*t("nodeHeight",50,1),padding:t("padding",10),diagramPadding:t("diagramPadding",16),showValues:!1!==e.showValues,labelFontSize:t("labelFontSize",14,1),valueFontSize:t("valueFontSize",12,1),borderWidth:t("borderWidth",1),valueFormat:"string"==typeof e.valueFormat?e.valueFormat:","}}J=(R=function(e){var t,i,a,o=void 0===e.grouping||void 0===e.thousands?eo:(t=er.call(e.grouping,Number),i=e.thousands+"",function(e,a){for(var o=e.length,r=[],n=0,l=t[0],d=0;o>0&&l>0&&(d+l+1>a&&(l=Math.max(1,a-d)),r.push(e.substring(o-=l,o+l)),!((d+=l+1)>a));)l=t[n=(n+1)%t.length];return r.reverse().join(i)}),r=void 0===e.currency?"":e.currency[0]+"",n=void 0===e.currency?"":e.currency[1]+"",l=void 0===e.decimal?".":e.decimal+"",d=void 0===e.numerals?eo:(a=er.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return a[+e]})}),s=void 0===e.percent?"%":e.percent+"",h=void 0===e.minus?"−":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function p(e){var t=(e=ee(e)).fill,i=e.align,a=e.sign,p=e.symbol,u=e.zero,m=e.width,g=e.comma,f=e.precision,v=e.trim,b=e.type;"n"===b?(g=!0,b="g"):ea[b]||(void 0===f&&(f=12),v=!0,b="g"),(u||"0"===t&&"="===i)&&(u=!0,t="0",i="=");var y="$"===p?r:"#"===p&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",x="$"===p?n:/[%p]/.test(b)?s:"",w=ea[b],M=/[defgprs%]/.test(b);function F(e){var r,n,s,p=y,F=x;if("c"===b)F=w(e)+F,e="";else{var k=(e*=1)<0||1/e<0;if(e=isNaN(e)?c:w(Math.abs(e),f),v&&(e=function(e){e:for(var t,i=e.length,a=1,o=-1;a<i;++a)switch(e[a]){case".":o=t=a;break;case"0":0===o&&(o=a),t=a;break;default:if(!+e[a])break e;o>0&&(o=0)}return o>0?e.slice(0,o)+e.slice(t+1):e}(e)),k&&0==+e&&"+"!==a&&(k=!1),p=(k?"("===a?a:h:"-"===a||"("===a?"":a)+p,F=("s"===b?en[8+Q/3]:"")+F+(k&&"("===a?")":""),M){for(r=-1,n=e.length;++r<n;)if(48>(s=e.charCodeAt(r))||s>57){F=(46===s?l+e.slice(r+1):e.slice(r))+F,e=e.slice(0,r);break}}}g&&!u&&(e=o(e,1/0));var z=p.length+e.length+F.length,S=z<m?Array(m-z+1).join(t):"";switch(g&&u&&(e=o(S+e,S.length?m-F.length:1/0),S=""),i){case"<":e=p+e+F+S;break;case"=":e=p+S+e+F;break;case"^":e=S.slice(0,z=S.length>>1)+p+e+F+S.slice(z);break;default:e=S+p+e+F}return d(e)}return f=void 0===f?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),F.toString=function(){return e+""},F}return{format:p,formatPrefix:function(e,t){var i,a=p(((e=ee(e)).type="f",e)),o=3*Math.max(-8,Math.min(8,Math.floor(((i=q(Math.abs(i=t)))?i[1]:NaN)/3))),r=Math.pow(10,-o),n=en[8+o/3];return function(e){return a(r*e)+n}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,R.formatPrefix;var ed=S(function(i,{positioned:a,colors:o,resolved:r}){let n=H(r.renderOptions,{...N,nodeLabelFontSize:a.config.labelFontSize},r.styleFace),l=a.body.nodes.filter(e=>!e.parentId).length,s={accent:o.accent,bg:o.bg},h=e(l,s),c=[],p=new Map,u=j(o),m=new Map,g=("backend:rough"===r.paintBackendId||"backend:hybrid"===r.paintBackendId)&&U("label").textHalo?Z(C("var(--bg)",o)??o.bg):void 0,f=t=>{if(void 0===t)return h;let i=m.get(t);if(i)return i;let a=Z(C(t,o)??t),r=a?.[3]===1?D(a[0],a[1],a[2]):void 0,n=void 0!==r&&g?.[3]===1&&B(r,D(g[0],g[1],g[2]))>=O,d=void 0===r||n?h:e(l,{...s,labelInk:r});return m.set(t,d),d},v=t(a.body.nodes),b=a.cells.filter(e=>!e.node.parentId).reduce((e,t)=>e+t.total,0);for(let e of(a.title&&c.push(i.text(A(a.title,n))),a.cells)){if(e.width<=0||e.height<=0){p.set(e.node.id,[]);continue}let t=void 0===e.node.value,o={value:b>0?e.total/b:0,category:String(e.category)},l=V(r.styleFace,"bar",o,{includeFallback:!1}),d=e.node.className?a.body.classDefs[e.node.className]:void 0,s=t?n.groupFillColor:n.nodeFillColor,c=t?n.groupTextColor:n.nodeTextColor,m=d?.color??c,g=t&&e.headerHeight?d?.fill??n.groupHeaderFillColor:void 0,v=d?.fill??l?.fillColor??s,y=void 0===v&&void 0===g&&d?.color===void 0?f(c):h,x=v??y[e.category]??"var(--_node-fill)",w=d?.stroke??l?.strokeColor??l?.borderColor??(t?n.groupBorderColor:n.nodeBorderColor)??"var(--bg)",M=d?.["stroke-width"]??String(l?.lineWidth??(t?r.styleFace?.group?.lineWidth:r.styleFace?.node?.lineWidth)??a.config.borderWidth),F=Math.min((t?n.groupCornerRadius:n.cornerRadius)??0,e.width/2,e.height/2,g?e.headerHeight/2:1/0),k=m??u("var(--_text)",g??x,!!(d?.fill||l?.fillColor||g||!s)),z={id:e.node.id,role:t?"group":"node"},S=[];if(e.width>0&&e.height>0&&S.push(i.shape({id:`cell:${e.node.id}`,role:"bar",owner:z,geometry:{kind:"rect",x:e.x,y:e.y,width:e.width,height:e.height,...F>0?{rx:F,ry:F}:{}},paint:{fill:x,stroke:w,strokeWidth:M},channels:o})),g&&e.width>0&&e.height>0){let t=Math.min((Number.parseFloat(M)||0)/2,e.width/2,e.headerHeight/2),a=e.x+t,o=e.y+t,r=e.width-2*t,n=e.headerHeight-t,l=Math.max(0,F-t);r>0&&n>0&&S.push(i.shape({id:`header:${e.node.id}`,role:"chrome",owner:z,geometry:l>0?{kind:"path",d:`M${a+l} ${o}H${a+r-l}Q${a+r} ${o} ${a+r} ${o+l}V${o+n}H${a}V${o+l}Q${a} ${o} ${a+l} ${o}Z`}:{kind:"rect",x:a,y:o,width:r,height:n},paint:{fill:g,stroke:"none"}}))}e.label&&S.push(i.text({id:`label:${e.node.id}`,role:"label",owner:z,text:e.label.text,block:e.label,x:e.x+e.width/2,y:e.labelY,fontSize:e.label.fontSize,fontWeight:e.label.fontWeight,anchor:"middle",paint:{fill:k}})),e.valueLabel&&S.push(i.text({id:`value:${e.node.id}`,role:"label",owner:z,text:e.valueLabel.text,block:e.valueLabel,x:e.x+e.width/2,y:e.valueY,fontSize:e.valueLabel.fontSize,fontWeight:e.valueLabel.fontWeight,anchor:"middle",paint:{fill:k}})),p.set(e.node.id,S)}let y=new Map;for(let e of[...a.cells].reverse()){let t=p.get(e.node.id);for(let i of v.get(e.node.id)??[]){let e=y.get(i.id);e&&t.push(e)}let a=void 0===e.node.value,o=e.label?void 0:E(`${e.node.label}: ${e.total}`);y.set(e.node.id,i.group({id:e.node.id,role:a?"group":"node",open:`<g${e.node.parentId?` data-parent="${E(e.node.parentId)}"`:""}${void 0===o?"":` role="${a?"group":"graphics-symbol"}" aria-roledescription="treemap ${a?"section":"cell"}"`}>${void 0===o?"":`<title>${o}</title>`}`,close:"</g>",children:t.map(e=>({node:e,indent:2}))}))}for(let e of a.cells)e.node.parentId||c.push(y.get(e.node.id));return d(i,"treemap",a,o,r.renderOptions.transparent??!1,c)}),es=b(K,{configDiagnostics:e=>l("treemap",e,{nodeWidth:n(1,1e4),nodeHeight:n(1,1e4),padding:n(0,1e4),diagramPadding:n(0,1e4),labelFontSize:n(1,1e4),valueFontSize:n(1,1e4),borderWidth:n(0,1e4),showValues:o,valueFormat:r,useMaxWidth:o}),normalizeRequest:e=>({familyConfig:{treemap:el(e.source.config.treemap)}}),layout:e=>{let o=function(e){let t=I("string"==typeof e?e.split(/\r?\n/):e);M(t);let i=t.familyLines,o=i.findIndex(e=>e.trim()&&!e.trim().startsWith("%%"));if(!/^treemap(?:-beta)?\s*$/i.test(a(i[o]?.trim()??"")))throw Error("Treemap source must start with treemap");let r={kind:"treemap",nodes:[],classDefs:Object.create(null),...F(L(t.accessibility))},n=[];for(let e=o+1;e<i.length;e++){let t=i[e],o=a(t).trim();if(!o)continue;x("treemap","statement",t,{line:e+1,unit:"normalized"});let l=/^title(?:\s+(.*))?$/i.exec(o);if(l){r.title=W(_(l[1]??""),`\r
4
+ "Design": 40`,detect:U,detectLoose:U});function K(e,t){if((i=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var i,a=e.slice(0,i);return[a.length>1?a[0]+a.slice(2):a,+e.slice(i+1)]}var q=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ee(e){var t;if(!(t=q.exec(e)))throw Error("invalid format: "+e);return new et({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function et(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function ei(e,t){var i=K(e,t);if(!i)return e+"";var a=i[0],o=i[1];return o<0?"0."+Array(-o).join("0")+a:a.length>o+1?a.slice(0,o+1)+"."+a.slice(o+1):a+Array(o-a.length+2).join("0")}ee.prototype=et.prototype,et.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var ea={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ei(100*e,t),r:ei,s:function(e,t){var i=K(e,t);if(!i)return e+"";var a=i[0],o=i[1],r=o-(X=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,n=a.length;return r===n?a:r>n?a+Array(r-n+1).join("0"):r>0?a.slice(0,r)+"."+a.slice(r):"0."+Array(1-r).join("0")+K(e,Math.max(0,t+r-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function eo(e){return e}var er=Array.prototype.map,en=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function el(e={}){let t=(t,i,a=0)=>{let o=e[t];return void 0===o||"number"!=typeof o||!Number.isFinite(o)||o<a||o>1e4?i:o};return{width:10*t("nodeWidth",96,1),height:10*t("nodeHeight",50,1),padding:t("padding",10),diagramPadding:t("diagramPadding",16),showValues:!1!==e.showValues,labelFontSize:t("labelFontSize",14,1),valueFontSize:t("valueFontSize",12,1),borderWidth:t("borderWidth",1),valueFormat:"string"==typeof e.valueFormat?e.valueFormat:","}}R=(Z=function(e){var t,i,a,o=void 0===e.grouping||void 0===e.thousands?eo:(t=er.call(e.grouping,Number),i=e.thousands+"",function(e,a){for(var o=e.length,r=[],n=0,l=t[0],d=0;o>0&&l>0&&(d+l+1>a&&(l=Math.max(1,a-d)),r.push(e.substring(o-=l,o+l)),!((d+=l+1)>a));)l=t[n=(n+1)%t.length];return r.reverse().join(i)}),r=void 0===e.currency?"":e.currency[0]+"",n=void 0===e.currency?"":e.currency[1]+"",l=void 0===e.decimal?".":e.decimal+"",d=void 0===e.numerals?eo:(a=er.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return a[+e]})}),s=void 0===e.percent?"%":e.percent+"",h=void 0===e.minus?"−":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function p(e){var t=(e=ee(e)).fill,i=e.align,a=e.sign,p=e.symbol,u=e.zero,m=e.width,g=e.comma,f=e.precision,v=e.trim,b=e.type;"n"===b?(g=!0,b="g"):ea[b]||(void 0===f&&(f=12),v=!0,b="g"),(u||"0"===t&&"="===i)&&(u=!0,t="0",i="=");var y="$"===p?r:"#"===p&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",x="$"===p?n:/[%p]/.test(b)?s:"",w=ea[b],M=/[defgprs%]/.test(b);function F(e){var r,n,s,p=y,F=x;if("c"===b)F=w(e)+F,e="";else{var k=(e*=1)<0||1/e<0;if(e=isNaN(e)?c:w(Math.abs(e),f),v&&(e=function(e){e:for(var t,i=e.length,a=1,o=-1;a<i;++a)switch(e[a]){case".":o=t=a;break;case"0":0===o&&(o=a),t=a;break;default:if(!+e[a])break e;o>0&&(o=0)}return o>0?e.slice(0,o)+e.slice(t+1):e}(e)),k&&0==+e&&"+"!==a&&(k=!1),p=(k?"("===a?a:h:"-"===a||"("===a?"":a)+p,F=("s"===b?en[8+X/3]:"")+F+(k&&"("===a?")":""),M){for(r=-1,n=e.length;++r<n;)if(48>(s=e.charCodeAt(r))||s>57){F=(46===s?l+e.slice(r+1):e.slice(r))+F,e=e.slice(0,r);break}}}g&&!u&&(e=o(e,1/0));var z=p.length+e.length+F.length,S=z<m?Array(m-z+1).join(t):"";switch(g&&u&&(e=o(S+e,S.length?m-F.length:1/0),S=""),i){case"<":e=p+e+F+S;break;case"=":e=p+S+e+F;break;case"^":e=S.slice(0,z=S.length>>1)+p+e+F+S.slice(z);break;default:e=S+p+e+F}return d(e)}return f=void 0===f?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,f)):Math.max(0,Math.min(20,f)),F.toString=function(){return e+""},F}return{format:p,formatPrefix:function(e,t){var i,a=p(((e=ee(e)).type="f",e)),o=3*Math.max(-8,Math.min(8,Math.floor(((i=K(Math.abs(i=t)))?i[1]:NaN)/3))),r=Math.pow(10,-o),n=en[8+o/3];return function(e){return a(r*e)+n}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,Z.formatPrefix;var ed=S(function(i,{positioned:a,colors:o,resolved:r}){let n=N(r.renderOptions,{...H,nodeLabelFontSize:a.config.labelFontSize},r.styleFace),l=a.body.nodes.filter(e=>!e.parentId).length,s={accent:o.accent,bg:o.bg},h=e(l,s),c=[],p=new Map,u=j(o),m=new Map,g=("backend:rough"===r.paintBackendId||"backend:hybrid"===r.paintBackendId)&&E("label").textHalo?V(L("var(--bg)",o)??o.bg):void 0,f=t=>{if(void 0===t)return h;let i=m.get(t);if(i)return i;let a=V(L(t,o)??t),r=a?.[3]===1?O(a[0],a[1],a[2]):void 0,n=void 0!==r&&g?.[3]===1&&J(r,O(g[0],g[1],g[2]))>=Q,d=void 0===r||n?h:e(l,{...s,labelInk:r});return m.set(t,d),d},v=t(a.body.nodes),b=a.cells.filter(e=>!e.node.parentId).reduce((e,t)=>e+t.total,0);for(let e of(a.title&&c.push(i.text(D(a.title,n))),a.cells)){if(e.width<=0||e.height<=0){p.set(e.node.id,[]);continue}let t=void 0===e.node.value,o={value:b>0?e.total/b:0,category:String(e.category)},l=B(r.styleFace,"bar",o,{includeFallback:!1}),d=e.node.className?a.body.classDefs[e.node.className]:void 0,s=t?n.groupFillColor:n.nodeFillColor,c=t?n.groupTextColor:n.nodeTextColor,m=d?.color??c,g=t&&e.headerHeight?d?.fill??n.groupHeaderFillColor:void 0,v=d?.fill??l?.fillColor??s,y=void 0===v&&void 0===g&&d?.color===void 0?f(c):h,x=v??y[e.category]??"var(--_node-fill)",w=d?.stroke??l?.strokeColor??l?.borderColor??(t?n.groupBorderColor:n.nodeBorderColor)??"var(--bg)",M=d?.["stroke-width"]??String(l?.lineWidth??(t?r.styleFace?.group?.lineWidth:r.styleFace?.node?.lineWidth)??a.config.borderWidth),F=Math.min((t?n.groupCornerRadius:n.cornerRadius)??0,e.width/2,e.height/2,g?e.headerHeight/2:1/0),k=m??u("var(--_text)",g??x,!!(d?.fill||l?.fillColor||g||!s)),z={id:e.node.id,role:t?"group":"node"},S=[];if(e.width>0&&e.height>0&&S.push(i.shape({id:`cell:${e.node.id}`,role:"bar",owner:z,geometry:{kind:"rect",x:e.x,y:e.y,width:e.width,height:e.height,...F>0?{rx:F,ry:F}:{}},paint:{fill:x,stroke:w,strokeWidth:M},channels:o})),g&&e.width>0&&e.height>0){let t=Math.min((Number.parseFloat(M)||0)/2,e.width/2,e.headerHeight/2),a=e.x+t,o=e.y+t,r=e.width-2*t,n=e.headerHeight-t,l=Math.max(0,F-t);r>0&&n>0&&S.push(i.shape({id:`header:${e.node.id}`,role:"chrome",owner:z,geometry:l>0?{kind:"path",d:`M${a+l} ${o}H${a+r-l}Q${a+r} ${o} ${a+r} ${o+l}V${o+n}H${a}V${o+l}Q${a} ${o} ${a+l} ${o}Z`}:{kind:"rect",x:a,y:o,width:r,height:n},paint:{fill:g,stroke:"none"}}))}e.label&&S.push(i.text({id:`label:${e.node.id}`,role:"label",owner:z,text:e.label.text,block:e.label,x:e.x+e.width/2,y:e.labelY,fontSize:e.label.fontSize,fontWeight:e.label.fontWeight,anchor:"middle",paint:{fill:k}})),e.valueLabel&&S.push(i.text({id:`value:${e.node.id}`,role:"label",owner:z,text:e.valueLabel.text,block:e.valueLabel,x:e.x+e.width/2,y:e.valueY,fontSize:e.valueLabel.fontSize,fontWeight:e.valueLabel.fontWeight,anchor:"middle",paint:{fill:k}})),p.set(e.node.id,S)}let y=new Map;for(let e of[...a.cells].reverse()){let t=p.get(e.node.id);for(let i of v.get(e.node.id)??[]){let e=y.get(i.id);e&&t.push(e)}let a=void 0===e.node.value,o=e.label?void 0:Y(`${e.node.label}: ${e.total}`);y.set(e.node.id,i.group({id:e.node.id,role:a?"group":"node",open:`<g${e.node.parentId?` data-parent="${Y(e.node.parentId)}"`:""}${void 0===o?"":` role="${a?"group":"graphics-symbol"}" aria-roledescription="treemap ${a?"section":"cell"}"`}>${void 0===o?"":`<title>${o}</title>`}`,close:"</g>",children:t.map(e=>({node:e,indent:2}))}))}for(let e of a.cells)e.node.parentId||c.push(y.get(e.node.id));return d(i,"treemap",a,o,r.renderOptions.transparent??!1,c)}),es=b(G,{configDiagnostics:e=>l("treemap",e,{nodeWidth:n(1,1e4),nodeHeight:n(1,1e4),padding:n(0,1e4),diagramPadding:n(0,1e4),labelFontSize:n(1,1e4),valueFontSize:n(1,1e4),borderWidth:n(0,1e4),showValues:o,valueFormat:r,useMaxWidth:o}),normalizeRequest:e=>({familyConfig:{treemap:el(e.source.config.treemap)}}),layout:e=>{let o=function(e){let t=C("string"==typeof e?e.split(/\r?\n/):e);M(t);let i=t.familyLines,o=i.findIndex(e=>e.trim()&&!e.trim().startsWith("%%"));if(!/^treemap(?:-beta)?\s*$/i.test(a(i[o]?.trim()??"")))throw Error("Treemap source must start with treemap");let r={kind:"treemap",nodes:[],classDefs:Object.create(null),...F(I(t.accessibility))},n=[];for(let e=o+1;e<i.length;e++){let t=i[e],o=a(t).trim();if(!o)continue;x("treemap","statement",t,{line:e+1,unit:"normalized"});let l=/^title(?:\s+(.*))?$/i.exec(o);if(l){r.title=W(_(l[1]??""),`\r
5
5
  `),w("treemap","set-title",r.title);continue}let d=/^classDef\s+([A-Za-z_]\w*)\s+(.+?);?$/.exec(o);if(d){let e=$(z(d[2]),`classDef ${d[1]}`);r.classDefs[d[1]]={...r.classDefs[d[1]]??{},...e},w("treemap","define-class",{name:d[1],style:e});continue}let s=t.match(/^[\t ]*/)?.[0].length??0,h=s,c=o;for(;c;){let t=/^(?:"([^"]*)"|'([^']*)')(?:\s*[:,]\s*([0-9_.,]+))?(?:\s*:::\s*([A-Za-z_]\w*))?/.exec(c);if(!t)throw Error(`Invalid Treemap statement at line ${e+1}: ${c}`);for(k("nodes",r.nodes.length+1);n.length&&n.at(-1).indent>=h;)n.pop();let i=n.at(-1)?.node.id,a=void 0===t[3]?void 0:Number(t[3].replace(/[,_]/g,""));if(k("nesting",n.length+ +(void 0===a)),void 0!==a&&(!Number.isFinite(a)||a<0))throw Error(`Invalid Treemap value at line ${e+1}`);let l={id:`treemap-${r.nodes.length}`,label:W(_(t[1]??t[2]),`\r
6
- `),...i?{parentId:i}:{},...void 0===a?{}:{value:a},...t[4]?{className:t[4]}:{}};r.nodes.push(l),y("treemap")&&w("treemap","add-node",l,{line:e+1,column:s+o.length-c.length+1,unit:"normalized"}),void 0===a&&n.push({indent:h,node:l});let d=c.slice(t[0].length);h=d.match(/^[\t ]*/)?.[0].length??0,c=d.slice(h)}}return r}(e.source.authoredFamilyBody??e.source.familyBody);return o.title??="string"==typeof e.source.frontmatter.title?e.source.frontmatter.title:void 0,v(function(e,a={},o=el(),r){i(e.nodes,e=>void 0===e.value);let n=H(a,{...N,nodeLabelFontSize:o.labelFontSize,groupHeaderFontSize:o.labelFontSize,groupHeaderFontWeight:N.nodeLabelFontWeight},r),l=t(e.nodes),d=new Map;for(let t of[...e.nodes].reverse())d.set(t.id,t.value??(l.get(t.id)??[]).reduce((e,t)=>e+(d.get(t.id)??0),0));let s=P(e.title,n),h=o.diagramPadding,c=Math.max(o.width,(s?.width??0)+2*h),p=o.height+(s?.height??0)+2*h,u=[],m=[],g,f=l.get(void 0)??[],v=new Map(f.map((e,t)=>[e.id,t])),b=new Map(e.nodes.map(e=>[e.id,e])),y=[{items:f,box:{x:h,y:h+(s?.height??0),width:c-2*h,height:o.height},depth:0}];for(;y.length;){let e=y.pop();for(let t of function(e,t){let i=e.map((e,t)=>({...e,index:t})).filter(e=>e.value>0).sort((e,t)=>t.value-e.value||e.index-t.index),a=i.reduce((e,t)=>e+t.value,0);if(!Number.isFinite(a))throw Error("Treemap total exceeds the finite numeric range");let o=a>0?t.width*t.height/a:0,r=i.map(e=>({...e,area:e.value*o})),n=[],{x:l,y:d,width:s,height:h}=t,c=0;for(;c<r.length&&s>0&&h>0;){let e=Math.min(s,h),t=c+1,i=r[c].area,a=i,o=i,p=(t,i)=>Math.max(e*e*o/(t*t),t*t/(e*e*i)),u=p(i,a);for(;t<r.length;){let e=r[t].area,o=p(i+e,Math.min(a,e));if(o>u)break;u=o,i+=e,a=Math.min(a,e),t++}let m=s>=h,g=m?Math.min(s,i/h):Math.min(h,i/s),f=m?d:l;for(let e=c;e<t;e++){let i=r[e],a=e===t-1?(m?d+h:l+s)-f:i.area/g;n.push({id:i.id,value:i.value,x:m?l:f,y:m?f:d,width:m?g:a,height:m?a:g}),f+=a}m?(l+=g,s=Math.max(0,s-g)):(d+=g,h=Math.max(0,h-g)),c=t}for(;c<r.length;c++){let e=r[c];n.push({id:e.id,value:e.value,x:t.x,y:t.y,width:0,height:0})}for(let i of e)i.value<=0&&n.push({...i,x:t.x,y:t.y,width:0,height:0});return n}(e.items.map(e=>({id:e.id,value:d.get(e.id)??0})),e.box)){let i=b.get(t.id),d=e.category??v.get(i.id)??0,s={node:i,total:t.value,x:t.x,y:t.y,width:t.width,height:t.height,depth:e.depth,category:d},h=l.get(i.id),c=0;if(t.width>0&&t.height>0){let e=void 0===i.value,l=e?r?.group:r?.node,d=l?.paddingX??6,h=l?.paddingY??6,p=Math.max(1,t.width-2*d),u=e?n.groupFont??a.font:a.font,f=e?n.groupLetterSpacing:n.nodeLetterSpacing,v=e?n.groupTextTransform:n.nodeTextTransform,b=Y(i.label,{fontSize:e?n.groupHeaderFontSize:n.nodeLabelFontSize,fontWeight:e?n.groupHeaderFontWeight:n.nodeLabelFontWeight,letterSpacing:f,transform:v,fontFamily:u,maxWidth:p}),y=o.showValues?Y((g??=function(e){"$0,0"===e&&(e="$,");try{return J(e)}catch{throw Error(`Invalid treemap.valueFormat ${JSON.stringify(e)}`)}}(o.valueFormat))(t.value),{fontSize:l?.fontSize??r?.text?.fontSize??o.valueFontSize,fontWeight:l?.fontWeight??r?.text?.fontWeight??400,letterSpacing:f,transform:v,fontFamily:u,maxWidth:p}):void 0;c=b.height+(y?y.height+4:0)+2*h,b.width<=t.width-2*d&&c<=t.height?(s.label=b,s.valueLabel=y,s.labelY=t.y+h+b.height/2,y&&(s.valueY=t.y+h+4+b.height+y.height/2),e&&void 0!==n.groupHeaderFillColor&&(s.headerHeight=c)):m.push(i.label)}else m.push(i.label);if(u.push(s),h?.length){let i=s.label?c:0,a=Math.min(o.padding,t.width/4,Math.max(0,t.height-i)/4),n=r?.group?.paddingX===void 0?a:Math.min(r.group.paddingX,t.width/4),l=r?.group?.paddingY===void 0?a:Math.min(r.group.paddingY,Math.max(0,t.height-i)/4);y.push({items:h,box:{x:t.x+n,y:t.y+i+l,width:Math.max(0,t.width-2*n),height:Math.max(0,t.height-i-2*l)},depth:e.depth+1,category:d})}}}let x=new Map(e.nodes.map((e,t)=>[e.id,t]));return u.sort((e,t)=>x.get(e.node.id)-x.get(t.node.id)),{width:c,height:p,body:e,cells:u,config:o,hiddenLabels:m,options:a,...s?{title:T(s,c,h)}:{}}}(o,e.renderOptions,e.familyConfig.treemap,e.styleFace))},projectPositioned:g(function({positioned:e}){let i=t(e.body.nodes);return{version:1,bounds:{w:c(e.width),h:c(e.height)},nodes:e.cells.filter(e=>void 0!==e.node.value).map(e=>({id:e.node.id,...e.node.parentId?{parentId:e.node.parentId}:{},x:c(e.x),y:c(e.y),w:p(e.x,e.width),h:p(e.y,e.height),shape:"rectangle",label:e.node.label,role:"mark",labelVisibility:e.label?"visible":"hidden",...e.label?m(e.label,e.x+e.width/2,e.labelY,e):{}})),edges:[],groups:e.cells.filter(e=>void 0===e.node.value).map(e=>({id:e.node.id,...e.node.parentId?{parentId:e.node.parentId}:{},x:c(e.x),y:c(e.y),w:p(e.x,e.width),h:p(e.y,e.height),members:(i.get(e.node.id)??[]).map(e=>e.id),label:e.node.label,regionKind:"compartment"})),labels:[...e.title?[{id:"title",text:e.title.text,bounds:u(e.title.block,e.title.x,e.title.y),container:h(s(e))}]:[],...e.cells.flatMap(e=>[...void 0===e.node.value&&e.label?[{id:`section-label:${e.node.id}`,text:e.label.text,bounds:u(e.label,e.x+e.width/2,e.labelY),container:h(e)}]:[],...e.valueLabel?[{id:`value:${e.node.id}`,text:e.valueLabel.text,bounds:u(e.valueLabel,e.x+e.width/2,e.valueY),container:h(e)}]:[]])]}}),lowerScene:f(ed)});export{es as default};
6
+ `),...i?{parentId:i}:{},...void 0===a?{}:{value:a},...t[4]?{className:t[4]}:{}};r.nodes.push(l),y("treemap")&&w("treemap","add-node",l,{line:e+1,column:s+o.length-c.length+1,unit:"normalized"}),void 0===a&&n.push({indent:h,node:l});let d=c.slice(t[0].length);h=d.match(/^[\t ]*/)?.[0].length??0,c=d.slice(h)}}return r}(e.source.authoredFamilyBody??e.source.familyBody);return o.title??="string"==typeof e.source.frontmatter.title?e.source.frontmatter.title:void 0,v(function(e,a={},o=el(),r){i(e.nodes,e=>void 0===e.value);let n=N(a,{...H,nodeLabelFontSize:o.labelFontSize,groupHeaderFontSize:o.labelFontSize,groupHeaderFontWeight:H.nodeLabelFontWeight},r),l=t(e.nodes),d=new Map;for(let t of[...e.nodes].reverse())d.set(t.id,t.value??(l.get(t.id)??[]).reduce((e,t)=>e+(d.get(t.id)??0),0));let s=P(e.title,n),h=o.diagramPadding,c=Math.max(o.width,(s?.width??0)+2*h),p=o.height+(s?.height??0)+2*h,u=[],m=[],g,f=l.get(void 0)??[],v=new Map(f.map((e,t)=>[e.id,t])),b=new Map(e.nodes.map(e=>[e.id,e])),y=[{items:f,box:{x:h,y:h+(s?.height??0),width:c-2*h,height:o.height},depth:0}];for(;y.length;){let e=y.pop();for(let t of function(e,t){let i=e.map((e,t)=>({...e,index:t})).filter(e=>e.value>0).sort((e,t)=>t.value-e.value||e.index-t.index),a=i.reduce((e,t)=>e+t.value,0);if(!Number.isFinite(a))throw Error("Treemap total exceeds the finite numeric range");let o=a>0?t.width*t.height/a:0,r=i.map(e=>({...e,area:e.value*o})),n=[],{x:l,y:d,width:s,height:h}=t,c=0;for(;c<r.length&&s>0&&h>0;){let e=Math.min(s,h),t=c+1,i=r[c].area,a=i,o=i,p=(t,i)=>Math.max(e*e*o/(t*t),t*t/(e*e*i)),u=p(i,a);for(;t<r.length;){let e=r[t].area,o=p(i+e,Math.min(a,e));if(o>u)break;u=o,i+=e,a=Math.min(a,e),t++}let m=s>=h,g=m?Math.min(s,i/h):Math.min(h,i/s),f=m?d:l;for(let e=c;e<t;e++){let i=r[e],a=e===t-1?(m?d+h:l+s)-f:i.area/g;n.push({id:i.id,value:i.value,x:m?l:f,y:m?f:d,width:m?g:a,height:m?a:g}),f+=a}m?(l+=g,s=Math.max(0,s-g)):(d+=g,h=Math.max(0,h-g)),c=t}for(;c<r.length;c++){let e=r[c];n.push({id:e.id,value:e.value,x:t.x,y:t.y,width:0,height:0})}for(let i of e)i.value<=0&&n.push({...i,x:t.x,y:t.y,width:0,height:0});return n}(e.items.map(e=>({id:e.id,value:d.get(e.id)??0})),e.box)){let i=b.get(t.id),d=e.category??v.get(i.id)??0,s={node:i,total:t.value,x:t.x,y:t.y,width:t.width,height:t.height,depth:e.depth,category:d},h=l.get(i.id),c=0;if(t.width>0&&t.height>0){let e=void 0===i.value,l=e?r?.group:r?.node,d=l?.paddingX??6,h=l?.paddingY??6,p=Math.max(1,t.width-2*d),u=e?n.groupFont??a.font:a.font,f=e?n.groupLetterSpacing:n.nodeLetterSpacing,v=e?n.groupTextTransform:n.nodeTextTransform,b=T(i.label,{fontSize:e?n.groupHeaderFontSize:n.nodeLabelFontSize,fontWeight:e?n.groupHeaderFontWeight:n.nodeLabelFontWeight,letterSpacing:f,transform:v,fontFamily:u,maxWidth:p}),y=o.showValues?T((g??=function(e){"$0,0"===e&&(e="$,");try{return R(e)}catch{throw Error(`Invalid treemap.valueFormat ${JSON.stringify(e)}`)}}(o.valueFormat))(t.value),{fontSize:l?.fontSize??r?.text?.fontSize??o.valueFontSize,fontWeight:l?.fontWeight??r?.text?.fontWeight??400,letterSpacing:f,transform:v,fontFamily:u,maxWidth:p}):void 0;c=b.height+(y?y.height+4:0)+2*h,b.width<=t.width-2*d&&c<=t.height?(s.label=b,s.valueLabel=y,s.labelY=t.y+h+b.height/2,y&&(s.valueY=t.y+h+4+b.height+y.height/2),e&&void 0!==n.groupHeaderFillColor&&(s.headerHeight=c)):m.push(i.label)}else m.push(i.label);if(u.push(s),h?.length){let i=s.label?c:0,a=Math.min(o.padding,t.width/4,Math.max(0,t.height-i)/4),n=r?.group?.paddingX===void 0?a:Math.min(r.group.paddingX,t.width/4),l=r?.group?.paddingY===void 0?a:Math.min(r.group.paddingY,Math.max(0,t.height-i)/4);y.push({items:h,box:{x:t.x+n,y:t.y+i+l,width:Math.max(0,t.width-2*n),height:Math.max(0,t.height-i-2*l)},depth:e.depth+1,category:d})}}}let x=new Map(e.nodes.map((e,t)=>[e.id,t]));return u.sort((e,t)=>x.get(e.node.id)-x.get(t.node.id)),{width:c,height:p,body:e,cells:u,config:o,hiddenLabels:m,options:a,...s?{title:A(s,c,h)}:{}}}(o,e.renderOptions,e.familyConfig.treemap,e.styleFace))},projectPositioned:g(function({positioned:e}){let i=t(e.body.nodes);return{version:1,bounds:{w:c(e.width),h:c(e.height)},nodes:e.cells.filter(e=>void 0!==e.node.value).map(e=>({id:e.node.id,...e.node.parentId?{parentId:e.node.parentId}:{},x:c(e.x),y:c(e.y),w:p(e.x,e.width),h:p(e.y,e.height),shape:"rectangle",label:e.node.label,role:"mark",labelVisibility:e.label?"visible":"hidden",...e.label?m(e.label,e.x+e.width/2,e.labelY,e):{}})),edges:[],groups:e.cells.filter(e=>void 0===e.node.value).map(e=>({id:e.node.id,...e.node.parentId?{parentId:e.node.parentId}:{},x:c(e.x),y:c(e.y),w:p(e.x,e.width),h:p(e.y,e.height),members:(i.get(e.node.id)??[]).map(e=>e.id),label:e.node.label,regionKind:"compartment"})),labels:[...e.title?[{id:"title",text:e.title.text,bounds:u(e.title.block,e.title.x,e.title.y),container:h(s(e))}]:[],...e.cells.flatMap(e=>[...void 0===e.node.value&&e.label?[{id:`section-label:${e.node.id}`,text:e.label.text,bounds:u(e.label,e.x+e.width/2,e.labelY),container:h(e)}]:[],...e.valueLabel?[{id:`value:${e.node.id}`,text:e.valueLabel.text,bounds:u(e.valueLabel,e.x+e.width/2,e.valueY),container:h(e)}]:[]])]}}),lowerScene:f(ed)});export{es as default};
@@ -1,8 +1,8 @@
1
- import{a as e,b as t,c as i}from"./chunk-PQGPS2YV.js";import{a as a,h as l}from"./chunk-J7FFAFQF.js";import{d as n}from"./chunk-QA6GJQ4X.js";import{a as o,c as r,d as s}from"./chunk-2I4UPL7Q.js";import{a as c,b as h,c as d,d as x,e as g,j as u,l as f}from"./chunk-2SH76OTH.js";import{b as p,d as y}from"./chunk-AMJLVPUB.js";import{A as m,t as b,y as v,z as w}from"./chunk-DF6765YX.js";import"./chunk-J35HAQQF.js";import{a as k,b as A,c as L,d as z,h as S}from"./chunk-CN7WTBWB.js";import{C as $,a as C,b as M,c as F,d as T,e as W,g as _,i as I}from"./chunk-HLWUNUCM.js";import{D as P,c as N,ma as O,s as j,y as B}from"./chunk-X2UYKWKM.js";import{a as E,i as Y,j as X,k as D}from"./chunk-TYZOZXUJ.js";import{c as R,g as U,h as q}from"./chunk-NO7ZIVRU.js";import{Da as H,M as V,Z as J,ma as Q,o as Z,x as G,za as K}from"./chunk-Z3FDIVLN.js";import{w as ee}from"./chunk-N5ELX7LR.js";import"./chunk-5UVGUSD6.js";import"./chunk-CSFUKSU6.js";var et=Object.freeze({id:"xychart",upstreamId:"xychart",maturity:"stable",label:"XY chart",headers:["xychart","xychart-beta"],aliases:[],config:{section:"xyChart",keys:["width","height","useMaxWidth","useWidth","titleFontSize","titlePadding","chartOrientation","plotReservedSpacePercent","showDataLabel","showDataLabelOutsideBar","showTitle","showLegend","legendFontSize","legendPadding","xAxis","yAxis"]},identity:{id:"family:xychart",kind:"family",version:"1.0.0",compatibility:{core:"0.5.3"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["value","category"],semanticRoles:["prelude","defs","chrome","grid","bar","series","point","axis","legend","title","label"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"grid",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"series",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"point",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"point",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"axis",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"axis",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`xychart-beta
1
+ import{a as e,b as t,c as i}from"./chunk-4NILRBC7.js";import{a as a,h as l}from"./chunk-64JFHCJC.js";import{d as n}from"./chunk-J57YRC2M.js";import{a as o,c as r,d as s}from"./chunk-D6MQ7QSU.js";import{a as c,b as h,c as d,d as x,e as g,j as u,l as f}from"./chunk-XHU3A432.js";import{b as p,d as y}from"./chunk-5LKPDHPC.js";import{A as m,t as b,y as v,z as w}from"./chunk-V6I2VGNQ.js";import"./chunk-7UFOFWBA.js";import{a as A,b as k,c as L,d as z,h as S}from"./chunk-VRZKI33U.js";import{C as C,a as $,b as M,c as F,d as T,e as W,g as _,i as I}from"./chunk-QVSZOF5M.js";import{D as P,c as N,ma as O,s as j,y as B}from"./chunk-G4JBA7HU.js";import{a as E,i as Y,j as D,k as X}from"./chunk-3JTYTXA6.js";import{c as R,g as H,h as J}from"./chunk-YVNJDVQO.js";import{Aa as q,Ea as V,M as U,_ as Q,na as Z,o as G,x as K}from"./chunk-EIYLJ4FI.js";import{w as ee}from"./chunk-PJJSDGLB.js";import"./chunk-YHMTSXIR.js";import"./chunk-QCU5G5PZ.js";var et=Object.freeze({id:"xychart",upstreamId:"xychart",maturity:"stable",label:"XY chart",headers:["xychart","xychart-beta"],aliases:[],config:{section:"xyChart",keys:["width","height","useMaxWidth","useWidth","titleFontSize","titlePadding","chartOrientation","plotReservedSpacePercent","showDataLabel","showDataLabelOutsideBar","showTitle","showLegend","legendFontSize","legendPadding","xAxis","yAxis"]},identity:{id:"family:xychart",kind:"family",version:"1.0.0",compatibility:{core:"0.5.4"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["value","category"],semanticRoles:["prelude","defs","chrome","grid","bar","series","point","axis","legend","title","label"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"grid",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"bar",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"series",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"point",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"point",primitive:"data-mark",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"axis",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"axis",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"legend",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`xychart-beta
2
2
  title "Revenue"
3
3
  x-axis [Q1, Q2, Q3]
4
4
  y-axis "USD" 0 --> 100
5
- bar [45, 62, 80]`,detect:ee,detectLoose:ee}),ei={width:h,height:h,useMaxWidth:g,useWidth:h,titleFontSize:h,titlePadding:d,chartOrientation:u("vertical","horizontal"),plotReservedSpacePercent:f(0,100,!1),showDataLabel:g,showDataLabelOutsideBar:g,showTitle:g,showLegend:g,legendFontSize:h,legendPadding:d,xAxis:c("an axis-config object",e=>!!e&&"object"==typeof e&&!Array.isArray(e)),yAxis:c("an axis-config object",e=>!!e&&"object"==typeof e&&!Array.isArray(e))},ea={showLabel:g,labelFontSize:h,labelPadding:d,labelRotation:x,showTitle:g,titleFontSize:h,titlePadding:d,showTick:g,tickLength:d,tickWidth:h,showAxisLine:g,axisLineWidth:h},el={showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},en={width:700,height:500,useMaxWidth:!0,useWidth:void 0,titleFontSize:20,titlePadding:10,chartOrientation:"vertical",plotReservedSpacePercent:50,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,showLegend:!0,legendFontSize:14,legendPadding:5,xAxis:{...el},yAxis:{...el}};function eo(e){return{showLabel:ec(e?.showLabel,el.showLabel),labelFontSize:er(e?.labelFontSize,el.labelFontSize),labelPadding:es(e?.labelPadding,el.labelPadding),showTitle:ec(e?.showTitle,el.showTitle),titleFontSize:er(e?.titleFontSize,el.titleFontSize),titlePadding:es(e?.titlePadding,el.titlePadding),showTick:ec(e?.showTick,el.showTick),tickLength:es(e?.tickLength,el.tickLength),tickWidth:er(e?.tickWidth,el.tickWidth),showAxisLine:ec(e?.showAxisLine,el.showAxisLine),axisLineWidth:er(e?.axisLineWidth,el.axisLineWidth)}}function er(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:t}function es(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:t}function ec(e,t){return"boolean"==typeof e?e:t}function eh(e){let t=Math.max(0,...e.series.map(e=>e.data.length));return e.xAxis.categories?Math.max(1,e.xAxis.categories.length,t):Math.max(1,t)}function ed(e,t=eh(e)){if(e.xAxis.range){let{min:i,max:a}=e.xAxis.range,l=t>1?(a-i)/(t-1):0;return Array.from({length:t},(e,t)=>i+l*t)}return Array.from({length:t},(e,t)=>t)}function ex(e,t=eh(e)){return e.xAxis.categories?Array.from({length:t},(t,i)=>e.xAxis.categories[i]??String(i+1)):e.xAxis.range?ed(e,t).map(e=>ep(e)):Array.from({length:t},(e,t)=>String(t+1))}function eg(e,t){let i=Math.min(e.min,e.max);return Math.min(Math.max(e.min,e.max),Math.max(i,t))}function eu(e){if(Number.isInteger(e))return String(e);let t=e.toFixed(+(10>Math.abs(e)));return 0===Number(t)&&0!==e?String(e):t}function ef(e,t,i=10){if(!(i>0))return[];if(e===t)return[e];let a=t<e,[l,n,o]=function e(t,i,a){let l=(i-t)/Math.max(0,a),n=Math.floor(Math.log10(l)),o=l/Math.pow(10,n),r=o>=Math.sqrt(50)?10:o>=Math.sqrt(10)?5:o>=Math.sqrt(2)?2:1,s,c,h;return n<0?(s=Math.round(t*(h=Math.pow(10,-n)/r)),c=Math.round(i*h),s/h<t&&s++,c/h>i&&c--,h=-h):(s=Math.round(t/(h=Math.pow(10,n)*r)),c=Math.round(i/h),s*h<t&&s++,c*h>i&&c--),c<s&&.5<=a&&a<2?e(t,i,2*a):[s,c,h]}(a?t:e,a?e:t,i);if(!(n>=l))return[];let r=n-l+1,s=Array(r);if(a)if(o<0)for(let e=0;e<r;e++)s[e]=-((n-e)/o);else for(let e=0;e<r;e++)s[e]=(n-e)*o;else if(o<0)for(let e=0;e<r;e++)s[e]=-((l+e)/o);else for(let e=0;e<r;e++)s[e]=(l+e)*o;return s.map(ey)}function ep(e){return!Number.isFinite(e)||Number.isInteger(e)?String(e):Number(e.toPrecision(12)).toString()}function ey(e){return Math.round(1e12*e)/1e12}var em={nodeLabelFontSize:14,edgeLabelFontSize:16,groupHeaderFontSize:20,nodeLabelFontWeight:400,edgeLabelFontWeight:400,groupHeaderFontWeight:500,nodePaddingX:0,nodePaddingY:0,nodeLineWidth:0,edgeLineWidth:3,groupCornerRadius:0,groupPaddingX:0,groupPaddingY:0,groupLineWidth:R.outerBox};function eb(e,t,i,a){let l=e.series.some(e=>"line"===e.type)?t:0,n=e=>e.showLabel&&e.showTick?e.tickWidth/2:0;return{value:Math.max(.5,n(i),l),position:a?Math.max(n(a),l):0}}function ev(e){return e.showAxisLine?e.axisLineWidth/2:0}function ew(e,t,i,a,l,n,o){if(!t.showLegend)return{items:[],size:0,hiddenLabels:[]};let r=function(e){if(!(e.length>1||e.some(e=>void 0!==e.label&&e.label.length>0)))return[];let t=[],i=0,a=0;for(let l=0;l<e.length;l++){let n=e[l],o="bar"===n.type?i++:a++,r="bar"===n.type?`Bar ${o+1}`:`Line ${o+1}`;t.push({label:void 0!==n.label&&n.label.length>0?n.label:r,type:n.type,seriesIndex:o,colorIndex:l})}return t}(e.series);if(0===r.length)return{items:[],size:0,hiddenLabels:[]};let s=Math.ceil(Math.max(...r.map(e=>o.legend(e.label,t.legendFontSize)))),c=2*t.legendPadding+12+6+s,h=Math.max(...r.map(e=>o.block("legend",e.label,t.legendFontSize).height),12)+t.legendPadding,d=t.legendPadding+r.length*h;if(c>i||d>n)return{items:[],size:0,hiddenLabels:r.map(e=>e.label)};let x=a-c+t.legendPadding;return{items:r.map((e,i)=>({label:e.label,x:x,y:l+t.legendPadding+i*h,type:e.type,seriesIndex:e.seriesIndex,colorIndex:e.colorIndex})),size:c,hiddenLabels:[]}}function ek(e,t,i,a){if(!e||!t.showTitle)return{height:0};let l=a.wrapTitle(e,t.titleFontSize,Math.max(1,t.width-2*t.titlePadding)),n=(l.height,l.lineHeight,l.height+2*t.titlePadding);return n>i?{height:0}:{height:n,title:{text:l.text,block:l,x:t.width/2,y:t.titlePadding+l.height/2}}}function eA(e,t,i,a,l,n=e.titleFontSize){let o=a,r={...e,showAxisLine:!1,showLabel:!1,showTick:!1,showTitle:!1};if(e.showAxisLine&&o>e.axisLineWidth&&(r.showAxisLine=!0,o-=e.axisLineWidth),e.showLabel&&i.length>0){let t=l()+2*e.labelPadding;t<=o&&(r.showLabel=!0,o-=t)}if(e.showTick&&o>=e.tickLength&&(r.showTick=!0,o-=e.tickLength),e.showTitle&&t){let t=n+2*e.titlePadding;t<=o&&(r.showTitle=!0,o-=t)}return{config:r,size:a-o}}function eL(e,t,i,a,l){let n=t?l.block("axisTitle",t,e.titleFontSize).height-e.titleFontSize*(G-1):e.titleFontSize;return eA(e,t,i,a,()=>Math.max(e.labelFontSize,...i.map(t=>l.block("tick",t,e.labelFontSize).height-e.labelFontSize*(G-1))),n)}function ez(e,t,i,a,l,n){return eA(e,t,i,a,()=>Math.max(...i.map(t=>l.tick(t,e.labelFontSize))),t?l.block("axisTitle",t,e.titleFontSize,Math.max(1,n-4)).height-e.titleFontSize*(G-1):e.titleFontSize)}function eS(e,t,i,a,l,n,o){let r=l.showAxisLine?l.axisLineWidth:0,s=l.showTick?l.tickLength:0,c=a.y+a.height+r+s+l.labelPadding+.4*l.labelFontSize,h=t.map(e=>n.tick(e,l.labelFontSize)),d=h.length?Math.max(...h):0,x=e.map(e=>i(e)),g=1/0;for(let e=1;e<x.length;e++)g=Math.min(g,Math.abs(x[e]-x[e-1]));let u=Number.isFinite(g)&&g>0?Math.max(1,Math.ceil((d+6)/g)):1;return e.map((e,l)=>{let n=l%u==0?t[l]:"",d=i(e);if(void 0!==o&&n){let e=h[l]/2;d=Math.max(2+e,Math.min(o-2-e,d))}return{label:n,x:i(e),y:a.y+a.height+r,tx:i(e),ty:a.y+a.height+r+s,labelX:d,labelY:c,textAnchor:"middle"}})}function e$(e,t,i,a,l){let n=l.showAxisLine?l.axisLineWidth:0,o=l.showTick?l.tickLength:0,r=a.x-n-o-l.labelPadding;return e.map((e,l)=>({label:t[l],x:a.x-n,y:i(e),tx:a.x-n-o,ty:i(e),labelX:r,labelY:i(e),textAnchor:"end"}))}function eC(e,t){let i=e.x-(t.showAxisLine?t.axisLineWidth/2:0);return{x1:i,y1:e.y,x2:i,y2:e.y+e.height}}function eM(e,t,i,a,l){if(!e||!i.showTitle)return;let n=l.block("axisTitle",e,i.titleFontSize,Math.max(1,a-4)),o=n.width/2,r=t.y+t.height/2;return{text:e,block:n,x:i.titlePadding+.8*i.titleFontSize,y:2*o+4>=a?a/2:Math.min(a-2-o,Math.max(2+o,r)),rotate:-90}}function eF(e,t,i,a){let l=e.xAxis.categories;if(!l||e.xAxis.range||!t.xAxis.showLabel)return[];let n=(e,t)=>t<l.length&&""!==e,o=ex(e);return i.showLabel?o.filter((e,t)=>n(e,t)&&a[t]?.label===""):o.filter(n)}function eT(e,t,i,a,l){if(!a.showDataLabel||0===e.length)return{dataLabels:[],unlabeledBars:[]};let n=e.map(e=>eu(e.value)),o=16;for(;o>=8&&!e.every((e,i)=>{let a=l.block("data",n[i],o);return t?a.height<=e.height-4:a.width<=e.width-8});o--);if(o<8)return{dataLabels:[],unlabeledBars:[...e]};let r=[],s=[];return e.forEach((e,c)=>{let h=n[c],d=l.block("data",h,o),x=d.width,g=t?e.width-12>=x:e.height-10>=d.height,u=a=>(t?a?i.x+i.width-(e.x+e.width):e.x-i.x:a?e.y-i.y:i.y+i.height-(e.y+e.height))>=(t?x:d.height)+4,f=e.value>0||0===e.value&&(u(!0)||!u(!1)),p=u(f),y=a.showDataLabelOutsideBar?p?"outside":g?"inside":void 0:g?"inside":p?"outside":void 0;if(!y)return void s.push(e);if(t){let t="outside"===y===f,i=f?e.x+e.width:e.x,a="outside"===y?4:-8;r.push({bar:e,text:h,fontSize:o,placement:y,x:i+(f?a:-a),y:e.y+e.height/2,anchor:t?"start":"end",dominantBaseline:"middle"});return}let m="inside"===y?f:!f;r.push({bar:e,text:h,fontSize:o,placement:y,x:e.x+e.width/2,y:"inside"===y?f?e.y+8:e.y+e.height-8:f?e.y-4:e.y+e.height+4,anchor:"middle",...m?{dominantBaseline:"hanging"}:{}})}),{dataLabels:r,unlabeledBars:s}}function eW(e,t,i,a,l,n,o,r){let s=e.series.filter(e=>"bar"===e.type).length;if(0===s)return[];let c=.95*i,h=c/Math.max(1,s),d=[],x=0,g=0,u=a(eg(l,0));for(let i of e.series){if("bar"!==i.type){g++;continue}for(let e=0;e<i.data.length;e++){let s=t(e)-c/2+x*h,f=a(eg(l,i.data[e])),p=Math.min(f,u),y=Math.abs(u-f);d.push({x:r?p:s,y:r?s:p,width:r?y:h,height:r?h:y,value:i.data[e],label:n[e],seriesIndex:x,colorIndex:o[g]})}x++,g++}return d}function e_(e,t,i,a,l,n,o){let r=[],s=0,c=0;for(let h of e.series){if("line"!==h.type){c++;continue}r.push({points:h.data.map((e,n)=>{let r=t(n),s=i(eg(a,e));return{x:o?s:r,y:o?r:s,value:e,label:l[n],...h.pointLabels?.[n]!==void 0?{textLabel:h.pointLabels[n]}:{}}}),seriesIndex:s,colorIndex:n[c]}),s++,c++}return r}var eI=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))(?:\s+([\s\S]+))?$/;function eP(e,t=!1,i){let a=[],l=[];for(let n of eJ(e)){let e=n.trim().match(eI);if(!e)throw Error(`Invalid XYChart point: "${n.trim()}"`);let o=Number(e[1]);if(!Number.isFinite(o))throw Error(`XYChart point must be finite: "${n.trim()}"`);let r=e[2]?.trim();if(t&&void 0!==r&&!r.startsWith('"'))throw Error(`XYChart point labels must be double-quoted: "${n.trim()}"`);let s=void 0===r?void 0:eq(r);if(null===s)throw Error(`Invalid XYChart point label: "${n.trim()}"`);a.push(o),W("xychart")&&I("xychart","appendSeriesValue",{index:a.length-1,value:o},{line:i,unit:"normalized"}),l.push(s),W("xychart")&&I("xychart","appendSeriesPointLabel",{index:l.length-1,label:s},{line:i,unit:"normalized"})}if(0===a.length)throw Error("XYChart series must contain at least one point");return{values:a,labels:l}}var eN=String.raw`[+-]?(?:\d+(?:\.\d+)?|\.\d+)`,eO=RegExp(`^(${eN})\\s*-->\\s*(${eN})$`),ej=/[^A-Za-z0-9&+=*.#_\s-]/,eB=/[^A-Za-z&+=*.#_\s-]/,eE=/(?<![A-Za-z])(?:xychart-beta|xychart|vertical|horizontal|[xy]-axis|title|line|bar)(?![A-Za-z0-9_])/i;function eY(e,t,i,a,l){if(!l||e.startsWith('"'))return;let n=e.startsWith("'")?"'":("xychart_unquoted_axis_title"===a?eB:ej).exec(t)?.[0];if(void 0!==n)return l(a,`${i} ${JSON.stringify(t)} has ${JSON.stringify(n)} outside a double-quoted string, which pinned Mermaid rejects`);let o=eE.exec(t)?.[0];void 0!==o&&l(a,`${i} ${JSON.stringify(t)} has the keyword ${JSON.stringify(o)} outside a double-quoted string, where pinned Mermaid ends the text: it rejects the line or reads another statement there`)}function eX(e,t,i,a,l){let n=t.trim();if(0===n.length)return!1;let o=eV(n);if(o&&"x"===i){let t=o.prefix,n=t.length>0?eq(t):void 0;if(null===n)return!1;let r=function(e){let t=eJ(e),i=[];for(let e of t){let t=eq(e);if(null===t||0===t.length)throw j({what:`Invalid XYChart category ${JSON.stringify(e)}`,expectedForm:"nonempty categories separated by commas",example:'x-axis ["A", "B"]'});i.push(t)}return i}(o.contents);if(0===r.length)return!1;if(l)for(let e of eJ(o.contents))eY(e,e,"XY chart category","xychart_unquoted_text",l);return void 0!==n&&(eY(t,n,`XY chart ${i}-axis title`,"xychart_unquoted_axis_title",l),e.title=n,W("xychart")&&I("xychart","setAxisTitle",{axis:i,title:n},{line:a,unit:"normalized"})),e.categories=r,W("xychart")&&I("xychart","setAxisCategories",{axis:i,categories:r},{line:a,unit:"normalized"}),delete e.range,W("xychart")&&I("xychart","deleteAxisRange",i,{line:a,unit:"normalized"}),delete e.rangeAuthored,W("xychart")&&I("xychart","deleteAxisRangeAuthored",i,{line:a,unit:"normalized"}),e.authored=!0,W("xychart")&&I("xychart","setAxisAuthored",{axis:i,authored:!0},{line:a,unit:"normalized"}),!0}let r=eD(n);return!!r&&(void 0!==r.title&&(eY(n,r.title,`XY chart ${i}-axis title`,"xychart_unquoted_axis_title",l),e.title=r.title,W("xychart")&&I("xychart","setAxisTitle",{axis:i,title:e.title},{line:a,unit:"normalized"})),r.range&&(e.range=r.range,W("xychart")&&I("xychart","setAxisRange",{axis:i,range:e.range},{line:a,unit:"normalized"}),e.rangeAuthored=!0,W("xychart")&&I("xychart","setAxisRangeAuthored",{axis:i,authored:!0},{line:a,unit:"normalized"}),delete e.categories,W("xychart")&&I("xychart","deleteAxisCategories",i,{line:a,unit:"normalized"})),e.authored=!0,W("xychart")&&I("xychart","setAxisAuthored",{axis:i,authored:!0},{line:a,unit:"normalized"}),!0)}function eD(e){let t=e=>({min:parseFloat(e[1]),max:parseFloat(e[2])}),i=e.match(eO);if(i)return{range:t(i),words:!1};let a=eU(e);if(!a)return null;let l=a.rest.match(eO);if(l)return{title:a.value,range:t(l),words:!1};if(0===a.rest.length)return{title:a.value,words:!1};if(/^["']/.test(e))return null;let n=e,o,r=e.lastIndexOf("--\x3e");if(r>=0){let i=e.slice(0,r).trimEnd(),a=i.length;for(;a>0&&!/\s/.test(i[a-1]);)a--;let l=`${i.slice(a)} --> ${e.slice(r+3).trim()}`.match(eO);if(!l)return null;n=i.slice(0,a).trim(),o=t(l)}return/^[^"[\]]+$/.test(n)&&!n.includes("--\x3e")?{title:n,...o?{range:o}:{},words:!0}:null}var eR={subject:"XYChart text entity",example:'title "Say #quot;hi#quot;"'};function eU(e){let t=e.trim();if(0===t.length)return;if(t.startsWith('"')||t.startsWith("'")){let e=function(e){let t=e[0];if('"'!==t&&"'"!==t)return null;let i="",a=!1;for(let l=1;l<e.length;l++){let n=e[l];if(a){n===t||"\\"===n?i+=n:i+=`\\${n}`,a=!1;continue}if("\\"===n){a=!0;continue}if(n===t)return{value:i,endIndex:l};i+=n}return null}(t);return e?{value:n(e.value,eR),rest:t.slice(e.endIndex+1).trim()}:void 0}let i=t.match(/^([^\s]+)(?:\s+(.*))?$/);if(i)return{value:i[1],rest:(i[2]??"").trim()}}function eq(e){let t=e.trim();if(!t)return null;if(!t.startsWith('"')&&!t.startsWith("'"))return t;let i=eU(t);return i&&0===i.rest.length?i.value:null}function eH(e){let t=e.match(/^(bar|line)\b/i);if(!t)return null;let i=eV(e.slice(t[0].length).trim());if(!i)return null;let a=i.prefix.length>0?function(e){if(!e)return;let t=e.trim();return t?eq(t):void 0}(i.prefix):void 0;return null===a?null:{type:t[1].toLowerCase(),label:a,points:i.contents}}function eV(e){let t=null,i=!1,a=-1,l=0,n=-1;for(let o=0;o<e.length;o++){let r=e[o];if(t){if(i){i=!1;continue}if("\\"===r){i=!0;continue}r===t&&(t=null);continue}if('"'===r||"'"===r){t=r;continue}if("["===r){0===l&&(a=o),l++;continue}if("]"===r){if(0===l)return null;0==--l&&(n=o)}}return t||0!==l||a<0||n<a||e.slice(n+1).trim()?null:{prefix:e.slice(0,a).trim(),contents:e.slice(a+1,n)}}function eJ(e){let t=[],i="",a=null,l=!1;for(let n=0;n<e.length;n++){let o=e[n];if(a){if(i+=o,l){l=!1;continue}if("\\"===o){l=!0;continue}o===a&&(a=null);continue}if('"'===o||"'"===o){a=o,i+=o;continue}if(","===o){eQ(t,i),i="";continue}i+=o}if(a)throw Error("Unclosed quoted XYChart value");return eQ(t,i),t}function eQ(e,t){e.push(t.trim())}function eZ(e){let t=v(e,["config"])??e,i=v(e,["config","xyChart"])??v(e,["xyChart"])??{},a=e5(i,["chartOrientation"]),l={width:e1(i,["width"]),height:e1(i,["height"]),useMaxWidth:e0(i,["useMaxWidth"])??e0(t,["useMaxWidth"]),useWidth:e1(i,["useWidth"])??e1(t,["useWidth"]),titleFontSize:e1(i,["titleFontSize"]),titlePadding:e2(i,["titlePadding"]),chartOrientation:"horizontal"===a||"vertical"===a?a:void 0,plotReservedSpacePercent:e1(i,["plotReservedSpacePercent"]),showDataLabel:e0(i,["showDataLabel"]),showDataLabelOutsideBar:e0(i,["showDataLabelOutsideBar"]),showTitle:e0(i,["showTitle"]),showLegend:e0(i,["showLegend"]),legendFontSize:e1(i,["legendFontSize"]),legendPadding:e2(i,["legendPadding"]),xAxis:eK(i,"xAxis"),yAxis:eK(i,"yAxis")};return W("xychart")&&I("xychart","resolveConfig",l),l}function eG(e){let t=v(e,["config"])??e,i=v(e,["config","themeVariables","xyChart"])??v(e,["themeVariables","xyChart"])??{},a={backgroundColor:e5(i,["backgroundColor"]),themeCss:e5(t,["themeCSS"]),titleColor:e5(i,["titleColor"]),xAxisLabelColor:e5(i,["xAxisLabelColor"]),xAxisTickColor:e5(i,["xAxisTickColor"]),xAxisLineColor:e5(i,["xAxisLineColor"]),xAxisTitleColor:e5(i,["xAxisTitleColor"]),yAxisLabelColor:e5(i,["yAxisLabelColor"]),yAxisTickColor:e5(i,["yAxisTickColor"]),yAxisLineColor:e5(i,["yAxisLineColor"]),yAxisTitleColor:e5(i,["yAxisTitleColor"]),legendTextColor:e5(i,["legendTextColor"]),dataLabelColor:e5(i,["dataLabelColor"]),plotColorPalette:function(e,t){let i=m(e,t);if(i&&i.length>0){let e=i.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(Boolean);if(e.length>0)return e}var a=e5(e,t);if(!a)return;let l=E(a).map(e=>e.trim()).filter(Boolean);return l.length>0?l:void 0}(i,["plotColorPalette"])};return W("xychart")&&I("xychart","resolveTheme",a),a}function eK(e,t){let i=v(e,[t]);if(!i)return;let a=e0(i,["showLabel"]),l=e1(i,["labelFontSize"]),n=e2(i,["labelPadding"]),o=e0(i,["showTitle"]),r=e1(i,["titleFontSize"]),s=e2(i,["titlePadding"]),c=e0(i,["showTick"]),h=e2(i,["tickLength"]),d=e1(i,["tickWidth"]),x=e0(i,["showAxisLine"]),g=e1(i,["axisLineWidth"]);if(void 0!==a||void 0!==l||void 0!==n||void 0!==o||void 0!==r||void 0!==s||void 0!==c||void 0!==h||void 0!==d||void 0!==x||void 0!==g)return{showLabel:a,labelFontSize:l,labelPadding:n,showTitle:o,titleFontSize:r,titlePadding:s,showTick:c,tickLength:h,tickWidth:d,showAxisLine:x,axisLineWidth:g}}function e0(e,t){let i=w(e,t);return"boolean"==typeof i?i:void 0}function e1(e,t){let i=w(e,t);return"number"==typeof i&&Number.isFinite(i)&&i>0?i:void 0}function e2(e,t){let i=w(e,t);return"number"==typeof i&&Number.isFinite(i)&&i>=0?i:void 0}function e5(e,t){let i=w(e,t);return"string"==typeof i&&i.trim().length>0?i.trim():void 0}function e4(e){return r(e,{escapes:!1,restOfLine:/(?<!\w)acc(?:Title|Descr)\s*:/iy,block:e8})}function e6(e,t,i){let a=[],l=!1,n=e4(e);for(let r=0;r<e.length;r++){let c=r,h=e[r].trim();if(!h||h.startsWith("%%"))continue;if(l){a.push(h),i?.push(c),h.includes("}")&&(l=!1);continue}let d=/^acc(?:Title|Descr)\b/i.test(h);if(!d){let t=n[r];t>r&&(h=s(e,r,t).trim(),r=t)}for(let e of d?tt(h,t):function(e,t){let i=o(e,e8);if(i<0)return tt(e,t);let a=e.slice(0,i).trimEnd(),l=tt(a,t),n=l.length-1;return n>=0&&e3.test(l[n])&&(l[n]=e.slice(a.length-l[n].length).trim()),l}(h,t)){a.push(e),i?.push(c);let t=e.match(/^accDescr\s*:?\s*\{(.*)$/i);t&&!t[1].includes("}")&&(l=!0)}}return a}var e3=/^acc(?:Title|Descr)\s*:/i,e8=/(?<!\w)accDescr\s*\{/iy,e7=/(?:title|[xy]-axis|bar|line)(?!\w)|acc(?:Title\s*:|Descr\s*[:{])/iy;function e9(e,t,i){let a=0;if(i.length>0){let l=te(t.slice(0,i[0]).trim());for(let n=0;n<i.length;n++){let o=te(t.slice(i[n],i[n+1]).trim());if(l&&o&&("title"!==l||"data"===o)){let r=t.slice(a,i[n]).trim();r&&e.push(r),a=i[n],l=o}else"title"!==l&&(l=o)}}let l=t.slice(a).trim();l&&e.push(l)}function te(e){let t=e.match(/^(title|x-axis|y-axis)\s+([\s\S]+)$/i);if(!t){let t=eH(e);return t&&eJ(t.points).every(e=>eI.test(e.trim()))?"data":void 0}let i=t[2].trim(),a=i.startsWith('"')||i.startsWith("'");if(/^title$/i.test(t[1]))return null===eq(i)?void 0:a?"data":"title";let l=/^x/i.test(t[1])?eV(i):null;if(l)return l.prefix&&null===eq(l.prefix)?void 0:"data";let n=eD(i);return n?n.range||a?"data":n.words?"title":"text":void 0}function tt(e,t){let i=[],a="",l=null,n=0,o=0,r=!1,s=[],c=!1,h=!0;for(let t=0;t<e.length;t++){let d=e[t];if(l){if(a+=d,r){r=!1;continue}if("\\"===d){r=!0;continue}d===l&&(l=null);continue}if('"'===d||"'"===d){l=d,a+=d;continue}if("["===d){n++,a+=d;continue}if("]"===d){n--,a+=d;continue}if("{"===d){o++,a+=d;continue}if("}"===d){o--,a+=d;continue}if(";"===d&&0===n&&0===o){e9(i,a,s),a="",s=[],c=!1,h=!0;continue}if(h&&0===n&&0===o&&/[abltxy]/i.test(d)&&!/\w/.test(e[t-1]??" ")){e7.lastIndex=t;let l=e7.exec(e);if(l&&/^acc/i.test(l[0])){let n=[];if(e9(n,a,s),0===n.length||void 0!==te(n[n.length-1])){if(i.push(...n),a="",s=[],!l[0].endsWith("{"))return i.push(e.slice(t).trim()),i;let o=e.indexOf("}",t+l[0].length);if(o>=0){a+=e.slice(t,o+1),t=o,c=!0,h=!1;continue}}h=!1}else l&&c&&s.push(a.length)}c||/\s/.test(d)||(c=!0),a+=d}if(t&&(l||0!==n||0!==o))throw Error(`Unclosed XYChart delimiter in line: "${e}"`);return e9(i,a,s),i}function ti(e,t,i,a,l,n){if(i.config.showAxisLine&&t.push(e.shape({id:`axis:${a}:line`,role:"axis",geometry:{kind:"line",x1:tn(i.line.x1),y1:tn(i.line.y1),x2:tn(i.line.x2),y2:tn(i.line.y2)},paint:{stroke:l,strokeWidth:String(i.config.axisLineWidth)},attributes:{className:`xychart-axis-line xychart-${a}-axis-line`}})),i.config.showTick)for(let l of i.ticks)t.push(e.shape({id:`axis:${a}:tick:${l.label}`,role:"axis",geometry:{kind:"line",x1:tn(l.x),y1:tn(l.y),x2:tn(l.tx),y2:tn(l.ty)},paint:{stroke:n,strokeWidth:String(i.config.tickWidth)},attributes:{className:`xychart-tick xychart-${a}-tick`}}))}function ta(e,t,i,a,l,n,o){for(let r of i){let i=r.block?.text??U(r.label,n.edgeTextTransform),s="end"===r.textAnchor;t.push(e.text({id:`axis:${l}:label:${r.label}`,role:"axis",text:i,block:r.block,x:r.labelX,y:r.labelY,fontSize:a,fontWeight:n.nodeLabelFontWeight,letterSpacing:n.nodeLetterSpacing,display:"literal",anchor:r.textAnchor,...s?{dominantBaseline:"middle",baselineShift:0}:{},paint:{fill:o},attributes:{className:`xychart-label xychart-${l}-label`}}))}}function tl(e,t,i){let n=t??a,o=e.theme.plotColorPalette,r=l(Math.max(0,...e.bars.map(e=>e.colorIndex),...e.lines.map(e=>e.colorIndex))+1,{accent:n,bg:i}),s=e=>o&&o.length>0?o[e%o.length]:r[e];return{concrete:s,css:e=>!(o&&o.length>0)&&0===e&&r.length<=6&&r[0]===n?`var(--accent, ${a})`:s(e)}}function tn(e){return Math.round(100*e)/100}function to(e){return tn(e).toString()}var tr=N(function(e,a){let l,n,o,r,s,{positioned:c,colors:h,resolved:d}=a,x=d.renderOptions,g=h.font??"Inter",u=x.transparent??!1,f=x.interactive??!1,p=[],y=q(x,em,d.styleFace),m=(l=c.theme,{gridStroke:y.edgeStrokeColor??"color-mix(in srgb, var(--fg) 14%, transparent)",titleColor:l.titleColor??y.groupTextColor??y.nodeTextColor??"var(--_text)",labelColor:y.nodeTextColor??"var(--_text)",xAxisLabelColor:l.xAxisLabelColor??y.nodeTextColor??"var(--_text)",yAxisLabelColor:l.yAxisLabelColor??y.nodeTextColor??"var(--_text)",xAxisTickColor:l.xAxisTickColor??y.groupTextColor??"var(--_text-sec)",yAxisTickColor:l.yAxisTickColor??y.groupTextColor??"var(--_text-sec)",xAxisLineColor:l.xAxisLineColor??y.edgeStrokeColor??"var(--_text-sec)",yAxisLineColor:l.yAxisLineColor??y.edgeStrokeColor??"var(--_text-sec)",xAxisTitleColor:l.xAxisTitleColor??y.edgeTextColor??y.nodeTextColor??"var(--_text)",yAxisTitleColor:l.yAxisTitleColor??y.edgeTextColor??y.nodeTextColor??"var(--_text)",legendTextColor:l.legendTextColor??y.nodeTextColor??"var(--_text)"}),b=!!c.theme.plotColorPalette?.length,v=Math.max(0,...c.bars.map(e=>e.colorIndex),...c.lines.map(e=>e.colorIndex)),w=(n=`mermaid-${function(e){let t=[e.width,e.height,e.title?.text??"",e.accessibility?.title??"",e.accessibility?.description??"",e.bars.length,e.lines.length].join("|"),i=5381;for(let e=0;e<t.length;e++)i=(i<<5)+i^t.charCodeAt(e);return Math.abs(i>>>0).toString(36)}(c)}`,o=c.accessibility?.title?`chart-title-${n}`:void 0,r=c.accessibility?.description?`chart-desc-${n}`:void 0,s=c.config.useWidth??c.width,{openTag:{width:c.config.useMaxWidth?"100%":String(s),height:c.config.useMaxWidth?"100%":String(Math.round(c.height*(s/Math.max(1,c.width)))),style:c.config.useMaxWidth?`max-width:${s}px`:void 0,attrs:{id:n,class:"xychart",role:o||r?"img":void 0,"aria-roledescription":"xychart","aria-labelledby":o,"aria-describedby":r}},title:c.accessibility?.title?`<title id="${o}">${V(c.accessibility.title)}</title>`:void 0,description:c.accessibility?.description?`<desc id="${r}">${V(c.accessibility.description)}</desc>`:void 0}),k=D(c.width,c.height,h,u,w.openTag).replace("<svg ",`<svg data-xychart-colors="${v}" `),{style:A,defs:L}=function(e,t,a,l){let n=new Set;for(let t of e.bars)n.add(t.colorIndex);for(let t of e.lines)n.add(t.colorIndex);let o=[],r=tl(e,a,l);for(let e of[...n].sort((e,t)=>e-t))o.push(` --xychart-color-${e}: ${r.css(e)};`);let s=t?i("xychart",["xychart-bar-group","xychart-dot-group"]):"",c=o.length>0?`
5
+ bar [45, 62, 80]`,detect:ee,detectLoose:ee}),ei={width:h,height:h,useMaxWidth:g,useWidth:h,titleFontSize:h,titlePadding:d,chartOrientation:u("vertical","horizontal"),plotReservedSpacePercent:f(0,100,!1),showDataLabel:g,showDataLabelOutsideBar:g,showTitle:g,showLegend:g,legendFontSize:h,legendPadding:d,xAxis:c("an axis-config object",e=>!!e&&"object"==typeof e&&!Array.isArray(e)),yAxis:c("an axis-config object",e=>!!e&&"object"==typeof e&&!Array.isArray(e))},ea={showLabel:g,labelFontSize:h,labelPadding:d,labelRotation:x,showTitle:g,titleFontSize:h,titlePadding:d,showTick:g,tickLength:d,tickWidth:h,showAxisLine:g,axisLineWidth:h},el={showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},en={width:700,height:500,useMaxWidth:!0,useWidth:void 0,titleFontSize:20,titlePadding:10,chartOrientation:"vertical",plotReservedSpacePercent:50,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,showLegend:!0,legendFontSize:14,legendPadding:5,xAxis:{...el},yAxis:{...el}};function eo(e){return{showLabel:ec(e?.showLabel,el.showLabel),labelFontSize:er(e?.labelFontSize,el.labelFontSize),labelPadding:es(e?.labelPadding,el.labelPadding),showTitle:ec(e?.showTitle,el.showTitle),titleFontSize:er(e?.titleFontSize,el.titleFontSize),titlePadding:es(e?.titlePadding,el.titlePadding),showTick:ec(e?.showTick,el.showTick),tickLength:es(e?.tickLength,el.tickLength),tickWidth:er(e?.tickWidth,el.tickWidth),showAxisLine:ec(e?.showAxisLine,el.showAxisLine),axisLineWidth:er(e?.axisLineWidth,el.axisLineWidth)}}function er(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:t}function es(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>=0?e:t}function ec(e,t){return"boolean"==typeof e?e:t}function eh(e){let t=Math.max(0,...e.series.map(e=>e.data.length));return e.xAxis.categories?Math.max(1,e.xAxis.categories.length,t):Math.max(1,t)}function ed(e,t=eh(e)){if(e.xAxis.range){let{min:i,max:a}=e.xAxis.range,l=t>1?(a-i)/(t-1):0;return Array.from({length:t},(e,t)=>i+l*t)}return Array.from({length:t},(e,t)=>t)}function ex(e,t=eh(e)){return e.xAxis.categories?Array.from({length:t},(t,i)=>e.xAxis.categories[i]??String(i+1)):e.xAxis.range?ed(e,t).map(e=>ep(e)):Array.from({length:t},(e,t)=>String(t+1))}function eg(e,t){let i=Math.min(e.min,e.max);return Math.min(Math.max(e.min,e.max),Math.max(i,t))}function eu(e){if(Number.isInteger(e))return String(e);let t=e.toFixed(+(10>Math.abs(e)));return 0===Number(t)&&0!==e?String(e):t}function ef(e,t,i=10){if(!(i>0))return[];if(e===t)return[e];let a=t<e,[l,n,o]=function e(t,i,a){let l=(i-t)/Math.max(0,a),n=Math.floor(Math.log10(l)),o=l/Math.pow(10,n),r=o>=Math.sqrt(50)?10:o>=Math.sqrt(10)?5:o>=Math.sqrt(2)?2:1,s,c,h;return n<0?(s=Math.round(t*(h=Math.pow(10,-n)/r)),c=Math.round(i*h),s/h<t&&s++,c/h>i&&c--,h=-h):(s=Math.round(t/(h=Math.pow(10,n)*r)),c=Math.round(i/h),s*h<t&&s++,c*h>i&&c--),c<s&&.5<=a&&a<2?e(t,i,2*a):[s,c,h]}(a?t:e,a?e:t,i);if(!(n>=l))return[];let r=n-l+1,s=Array(r);if(a)if(o<0)for(let e=0;e<r;e++)s[e]=-((n-e)/o);else for(let e=0;e<r;e++)s[e]=(n-e)*o;else if(o<0)for(let e=0;e<r;e++)s[e]=-((l+e)/o);else for(let e=0;e<r;e++)s[e]=(l+e)*o;return s.map(ey)}function ep(e){return!Number.isFinite(e)||Number.isInteger(e)?String(e):Number(e.toPrecision(12)).toString()}function ey(e){return Math.round(1e12*e)/1e12}var em={nodeLabelFontSize:14,edgeLabelFontSize:16,groupHeaderFontSize:20,nodeLabelFontWeight:400,edgeLabelFontWeight:400,groupHeaderFontWeight:500,nodePaddingX:0,nodePaddingY:0,nodeLineWidth:0,edgeLineWidth:3,groupCornerRadius:0,groupPaddingX:0,groupPaddingY:0,groupLineWidth:R.outerBox};function eb(e,t,i,a){let l=e.series.some(e=>"line"===e.type)?t:0,n=e=>e.showLabel&&e.showTick?e.tickWidth/2:0;return{value:Math.max(.5,n(i),l),position:a?Math.max(n(a),l):0}}function ev(e){return e.showAxisLine?e.axisLineWidth/2:0}function ew(e,t,i,a,l,n,o){if(!t.showLegend)return{items:[],size:0,hiddenLabels:[]};let r=function(e){if(!(e.length>1||e.some(e=>void 0!==e.label&&e.label.length>0)))return[];let t=[],i=0,a=0;for(let l=0;l<e.length;l++){let n=e[l],o="bar"===n.type?i++:a++,r="bar"===n.type?`Bar ${o+1}`:`Line ${o+1}`;t.push({label:void 0!==n.label&&n.label.length>0?n.label:r,type:n.type,seriesIndex:o,colorIndex:l})}return t}(e.series);if(0===r.length)return{items:[],size:0,hiddenLabels:[]};let s=Math.ceil(Math.max(...r.map(e=>o.legend(e.label,t.legendFontSize)))),c=2*t.legendPadding+12+6+s,h=Math.max(...r.map(e=>o.block("legend",e.label,t.legendFontSize).height),12)+t.legendPadding,d=t.legendPadding+r.length*h;if(c>i||d>n)return{items:[],size:0,hiddenLabels:r.map(e=>e.label)};let x=a-c+t.legendPadding;return{items:r.map((e,i)=>({label:e.label,x:x,y:l+t.legendPadding+i*h,type:e.type,seriesIndex:e.seriesIndex,colorIndex:e.colorIndex})),size:c,hiddenLabels:[]}}function eA(e,t,i,a){if(!e||!t.showTitle)return{height:0};let l=a.wrapTitle(e,t.titleFontSize,Math.max(1,t.width-2*t.titlePadding)),n=(l.height,l.lineHeight,l.height+2*t.titlePadding);return n>i?{height:0}:{height:n,title:{text:l.text,block:l,x:t.width/2,y:t.titlePadding+l.height/2}}}function ek(e,t,i,a,l,n=e.titleFontSize){let o=a,r={...e,showAxisLine:!1,showLabel:!1,showTick:!1,showTitle:!1};if(e.showAxisLine&&o>e.axisLineWidth&&(r.showAxisLine=!0,o-=e.axisLineWidth),e.showLabel&&i.length>0){let t=l()+2*e.labelPadding;t<=o&&(r.showLabel=!0,o-=t)}if(e.showTick&&o>=e.tickLength&&(r.showTick=!0,o-=e.tickLength),e.showTitle&&t){let t=n+2*e.titlePadding;t<=o&&(r.showTitle=!0,o-=t)}return{config:r,size:a-o}}function eL(e,t,i,a,l){let n=t?l.block("axisTitle",t,e.titleFontSize).height-e.titleFontSize*(K-1):e.titleFontSize;return ek(e,t,i,a,()=>Math.max(e.labelFontSize,...i.map(t=>l.block("tick",t,e.labelFontSize).height-e.labelFontSize*(K-1))),n)}function ez(e,t,i,a,l,n){return ek(e,t,i,a,()=>Math.max(...i.map(t=>l.tick(t,e.labelFontSize))),t?l.block("axisTitle",t,e.titleFontSize,Math.max(1,n-4)).height-e.titleFontSize*(K-1):e.titleFontSize)}function eS(e,t,i,a,l,n,o){let r=l.showAxisLine?l.axisLineWidth:0,s=l.showTick?l.tickLength:0,c=a.y+a.height+r+s+l.labelPadding+.4*l.labelFontSize,h=t.map(e=>n.tick(e,l.labelFontSize)),d=h.length?Math.max(...h):0,x=e.map(e=>i(e)),g=1/0;for(let e=1;e<x.length;e++)g=Math.min(g,Math.abs(x[e]-x[e-1]));let u=Number.isFinite(g)&&g>0?Math.max(1,Math.ceil((d+6)/g)):1;return e.map((e,l)=>{let n=l%u==0?t[l]:"",d=i(e);if(void 0!==o&&n){let e=h[l]/2;d=Math.max(2+e,Math.min(o-2-e,d))}return{label:n,x:i(e),y:a.y+a.height+r,tx:i(e),ty:a.y+a.height+r+s,labelX:d,labelY:c,textAnchor:"middle"}})}function eC(e,t,i,a,l){let n=l.showAxisLine?l.axisLineWidth:0,o=l.showTick?l.tickLength:0,r=a.x-n-o-l.labelPadding;return e.map((e,l)=>({label:t[l],x:a.x-n,y:i(e),tx:a.x-n-o,ty:i(e),labelX:r,labelY:i(e),textAnchor:"end"}))}function e$(e,t){let i=e.x-(t.showAxisLine?t.axisLineWidth/2:0);return{x1:i,y1:e.y,x2:i,y2:e.y+e.height}}function eM(e,t,i,a,l){if(!e||!i.showTitle)return;let n=l.block("axisTitle",e,i.titleFontSize,Math.max(1,a-4)),o=n.width/2,r=t.y+t.height/2;return{text:e,block:n,x:i.titlePadding+.8*i.titleFontSize,y:2*o+4>=a?a/2:Math.min(a-2-o,Math.max(2+o,r)),rotate:-90}}function eF(e,t,i,a){let l=e.xAxis.categories;if(!l||e.xAxis.range||!t.xAxis.showLabel)return[];let n=(e,t)=>t<l.length&&""!==e,o=ex(e);return i.showLabel?o.filter((e,t)=>n(e,t)&&a[t]?.label===""):o.filter(n)}function eT(e,t,i,a,l){if(!a.showDataLabel||0===e.length)return{dataLabels:[],unlabeledBars:[]};let n=e.map(e=>eu(e.value)),o=16;for(;o>=8&&!e.every((e,i)=>{let a=l.block("data",n[i],o);return t?a.height<=e.height-4:a.width<=e.width-8});o--);if(o<8)return{dataLabels:[],unlabeledBars:[...e]};let r=[],s=[];return e.forEach((e,c)=>{let h=n[c],d=l.block("data",h,o),x=d.width,g=t?e.width-12>=x:e.height-10>=d.height,u=a=>(t?a?i.x+i.width-(e.x+e.width):e.x-i.x:a?e.y-i.y:i.y+i.height-(e.y+e.height))>=(t?x:d.height)+4,f=e.value>0||0===e.value&&(u(!0)||!u(!1)),p=u(f),y=a.showDataLabelOutsideBar?p?"outside":g?"inside":void 0:g?"inside":p?"outside":void 0;if(!y)return void s.push(e);if(t){let t="outside"===y===f,i=f?e.x+e.width:e.x,a="outside"===y?4:-8;r.push({bar:e,text:h,fontSize:o,placement:y,x:i+(f?a:-a),y:e.y+e.height/2,anchor:t?"start":"end",dominantBaseline:"middle"});return}let m="inside"===y?f:!f;r.push({bar:e,text:h,fontSize:o,placement:y,x:e.x+e.width/2,y:"inside"===y?f?e.y+8:e.y+e.height-8:f?e.y-4:e.y+e.height+4,anchor:"middle",...m?{dominantBaseline:"hanging"}:{}})}),{dataLabels:r,unlabeledBars:s}}function eW(e,t,i,a,l,n,o,r){let s=e.series.filter(e=>"bar"===e.type).length;if(0===s)return[];let c=.95*i,h=c/Math.max(1,s),d=[],x=0,g=0,u=a(eg(l,0));for(let i of e.series){if("bar"!==i.type){g++;continue}for(let e=0;e<i.data.length;e++){let s=t(e)-c/2+x*h,f=a(eg(l,i.data[e])),p=Math.min(f,u),y=Math.abs(u-f);d.push({x:r?p:s,y:r?s:p,width:r?y:h,height:r?h:y,value:i.data[e],label:n[e],seriesIndex:x,colorIndex:o[g]})}x++,g++}return d}function e_(e,t,i,a,l,n,o){let r=[],s=0,c=0;for(let h of e.series){if("line"!==h.type){c++;continue}r.push({points:h.data.map((e,n)=>{let r=t(n),s=i(eg(a,e));return{x:o?s:r,y:o?r:s,value:e,label:l[n],...h.pointLabels?.[n]!==void 0?{textLabel:h.pointLabels[n]}:{}}}),seriesIndex:s,colorIndex:n[c]}),s++,c++}return r}var eI=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))(?:\s+([\s\S]+))?$/;function eP(e,t=!1,i){let a=[],l=[];for(let n of eU(e)){let e=n.trim().match(eI);if(!e)throw Error(`Invalid XYChart point: "${n.trim()}"`);let o=Number(e[1]);if(!Number.isFinite(o))throw Error(`XYChart point must be finite: "${n.trim()}"`);let r=e[2]?.trim();if(t&&void 0!==r&&!r.startsWith('"'))throw Error(`XYChart point labels must be double-quoted: "${n.trim()}"`);let s=void 0===r?void 0:eJ(r);if(null===s)throw Error(`Invalid XYChart point label: "${n.trim()}"`);a.push(o),W("xychart")&&I("xychart","appendSeriesValue",{index:a.length-1,value:o},{line:i,unit:"normalized"}),l.push(s),W("xychart")&&I("xychart","appendSeriesPointLabel",{index:l.length-1,label:s},{line:i,unit:"normalized"})}if(0===a.length)throw Error("XYChart series must contain at least one point");return{values:a,labels:l}}var eN=String.raw`[+-]?(?:\d+(?:\.\d+)?|\.\d+)`,eO=RegExp(`^(${eN})\\s*-->\\s*(${eN})$`),ej=/[^A-Za-z0-9&+=*.#_\s-]/,eB=/[^A-Za-z&+=*.#_\s-]/,eE=/(?<![A-Za-z])(?:xychart-beta|xychart|vertical|horizontal|[xy]-axis|title|line|bar)(?![A-Za-z0-9_])/i;function eY(e,t,i,a,l){if(!l||e.startsWith('"'))return;let n=e.startsWith("'")?"'":("xychart_unquoted_axis_title"===a?eB:ej).exec(t)?.[0];if(void 0!==n)return l(a,`${i} ${JSON.stringify(t)} has ${JSON.stringify(n)} outside a double-quoted string, which pinned Mermaid rejects`);let o=eE.exec(t)?.[0];void 0!==o&&l(a,`${i} ${JSON.stringify(t)} has the keyword ${JSON.stringify(o)} outside a double-quoted string, where pinned Mermaid ends the text: it rejects the line or reads another statement there`)}function eD(e,t,i,a,l){let n=t.trim();if(0===n.length)return!1;let o=eV(n);if(o&&"x"===i){let t=o.prefix,n=t.length>0?eJ(t):void 0;if(null===n)return!1;let r=function(e){let t=eU(e),i=[];for(let e of t){let t=eJ(e);if(null===t||0===t.length)throw j({what:`Invalid XYChart category ${JSON.stringify(e)}`,expectedForm:"nonempty categories separated by commas",example:'x-axis ["A", "B"]'});i.push(t)}return i}(o.contents);if(0===r.length)return!1;if(l)for(let e of eU(o.contents))eY(e,e,"XY chart category","xychart_unquoted_text",l);return void 0!==n&&(eY(t,n,`XY chart ${i}-axis title`,"xychart_unquoted_axis_title",l),e.title=n,W("xychart")&&I("xychart","setAxisTitle",{axis:i,title:n},{line:a,unit:"normalized"})),e.categories=r,W("xychart")&&I("xychart","setAxisCategories",{axis:i,categories:r},{line:a,unit:"normalized"}),delete e.range,W("xychart")&&I("xychart","deleteAxisRange",i,{line:a,unit:"normalized"}),delete e.rangeAuthored,W("xychart")&&I("xychart","deleteAxisRangeAuthored",i,{line:a,unit:"normalized"}),e.authored=!0,W("xychart")&&I("xychart","setAxisAuthored",{axis:i,authored:!0},{line:a,unit:"normalized"}),!0}let r=eX(n);return!!r&&(void 0!==r.title&&(eY(n,r.title,`XY chart ${i}-axis title`,"xychart_unquoted_axis_title",l),e.title=r.title,W("xychart")&&I("xychart","setAxisTitle",{axis:i,title:e.title},{line:a,unit:"normalized"})),r.range&&(e.range=r.range,W("xychart")&&I("xychart","setAxisRange",{axis:i,range:e.range},{line:a,unit:"normalized"}),e.rangeAuthored=!0,W("xychart")&&I("xychart","setAxisRangeAuthored",{axis:i,authored:!0},{line:a,unit:"normalized"}),delete e.categories,W("xychart")&&I("xychart","deleteAxisCategories",i,{line:a,unit:"normalized"})),e.authored=!0,W("xychart")&&I("xychart","setAxisAuthored",{axis:i,authored:!0},{line:a,unit:"normalized"}),!0)}function eX(e){let t=e=>({min:parseFloat(e[1]),max:parseFloat(e[2])}),i=e.match(eO);if(i)return{range:t(i),words:!1};let a=eH(e);if(!a)return null;let l=a.rest.match(eO);if(l)return{title:a.value,range:t(l),words:!1};if(0===a.rest.length)return{title:a.value,words:!1};if(/^["']/.test(e))return null;let n=e,o,r=e.lastIndexOf("--\x3e");if(r>=0){let i=e.slice(0,r).trimEnd(),a=i.length;for(;a>0&&!/\s/.test(i[a-1]);)a--;let l=`${i.slice(a)} --> ${e.slice(r+3).trim()}`.match(eO);if(!l)return null;n=i.slice(0,a).trim(),o=t(l)}return/^[^"[\]]+$/.test(n)&&!n.includes("--\x3e")?{title:n,...o?{range:o}:{},words:!0}:null}var eR={subject:"XYChart text entity",example:'title "Say #quot;hi#quot;"'};function eH(e){let t=e.trim();if(0===t.length)return;if(t.startsWith('"')||t.startsWith("'")){let e=function(e){let t=e[0];if('"'!==t&&"'"!==t)return null;let i="",a=!1;for(let l=1;l<e.length;l++){let n=e[l];if(a){n===t||"\\"===n?i+=n:i+=`\\${n}`,a=!1;continue}if("\\"===n){a=!0;continue}if(n===t)return{value:i,endIndex:l};i+=n}return null}(t);return e?{value:n(e.value,eR),rest:t.slice(e.endIndex+1).trim()}:void 0}let i=t.match(/^([^\s]+)(?:\s+(.*))?$/);if(i)return{value:i[1],rest:(i[2]??"").trim()}}function eJ(e){let t=e.trim();if(!t)return null;if(!t.startsWith('"')&&!t.startsWith("'"))return t;let i=eH(t);return i&&0===i.rest.length?i.value:null}function eq(e){let t=e.match(/^(bar|line)\b/i);if(!t)return null;let i=eV(e.slice(t[0].length).trim());if(!i)return null;let a=i.prefix.length>0?function(e){if(!e)return;let t=e.trim();return t?eJ(t):void 0}(i.prefix):void 0;return null===a?null:{type:t[1].toLowerCase(),label:a,points:i.contents}}function eV(e){let t=null,i=!1,a=-1,l=0,n=-1;for(let o=0;o<e.length;o++){let r=e[o];if(t){if(i){i=!1;continue}if("\\"===r){i=!0;continue}r===t&&(t=null);continue}if('"'===r||"'"===r){t=r;continue}if("["===r){0===l&&(a=o),l++;continue}if("]"===r){if(0===l)return null;0==--l&&(n=o)}}return t||0!==l||a<0||n<a||e.slice(n+1).trim()?null:{prefix:e.slice(0,a).trim(),contents:e.slice(a+1,n)}}function eU(e){let t=[],i="",a=null,l=!1;for(let n=0;n<e.length;n++){let o=e[n];if(a){if(i+=o,l){l=!1;continue}if("\\"===o){l=!0;continue}o===a&&(a=null);continue}if('"'===o||"'"===o){a=o,i+=o;continue}if(","===o){eQ(t,i),i="";continue}i+=o}if(a)throw Error("Unclosed quoted XYChart value");return eQ(t,i),t}function eQ(e,t){e.push(t.trim())}function eZ(e){let t=v(e,["config"])??e,i=v(e,["config","xyChart"])??v(e,["xyChart"])??{},a=e4(i,["chartOrientation"]),l={width:e1(i,["width"]),height:e1(i,["height"]),useMaxWidth:e0(i,["useMaxWidth"])??e0(t,["useMaxWidth"]),useWidth:e1(i,["useWidth"])??e1(t,["useWidth"]),titleFontSize:e1(i,["titleFontSize"]),titlePadding:e2(i,["titlePadding"]),chartOrientation:"horizontal"===a||"vertical"===a?a:void 0,plotReservedSpacePercent:e1(i,["plotReservedSpacePercent"]),showDataLabel:e0(i,["showDataLabel"]),showDataLabelOutsideBar:e0(i,["showDataLabelOutsideBar"]),showTitle:e0(i,["showTitle"]),showLegend:e0(i,["showLegend"]),legendFontSize:e1(i,["legendFontSize"]),legendPadding:e2(i,["legendPadding"]),xAxis:eK(i,"xAxis"),yAxis:eK(i,"yAxis")};return W("xychart")&&I("xychart","resolveConfig",l),l}function eG(e){let t=v(e,["config"])??e,i=v(e,["config","themeVariables","xyChart"])??v(e,["themeVariables","xyChart"])??{},a={backgroundColor:e4(i,["backgroundColor"]),themeCss:e4(t,["themeCSS"]),titleColor:e4(i,["titleColor"]),xAxisLabelColor:e4(i,["xAxisLabelColor"]),xAxisTickColor:e4(i,["xAxisTickColor"]),xAxisLineColor:e4(i,["xAxisLineColor"]),xAxisTitleColor:e4(i,["xAxisTitleColor"]),yAxisLabelColor:e4(i,["yAxisLabelColor"]),yAxisTickColor:e4(i,["yAxisTickColor"]),yAxisLineColor:e4(i,["yAxisLineColor"]),yAxisTitleColor:e4(i,["yAxisTitleColor"]),legendTextColor:e4(i,["legendTextColor"]),dataLabelColor:e4(i,["dataLabelColor"]),plotColorPalette:function(e,t){let i=m(e,t);if(i&&i.length>0){let e=i.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(Boolean);if(e.length>0)return e}var a=e4(e,t);if(!a)return;let l=E(a).map(e=>e.trim()).filter(Boolean);return l.length>0?l:void 0}(i,["plotColorPalette"])};return W("xychart")&&I("xychart","resolveTheme",a),a}function eK(e,t){let i=v(e,[t]);if(!i)return;let a=e0(i,["showLabel"]),l=e1(i,["labelFontSize"]),n=e2(i,["labelPadding"]),o=e0(i,["showTitle"]),r=e1(i,["titleFontSize"]),s=e2(i,["titlePadding"]),c=e0(i,["showTick"]),h=e2(i,["tickLength"]),d=e1(i,["tickWidth"]),x=e0(i,["showAxisLine"]),g=e1(i,["axisLineWidth"]);if(void 0!==a||void 0!==l||void 0!==n||void 0!==o||void 0!==r||void 0!==s||void 0!==c||void 0!==h||void 0!==d||void 0!==x||void 0!==g)return{showLabel:a,labelFontSize:l,labelPadding:n,showTitle:o,titleFontSize:r,titlePadding:s,showTick:c,tickLength:h,tickWidth:d,showAxisLine:x,axisLineWidth:g}}function e0(e,t){let i=w(e,t);return"boolean"==typeof i?i:void 0}function e1(e,t){let i=w(e,t);return"number"==typeof i&&Number.isFinite(i)&&i>0?i:void 0}function e2(e,t){let i=w(e,t);return"number"==typeof i&&Number.isFinite(i)&&i>=0?i:void 0}function e4(e,t){let i=w(e,t);return"string"==typeof i&&i.trim().length>0?i.trim():void 0}function e5(e){return r(e,{escapes:!1,restOfLine:/(?<!\w)acc(?:Title|Descr)\s*:/iy,block:e6})}function e3(e,t,i){let a=[],l=!1,n=e5(e);for(let r=0;r<e.length;r++){let c=r,h=e[r].trim();if(!h||h.startsWith("%%"))continue;if(l){a.push(h),i?.push(c),h.includes("}")&&(l=!1);continue}let d=/^acc(?:Title|Descr)\b/i.test(h);if(!d){let t=n[r];t>r&&(h=s(e,r,t).trim(),r=t)}for(let e of d?tt(h,t):function(e,t){let i=o(e,e6);if(i<0)return tt(e,t);let a=e.slice(0,i).trimEnd(),l=tt(a,t),n=l.length-1;return n>=0&&e8.test(l[n])&&(l[n]=e.slice(a.length-l[n].length).trim()),l}(h,t)){a.push(e),i?.push(c);let t=e.match(/^accDescr\s*:?\s*\{(.*)$/i);t&&!t[1].includes("}")&&(l=!0)}}return a}var e8=/^acc(?:Title|Descr)\s*:/i,e6=/(?<!\w)accDescr\s*\{/iy,e7=/(?:title|[xy]-axis|bar|line)(?!\w)|acc(?:Title\s*:|Descr\s*[:{])/iy;function e9(e,t,i){let a=0;if(i.length>0){let l=te(t.slice(0,i[0]).trim());for(let n=0;n<i.length;n++){let o=te(t.slice(i[n],i[n+1]).trim());if(l&&o&&("title"!==l||"data"===o)){let r=t.slice(a,i[n]).trim();r&&e.push(r),a=i[n],l=o}else"title"!==l&&(l=o)}}let l=t.slice(a).trim();l&&e.push(l)}function te(e){let t=e.match(/^(title|x-axis|y-axis)\s+([\s\S]+)$/i);if(!t){let t=eq(e);return t&&eU(t.points).every(e=>eI.test(e.trim()))?"data":void 0}let i=t[2].trim(),a=i.startsWith('"')||i.startsWith("'");if(/^title$/i.test(t[1]))return null===eJ(i)?void 0:a?"data":"title";let l=/^x/i.test(t[1])?eV(i):null;if(l)return l.prefix&&null===eJ(l.prefix)?void 0:"data";let n=eX(i);return n?n.range||a?"data":n.words?"title":"text":void 0}function tt(e,t){let i=[],a="",l=null,n=0,o=0,r=!1,s=[],c=!1,h=!0;for(let t=0;t<e.length;t++){let d=e[t];if(l){if(a+=d,r){r=!1;continue}if("\\"===d){r=!0;continue}d===l&&(l=null);continue}if('"'===d||"'"===d){l=d,a+=d;continue}if("["===d){n++,a+=d;continue}if("]"===d){n--,a+=d;continue}if("{"===d){o++,a+=d;continue}if("}"===d){o--,a+=d;continue}if(";"===d&&0===n&&0===o){e9(i,a,s),a="",s=[],c=!1,h=!0;continue}if(h&&0===n&&0===o&&/[abltxy]/i.test(d)&&!/\w/.test(e[t-1]??" ")){e7.lastIndex=t;let l=e7.exec(e);if(l&&/^acc/i.test(l[0])){let n=[];if(e9(n,a,s),0===n.length||void 0!==te(n[n.length-1])){if(i.push(...n),a="",s=[],!l[0].endsWith("{"))return i.push(e.slice(t).trim()),i;let o=e.indexOf("}",t+l[0].length);if(o>=0){a+=e.slice(t,o+1),t=o,c=!0,h=!1;continue}}h=!1}else l&&c&&s.push(a.length)}c||/\s/.test(d)||(c=!0),a+=d}if(t&&(l||0!==n||0!==o))throw Error(`Unclosed XYChart delimiter in line: "${e}"`);return e9(i,a,s),i}function ti(e,t,i,a,l,n){if(i.config.showAxisLine&&t.push(e.shape({id:`axis:${a}:line`,role:"axis",geometry:{kind:"line",x1:tn(i.line.x1),y1:tn(i.line.y1),x2:tn(i.line.x2),y2:tn(i.line.y2)},paint:{stroke:l,strokeWidth:String(i.config.axisLineWidth)},attributes:{className:`xychart-axis-line xychart-${a}-axis-line`}})),i.config.showTick)for(let l of i.ticks)t.push(e.shape({id:`axis:${a}:tick:${l.label}`,role:"axis",geometry:{kind:"line",x1:tn(l.x),y1:tn(l.y),x2:tn(l.tx),y2:tn(l.ty)},paint:{stroke:n,strokeWidth:String(i.config.tickWidth)},attributes:{className:`xychart-tick xychart-${a}-tick`}}))}function ta(e,t,i,a,l,n,o){for(let r of i){let i=r.block?.text??H(r.label,n.edgeTextTransform),s="end"===r.textAnchor;t.push(e.text({id:`axis:${l}:label:${r.label}`,role:"axis",text:i,block:r.block,x:r.labelX,y:r.labelY,fontSize:a,fontWeight:n.nodeLabelFontWeight,letterSpacing:n.nodeLetterSpacing,display:"literal",anchor:r.textAnchor,...s?{dominantBaseline:"middle",baselineShift:0}:{},paint:{fill:o},attributes:{className:`xychart-label xychart-${l}-label`}}))}}function tl(e,t,i){let n=t??a,o=e.theme.plotColorPalette,r=l(Math.max(0,...e.bars.map(e=>e.colorIndex),...e.lines.map(e=>e.colorIndex))+1,{accent:n,bg:i}),s=e=>o&&o.length>0?o[e%o.length]:r[e];return{concrete:s,css:e=>!(o&&o.length>0)&&0===e&&r.length<=6&&r[0]===n?`var(--accent, ${a})`:s(e)}}function tn(e){return Math.round(100*e)/100}function to(e){return tn(e).toString()}var tr=N(function(e,a){let l,n,o,r,s,{positioned:c,colors:h,resolved:d}=a,x=d.renderOptions,g=h.font??"Inter",u=x.transparent??!1,f=x.interactive??!1,p=[],y=J(x,em,d.styleFace),m=(l=c.theme,{gridStroke:y.edgeStrokeColor??"color-mix(in srgb, var(--fg) 14%, transparent)",titleColor:l.titleColor??y.groupTextColor??y.nodeTextColor??"var(--_text)",labelColor:y.nodeTextColor??"var(--_text)",xAxisLabelColor:l.xAxisLabelColor??y.nodeTextColor??"var(--_text)",yAxisLabelColor:l.yAxisLabelColor??y.nodeTextColor??"var(--_text)",xAxisTickColor:l.xAxisTickColor??y.groupTextColor??"var(--_text-sec)",yAxisTickColor:l.yAxisTickColor??y.groupTextColor??"var(--_text-sec)",xAxisLineColor:l.xAxisLineColor??y.edgeStrokeColor??"var(--_text-sec)",yAxisLineColor:l.yAxisLineColor??y.edgeStrokeColor??"var(--_text-sec)",xAxisTitleColor:l.xAxisTitleColor??y.edgeTextColor??y.nodeTextColor??"var(--_text)",yAxisTitleColor:l.yAxisTitleColor??y.edgeTextColor??y.nodeTextColor??"var(--_text)",legendTextColor:l.legendTextColor??y.nodeTextColor??"var(--_text)"}),b=!!c.theme.plotColorPalette?.length,v=Math.max(0,...c.bars.map(e=>e.colorIndex),...c.lines.map(e=>e.colorIndex)),w=(n=`mermaid-${function(e){let t=[e.width,e.height,e.title?.text??"",e.accessibility?.title??"",e.accessibility?.description??"",e.bars.length,e.lines.length].join("|"),i=5381;for(let e=0;e<t.length;e++)i=(i<<5)+i^t.charCodeAt(e);return Math.abs(i>>>0).toString(36)}(c)}`,o=c.accessibility?.title?`chart-title-${n}`:void 0,r=c.accessibility?.description?`chart-desc-${n}`:void 0,s=c.config.useWidth??c.width,{openTag:{width:c.config.useMaxWidth?"100%":String(s),height:c.config.useMaxWidth?"100%":String(Math.round(c.height*(s/Math.max(1,c.width)))),style:c.config.useMaxWidth?`max-width:${s}px`:void 0,attrs:{id:n,class:"xychart",role:o||r?"img":void 0,"aria-roledescription":"xychart","aria-labelledby":o,"aria-describedby":r}},title:c.accessibility?.title?`<title id="${o}">${U(c.accessibility.title)}</title>`:void 0,description:c.accessibility?.description?`<desc id="${r}">${U(c.accessibility.description)}</desc>`:void 0}),A=X(c.width,c.height,h,u,w.openTag).replace("<svg ",`<svg data-xychart-colors="${v}" `),{style:k,defs:L}=function(e,t,a,l){let n=new Set;for(let t of e.bars)n.add(t.colorIndex);for(let t of e.lines)n.add(t.colorIndex);let o=[],r=tl(e,a,l);for(let e of[...n].sort((e,t)=>e-t))o.push(` --xychart-color-${e}: ${r.css(e)};`);let s=t?i("xychart",["xychart-bar-group","xychart-dot-group"]):"",c=o.length>0?`
6
6
  svg {
7
7
  ${o.join(`
8
8
  `)}
@@ -10,7 +10,7 @@ ${o.join(`
10
10
  ${e.theme.themeCss}
11
11
  `:"";return{style:`<style>
12
12
  .xychart-data-label { pointer-events: none; }${c}${s}${h}
13
- </style>`,defs:""}}(c,f,h.accent,h.bg);p.push(e.documentOpen({id:"prelude",width:c.width,height:c.height,colors:h,transparent:u,font:g,hasMonoFont:!1,extraCss:A},k+`
14
- `+X(g,!1,h.shadow,h.embedFontImport)+`
15
- `+A));let z=Y(h);z&&p.push(e.definitions({id:"shadow-defs"},`<defs>${z}</defs>`)),L&&p.push(e.definitions({id:"defs"},L)),w.title&&p.push(e.documentContent({id:"acc-title",role:"chrome",nonPaint:"accessibility"},w.title)),w.description&&p.push(e.documentContent({id:"acc-desc",role:"chrome",nonPaint:"accessibility"},w.description));let S={stroke:m.gridStroke,strokeWidth:"1",...y.edgeStrokeColor?{opacity:"0.25"}:{}};c.gridLines.forEach((t,i)=>{p.push(e.shape({id:`grid:y:${i}`,role:"grid",geometry:{kind:"line",x1:tn(t.x1),y1:tn(t.y1),x2:tn(t.x2),y2:tn(t.y2)},paint:S,attributes:{className:"xychart-grid"}}))}),ti(e,p,c.xAxis,"x",m.xAxisLineColor,m.xAxisTickColor),ti(e,p,c.yAxis,"y",m.yAxisLineColor,m.yAxisTickColor);let $=Math.max(0,...c.bars.map(e=>Math.abs(e.value)),...c.lines.flatMap(e=>e.points.map(e=>Math.abs(e.value)))),C=e=>$>0?e/$:void 0,M=[],F=new Map,T=tl(c,h.accent,h.bg),W=new Map,_=new Map;for(let i of c.bars){let a=F.get(i.seriesIndex)??0;F.set(i.seriesIndex,a+1);let l=`bar:${i.seriesIndex}:${i.label??a}`,n={category:`bar-${i.seriesIndex}`,value:C(i.value)},o=Z(d.styleFace,"bar",n,{includeFallback:!1}),r=`var(--xychart-color-${i.colorIndex})`,s=b?r:o?.fillColor??r;_.set(n.category,s),W.set(i,b?T.concrete(i.colorIndex):o?.fillColor??T.concrete(i.colorIndex));let c=o?.strokeColor??o?.borderColor,h=o?.lineWidth;if(p.push(e.shape({id:l,role:"bar",geometry:{kind:"rect",x:tn(i.x),y:tn(i.y),width:tn(i.width),height:tn(i.height)},paint:{fill:s,stroke:c??"none",...void 0!==h?{strokeWidth:String(h)}:{}},channels:n,attributes:{className:`xychart-bar xychart-color-${i.colorIndex}`,data:{value:String(i.value),...i.label?{label:i.label}:{}}}})),f){let a=eu(i.value),n=i.label?`${i.label}: ${a}`:a,o={id:l,role:"bar"};M.push(e.group({id:`tooltip:${l}`,role:"chrome",owner:o,open:'<g class="xychart-bar-group">',close:"</g>",join:"",children:[{indent:0,node:e.shape({id:`${l}:hit`,role:"chrome",owner:o,geometry:{kind:"rect",x:tn(i.x),y:tn(i.y),width:tn(i.width),height:tn(i.height)},paint:{fill:"transparent"}})},{indent:0,node:e.documentContent({id:`${l}:title`,role:"chrome",nonPaint:"interaction-metadata"},`<title>${V(n)}</title>`)},{indent:0,node:t(e,"xychart",i.tooltip,`${l}:tooltip`,o)}]}))}}for(let t of c.lines){let i={category:`line-${t.seriesIndex}`},a=Z(d.styleFace,"series",i,{includeFallback:!1}),l=`var(--xychart-color-${t.colorIndex})`,n=b?l:a?.strokeColor??a?.borderColor??l;if(_.set(i.category,n),t.points.length<2)continue;let o=function(e){if(0===e.length)return"";let t=`M${to(e[0].x)},${to(e[0].y)}`;for(let i=1;i<e.length;i++)t+=` L${to(e[i].x)},${to(e[i].y)}`;return t}(t.points),r=a?.lineWidth??y.lineWidth;p.push(e.connector({id:`series:line-${t.seriesIndex}`,role:"series",geometry:{kind:"path",d:o,points:t.points},lineStyle:"solid",paint:{stroke:n,strokeWidth:String(r),strokeLinecap:"round",strokeLinejoin:"round"},channels:i,attributes:{className:`xychart-line xychart-color-${t.colorIndex}`}}))}let I=(e,t,i)=>{let a=`line-${e}`,l=Z(d.styleFace,"point",{category:a,value:C(i)},{includeFallback:!1}),n=`var(--xychart-color-${t})`;return{fill:b?n:l?.fillColor??_.get(a)??n,stroke:l?.strokeColor??l?.borderColor??"var(--bg)",strokeWidth:String(l?.lineWidth??2)}};for(let t of c.lines)t.points.forEach((i,a)=>{if(void 0===i.textLabel)return;let l=i.textPosition,n=l?.placement??(c.horizontal?"right":"above"),o=l?.x??i.x+8*!!c.horizontal,r=l?.y??i.y+(c.horizontal?4:-8),s=l?.anchor??(c.horizontal?"start":"middle");p.push(e.shape({id:`point-label-dot:${t.seriesIndex}:${a}`,role:"point",geometry:{kind:"circle",cx:tn(i.x),cy:tn(i.y),r:4},paint:I(t.seriesIndex,t.colorIndex,i.value),channels:{category:`line-${t.seriesIndex}`,value:C(i.value)},attributes:{className:`xychart-dot xychart-color-${t.colorIndex}`,data:{value:String(i.value)}}})),p.push(e.text({id:`point-label:${t.seriesIndex}:${a}`,role:"label",text:i.textBlock?.text??i.textLabel,block:i.textBlock,x:tn(o),y:tn(r),fontSize:12,fontWeight:y.nodeLabelFontWeight,letterSpacing:y.nodeLetterSpacing,display:"literal",anchor:s,baselineShift:.35*!!l,paint:{fill:_.get(`line-${t.seriesIndex}`)??`var(--xychart-color-${t.colorIndex})`},channels:{category:`line-${t.seriesIndex}`,value:C(i.value)},attributes:{className:`xychart-point-label xychart-color-${t.colorIndex}`,data:{"label-position":n}}}))});let P=[];if(f)for(let i of c.lines)i.points.forEach((a,l)=>{let n=`point:line-${i.seriesIndex}:${a.label??l}`,o=eu(a.value),r=a.label?`${a.label}: ${o}`:o;P.push(e.group({id:`point-group:line-${i.seriesIndex}:${a.label??l}`,role:"chrome",open:'<g class="xychart-dot-group">',close:"</g>",join:"",children:[{node:e.shape({id:`hit:${n}`,role:"chrome",owner:{id:n,role:"point"},geometry:{kind:"circle",cx:tn(a.x),cy:tn(a.y),r:12},paint:{fill:"transparent"},attributes:{className:"xychart-hit"}}),indent:0},{node:e.shape({id:n,role:"point",geometry:{kind:"circle",cx:tn(a.x),cy:tn(a.y),r:4},paint:I(i.seriesIndex,i.colorIndex,a.value),channels:{category:`line-${i.seriesIndex}`,value:C(a.value)},attributes:{className:`xychart-dot xychart-color-${i.colorIndex}`,data:{value:String(a.value),...a.label?{label:a.label}:{}}}}),indent:0},{node:e.documentContent({id:`title:${n}`,role:"chrome",nonPaint:"interaction-metadata"},`<title>${V(r)}</title>`),indent:0},{node:t(e,"xychart",a.tooltip,`tooltip:${n}`,{id:n,role:"point"}),indent:0}]}))});let N=new Map;for(let t of c.dataLabels){let i=t.block?.text??U(t.text,y.nodeTextTransform),a=N.get(t.bar.seriesIndex)??0;N.set(t.bar.seriesIndex,a+1);let l=void 0===c.theme.dataLabelColor&&"inside"===t.placement?function(e){let t=void 0===e?null:K(e);return t&&1===t[3]?O(Q(t[0],t[1],t[2])):void 0}(W.get(t.bar)):void 0,n=c.theme.dataLabelColor??l??m.labelColor,o="inside"===t.placement?W.get(t.bar)??"var(--bg)":"var(--bg)";p.push(e.text({id:`label:bar:${t.bar.seriesIndex}:${t.bar.label??a}`,role:"label",text:i,block:t.block,x:tn(t.x),y:tn(t.y),fontSize:t.fontSize,fontWeight:y.nodeLabelFontWeight,letterSpacing:y.nodeLetterSpacing,display:"literal",anchor:t.anchor,...t.dominantBaseline?{dominantBaseline:t.dominantBaseline}:{},baselineShift:0,paint:{fill:n,stroke:o,strokeWidth:String(3),strokeLinejoin:"round",paintOrder:"stroke"},...l?{pageFill:m.labelColor}:{},channels:{category:`bar-${t.bar.seriesIndex}`,value:C(t.bar.value)},attributes:{className:"xychart-data-label",data:{"literal-text":"true"}}}))}if(ta(e,p,c.xAxis.ticks,c.xAxis.config.labelFontSize,"x",y,m.xAxisLabelColor),ta(e,p,c.yAxis.ticks,c.yAxis.config.labelFontSize,"y",y,m.yAxisLabelColor),c.xAxis.title){let t=c.xAxis.title,i=t.block?.text??U(t.text,y.edgeTextTransform),a=t.rotate?{kind:"rotate",angle:t.rotate,cx:t.x,cy:t.y}:void 0;p.push(e.text({id:"axis:x:title",role:"axis",text:i,block:t.block,x:t.x,y:t.y,fontSize:c.xAxis.config.titleFontSize,fontWeight:y.edgeLabelFontWeight,letterSpacing:y.edgeLetterSpacing,display:"literal",anchor:"middle",paint:{fill:m.xAxisTitleColor},transform:a,attributes:{className:"xychart-axis-title xychart-x-axis-title"}}))}if(c.yAxis.title){let t=c.yAxis.title,i=t.block?.text??U(t.text,y.edgeTextTransform),a=t.rotate?{kind:"rotate",angle:t.rotate,cx:t.x,cy:t.y}:void 0;p.push(e.text({id:"axis:y:title",role:"axis",text:i,block:t.block,x:t.x,y:t.y,fontSize:c.yAxis.config.titleFontSize,fontWeight:y.edgeLabelFontWeight,letterSpacing:y.edgeLetterSpacing,display:"literal",anchor:"middle",paint:{fill:m.yAxisTitleColor},transform:a,attributes:{className:"xychart-axis-title xychart-y-axis-title"}}))}if(c.title){let t=c.title.text;p.push(e.text({id:"title",role:"title",text:t,block:c.title.block,x:c.title.x,y:c.title.y,fontSize:c.config.titleFontSize,fontWeight:y.groupHeaderFontWeight,letterSpacing:y.groupLetterSpacing,display:"literal",anchor:"middle",paint:{fill:m.titleColor},attributes:{className:"xychart-title"}}))}if(c.legend.length>0){let t=[];for(let i of c.legend){let a=i.y+Math.max(12,i.block?.height??0)/2;"bar"===i.type?t.push({node:e.shape({id:`legend:swatch:${i.colorIndex}`,role:"legend",geometry:{kind:"rect",x:tn(i.x),y:tn(i.y),width:12,height:12,rx:2,ry:2},paint:{fill:_.get(`bar-${i.seriesIndex}`)??`var(--xychart-color-${i.colorIndex})`},channels:{category:`bar-${i.seriesIndex}`},attributes:{className:"xychart-legend-swatch"}}),indent:2}):(t.push({node:e.shape({id:`legend:swatch:${i.colorIndex}`,role:"legend",geometry:{kind:"line",x1:tn(i.x),y1:tn(a),x2:tn(i.x+12),y2:tn(a)},paint:{stroke:_.get(`line-${i.seriesIndex}`)??`var(--xychart-color-${i.colorIndex})`,strokeWidth:String(3),strokeLinecap:"round"},channels:{category:`line-${i.seriesIndex}`},attributes:{className:"xychart-legend-swatch"}}),indent:2}),t.push({node:e.shape({id:`legend:dot:${i.colorIndex}`,role:"legend",geometry:{kind:"circle",cx:tn(i.x+6),cy:tn(a),r:2.5},paint:{fill:_.get(`line-${i.seriesIndex}`)??`var(--xychart-color-${i.colorIndex})`,stroke:"var(--bg)",strokeWidth:"1"},channels:{category:`line-${i.seriesIndex}`},attributes:{className:"xychart-legend-dot"}}),indent:2}));let l=i.block?.text??U(i.label,y.nodeTextTransform),n=i.x+12+6;t.push({node:e.text({id:`legend:label:${i.colorIndex}`,role:"legend",text:l,block:i.block,x:tn(n),y:tn(a),fontSize:c.config.legendFontSize,fontWeight:y.nodeLabelFontWeight,letterSpacing:y.nodeLetterSpacing,display:"literal",anchor:"start",dominantBaseline:"middle",baselineShift:0,paint:{fill:m.legendTextColor},attributes:{className:"xychart-legend-label"}}),indent:2})}p.push(e.group({id:"legend",role:"legend",open:'<g class="xychart-legend">',close:"</g>",children:t}))}for(let e of M)p.push(e);for(let e of P)p.push(e);return p.push(e.documentClose()),{family:"xychart",width:c.width,height:c.height,colors:h,transparent:u,parts:p}}),ts=T(et,{configDiagnostics:e=>{let t=y("xychart",e,ei),i=p(e.root,e.config.section);if(!i)return t;let a=(e,i)=>{t.push({code:"INEFFECTIVE_CONFIG",field:e,message:`${e} must be ${i}; the invalid value has no effect.`})};for(let e of["xAxis","yAxis"]){let l=i[e];if(!(!l||"object"!=typeof l||Array.isArray(l)))for(let i of Object.keys(l).sort()){let n=ea[i];n?n.valid(l[i])?"labelRotation"===i&&t.push({code:"INEFFECTIVE_CONFIG",field:`xyChart.${e}.${i}`,message:`xyChart ${e}.${i} is accepted for Mermaid compatibility but has no effect on this renderer.`}):a(`xyChart.${e}.${i}`,n.expected):a(`xyChart.${e}.${i}`,"a documented axis-config field")}}return t},statementEnds:e4,normalizeRequest:e=>{let t=eZ(e.source.frontmatter),i=eG(e.source.frontmatter);return{familyConfig:{config:t},appearance:{...void 0===e.renderOptions.bg&&i.backgroundColor?{colors:{bg:i.backgroundColor}}:{},family:{theme:i}}}},layout:t=>{var i,a,l;let n,o=t.familyConfig,r=t.familyAppearance;return F(function(t,i={},a){var l,n,o,r,s,c,h;let d,x,g,u,f,p,y,m,b,v,w,k,A,L,z,S,$,C,M,F,T,W,_,I,P,N,O,j,B,E,Y,X,D,R,U,H,V,Q,K,ee,et,ei,ea,el,eg,ey,eA,eI,eP,eN,eO,ej,eB,eE,eY,eX,eD,eR,eU,eq,eH,eV,eJ,eQ,eZ,eG,eK,e0,e1,e2,e5,e4,e6,e3,e8=q(i,em,a),e7={width:er((l=t.config).width,en.width),height:er(l.height,en.height),useMaxWidth:ec(l.useMaxWidth,en.useMaxWidth),useWidth:"number"==typeof(n=l.useWidth)&&Number.isFinite(n)&&n>0?n:void 0,titleFontSize:er(l.titleFontSize,en.titleFontSize),titlePadding:es(l.titlePadding,en.titlePadding),chartOrientation:"vertical"===l.chartOrientation||"horizontal"===l.chartOrientation?l.chartOrientation:en.chartOrientation,plotReservedSpacePercent:(o=l.plotReservedSpacePercent,r=en.plotReservedSpacePercent,"number"==typeof o&&Number.isFinite(o)&&o>0&&o<=100?Math.max(10,o):r),showDataLabel:ec(l.showDataLabel,en.showDataLabel),showDataLabelOutsideBar:ec(l.showDataLabelOutsideBar,en.showDataLabelOutsideBar),showTitle:ec(l.showTitle,en.showTitle),showLegend:ec(l.showLegend,en.showLegend),legendFontSize:er(l.legendFontSize,en.legendFontSize),legendPadding:es(l.legendPadding,en.legendPadding),xAxis:eo(l.xAxis),yAxis:eo(l.yAxis)};(a?.group?.fontSize!=null||a?.text?.fontSize!=null)&&(e7.titleFontSize=e8.groupHeaderFontSize),(a?.node?.fontSize!=null||a?.text?.fontSize!=null)&&(e7.xAxis.labelFontSize=e8.nodeLabelFontSize,e7.yAxis.labelFontSize=e8.nodeLabelFontSize),(a?.edge?.fontSize!=null||a?.text?.fontSize!=null)&&(e7.xAxis.titleFontSize=e8.edgeLabelFontSize,e7.yAxis.titleFontSize=e8.edgeLabelFontSize),a?.edge?.lineWidth!=null&&(e7.xAxis.axisLineWidth=e8.lineWidth,e7.yAxis.axisLineWidth=e8.lineWidth,e7.xAxis.tickWidth=e8.lineWidth,e7.yAxis.tickWidth=e8.lineWidth);let e9=(e6=new Map,{block:e3=(e,t,i,a)=>{let l=JSON.stringify([e,t,i,a]),n=e6.get(l);if(!n){let o="axisTitle"===e;n=J(t,{display:"literal",fontSize:i,fontWeight:o?e8.edgeLabelFontWeight:e8.nodeLabelFontWeight,letterSpacing:o?e8.edgeLetterSpacing:e8.nodeLetterSpacing,transform:"axisTitle"===e||"tick"===e?e8.edgeTextTransform:e8.nodeTextTransform,maxWidth:a}),e6.set(l,n)}return n},wrapTitle:(e,t,i)=>J(e,{display:"literal",transform:e8.groupTextTransform,fontSize:t,fontWeight:e8.groupHeaderFontWeight,letterSpacing:e8.groupLetterSpacing,maxWidth:i}),tick:(e,t)=>e3("tick",e,t).width,legend:(e,t)=>e3("legend",e,t).width}),te=0,tt=Math.max(0,...t.series.flatMap(e=>"line"!==e.type?[]:[Math.max((Z(a,"series",{category:`line-${te++}`},{includeFallback:!1})?.lineWidth??e8.lineWidth)/2,i.interactive||e.pointLabels?.some(e=>void 0!==e)?5:0)])),ti=t.horizontal?(d=e7.width,x=e7.height,g=eh(t),u=ex(t,g),y=(p=ef((f=t.yAxis.range).min,f.max)).map(ep),m=Math.max(0,x-Math.floor(x*e7.plotReservedSpacePercent/100)),b=Math.max(0,d-Math.floor(d*e7.plotReservedSpacePercent/100)),w=(v=ek(t.title,e7,m,e9)).height,m=Math.max(0,m-w),k=eL(e7.yAxis,t.yAxis.title,y,m,e9),m=Math.max(0,m-k.size),A=ez(e7.xAxis,t.xAxis.title,u,b,e9,x),b=Math.max(0,b-A.size),$=eb(t,tt,k.config),M=Math.max(0,x-(C=Math.max(w+k.size,ev(k.config)))),F=Math.max(1,g),T=Math.min(M,Math.max(0,((A.config.showLabel?.6*e7.xAxis.labelFontSize:0)-M/(2*F))/(1-1/(2*F)))),_=ew(t,e7,b,d,C,W=Math.max(0,M-T),e9),P=Math.max(0,Math.max(I=k.config.showLabel&&y.length>0?Math.max(...[y[0],y[y.length-1]].map(e=>e9.tick(e,e7.yAxis.labelFontSize)/2)):0,$.value,ev(A.config))-A.size),N=Math.max(0,I-_.size,$.value-_.size),O={x:A.size+P,y:C,width:Math.max(0,d-A.size-P-_.size-N),height:W},j=e=>O.x+(e-f.min)/(f.max-f.min||1)*O.width,B=e=>O.y+(e+.5)*(O.height/g),E=O.height/Math.max(1,g),Y=k.config.showLabel?(L=(s=k.config).showAxisLine?s.axisLineWidth:0,z=s.showTick?s.tickLength:0,S=O.y-L-z-s.labelPadding,p.map((e,t)=>({label:y[t],x:j(e),y:O.y-L,tx:j(e),ty:O.y-L-z,labelX:j(e),labelY:S,textAnchor:"middle"}))):[],X=A.config.showLabel?e$(u.map((e,t)=>t),u,B,O,A.config):[],D=p.map(e=>({x1:j(e),y1:O.y,x2:j(e),y2:O.y+O.height})),R=t.series.map((e,t)=>t),U=eW(t,B,E,j,f,u,R,!0),H=e_(t,B,j,f,u,R,!0),{width:d,height:x,accessibility:t.accessibility,horizontal:!0,title:v.title,hiddenTitle:t.title&&e7.showTitle&&!v.title?t.title:void 0,xAxis:{ticks:X,line:eC(O,A.config),title:eM(t.xAxis.title,O,A.config,x,e9),config:A.config},yAxis:{ticks:Y,line:(c=k.config,V=O.y-(c.showAxisLine?c.axisLineWidth/2:0),{x1:O.x,y1:V,x2:O.x+O.width,y2:V}),title:function(e,t,i,a){if(!(!e||!a.showTitle))return{text:e,x:t.x+t.width/2,y:i+a.titlePadding+a.titleFontSize}}(t.yAxis.title,O,w,k.config),config:k.config},plotArea:O,bars:U,lines:H,gridLines:D,legend:_.items,hiddenLegendLabels:_.hiddenLabels,hiddenCategoryLabels:eF(t,e7,A.config,X),...eT(U,!0,O,e7,e9),config:e7,theme:t.theme}):(Q=e7.width,K=e7.height,ee=eh(t),et=ex(t,ee),ei=ed(t,ee),eg=(el=ef((ea=t.yAxis.range).min,ea.max)).map(ep),ey=t.xAxis.range?ef(t.xAxis.range.min,t.xAxis.range.max):void 0,eA=ey?.map(ep)??et,eI=Math.max(0,K-Math.floor(K*e7.plotReservedSpacePercent/100)),eP=Math.max(0,Q-Math.floor(Q*e7.plotReservedSpacePercent/100)),eO=(eN=ek(t.title,e7,eI,e9)).height,eI=Math.max(0,eI-eO),ej=eL(e7.xAxis,t.xAxis.title,eA,eI,e9),eI=Math.max(0,eI-ej.size),eB=ez(e7.yAxis,t.yAxis.title,eg,eP,e9,K),eP=Math.max(0,eP-eB.size),eD=Math.max(0,K-(eX=Math.max(eO,eE=eB.config.showLabel&&eg.length>0?e7.yAxis.labelFontSize/2:0,(eY=eb(t,tt,eB.config,t.xAxis.range?ej.config:void 0)).value))-Math.max(ej.size,eE,eY.value,ev(ej.config))),eR=ew(t,e7,eP,Q,eX,eD,e9),eq={x:eU=Math.max(eB.size,eY.position,ev(eB.config)),y:eX,width:Math.max(0,Q-eU-Math.max(eR.size,eY.position)),height:eD},eH=t.xAxis.range&&t.series.some(e=>"bar"===e.type)?eq.width/Math.max(1,ee)/2:0,eV=t.xAxis.range?e=>eq.x+eH+(e-t.xAxis.range.min)/(t.xAxis.range.max-t.xAxis.range.min||1)*(eq.width-2*eH):void 0,eJ=e=>eV?eV(ei[e]):eq.x+(e+.5)*(eq.width/ee),eQ=eV?function(e,t,i){if(e.length<2)return i;let a=1/0;for(let i=1;i<e.length;i++)a=Math.min(a,Math.abs(t(e[i])-t(e[i-1])));return Number.isFinite(a)&&a>0?a:i}(ei,eV,eq.width/Math.max(2,ee)):eq.width/Math.max(1,ee),eZ=e=>eq.y+eq.height-(e-ea.min)/(ea.max-ea.min||1)*eq.height,eG=ej.config.showLabel?t.xAxis.range&&ey&&eV?eS(ey,eA,eV,eq,ej.config,e9,Q):eS(et.map((e,t)=>t),et,eJ,eq,ej.config,e9,Q):[],eK=eB.config.showLabel?e$(el,eg,eZ,eq,eB.config):[],e0=el.map(e=>({x1:eq.x,y1:eZ(e),x2:eq.x+eq.width,y2:eZ(e)})),e1=t.series.map((e,t)=>t),e2=eW(t,eJ,eQ,eZ,ea,et,e1,!1),e5=e_(t,eJ,eZ,ea,et,e1,!1),{width:Q,height:K,accessibility:t.accessibility,title:eN.title,hiddenTitle:t.title&&e7.showTitle&&!eN.title?t.title:void 0,xAxis:{ticks:eG,line:(h=ej.config,e4=eq.y+eq.height+(h.showAxisLine?h.axisLineWidth/2:0),{x1:eq.x,y1:e4,x2:eq.x+eq.width,y2:e4}),title:function(e,t,i,a){if(!(!e||!a.showTitle))return{text:e,x:t.x+t.width/2,y:i-a.titlePadding-a.titleFontSize/2}}(t.xAxis.title,eq,K,ej.config),config:ej.config},yAxis:{ticks:eK,line:eC(eq,eB.config),title:eM(t.yAxis.title,eq,eB.config,K,e9),config:eB.config},plotArea:eq,bars:e2,lines:e5,gridLines:e0,legend:eR.items,hiddenLegendLabels:eR.hiddenLabels,hiddenCategoryLabels:eF(t,e7,ej.config,eG),...eT(e2,!1,eq,e7,e9),config:e7,theme:t.theme});for(let e of[ti.xAxis,ti.yAxis]){if(e.title){let i=e.title.block??=e9.block("axisTitle",e.title.text,e.config.titleFontSize),a=(i.lines.length-1)*i.lineHeight/2+(i.lineHeight-e.config.titleFontSize*G)/2;e.title.rotate?e.title.x+=a:e.title.y+=t.horizontal?a:-a}for(let t of e.ticks){let i=t.block=e9.block("tick",t.label,e.config.labelFontSize),a="start"===t.textAnchor?0:"end"===t.textAnchor?i.width:i.width/2;t.labelX=Math.max(a,Math.min(ti.width-i.width+a,t.labelX)),t.labelY=Math.max(i.height/2,Math.min(ti.height-i.height/2,t.labelY))}}for(let e of ti.legend)e.block=e9.block("legend",e.label,ti.config.legendFontSize);for(let e of ti.dataLabels)e.block=e9.block("data",e.text,e.fontSize);for(let e of ti.lines)for(let t of e.points)if(void 0!==t.textLabel){let e=t.textBlock=e9.block("data",t.textLabel,12,Math.max(1,ti.width-8)),i=(e,t,i)=>Math.max(t,Math.min(i,e));if(ti.horizontal){let a=t.x+8+e.width<=ti.width-4,l=a?"start":"end";t.textPosition={x:a?i(t.x+8,4,ti.width-4-e.width):i(t.x-8,e.width+4,ti.width-4),y:i(t.y,e.height/2,ti.height-e.height/2),anchor:l,placement:a?"right":"left"}}else{let a=t.y-8-e.height>=ti.plotArea.y;t.textPosition={x:i(t.x,e.width/2,ti.width-e.width/2),y:i(t.y+(a?-1:1)*(8+e.height/2),e.height/2,ti.height-e.height/2),anchor:"middle",placement:a?"above":"below"}}}for(let t of ti.bars)t.tooltip=e(ti.horizontal?t.x+t.width:t.x+t.width/2,ti.horizontal?t.y+t.height/2:t.y,eu(t.value));for(let t of ti.lines)for(let i of t.points)i.tooltip=e(i.x,i.y-4,eu(i.value));return ti}((i=b(P(function(e,t={}){let i=e6(e,!0===t.strict),a=B(i),l=a.accessibility,n=a.familyLines;if(void 0!==a.unclosedIndex){if(t.strict)throw Error('XYChart accDescr block is missing a closing "}"');let e=a.unclosedIndex;n=a.familyLines.slice(0,e-i.length),l.descr=i.slice(e).join(`
16
- `).replace(/^[^{]*\{/,"").trim()||void 0}let o={},r={},s=[],c=e6(n,!0===t.strict),h,d=!1,x,g=c[0],u=g?.match(/^xychart(?:-beta)?(?:\s+(horizontal|vertical))?$/i);if(!u&&t.strict)throw Error(`Invalid XYChart header: "${g??""}"`);u&&W("xychart")&&_("xychart","header",g,{line:1,unit:"normalized"}),u?.[1]&&(x=u[1].toLowerCase(),W("xychart")&&I("xychart","setHeaderOrientation",x,{line:1,unit:"normalized"}),d="horizontal"===x,W("xychart")&&I("xychart","setHorizontal",d,{line:1,unit:"normalized"}));for(let e=+!!u;e<c.length;e++){let i=c[e],a=i.match(/^title\s+([\s\S]+)$/i);if(a){W("xychart")&&_("xychart","title",i,{line:e+1,unit:"normalized"});let l=eq(a[1]);if(null===l){if(t.strict)throw Error(`Invalid XYChart title directive: "${i}"`)}else h=l,W("xychart")&&I("xychart","setTitle",h,{line:e+1,unit:"normalized"});continue}let l=i.match(/^x-axis\s+([\s\S]+)$/i);if(l){if(W("xychart")&&_("xychart","x-axis",i,{line:e+1,unit:"normalized"}),!eX(o,l[1],"x",e+1)&&t.strict)throw Error(`Invalid XYChart x-axis directive: "${i}"`);continue}let n=i.match(/^y-axis\s+([\s\S]+)$/i);if(n){if(W("xychart")&&_("xychart","y-axis",i,{line:e+1,unit:"normalized"}),!eX(r,n[1],"y",e+1)&&t.strict)throw Error(`Invalid XYChart y-axis directive: "${i}"`);continue}let d=eH(i);if(d?.type==="bar"){W("xychart")&&_("xychart","bar",i,{line:e+1,unit:"normalized"});let a=eP(d.points,!0===t.strict,e+1);s.push({type:"bar",label:d.label,data:a.values,...a.labels.some(e=>void 0!==e)?{pointLabels:a.labels}:{}}),W("xychart")&&I("xychart","appendSeries",s[s.length-1],{line:e+1,unit:"normalized"});continue}if(d?.type==="line"){W("xychart")&&_("xychart","line",i,{line:e+1,unit:"normalized"});let a=eP(d.points,!0===t.strict,e+1);s.push({type:"line",label:d.label,data:a.values,...a.labels.some(e=>void 0!==e)?{pointLabels:a.labels}:{}}),W("xychart")&&I("xychart","appendSeries",s[s.length-1],{line:e+1,unit:"normalized"});continue}throw W("xychart")&&_("xychart","unrecognized",i,{line:e+1,unit:"normalized"}),Error(`Unrecognized XYChart line: "${i}"`)}if(!r.range&&s.length>0){let e=s.flatMap(e=>e.data),t=s.some(e=>"bar"===e.type),i=t?Math.min(0,...e):Math.min(...e),a=t?Math.max(0,...e):Math.max(...e),l=a-i||1,n=t&&0===i,o=t&&0===a&&i<0;n||(i-=.1*l),o||(a+=.1*l),i>0&&i<.5*l&&(i=0),r.range={min:i,max:a},W("xychart")&&I("xychart","deriveYAxisRange",r.range)}return r.range||(r.range={min:0,max:100},W("xychart")&&I("xychart","setFallbackYAxisRange",r.range)),{title:h,accessibility:l.title||l.descr?{...void 0!==l.title?{title:l.title}:{},...void 0!==l.descr?{description:l.descr}:{}}:void 0,horizontal:d,headerOrientation:x,xAxis:o,yAxis:r,series:s,config:eZ({}),theme:eG({})}}(t.source.familyLines),t.source.accessibility),t.source.frontmatter),a=o?.config??eZ({}),l=r?.theme??eG({}),n={...i,horizontal:i.headerOrientation?i.horizontal:"horizontal"===a.chartOrientation,config:a,theme:l},W("xychart")&&I("xychart","applyConfig",{horizontal:n.horizontal,config:a,theme:l}),n),t.renderOptions,t.styleFace),{injectAccessibility:!1})},projectPositioned:C(function({positioned:e,options:t}){let i=[],a=[],l=A(k(e)),n=(e,t,i,n,o,r="middle",s=0)=>{if(!t)return;let c=$(i,n,o,r);if(c&&s){let e=H({x0:c.x,y0:c.y,x1:c.x+c.w,y1:c.y+c.h},{x:n,y:o},s);c=A({x:e.x0,y:e.y0,width:e.x1-e.x0,height:e.y1-e.y0})}a.push({id:e,text:t,...c?{bounds:c}:{},container:l})},o=new Map;if(e.bars.forEach(e=>{let t=o.get(e.seriesIndex)??0;o.set(e.seriesIndex,t+1),i.push({id:`bar#${e.seriesIndex}:pt#${t}`,x:L(e.x),y:L(e.y),w:z(e.x,e.width),h:z(e.y,e.height),shape:"rectangle",label:e.label,role:"labelled-mark",labelVisibility:"semantic"})}),e.lines.forEach(t=>{t.points.forEach((a,l)=>{let o=e.plotArea,r=Math.max(o.x,Math.min(o.x+o.width,a.x-3)),s=Math.max(o.y,Math.min(o.y+o.height,a.y-3)),c=Math.max(r,Math.min(o.x+o.width,a.x+3)),h=Math.max(s,Math.min(o.y+o.height,a.y+3));if(i.push({id:`line#${t.seriesIndex}:pt#${l}`,x:L(r),y:L(s),w:z(r,c-r),h:z(s,h-s),shape:"circle",label:a.label,role:a.label?"labelled-mark":"mark",labelVisibility:"semantic"}),void 0!==a.textLabel){let e=a.textPosition;n(`point-label:${t.seriesIndex}:${l}`,a.textBlock?.text??a.textLabel,e?a.textBlock:void 0,e?.x??a.x,e?.y??a.y,e?.anchor??"middle")}})}),e.title){let t=e.title;n("title",t.block?.text??t.text,t.block,t.x,t.y)}for(let[t,i]of[["x",e.xAxis],["y",e.yAxis]]){if(i.title){let e=i.title;n(`axis:${t}:title`,e.block?.text??e.text,e.block,e.x,e.y,"middle",e.rotate)}i.ticks.forEach((e,i)=>n(`axis:${t}:label:${i}`,e.block?.text??e.label,e.block,e.labelX,e.labelY,e.textAnchor))}for(let t of e.legend)n(`legend:label:${t.colorIndex}`,t.block?.text??t.label,t.block,t.x+12+6,t.y+Math.max(12,t.block?.height??0)/2,"start");e.dataLabels.forEach((e,t)=>{let i="hanging"===e.dominantBaseline?e.y+(e.block?.height??0)/2:"middle"===e.dominantBaseline?e.y:e.y-.35*e.fontSize;n(`data-label:${t}`,e.block?.text??e.text,e.block,e.x,i,e.anchor)});let r=[{id:"plot",x:L(e.plotArea.x),y:L(e.plotArea.y),w:z(e.plotArea.x,e.plotArea.width),h:z(e.plotArea.y,e.plotArea.height),members:i.filter(t=>t.x+t.w/2>=e.plotArea.x&&t.x+t.w/2<=e.plotArea.x+e.plotArea.width&&t.y+t.h/2>=e.plotArea.y&&t.y+t.h/2<=e.plotArea.y+e.plotArea.height).map(e=>e.id)}],s={version:1,nodes:i,edges:[],groups:r,bounds:{w:L(e.width),h:L(e.height)},labels:a};return t.debug&&(s.certificates=S("xychart",s,"plot-contained",r[0],"center")),s}),lowerScene:M(tr)});export{ts as default};
13
+ </style>`,defs:""}}(c,f,h.accent,h.bg);p.push(e.documentOpen({id:"prelude",width:c.width,height:c.height,colors:h,transparent:u,font:g,hasMonoFont:!1,extraCss:k},A+`
14
+ `+D(g,!1,h.shadow,h.embedFontImport)+`
15
+ `+k));let z=Y(h);z&&p.push(e.definitions({id:"shadow-defs"},`<defs>${z}</defs>`)),L&&p.push(e.definitions({id:"defs"},L)),w.title&&p.push(e.documentContent({id:"acc-title",role:"chrome",nonPaint:"accessibility"},w.title)),w.description&&p.push(e.documentContent({id:"acc-desc",role:"chrome",nonPaint:"accessibility"},w.description));let S={stroke:m.gridStroke,strokeWidth:"1",...y.edgeStrokeColor?{opacity:"0.25"}:{}};c.gridLines.forEach((t,i)=>{p.push(e.shape({id:`grid:y:${i}`,role:"grid",geometry:{kind:"line",x1:tn(t.x1),y1:tn(t.y1),x2:tn(t.x2),y2:tn(t.y2)},paint:S,attributes:{className:"xychart-grid"}}))}),ti(e,p,c.xAxis,"x",m.xAxisLineColor,m.xAxisTickColor),ti(e,p,c.yAxis,"y",m.yAxisLineColor,m.yAxisTickColor);let C=Math.max(0,...c.bars.map(e=>Math.abs(e.value)),...c.lines.flatMap(e=>e.points.map(e=>Math.abs(e.value)))),$=e=>C>0?e/C:void 0,M=[],F=new Map,T=tl(c,h.accent,h.bg),W=new Map,_=new Map;for(let i of c.bars){let a=F.get(i.seriesIndex)??0;F.set(i.seriesIndex,a+1);let l=`bar:${i.seriesIndex}:${i.label??a}`,n={category:`bar-${i.seriesIndex}`,value:$(i.value)},o=G(d.styleFace,"bar",n,{includeFallback:!1}),r=`var(--xychart-color-${i.colorIndex})`,s=b?r:o?.fillColor??r;_.set(n.category,s),W.set(i,b?T.concrete(i.colorIndex):o?.fillColor??T.concrete(i.colorIndex));let c=o?.strokeColor??o?.borderColor,h=o?.lineWidth;if(p.push(e.shape({id:l,role:"bar",geometry:{kind:"rect",x:tn(i.x),y:tn(i.y),width:tn(i.width),height:tn(i.height)},paint:{fill:s,stroke:c??"none",...void 0!==h?{strokeWidth:String(h)}:{}},channels:n,attributes:{className:`xychart-bar xychart-color-${i.colorIndex}`,data:{value:String(i.value),...i.label?{label:i.label}:{}}}})),f){let a=eu(i.value),n=i.label?`${i.label}: ${a}`:a,o={id:l,role:"bar"};M.push(e.group({id:`tooltip:${l}`,role:"chrome",owner:o,open:'<g class="xychart-bar-group">',close:"</g>",join:"",children:[{indent:0,node:e.shape({id:`${l}:hit`,role:"chrome",owner:o,geometry:{kind:"rect",x:tn(i.x),y:tn(i.y),width:tn(i.width),height:tn(i.height)},paint:{fill:"transparent"}})},{indent:0,node:e.documentContent({id:`${l}:title`,role:"chrome",nonPaint:"interaction-metadata"},`<title>${U(n)}</title>`)},{indent:0,node:t(e,"xychart",i.tooltip,`${l}:tooltip`,o)}]}))}}for(let t of c.lines){let i={category:`line-${t.seriesIndex}`},a=G(d.styleFace,"series",i,{includeFallback:!1}),l=`var(--xychart-color-${t.colorIndex})`,n=b?l:a?.strokeColor??a?.borderColor??l;if(_.set(i.category,n),t.points.length<2)continue;let o=function(e){if(0===e.length)return"";let t=`M${to(e[0].x)},${to(e[0].y)}`;for(let i=1;i<e.length;i++)t+=` L${to(e[i].x)},${to(e[i].y)}`;return t}(t.points),r=a?.lineWidth??y.lineWidth;p.push(e.connector({id:`series:line-${t.seriesIndex}`,role:"series",geometry:{kind:"path",d:o,points:t.points},lineStyle:"solid",paint:{stroke:n,strokeWidth:String(r),strokeLinecap:"round",strokeLinejoin:"round"},channels:i,attributes:{className:`xychart-line xychart-color-${t.colorIndex}`}}))}let I=(e,t,i)=>{let a=`line-${e}`,l=G(d.styleFace,"point",{category:a,value:$(i)},{includeFallback:!1}),n=`var(--xychart-color-${t})`;return{fill:b?n:l?.fillColor??_.get(a)??n,stroke:l?.strokeColor??l?.borderColor??"var(--bg)",strokeWidth:String(l?.lineWidth??2)}};for(let t of c.lines)t.points.forEach((i,a)=>{if(void 0===i.textLabel)return;let l=i.textPosition,n=l?.placement??(c.horizontal?"right":"above"),o=l?.x??i.x+8*!!c.horizontal,r=l?.y??i.y+(c.horizontal?4:-8),s=l?.anchor??(c.horizontal?"start":"middle");p.push(e.shape({id:`point-label-dot:${t.seriesIndex}:${a}`,role:"point",geometry:{kind:"circle",cx:tn(i.x),cy:tn(i.y),r:4},paint:I(t.seriesIndex,t.colorIndex,i.value),channels:{category:`line-${t.seriesIndex}`,value:$(i.value)},attributes:{className:`xychart-dot xychart-color-${t.colorIndex}`,data:{value:String(i.value)}}})),p.push(e.text({id:`point-label:${t.seriesIndex}:${a}`,role:"label",text:i.textBlock?.text??i.textLabel,block:i.textBlock,x:tn(o),y:tn(r),fontSize:12,fontWeight:y.nodeLabelFontWeight,letterSpacing:y.nodeLetterSpacing,display:"literal",anchor:s,baselineShift:.35*!!l,paint:{fill:_.get(`line-${t.seriesIndex}`)??`var(--xychart-color-${t.colorIndex})`},channels:{category:`line-${t.seriesIndex}`,value:$(i.value)},attributes:{className:`xychart-point-label xychart-color-${t.colorIndex}`,data:{"label-position":n}}}))});let P=[];if(f)for(let i of c.lines)i.points.forEach((a,l)=>{let n=`point:line-${i.seriesIndex}:${a.label??l}`,o=eu(a.value),r=a.label?`${a.label}: ${o}`:o;P.push(e.group({id:`point-group:line-${i.seriesIndex}:${a.label??l}`,role:"chrome",open:'<g class="xychart-dot-group">',close:"</g>",join:"",children:[{node:e.shape({id:`hit:${n}`,role:"chrome",owner:{id:n,role:"point"},geometry:{kind:"circle",cx:tn(a.x),cy:tn(a.y),r:12},paint:{fill:"transparent"},attributes:{className:"xychart-hit"}}),indent:0},{node:e.shape({id:n,role:"point",geometry:{kind:"circle",cx:tn(a.x),cy:tn(a.y),r:4},paint:I(i.seriesIndex,i.colorIndex,a.value),channels:{category:`line-${i.seriesIndex}`,value:$(a.value)},attributes:{className:`xychart-dot xychart-color-${i.colorIndex}`,data:{value:String(a.value),...a.label?{label:a.label}:{}}}}),indent:0},{node:e.documentContent({id:`title:${n}`,role:"chrome",nonPaint:"interaction-metadata"},`<title>${U(r)}</title>`),indent:0},{node:t(e,"xychart",a.tooltip,`tooltip:${n}`,{id:n,role:"point"}),indent:0}]}))});let N=new Map;for(let t of c.dataLabels){let i=t.block?.text??H(t.text,y.nodeTextTransform),a=N.get(t.bar.seriesIndex)??0;N.set(t.bar.seriesIndex,a+1);let l=void 0===c.theme.dataLabelColor&&"inside"===t.placement?function(e){let t=void 0===e?null:q(e);return t&&1===t[3]?O(Z(t[0],t[1],t[2])):void 0}(W.get(t.bar)):void 0,n=c.theme.dataLabelColor??l??m.labelColor,o="inside"===t.placement?W.get(t.bar)??"var(--bg)":"var(--bg)";p.push(e.text({id:`label:bar:${t.bar.seriesIndex}:${t.bar.label??a}`,role:"label",text:i,block:t.block,x:tn(t.x),y:tn(t.y),fontSize:t.fontSize,fontWeight:y.nodeLabelFontWeight,letterSpacing:y.nodeLetterSpacing,display:"literal",anchor:t.anchor,...t.dominantBaseline?{dominantBaseline:t.dominantBaseline}:{},baselineShift:0,paint:{fill:n,stroke:o,strokeWidth:String(3),strokeLinejoin:"round",paintOrder:"stroke"},...l?{pageFill:m.labelColor}:{},channels:{category:`bar-${t.bar.seriesIndex}`,value:$(t.bar.value)},attributes:{className:"xychart-data-label",data:{"literal-text":"true"}}}))}if(ta(e,p,c.xAxis.ticks,c.xAxis.config.labelFontSize,"x",y,m.xAxisLabelColor),ta(e,p,c.yAxis.ticks,c.yAxis.config.labelFontSize,"y",y,m.yAxisLabelColor),c.xAxis.title){let t=c.xAxis.title,i=t.block?.text??H(t.text,y.edgeTextTransform),a=t.rotate?{kind:"rotate",angle:t.rotate,cx:t.x,cy:t.y}:void 0;p.push(e.text({id:"axis:x:title",role:"axis",text:i,block:t.block,x:t.x,y:t.y,fontSize:c.xAxis.config.titleFontSize,fontWeight:y.edgeLabelFontWeight,letterSpacing:y.edgeLetterSpacing,display:"literal",anchor:"middle",paint:{fill:m.xAxisTitleColor},transform:a,attributes:{className:"xychart-axis-title xychart-x-axis-title"}}))}if(c.yAxis.title){let t=c.yAxis.title,i=t.block?.text??H(t.text,y.edgeTextTransform),a=t.rotate?{kind:"rotate",angle:t.rotate,cx:t.x,cy:t.y}:void 0;p.push(e.text({id:"axis:y:title",role:"axis",text:i,block:t.block,x:t.x,y:t.y,fontSize:c.yAxis.config.titleFontSize,fontWeight:y.edgeLabelFontWeight,letterSpacing:y.edgeLetterSpacing,display:"literal",anchor:"middle",paint:{fill:m.yAxisTitleColor},transform:a,attributes:{className:"xychart-axis-title xychart-y-axis-title"}}))}if(c.title){let t=c.title.text;p.push(e.text({id:"title",role:"title",text:t,block:c.title.block,x:c.title.x,y:c.title.y,fontSize:c.config.titleFontSize,fontWeight:y.groupHeaderFontWeight,letterSpacing:y.groupLetterSpacing,display:"literal",anchor:"middle",paint:{fill:m.titleColor},attributes:{className:"xychart-title"}}))}if(c.legend.length>0){let t=[];for(let i of c.legend){let a=i.y+Math.max(12,i.block?.height??0)/2;"bar"===i.type?t.push({node:e.shape({id:`legend:swatch:${i.colorIndex}`,role:"legend",geometry:{kind:"rect",x:tn(i.x),y:tn(i.y),width:12,height:12,rx:2,ry:2},paint:{fill:_.get(`bar-${i.seriesIndex}`)??`var(--xychart-color-${i.colorIndex})`},channels:{category:`bar-${i.seriesIndex}`},attributes:{className:"xychart-legend-swatch"}}),indent:2}):(t.push({node:e.shape({id:`legend:swatch:${i.colorIndex}`,role:"legend",geometry:{kind:"line",x1:tn(i.x),y1:tn(a),x2:tn(i.x+12),y2:tn(a)},paint:{stroke:_.get(`line-${i.seriesIndex}`)??`var(--xychart-color-${i.colorIndex})`,strokeWidth:String(3),strokeLinecap:"round"},channels:{category:`line-${i.seriesIndex}`},attributes:{className:"xychart-legend-swatch"}}),indent:2}),t.push({node:e.shape({id:`legend:dot:${i.colorIndex}`,role:"legend",geometry:{kind:"circle",cx:tn(i.x+6),cy:tn(a),r:2.5},paint:{fill:_.get(`line-${i.seriesIndex}`)??`var(--xychart-color-${i.colorIndex})`,stroke:"var(--bg)",strokeWidth:"1"},channels:{category:`line-${i.seriesIndex}`},attributes:{className:"xychart-legend-dot"}}),indent:2}));let l=i.block?.text??H(i.label,y.nodeTextTransform),n=i.x+12+6;t.push({node:e.text({id:`legend:label:${i.colorIndex}`,role:"legend",text:l,block:i.block,x:tn(n),y:tn(a),fontSize:c.config.legendFontSize,fontWeight:y.nodeLabelFontWeight,letterSpacing:y.nodeLetterSpacing,display:"literal",anchor:"start",dominantBaseline:"middle",baselineShift:0,paint:{fill:m.legendTextColor},attributes:{className:"xychart-legend-label"}}),indent:2})}p.push(e.group({id:"legend",role:"legend",open:'<g class="xychart-legend">',close:"</g>",children:t}))}for(let e of M)p.push(e);for(let e of P)p.push(e);return p.push(e.documentClose()),{family:"xychart",width:c.width,height:c.height,colors:h,transparent:u,parts:p}}),ts=T(et,{configDiagnostics:e=>{let t=y("xychart",e,ei),i=p(e.root,e.config.section);if(!i)return t;let a=(e,i)=>{t.push({code:"INEFFECTIVE_CONFIG",field:e,message:`${e} must be ${i}; the invalid value has no effect.`})};for(let e of["xAxis","yAxis"]){let l=i[e];if(!(!l||"object"!=typeof l||Array.isArray(l)))for(let i of Object.keys(l).sort()){let n=ea[i];n?n.valid(l[i])?"labelRotation"===i&&t.push({code:"INEFFECTIVE_CONFIG",field:`xyChart.${e}.${i}`,message:`xyChart ${e}.${i} is accepted for Mermaid compatibility but has no effect on this renderer.`}):a(`xyChart.${e}.${i}`,n.expected):a(`xyChart.${e}.${i}`,"a documented axis-config field")}}return t},statementEnds:e5,normalizeRequest:e=>{let t=eZ(e.source.frontmatter),i=eG(e.source.frontmatter);return{familyConfig:{config:t},appearance:{...void 0===e.renderOptions.bg&&i.backgroundColor?{colors:{bg:i.backgroundColor}}:{},family:{theme:i}}}},layout:t=>{var i,a,l;let n,o=t.familyConfig,r=t.familyAppearance;return F(function(t,i={},a){var l,n,o,r,s,c,h;let d,x,g,u,f,p,y,m,b,v,w,A,k,L,z,S,C,$,M,F,T,W,_,I,P,N,O,j,B,E,Y,D,X,R,H,q,V,U,Z,ee,et,ei,ea,el,eg,ey,ek,eI,eP,eN,eO,ej,eB,eE,eY,eD,eX,eR,eH,eJ,eq,eV,eU,eQ,eZ,eG,eK,e0,e1,e2,e4,e5,e3,e8,e6=J(i,em,a),e7={width:er((l=t.config).width,en.width),height:er(l.height,en.height),useMaxWidth:ec(l.useMaxWidth,en.useMaxWidth),useWidth:"number"==typeof(n=l.useWidth)&&Number.isFinite(n)&&n>0?n:void 0,titleFontSize:er(l.titleFontSize,en.titleFontSize),titlePadding:es(l.titlePadding,en.titlePadding),chartOrientation:"vertical"===l.chartOrientation||"horizontal"===l.chartOrientation?l.chartOrientation:en.chartOrientation,plotReservedSpacePercent:(o=l.plotReservedSpacePercent,r=en.plotReservedSpacePercent,"number"==typeof o&&Number.isFinite(o)&&o>0&&o<=100?Math.max(10,o):r),showDataLabel:ec(l.showDataLabel,en.showDataLabel),showDataLabelOutsideBar:ec(l.showDataLabelOutsideBar,en.showDataLabelOutsideBar),showTitle:ec(l.showTitle,en.showTitle),showLegend:ec(l.showLegend,en.showLegend),legendFontSize:er(l.legendFontSize,en.legendFontSize),legendPadding:es(l.legendPadding,en.legendPadding),xAxis:eo(l.xAxis),yAxis:eo(l.yAxis)};(a?.group?.fontSize!=null||a?.text?.fontSize!=null)&&(e7.titleFontSize=e6.groupHeaderFontSize),(a?.node?.fontSize!=null||a?.text?.fontSize!=null)&&(e7.xAxis.labelFontSize=e6.nodeLabelFontSize,e7.yAxis.labelFontSize=e6.nodeLabelFontSize),(a?.edge?.fontSize!=null||a?.text?.fontSize!=null)&&(e7.xAxis.titleFontSize=e6.edgeLabelFontSize,e7.yAxis.titleFontSize=e6.edgeLabelFontSize),a?.edge?.lineWidth!=null&&(e7.xAxis.axisLineWidth=e6.lineWidth,e7.yAxis.axisLineWidth=e6.lineWidth,e7.xAxis.tickWidth=e6.lineWidth,e7.yAxis.tickWidth=e6.lineWidth);let e9=(e3=new Map,{block:e8=(e,t,i,a)=>{let l=JSON.stringify([e,t,i,a]),n=e3.get(l);if(!n){let o="axisTitle"===e;n=Q(t,{display:"literal",fontSize:i,fontWeight:o?e6.edgeLabelFontWeight:e6.nodeLabelFontWeight,letterSpacing:o?e6.edgeLetterSpacing:e6.nodeLetterSpacing,transform:"axisTitle"===e||"tick"===e?e6.edgeTextTransform:e6.nodeTextTransform,maxWidth:a}),e3.set(l,n)}return n},wrapTitle:(e,t,i)=>Q(e,{display:"literal",transform:e6.groupTextTransform,fontSize:t,fontWeight:e6.groupHeaderFontWeight,letterSpacing:e6.groupLetterSpacing,maxWidth:i}),tick:(e,t)=>e8("tick",e,t).width,legend:(e,t)=>e8("legend",e,t).width}),te=0,tt=Math.max(0,...t.series.flatMap(e=>"line"!==e.type?[]:[Math.max((G(a,"series",{category:`line-${te++}`},{includeFallback:!1})?.lineWidth??e6.lineWidth)/2,i.interactive||e.pointLabels?.some(e=>void 0!==e)?5:0)])),ti=t.horizontal?(d=e7.width,x=e7.height,g=eh(t),u=ex(t,g),y=(p=ef((f=t.yAxis.range).min,f.max)).map(ep),m=Math.max(0,x-Math.floor(x*e7.plotReservedSpacePercent/100)),b=Math.max(0,d-Math.floor(d*e7.plotReservedSpacePercent/100)),w=(v=eA(t.title,e7,m,e9)).height,m=Math.max(0,m-w),A=eL(e7.yAxis,t.yAxis.title,y,m,e9),m=Math.max(0,m-A.size),k=ez(e7.xAxis,t.xAxis.title,u,b,e9,x),b=Math.max(0,b-k.size),C=eb(t,tt,A.config),M=Math.max(0,x-($=Math.max(w+A.size,ev(A.config)))),F=Math.max(1,g),T=Math.min(M,Math.max(0,((k.config.showLabel?.6*e7.xAxis.labelFontSize:0)-M/(2*F))/(1-1/(2*F)))),_=ew(t,e7,b,d,$,W=Math.max(0,M-T),e9),P=Math.max(0,Math.max(I=A.config.showLabel&&y.length>0?Math.max(...[y[0],y[y.length-1]].map(e=>e9.tick(e,e7.yAxis.labelFontSize)/2)):0,C.value,ev(k.config))-k.size),N=Math.max(0,I-_.size,C.value-_.size),O={x:k.size+P,y:$,width:Math.max(0,d-k.size-P-_.size-N),height:W},j=e=>O.x+(e-f.min)/(f.max-f.min||1)*O.width,B=e=>O.y+(e+.5)*(O.height/g),E=O.height/Math.max(1,g),Y=A.config.showLabel?(L=(s=A.config).showAxisLine?s.axisLineWidth:0,z=s.showTick?s.tickLength:0,S=O.y-L-z-s.labelPadding,p.map((e,t)=>({label:y[t],x:j(e),y:O.y-L,tx:j(e),ty:O.y-L-z,labelX:j(e),labelY:S,textAnchor:"middle"}))):[],D=k.config.showLabel?eC(u.map((e,t)=>t),u,B,O,k.config):[],X=p.map(e=>({x1:j(e),y1:O.y,x2:j(e),y2:O.y+O.height})),R=t.series.map((e,t)=>t),H=eW(t,B,E,j,f,u,R,!0),q=e_(t,B,j,f,u,R,!0),{width:d,height:x,accessibility:t.accessibility,horizontal:!0,title:v.title,hiddenTitle:t.title&&e7.showTitle&&!v.title?t.title:void 0,xAxis:{ticks:D,line:e$(O,k.config),title:eM(t.xAxis.title,O,k.config,x,e9),config:k.config},yAxis:{ticks:Y,line:(c=A.config,V=O.y-(c.showAxisLine?c.axisLineWidth/2:0),{x1:O.x,y1:V,x2:O.x+O.width,y2:V}),title:function(e,t,i,a){if(!(!e||!a.showTitle))return{text:e,x:t.x+t.width/2,y:i+a.titlePadding+a.titleFontSize}}(t.yAxis.title,O,w,A.config),config:A.config},plotArea:O,bars:H,lines:q,gridLines:X,legend:_.items,hiddenLegendLabels:_.hiddenLabels,hiddenCategoryLabels:eF(t,e7,k.config,D),...eT(H,!0,O,e7,e9),config:e7,theme:t.theme}):(U=e7.width,Z=e7.height,ee=eh(t),et=ex(t,ee),ei=ed(t,ee),eg=(el=ef((ea=t.yAxis.range).min,ea.max)).map(ep),ey=t.xAxis.range?ef(t.xAxis.range.min,t.xAxis.range.max):void 0,ek=ey?.map(ep)??et,eI=Math.max(0,Z-Math.floor(Z*e7.plotReservedSpacePercent/100)),eP=Math.max(0,U-Math.floor(U*e7.plotReservedSpacePercent/100)),eO=(eN=eA(t.title,e7,eI,e9)).height,eI=Math.max(0,eI-eO),ej=eL(e7.xAxis,t.xAxis.title,ek,eI,e9),eI=Math.max(0,eI-ej.size),eB=ez(e7.yAxis,t.yAxis.title,eg,eP,e9,Z),eP=Math.max(0,eP-eB.size),eX=Math.max(0,Z-(eD=Math.max(eO,eE=eB.config.showLabel&&eg.length>0?e7.yAxis.labelFontSize/2:0,(eY=eb(t,tt,eB.config,t.xAxis.range?ej.config:void 0)).value))-Math.max(ej.size,eE,eY.value,ev(ej.config))),eR=ew(t,e7,eP,U,eD,eX,e9),eJ={x:eH=Math.max(eB.size,eY.position,ev(eB.config)),y:eD,width:Math.max(0,U-eH-Math.max(eR.size,eY.position)),height:eX},eq=t.xAxis.range&&t.series.some(e=>"bar"===e.type)?eJ.width/Math.max(1,ee)/2:0,eV=t.xAxis.range?e=>eJ.x+eq+(e-t.xAxis.range.min)/(t.xAxis.range.max-t.xAxis.range.min||1)*(eJ.width-2*eq):void 0,eU=e=>eV?eV(ei[e]):eJ.x+(e+.5)*(eJ.width/ee),eQ=eV?function(e,t,i){if(e.length<2)return i;let a=1/0;for(let i=1;i<e.length;i++)a=Math.min(a,Math.abs(t(e[i])-t(e[i-1])));return Number.isFinite(a)&&a>0?a:i}(ei,eV,eJ.width/Math.max(2,ee)):eJ.width/Math.max(1,ee),eZ=e=>eJ.y+eJ.height-(e-ea.min)/(ea.max-ea.min||1)*eJ.height,eG=ej.config.showLabel?t.xAxis.range&&ey&&eV?eS(ey,ek,eV,eJ,ej.config,e9,U):eS(et.map((e,t)=>t),et,eU,eJ,ej.config,e9,U):[],eK=eB.config.showLabel?eC(el,eg,eZ,eJ,eB.config):[],e0=el.map(e=>({x1:eJ.x,y1:eZ(e),x2:eJ.x+eJ.width,y2:eZ(e)})),e1=t.series.map((e,t)=>t),e2=eW(t,eU,eQ,eZ,ea,et,e1,!1),e4=e_(t,eU,eZ,ea,et,e1,!1),{width:U,height:Z,accessibility:t.accessibility,title:eN.title,hiddenTitle:t.title&&e7.showTitle&&!eN.title?t.title:void 0,xAxis:{ticks:eG,line:(h=ej.config,e5=eJ.y+eJ.height+(h.showAxisLine?h.axisLineWidth/2:0),{x1:eJ.x,y1:e5,x2:eJ.x+eJ.width,y2:e5}),title:function(e,t,i,a){if(!(!e||!a.showTitle))return{text:e,x:t.x+t.width/2,y:i-a.titlePadding-a.titleFontSize/2}}(t.xAxis.title,eJ,Z,ej.config),config:ej.config},yAxis:{ticks:eK,line:e$(eJ,eB.config),title:eM(t.yAxis.title,eJ,eB.config,Z,e9),config:eB.config},plotArea:eJ,bars:e2,lines:e4,gridLines:e0,legend:eR.items,hiddenLegendLabels:eR.hiddenLabels,hiddenCategoryLabels:eF(t,e7,ej.config,eG),...eT(e2,!1,eJ,e7,e9),config:e7,theme:t.theme});for(let e of[ti.xAxis,ti.yAxis]){if(e.title){let i=e.title.block??=e9.block("axisTitle",e.title.text,e.config.titleFontSize),a=(i.lines.length-1)*i.lineHeight/2+(i.lineHeight-e.config.titleFontSize*K)/2;e.title.rotate?e.title.x+=a:e.title.y+=t.horizontal?a:-a}for(let t of e.ticks){let i=t.block=e9.block("tick",t.label,e.config.labelFontSize),a="start"===t.textAnchor?0:"end"===t.textAnchor?i.width:i.width/2;t.labelX=Math.max(a,Math.min(ti.width-i.width+a,t.labelX)),t.labelY=Math.max(i.height/2,Math.min(ti.height-i.height/2,t.labelY))}}for(let e of ti.legend)e.block=e9.block("legend",e.label,ti.config.legendFontSize);for(let e of ti.dataLabels)e.block=e9.block("data",e.text,e.fontSize);for(let e of ti.lines)for(let t of e.points)if(void 0!==t.textLabel){let e=t.textBlock=e9.block("data",t.textLabel,12,Math.max(1,ti.width-8)),i=(e,t,i)=>Math.max(t,Math.min(i,e));if(ti.horizontal){let a=t.x+8+e.width<=ti.width-4,l=a?"start":"end";t.textPosition={x:a?i(t.x+8,4,ti.width-4-e.width):i(t.x-8,e.width+4,ti.width-4),y:i(t.y,e.height/2,ti.height-e.height/2),anchor:l,placement:a?"right":"left"}}else{let a=t.y-8-e.height>=ti.plotArea.y;t.textPosition={x:i(t.x,e.width/2,ti.width-e.width/2),y:i(t.y+(a?-1:1)*(8+e.height/2),e.height/2,ti.height-e.height/2),anchor:"middle",placement:a?"above":"below"}}}for(let t of ti.bars)t.tooltip=e(ti.horizontal?t.x+t.width:t.x+t.width/2,ti.horizontal?t.y+t.height/2:t.y,eu(t.value));for(let t of ti.lines)for(let i of t.points)i.tooltip=e(i.x,i.y-4,eu(i.value));return ti}((i=b(P(function(e,t={}){let i=e3(e,!0===t.strict),a=B(i),l=a.accessibility,n=a.familyLines;if(void 0!==a.unclosedIndex){if(t.strict)throw Error('XYChart accDescr block is missing a closing "}"');let e=a.unclosedIndex;n=a.familyLines.slice(0,e-i.length),l.descr=i.slice(e).join(`
16
+ `).replace(/^[^{]*\{/,"").trim()||void 0}let o={},r={},s=[],c=e3(n,!0===t.strict),h,d=!1,x,g=c[0],u=g?.match(/^xychart(?:-beta)?(?:\s+(horizontal|vertical))?$/i);if(!u&&t.strict)throw Error(`Invalid XYChart header: "${g??""}"`);u&&W("xychart")&&_("xychart","header",g,{line:1,unit:"normalized"}),u?.[1]&&(x=u[1].toLowerCase(),W("xychart")&&I("xychart","setHeaderOrientation",x,{line:1,unit:"normalized"}),d="horizontal"===x,W("xychart")&&I("xychart","setHorizontal",d,{line:1,unit:"normalized"}));for(let e=+!!u;e<c.length;e++){let i=c[e],a=i.match(/^title\s+([\s\S]+)$/i);if(a){W("xychart")&&_("xychart","title",i,{line:e+1,unit:"normalized"});let l=eJ(a[1]);if(null===l){if(t.strict)throw Error(`Invalid XYChart title directive: "${i}"`)}else h=l,W("xychart")&&I("xychart","setTitle",h,{line:e+1,unit:"normalized"});continue}let l=i.match(/^x-axis\s+([\s\S]+)$/i);if(l){if(W("xychart")&&_("xychart","x-axis",i,{line:e+1,unit:"normalized"}),!eD(o,l[1],"x",e+1)&&t.strict)throw Error(`Invalid XYChart x-axis directive: "${i}"`);continue}let n=i.match(/^y-axis\s+([\s\S]+)$/i);if(n){if(W("xychart")&&_("xychart","y-axis",i,{line:e+1,unit:"normalized"}),!eD(r,n[1],"y",e+1)&&t.strict)throw Error(`Invalid XYChart y-axis directive: "${i}"`);continue}let d=eq(i);if(d?.type==="bar"){W("xychart")&&_("xychart","bar",i,{line:e+1,unit:"normalized"});let a=eP(d.points,!0===t.strict,e+1);s.push({type:"bar",label:d.label,data:a.values,...a.labels.some(e=>void 0!==e)?{pointLabels:a.labels}:{}}),W("xychart")&&I("xychart","appendSeries",s[s.length-1],{line:e+1,unit:"normalized"});continue}if(d?.type==="line"){W("xychart")&&_("xychart","line",i,{line:e+1,unit:"normalized"});let a=eP(d.points,!0===t.strict,e+1);s.push({type:"line",label:d.label,data:a.values,...a.labels.some(e=>void 0!==e)?{pointLabels:a.labels}:{}}),W("xychart")&&I("xychart","appendSeries",s[s.length-1],{line:e+1,unit:"normalized"});continue}throw W("xychart")&&_("xychart","unrecognized",i,{line:e+1,unit:"normalized"}),Error(`Unrecognized XYChart line: "${i}"`)}if(!r.range&&s.length>0){let e=s.flatMap(e=>e.data),t=s.some(e=>"bar"===e.type),i=t?Math.min(0,...e):Math.min(...e),a=t?Math.max(0,...e):Math.max(...e),l=a-i||1,n=t&&0===i,o=t&&0===a&&i<0;n||(i-=.1*l),o||(a+=.1*l),i>0&&i<.5*l&&(i=0),r.range={min:i,max:a},W("xychart")&&I("xychart","deriveYAxisRange",r.range)}return r.range||(r.range={min:0,max:100},W("xychart")&&I("xychart","setFallbackYAxisRange",r.range)),{title:h,accessibility:l.title||l.descr?{...void 0!==l.title?{title:l.title}:{},...void 0!==l.descr?{description:l.descr}:{}}:void 0,horizontal:d,headerOrientation:x,xAxis:o,yAxis:r,series:s,config:eZ({}),theme:eG({})}}(t.source.familyLines),t.source.accessibility),t.source.frontmatter),a=o?.config??eZ({}),l=r?.theme??eG({}),n={...i,horizontal:i.headerOrientation?i.horizontal:"horizontal"===a.chartOrientation,config:a,theme:l},W("xychart")&&I("xychart","applyConfig",{horizontal:n.horizontal,config:a,theme:l}),n),t.renderOptions,t.styleFace),{injectAccessibility:!1})},projectPositioned:$(function({positioned:e,options:t}){let i=[],a=[],l=k(A(e)),n=(e,t,i,n,o,r="middle",s=0)=>{if(!t)return;let c=C(i,n,o,r);if(c&&s){let e=V({x0:c.x,y0:c.y,x1:c.x+c.w,y1:c.y+c.h},{x:n,y:o},s);c=k({x:e.x0,y:e.y0,width:e.x1-e.x0,height:e.y1-e.y0})}a.push({id:e,text:t,...c?{bounds:c}:{},container:l})},o=new Map;if(e.bars.forEach(e=>{let t=o.get(e.seriesIndex)??0;o.set(e.seriesIndex,t+1),i.push({id:`bar#${e.seriesIndex}:pt#${t}`,x:L(e.x),y:L(e.y),w:z(e.x,e.width),h:z(e.y,e.height),shape:"rectangle",label:e.label,role:"labelled-mark",labelVisibility:"semantic"})}),e.lines.forEach(t=>{t.points.forEach((a,l)=>{let o=e.plotArea,r=Math.max(o.x,Math.min(o.x+o.width,a.x-3)),s=Math.max(o.y,Math.min(o.y+o.height,a.y-3)),c=Math.max(r,Math.min(o.x+o.width,a.x+3)),h=Math.max(s,Math.min(o.y+o.height,a.y+3));if(i.push({id:`line#${t.seriesIndex}:pt#${l}`,x:L(r),y:L(s),w:z(r,c-r),h:z(s,h-s),shape:"circle",label:a.label,role:a.label?"labelled-mark":"mark",labelVisibility:"semantic"}),void 0!==a.textLabel){let e=a.textPosition;n(`point-label:${t.seriesIndex}:${l}`,a.textBlock?.text??a.textLabel,e?a.textBlock:void 0,e?.x??a.x,e?.y??a.y,e?.anchor??"middle")}})}),e.title){let t=e.title;n("title",t.block?.text??t.text,t.block,t.x,t.y)}for(let[t,i]of[["x",e.xAxis],["y",e.yAxis]]){if(i.title){let e=i.title;n(`axis:${t}:title`,e.block?.text??e.text,e.block,e.x,e.y,"middle",e.rotate)}i.ticks.forEach((e,i)=>n(`axis:${t}:label:${i}`,e.block?.text??e.label,e.block,e.labelX,e.labelY,e.textAnchor))}for(let t of e.legend)n(`legend:label:${t.colorIndex}`,t.block?.text??t.label,t.block,t.x+12+6,t.y+Math.max(12,t.block?.height??0)/2,"start");e.dataLabels.forEach((e,t)=>{let i="hanging"===e.dominantBaseline?e.y+(e.block?.height??0)/2:"middle"===e.dominantBaseline?e.y:e.y-.35*e.fontSize;n(`data-label:${t}`,e.block?.text??e.text,e.block,e.x,i,e.anchor)});let r=[{id:"plot",x:L(e.plotArea.x),y:L(e.plotArea.y),w:z(e.plotArea.x,e.plotArea.width),h:z(e.plotArea.y,e.plotArea.height),members:i.filter(t=>t.x+t.w/2>=e.plotArea.x&&t.x+t.w/2<=e.plotArea.x+e.plotArea.width&&t.y+t.h/2>=e.plotArea.y&&t.y+t.h/2<=e.plotArea.y+e.plotArea.height).map(e=>e.id)}],s={version:1,nodes:i,edges:[],groups:r,bounds:{w:L(e.width),h:L(e.height)},labels:a};return t.debug&&(s.certificates=S("xychart",s,"plot-contained",r[0],"center")),s}),lowerScene:M(tr)});export{ts as default};
@@ -1,16 +1,16 @@
1
- import{b as e,c as t,f as i,g as n,i as r}from"./chunk-FAIMVOX5.js";import"./chunk-2GPK4VFF.js";import"./chunk-QA6GJQ4X.js";import{u as s,v as a}from"./chunk-DF6765YX.js";import"./chunk-J35HAQQF.js";import"./chunk-CN7WTBWB.js";import{a as o,b as l,c as c,d as d,e as p,g as m,i as f}from"./chunk-HLWUNUCM.js";import{B as u,H as h,M as y,c as b,t as g,u as v,y as k}from"./chunk-X2UYKWKM.js";import"./chunk-TYZOZXUJ.js";import"./chunk-NO7ZIVRU.js";import{G as _,I as w}from"./chunk-Z3FDIVLN.js";import{R as x,a as $}from"./chunk-N5ELX7LR.js";import"./chunk-5UVGUSD6.js";import"./chunk-CSFUKSU6.js";var E=Object.freeze({id:"zenuml",upstreamId:"zenuml",maturity:"experimental",label:"ZenUML",headers:["zenuml"],aliases:[],config:{section:"zenuml",keys:[],noopKeys:[]},identity:{id:"family:zenuml",kind:"family",version:"1.0.0",compatibility:{core:"0.5.3"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["category"],semanticRoles:["prelude","title","defs","chrome","actor","lifeline","activation","message","block","note","label","icon"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"marker",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"actor",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"actor",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"lifeline",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"lifeline",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"activation",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"activation",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"message",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"message",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"block",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"block",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"block",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"note",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"note",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`zenuml
1
+ import{b as e,c as t,f as i,g as n,i as r}from"./chunk-Z7UHFVKN.js";import"./chunk-TT5GR5EJ.js";import"./chunk-J57YRC2M.js";import{u as s,v as a}from"./chunk-V6I2VGNQ.js";import"./chunk-7UFOFWBA.js";import"./chunk-VRZKI33U.js";import{a as o,b as l,c as c,d as d,e as p,g as m,i as f}from"./chunk-QVSZOF5M.js";import{B as u,H as h,M as y,c as b,t as g,u as v,y as k}from"./chunk-G4JBA7HU.js";import"./chunk-3JTYTXA6.js";import"./chunk-YVNJDVQO.js";import{G as _,I as w}from"./chunk-EIYLJ4FI.js";import{R as x,a as $}from"./chunk-PJJSDGLB.js";import"./chunk-YHMTSXIR.js";import"./chunk-QCU5G5PZ.js";var E=Object.freeze({id:"zenuml",upstreamId:"zenuml",maturity:"experimental",label:"ZenUML",headers:["zenuml"],aliases:[],config:{section:"zenuml",keys:[],noopKeys:[]},identity:{id:"family:zenuml",kind:"family",version:"1.0.0",compatibility:{core:"0.5.4"},provenance:{owner:"agentic-mermaid",source:"built-in"}},collisionPriority:100,semanticChannels:["category"],semanticRoles:["prelude","title","defs","chrome","actor","lifeline","activation","message","block","note","label","icon"],scenePrimitiveEvidence:[{role:"prelude",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"title",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"defs",primitive:"marker",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"chrome",primitive:"document",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"actor",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"actor",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"lifeline",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"lifeline",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"activation",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"activation",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"message",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"message",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"block",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"block",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"block",primitive:"connector",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"note",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"note",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"label",primitive:"text",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"shape",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]},{role:"icon",primitive:"container",applicability:"applicable",realization:"native",evidence:["src/__tests__/section-a-family-descriptor-conformance.test.ts"]}],example:`zenuml
2
2
  Alice->Bob: Hello
3
- Bob->Alice: Reply`,detect:x,detectLoose:x}),I=String.raw`(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[\p{L}_$][\p{L}\p{N}_$-]*?)`,U=RegExp(`^${I}$`,"u"),L=RegExp(`^(${I})(?![\\p{L}\\p{N}_$-])`,"u"),z=RegExp(`^(${I})\\s*(-->|->)\\s*(${I})\\s*:\\s*([\\s\\S]*)$`,"u"),M=RegExp(`^(${I})(?:\\s+as\\s+(${I}))?$`,"u"),Z=RegExp(`^(?:(${I})\\s*->\\s*)?(${I})\\s*\\.\\s*([\\s\\S]+)$`,"u");function S(e){let t=e.trim();if(!U.test(t))throw Error(`Invalid ZenUML identity: ${e}`);return t.startsWith('"')?JSON.parse(t):t.startsWith("'")?t.slice(1,-1).replace(/\\'/g,"'").replace(/\\\\/g,"\\"):t}function A(e){if(!e||/[\r\n]/.test(e))throw Error("ZenUML identities must be non-empty single-line text");return/^[\p{L}_$][\p{L}\p{N}_$-]*$/u.test(e)&&!j.has(e)?e:JSON.stringify(e)}var j=new Set(["title","if","else","while","for","foreach","forEach","loop","par","opt","try","catch","finally","return","new","critical","group","ref","section","const","readonly","static","await","true","false","null","nil","as","in"]);function q(e){let t=[],i=0,n="",r=!1,s=0,a=0,o=!1,l=!1,c=!1,d=n=>{let r=e.slice(i,n).trim();r&&t.push({kind:"text",text:r,start:i+e.slice(i,n).indexOf(r),end:n-(e.slice(i,n).length-e.slice(i,n).trimEnd().length)})};for(let p=0;p<e.length;p++){let m=e[p],f=!l&&/\S/.test(m);if(f&&(l=!0,!s&&!a&&/^title(?:[ \t]|$)/.test(e.slice(p,p+6))&&(c="title")),n){r?r=!1:"\\"===m?r=!0:m===n&&(n="");continue}if(!c&&('"'===m||"'"===m)){n=m;continue}if(!c&&e.startsWith("//",p)){d(p);let n=e.indexOf(`
3
+ Bob->Alice: Reply`,detect:x,detectLoose:x}),I=String.raw`(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[\p{L}_$][\p{L}\p{N}_$-]*?)`,z=RegExp(`^${I}$`,"u"),L=RegExp(`^(${I})(?![\\p{L}\\p{N}_$-])`,"u"),U=RegExp(`^(${I})\\s*(-->|->)\\s*(${I})\\s*:\\s*([\\s\\S]*)$`,"u"),M=RegExp(`^(${I})(?:\\s+as\\s+(${I}))?$`,"u"),Z=RegExp(`^(?:(${I})\\s*->\\s*)?(${I})\\s*\\.\\s*([\\s\\S]+)$`,"u");function S(e){let t=e.trim();if(!z.test(t))throw Error(`Invalid ZenUML identity: ${e}`);return t.startsWith('"')?JSON.parse(t):t.startsWith("'")?t.slice(1,-1).replace(/\\'/g,"'").replace(/\\\\/g,"\\"):t}function A(e){if(!e||/[\r\n]/.test(e))throw Error("ZenUML identities must be non-empty single-line text");return/^[\p{L}_$][\p{L}\p{N}_$-]*$/u.test(e)&&!j.has(e)?e:JSON.stringify(e)}var j=new Set(["title","if","else","while","for","foreach","forEach","loop","par","opt","try","catch","finally","return","new","critical","group","ref","section","const","readonly","static","await","true","false","null","nil","as","in"]);function q(e){let t=[],i=0,n="",r=!1,s=0,a=0,o=!1,l=!1,c=!1,d=n=>{let r=e.slice(i,n).trim();r&&t.push({kind:"text",text:r,start:i+e.slice(i,n).indexOf(r),end:n-(e.slice(i,n).length-e.slice(i,n).trimEnd().length)})};for(let p=0;p<e.length;p++){let m=e[p],f=!l&&/\S/.test(m);if(f&&(l=!0,!s&&!a&&/^title(?:[ \t]|$)/.test(e.slice(p,p+6))&&(c="title")),n){r?r=!1:"\\"===m?r=!0:m===n&&(n="");continue}if(!c&&('"'===m||"'"===m)){n=m;continue}if(!c&&e.startsWith("//",p)){d(p);let n=e.indexOf(`
4
4
  `,p),r=n<0?e.length:n;t.push({kind:"comment",text:e.slice(p+2,r).replace(/^ /,""),start:p,end:r}),p=r-1,i=r,l=!1,o=!1;continue}if(!c&&e.startsWith("%%",p)&&f){let t=e.indexOf(`
5
5
  `,p);i=(p=t<0?e.length:t-1)+1,l=!1,o=!1;continue}if(!c){if("("===m&&s++,")"===m){if(!s)throw Error("Unmatched ZenUML parenthesis");s--}if("["===m&&a++,"]"===m){if(!a)throw Error("Unmatched ZenUML bracket");a--}">"!==m||"-"!==e[p-1]||s||a||(o=!0),":"!==m||s||a||!o||(c="event")}s||a||(c||"{"!==m&&"}"!==m)&&m!==`
6
- `&&(";"!==m||"title"===c)||(d(p),("{"===m||"}"===m)&&t.push({kind:"{"===m?"open":"close",text:m,start:p,end:p+1}),i=p+1,c=!1,l=!1,o=!1)}if(n||s||a)throw Error("Unclosed ZenUML quote or parameter list");return d(e.length),t}function N(e){let t=e.join(`
6
+ `&&(";"!==m||"title"===c)||(d(p),("{"===m||"}"===m)&&t.push({kind:"{"===m?"open":"close",text:m,start:p,end:p+1}),i=p+1,c=!1,l=!1,o=!1)}if(n||s||a)throw Error("Unclosed ZenUML quote or parameter list");return d(e.length),t}function R(e){let t=e.join(`
7
7
  `),i=e.map((e,t)=>t);try{let e=0,n=0;for(let r of q(t)){for(;n<r.start;)t[n++]===`
8
8
  `&&e++;let s=e;for(;n<r.end;)t[n++]===`
9
- `&&e++;for(let t=s;t<e;t++)i[t]=e}}catch{}return i}function C(e){let t=e.trim();if(t){if(!t.startsWith("(")||!t.endsWith(")"))throw Error("ZenUML condition requires parentheses");return t.slice(1,-1).trim()}}function O(e,t){for(let i of e)if(t(i,e),("call"===i.kind||"create"===i.kind)&&O(i.children,t),"fragment"===i.kind)for(let e of i.branches)O(e.statements,t)}var R={actor:"actor",boundary:"boundary",control:"control",entity:"entity",database:"database",collections:"collections",queue:"queue",participant:"participant"},W=e=>({value:e,prepared:_(e,"literal")});function T(e){return void 0===e.type?e.name:`${e.name}:${e.type}`}function D(e){return e.assignment?`${e.assignment.name}:${e.constructor}`:e.constructor}var B=b((e,t)=>({...n(e,t),family:"zenuml"})),F=d(E,{statementEnds:N,layout:n=>{let r=function(e,t){let i=Array.isArray(e)?e.join(`
9
+ `&&e++;for(let t=s;t<e;t++)i[t]=e}}catch{}return i}function T(e){let t=e.trim();if(t){if(!t.startsWith("(")||!t.endsWith(")"))throw Error("ZenUML condition requires parentheses");return t.slice(1,-1).trim()}}function N(e,t){for(let i of e)if(t(i,e),("call"===i.kind||"create"===i.kind)&&N(i.children,t),"fragment"===i.kind)for(let e of i.branches)N(e.statements,t)}var O={actor:"actor",boundary:"boundary",control:"control",entity:"entity",database:"database",collections:"collections",queue:"queue",participant:"participant"},C=e=>({value:e,prepared:_(e,"literal")});function D(e){return void 0===e.type?e.name:`${e.name}:${e.type}`}function J(e){return e.assignment?`${e.assignment.name}:${e.constructor}`:e.constructor}var W=b((e,t)=>({...n(e,t),family:"zenuml"})),B=d(E,{statementEnds:R,layout:n=>{let r=function(e,t){let i=Array.isArray(e)?e.join(`
10
10
  `):e,n=i.replace(/\r\n?/g,`
11
11
  `),r=g(i),s=0,a,o=$(n);if(o){let e=h(o.yaml);if(!e.ok)throw Error(e.message);e.value&&"object"==typeof e.value&&"title"in e.value&&"string"==typeof e.value.title&&(a=e.value.title),n=n.slice(o.source.length),s=o.source.split(`
12
12
  `).length-1}let l=k(n.split(`
13
- `),N(n.split(`
13
+ `),R(n.split(`
14
14
  `))),c=(n=l.familyLines.join(`
15
- `)).match(/^(?:(?:[^\S\n]*(?:%%[^\n]*)?\n))*[^\S\n]*zenuml\b/);if(!c)throw Error("Expected zenuml header");let d=q(n.slice(c[0].length)),b=g(n),_=e=>{let t=v(b,e+c[0].length);return(r[(l.familyOrigins[t.line-1]??t.line-1)+s]??i.length)+t.col-1},w=(e,t,i)=>{},x={kind:"zenuml",participants:[],statements:[],...u(l.accessibility),...void 0===a?{}:{title:a}},E=0,U=0,A=0,O=!0,R=()=>`statement:${++U}`,W=e=>({offset:_(e.start),endOffset:_(e.end),unit:"physical"}),T=()=>{let e=d[E++];if(e&&p("zenuml")){let t=W(e);m("zenuml",e.kind,i.slice(t.offset,t.endOffset),t)}return e},D=(e,t,i)=>{e.push(t),p("zenuml")&&f("zenuml","append-statement",t,W(i))},B=e=>{if(++A>128)throw Error("ZenUML nesting exceeds 128 scopes");let t=[];for(;E<d.length;){let n=T();if("close"===n.kind){if(!e)throw Error("Unmatched ZenUML closing brace");return A--,t}if("open"===n.kind)throw Error("ZenUML scope has no owner");if("comment"===n.kind){let e={kind:"comment",id:R(),text:n.text};D(t,e,n),w("labels",e.id,n);continue}let r=n.text;if(!e&&("title"===r||r.startsWith("title "))){x.title=r.slice(5).trim(),p("zenuml")&&f("zenuml","set-title",x.title,W(n)),w("labels","title",n);continue}let s=r.match(RegExp(`^@Starter\\(\\s*(${I})\\s*\\)$`,"u"));if(!e&&s&&O){x.starter=S(s[1]),p("zenuml")&&f("zenuml","set-starter",x.starter,W(n));continue}if(!e&&O){let e=function(e){let t=[],i=e,n;for(;/^@[\w]+\s+/.test(i);){let e=i.match(/^@([\w]+)\s+/);t.push(e[1]),i=i.slice(e[0].length)}if(i.startsWith("<<")){let e=i.indexOf(">>");if(e<0)return;n=S(i.slice(2,e).trim()),i=i.slice(e+2).trim()}let r=i.match(M);if(!r||!i.startsWith('"')&&j.has(r[1]))return;let s=S(r[1]);return{id:s,label:r[2]?S(r[2]):s,annotations:t,...n?{stereotype:n}:{}}}(r);if(e){if(x.participants.some(t=>t.id===e.id))throw Error(`Duplicate ZenUML participant: ${e.id}`);let r=[];for(;t.at(-1)?.kind==="comment";){let i=t.pop();r.unshift(i.text),p("zenuml")&&f("zenuml","claim-participant-comment",{participant:e.id,comment:i})}r.length&&(e.comments=r),e.annotations.length>1&&(x.unsupportedSource=i),w("nodes",e.id,n),x.participants.push(e),p("zenuml")&&f("zenuml","append-participant",e,W(n));continue}}O=!1;let a=R();w("edges",a,n);let o=!1;if(/^@(return|reply)(?:\s|$)/.test(r)&&(o=!0,!(r=r.replace(/^@(return|reply)\s*/,"")))){let e=T();if(!e||"text"!==e.kind)throw Error("ZenUML reply annotation requires a message");r=e.text}let l=r.match(z);if(l){w("nodes",S(l[1]),n),w("nodes",S(l[3]),n),D(t,{kind:"message",id:a,from:S(l[1]),to:S(l[3]),label:l[4],reply:o||"--\x3e"===l[2]},n);continue}if(o)throw Error("ZenUML reply annotation requires a directed message");let c=r.match(/^(if|while|for|forEach|foreach|loop|par|opt|try|critical)\b([\s\S]*)$/);if(c){w("groups",a,n);let e=c[1],i=C(c[2]);if(d[E]?.kind!=="open")throw Error(`ZenUML ${e} requires a brace-delimited scope`);T();let r=[{kind:"body",statements:B(!0)}];for(;d[E]?.kind==="text";){let t=d[E].text.match(/^(else\s+if|else|catch|finally)\b([\s\S]*)$/);if(!t)break;let i="else if"===t[1]?"else-if":t[1];if("if"===e?!["else-if","else"].includes(i):"try"!==e||!["catch","finally"].includes(i))break;T();let n=C(t[2]);if(T()?.kind!=="open")throw Error("ZenUML branch requires a brace-delimited scope");r.push({kind:i,...void 0===n?{}:{condition:n},statements:B(!0)})}D(t,{kind:"fragment",id:a,type:e,...void 0===i?{}:{condition:i},branches:r},n);continue}if(/^return\b/.test(r)){D(t,{kind:"return",id:a,label:r.slice(6).trim()},n);continue}let m=function(e){let t=e.match(RegExp(`^(?:(${I})\\s+)?(${I})\\s*=\\s*(?!=)([\\s\\S]+)$`,"u"));return t?{assignment:{name:S(t[2]),...t[1]?{type:S(t[1])}:{}},rest:t[3].trim()}:{rest:e}}(r),u=m.rest.match(RegExp(`^new\\s+(${I})(?:\\s*\\(([\\s\\S]*)\\))?$`,"u")),h=()=>d[E]?.kind!=="open"?[]:(T(),B(!0));if(u){w("nodes",m.assignment?`${m.assignment.name}:${S(u[1])}`:S(u[1]),n),D(t,{kind:"create",id:a,constructor:S(u[1]),...void 0===u[2]?{}:{arguments:u[2]},...m.assignment?{assignment:m.assignment}:{},children:h()},n);continue}let y=m.rest.match(Z),b=y?y[3]:m.rest;if(L.test(b)&&function(e){let t=0,i="",n=!1,r="";for(let s of e){if(i){n?n=!1:"\\"===s?n=!0:s===i&&(i="");continue}if('"'===s||"'"===s){if(!t)return!1;i=s;continue}if("("===s){1==++t&&(r+="()");continue}if(")"===s){t--;continue}t||(r+=s)}return/^[\p{L}_$][\p{L}\p{N}_$-]*(?:\(\))?(?:\s*\.\s*[\p{L}_$][\p{L}\p{N}_$-]*(?:\(\))?)*$/u.test(r.trim())}(b)&&(null!==y||!j.has(L.exec(b)[1]))){y?.[1]&&w("nodes",S(y[1]),n),y?.[2]&&w("nodes",S(y[2]),n),D(t,{kind:"call",id:a,...y?.[1]?{from:S(y[1])}:{},...y?.[2]?{to:S(y[2])}:{},label:b,...m.assignment?{assignment:m.assignment}:{},children:h()},n);continue}D(t,{kind:"opaque",id:a,source:r},n),x.unsupportedSource=i,d[E]?.kind==="open"&&(T(),B(!0))}if(A--,e)throw Error("Unclosed ZenUML scope");return t};x.statements=B(!1);let F=new Set(x.participants.map(e=>e.id));x.starter&&F.add(x.starter);let H=[],X=e=>{for(let t of e)if(H.push(t),("call"===t.kind||"message"===t.kind)&&(t.from&&F.add(t.from),t.to&&F.add(t.to)),"create"===t.kind&&F.add(t.assignment?`${t.assignment.name}:${t.constructor}`:t.constructor),("call"===t.kind||"create"===t.kind)&&X(t.children),"fragment"===t.kind)for(let e of t.branches)X(e.statements)};X(x.statements);let J=new Map,K=0;for(let e of H){let t=e.id;do e.id=`statement:${++K}`;while(F.has(e.id))J.set(t,e.id),t!==e.id&&p("zenuml")&&f("zenuml","readdress-statement",{from:t,to:e.id})}for(let e of[])"nodes"!==e.kind&&"title"!==e.id&&(e.id=J.get(e.id)??e.id);return y("nodes",F.size),y("edges",U),x}(a(n.source));return r.title??=s(n.source.frontmatter),r.accessibilityTitle=n.source.accessibility.title??r.accessibilityTitle,r.accessibilityDescription=n.source.accessibility.descr??r.accessibilityDescription,c(function(n,r={},s,a={}){return i(function(i,n){!function(e,t=!1){let i;if(!e||"zenuml"!==e.kind||!Array.isArray(e.participants)||!Array.isArray(e.statements))throw Error("Invalid ZenUML body");for(let t of[e.title,e.accessibilityTitle,e.accessibilityDescription])if(void 0!==t&&"string"!=typeof t)throw Error("ZenUML metadata must be text");void 0!==e.starter&&A(e.starter);let n=new Set;for(let i of e.participants){if(A(i.id),"string"!=typeof i.label||/[\r\n]/.test(i.label))throw Error("ZenUML aliases must be single-line text");if(n.has(i.id))throw Error(`Duplicate ZenUML participant: ${i.id}`);if(n.add(i.id),!Array.isArray(i.annotations)||i.annotations.some(e=>"string"!=typeof e||!/^\w+$/.test(e)))throw Error("Invalid ZenUML annotator");if(i.annotations.length>1&&(t||void 0===e.unsupportedSource))throw Error("ZenUML declarations accept one participant annotator");if(void 0!==i.stereotype&&("string"!=typeof i.stereotype||!i.stereotype||/[<>\r\n]/.test(i.stereotype)))throw Error("Invalid ZenUML stereotype");if(void 0!==i.comments&&(!Array.isArray(i.comments)||i.comments.some(e=>"string"!=typeof e)))throw Error("Invalid ZenUML participant comments")}let r=new Set,s=new Set,a=e=>{if("string"!=typeof e)throw Error("ZenUML content must be text")},o=e=>{e&&(A(e.name),void 0!==e.type&&A(e.type))},l=(i,n)=>{if(!Array.isArray(i)||n>128)throw Error("Invalid or excessive ZenUML scope nesting");for(let c of i){if(!c||"object"!=typeof c||s.has(c))throw Error("Cyclic or shared ZenUML statement");if(s.add(c),"string"!=typeof c.id||!c.id||r.has(c.id))throw Error("ZenUML statement identities must be unique");switch(r.add(c.id),c.kind){case"call":if(void 0!==c.from&&A(c.from),void 0!==c.to&&A(c.to),void 0!==c.from&&void 0===c.to)throw Error("An explicit ZenUML caller requires a target");a(c.label),o(c.assignment),l(c.children,n+1);break;case"create":A(c.constructor),void 0!==c.arguments&&a(c.arguments),o(c.assignment),l(c.children,n+1);break;case"message":if(A(c.from),A(c.to),a(c.label),"boolean"!=typeof c.reply)throw Error("ZenUML message reply flag must be boolean");break;case"return":a(c.label);break;case"comment":a(c.text);break;case"fragment":{if(!["if","opt","while","for","forEach","foreach","loop","par","try","critical"].includes(c.type)||!Array.isArray(c.branches)||!c.branches.length||c.branches[0]?.kind!=="body")throw Error("Invalid ZenUML fragment");void 0!==c.condition&&a(c.condition);let e=!1;for(let[t,i]of c.branches.entries()){if(t&&(e||("if"===c.type?!["else-if","else"].includes(i.kind):"try"!==c.type||!["catch","finally"].includes(i.kind))))throw Error("Invalid ZenUML branch order");("else"===i.kind||"finally"===i.kind)&&(e=!0),void 0!==i.condition&&a(i.condition),l(i.statements,n+1)}break}case"opaque":if(a(c.source),t||void 0===e.unsupportedSource)throw Error("Unsupported ZenUML syntax is retained; typed editing and rendering require a fully modelled document");break;default:throw Error("Unknown ZenUML statement kind")}}};if(l(e.statements,0),t&&void 0!==e.unsupportedSource)throw Error("Unsupported ZenUML source cannot be rewritten through typed editing");y("nodes",(i=new Set(e.participants.map(e=>e.id)),void 0!==e.starter&&i.add(e.starter),O(e.statements,e=>{("call"===e.kind||"message"===e.kind)&&(void 0!==e.from&&i.add(e.from),void 0!==e.to&&i.add(e.to)),"create"===e.kind&&i.add(e.assignment?`${e.assignment.name}:${e.constructor}`:e.constructor)}),i).size),y("edges",r.size)}(i,!0);let r={actors:[],messages:[],blocks:[],notes:[],activationEvents:[],boxes:[],...void 0===i.title?{}:{title:i.title,titleContent:W(i.title)},...void 0===i.accessibilityTitle?{}:{accessibilityTitle:i.accessibilityTitle},...void 0===i.accessibilityDescription?{}:{accessibilityDescription:i.accessibilityDescription}},s=new Map,a=new Set(i.participants.map(e=>e.id));i.starter&&a.add(i.starter),O(i.statements,e=>{a.add(e.id),("call"===e.kind||"message"===e.kind)&&(e.from&&a.add(e.from),e.to&&a.add(e.to)),"create"===e.kind&&a.add(D(e))});let o="zenuml:outside";for(;a.has(o);)o+=":";let l=e=>{let t=e;for(;a.has(t);)t+=":";return a.add(t),t},c=e=>{let t=e??o;if(!s.has(t)){let i={id:t,label:void 0===e?"":e,type:"participant",labelContent:W(e??""),...void 0===e?{external:!0}:{}};r.actors.push(i),s.set(t,i)}return t};for(let e of i.participants){c(e.id);let t=s.get(e.id);t.type=e.annotations.map(e=>R[e.toLowerCase()]).find(Boolean)??"participant",t.label=[...[...e.annotations.filter(e=>!R[e.toLowerCase()]).map(e=>`@${e}`),...e.stereotype?[e.stereotype]:[]].map(e=>`\xab${e}\xbb`),e.label].join(`
16
- `),t.labelContent=W(t.label)}let d=i.starter;if(void 0===d)for(let e of i.statements){if("message"===e.kind||"call"===e.kind&&void 0!==e.from){d=e.from;break}if("comment"!==e.kind)break}void 0!==d&&c(d);let p=[],m=new Map,f=[],u=(e,t,i,n,s,a,o=!1,l=e)=>{let d=c(t),p=c(i),m="reply"===a,f={id:e,...s.parentId?{parentId:s.parentId}:{},from:d,to:p,label:n,labelContent:W(n),lineStyle:m?"dashed":"solid",startHead:"none",endHead:m?"open":"filled",centralStart:!1,centralEnd:!1,...o?{activate:!0}:{}};r.messages.push(f)},h=(e,t,i,n)=>{let s=w(t),a={id:e,...n.parentId?{parentId:n.parentId}:{},actorIds:[...new Set(i.length?i:[c(n.owner)])],text:s,textContent:{value:s,authored:t,prepared:_(s,"formatted")},position:"over",afterIndex:r.messages.length-1},o=r.notes.length;for(let e of(r.notes.push(a),f))m.get(e).noteIndices.push(o)},b=(e,t,i)=>e.some(e=>"return"===e.kind||"message"===e.kind&&e.reply&&e.from===t&&e.to===i||"fragment"===e.kind&&e.branches.some(e=>b(e.statements,t,i))),g=(t,i)=>{let n=[],a=e=>{for(let t of n)h(t.id,t.text,e,i);n=[]};for(let o of t){if("comment"===o.kind){n.push(o);continue}switch(o.kind){case"call":{let e=o.from??i.owner,t=o.to??i.owner,n=c(e),s=c(t);a([n,s]);let d=n===s,p=o.assignment&&!d&&b(o.children,t,e);u(o.id,e,t,o.assignment&&(d||p)?`${T(o.assignment)} = ${o.label}`:o.label,i,"call",!0);let m={...i,owner:t,returnTo:e,callAncestors:i.callAncestors};g(o.children,m),!o.assignment||d||p||u(l(`${o.id}:reply`),t,e,T(o.assignment),m,"reply",!1,o.id),r.activationEvents.push({actorId:s,kind:"deactivate",messageIndex:r.messages.length});break}case"create":{let e=D(o),t=c(i.owner);c(e),a([t,e]);let n=s.get(e);if(void 0!==n.createMessageIndex)throw Error(`Repeated creation of ZenUML object ${e} cannot share one sequence lifeline`);n.createMessageIndex=r.messages.length;let d=o.assignment&&b(o.children,e,i.owner),p=`\xab${o.arguments||"create"}\xbb`;u(o.id,i.owner,e,o.assignment&&d?`${T(o.assignment)} = ${p}`:p,i,"creation",!0);let m={...i,owner:e,returnTo:i.owner,callAncestors:i.callAncestors};g(o.children,m),o.assignment&&!d&&u(l(`${o.id}:reply`),e,i.owner,T(o.assignment),m,"reply",!1,o.id),r.activationEvents.push({actorId:e,kind:"deactivate",messageIndex:r.messages.length});break}case"message":a([c(o.from),c(o.to)]),u(o.id,o.from,o.to,o.label,i,o.reply?"reply":"async"),r.messages.at(-1).endHead="open";break;case"return":a([c(i.owner),c(i.returnTo)]),u(o.id,i.owner,i.returnTo,o.label,i,"reply");break;case"fragment":{n.length&&a([c(i.owner)]);let t=r.blocks.length,s="if"===o.type?"alt":"par"===o.type?"par":"opt"===o.type?"opt":"try"===o.type?"break":"critical"===o.type?"critical":"loop",l=["if","opt","par","critical"].includes(o.type)?o.condition??"":`${o.type}${void 0===o.condition?"":` (${o.condition})`}`,d={id:o.id,...i.parentId?{parentId:i.parentId}:{},type:s,label:l,labelContent:W(l),startIndex:r.messages.length,endIndex:r.messages.length-1,dividers:[]};r.blocks.push(d);let u={endMessageExclusive:0,endNoteExclusive:0,dividerNoteIndices:[],noteIndices:[],childBlockIndices:[],childSectionIndices:[]};if(m.set(t,u),void 0!==i.blockIndex){let e=m.get(i.blockIndex);e.childBlockIndices.push(t),e.childSectionIndices.push(i.section)}for(let[e,n]of(p.push({kind:"open",blockIndex:t,messageIndex:r.messages.length,noteIndex:r.notes.length}),f.push(t),("par"===o.type?function(e){let t=[],i=[];for(let n of e)i.push(n),"comment"!==n.kind&&(t.push({kind:"body",statements:i}),i=[]);return(i.length||!t.length)&&t.push({kind:"body",statements:i}),t}(o.branches[0].statements):o.branches).entries())){if(e){let e="else-if"===n.kind?`else if (${n.condition??""})`:"body"===n.kind?"":`${n.kind}${void 0===n.condition?"":` (${n.condition})`}`,i=d.dividers.length;d.dividers.push({index:r.messages.length,label:e,labelContent:W(e)}),u.dividerNoteIndices.push(r.notes.length),p.push({kind:"divider",blockIndex:t,dividerIndex:i,messageIndex:r.messages.length,noteIndex:r.notes.length})}0===e?o.condition:n.condition,g(n.statements,{...i,parentId:o.id,blockIndex:t,section:e,scopes:i.scopes})}f.pop(),d.endIndex=r.messages.length-1,u.endMessageExclusive=r.messages.length,u.endNoteExclusive=r.notes.length,e(d,u),p.push({kind:"close",blockIndex:t,messageIndex:r.messages.length,noteIndex:r.notes.length});break}case"opaque":throw Error("Unsupported ZenUML syntax cannot be projected partially")}}n.length&&a([c(i.owner)])};return g(i.statements,{owner:d,section:0,callAncestors:[],scopes:[]}),!r.actors.length&&(r.blocks.length||r.notes.length)&&c(void 0),t(r,p),r}(n),r,a,s)}(r,n.renderOptions,n.styleFace))},projectPositioned:o(function(e){let t=r(e);return{...t,edges:t.edges.map(e=>{let t=e.route;return t&&"family"in t&&"sequence"===t.family?{...e,route:{...t,family:"zenuml"}}:e})}}),lowerScene:l(B)});export{F as default};
15
+ `)).match(/^(?:(?:[^\S\n]*(?:%%[^\n]*)?\n))*[^\S\n]*zenuml\b/);if(!c)throw Error("Expected zenuml header");let d=q(n.slice(c[0].length)),b=g(n),_=e=>{let t=v(b,e+c[0].length);return(r[(l.familyOrigins[t.line-1]??t.line-1)+s]??i.length)+t.col-1},w=(e,t,i)=>{},x={kind:"zenuml",participants:[],statements:[],...u(l.accessibility),...void 0===a?{}:{title:a}},E=0,z=0,A=0,N=!0,O=()=>`statement:${++z}`,C=e=>({offset:_(e.start),endOffset:_(e.end),unit:"physical"}),D=()=>{let e=d[E++];if(e&&p("zenuml")){let t=C(e);m("zenuml",e.kind,i.slice(t.offset,t.endOffset),t)}return e},J=(e,t,i)=>{e.push(t),p("zenuml")&&f("zenuml","append-statement",t,C(i))},W=e=>{if(++A>128)throw Error("ZenUML nesting exceeds 128 scopes");let t=[];for(;E<d.length;){let n=D();if("close"===n.kind){if(!e)throw Error("Unmatched ZenUML closing brace");return A--,t}if("open"===n.kind)throw Error("ZenUML scope has no owner");if("comment"===n.kind){let e={kind:"comment",id:O(),text:n.text};J(t,e,n),w("labels",e.id,n);continue}let r=n.text;if(!e&&("title"===r||r.startsWith("title "))){x.title=r.slice(5).trim(),p("zenuml")&&f("zenuml","set-title",x.title,C(n)),w("labels","title",n);continue}let s=r.match(RegExp(`^@Starter\\(\\s*(${I})\\s*\\)$`,"u"));if(!e&&s&&N){x.starter=S(s[1]),p("zenuml")&&f("zenuml","set-starter",x.starter,C(n));continue}if(!e&&N){let e=function(e){let t=[],i=e,n;for(;/^@[\w]+\s+/.test(i);){let e=i.match(/^@([\w]+)\s+/);t.push(e[1]),i=i.slice(e[0].length)}if(i.startsWith("<<")){let e=i.indexOf(">>");if(e<0)return;n=S(i.slice(2,e).trim()),i=i.slice(e+2).trim()}let r=i.match(M);if(!r||!i.startsWith('"')&&j.has(r[1]))return;let s=S(r[1]);return{id:s,label:r[2]?S(r[2]):s,annotations:t,...n?{stereotype:n}:{}}}(r);if(e){if(x.participants.some(t=>t.id===e.id))throw Error(`Duplicate ZenUML participant: ${e.id}`);let r=[];for(;t.at(-1)?.kind==="comment";){let i=t.pop();r.unshift(i.text),p("zenuml")&&f("zenuml","claim-participant-comment",{participant:e.id,comment:i})}r.length&&(e.comments=r),e.annotations.length>1&&(x.unsupportedSource=i),w("nodes",e.id,n),x.participants.push(e),p("zenuml")&&f("zenuml","append-participant",e,C(n));continue}}N=!1;let a=O();w("edges",a,n);let o=!1;if(/^@(return|reply)(?:\s|$)/.test(r)&&(o=!0,!(r=r.replace(/^@(return|reply)\s*/,"")))){let e=D();if(!e||"text"!==e.kind)throw Error("ZenUML reply annotation requires a message");r=e.text}let l=r.match(U);if(l){w("nodes",S(l[1]),n),w("nodes",S(l[3]),n),J(t,{kind:"message",id:a,from:S(l[1]),to:S(l[3]),label:l[4],reply:o||"--\x3e"===l[2]},n);continue}if(o)throw Error("ZenUML reply annotation requires a directed message");let c=r.match(/^(if|while|for|forEach|foreach|loop|par|opt|try|critical)\b([\s\S]*)$/);if(c){w("groups",a,n);let e=c[1],i=T(c[2]);if(d[E]?.kind!=="open")throw Error(`ZenUML ${e} requires a brace-delimited scope`);D();let r=[{kind:"body",statements:W(!0)}];for(;d[E]?.kind==="text";){let t=d[E].text.match(/^(else\s+if|else|catch|finally)\b([\s\S]*)$/);if(!t)break;let i="else if"===t[1]?"else-if":t[1];if("if"===e?!["else-if","else"].includes(i):"try"!==e||!["catch","finally"].includes(i))break;D();let n=T(t[2]);if(D()?.kind!=="open")throw Error("ZenUML branch requires a brace-delimited scope");r.push({kind:i,...void 0===n?{}:{condition:n},statements:W(!0)})}J(t,{kind:"fragment",id:a,type:e,...void 0===i?{}:{condition:i},branches:r},n);continue}if(/^return\b/.test(r)){J(t,{kind:"return",id:a,label:r.slice(6).trim()},n);continue}let m=function(e){let t=e.match(RegExp(`^(?:(${I})\\s+)?(${I})\\s*=\\s*(?!=)([\\s\\S]+)$`,"u"));return t?{assignment:{name:S(t[2]),...t[1]?{type:S(t[1])}:{}},rest:t[3].trim()}:{rest:e}}(r),u=m.rest.match(RegExp(`^new\\s+(${I})(?:\\s*\\(([\\s\\S]*)\\))?$`,"u")),h=()=>d[E]?.kind!=="open"?[]:(D(),W(!0));if(u){w("nodes",m.assignment?`${m.assignment.name}:${S(u[1])}`:S(u[1]),n),J(t,{kind:"create",id:a,constructor:S(u[1]),...void 0===u[2]?{}:{arguments:u[2]},...m.assignment?{assignment:m.assignment}:{},children:h()},n);continue}let y=m.rest.match(Z),b=y?y[3]:m.rest;if(L.test(b)&&function(e){let t=0,i="",n=!1,r="";for(let s of e){if(i){n?n=!1:"\\"===s?n=!0:s===i&&(i="");continue}if('"'===s||"'"===s){if(!t)return!1;i=s;continue}if("("===s){1==++t&&(r+="()");continue}if(")"===s){t--;continue}t||(r+=s)}return/^[\p{L}_$][\p{L}\p{N}_$-]*(?:\(\))?(?:\s*\.\s*[\p{L}_$][\p{L}\p{N}_$-]*(?:\(\))?)*$/u.test(r.trim())}(b)&&(null!==y||!j.has(L.exec(b)[1]))){y?.[1]&&w("nodes",S(y[1]),n),y?.[2]&&w("nodes",S(y[2]),n),J(t,{kind:"call",id:a,...y?.[1]?{from:S(y[1])}:{},...y?.[2]?{to:S(y[2])}:{},label:b,...m.assignment?{assignment:m.assignment}:{},children:h()},n);continue}J(t,{kind:"opaque",id:a,source:r},n),x.unsupportedSource=i,d[E]?.kind==="open"&&(D(),W(!0))}if(A--,e)throw Error("Unclosed ZenUML scope");return t};x.statements=W(!1);let B=new Set(x.participants.map(e=>e.id));x.starter&&B.add(x.starter);let H=[],V=e=>{for(let t of e)if(H.push(t),("call"===t.kind||"message"===t.kind)&&(t.from&&B.add(t.from),t.to&&B.add(t.to)),"create"===t.kind&&B.add(t.assignment?`${t.assignment.name}:${t.constructor}`:t.constructor),("call"===t.kind||"create"===t.kind)&&V(t.children),"fragment"===t.kind)for(let e of t.branches)V(e.statements)};V(x.statements);let F=new Map,G=0;for(let e of H){let t=e.id;do e.id=`statement:${++G}`;while(B.has(e.id))F.set(t,e.id),t!==e.id&&p("zenuml")&&f("zenuml","readdress-statement",{from:t,to:e.id})}for(let e of[])"nodes"!==e.kind&&"title"!==e.id&&(e.id=F.get(e.id)??e.id);return y("nodes",B.size),y("edges",z),x}(a(n.source));return r.title??=s(n.source.frontmatter),r.accessibilityTitle=n.source.accessibility.title??r.accessibilityTitle,r.accessibilityDescription=n.source.accessibility.descr??r.accessibilityDescription,c(function(n,r={},s,a={}){return i(function(i,n){!function(e,t=!1){let i;if(!e||"zenuml"!==e.kind||!Array.isArray(e.participants)||!Array.isArray(e.statements))throw Error("Invalid ZenUML body");for(let t of[e.title,e.accessibilityTitle,e.accessibilityDescription])if(void 0!==t&&"string"!=typeof t)throw Error("ZenUML metadata must be text");void 0!==e.starter&&A(e.starter);let n=new Set;for(let i of e.participants){if(A(i.id),"string"!=typeof i.label||/[\r\n]/.test(i.label))throw Error("ZenUML aliases must be single-line text");if(n.has(i.id))throw Error(`Duplicate ZenUML participant: ${i.id}`);if(n.add(i.id),!Array.isArray(i.annotations)||i.annotations.some(e=>"string"!=typeof e||!/^\w+$/.test(e)))throw Error("Invalid ZenUML annotator");if(i.annotations.length>1&&(t||void 0===e.unsupportedSource))throw Error("ZenUML declarations accept one participant annotator");if(void 0!==i.stereotype&&("string"!=typeof i.stereotype||!i.stereotype||/[<>\r\n]/.test(i.stereotype)))throw Error("Invalid ZenUML stereotype");if(void 0!==i.comments&&(!Array.isArray(i.comments)||i.comments.some(e=>"string"!=typeof e)))throw Error("Invalid ZenUML participant comments")}let r=new Set,s=new Set,a=e=>{if("string"!=typeof e)throw Error("ZenUML content must be text")},o=e=>{e&&(A(e.name),void 0!==e.type&&A(e.type))},l=(i,n)=>{if(!Array.isArray(i)||n>128)throw Error("Invalid or excessive ZenUML scope nesting");for(let c of i){if(!c||"object"!=typeof c||s.has(c))throw Error("Cyclic or shared ZenUML statement");if(s.add(c),"string"!=typeof c.id||!c.id||r.has(c.id))throw Error("ZenUML statement identities must be unique");switch(r.add(c.id),c.kind){case"call":if(void 0!==c.from&&A(c.from),void 0!==c.to&&A(c.to),void 0!==c.from&&void 0===c.to)throw Error("An explicit ZenUML caller requires a target");a(c.label),o(c.assignment),l(c.children,n+1);break;case"create":A(c.constructor),void 0!==c.arguments&&a(c.arguments),o(c.assignment),l(c.children,n+1);break;case"message":if(A(c.from),A(c.to),a(c.label),"boolean"!=typeof c.reply)throw Error("ZenUML message reply flag must be boolean");break;case"return":a(c.label);break;case"comment":a(c.text);break;case"fragment":{if(!["if","opt","while","for","forEach","foreach","loop","par","try","critical"].includes(c.type)||!Array.isArray(c.branches)||!c.branches.length||c.branches[0]?.kind!=="body")throw Error("Invalid ZenUML fragment");void 0!==c.condition&&a(c.condition);let e=!1;for(let[t,i]of c.branches.entries()){if(t&&(e||("if"===c.type?!["else-if","else"].includes(i.kind):"try"!==c.type||!["catch","finally"].includes(i.kind))))throw Error("Invalid ZenUML branch order");("else"===i.kind||"finally"===i.kind)&&(e=!0),void 0!==i.condition&&a(i.condition),l(i.statements,n+1)}break}case"opaque":if(a(c.source),t||void 0===e.unsupportedSource)throw Error("Unsupported ZenUML syntax is retained; typed editing and rendering require a fully modelled document");break;default:throw Error("Unknown ZenUML statement kind")}}};if(l(e.statements,0),t&&void 0!==e.unsupportedSource)throw Error("Unsupported ZenUML source cannot be rewritten through typed editing");y("nodes",(i=new Set(e.participants.map(e=>e.id)),void 0!==e.starter&&i.add(e.starter),N(e.statements,e=>{("call"===e.kind||"message"===e.kind)&&(void 0!==e.from&&i.add(e.from),void 0!==e.to&&i.add(e.to)),"create"===e.kind&&i.add(e.assignment?`${e.assignment.name}:${e.constructor}`:e.constructor)}),i).size),y("edges",r.size)}(i,!0);let r={actors:[],messages:[],blocks:[],notes:[],activationEvents:[],boxes:[],...void 0===i.title?{}:{title:i.title,titleContent:C(i.title)},...void 0===i.accessibilityTitle?{}:{accessibilityTitle:i.accessibilityTitle},...void 0===i.accessibilityDescription?{}:{accessibilityDescription:i.accessibilityDescription}},s=new Map,a=new Set(i.participants.map(e=>e.id));i.starter&&a.add(i.starter),N(i.statements,e=>{a.add(e.id),("call"===e.kind||"message"===e.kind)&&(e.from&&a.add(e.from),e.to&&a.add(e.to)),"create"===e.kind&&a.add(J(e))});let o="zenuml:outside";for(;a.has(o);)o+=":";let l=e=>{let t=e;for(;a.has(t);)t+=":";return a.add(t),t},c=e=>{let t=e??o;if(!s.has(t)){let i={id:t,label:void 0===e?"":e,type:"participant",labelContent:C(e??""),...void 0===e?{external:!0}:{}};r.actors.push(i),s.set(t,i)}return t};for(let e of i.participants){c(e.id);let t=s.get(e.id);t.type=e.annotations.map(e=>O[e.toLowerCase()]).find(Boolean)??"participant",t.label=[...[...e.annotations.filter(e=>!O[e.toLowerCase()]).map(e=>`@${e}`),...e.stereotype?[e.stereotype]:[]].map(e=>`\xab${e}\xbb`),e.label].join(`
16
+ `),t.labelContent=C(t.label)}let d=i.starter;if(void 0===d)for(let e of i.statements){if("message"===e.kind||"call"===e.kind&&void 0!==e.from){d=e.from;break}if("comment"!==e.kind)break}void 0!==d&&c(d);let p=[],m=new Map,f=[],u=(e,t,i,n,s,a,o=!1,l=e)=>{let d=c(t),p=c(i),m="reply"===a,f={id:e,...s.parentId?{parentId:s.parentId}:{},from:d,to:p,label:n,labelContent:C(n),lineStyle:m?"dashed":"solid",startHead:"none",endHead:m?"open":"filled",centralStart:!1,centralEnd:!1,...o?{activate:!0}:{}};r.messages.push(f)},h=(e,t,i,n)=>{let s=w(t),a={id:e,...n.parentId?{parentId:n.parentId}:{},actorIds:[...new Set(i.length?i:[c(n.owner)])],text:s,textContent:{value:s,authored:t,prepared:_(s,"formatted")},position:"over",afterIndex:r.messages.length-1},o=r.notes.length;for(let e of(r.notes.push(a),f))m.get(e).noteIndices.push(o)},b=(e,t,i)=>e.some(e=>"return"===e.kind||"message"===e.kind&&e.reply&&e.from===t&&e.to===i||"fragment"===e.kind&&e.branches.some(e=>b(e.statements,t,i))),g=(t,i)=>{let n=[],a=e=>{for(let t of n)h(t.id,t.text,e,i);n=[]};for(let o of t){if("comment"===o.kind){n.push(o);continue}switch(o.kind){case"call":{let e=o.from??i.owner,t=o.to??i.owner,n=c(e),s=c(t);a([n,s]);let d=n===s,p=o.assignment&&!d&&b(o.children,t,e);u(o.id,e,t,o.assignment&&(d||p)?`${D(o.assignment)} = ${o.label}`:o.label,i,"call",!0);let m={...i,owner:t,returnTo:e,callAncestors:i.callAncestors};g(o.children,m),!o.assignment||d||p||u(l(`${o.id}:reply`),t,e,D(o.assignment),m,"reply",!1,o.id),r.activationEvents.push({actorId:s,kind:"deactivate",messageIndex:r.messages.length});break}case"create":{let e=J(o),t=c(i.owner);c(e),a([t,e]);let n=s.get(e);if(void 0!==n.createMessageIndex)throw Error(`Repeated creation of ZenUML object ${e} cannot share one sequence lifeline`);n.createMessageIndex=r.messages.length;let d=o.assignment&&b(o.children,e,i.owner),p=`\xab${o.arguments||"create"}\xbb`;u(o.id,i.owner,e,o.assignment&&d?`${D(o.assignment)} = ${p}`:p,i,"creation",!0);let m={...i,owner:e,returnTo:i.owner,callAncestors:i.callAncestors};g(o.children,m),o.assignment&&!d&&u(l(`${o.id}:reply`),e,i.owner,D(o.assignment),m,"reply",!1,o.id),r.activationEvents.push({actorId:e,kind:"deactivate",messageIndex:r.messages.length});break}case"message":a([c(o.from),c(o.to)]),u(o.id,o.from,o.to,o.label,i,o.reply?"reply":"async"),r.messages.at(-1).endHead="open";break;case"return":a([c(i.owner),c(i.returnTo)]),u(o.id,i.owner,i.returnTo,o.label,i,"reply");break;case"fragment":{n.length&&a([c(i.owner)]);let t=r.blocks.length,s="if"===o.type?"alt":"par"===o.type?"par":"opt"===o.type?"opt":"try"===o.type?"break":"critical"===o.type?"critical":"loop",l=["if","opt","par","critical"].includes(o.type)?o.condition??"":`${o.type}${void 0===o.condition?"":` (${o.condition})`}`,d={id:o.id,...i.parentId?{parentId:i.parentId}:{},type:s,label:l,labelContent:C(l),startIndex:r.messages.length,endIndex:r.messages.length-1,dividers:[]};r.blocks.push(d);let u={endMessageExclusive:0,endNoteExclusive:0,dividerNoteIndices:[],noteIndices:[],childBlockIndices:[],childSectionIndices:[]};if(m.set(t,u),void 0!==i.blockIndex){let e=m.get(i.blockIndex);e.childBlockIndices.push(t),e.childSectionIndices.push(i.section)}for(let[e,n]of(p.push({kind:"open",blockIndex:t,messageIndex:r.messages.length,noteIndex:r.notes.length}),f.push(t),("par"===o.type?function(e){let t=[],i=[];for(let n of e)i.push(n),"comment"!==n.kind&&(t.push({kind:"body",statements:i}),i=[]);return(i.length||!t.length)&&t.push({kind:"body",statements:i}),t}(o.branches[0].statements):o.branches).entries())){if(e){let e="else-if"===n.kind?`else if (${n.condition??""})`:"body"===n.kind?"":`${n.kind}${void 0===n.condition?"":` (${n.condition})`}`,i=d.dividers.length;d.dividers.push({index:r.messages.length,label:e,labelContent:C(e)}),u.dividerNoteIndices.push(r.notes.length),p.push({kind:"divider",blockIndex:t,dividerIndex:i,messageIndex:r.messages.length,noteIndex:r.notes.length})}0===e?o.condition:n.condition,g(n.statements,{...i,parentId:o.id,blockIndex:t,section:e,scopes:i.scopes})}f.pop(),d.endIndex=r.messages.length-1,u.endMessageExclusive=r.messages.length,u.endNoteExclusive=r.notes.length,e(d,u),p.push({kind:"close",blockIndex:t,messageIndex:r.messages.length,noteIndex:r.notes.length});break}case"opaque":throw Error("Unsupported ZenUML syntax cannot be projected partially")}}n.length&&a([c(i.owner)])};return g(i.statements,{owner:d,section:0,callAncestors:[],scopes:[]}),!r.actors.length&&(r.blocks.length||r.notes.length)&&c(void 0),t(r,p),r}(n),r,a,s)}(r,n.renderOptions,n.styleFace))},projectPositioned:o(function(e){let t=r(e);return{...t,edges:t.edges.map(e=>{let t=e.route;return t&&"family"in t&&"sequence"===t.family?{...e,route:{...t,family:"zenuml"}}:e})}}),lowerScene:l(W)});export{B as default};