@cyberismo/backend 0.0.24 → 0.0.25

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 (194) hide show
  1. package/dist/app.d.ts +3 -3
  2. package/dist/app.js +58 -29
  3. package/dist/app.js.map +1 -1
  4. package/dist/domain/cards/lib.js +4 -1
  5. package/dist/domain/cards/lib.js.map +1 -1
  6. package/dist/domain/cards/service.js +2 -1
  7. package/dist/domain/cards/service.js.map +1 -1
  8. package/dist/domain/mcp/index.d.ts +8 -2
  9. package/dist/domain/mcp/index.js +68 -65
  10. package/dist/domain/mcp/index.js.map +1 -1
  11. package/dist/domain/projects/index.d.ts +15 -0
  12. package/dist/domain/projects/index.js +35 -0
  13. package/dist/domain/projects/index.js.map +1 -0
  14. package/dist/domain/resources/service.js +2 -2
  15. package/dist/domain/resources/service.js.map +1 -1
  16. package/dist/export.d.ts +7 -3
  17. package/dist/export.js +32 -16
  18. package/dist/export.js.map +1 -1
  19. package/dist/index.d.ts +5 -4
  20. package/dist/index.js +4 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/main.js +41 -6
  23. package/dist/main.js.map +1 -1
  24. package/dist/middleware/auth.js +10 -0
  25. package/dist/middleware/auth.js.map +1 -1
  26. package/dist/middleware/commandManager.d.ts +12 -0
  27. package/dist/middleware/commandManager.js +33 -7
  28. package/dist/middleware/commandManager.js.map +1 -1
  29. package/dist/project-registry.d.ts +50 -0
  30. package/dist/project-registry.js +77 -0
  31. package/dist/project-registry.js.map +1 -0
  32. package/dist/public/THIRD-PARTY.txt +3482 -4525
  33. package/dist/public/assets/architecture-7EHR7CIX-BhpB9ddF.js +1 -0
  34. package/dist/public/assets/architectureDiagram-3BPJPVTR-BQYiU_EO.js +36 -0
  35. package/dist/public/assets/blockDiagram-GPEHLZMM-DuyikC3X.js +132 -0
  36. package/dist/public/assets/{c4Diagram-AHTNJAMY-CW7AUKhY.js → c4Diagram-AAUBKEIU-BG8_sPEr.js} +6 -6
  37. package/dist/public/assets/channel-BxgB7fMy.js +1 -0
  38. package/dist/public/assets/chunk-2J33WTMH-vNq8B1aw.js +1 -0
  39. package/dist/public/assets/chunk-4BX2VUAB-DFDBsmSo.js +1 -0
  40. package/dist/public/assets/chunk-55IACEB6-DCVUQPWM.js +1 -0
  41. package/dist/public/assets/chunk-727SXJPM-C5ihZMyl.js +206 -0
  42. package/dist/public/assets/chunk-AQP2D5EJ-XGOtp2xP.js +231 -0
  43. package/dist/public/assets/{chunk-FMBD7UC4-DChB7ne2.js → chunk-FMBD7UC4-Da1lR6Mn.js} +1 -1
  44. package/dist/public/assets/chunk-ND2GUHAM-ZOvpvr6K.js +1 -0
  45. package/dist/public/assets/chunk-QZHKN3VN-D33jzvFT.js +1 -0
  46. package/dist/public/assets/classDiagram-4FO5ZUOK-hWfZv7hZ.js +1 -0
  47. package/dist/public/assets/classDiagram-v2-Q7XG4LA2-hWfZv7hZ.js +1 -0
  48. package/dist/public/assets/cose-bilkent-S5V4N54A-DO4z-ix4.js +1 -0
  49. package/dist/public/assets/{cytoscape.esm-DpmcErfs.js → cytoscape.esm-C8YCVR3_.js} +3 -3
  50. package/dist/public/assets/dagre-BM42HDAG-DlpRfzgA.js +4 -0
  51. package/dist/public/assets/dagre-Bx709z4p.js +1 -0
  52. package/dist/public/assets/diagram-2AECGRRQ-D-t_ImBP.js +43 -0
  53. package/dist/public/assets/diagram-5GNKFQAL-CBgUMlXz.js +10 -0
  54. package/dist/public/assets/diagram-KO2AKTUF-XoB2TgQt.js +3 -0
  55. package/dist/public/assets/diagram-LMA3HP47-D1Sbl_eS.js +24 -0
  56. package/dist/public/assets/diagram-OG6HWLK6-DKP4aiIY.js +24 -0
  57. package/dist/public/assets/erDiagram-TEJ5UH35-DYxfHOOK.js +85 -0
  58. package/dist/public/assets/eventmodeling-FCH6USID-cF_1Mq4g.js +1 -0
  59. package/dist/public/assets/flowDiagram-I6XJVG4X-BDHPsmlq.js +162 -0
  60. package/dist/public/assets/ganttDiagram-6RSMTGT7-bGgIvBPN.js +292 -0
  61. package/dist/public/assets/gitGraph-WXDBUCRP-DOFshjLy.js +1 -0
  62. package/dist/public/assets/gitGraphDiagram-PVQCEYII-xSwLjGd-.js +106 -0
  63. package/dist/public/assets/graphlib-B8gBHxth.js +1 -0
  64. package/dist/public/assets/index-DGPv1qic.js +1028 -0
  65. package/dist/public/assets/index-DvHiopvR.css +1 -0
  66. package/dist/public/assets/info-J43DQDTF-BuJNK7zQ.js +1 -0
  67. package/dist/public/assets/infoDiagram-5YYISTIA-BanxuIib.js +2 -0
  68. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-B3HoSFaq.js → ishikawaDiagram-YF4QCWOH-DWNWYxz5.js} +6 -6
  69. package/dist/public/assets/{journeyDiagram-VCZTEJTY-kH30WNF3.js → journeyDiagram-JHISSGLW-I58P5XNg.js} +6 -6
  70. package/dist/public/assets/kanban-definition-UN3LZRKU-CMRWbDti.js +89 -0
  71. package/dist/public/assets/mermaid-parser.core-Dz__fM3g.js +161 -0
  72. package/dist/public/assets/{mindmap-definition-QFDTVHPH-CNWWI4MF.js → mindmap-definition-RKZ34NQL-C47gCcpC.js} +29 -29
  73. package/dist/public/assets/packet-YPE3B663-Cczitw2-.js +1 -0
  74. package/dist/public/assets/pie-LRSECV5Y-rO-Aqx6h.js +1 -0
  75. package/dist/public/assets/pieDiagram-4H26LBE5-VZAxHzjD.js +30 -0
  76. package/dist/public/assets/quadrantDiagram-W4KKPZXB-BY8JORvE.js +7 -0
  77. package/dist/public/assets/radar-GUYGQ44K-SSIGuQjW.js +1 -0
  78. package/dist/public/assets/requirementDiagram-4Y6WPE33-XhNBeFwj.js +84 -0
  79. package/dist/public/assets/sankeyDiagram-5OEKKPKP-H7I2OESy.js +40 -0
  80. package/dist/public/assets/sequenceDiagram-3UESZ5HK-jnTLwq-X.js +162 -0
  81. package/dist/public/assets/stateDiagram-AJRCARHV-BKcf2bdX.js +1 -0
  82. package/dist/public/assets/stateDiagram-v2-BHNVJYJU-wpO0gnsG.js +1 -0
  83. package/dist/public/assets/{timeline-definition-GMOUNBTQ-9MnBod43.js → timeline-definition-PNZ67QCA-BZbaBDRH.js} +8 -8
  84. package/dist/public/assets/treeView-BLDUP644-DkGx4HkR.js +1 -0
  85. package/dist/public/assets/treemap-LRROVOQU-yCyuONQh.js +1 -0
  86. package/dist/public/assets/vennDiagram-CIIHVFJN-nY9Pep3o.js +34 -0
  87. package/dist/public/assets/wardley-L42UT6IY-CXWWFUgk.js +1 -0
  88. package/dist/public/assets/wardleyDiagram-YWT4CUSO-CM0yrkHd.js +78 -0
  89. package/dist/public/assets/{xychartDiagram-5P7HB3ND-BcqyvmmW.js → xychartDiagram-2RQKCTM6-1ZAtqvyQ.js} +6 -6
  90. package/dist/public/config.json +1 -0
  91. package/dist/public/index.html +2 -31
  92. package/package.json +9 -5
  93. package/src/app.ts +71 -31
  94. package/src/domain/cards/lib.ts +4 -1
  95. package/src/domain/cards/service.ts +2 -1
  96. package/src/domain/mcp/index.ts +83 -78
  97. package/src/domain/projects/index.ts +39 -0
  98. package/src/domain/resources/service.ts +2 -0
  99. package/src/export.ts +44 -21
  100. package/src/index.ts +6 -5
  101. package/src/main.ts +46 -6
  102. package/src/middleware/auth.ts +10 -0
  103. package/src/middleware/commandManager.ts +47 -9
  104. package/src/project-registry.ts +110 -0
  105. package/dist/public/assets/arc-DFTvTCxD.js +0 -1
  106. package/dist/public/assets/architecture-YZFGNWBL-DsWVZJri.js +0 -1
  107. package/dist/public/assets/architectureDiagram-Q4EWVU46-AN0fWZIG.js +0 -36
  108. package/dist/public/assets/array-xS8TccZC.js +0 -1
  109. package/dist/public/assets/blockDiagram-DXYQGD6D-RrIidZT3.js +0 -132
  110. package/dist/public/assets/channel-BxffgrNT.js +0 -1
  111. package/dist/public/assets/chunk-2KRD3SAO-D5XH6bj9.js +0 -1
  112. package/dist/public/assets/chunk-336JU56O-CVDEj5x8.js +0 -2
  113. package/dist/public/assets/chunk-426QAEUC-CIWkCWTf.js +0 -1
  114. package/dist/public/assets/chunk-4BX2VUAB-O8dxzEpn.js +0 -1
  115. package/dist/public/assets/chunk-4TB4RGXK-Bt4fWDlh.js +0 -206
  116. package/dist/public/assets/chunk-55IACEB6-R-yr7oHq.js +0 -1
  117. package/dist/public/assets/chunk-5FUZZQ4R-D7L4hZzZ.js +0 -62
  118. package/dist/public/assets/chunk-5PVQY5BW-D46cRkay.js +0 -2
  119. package/dist/public/assets/chunk-67CJDMHE-1fLguPDq.js +0 -1
  120. package/dist/public/assets/chunk-7N4EOEYR-BPbEiVZr.js +0 -1
  121. package/dist/public/assets/chunk-AA7GKIK3-DZOqN73n.js +0 -1
  122. package/dist/public/assets/chunk-BSJP7CBP-BQPMRa-Q.js +0 -1
  123. package/dist/public/assets/chunk-CFjPhJqf.js +0 -1
  124. package/dist/public/assets/chunk-CIAEETIT-CoKBG93U.js +0 -1
  125. package/dist/public/assets/chunk-EDXVE4YY-BxmMvdBY.js +0 -1
  126. package/dist/public/assets/chunk-ENJZ2VHE-BrjxYY_T.js +0 -10
  127. package/dist/public/assets/chunk-FOC6F5B3-DyK4SoM2.js +0 -1
  128. package/dist/public/assets/chunk-ICPOFSXX-6-ABzkfw.js +0 -122
  129. package/dist/public/assets/chunk-K5T4RW27-432kjUXO.js +0 -94
  130. package/dist/public/assets/chunk-KGLVRYIC-ChpiuJys.js +0 -1
  131. package/dist/public/assets/chunk-LIHQZDEY-C65uflEj.js +0 -1
  132. package/dist/public/assets/chunk-ORNJ4GCN-DPvOqXKg.js +0 -1
  133. package/dist/public/assets/chunk-OYMX7WX6-BecMUsrL.js +0 -231
  134. package/dist/public/assets/chunk-QZHKN3VN-d1i_Lm1t.js +0 -1
  135. package/dist/public/assets/chunk-U2HBQHQK-C6yvwOAo.js +0 -70
  136. package/dist/public/assets/chunk-X2U36JSP-D1C3tOED.js +0 -1
  137. package/dist/public/assets/chunk-XPW4576I-BH37LuuF.js +0 -32
  138. package/dist/public/assets/chunk-YZCP3GAM-D83gHdmx.js +0 -1
  139. package/dist/public/assets/chunk-ZZ45TVLE-DrCjtkdu.js +0 -1
  140. package/dist/public/assets/classDiagram-6PBFFD2Q-CRYacdjd.js +0 -1
  141. package/dist/public/assets/classDiagram-v2-HSJHXN6E-qOJXC_A9.js +0 -1
  142. package/dist/public/assets/clone-Bno0nirE.js +0 -1
  143. package/dist/public/assets/colors-DZGTowqM.js +0 -1
  144. package/dist/public/assets/cose-bilkent-S5V4N54A-BdSMsFO7.js +0 -1
  145. package/dist/public/assets/dagre-D0KOcyEK.js +0 -1
  146. package/dist/public/assets/dagre-KV5264BT-C_l1Bck_.js +0 -4
  147. package/dist/public/assets/defaultLocale-B6dPnyNg.js +0 -1
  148. package/dist/public/assets/diagram-5BDNPKRD-D6FxiIv1.js +0 -10
  149. package/dist/public/assets/diagram-G4DWMVQ6-COGBv7tQ.js +0 -24
  150. package/dist/public/assets/diagram-MMDJMWI5-U6E9w334.js +0 -43
  151. package/dist/public/assets/diagram-TYMM5635-Tvfdnlo4.js +0 -24
  152. package/dist/public/assets/dist-C6vvxvVV.js +0 -1
  153. package/dist/public/assets/erDiagram-SMLLAGMA-VcPXkmy9.js +0 -85
  154. package/dist/public/assets/flatten-BKeNCJRx.js +0 -1
  155. package/dist/public/assets/flowDiagram-DWJPFMVM-PRQdlypB.js +0 -162
  156. package/dist/public/assets/ganttDiagram-T4ZO3ILL-CSVaTciZ.js +0 -292
  157. package/dist/public/assets/gitGraph-7Q5UKJZL-C6GVmHC4.js +0 -1
  158. package/dist/public/assets/gitGraphDiagram-UUTBAWPF-DMa-Gcy1.js +0 -106
  159. package/dist/public/assets/graphlib-BYojtb6k.js +0 -1
  160. package/dist/public/assets/identity-nF-8qK2-.js +0 -1
  161. package/dist/public/assets/index-oVbUFngg.js +0 -737
  162. package/dist/public/assets/index-ypsafPwV.css +0 -1
  163. package/dist/public/assets/info-OMHHGYJF-CjsmQeYR.js +0 -1
  164. package/dist/public/assets/infoDiagram-42DDH7IO-COL_Na4w.js +0 -2
  165. package/dist/public/assets/init-B9nbfZCT.js +0 -1
  166. package/dist/public/assets/isEmpty-Di-NpihJ.js +0 -1
  167. package/dist/public/assets/kanban-definition-6JOO6SKY-RdjEsejt.js +0 -89
  168. package/dist/public/assets/line-DrKJYWGi.js +0 -1
  169. package/dist/public/assets/linear-C8MDrvxz.js +0 -1
  170. package/dist/public/assets/mermaid-parser.core-BeZK8g2G.js +0 -4
  171. package/dist/public/assets/ordinal-BXaEVJbT.js +0 -1
  172. package/dist/public/assets/packet-4T2RLAQJ-Dq0Z9G3r.js +0 -1
  173. package/dist/public/assets/path-C7Bv0Qdk.js +0 -1
  174. package/dist/public/assets/pie-ZZUOXDRM-Coeb8Atk.js +0 -1
  175. package/dist/public/assets/pieDiagram-DEJITSTG-CrDW-30P.js +0 -30
  176. package/dist/public/assets/quadrantDiagram-34T5L4WZ-BoDA5WQ-.js +0 -7
  177. package/dist/public/assets/radar-PYXPWWZC-BF2NN2TG.js +0 -1
  178. package/dist/public/assets/range-DuD7Go1R.js +0 -1
  179. package/dist/public/assets/reduce-5tLTMRkg.js +0 -1
  180. package/dist/public/assets/requirementDiagram-MS252O5E-BnG7epLH.js +0 -84
  181. package/dist/public/assets/rough.esm-DE7XMpOC.js +0 -1
  182. package/dist/public/assets/sankeyDiagram-XADWPNL6-oyTFoxhB.js +0 -10
  183. package/dist/public/assets/sequenceDiagram-FGHM5R23-hwG2jT_2.js +0 -157
  184. package/dist/public/assets/src-ps-3oTnY.js +0 -1
  185. package/dist/public/assets/stateDiagram-FHFEXIEX-BiYqw63j.js +0 -1
  186. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-CggSrcDh.js +0 -1
  187. package/dist/public/assets/time-Bgnk7ODM.js +0 -1
  188. package/dist/public/assets/treeView-SZITEDCU-IRdgIoRV.js +0 -1
  189. package/dist/public/assets/treemap-DK8fitek.js +0 -1
  190. package/dist/public/assets/treemap-W4RFUUIX-C-JBwyWW.js +0 -1
  191. package/dist/public/assets/vennDiagram-DHZGUBPP-sEA6JNL-.js +0 -34
  192. package/dist/public/assets/wardley-RL74JXVD-DdU04Q7E.js +0 -1
  193. package/dist/public/assets/wardleyDiagram-NUSXRM2D-Dws321pY.js +0 -20
  194. /package/dist/public/assets/{katex-Bfn1OZEl.js → katex-C4eR7coU.js} +0 -0
@@ -0,0 +1,132 @@
1
+ import{t as e}from"./channel-BxgB7fMy.js";import{$ as t,$t as n,A as r,An as i,B as a,En as o,G as s,H as c,I as l,J as u,K as d,N as f,Q as p,Qt as m,R as h,T as g,U as _,V as v,W as y,Wt as b,X as x,Xt as S,Y as C,Z as w,an as T,at as E,ct as D,dt as O,et as k,gt as ee,hn as A,ht as te,in as j,it as ne,jn as M,ln as re,nt as ie,ot as ae,q as oe,rt as se,sn as N,st as ce,tt as le,ut as P,v as ue,w as de,z as fe}from"./index-DGPv1qic.js";import{t as pe}from"./chunk-FMBD7UC4-Da1lR6Mn.js";import{t as me}from"./graphlib-B8gBHxth.js";function he(e){return Array.isArray(e)}function ge(e){if(D(e))return e;let t=ce(e);if(!_e(e))return{};if(he(e)){let t=Array.from(e);return e.length>0&&typeof e[0]==`string`&&Object.hasOwn(e,`index`)&&(t.index=e.index,t.input=e.input),t}if(h(e)){let t=e,n=t.constructor;return new n(t.buffer,t.byteOffset,t.length)}if(t===`[object ArrayBuffer]`)return new ArrayBuffer(e.byteLength);if(t===`[object DataView]`){let t=e,n=t.buffer,r=t.byteOffset,i=t.byteLength,a=new ArrayBuffer(i),o=new Uint8Array(n,r,i);return new Uint8Array(a).set(o),new DataView(a)}if(t===`[object Boolean]`||t===`[object Number]`||t===`[object String]`){let n=e.constructor,r=new n(e.valueOf());return t===`[object String]`?be(r,e):ve(r,e),r}if(t===`[object Date]`)return new Date(Number(e));if(t===`[object RegExp]`){let t=e,n=new RegExp(t.source,t.flags);return n.lastIndex=t.lastIndex,n}if(t===`[object Symbol]`)return Object(Symbol.prototype.valueOf.call(e));if(t===`[object Map]`){let t=e,n=new Map;return t.forEach((e,t)=>{n.set(t,e)}),n}if(t===`[object Set]`){let t=e,n=new Set;return t.forEach(e=>{n.add(e)}),n}if(t===`[object Arguments]`){let t=e,n={};return ve(n,t),n.length=t.length,n[Symbol.iterator]=t[Symbol.iterator],n}let n={};return xe(n,e),ve(n,e),ye(n,e),n}function _e(e){switch(ce(e)){case fe:case v:case a:case _:case c:case y:case s:case d:case C:case oe:case u:case x:case w:case p:case t:case k:case le:case ie:case E:case ae:case se:case ne:return!0;default:return!1}}function ve(e,t){for(let n in t)Object.hasOwn(t,n)&&(e[n]=t[n])}function ye(e,t){let n=Object.getOwnPropertySymbols(t);for(let r=0;r<n.length;r++){let i=n[r];Object.prototype.propertyIsEnumerable.call(t,i)&&(e[i]=t[i])}}function be(e,t){let n=t.valueOf().length;for(let r in t)Object.hasOwn(t,r)&&(Number.isNaN(Number(r))||Number(r)>=n)&&(e[r]=t[r])}function xe(e,t){let n=Object.getPrototypeOf(t);n!==null&&typeof t.constructor==`function`&&Object.setPrototypeOf(e,n)}var Se=(function(){var e=i(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),t=[1,15],n=[1,7],r=[1,13],a=[1,14],o=[1,19],s=[1,16],c=[1,17],l=[1,18],u=[8,30],d=[8,10,21,28,29,30,31,39,43,46],f=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],h=[8,10,15,16,21,27,28,29,30,31,39,43,46],g=[1,49],_={trace:i(function(){},`trace`),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:`error`,4:`SPACELINE`,5:`NL`,7:`SPACE`,8:`EOF`,10:`BLOCK_DIAGRAM_KEY`,15:`LINK`,16:`START_LINK`,17:`LINK_LABEL`,18:`STR`,21:`SPACE_BLOCK`,27:`SIZE`,28:`COLUMNS`,29:`id-block`,30:`end`,31:`NODE_ID`,34:`DIR`,35:`NODE_DSTART`,36:`NODE_DEND`,37:`BLOCK_ARROW_START`,38:`BLOCK_ARROW_END`,39:`classDef`,40:`CLASSDEF_ID`,41:`CLASSDEF_STYLEOPTS`,42:`DEFAULT`,43:`class`,44:`CLASSENTITY_IDS`,45:`STYLECLASS`,46:`style`,47:`STYLE_ENTITY_IDS`,48:`STYLE_DEFINITION_DATA`},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:i(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 4:r.getLogger().debug(`Rule: separator (NL) `);break;case 5:r.getLogger().debug(`Rule: separator (Space) `);break;case 6:r.getLogger().debug(`Rule: separator (EOF) `);break;case 7:r.getLogger().debug(`Rule: hierarchy: `,a[s-1]),r.setHierarchy(a[s-1]);break;case 8:r.getLogger().debug(`Stop NL `);break;case 9:r.getLogger().debug(`Stop EOF `);break;case 10:r.getLogger().debug(`Stop NL2 `);break;case 11:r.getLogger().debug(`Stop EOF2 `);break;case 12:r.getLogger().debug(`Rule: statement: `,a[s]),typeof a[s].length==`number`?this.$=a[s]:this.$=[a[s]];break;case 13:r.getLogger().debug(`Rule: statement #2: `,a[s-1]),this.$=[a[s-1]].concat(a[s]);break;case 14:r.getLogger().debug(`Rule: link: `,a[s],e),this.$={edgeTypeStr:a[s],label:``};break;case 15:r.getLogger().debug(`Rule: LABEL link: `,a[s-3],a[s-1],a[s]),this.$={edgeTypeStr:a[s],label:a[s-1]};break;case 18:let t=parseInt(a[s]),n=r.generateId();this.$={id:n,type:`space`,label:``,width:t,children:[]};break;case 23:r.getLogger().debug(`Rule: (nodeStatement link node) `,a[s-2],a[s-1],a[s],` typestr: `,a[s-1].edgeTypeStr);let i=r.edgeStrToEdgeData(a[s-1].edgeTypeStr),o=r.edgeStrToEdgeStartData(a[s-1].edgeTypeStr),c=r.edgeStrToThickness(a[s-1].edgeTypeStr),l=r.edgeStrToPattern(a[s-1].edgeTypeStr);this.$=[{id:a[s-2].id,label:a[s-2].label,type:a[s-2].type,directions:a[s-2].directions},{id:a[s-2].id+`-`+a[s].id,start:a[s-2].id,end:a[s].id,label:a[s-1].label,type:`edge`,thickness:c,pattern:l,directions:a[s].directions,arrowTypeEnd:i,arrowTypeStart:o},{id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions}];break;case 24:r.getLogger().debug(`Rule: nodeStatement (abc88 node size) `,a[s-1],a[s]),this.$={id:a[s-1].id,label:a[s-1].label,type:r.typeStr2Type(a[s-1].typeStr),directions:a[s-1].directions,widthInColumns:parseInt(a[s],10)};break;case 25:r.getLogger().debug(`Rule: nodeStatement (node) `,a[s]),this.$={id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions,widthInColumns:1};break;case 26:r.getLogger().debug(`APA123`,this?this:`na`),r.getLogger().debug(`COLUMNS: `,a[s]),this.$={type:`column-setting`,columns:a[s]===`auto`?-1:parseInt(a[s])};break;case 27:r.getLogger().debug(`Rule: id-block statement : `,a[s-2],a[s-1]),r.generateId(),this.$={...a[s-2],type:`composite`,children:a[s-1]};break;case 28:r.getLogger().debug(`Rule: blockStatement : `,a[s-2],a[s-1],a[s]);let u=r.generateId();this.$={id:u,type:`composite`,label:``,children:a[s-1]};break;case 29:r.getLogger().debug(`Rule: node (NODE_ID separator): `,a[s]),this.$={id:a[s]};break;case 30:r.getLogger().debug(`Rule: node (NODE_ID nodeShapeNLabel separator): `,a[s-1],a[s]),this.$={id:a[s-1],label:a[s].label,typeStr:a[s].typeStr,directions:a[s].directions};break;case 31:r.getLogger().debug(`Rule: dirList: `,a[s]),this.$=[a[s]];break;case 32:r.getLogger().debug(`Rule: dirList: `,a[s-1],a[s]),this.$=[a[s-1]].concat(a[s]);break;case 33:r.getLogger().debug(`Rule: nodeShapeNLabel: `,a[s-2],a[s-1],a[s]),this.$={typeStr:a[s-2]+a[s],label:a[s-1]};break;case 34:r.getLogger().debug(`Rule: BLOCK_ARROW nodeShapeNLabel: `,a[s-3],a[s-2],` #3:`,a[s-1],a[s]),this.$={typeStr:a[s-3]+a[s],label:a[s-2],directions:a[s-1]};break;case 35:case 36:this.$={type:`classDef`,id:a[s-1].trim(),css:a[s].trim()};break;case 37:this.$={type:`applyClass`,id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:this.$={type:`applyStyles`,id:a[s-1].trim(),stylesStr:a[s].trim()};break}},`anonymous`),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:a,31:o,39:s,43:c,46:l},{8:[1,20]},e(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:n,28:r,29:a,31:o,39:s,43:c,46:l}),e(d,[2,16],{14:22,15:f,16:p}),e(d,[2,17]),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),e(d,[2,21]),e(d,[2,22]),e(m,[2,25],{27:[1,25]}),e(d,[2,26]),{19:26,26:12,31:o},{10:t,11:27,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:a,31:o,39:s,43:c,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(h,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(u,[2,13]),{26:35,31:o},{31:[2,14]},{17:[1,36]},e(m,[2,24]),{10:t,11:37,13:4,14:22,15:f,16:p,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:r,29:a,31:o,39:s,43:c,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(h,[2,30]),{18:[1,43]},{18:[1,44]},e(m,[2,23]),{18:[1,45]},{30:[1,46]},e(d,[2,28]),e(d,[2,35]),e(d,[2,36]),e(d,[2,37]),e(d,[2,38]),{36:[1,47]},{33:48,34:g},{15:[1,50]},e(d,[2,27]),e(h,[2,33]),{38:[1,51]},{33:52,34:g,38:[2,31]},{31:[2,15]},e(h,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:i(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:i(function(e){var t=this,n=[0],r=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){n.length-=2*e,a.length-=e,o.length-=e}i(b,`popStack`);function x(){var e=r.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(r=e,e=r.pop()),e=t.symbols_[e]||e),e}i(x,`lex`);for(var S,C,w,T,E,D={},O,k,ee,A;;){if(w=n[n.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var te=``;for(O in A=[],s[w])this.terminals_[O]&&O>f&&A.push(`'`+this.terminals_[O]+`'`);te=h.showPosition?`Parse error on line `+(l+1)+`:
2
+ `+h.showPosition()+`
3
+ Expecting `+A.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(te,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:A})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:n.push(S),a.push(h.yytext),o.push(h.yylloc),n.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(n=n.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),n.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),ee=s[n[n.length-2]][n[n.length-1]],n.push(ee);break;case 3:return!0}}return!0},`parse`)};_.lexer=(function(){return{EOF:1,parseError:i(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:i(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:i(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:i(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:i(function(){return this._more=!0,this},`more`),reject:i(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:i(function(e){this.unput(this.match.slice(e))},`less`),pastInput:i(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:i(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:i(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
+ `+t+`^`},`showPosition`),test_match:i(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:i(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:i(function(){return this.next()||this.lex()},`lex`),begin:i(function(e){this.conditionStack.push(e)},`begin`),popState:i(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:i(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:i(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:i(function(e){this.begin(e)},`pushState`),stateStackSize:i(function(){return this.conditionStack.length},`stateStackSize`),options:{},performAction:i(function(e,t,n,r){switch(n){case 0:return e.getLogger().debug(`Found block-beta`),10;case 1:return e.getLogger().debug(`Found id-block`),29;case 2:return e.getLogger().debug(`Found block`),10;case 3:e.getLogger().debug(`.`,t.yytext);break;case 4:e.getLogger().debug(`_`,t.yytext);break;case 5:return 5;case 6:return t.yytext=-1,28;case 7:return t.yytext=t.yytext.replace(/columns\s+/,``),e.getLogger().debug(`COLUMNS (LEX)`,t.yytext),28;case 8:this.pushState(`md_string`);break;case 9:return`MD_STR`;case 10:this.popState();break;case 11:this.pushState(`string`);break;case 12:e.getLogger().debug(`LEX: POPPING STR:`,t.yytext),this.popState();break;case 13:return e.getLogger().debug(`LEX: STR end:`,t.yytext),`STR`;case 14:return t.yytext=t.yytext.replace(/space\:/,``),e.getLogger().debug(`SPACE NUM (LEX)`,t.yytext),21;case 15:return t.yytext=`1`,e.getLogger().debug(`COLUMNS (LEX)`,t.yytext),21;case 16:return 42;case 17:return`LINKSTYLE`;case 18:return`INTERPOLATE`;case 19:return this.pushState(`CLASSDEF`),39;case 20:return this.popState(),this.pushState(`CLASSDEFID`),`DEFAULT_CLASSDEF_ID`;case 21:return this.popState(),this.pushState(`CLASSDEFID`),40;case 22:return this.popState(),41;case 23:return this.pushState(`CLASS`),43;case 24:return this.popState(),this.pushState(`CLASS_STYLE`),44;case 25:return this.popState(),45;case 26:return this.pushState(`STYLE_STMNT`),46;case 27:return this.popState(),this.pushState(`STYLE_DEFINITION`),47;case 28:return this.popState(),48;case 29:return this.pushState(`acc_title`),`acc_title`;case 30:return this.popState(),`acc_title_value`;case 31:return this.pushState(`acc_descr`),`acc_descr`;case 32:return this.popState(),`acc_descr_value`;case 33:this.pushState(`acc_descr_multiline`);break;case 34:this.popState();break;case 35:return`acc_descr_multiline_value`;case 36:return 30;case 37:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 38:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 39:return this.popState(),e.getLogger().debug(`Lex: ))`),`NODE_DEND`;case 40:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 41:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 42:return this.popState(),e.getLogger().debug(`Lex: (-`),`NODE_DEND`;case 43:return this.popState(),e.getLogger().debug(`Lex: -)`),`NODE_DEND`;case 44:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 45:return this.popState(),e.getLogger().debug(`Lex: ]]`),`NODE_DEND`;case 46:return this.popState(),e.getLogger().debug(`Lex: (`),`NODE_DEND`;case 47:return this.popState(),e.getLogger().debug(`Lex: ])`),`NODE_DEND`;case 48:return this.popState(),e.getLogger().debug(`Lex: /]`),`NODE_DEND`;case 49:return this.popState(),e.getLogger().debug(`Lex: /]`),`NODE_DEND`;case 50:return this.popState(),e.getLogger().debug(`Lex: )]`),`NODE_DEND`;case 51:return this.popState(),e.getLogger().debug(`Lex: )`),`NODE_DEND`;case 52:return this.popState(),e.getLogger().debug(`Lex: ]>`),`NODE_DEND`;case 53:return this.popState(),e.getLogger().debug(`Lex: ]`),`NODE_DEND`;case 54:return e.getLogger().debug(`Lexa: -)`),this.pushState(`NODE`),35;case 55:return e.getLogger().debug(`Lexa: (-`),this.pushState(`NODE`),35;case 56:return e.getLogger().debug(`Lexa: ))`),this.pushState(`NODE`),35;case 57:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 58:return e.getLogger().debug(`Lex: (((`),this.pushState(`NODE`),35;case 59:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 60:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 61:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 62:return e.getLogger().debug(`Lexc: >`),this.pushState(`NODE`),35;case 63:return e.getLogger().debug(`Lexa: ([`),this.pushState(`NODE`),35;case 64:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 65:return this.pushState(`NODE`),35;case 66:return this.pushState(`NODE`),35;case 67:return this.pushState(`NODE`),35;case 68:return this.pushState(`NODE`),35;case 69:return this.pushState(`NODE`),35;case 70:return this.pushState(`NODE`),35;case 71:return this.pushState(`NODE`),35;case 72:return e.getLogger().debug(`Lexa: [`),this.pushState(`NODE`),35;case 73:return this.pushState(`BLOCK_ARROW`),e.getLogger().debug(`LEX ARR START`),37;case 74:return e.getLogger().debug(`Lex: NODE_ID`,t.yytext),31;case 75:return e.getLogger().debug(`Lex: EOF`,t.yytext),8;case 76:this.pushState(`md_string`);break;case 77:this.pushState(`md_string`);break;case 78:return`NODE_DESCR`;case 79:this.popState();break;case 80:e.getLogger().debug(`Lex: Starting string`),this.pushState(`string`);break;case 81:e.getLogger().debug(`LEX ARR: Starting string`),this.pushState(`string`);break;case 82:return e.getLogger().debug(`LEX: NODE_DESCR:`,t.yytext),`NODE_DESCR`;case 83:e.getLogger().debug(`LEX POPPING`),this.popState();break;case 84:e.getLogger().debug(`Lex: =>BAE`),this.pushState(`ARROW_DIR`);break;case 85:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (right): dir:`,t.yytext),`DIR`;case 86:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (left):`,t.yytext),`DIR`;case 87:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (x):`,t.yytext),`DIR`;case 88:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (y):`,t.yytext),`DIR`;case 89:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (up):`,t.yytext),`DIR`;case 90:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (down):`,t.yytext),`DIR`;case 91:return t.yytext=`]>`,e.getLogger().debug(`Lex (ARROW_DIR end):`,t.yytext),this.popState(),this.popState(),`BLOCK_ARROW_END`;case 92:return e.getLogger().debug(`Lex: LINK`,`#`+t.yytext+`#`),15;case 93:return e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 94:return e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 95:return e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 96:return e.getLogger().debug(`Lex: START_LINK`,t.yytext),this.pushState(`LLABEL`),16;case 97:return e.getLogger().debug(`Lex: START_LINK`,t.yytext),this.pushState(`LLABEL`),16;case 98:return e.getLogger().debug(`Lex: START_LINK`,t.yytext),this.pushState(`LLABEL`),16;case 99:this.pushState(`md_string`);break;case 100:return e.getLogger().debug(`Lex: Starting string`),this.pushState(`string`),`LINK_LABEL`;case 101:return this.popState(),e.getLogger().debug(`Lex: LINK`,`#`+t.yytext+`#`),15;case 102:return this.popState(),e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 103:return this.popState(),e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 104:return e.getLogger().debug(`Lex: COLON`,t.yytext),t.yytext=t.yytext.slice(1),27}},`anonymous`),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}}})();function v(){this.yy={}}return i(v,`Parser`),v.prototype=_,_.Parser=v,new v})();Se.parser=Se;var Ce=Se,F=new Map,I=[],L=new Map,we=`color`,Te=`fill`,Ee=`bgFill`,De=`,`,Oe=T(),R=new Map,z=``,ke=i(e=>m.sanitizeText(e,Oe),`sanitizeText`),Ae=i(function(e,t=``){let n=R.get(e);n||(n={id:e,styles:[],textStyles:[]},R.set(e,n)),t?.split(De).forEach(e=>{let t=e.replace(/([^;]*);/,`$1`).trim();if(RegExp(we).exec(e)){let e=t.replace(Te,Ee).replace(we,Te);n.textStyles.push(e)}n.styles.push(t)})},`addStyleClass`),je=i(function(e,t=``){let n=F.get(e);t!=null&&(n.styles=t.split(De))},`addStyle2Node`),Me=i(function(e,t){e.split(`,`).forEach(function(e){let n=F.get(e);if(n===void 0){let t=e.trim();n={id:t,type:`na`,children:[]},F.set(t,n)}n.classes||=[],n.classes.push(t)})},`setCssClass`),Ne=i((e,t)=>{let n=e.flat(),r=[],i=n.find(e=>e?.type===`column-setting`)?.columns??-1;for(let e of n){if(typeof i==`number`&&i>0&&e.type!==`column-setting`&&typeof e.widthInColumns==`number`&&e.widthInColumns>i&&M.warn(`Block ${e.id} width ${e.widthInColumns} exceeds configured column width ${i}`),e.label&&=ke(e.label),e.type===`classDef`){Ae(e.id,e.css);continue}if(e.type===`applyClass`){Me(e.id,e?.styleClass??``);continue}if(e.type===`applyStyles`){e?.stylesStr&&je(e.id,e?.stylesStr);continue}if(e.type===`column-setting`)t.columns=e.columns??-1;else if(e.type===`edge`){let t=(L.get(e.id)??0)+1;L.set(e.id,t),e.id=t+`-`+e.id,I.push(e)}else{e.label||(e.type===`composite`?e.label=``:e.label=e.id);let t=F.get(e.id);if(t===void 0?F.set(e.id,e):(e.type!==`na`&&(t.type=e.type),e.label!==e.id&&(t.label=e.label)),e.children&&Ne(e.children,e),e.type===`space`){let t=e.width??1;for(let n=0;n<t;n++){let t=ge(e);t.id=t.id+`-`+n,F.set(t.id,t),r.push(t)}}else t===void 0&&r.push(e)}}t.children=r},`populateBlockDatabase`),Pe=[],B={id:`root`,type:`composite`,children:[],columns:-1},Fe=i(()=>{M.debug(`Clear called`),S(),B={id:`root`,type:`composite`,children:[],columns:-1},F=new Map([[`root`,B]]),Pe=[],R=new Map,I=[],L=new Map,z=``},`clear`);function Ie(e){switch(M.debug(`typeStr2Type`,e),e){case`[]`:return`square`;case`()`:return M.debug(`we have a round`),`round`;case`(())`:return`circle`;case`>]`:return`rect_left_inv_arrow`;case`{}`:return`diamond`;case`{{}}`:return`hexagon`;case`([])`:return`stadium`;case`[[]]`:return`subroutine`;case`[()]`:return`cylinder`;case`((()))`:return`doublecircle`;case`[//]`:return`lean_right`;case`[\\\\]`:return`lean_left`;case`[/\\]`:return`trapezoid`;case`[\\/]`:return`inv_trapezoid`;case`<[]>`:return`block_arrow`;default:return`na`}}i(Ie,`typeStr2Type`);function Le(e){switch(M.debug(`typeStr2Type`,e),e){case`==`:return`thick`;default:return`normal`}}i(Le,`edgeTypeStr2Type`);function Re(e){switch(e.trim().slice(-1)){case`x`:return`arrow_cross`;case`o`:return`arrow_circle`;case`>`:return`arrow_point`;default:return``}}i(Re,`edgeStrToEdgeData`);function ze(e){switch(e.trim().charAt(0)){case`x`:return`arrow_cross`;case`o`:return`arrow_circle`;case`<`:return`arrow_point`;default:return`arrow_open`}}i(ze,`edgeStrToEdgeStartData`);function Be(e){return e.includes(`==`)?`thick`:`normal`}i(Be,`edgeStrToThickness`);function Ve(e){return e.includes(`.-`)?`dotted`:`solid`}i(Ve,`edgeStrToPattern`);var He=0,Ue={getConfig:i(()=>j().block,`getConfig`),typeStr2Type:Ie,edgeTypeStr2Type:Le,edgeStrToEdgeData:Re,edgeStrToEdgeStartData:ze,edgeStrToThickness:Be,edgeStrToPattern:Ve,getLogger:i(()=>M,`getLogger`),getBlocksFlat:i(()=>[...F.values()],`getBlocksFlat`),getBlocks:i(()=>Pe||[],`getBlocks`),getEdges:i(()=>I,`getEdges`),setHierarchy:i(e=>{B.children=e,Ne(e,B),Pe=B.children},`setHierarchy`),getBlock:i(e=>F.get(e),`getBlock`),setBlock:i(e=>{F.set(e.id,e)},`setBlock`),getColumns:i(e=>{let t=F.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},`getColumns`),getClasses:i(function(){return R},`getClasses`),clear:Fe,generateId:i(()=>(He++,`id-`+Math.random().toString(36).substr(2,12)+`-`+He),`generateId`),setDiagramId:i(e=>{z=e},`setDiagramId`),getDiagramId:i(()=>z,`getDiagramId`)},We=i((t,n)=>{let r=e;return o(r(t,`r`),r(t,`g`),r(t,`b`),n)},`fade`),Ge=i(e=>`.label {
7
+ font-family: ${e.fontFamily};
8
+ color: ${e.nodeTextColor||e.textColor};
9
+ }
10
+ .cluster-label text {
11
+ fill: ${e.titleColor};
12
+ }
13
+ .cluster-label span,p {
14
+ color: ${e.titleColor};
15
+ }
16
+
17
+
18
+
19
+ .label text,span,p {
20
+ fill: ${e.nodeTextColor||e.textColor};
21
+ color: ${e.nodeTextColor||e.textColor};
22
+ }
23
+
24
+ .node rect,
25
+ .node circle,
26
+ .node ellipse,
27
+ .node polygon,
28
+ .node path {
29
+ fill: ${e.mainBkg};
30
+ stroke: ${e.nodeBorder};
31
+ stroke-width: 1px;
32
+ }
33
+ .flowchart-label text {
34
+ text-anchor: middle;
35
+ }
36
+ // .flowchart-label .text-outer-tspan {
37
+ // text-anchor: middle;
38
+ // }
39
+ // .flowchart-label .text-inner-tspan {
40
+ // text-anchor: start;
41
+ // }
42
+
43
+ .node .label {
44
+ text-align: center;
45
+ }
46
+ .node.clickable {
47
+ cursor: pointer;
48
+ }
49
+
50
+ .arrowheadPath {
51
+ fill: ${e.arrowheadColor};
52
+ }
53
+
54
+ .edgePath .path {
55
+ stroke: ${e.lineColor};
56
+ stroke-width: 2.0px;
57
+ }
58
+
59
+ .flowchart-link {
60
+ stroke: ${e.lineColor};
61
+ fill: none;
62
+ }
63
+
64
+ .edgeLabel {
65
+ background-color: ${e.edgeLabelBackground};
66
+ /*
67
+ * This is for backward compatibility with existing code that didn't
68
+ * add a \`<p>\` around edge labels.
69
+ *
70
+ * TODO: We should probably remove this in a future release.
71
+ */
72
+ p {
73
+ margin: 0;
74
+ padding: 0;
75
+ display: inline;
76
+ }
77
+ rect {
78
+ opacity: 0.5;
79
+ background-color: ${e.edgeLabelBackground};
80
+ fill: ${e.edgeLabelBackground};
81
+ }
82
+ text-align: center;
83
+ }
84
+
85
+ /* For html labels only */
86
+ .labelBkg {
87
+ background-color: ${e.edgeLabelBackground};
88
+ }
89
+
90
+ .node .cluster {
91
+ // fill: ${We(e.mainBkg,.5)};
92
+ fill: ${We(e.clusterBkg,.5)};
93
+ stroke: ${We(e.clusterBorder,.2)};
94
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
95
+ stroke-width: 1px;
96
+ }
97
+
98
+ .cluster text {
99
+ fill: ${e.titleColor};
100
+ }
101
+
102
+ .cluster span,p {
103
+ color: ${e.titleColor};
104
+ }
105
+ /* .cluster div {
106
+ color: ${e.titleColor};
107
+ } */
108
+
109
+ div.mermaidTooltip {
110
+ position: absolute;
111
+ text-align: center;
112
+ max-width: 200px;
113
+ padding: 2px;
114
+ font-family: ${e.fontFamily};
115
+ font-size: 12px;
116
+ background: ${e.tertiaryColor};
117
+ border: 1px solid ${e.border2};
118
+ border-radius: 2px;
119
+ pointer-events: none;
120
+ z-index: 100;
121
+ }
122
+
123
+ .flowchartTitleText {
124
+ text-anchor: middle;
125
+ font-size: 18px;
126
+ fill: ${e.textColor};
127
+ }
128
+ ${pe()}
129
+ `,`getStyles`),Ke=i((e,t,n,r)=>{t.forEach(t=>{qe[t](e,n,r)})},`insertMarkers`),qe={extension:i((e,t,n)=>{M.trace(`Making markers for `,n),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionStart`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,7 L18,13 V 1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd`).attr(`class`,`marker extension `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 V 13 L18,7 Z`)},`extension`),composition:i((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart`).attr(`class`,`marker composition `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd`).attr(`class`,`marker composition `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`composition`),aggregation:i((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart`).attr(`class`,`marker aggregation `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`aggregation`),dependency:i((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart`).attr(`class`,`marker dependency `+t).attr(`refX`,6).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd`).attr(`class`,`marker dependency `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`)},`dependency`),lollipop:i((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`stroke`,`black`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`stroke`,`black`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6)},`lollipop`),point:i((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,6).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,4.5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 5 L 10 10 L 10 0 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`point`),circle:i((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,11).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-1).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`circle`),cross:i((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,12).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,-1).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`)},`cross`),barb:i((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`strokeWidth`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`barb`)},Je=Ke,V=T()?.block?.padding??8;function Ye(e,t){if(e===0||!Number.isInteger(e))throw Error(`Columns must be an integer !== 0.`);if(t<0||!Number.isInteger(t))throw Error(`Position must be a non-negative integer.`+t);return e<0?{px:t,py:0}:e===1?{px:0,py:t}:{px:t%e,py:Math.floor(t/e)}}i(Ye,`calculateBlockPosition`);var Xe=i(e=>{let t=0,n=0;for(let r of e.children){let{width:e,height:i,x:a,y:o}=r.size??{width:0,height:0,x:0,y:0};if(M.debug(`getMaxChildSize abc95 child:`,r.id,`width:`,e,`height:`,i,`x:`,a,`y:`,o,r.type),r.type===`space`)continue;let s=e/(r.widthInColumns??1);s>t&&(t=s),i>n&&(n=i)}return{width:t,height:n}},`getMaxChildSize`);function H(e,t,n=0,r=0){M.debug(`setBlockSizes abc95 (start)`,e.id,e?.size?.x,`block width =`,e?.size,`siblingWidth`,n),e?.size?.width||(e.size={width:n,height:r,x:0,y:0});let i=0,a=0;if(e.children?.length>0){for(let n of e.children)H(n,t);let o=Xe(e);i=o.width,a=o.height,M.debug(`setBlockSizes abc95 maxWidth of`,e.id,`:s children is `,i,a);for(let t of e.children)t.size&&(M.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${i} ${a} ${JSON.stringify(t.size)}`),t.size.width=i*(t.widthInColumns??1)+V*((t.widthInColumns??1)-1),t.size.height=a,t.size.x=0,t.size.y=0,M.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${i} maxHeight:${a}`));for(let n of e.children)H(n,t,i,a);let s=e.columns??-1,c=0;for(let t of e.children)c+=t.widthInColumns??1;let l=e.children.length;s>0&&s<c&&(l=s);let u=Math.ceil(c/l),d=l*(i+V)+V,f=u*(a+V)+V;if(d<n){M.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${n} siblingHeight ${r} width ${d}`),d=n,f=r;let t=(n-l*V-V)/l,o=(r-u*V-V)/u;M.debug(`Size indata abc88`,e.id,`childWidth`,t,`maxWidth`,i),M.debug(`Size indata abc88`,e.id,`childHeight`,o,`maxHeight`,a),M.debug(`Size indata abc88 xSize`,l,`padding`,V);for(let n of e.children)n.size&&(n.size.width=t,n.size.height=o,n.size.x=0,n.size.y=0)}if(M.debug(`abc95 (finale calc) ${e.id} xSize ${l} ySize ${u} columns ${s}${e.children.length} width=${Math.max(d,e.size?.width||0)}`),d<(e?.size?.width||0)){d=e?.size?.width||0;let t=s>0?Math.min(e.children.length,s):e.children.length;if(t>0){let n=(d-t*V-V)/t;M.debug(`abc95 (growing to fit) width`,e.id,d,e.size?.width,n);for(let t of e.children)t.size&&(t.size.width=n)}}e.size={width:d,height:f,x:0,y:0}}M.debug(`setBlockSizes abc94 (done)`,e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}i(H,`setBlockSizes`);function Ze(e,t){M.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let n=e.columns??-1;if(M.debug(`layoutBlocks columns abc95`,e.id,`=>`,n,e),e.children&&e.children.length>0){let r=e?.children[0]?.size?.width??0,i=e.children.length*r+(e.children.length-1)*V;M.debug(`widthOfChildren 88`,i,`posX`);let a=new Map;{let t=0;for(let r of e.children){if(!r.size)continue;let{py:e}=Ye(n,t),i=a.get(e)??0;r.size.height>i&&a.set(e,r.size.height);let o=r?.widthInColumns??1;n>0&&(o=Math.min(o,n-t%n)),t+=o}}let o=new Map;{let e=0,t=[...a.keys()].sort((e,t)=>e-t);for(let n of t)o.set(n,e),e+=(a.get(n)??0)+V}let s=0;M.debug(`abc91 block?.size?.x`,e.id,e?.size?.x);let c=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-V,l=0;for(let r of e.children){let i=e;if(!r.size)continue;let{width:u,height:d}=r.size,{px:f,py:p}=Ye(n,s);if(p!=l&&(l=p,c=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-V,M.debug(`New row in layout for block`,e.id,` and child `,r.id,l)),M.debug(`abc89 layout blocks (child) id: ${r.id} Pos: ${s} (px, py) ${f},${p} (${i?.size?.x},${i?.size?.y}) parent: ${i.id} width: ${u}${V}`),i.size){let e=u/2;r.size.x=c+V+e,M.debug(`abc91 layout blocks (calc) px, pyid:${r.id} startingPos=X${c} new startingPosX${r.size.x} ${e} padding=${V} width=${u} halfWidth=${e} => x:${r.size.x} y:${r.size.y} ${r.widthInColumns} (width * (child?.w || 1)) / 2 ${u*(r?.widthInColumns??1)/2}`),c=r.size.x+e;let t=o.get(p)??0,n=a.get(p)??d;r.size.y=i.size.y-i.size.height/2+t+n/2+V,M.debug(`abc88 layout blocks (calc) px, pyid:${r.id}startingPosX${c}${V}${e}=>x:${r.size.x}y:${r.size.y}${r.widthInColumns}(width * (child?.w || 1)) / 2${u*(r?.widthInColumns??1)/2}`)}r.children&&Ze(r,t);let m=r?.widthInColumns??1;n>0&&(m=Math.min(m,n-s%n)),s+=m,M.debug(`abc88 columnsPos`,r,s)}}M.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}i(Ze,`layoutBlocks`);function Qe(e,{minX:t,minY:n,maxX:r,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!==`root`){let{x:a,y:o,width:s,height:c}=e.size;a-s/2<t&&(t=a-s/2),o-c/2<n&&(n=o-c/2),a+s/2>r&&(r=a+s/2),o+c/2>i&&(i=o+c/2)}if(e.children)for(let a of e.children)({minX:t,minY:n,maxX:r,maxY:i}=Qe(a,{minX:t,minY:n,maxX:r,maxY:i}));return{minX:t,minY:n,maxX:r,maxY:i}}i(Qe,`findBounds`);function $e(e){let t=e.getBlock(`root`);if(!t)return;H(t,e,0,0),Ze(t,e),M.debug(`getBlocks`,JSON.stringify(t,null,2));let{minX:n,minY:r,maxX:i,maxY:a}=Qe(t),o=a-r;return{x:n,y:r,width:i-n,height:o}}i($e,`layout`);var U=i(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let o=T(),s=N(o);return await ue(e,a,{style:n,isTitle:r,useHtmlLabels:s,markdown:!1,isNode:i,width:1/0},o)},`createLabel`),et=i((e,t,n,r,i)=>{t.arrowTypeStart&&nt(e,`start`,t.arrowTypeStart,n,r,i),t.arrowTypeEnd&&nt(e,`end`,t.arrowTypeEnd,n,r,i)},`addEdgeMarkers`),tt={arrow_cross:`cross`,arrow_point:`point`,arrow_barb:`barb`,arrow_circle:`circle`,aggregation:`aggregation`,extension:`extension`,composition:`composition`,dependency:`dependency`,lollipop:`lollipop`},nt=i((e,t,n,r,i,a)=>{let o=tt[n];if(!o){M.warn(`Unknown arrow type: ${n}`);return}let s=t===`start`?`Start`:`End`;e.attr(`marker-${t}`,`url(${r}#${i}_${a}-${o}${s})`)},`addEdgeMarker`),rt={},W={},it=i(async(e,t)=>{let n=T(),r=N(n),i=e.insert(`g`).attr(`class`,`edgeLabel`),a=i.insert(`g`).attr(`class`,`label`),o=t.labelType===`markdown`,s=await ue(e,t.label,{style:t.labelStyle,useHtmlLabels:r,addSvgBackground:o,isNode:!1,markdown:o,width:o?void 0:1/0},n);a.node().appendChild(s);let c=s.getBBox(),l=c;if(r){let e=s.children[0],t=b(s);c=e.getBoundingClientRect(),l=c,t.attr(`width`,c.width),t.attr(`height`,c.height)}else{let e=b(s).select(`text`).node();e&&typeof e.getBBox==`function`&&(l=e.getBBox())}a.attr(`transform`,P(l,r)),rt[t.id]=i,t.width=c.width,t.height=c.height;let u;if(t.startLabelLeft){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await U(i,t.startLabelLeft,t.labelStyle);u=a;let o=a.getBBox();if(r){let e=a.children[0],t=b(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,P(o,r)),W[t.id]||(W[t.id]={}),W[t.id].startLeft=n,G(u,t.startLabelLeft)}if(t.startLabelRight){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await U(i,t.startLabelRight,t.labelStyle);u=a;let o=a.getBBox();if(r){let e=a.children[0],t=b(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,P(o,r)),W[t.id]||(W[t.id]={}),W[t.id].startRight=n,G(u,t.startLabelRight)}if(t.endLabelLeft){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await U(n,t.endLabelLeft,t.labelStyle);u=a;let o=a.getBBox();if(r){let e=a.children[0],t=b(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,P(o,r)),W[t.id]||(W[t.id]={}),W[t.id].endLeft=n,G(u,t.endLabelLeft)}if(t.endLabelRight){let n=e.insert(`g`).attr(`class`,`edgeTerminals`),i=n.insert(`g`).attr(`class`,`inner`),a=await U(n,t.endLabelRight,t.labelStyle);u=a;let o=a.getBBox();if(r){let e=a.children[0],t=b(a);o=e.getBoundingClientRect(),t.attr(`width`,o.width),t.attr(`height`,o.height)}i.attr(`transform`,P(o,r)),W[t.id]||(W[t.id]={}),W[t.id].endRight=n,G(u,t.endLabelRight)}return s},`insertEdgeLabel`);function G(e,t){N(T())&&e&&(e.style.width=t.length*9+`px`,e.style.height=`12px`)}i(G,`setTerminalWidth`);var at=i((e,t)=>{M.debug(`Moving label abc88 `,e.id,e.label,rt[e.id],t);let n=t.updatedPath?t.updatedPath:t.originalPath,{subGraphTitleTotalMargin:r}=g(T());if(e.label){let i=rt[e.id],a=e.x,o=e.y;if(n){let r=l.calcLabelPosition(n);M.debug(`Moving label `+e.label+` from (`,a,`,`,o,`) to (`,r.x,`,`,r.y,`) abc88`),t.updatedPath&&(a=r.x,o=r.y)}i.attr(`transform`,`translate(${a}, ${o+r/2})`)}if(e.startLabelLeft){let t=W[e.id].startLeft,r=e.x,i=e.y;if(n){let t=l.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.startLabelRight){let t=W[e.id].startRight,r=e.x,i=e.y;if(n){let t=l.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=W[e.id].endLeft,r=e.x,i=e.y;if(n){let t=l.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelRight){let t=W[e.id].endRight,r=e.x,i=e.y;if(n){let t=l.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}},`positionEdgeLabel`),ot=i((e,t)=>{let n=e.x,r=e.y,i=Math.abs(t.x-n),a=Math.abs(t.y-r),o=e.width/2,s=e.height/2;return i>=o||a>=s},`outsideNode`),st=i((e,t,n)=>{M.debug(`intersection calc abc89:
130
+ outsidePoint: ${JSON.stringify(t)}
131
+ insidePoint : ${JSON.stringify(n)}
132
+ node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let r=e.x,i=e.y,a=Math.abs(r-n.x),o=e.width/2,s=n.x<t.x?o-a:o+a,c=e.height/2,l=Math.abs(t.y-n.y),u=Math.abs(t.x-n.x);if(Math.abs(i-t.y)*o>Math.abs(r-t.x)*c){let e=n.y<t.y?t.y-c-i:i-c-t.y;s=u*e/l;let r={x:n.x<t.x?n.x+s:n.x-u+s,y:n.y<t.y?n.y+l-e:n.y-l+e};return s===0&&(r.x=t.x,r.y=t.y),u===0&&(r.x=t.x),l===0&&(r.y=t.y),M.debug(`abc89 topp/bott calc, Q ${l}, q ${e}, R ${u}, r ${s}`,r),r}else{s=n.x<t.x?t.x-o-r:r-o-t.x;let e=l*s/u,i=n.x<t.x?n.x+u-s:n.x-u+s,a=n.y<t.y?n.y+e:n.y-e;return M.debug(`sides calc abc89, Q ${l}, q ${e}, R ${u}, r ${s}`,{_x:i,_y:a}),s===0&&(i=t.x,a=t.y),u===0&&(i=t.x),l===0&&(a=t.y),{x:i,y:a}}},`intersection`),ct=i((e,t)=>{M.debug(`abc88 cutPathAtIntersect`,e,t);let n=[],r=e[0],i=!1;return e.forEach(e=>{if(!ot(t,e)&&!i){let a=st(t,r,e),o=!1;n.forEach(e=>{o||=e.x===a.x&&e.y===a.y}),n.some(e=>e.x===a.x&&e.y===a.y)||n.push(a),i=!0}else r=e,i||n.push(e)}),n},`cutPathAtIntersect`),lt=i(function(e,t,n,r,i,a,o){let s=n.points;M.debug(`abc88 InsertEdge: edge=`,n,`e=`,t);let c=!1,l=a.node(t.v);var u=a.node(t.w);u?.intersect&&l?.intersect&&(s=s.slice(1,n.points.length-1),s.unshift(l.intersect(s[0])),s.push(u.intersect(s[s.length-1]))),n.toCluster&&(M.debug(`to cluster abc88`,r[n.toCluster]),s=ct(n.points,r[n.toCluster].node),c=!0),n.fromCluster&&(M.debug(`from cluster abc88`,r[n.fromCluster]),s=ct(s.reverse(),r[n.fromCluster].node).reverse(),c=!0);let d=s.filter(e=>!Number.isNaN(e.y)),f=te;n.curve&&(i===`graph`||i===`flowchart`)&&(f=n.curve);let{x:p,y:m}=O(n),h=ee().x(p).y(m).curve(f),g;switch(n.thickness){case`normal`:g=`edge-thickness-normal`;break;case`thick`:g=`edge-thickness-thick`;break;case`invisible`:g=`edge-thickness-thick`;break;default:g=``}switch(n.pattern){case`solid`:g+=` edge-pattern-solid`;break;case`dotted`:g+=` edge-pattern-dotted`;break;case`dashed`:g+=` edge-pattern-dashed`;break}let _=e.append(`path`).attr(`d`,h(d)).attr(`id`,n.id).attr(`class`,` `+g+(n.classes?` `+n.classes:``)).attr(`style`,n.style),v=``;(T().flowchart.arrowMarkerAbsolute||T().state.arrowMarkerAbsolute)&&(v=re(!0)),et(_,n,v,o,i);let y={};return c&&(y.updatedPath=s),y.originalPath=n.points,y},`insertEdge`),ut=i(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n);break}return t},`expandAndDeduplicateDirections`),dt=i((e,t,n,r)=>{let i=ut(e),a=t.height+2*n.padding,o=a/2,s=r??t.width+2*o+n.padding,c=n.padding/2;return i.has(`right`)&&i.has(`left`)&&i.has(`up`)&&i.has(`down`)?[{x:0,y:0},{x:o,y:0},{x:s/2,y:2*c},{x:s-o,y:0},{x:s,y:0},{x:s,y:-a/3},{x:s+2*c,y:-a/2},{x:s,y:-2*a/3},{x:s,y:-a},{x:s-o,y:-a},{x:s/2,y:-a-2*c},{x:o,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*c,y:-a/2},{x:0,y:-a/3}]:i.has(`right`)&&i.has(`left`)&&i.has(`up`)?[{x:o,y:0},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}]:i.has(`right`)&&i.has(`left`)&&i.has(`down`)?[{x:0,y:0},{x:o,y:-a},{x:s-o,y:-a},{x:s,y:0}]:i.has(`right`)&&i.has(`up`)&&i.has(`down`)?[{x:0,y:0},{x:s,y:-o},{x:s,y:-a+o},{x:0,y:-a}]:i.has(`left`)&&i.has(`up`)&&i.has(`down`)?[{x:s,y:0},{x:0,y:-o},{x:0,y:-a+o},{x:s,y:-a}]:i.has(`right`)&&i.has(`left`)?[{x:o,y:0},{x:o,y:-c},{x:s-o,y:-c},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:s-o,y:-a+c},{x:o,y:-a+c},{x:o,y:-a},{x:0,y:-a/2}]:i.has(`up`)&&i.has(`down`)?[{x:s/2,y:0},{x:0,y:-c},{x:o,y:-c},{x:o,y:-a+c},{x:0,y:-a+c},{x:s/2,y:-a},{x:s,y:-a+c},{x:s-o,y:-a+c},{x:s-o,y:-c},{x:s,y:-c}]:i.has(`right`)&&i.has(`up`)?[{x:0,y:0},{x:s,y:-o},{x:0,y:-a}]:i.has(`right`)&&i.has(`down`)?[{x:0,y:0},{x:s,y:0},{x:0,y:-a}]:i.has(`left`)&&i.has(`up`)?[{x:s,y:0},{x:0,y:-o},{x:s,y:-a}]:i.has(`left`)&&i.has(`down`)?[{x:s,y:0},{x:0,y:0},{x:s,y:-a}]:i.has(`right`)?[{x:o,y:-c},{x:o,y:-c},{x:s-o,y:-c},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:s-o,y:-a+c},{x:o,y:-a+c},{x:o,y:-a+c}]:i.has(`left`)?[{x:o,y:0},{x:o,y:-c},{x:s-o,y:-c},{x:s-o,y:-a+c},{x:o,y:-a+c},{x:o,y:-a},{x:0,y:-a/2}]:i.has(`up`)?[{x:o,y:-c},{x:o,y:-a+c},{x:0,y:-a+c},{x:s/2,y:-a},{x:s,y:-a+c},{x:s-o,y:-a+c},{x:s-o,y:-c}]:i.has(`down`)?[{x:s/2,y:0},{x:0,y:-c},{x:o,y:-c},{x:o,y:-a+c},{x:s-o,y:-a+c},{x:s-o,y:-c},{x:s,y:-c}]:[{x:0,y:0}]},`getArrowPoints`);function ft(e,t){return e.intersect(t)}i(ft,`intersectNode`);var pt=ft;function mt(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}i(mt,`intersectEllipse`);var ht=mt;function gt(e,t,n){return ht(e,t,t,n)}i(gt,`intersectCircle`);var _t=gt;function vt(e,t,n,r){var i=t.y-e.y,a,o=e.x-t.x,s,c=t.x*e.y-e.x*t.y,l,u,d,f=i*n.x+o*n.y+c,p=i*r.x+o*r.y+c,m,h,g,_,v;if(!(f!==0&&p!==0&&yt(f,p))&&(a=r.y-n.y,s=n.x-r.x,l=r.x*n.y-n.x*r.y,u=a*e.x+s*e.y+l,d=a*t.x+s*t.y+l,!(u!==0&&d!==0&&yt(u,d))&&(m=i*s-a*o,m!==0)))return h=Math.abs(m/2),g=o*l-s*c,_=g<0?(g-h)/m:(g+h)/m,g=a*c-i*l,v=g<0?(g-h)/m:(g+h)/m,{x:_,y:v}}i(vt,`intersectLine`);function yt(e,t){return e*t>0}i(yt,`sameSign`);var bt=vt,xt=St;function St(e,t,n){var r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));for(var c=r-e.width/2-o,l=i-e.height/2-s,u=0;u<t.length;u++){var d=t[u],f=t[u<t.length-1?u+1:0],p=bt(e,n,{x:c+d.x,y:l+d.y},{x:c+f.x,y:l+f.y});p&&a.push(p)}return a.length?(a.length>1&&a.sort(function(e,t){var r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}i(St,`intersectPolygon`);var K={node:pt,circle:_t,ellipse:ht,polygon:xt,rect:i((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`)},q=i(async(e,t,n,i)=>{let a=T(),o,s=t.useHtmlLabels||N(a);o=n||`node default`;let c=e.insert(`g`).attr(`class`,o).attr(`id`,t.domId||t.id),l=c.insert(`g`).attr(`class`,`label`).attr(`style`,t.labelStyle),u;u=t.labelText===void 0?``:typeof t.labelText==`string`?t.labelText:t.labelText[0];let d;d=t.labelType===`markdown`?ue(l,A(r(u),a),{useHtmlLabels:s,width:t.width||a.flowchart.wrappingWidth,classes:`markdown-node-label`},a):await U(l,A(r(u),a),t.labelStyle,!1,i);let f=d.getBBox(),p=t.padding/2;if(N(a)){let e=d.children[0],t=b(d);await de(e,u),f=e.getBoundingClientRect(),t.attr(`width`,f.width),t.attr(`height`,f.height)}return s?l.attr(`transform`,`translate(`+-f.width/2+`, `+-f.height/2+`)`):l.attr(`transform`,`translate(0, `+-f.height/2+`)`),t.centerLabel&&l.attr(`transform`,`translate(`+-f.width/2+`, `+-f.height/2+`)`),l.insert(`rect`,`:first-child`),{shapeSvg:c,bbox:f,halfPadding:p,label:l}},`labelHelper`),J=i((e,t)=>{let n=t.node().getBBox();e.width=n.width,e.height=n.height},`updateNodeBounds`);function Y(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}i(Y,`insertPolygonShape`);var Ct=i(async(e,t)=>{t.useHtmlLabels||N(T())||(t.centerLabel=!0);let{shapeSvg:n,bbox:r,halfPadding:i}=await q(e,t,`node `+t.classes,!0);M.info(`Classes = `,t.classes);let a=n.insert(`rect`,`:first-child`);return a.attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,-r.width/2-i).attr(`y`,-r.height/2-i).attr(`width`,r.width+t.padding).attr(`height`,r.height+t.padding),J(t,a),t.intersect=function(e){return K.rect(t,e)},n},`note`),wt=i(e=>e?` `+e:``,`formatClass`),X=i((e,t)=>`${t||`node default`}${wt(e.classes)} ${wt(e.class)}`,`getClassesFromNode`),Tt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding+(r.height+t.padding),a=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];M.info(`Question main (Circle)`);let o=Y(n,i,i,a);return o.attr(`style`,t.style),J(t,o),t.intersect=function(e){return M.warn(`Intersect called`),K.polygon(t,a,e)},n},`question`),Et=i((e,t)=>{let n=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id);return n.insert(`polygon`,`:first-child`).attr(`points`,[{x:0,y:28/2},{x:28/2,y:0},{x:0,y:-28/2},{x:-28/2,y:0}].map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`state-start`).attr(`r`,7).attr(`width`,28).attr(`height`,28),t.width=28,t.height=28,t.intersect=function(e){return K.circle(t,14,e)},n},`choice`),Dt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=t.positioned?t.height:r.height+t.padding,a=i/4,o=t.positioned?t.width:r.width+2*a+t.padding,s=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-i/2},{x:o-a,y:-i},{x:a,y:-i},{x:0,y:-i/2}],c=Y(n,o,i,s);return c.attr(`style`,t.style),J(t,c),t.intersect=function(e){return K.polygon(t,s,e)},n},`hexagon`),Ot=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,void 0,!0),i=r.height+2*t.padding,a=i/2,o=r.width+2*a+t.padding,s=t.positioned&&(t.widthInColumns??1)>1&&t.width>o?t.width:o,c=dt(t.directions,r,t,s),l=Y(n,s,i,c);return l.attr(`style`,t.style),J(t,l),t.intersect=function(e){return K.polygon(t,c,e)},n},`block_arrow`),kt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Y(n,i,a,o).attr(`style`,t.style),t.width=i+a,t.height=a,t.intersect=function(e){return K.polygon(t,o,e)},n},`rect_left_inv_arrow`),At=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`lean_right`),jt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`lean_left`),Mt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`trapezoid`),Nt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`inv_trapezoid`),Pt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`rect_right_inv_arrow`),Ft=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=i/2,o=a/(2.5+i/50),s=r.height+o+t.padding,c=`M 0,`+o+` a `+a+`,`+o+` 0,0,0 `+i+` 0 a `+a+`,`+o+` 0,0,0 `+-i+` 0 l 0,`+s+` a `+a+`,`+o+` 0,0,0 `+i+` 0 l 0,`+-s;return J(t,n.attr(`label-offset-y`,o).insert(`path`,`:first-child`).attr(`style`,t.style).attr(`d`,c).attr(`transform`,`translate(`+-i/2+`,`+-(s/2+o)+`)`)),t.intersect=function(e){let n=K.rect(t,e),r=n.x-t.x;if(a!=0&&(Math.abs(r)<t.width/2||Math.abs(r)==t.width/2&&Math.abs(n.y-t.y)>t.height/2-o)){let i=o*o*(1-r*r/(a*a));i!=0&&(i=Math.sqrt(i)),i=o-i,e.y-t.y>0&&(i=-i),n.y+=i}return n},n},`cylinder`),It=i(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:i}=await q(e,t,`node `+t.classes+` `+t.class,!0),a=n.insert(`rect`,`:first-child`),o=t.positioned?t.width:r.width+t.padding,s=t.positioned?t.height:r.height+t.padding,c=t.positioned?-o/2:-r.width/2-i,l=t.positioned?-s/2:-r.height/2-i;if(a.attr(`class`,`basic label-container`).attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(Z(a,t.props.borders,o,s),e.delete(`borders`)),e.forEach(e=>{M.warn(`Unknown node property ${e}`)})}return J(t,a),t.intersect=function(e){return K.rect(t,e)},n},`rect`),Lt=i(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:i}=await q(e,t,`node `+t.classes,!0),a=n.insert(`rect`,`:first-child`),o=t.positioned?t.width:r.width+t.padding,s=t.positioned?t.height:r.height+t.padding,c=t.positioned?-o/2:-r.width/2-i,l=t.positioned?-s/2:-r.height/2-i;if(a.attr(`class`,`basic cluster composite label-container`).attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(Z(a,t.props.borders,o,s),e.delete(`borders`)),e.forEach(e=>{M.warn(`Unknown node property ${e}`)})}return J(t,a),t.intersect=function(e){return K.rect(t,e)},n},`composite`),Rt=i(async(e,t)=>{let{shapeSvg:n}=await q(e,t,`label`,!0);M.trace(`Classes = `,t.class);let r=n.insert(`rect`,`:first-child`);if(r.attr(`width`,0).attr(`height`,0),n.attr(`class`,`label edgeLabel`),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(Z(r,t.props.borders,0,0),e.delete(`borders`)),e.forEach(e=>{M.warn(`Unknown node property ${e}`)})}return J(t,r),t.intersect=function(e){return K.rect(t,e)},n},`labelRect`);function Z(e,t,n,r){let a=[],o=i(e=>{a.push(e,0)},`addBorder`),s=i(e=>{a.push(0,e)},`skipBorder`);t.includes(`t`)?(M.debug(`add top border`),o(n)):s(n),t.includes(`r`)?(M.debug(`add right border`),o(r)):s(r),t.includes(`b`)?(M.debug(`add bottom border`),o(n)):s(n),t.includes(`l`)?(M.debug(`add left border`),o(r)):s(r),e.attr(`stroke-dasharray`,a.join(` `))}i(Z,`applyNodePropertyBorders`);var zt=i(async(e,t)=>{let n;n=t.classes?`node `+t.classes:`node default`;let r=e.insert(`g`).attr(`class`,n).attr(`id`,t.domId||t.id),i=r.insert(`rect`,`:first-child`),a=r.insert(`line`),o=r.insert(`g`).attr(`class`,`label`),s=t.labelText.flat?t.labelText.flat():t.labelText,c=``;c=typeof s==`object`?s[0]:s,M.info(`Label text abc79`,c,s,typeof s==`object`);let l=await U(o,c,t.labelStyle,!0,!0),u={width:0,height:0};if(N(T())){let e=l.children[0],t=b(l);u=e.getBoundingClientRect(),t.attr(`width`,u.width),t.attr(`height`,u.height)}M.info(`Text 2`,s);let d=s.slice(1,s.length),f=l.getBBox(),p=await U(o,d.join?d.join(`<br/>`):d,t.labelStyle,!0,!0);if(N(T())){let e=p.children[0],t=b(p);u=e.getBoundingClientRect(),t.attr(`width`,u.width),t.attr(`height`,u.height)}let m=t.padding/2;return b(p).attr(`transform`,`translate( `+(u.width>f.width?0:(f.width-u.width)/2)+`, `+(f.height+m+5)+`)`),b(l).attr(`transform`,`translate( `+(u.width<f.width?0:-(f.width-u.width)/2)+`, 0)`),u=o.node().getBBox(),o.attr(`transform`,`translate(`+-u.width/2+`, `+(-u.height/2-m+3)+`)`),i.attr(`class`,`outer title-state`).attr(`x`,-u.width/2-m).attr(`y`,-u.height/2-m).attr(`width`,u.width+t.padding).attr(`height`,u.height+t.padding),a.attr(`class`,`divider`).attr(`x1`,-u.width/2-m).attr(`x2`,u.width/2+m).attr(`y1`,-u.height/2-m+f.height+m).attr(`y2`,-u.height/2-m+f.height+m),J(t,i),t.intersect=function(e){return K.rect(t,e)},r},`rectWithTitle`),Bt=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.height+t.padding,a=r.width+i/4+t.padding;return J(t,n.insert(`rect`,`:first-child`).attr(`style`,t.style).attr(`rx`,i/2).attr(`ry`,i/2).attr(`x`,-a/2).attr(`y`,-i/2).attr(`width`,a).attr(`height`,i)),t.intersect=function(e){return K.rect(t,e)},n},`stadium`),Vt=i(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:i}=await q(e,t,X(t,void 0),!0),a=n.insert(`circle`,`:first-child`);return a.attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`r`,r.width/2+i).attr(`width`,r.width+t.padding).attr(`height`,r.height+t.padding),M.info(`Circle main`),J(t,a),t.intersect=function(e){return M.info(`Circle intersect`,t,r.width/2+i,e),K.circle(t,r.width/2+i,e)},n},`circle`),Ht=i(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:i}=await q(e,t,X(t,void 0),!0),a=n.insert(`g`,`:first-child`),o=a.insert(`circle`),s=a.insert(`circle`);return a.attr(`class`,t.class),o.attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`r`,r.width/2+i+5).attr(`width`,r.width+t.padding+10).attr(`height`,r.height+t.padding+10),s.attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`r`,r.width/2+i).attr(`width`,r.width+t.padding).attr(`height`,r.height+t.padding),M.info(`DoubleCircle main`),J(t,o),t.intersect=function(e){return M.info(`DoubleCircle intersect`,t,r.width/2+i+5,e),K.circle(t,r.width/2+i+5,e)},n},`doublecircle`),Ut=i(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`subroutine`),Wt=i((e,t)=>{let n=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),r=n.insert(`circle`,`:first-child`);return r.attr(`class`,`state-start`).attr(`r`,7).attr(`width`,14).attr(`height`,14),J(t,r),t.intersect=function(e){return K.circle(t,7,e)},n},`start`),Gt=i((e,t,n)=>{let r=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),i=70,a=10;return n===`LR`&&(i=10,a=70),J(t,r.append(`rect`).attr(`x`,-1*i/2).attr(`y`,-1*a/2).attr(`width`,i).attr(`height`,a).attr(`class`,`fork-join`)),t.height+=t.padding/2,t.width+=t.padding/2,t.intersect=function(e){return K.rect(t,e)},r},`forkJoin`),Kt={rhombus:Tt,composite:Lt,question:Tt,rect:It,labelRect:Rt,rectWithTitle:zt,choice:Et,circle:Vt,doublecircle:Ht,stadium:Bt,hexagon:Dt,block_arrow:Ot,rect_left_inv_arrow:kt,lean_right:At,lean_left:jt,trapezoid:Mt,inv_trapezoid:Nt,rect_right_inv_arrow:Pt,cylinder:Ft,start:Wt,end:i((e,t)=>{let n=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),r=n.insert(`circle`,`:first-child`),i=n.insert(`circle`,`:first-child`);return i.attr(`class`,`state-start`).attr(`r`,7).attr(`width`,14).attr(`height`,14),r.attr(`class`,`state-end`).attr(`r`,5).attr(`width`,10).attr(`height`,10),J(t,i),t.intersect=function(e){return K.circle(t,7,e)},n},`end`),note:Ct,subroutine:Ut,fork:Gt,join:Gt,class_box:i(async(e,t)=>{let n=t.padding/2,r;r=t.classes?`node `+t.classes:`node default`;let i=e.insert(`g`).attr(`class`,r).attr(`id`,t.domId||t.id),a=i.insert(`rect`,`:first-child`),o=i.insert(`line`),s=i.insert(`line`),c=0,l=4,u=i.insert(`g`).attr(`class`,`label`),d=0,f=t.classData.annotations?.[0],p=await U(u,t.classData.annotations[0]?`«`+t.classData.annotations[0]+`»`:``,t.labelStyle,!0,!0),m=p.getBBox();if(N(T())){let e=p.children[0],t=b(p);m=e.getBoundingClientRect(),t.attr(`width`,m.width),t.attr(`height`,m.height)}t.classData.annotations[0]&&(l+=m.height+4,c+=m.width);let h=t.classData.label;t.classData.type!==void 0&&t.classData.type!==``&&(N(T())?h+=`&lt;`+t.classData.type+`&gt;`:h+=`<`+t.classData.type+`>`);let g=await U(u,h,t.labelStyle,!0,!0);b(g).attr(`class`,`classTitle`);let _=g.getBBox();if(N(T())){let e=g.children[0],t=b(g);_=e.getBoundingClientRect(),t.attr(`width`,_.width),t.attr(`height`,_.height)}l+=_.height+4,_.width>c&&(c=_.width);let v=[];t.classData.members.forEach(async e=>{let n=e.getDisplayDetails(),r=n.displayText;N(T())&&(r=r.replace(/</g,`&lt;`).replace(/>/g,`&gt;`));let i=await U(u,r,n.cssStyle?n.cssStyle:t.labelStyle,!0,!0),a=i.getBBox();if(N(T())){let e=i.children[0],t=b(i);a=e.getBoundingClientRect(),t.attr(`width`,a.width),t.attr(`height`,a.height)}a.width>c&&(c=a.width),l+=a.height+4,v.push(i)}),l+=8;let y=[];if(t.classData.methods.forEach(async e=>{let n=e.getDisplayDetails(),r=n.displayText;N(T())&&(r=r.replace(/</g,`&lt;`).replace(/>/g,`&gt;`));let i=await U(u,r,n.cssStyle?n.cssStyle:t.labelStyle,!0,!0),a=i.getBBox();if(N(T())){let e=i.children[0],t=b(i);a=e.getBoundingClientRect(),t.attr(`width`,a.width),t.attr(`height`,a.height)}a.width>c&&(c=a.width),l+=a.height+4,y.push(i)}),l+=8,f){let e=(c-m.width)/2;b(p).attr(`transform`,`translate( `+(-1*c/2+e)+`, `+-1*l/2+`)`),d=m.height+4}let x=(c-_.width)/2;return b(g).attr(`transform`,`translate( `+(-1*c/2+x)+`, `+(-1*l/2+d)+`)`),d+=_.height+4,o.attr(`class`,`divider`).attr(`x1`,-c/2-n).attr(`x2`,c/2+n).attr(`y1`,-l/2-n+8+d).attr(`y2`,-l/2-n+8+d),d+=8,v.forEach(e=>{b(e).attr(`transform`,`translate( `+-c/2+`, `+(-1*l/2+d+8/2)+`)`);let t=e?.getBBox();d+=(t?.height??0)+4}),d+=8,s.attr(`class`,`divider`).attr(`x1`,-c/2-n).attr(`x2`,c/2+n).attr(`y1`,-l/2-n+8+d).attr(`y2`,-l/2-n+8+d),d+=8,y.forEach(e=>{b(e).attr(`transform`,`translate( `+-c/2+`, `+(-1*l/2+d)+`)`);let t=e?.getBBox();d+=(t?.height??0)+4}),a.attr(`style`,t.style).attr(`class`,`outer title-state`).attr(`x`,-c/2-n).attr(`y`,-(l/2)-n).attr(`width`,c+t.padding).attr(`height`,l+t.padding),J(t,a),t.intersect=function(e){return K.rect(t,e)},i},`class_box`)},Q={},qt=i(async(e,t,n)=>{let r,i;if(t.link){let a;T().securityLevel===`sandbox`?a=`_top`:t.linkTarget&&(a=t.linkTarget||`_blank`),r=e.insert(`svg:a`).attr(`xlink:href`,t.link).attr(`target`,a),i=await Kt[t.shape](r,t,n)}else i=await Kt[t.shape](e,t,n),r=i;return t.tooltip&&i.attr(`title`,t.tooltip),t.class&&i.attr(`class`,`node default `+t.class),Q[t.id]=r,t.haveCallback&&Q[t.id].attr(`class`,Q[t.id].attr(`class`)+` clickable`),r},`insertNode`),Jt=i(e=>{let t=Q[e.id];M.trace(`Transforming node`,e.diff,e,`translate(`+(e.x-e.width/2-5)+`, `+e.width/2+`)`);let n=e.diff||0;return e.clusterNode?t.attr(`transform`,`translate(`+(e.x+n-e.width/2)+`, `+(e.y-e.height/2-8)+`)`):t.attr(`transform`,`translate(`+e.x+`, `+e.y+`)`),n},`positionNode`);function Yt(e,t,n=!1){let r=e,i=`default`;(r?.classes?.length||0)>0&&(i=(r?.classes??[]).join(` `)),i+=` flowchart-label`;let a=0,o=``,s;switch(r.type){case`round`:a=5,o=`rect`;break;case`composite`:a=0,o=`composite`,s=0;break;case`square`:o=`rect`;break;case`diamond`:o=`question`;break;case`hexagon`:o=`hexagon`;break;case`block_arrow`:o=`block_arrow`;break;case`odd`:o=`rect_left_inv_arrow`;break;case`lean_right`:o=`lean_right`;break;case`lean_left`:o=`lean_left`;break;case`trapezoid`:o=`trapezoid`;break;case`inv_trapezoid`:o=`inv_trapezoid`;break;case`rect_left_inv_arrow`:o=`rect_left_inv_arrow`;break;case`circle`:o=`circle`;break;case`ellipse`:o=`ellipse`;break;case`stadium`:o=`stadium`;break;case`subroutine`:o=`subroutine`;break;case`cylinder`:o=`cylinder`;break;case`group`:o=`rect`;break;case`doublecircle`:o=`doublecircle`;break;default:o=`rect`}let c=f(r?.styles??[]),l=r.label,u=r.size??{width:0,height:0,x:0,y:0},d=t.getDiagramId();return{labelStyle:c.labelStyle,shape:o,labelText:l,rx:a,ry:a,class:i,style:c.style,id:r.id,domId:d?`${d}-${r.id}`:r.id,directions:r.directions,width:u.width,height:u.height,x:u.x,y:u.y,positioned:n,intersect:void 0,type:r.type,padding:s??j()?.block?.padding??0,widthInColumns:r.widthInColumns??1}}i(Yt,`getNodeFromBlock`);async function Xt(e,t,n){let r=Yt(t,n,!1);if(r.type===`group`)return;let i=await qt(e,r,{config:j()}),a=i.node().getBBox(),o=n.getBlock(r.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},n.setBlock(o),i.remove()}i(Xt,`calculateBlockSize`);async function Zt(e,t,n){let r=Yt(t,n,!0);n.getBlock(r.id).type!==`space`&&(await qt(e,r,{config:j()}),t.intersect=r?.intersect,Jt(r))}i(Zt,`insertBlockPositioned`);async function $(e,t,n,r){for(let i of t)await r(e,i,n),i.children&&await $(e,i.children,n,r)}i($,`performOperations`);async function Qt(e,t,n){await $(e,t,n,Xt)}i(Qt,`calculateBlockSizes`);async function $t(e,t,n){await $(e,t,n,Zt)}i($t,`insertBlocks`);async function en(e,t,n,r,i){let a=new me({multigraph:!0,compound:!0});a.setGraph({rankdir:`TB`,nodesep:10,ranksep:10,marginx:8,marginy:8});for(let e of n)e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(let n of t)if(n.start&&n.end){let t=r.getBlock(n.start),o=r.getBlock(n.end);if(t?.size&&o?.size){let r=t.size,s=o.size,c=[{x:r.x,y:r.y},{x:r.x+(s.x-r.x)/2,y:r.y+(s.y-r.y)/2},{x:s.x,y:s.y}],l=i?`${i}-${n.id}`:n.id,u=`${n.thickness===`thick`?`edge-thickness-thick`:`edge-thickness-normal`} ${n.pattern===`dotted`?`edge-pattern-dotted`:`edge-pattern-solid`} flowchart-link LS-a1 LE-b1`;lt(e,{v:n.start,w:n.end,name:l},{...n,id:l,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:u},void 0,`block`,a,i),n.label&&(await it(e,{...n,label:n.label,labelStyle:`stroke: #333; stroke-width: 1.5px;fill:none;`,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:u}),at({...n,x:c[1].x,y:c[1].y},{originalPath:c}))}}}i(en,`insertEdges`);var tn={parser:Ce,db:Ue,renderer:{draw:i(async function(e,t,r,i){let{securityLevel:a,block:o}=j(),s=i.db;s.setDiagramId(t);let c;a===`sandbox`&&(c=b(`#i`+t));let l=b(a===`sandbox`?c.nodes()[0].contentDocument.body:`body`),u=a===`sandbox`?l.select(`[id="${t}"]`):b(`[id="${t}"]`);Je(u,[`point`,`circle`,`cross`],i.type,t);let d=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),m=u.insert(`g`).attr(`class`,`block`);await Qt(m,d,s);let h=$e(s);if(await $t(m,d,s),await en(m,p,f,s,t),h){let e=h,t=Math.max(1,Math.round(.125*(e.width/e.height))),r=e.height+t+10,i=e.width+10,{useMaxWidth:a}=o;n(u,r,i,!!a),M.debug(`Here Bounds`,h,e),u.attr(`viewBox`,`${e.x-5} ${e.y-5} ${e.width+10} ${e.height+10}`)}},`draw`),getClasses:i(function(e,t){return t.db.getClasses()},`getClasses`)},styles:Ge};export{tn as diagram};