@pi-outpost/embed 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/dist/abnfDiagram-VRR7QNED-BPTALLb_.cjs +1 -0
  4. package/dist/abnfDiagram-VRR7QNED-DlAvVtuC.js +89 -0
  5. package/dist/arc-BBnpgwVQ.js +80 -0
  6. package/dist/arc-DcUn9_NX.cjs +1 -0
  7. package/dist/architecture-TIHT7OUA-D-35jO9Y.cjs +1 -0
  8. package/dist/architecture-TIHT7OUA-DDyMqjR1.js +3 -0
  9. package/dist/architectureDiagram-ZJ3FMSHR-Bh5-VPPg.cjs +36 -0
  10. package/dist/architectureDiagram-ZJ3FMSHR-D7UsY5ua.js +4120 -0
  11. package/dist/array-CApNbSU9.js +6 -0
  12. package/dist/array-DZSRzHA_.cjs +1 -0
  13. package/dist/bash-BLBHkRa_.js +169 -0
  14. package/dist/bash-DHJu-DNv.cjs +1 -0
  15. package/dist/blockDiagram-677ZJIJ3-BrXgigdO.cjs +132 -0
  16. package/dist/blockDiagram-677ZJIJ3-s-fanRPN.js +3160 -0
  17. package/dist/c-4QgYfi8K.cjs +1 -0
  18. package/dist/c-Cw4FsAeJ.js +176 -0
  19. package/dist/c4Diagram-LMCZKHZV-BbZFAi_K.js +2962 -0
  20. package/dist/c4Diagram-LMCZKHZV-DFBVQ9Uo.cjs +10 -0
  21. package/dist/channel-DV0ST12Z.js +5 -0
  22. package/dist/channel-DkMGzfUR.cjs +1 -0
  23. package/dist/chunk-2Q5K7J3B-B8v9mTdK.cjs +1 -0
  24. package/dist/chunk-2Q5K7J3B-DqJF2oYF.js +15 -0
  25. package/dist/chunk-32BRIVSS-Byu3FrKX.js +61 -0
  26. package/dist/chunk-32BRIVSS-oWSJWk-u.cjs +1 -0
  27. package/dist/chunk-52WLFC77-C9zQbcGs.js +590 -0
  28. package/dist/chunk-52WLFC77-D9PTsiCj.cjs +10 -0
  29. package/dist/chunk-5VM5RSS4-BMfgdMFU.js +5 -0
  30. package/dist/chunk-5VM5RSS4-CwDmQ9T_.cjs +15 -0
  31. package/dist/chunk-7BUUIJ7U-BFUeQBoS.js +82 -0
  32. package/dist/chunk-7BUUIJ7U-MzS1pW_S.cjs +1 -0
  33. package/dist/chunk-C7G6YPKG-CDjkH_UW.cjs +1 -0
  34. package/dist/chunk-C7G6YPKG-GTlyrFFt.js +67 -0
  35. package/dist/chunk-EX3LRPZG-BBldDxGh.js +2046 -0
  36. package/dist/chunk-EX3LRPZG-u-BKCEWO.cjs +231 -0
  37. package/dist/chunk-FWX5IMBZ-h3GfgkP2.js +57 -0
  38. package/dist/chunk-FWX5IMBZ-nqBth1J9.cjs +1 -0
  39. package/dist/chunk-HOUHSVGY-CgfXy94u.cjs +1 -0
  40. package/dist/chunk-HOUHSVGY-CtRCnz1G.js +277 -0
  41. package/dist/chunk-ICXQ74PX-BmEfYj-r.cjs +2 -0
  42. package/dist/chunk-ICXQ74PX-CC59NQmW.js +1366 -0
  43. package/dist/chunk-JWPE2WC7-B_J6qwQL.js +8 -0
  44. package/dist/chunk-JWPE2WC7-Cs1kjq8S.cjs +1 -0
  45. package/dist/chunk-KEIR6QF5-BVnxrdHo.js +21388 -0
  46. package/dist/chunk-KEIR6QF5-Cy_QBNG6.cjs +161 -0
  47. package/dist/chunk-MOJQB5TN-D6YxvkUY.js +490 -0
  48. package/dist/chunk-MOJQB5TN-H2vwz-oQ.cjs +88 -0
  49. package/dist/chunk-OGEWGWER-BGdqgMza.js +32 -0
  50. package/dist/chunk-OGEWGWER-BP4o8A-v.cjs +1 -0
  51. package/dist/chunk-PUDLZKDR-C8jMDFq6.js +4142 -0
  52. package/dist/chunk-PUDLZKDR-DtzwSdxX.cjs +156 -0
  53. package/dist/chunk-Q4XR5HBZ-Bk18cMuk.js +1628 -0
  54. package/dist/chunk-Q4XR5HBZ-COrrWZzi.cjs +70 -0
  55. package/dist/chunk-RYQCIY6F-27FDzaaE.cjs +1 -0
  56. package/dist/chunk-RYQCIY6F-C-YC3QS_.js +239 -0
  57. package/dist/chunk-V7JOEXUC-BROsdKzY.js +3357 -0
  58. package/dist/chunk-V7JOEXUC-Cfrm5GQn.cjs +206 -0
  59. package/dist/chunk-VAUOI2AC-05FwamOA.js +10 -0
  60. package/dist/chunk-VAUOI2AC-CBXi4Di2.cjs +1 -0
  61. package/dist/chunk-VR4S4FIN-CSU_1xTZ.cjs +1 -0
  62. package/dist/chunk-VR4S4FIN-Ci491c8N.js +26 -0
  63. package/dist/chunk-WYO6CB5R-BTvDzbWd.cjs +127 -0
  64. package/dist/chunk-WYO6CB5R-Y9HJHB3Q.js +3739 -0
  65. package/dist/chunk-XXDRQBXY-DsVp5qjg.js +9 -0
  66. package/dist/chunk-XXDRQBXY-gWcN0uCZ.cjs +1 -0
  67. package/dist/chunk-Y2CYZVJY-CnmLqFtv.cjs +1 -0
  68. package/dist/chunk-Y2CYZVJY-CwsV_8W4.js +12 -0
  69. package/dist/chunk-ZGVPDNZ5-CDTkXY1G.js +3736 -0
  70. package/dist/chunk-ZGVPDNZ5-COEQX4AZ.cjs +62 -0
  71. package/dist/chunk-ZIRB5QZD-BU6XQUGC.cjs +32 -0
  72. package/dist/chunk-ZIRB5QZD-Cj-y77rH.js +1146 -0
  73. package/dist/classDiagram-OUVF2IWQ-Avsu6OKn.cjs +1 -0
  74. package/dist/classDiagram-OUVF2IWQ-eC72Wwol.js +30 -0
  75. package/dist/classDiagram-v2-EOCWNBFH-Avsu6OKn.cjs +1 -0
  76. package/dist/classDiagram-v2-EOCWNBFH-DsRoQgCt.js +30 -0
  77. package/dist/core-2nR1zkKb.cjs +3 -0
  78. package/dist/core-BO2hTFeF.js +845 -0
  79. package/dist/cose-bilkent-JH36ORCC-AyWV1dUo.cjs +1 -0
  80. package/dist/cose-bilkent-JH36ORCC-BFo5zomD.js +2251 -0
  81. package/dist/cpp-BUtp-HE2.cjs +1 -0
  82. package/dist/cpp-CeyO6lBG.js +225 -0
  83. package/dist/csharp-BJu4kEpt.cjs +1 -0
  84. package/dist/csharp-Ck6Fet_o.js +260 -0
  85. package/dist/css-ClSGJRju.js +140 -0
  86. package/dist/css-DeFr0lev.cjs +1 -0
  87. package/dist/cynefin-VYW2F7L2-DHhUPDgc.cjs +1 -0
  88. package/dist/cynefin-VYW2F7L2-DwiVqvhg.js +3 -0
  89. package/dist/cynefinDiagram-TSTJHNR4-BRUl09PN.js +349 -0
  90. package/dist/cynefinDiagram-TSTJHNR4-rKPqxFde.cjs +62 -0
  91. package/dist/cytoscape.esm-ByjvpCPI.cjs +321 -0
  92. package/dist/cytoscape.esm-asYnbYTy.js +18148 -0
  93. package/dist/dagre-BBlCxSvR.cjs +1 -0
  94. package/dist/dagre-BpqwxFKp.js +1701 -0
  95. package/dist/dagre-VKFMJZFB-BsfMZfPu.cjs +4 -0
  96. package/dist/dagre-VKFMJZFB-ChTkS14y.js +328 -0
  97. package/dist/defaultLocale-u9yUoUmE.cjs +1 -0
  98. package/dist/defaultLocale-up9-vqhM.js +201 -0
  99. package/dist/diagram-FQU43EPY-BnAYoLDy.js +432 -0
  100. package/dist/diagram-FQU43EPY-CdbwLZpm.cjs +3 -0
  101. package/dist/diagram-G47NLZAW-C1ZiELQG.js +525 -0
  102. package/dist/diagram-G47NLZAW-CtWKuxkf.cjs +24 -0
  103. package/dist/diagram-NH7WQ7WH-Be0KXo6w.js +134 -0
  104. package/dist/diagram-NH7WQ7WH-CG6VWVza.cjs +24 -0
  105. package/dist/diagram-OA4YK3LP-B7avlqjG.js +300 -0
  106. package/dist/diagram-OA4YK3LP-Drq_GA6o.cjs +30 -0
  107. package/dist/diagram-WEI45ONY-CoPX6-sx.js +214 -0
  108. package/dist/diagram-WEI45ONY-SJmgVL59.cjs +41 -0
  109. package/dist/dist-D6LMt8nW.js +59 -0
  110. package/dist/dist-DNGlMOWd.cjs +1 -0
  111. package/dist/dockerfile-O4rAswfG.js +34 -0
  112. package/dist/dockerfile-YBgAWga3.cjs +1 -0
  113. package/dist/ebnfDiagram-CCIWWBDH-B-T4_JnX.js +100 -0
  114. package/dist/ebnfDiagram-CCIWWBDH-BY7L3HVQ.cjs +1 -0
  115. package/dist/erDiagram-Q63AITRT-DPgZpeaH.js +1727 -0
  116. package/dist/erDiagram-Q63AITRT-w4C1PxYd.cjs +85 -0
  117. package/dist/eventmodeling-45OFAUF4-COTtdYDJ.js +3 -0
  118. package/dist/eventmodeling-45OFAUF4-CPEyr9kU.cjs +1 -0
  119. package/dist/flowDiagram-23GEKE2U-CQxPdUX4.cjs +1 -0
  120. package/dist/flowDiagram-23GEKE2U-ClCSBl2p.js +17 -0
  121. package/dist/ganttDiagram-NO4QXBWP-BcBp028S.cjs +292 -0
  122. package/dist/ganttDiagram-NO4QXBWP-Cf12fLfa.js +3083 -0
  123. package/dist/gitGraph-TEB2WS4Q-C3qBT0GM.js +3 -0
  124. package/dist/gitGraph-TEB2WS4Q-a8KsoPmR.cjs +1 -0
  125. package/dist/gitGraphDiagram-IHSO6WYX-13ahKewT.js +729 -0
  126. package/dist/gitGraphDiagram-IHSO6WYX-BTtNkGkN.cjs +106 -0
  127. package/dist/go-D-pz-dmd.cjs +1 -0
  128. package/dist/go-rg7jg1mu.js +140 -0
  129. package/dist/graphlib-B0GbLif1.js +1267 -0
  130. package/dist/graphlib-CkkG5MuS.cjs +1 -0
  131. package/dist/info-DKCQHKI2-BEYhR6ip.cjs +1 -0
  132. package/dist/info-DKCQHKI2-BPF6-pOb.js +3 -0
  133. package/dist/infoDiagram-FWYZ7A6U-20rh0VNL.cjs +2 -0
  134. package/dist/infoDiagram-FWYZ7A6U-DcV-eSsb.js +20 -0
  135. package/dist/ini-C1q3_1-Q.js +88 -0
  136. package/dist/ini-nVcUEghj.cjs +1 -0
  137. package/dist/init-07zIhv_j.cjs +1 -0
  138. package/dist/init-CirqLVcp.js +15 -0
  139. package/dist/ishikawaDiagram-FXEZZL3T-BTaBCHIG.js +719 -0
  140. package/dist/ishikawaDiagram-FXEZZL3T-BUq5kcFI.cjs +70 -0
  141. package/dist/java-CUN_usaq.cjs +1 -0
  142. package/dist/java-HguKEfA2.js +169 -0
  143. package/dist/javascript-C8NCH8DE.js +436 -0
  144. package/dist/javascript-UZXSyUuu.cjs +1 -0
  145. package/dist/journeyDiagram-5HDEW3XC-Cl9Z4b58.js +884 -0
  146. package/dist/journeyDiagram-5HDEW3XC-XQa-rhY_.cjs +139 -0
  147. package/dist/json-Cp01TR_B.js +36 -0
  148. package/dist/json-usH_MUzR.cjs +1 -0
  149. package/dist/kanban-definition-HUTT4EX6-CtWnZ0nS.js +975 -0
  150. package/dist/kanban-definition-HUTT4EX6-DVHXUPOt.cjs +89 -0
  151. package/dist/line-Ca8dE_lT.cjs +1 -0
  152. package/dist/line-O2xx2vVQ.js +34 -0
  153. package/dist/linear-CVhyaVzf.js +289 -0
  154. package/dist/linear-Cl2-QuPP.cjs +1 -0
  155. package/dist/map-CwPlMWPw.cjs +1 -0
  156. package/dist/map-DU12fF3s.js +241 -0
  157. package/dist/markdown-CzgRofaE.js +181 -0
  158. package/dist/markdown-qeo95R0i.cjs +1 -0
  159. package/dist/mermaid-parser.core-B8DQcCaz.js +638 -0
  160. package/dist/mermaid-parser.core-Cgsz0CdK.cjs +6 -0
  161. package/dist/mermaid.core-BR-iKb2Q.js +1064 -0
  162. package/dist/mermaid.core-DQrbAA--.cjs +10 -0
  163. package/dist/mindmap-definition-LN4V7U3C-C0I9iWmq.cjs +96 -0
  164. package/dist/mindmap-definition-LN4V7U3C-lkSmRsIC.js +1008 -0
  165. package/dist/mount.d.ts +31 -0
  166. package/dist/ordinal-CCTD6_le.js +65 -0
  167. package/dist/ordinal-CUPR-p0T.cjs +1 -0
  168. package/dist/packet-7NZHBO7P-DqvBYJTR.js +3 -0
  169. package/dist/packet-7NZHBO7P-Dz0O2bgq.cjs +1 -0
  170. package/dist/path-Kklx0M1v.cjs +1 -0
  171. package/dist/path-mKa7UESy.js +85 -0
  172. package/dist/pegDiagram-2B236MQR-BgRCQTZd.js +94 -0
  173. package/dist/pegDiagram-2B236MQR-hlmRl_PA.cjs +1 -0
  174. package/dist/php-C9FOMGEA.js +294 -0
  175. package/dist/php-j6EhDZDE.cjs +2 -0
  176. package/dist/pi-outpost-embed.cjs +305 -0
  177. package/dist/pi-outpost-embed.js +40942 -0
  178. package/dist/pie-RZYD4A2V-Hi9UdoE3.cjs +1 -0
  179. package/dist/pie-RZYD4A2V-qnruo9sH.js +3 -0
  180. package/dist/pieDiagram-ENE6RG2P-BVi7ck2I.js +205 -0
  181. package/dist/pieDiagram-ENE6RG2P-Buuvrs-h.cjs +39 -0
  182. package/dist/plaintext-BYYAHR3Z.js +10 -0
  183. package/dist/plaintext-DmnjizxG.cjs +1 -0
  184. package/dist/python-BYJzTRkK.cjs +1 -0
  185. package/dist/python-DKAazMIE.js +238 -0
  186. package/dist/quadrantDiagram-ABIIQ3AL-DeU97c2B.js +2001 -0
  187. package/dist/quadrantDiagram-ABIIQ3AL-LCbC0LEt.cjs +7 -0
  188. package/dist/radar-I7S5WNFK-Dqdssa34.cjs +1 -0
  189. package/dist/radar-I7S5WNFK-np_pJCO-.js +3 -0
  190. package/dist/railroad-3IZDKUUU-NILjDQft.cjs +1 -0
  191. package/dist/railroad-3IZDKUUU-sjKBeXxB.js +3 -0
  192. package/dist/railroad-abnf-AHOZXSZD-BojH9sxV.cjs +1 -0
  193. package/dist/railroad-abnf-AHOZXSZD-x5cC_e_R.js +3 -0
  194. package/dist/railroad-ebnf-EBAXGLYW-2mlWpz38.js +3 -0
  195. package/dist/railroad-ebnf-EBAXGLYW-BKCSut1M.cjs +1 -0
  196. package/dist/railroad-peg-LSFZ7HO6-CsH-gnsp.cjs +1 -0
  197. package/dist/railroad-peg-LSFZ7HO6-D5vguo03.js +3 -0
  198. package/dist/railroadDiagram-RFXS5EU6-CMTDNjsw.cjs +1 -0
  199. package/dist/railroadDiagram-RFXS5EU6-DNSNpLmQ.js +76 -0
  200. package/dist/requirementDiagram-TGXJPOKE-CdspXMgv.js +2223 -0
  201. package/dist/requirementDiagram-TGXJPOKE-irImpO8w.cjs +84 -0
  202. package/dist/rolldown-runtime-Dqa2HsxW.js +20 -0
  203. package/dist/rolldown-runtime-mLOUI7ql.cjs +1 -0
  204. package/dist/rough.esm-C5XyeDCN.js +1352 -0
  205. package/dist/rough.esm-r0QOSzHM.cjs +1 -0
  206. package/dist/ruby-BAUeZQKZ.js +262 -0
  207. package/dist/ruby-ClR4zp-1.cjs +1 -0
  208. package/dist/rust-DiTjMjP5.js +169 -0
  209. package/dist/rust-ghVvEWhm.cjs +1 -0
  210. package/dist/sankeyDiagram-HTMAVEWB-B0ZJBVpN.cjs +40 -0
  211. package/dist/sankeyDiagram-HTMAVEWB-BQcvUCMA.js +970 -0
  212. package/dist/scss-CKxh5HRg.cjs +1 -0
  213. package/dist/scss-CckAvQOx.js +150 -0
  214. package/dist/sequenceDiagram-DBY2YBRQ-BQFP2DGs.js +4168 -0
  215. package/dist/sequenceDiagram-DBY2YBRQ-C5WukkcA.cjs +162 -0
  216. package/dist/sizeCapture-X5ZJPWSS-DKbHZNyz.js +46 -0
  217. package/dist/sizeCapture-X5ZJPWSS-bJ2ZX4Du.cjs +1 -0
  218. package/dist/sql-B-Rnc2C3.js +118 -0
  219. package/dist/sql-B7syKcd8.cjs +1 -0
  220. package/dist/src-CR--T_NF.cjs +1 -0
  221. package/dist/src-DJ4x3y2O.js +2142 -0
  222. package/dist/stateDiagram-2N3HPSRC-4aBQt5dk.js +220 -0
  223. package/dist/stateDiagram-2N3HPSRC-YbRd67eD.cjs +1 -0
  224. package/dist/stateDiagram-v2-6OUMAXLB-D-c6D5za.js +30 -0
  225. package/dist/stateDiagram-v2-6OUMAXLB-ciXN_270.cjs +1 -0
  226. package/dist/swimlanes-5IMT3BWC-C8zkS7yx.cjs +1 -0
  227. package/dist/swimlanes-5IMT3BWC-aKH3Xgob.js +5066 -0
  228. package/dist/swimlanesDiagram-G3AALYLV-BcgsG1in.js +31 -0
  229. package/dist/swimlanesDiagram-G3AALYLV-CBjVJdH0.cjs +8 -0
  230. package/dist/timeline-definition-FHXFAJF6-DS-X0FCl.cjs +120 -0
  231. package/dist/timeline-definition-FHXFAJF6-Lnag6wiw.js +1069 -0
  232. package/dist/treeView-QDETBFTQ-Cpg_YeQ4.cjs +1 -0
  233. package/dist/treeView-QDETBFTQ-DdpEhzZX.js +3 -0
  234. package/dist/treemap-6X3UGDF4-BeCuRpkA.js +3 -0
  235. package/dist/treemap-6X3UGDF4-CFAmnKaf.cjs +1 -0
  236. package/dist/typescript-clWeqIBY.cjs +1 -0
  237. package/dist/typescript-mdYq8uqf.js +521 -0
  238. package/dist/vennDiagram-L72KCM5P-CF7lC7jn.js +1880 -0
  239. package/dist/vennDiagram-L72KCM5P-DYZP8jT_.cjs +34 -0
  240. package/dist/wardley-OPB4EBWU-B0jnKd8x.cjs +1 -0
  241. package/dist/wardley-OPB4EBWU-DlIk2K0J.js +3 -0
  242. package/dist/wardleyDiagram-EHGQE667-CbtWlMOa.js +645 -0
  243. package/dist/wardleyDiagram-EHGQE667-Dxewrpeh.cjs +78 -0
  244. package/dist/xml-BamqaQOf.cjs +1 -0
  245. package/dist/xml-DVYfB8uY.js +166 -0
  246. package/dist/xychartDiagram-FW5EYKEG-BAnVfMdN.cjs +7 -0
  247. package/dist/xychartDiagram-FW5EYKEG-DmdGPSi6.js +2102 -0
  248. package/dist/yaml-_1BORZTQ.js +144 -0
  249. package/dist/yaml-bAgWofBg.cjs +1 -0
  250. package/package.json +72 -0
@@ -0,0 +1,1880 @@
1
+ import { n as e } from "./chunk-Y2CYZVJY-CwsV_8W4.js";
2
+ import { p as t } from "./src-DJ4x3y2O.js";
3
+ import { H as n, K as r, U as i, a, b as o, c as s, et as c, f as l, nt as u, rt as d, tt as f, v as p, w as m, y as h } from "./chunk-WYO6CB5R-Y9HJHB3Q.js";
4
+ import { i as g } from "./chunk-ICXQ74PX-CC59NQmW.js";
5
+ import { t as _ } from "./chunk-VAUOI2AC-05FwamOA.js";
6
+ import { t as v } from "./rough.esm-C5XyeDCN.js";
7
+ //#region ../node_modules/khroma/dist/methods/transparentize.js
8
+ var y = (e, t) => u(e, "a", -t), b = 1e-10;
9
+ function x(e, t) {
10
+ let n = C(e), r = n.filter((t) => S(t, e)), i = 0, a = 0, o = [];
11
+ if (r.length > 1) {
12
+ let t = O(r);
13
+ for (let e = 0; e < r.length; ++e) {
14
+ let n = r[e];
15
+ n.angle = Math.atan2(n.x - t.x, n.y - t.y);
16
+ }
17
+ r.sort((e, t) => t.angle - e.angle);
18
+ let n = r[r.length - 1];
19
+ for (let t = 0; t < r.length; ++t) {
20
+ let s = r[t];
21
+ a += (n.x + s.x) * (s.y - n.y);
22
+ let c = {
23
+ x: (s.x + n.x) / 2,
24
+ y: (s.y + n.y) / 2
25
+ }, l = null;
26
+ for (let t = 0; t < s.parentIndex.length; ++t) if (n.parentIndex.includes(s.parentIndex[t])) {
27
+ let r = e[s.parentIndex[t]], i = Math.atan2(s.x - r.x, s.y - r.y), a = Math.atan2(n.x - r.x, n.y - r.y), o = a - i;
28
+ o < 0 && (o += 2 * Math.PI);
29
+ let u = a - o / 2, d = T(c, {
30
+ x: r.x + r.radius * Math.sin(u),
31
+ y: r.y + r.radius * Math.cos(u)
32
+ });
33
+ d > r.radius * 2 && (d = r.radius * 2), (l == null || l.width > d) && (l = {
34
+ circle: r,
35
+ width: d,
36
+ p1: s,
37
+ p2: n,
38
+ large: d > r.radius,
39
+ sweep: !0
40
+ });
41
+ }
42
+ l != null && (o.push(l), i += w(l.circle.radius, l.width), n = s);
43
+ }
44
+ } else {
45
+ let t = e[0];
46
+ for (let n = 1; n < e.length; ++n) e[n].radius < t.radius && (t = e[n]);
47
+ let n = !1;
48
+ for (let r = 0; r < e.length; ++r) if (T(e[r], t) > Math.abs(t.radius - e[r].radius)) {
49
+ n = !0;
50
+ break;
51
+ }
52
+ n ? i = a = 0 : (i = t.radius * t.radius * Math.PI, o.push({
53
+ circle: t,
54
+ p1: {
55
+ x: t.x,
56
+ y: t.y + t.radius
57
+ },
58
+ p2: {
59
+ x: t.x - b,
60
+ y: t.y + t.radius
61
+ },
62
+ width: t.radius * 2,
63
+ large: !0,
64
+ sweep: !0
65
+ }));
66
+ }
67
+ return a /= 2, t && (t.area = i + a, t.arcArea = i, t.polygonArea = a, t.arcs = o, t.innerPoints = r, t.intersectionPoints = n), i + a;
68
+ }
69
+ function S(e, t) {
70
+ return t.every((t) => T(e, t) < t.radius + b);
71
+ }
72
+ function C(e) {
73
+ let t = [];
74
+ for (let n = 0; n < e.length; ++n) for (let r = n + 1; r < e.length; ++r) {
75
+ let i = D(e[n], e[r]);
76
+ for (let e of i) e.parentIndex = [n, r], t.push(e);
77
+ }
78
+ return t;
79
+ }
80
+ function w(e, t) {
81
+ return e * e * Math.acos(1 - t / e) - (e - t) * Math.sqrt(t * (2 * e - t));
82
+ }
83
+ function T(e, t) {
84
+ return Math.sqrt((e.x - t.x) * (e.x - t.x) + (e.y - t.y) * (e.y - t.y));
85
+ }
86
+ function E(e, t, n) {
87
+ if (n >= e + t) return 0;
88
+ if (n <= Math.abs(e - t)) return Math.PI * Math.min(e, t) * Math.min(e, t);
89
+ let r = e - (n * n - t * t + e * e) / (2 * n), i = t - (n * n - e * e + t * t) / (2 * n);
90
+ return w(e, r) + w(t, i);
91
+ }
92
+ function D(e, t) {
93
+ let n = T(e, t), r = e.radius, i = t.radius;
94
+ if (n >= r + i || n <= Math.abs(r - i)) return [];
95
+ let a = (r * r - i * i + n * n) / (2 * n), o = Math.sqrt(r * r - a * a), s = e.x + a * (t.x - e.x) / n, c = e.y + a * (t.y - e.y) / n, l = -(t.y - e.y) * (o / n), u = -(t.x - e.x) * (o / n);
96
+ return [{
97
+ x: s + l,
98
+ y: c - u
99
+ }, {
100
+ x: s - l,
101
+ y: c + u
102
+ }];
103
+ }
104
+ function O(e) {
105
+ let t = {
106
+ x: 0,
107
+ y: 0
108
+ };
109
+ for (let n of e) t.x += n.x, t.y += n.y;
110
+ return t.x /= e.length, t.y /= e.length, t;
111
+ }
112
+ function k(e, t, n, r) {
113
+ r ||= {};
114
+ let i = r.maxIterations || 100, a = r.tolerance || 1e-10, o = e(t), s = e(n), c = n - t;
115
+ if (o * s > 0) throw "Initial bisect points must have opposite signs";
116
+ if (o === 0) return t;
117
+ if (s === 0) return n;
118
+ for (let n = 0; n < i; ++n) {
119
+ c /= 2;
120
+ let n = t + c, r = e(n);
121
+ if (r * o >= 0 && (t = n), Math.abs(c) < a || r === 0) return n;
122
+ }
123
+ return t + c;
124
+ }
125
+ function A(e) {
126
+ let t = Array(e);
127
+ for (let n = 0; n < e; ++n) t[n] = 0;
128
+ return t;
129
+ }
130
+ function j(e, t) {
131
+ return A(e).map(() => A(t));
132
+ }
133
+ function M(e, t) {
134
+ let n = 0;
135
+ for (let r = 0; r < e.length; ++r) n += e[r] * t[r];
136
+ return n;
137
+ }
138
+ function N(e) {
139
+ return Math.sqrt(M(e, e));
140
+ }
141
+ function P(e, t, n) {
142
+ for (let r = 0; r < t.length; ++r) e[r] = t[r] * n;
143
+ }
144
+ function F(e, t, n, r, i) {
145
+ for (let a = 0; a < e.length; ++a) e[a] = t * n[a] + r * i[a];
146
+ }
147
+ function I(e, t, n) {
148
+ n ||= {};
149
+ let r = n.maxIterations || t.length * 200, i = n.nonZeroDelta || 1.05, a = n.zeroDelta || .001, o = n.minErrorDelta || 1e-6, s = n.minErrorDelta || 1e-5, c = n.rho === void 0 ? 1 : n.rho, l = n.chi === void 0 ? 2 : n.chi, u = n.psi === void 0 ? -.5 : n.psi, d = n.sigma === void 0 ? .5 : n.sigma, f, p = t.length, m = Array(p + 1);
150
+ m[0] = t, m[0].fx = e(t), m[0].id = 0;
151
+ for (let n = 0; n < p; ++n) {
152
+ let r = t.slice();
153
+ r[n] = r[n] ? r[n] * i : a, m[n + 1] = r, m[n + 1].fx = e(r), m[n + 1].id = n + 1;
154
+ }
155
+ function h(e) {
156
+ for (let t = 0; t < e.length; t++) m[p][t] = e[t];
157
+ m[p].fx = e.fx;
158
+ }
159
+ let g = (e, t) => e.fx - t.fx, _ = t.slice(), v = t.slice(), y = t.slice(), b = t.slice();
160
+ for (let t = 0; t < r; ++t) {
161
+ if (m.sort(g), n.history) {
162
+ let e = m.map((e) => {
163
+ let t = e.slice();
164
+ return t.fx = e.fx, t.id = e.id, t;
165
+ });
166
+ e.sort((e, t) => e.id - t.id), n.history.push({
167
+ x: m[0].slice(),
168
+ fx: m[0].fx,
169
+ simplex: e
170
+ });
171
+ }
172
+ f = 0;
173
+ for (let e = 0; e < p; ++e) f = Math.max(f, Math.abs(m[0][e] - m[1][e]));
174
+ if (Math.abs(m[0].fx - m[p].fx) < o && f < s) break;
175
+ for (let e = 0; e < p; ++e) {
176
+ _[e] = 0;
177
+ for (let t = 0; t < p; ++t) _[e] += m[t][e];
178
+ _[e] /= p;
179
+ }
180
+ let t = m[p];
181
+ if (F(v, 1 + c, _, -c, t), v.fx = e(v), v.fx < m[0].fx) F(b, 1 + l, _, -l, t), b.fx = e(b), b.fx < v.fx ? h(b) : h(v);
182
+ else if (v.fx >= m[p - 1].fx) {
183
+ let n = !1;
184
+ if (v.fx > t.fx ? (F(y, 1 + u, _, -u, t), y.fx = e(y), y.fx < t.fx ? h(y) : n = !0) : (F(y, 1 - u * c, _, u * c, t), y.fx = e(y), y.fx < v.fx ? h(y) : n = !0), n) {
185
+ if (d >= 1) break;
186
+ for (let t = 1; t < m.length; ++t) F(m[t], 1 - d, m[0], d, m[t]), m[t].fx = e(m[t]);
187
+ }
188
+ } else h(v);
189
+ }
190
+ return m.sort(g), {
191
+ fx: m[0].fx,
192
+ x: m[0]
193
+ };
194
+ }
195
+ function L(e, t, n, r, i, a, o) {
196
+ let s = n.fx, c = M(n.fxprime, t), l = s, u = s, d = c, f = 0;
197
+ i ||= 1, a ||= 1e-6, o ||= .1;
198
+ function p(u, f, p) {
199
+ for (let m = 0; m < 16; ++m) if (i = (u + f) / 2, F(r.x, 1, n.x, i, t), l = r.fx = e(r.x, r.fxprime), d = M(r.fxprime, t), l > s + a * i * c || l >= p) f = i;
200
+ else {
201
+ if (Math.abs(d) <= -o * c) return i;
202
+ d * (f - u) >= 0 && (f = u), u = i, p = l;
203
+ }
204
+ return 0;
205
+ }
206
+ for (let m = 0; m < 10; ++m) {
207
+ if (F(r.x, 1, n.x, i, t), l = r.fx = e(r.x, r.fxprime), d = M(r.fxprime, t), l > s + a * i * c || m && l >= u) return p(f, i, u);
208
+ if (Math.abs(d) <= -o * c) return i;
209
+ if (d >= 0) return p(i, f, l);
210
+ u = l, f = i, i *= 2;
211
+ }
212
+ return i;
213
+ }
214
+ function R(e, t, n) {
215
+ let r = {
216
+ x: t.slice(),
217
+ fx: 0,
218
+ fxprime: t.slice()
219
+ }, i = {
220
+ x: t.slice(),
221
+ fx: 0,
222
+ fxprime: t.slice()
223
+ }, a = t.slice(), o, s, c = 1, l;
224
+ n ||= {}, l = n.maxIterations || t.length * 20, r.fx = e(r.x, r.fxprime), o = r.fxprime.slice(), P(o, r.fxprime, -1);
225
+ for (let t = 0; t < l; ++t) {
226
+ if (c = L(e, o, r, i, c), n.history && n.history.push({
227
+ x: r.x.slice(),
228
+ fx: r.fx,
229
+ fxprime: r.fxprime.slice(),
230
+ alpha: c
231
+ }), !c) P(o, r.fxprime, -1);
232
+ else {
233
+ F(a, 1, i.fxprime, -1, r.fxprime);
234
+ let e = M(r.fxprime, r.fxprime), t = Math.max(0, M(a, i.fxprime) / e);
235
+ F(o, t, o, -1, i.fxprime), s = r, r = i, i = s;
236
+ }
237
+ if (N(r.fxprime) <= 1e-5) break;
238
+ }
239
+ return n.history && n.history.push({
240
+ x: r.x.slice(),
241
+ fx: r.fx,
242
+ fxprime: r.fxprime.slice(),
243
+ alpha: c
244
+ }), r;
245
+ }
246
+ function ee(e, t = {}) {
247
+ t.maxIterations = t.maxIterations || 500;
248
+ let n = t.initialLayout || ae, r = t.lossFunction || B, i = ne(e, t), a = n(i, t), o = Object.keys(a), s = [];
249
+ for (let e of o) s.push(a[e].x), s.push(a[e].y);
250
+ let c = I((e) => {
251
+ let t = {};
252
+ for (let n = 0; n < o.length; ++n) {
253
+ let r = o[n];
254
+ t[r] = {
255
+ x: e[2 * n],
256
+ y: e[2 * n + 1],
257
+ radius: a[r].radius
258
+ };
259
+ }
260
+ return r(t, i);
261
+ }, s, t).x;
262
+ for (let e = 0; e < o.length; ++e) {
263
+ let t = o[e];
264
+ a[t].x = c[2 * e], a[t].y = c[2 * e + 1];
265
+ }
266
+ return a;
267
+ }
268
+ var te = 1e-10;
269
+ function z(e, t, n) {
270
+ return Math.min(e, t) * Math.min(e, t) * Math.PI <= n + te ? Math.abs(e - t) : k((r) => E(e, t, r) - n, 0, e + t);
271
+ }
272
+ function ne(e, t = {}) {
273
+ let n = t.distinct, r = e.map((e) => Object.assign({}, e));
274
+ function i(e) {
275
+ return e.join(";");
276
+ }
277
+ if (n) {
278
+ let e = /* @__PURE__ */ new Map();
279
+ for (let t of r) for (let n = 0; n < t.sets.length; n++) {
280
+ let r = String(t.sets[n]);
281
+ e.set(r, t.size + (e.get(r) || 0));
282
+ for (let i = n + 1; i < t.sets.length; i++) {
283
+ let n = String(t.sets[i]), a = `${r};${n}`, o = `${n};${r}`;
284
+ e.set(a, t.size + (e.get(a) || 0)), e.set(o, t.size + (e.get(o) || 0));
285
+ }
286
+ }
287
+ for (let t of r) t.sets.length < 3 && (t.size = e.get(i(t.sets)));
288
+ }
289
+ let a = [], o = /* @__PURE__ */ new Set();
290
+ for (let e of r) if (e.sets.length === 1) a.push(e.sets[0]);
291
+ else if (e.sets.length === 2) {
292
+ let t = e.sets[0], n = e.sets[1];
293
+ o.add(i(e.sets)), o.add(i([n, t]));
294
+ }
295
+ a.sort((e, t) => e === t ? 0 : e < t ? -1 : 1);
296
+ for (let e = 0; e < a.length; ++e) {
297
+ let t = a[e];
298
+ for (let n = e + 1; n < a.length; ++n) {
299
+ let e = a[n];
300
+ o.has(i([t, e])) || r.push({
301
+ sets: [t, e],
302
+ size: 0
303
+ });
304
+ }
305
+ }
306
+ return r;
307
+ }
308
+ function re(e, t, n) {
309
+ let r = j(t.length, t.length), i = j(t.length, t.length);
310
+ return e.filter((e) => e.sets.length === 2).forEach((e) => {
311
+ let a = n[e.sets[0]], o = n[e.sets[1]], s = z(Math.sqrt(t[a].size / Math.PI), Math.sqrt(t[o].size / Math.PI), e.size);
312
+ r[a][o] = r[o][a] = s;
313
+ let c = 0;
314
+ e.size + 1e-10 >= Math.min(t[a].size, t[o].size) ? c = 1 : e.size <= 1e-10 && (c = -1), i[a][o] = i[o][a] = c;
315
+ }), {
316
+ distances: r,
317
+ constraints: i
318
+ };
319
+ }
320
+ function ie(e, t, n, r) {
321
+ for (let e = 0; e < t.length; ++e) t[e] = 0;
322
+ let i = 0;
323
+ for (let a = 0; a < n.length; ++a) {
324
+ let o = e[2 * a], s = e[2 * a + 1];
325
+ for (let c = a + 1; c < n.length; ++c) {
326
+ let l = e[2 * c], u = e[2 * c + 1], d = n[a][c], f = r[a][c], p = (l - o) * (l - o) + (u - s) * (u - s), m = Math.sqrt(p), h = p - d * d;
327
+ f > 0 && m <= d || f < 0 && m >= d || (i += 2 * h * h, t[2 * a] += 4 * h * (o - l), t[2 * a + 1] += 4 * h * (s - u), t[2 * c] += 4 * h * (l - o), t[2 * c + 1] += 4 * h * (u - s));
328
+ }
329
+ }
330
+ return i;
331
+ }
332
+ function ae(e, t = {}) {
333
+ let n = se(e, t), r = t.lossFunction || B;
334
+ if (e.length >= 8) {
335
+ let i = oe(e, t), a = r(i, e), o = r(n, e);
336
+ a + 1e-8 < o && (n = i);
337
+ }
338
+ return n;
339
+ }
340
+ function oe(e, t = {}) {
341
+ let n = t.restarts || 10, r = [], i = {};
342
+ for (let t of e) t.sets.length === 1 && (i[t.sets[0]] = r.length, r.push(t));
343
+ let { distances: a, constraints: o } = re(e, r, i), s = N(a.map(N)) / a.length;
344
+ a = a.map((e) => e.map((e) => e / s));
345
+ let c = (e, t) => ie(e, t, a, o), l = null;
346
+ for (let e = 0; e < n; ++e) {
347
+ let e = R(c, A(a.length * 2).map(Math.random), t);
348
+ (!l || e.fx < l.fx) && (l = e);
349
+ }
350
+ let u = l.x, d = {};
351
+ for (let e = 0; e < r.length; ++e) {
352
+ let t = r[e];
353
+ d[t.sets[0]] = {
354
+ x: u[2 * e] * s,
355
+ y: u[2 * e + 1] * s,
356
+ radius: Math.sqrt(t.size / Math.PI)
357
+ };
358
+ }
359
+ if (t.history) for (let e of t.history) P(e.x, s);
360
+ return d;
361
+ }
362
+ function se(e, t) {
363
+ let n = t && t.lossFunction ? t.lossFunction : B, r = {}, i = {};
364
+ for (let t of e) if (t.sets.length === 1) {
365
+ let e = t.sets[0];
366
+ r[e] = {
367
+ x: 1e10,
368
+ y: 1e10,
369
+ rowid: r.length,
370
+ size: t.size,
371
+ radius: Math.sqrt(t.size / Math.PI)
372
+ }, i[e] = [];
373
+ }
374
+ e = e.filter((e) => e.sets.length === 2);
375
+ for (let t of e) {
376
+ let e = t.weight == null ? 1 : t.weight, n = t.sets[0], a = t.sets[1];
377
+ t.size + te >= Math.min(r[n].size, r[a].size) && (e = 0), i[n].push({
378
+ set: a,
379
+ size: t.size,
380
+ weight: e
381
+ }), i[a].push({
382
+ set: n,
383
+ size: t.size,
384
+ weight: e
385
+ });
386
+ }
387
+ let a = [];
388
+ Object.keys(i).forEach((e) => {
389
+ let t = 0;
390
+ for (let n = 0; n < i[e].length; ++n) t += i[e][n].size * i[e][n].weight;
391
+ a.push({
392
+ set: e,
393
+ size: t
394
+ });
395
+ });
396
+ function o(e, t) {
397
+ return t.size - e.size;
398
+ }
399
+ a.sort(o);
400
+ let s = {};
401
+ function c(e) {
402
+ return e.set in s;
403
+ }
404
+ function l(e, t) {
405
+ r[t].x = e.x, r[t].y = e.y, s[t] = !0;
406
+ }
407
+ l({
408
+ x: 0,
409
+ y: 0
410
+ }, a[0].set);
411
+ for (let t = 1; t < a.length; ++t) {
412
+ let s = a[t].set, d = i[s].filter(c), f = r[s];
413
+ if (d.sort(o), d.length === 0) throw "ERROR: missing pairwise overlap information";
414
+ let p = [];
415
+ for (var u = 0; u < d.length; ++u) {
416
+ let e = r[d[u].set], t = z(f.radius, e.radius, d[u].size);
417
+ p.push({
418
+ x: e.x + t,
419
+ y: e.y
420
+ }), p.push({
421
+ x: e.x - t,
422
+ y: e.y
423
+ }), p.push({
424
+ y: e.y + t,
425
+ x: e.x
426
+ }), p.push({
427
+ y: e.y - t,
428
+ x: e.x
429
+ });
430
+ for (let n = u + 1; n < d.length; ++n) {
431
+ let i = r[d[n].set], a = z(f.radius, i.radius, d[n].size), o = D({
432
+ x: e.x,
433
+ y: e.y,
434
+ radius: t
435
+ }, {
436
+ x: i.x,
437
+ y: i.y,
438
+ radius: a
439
+ });
440
+ p.push(...o);
441
+ }
442
+ }
443
+ let m = 1e50, h = p[0];
444
+ for (let t of p) {
445
+ r[s].x = t.x, r[s].y = t.y;
446
+ let i = n(r, e);
447
+ i < m && (m = i, h = t);
448
+ }
449
+ l(h, s);
450
+ }
451
+ return r;
452
+ }
453
+ function B(e, t) {
454
+ let n = 0;
455
+ for (let r of t) {
456
+ if (r.sets.length === 1) continue;
457
+ let t;
458
+ if (r.sets.length === 2) {
459
+ let n = e[r.sets[0]], i = e[r.sets[1]];
460
+ t = E(n.radius, i.radius, T(n, i));
461
+ } else t = x(r.sets.map((t) => e[t]));
462
+ let i = r.weight == null ? 1 : r.weight;
463
+ n += i * (t - r.size) * (t - r.size);
464
+ }
465
+ return n;
466
+ }
467
+ function ce(e, t) {
468
+ let n = 0;
469
+ for (let r of t) {
470
+ if (r.sets.length === 1) continue;
471
+ let t;
472
+ if (r.sets.length === 2) {
473
+ let n = e[r.sets[0]], i = e[r.sets[1]];
474
+ t = E(n.radius, i.radius, T(n, i));
475
+ } else t = x(r.sets.map((t) => e[t]));
476
+ let i = r.weight == null ? 1 : r.weight, a = Math.log((t + 1) / (r.size + 1));
477
+ n += i * a * a;
478
+ }
479
+ return n;
480
+ }
481
+ function le(e, t, n) {
482
+ if (n == null ? e.sort((e, t) => t.radius - e.radius) : e.sort(n), e.length > 0) {
483
+ let t = e[0].x, n = e[0].y;
484
+ for (let r of e) r.x -= t, r.y -= n;
485
+ }
486
+ if (e.length === 2 && T(e[0], e[1]) < Math.abs(e[1].radius - e[0].radius) && (e[1].x = e[0].x + e[0].radius - e[1].radius - 1e-10, e[1].y = e[0].y), e.length > 1) {
487
+ let n = Math.atan2(e[1].x, e[1].y) - t, r = Math.cos(n), i = Math.sin(n);
488
+ for (let t of e) {
489
+ let e = t.x, n = t.y;
490
+ t.x = r * e - i * n, t.y = i * e + r * n;
491
+ }
492
+ }
493
+ if (e.length > 2) {
494
+ let n = Math.atan2(e[2].x, e[2].y) - t;
495
+ for (; n < 0;) n += 2 * Math.PI;
496
+ for (; n > 2 * Math.PI;) n -= 2 * Math.PI;
497
+ if (n > Math.PI) {
498
+ let t = e[1].y / (1e-10 + e[1].x);
499
+ for (let n of e) {
500
+ var r = (n.x + t * n.y) / (1 + t * t);
501
+ n.x = 2 * r - n.x, n.y = 2 * r * t - n.y;
502
+ }
503
+ }
504
+ }
505
+ }
506
+ function ue(e) {
507
+ e.forEach((e) => {
508
+ e.parent = e;
509
+ });
510
+ function t(e) {
511
+ return e.parent !== e && (e.parent = t(e.parent)), e.parent;
512
+ }
513
+ function n(e, n) {
514
+ let r = t(e);
515
+ r.parent = t(n);
516
+ }
517
+ for (let t = 0; t < e.length; ++t) for (let r = t + 1; r < e.length; ++r) {
518
+ let i = e[t].radius + e[r].radius;
519
+ T(e[t], e[r]) + 1e-10 < i && n(e[r], e[t]);
520
+ }
521
+ let r = /* @__PURE__ */ new Map();
522
+ for (let n = 0; n < e.length; ++n) {
523
+ let i = t(e[n]).parent.setid;
524
+ r.has(i) || r.set(i, []), r.get(i).push(e[n]);
525
+ }
526
+ return e.forEach((e) => {
527
+ delete e.parent;
528
+ }), Array.from(r.values());
529
+ }
530
+ function V(e) {
531
+ let t = (t) => ({
532
+ max: e.reduce((e, n) => Math.max(e, n[t] + n.radius), -Infinity),
533
+ min: e.reduce((e, n) => Math.min(e, n[t] - n.radius), Infinity)
534
+ });
535
+ return {
536
+ xRange: t("x"),
537
+ yRange: t("y")
538
+ };
539
+ }
540
+ function de(e, t, n) {
541
+ t ??= Math.PI / 2;
542
+ let r = me(e).map((e) => Object.assign({}, e)), i = ue(r);
543
+ for (let e of i) {
544
+ le(e, t, n);
545
+ let r = V(e);
546
+ e.size = (r.xRange.max - r.xRange.min) * (r.yRange.max - r.yRange.min), e.bounds = r;
547
+ }
548
+ i.sort((e, t) => t.size - e.size), r = i[0];
549
+ let a = r.bounds, o = (a.xRange.max - a.xRange.min) / 50;
550
+ function s(e, t, n) {
551
+ if (!e) return;
552
+ let i = e.bounds, s, c;
553
+ if (t) s = a.xRange.max - i.xRange.min + o;
554
+ else {
555
+ s = a.xRange.max - i.xRange.max;
556
+ let e = (i.xRange.max - i.xRange.min) / 2 - (a.xRange.max - a.xRange.min) / 2;
557
+ e < 0 && (s += e);
558
+ }
559
+ if (n) c = a.yRange.max - i.yRange.min + o;
560
+ else {
561
+ c = a.yRange.max - i.yRange.max;
562
+ let e = (i.yRange.max - i.yRange.min) / 2 - (a.yRange.max - a.yRange.min) / 2;
563
+ e < 0 && (c += e);
564
+ }
565
+ for (let t of e) t.x += s, t.y += c, r.push(t);
566
+ }
567
+ let c = 1;
568
+ for (; c < i.length;) s(i[c], !0, !1), s(i[c + 1], !1, !0), s(i[c + 2], !0, !0), c += 3, a = V(r);
569
+ return pe(r);
570
+ }
571
+ function fe(e, t, n, r, i) {
572
+ let a = me(e);
573
+ t -= 2 * r, n -= 2 * r;
574
+ let { xRange: o, yRange: s } = V(a);
575
+ if (o.max === o.min || s.max === s.min) return console.log("not scaling solution: zero size detected"), e;
576
+ let c, l;
577
+ if (i) {
578
+ let e = Math.sqrt(i / Math.PI) * 2;
579
+ c = t / e, l = n / e;
580
+ } else c = t / (o.max - o.min), l = n / (s.max - s.min);
581
+ let u = Math.min(l, c), d = (t - (o.max - o.min) * u) / 2, f = (n - (s.max - s.min) * u) / 2;
582
+ return pe(a.map((e) => ({
583
+ radius: u * e.radius,
584
+ x: r + d + (e.x - o.min) * u,
585
+ y: r + f + (e.y - s.min) * u,
586
+ setid: e.setid
587
+ })));
588
+ }
589
+ function pe(e) {
590
+ let t = {};
591
+ for (let n of e) t[n.setid] = n;
592
+ return t;
593
+ }
594
+ function me(e) {
595
+ return Object.keys(e).map((t) => Object.assign(e[t], { setid: t }));
596
+ }
597
+ function he(e = {}) {
598
+ let t = !1, n = 600, r = 350, i = 15, a = 1e3, o = Math.PI / 2, s = !0, c = null, l = !0, u = !0, d = null, f = null, p = !1, m = null, h = e && e.symmetricalTextCentre ? e.symmetricalTextCentre : !1, g = {}, _ = e && e.colourScheme ? e.colourScheme : e && e.colorScheme ? e.colorScheme : [
599
+ "#1f77b4",
600
+ "#ff7f0e",
601
+ "#2ca02c",
602
+ "#d62728",
603
+ "#9467bd",
604
+ "#8c564b",
605
+ "#e377c2",
606
+ "#7f7f7f",
607
+ "#bcbd22",
608
+ "#17becf"
609
+ ], v = 0, y = function(e) {
610
+ if (e in g) return g[e];
611
+ var t = g[e] = _[v];
612
+ return v += 1, v >= _.length && (v = 0), t;
613
+ }, b = ee, x = B;
614
+ function S(g) {
615
+ let _ = g.datum(), v = /* @__PURE__ */ new Set();
616
+ _.forEach((e) => {
617
+ e.size == 0 && e.sets.length == 1 && v.add(e.sets[0]);
618
+ }), _ = _.filter((e) => !e.sets.some((e) => v.has(e)));
619
+ let S = {}, C = {};
620
+ if (_.length > 0) {
621
+ let e = b(_, {
622
+ lossFunction: x,
623
+ distinct: p
624
+ });
625
+ s && (e = de(e, o, f)), S = fe(e, n, r, i, c), C = ve(S, _, h);
626
+ }
627
+ let w = {};
628
+ _.forEach((e) => {
629
+ e.label && (w[e.sets] = e.label);
630
+ });
631
+ function T(e) {
632
+ if (e.sets in w) return w[e.sets];
633
+ if (e.sets.length == 1) return "" + e.sets[0];
634
+ }
635
+ g.selectAll("svg").data([S]).enter().append("svg");
636
+ let E = g.select("svg");
637
+ t ? E.attr("viewBox", `0 0 ${n} ${r}`) : E.attr("width", n).attr("height", r);
638
+ let D = {}, O = !1;
639
+ E.selectAll(".venn-area path").each(function(e) {
640
+ let t = this.getAttribute("d");
641
+ e.sets.length == 1 && t && !p && (O = !0, D[e.sets[0]] = be(t));
642
+ });
643
+ function k(e) {
644
+ return (t) => Ce(e.sets.map((e) => {
645
+ let i = D[e], a = S[e];
646
+ return i ||= {
647
+ x: n / 2,
648
+ y: r / 2,
649
+ radius: 1
650
+ }, a ||= {
651
+ x: n / 2,
652
+ y: r / 2,
653
+ radius: 1
654
+ }, {
655
+ x: i.x * (1 - t) + a.x * t,
656
+ y: i.y * (1 - t) + a.y * t,
657
+ radius: i.radius * (1 - t) + a.radius * t
658
+ };
659
+ }), m);
660
+ }
661
+ let A = E.selectAll(".venn-area").data(_, (e) => e.sets), j = A.enter().append("g").attr("class", (e) => `venn-area venn-${e.sets.length == 1 ? "circle" : "intersection"}${e.colour || e.color ? " venn-coloured" : ""}`).attr("data-venn-sets", (e) => e.sets.join("_")), M = j.append("path"), N = j.append("text").attr("class", "label").text((e) => T(e)).attr("text-anchor", "middle").attr("dy", ".35em").attr("x", n / 2).attr("y", r / 2);
662
+ u && (M.style("fill-opacity", "0").filter((e) => e.sets.length == 1).style("fill", (e) => e.colour ? e.colour : e.color ? e.color : y(e.sets)).style("fill-opacity", ".25"), N.style("fill", (t) => t.colour || t.color ? "#FFF" : e.textFill ? e.textFill : t.sets.length == 1 ? y(t.sets) : "#444"));
663
+ function P(e) {
664
+ return typeof e.transition == "function" ? e.transition("venn").duration(a) : e;
665
+ }
666
+ let F = g;
667
+ O && typeof F.transition == "function" ? (F = P(g), F.selectAll("path").attrTween("d", k)) : F.selectAll("path").attr("d", (e) => Ce(e.sets.map((e) => S[e])), m);
668
+ let I = F.selectAll("text").filter((e) => e.sets in C).text((e) => T(e)).attr("x", (e) => Math.floor(C[e.sets].x)).attr("y", (e) => Math.floor(C[e.sets].y));
669
+ l && (O ? "on" in I ? I.on("end", H(S, T)) : I.each("end", H(S, T)) : I.each(H(S, T)));
670
+ let L = P(A.exit()).remove();
671
+ typeof A.transition == "function" && L.selectAll("path").attrTween("d", k);
672
+ let R = L.selectAll("text").attr("x", n / 2).attr("y", r / 2);
673
+ return d !== null && (N.style("font-size", "0px"), I.style("font-size", d), R.style("font-size", "0px")), {
674
+ circles: S,
675
+ textCentres: C,
676
+ nodes: A,
677
+ enter: j,
678
+ update: F,
679
+ exit: L
680
+ };
681
+ }
682
+ return S.wrap = function(e) {
683
+ return arguments.length ? (l = e, S) : l;
684
+ }, S.useViewBox = function() {
685
+ return t = !0, S;
686
+ }, S.width = function(e) {
687
+ return arguments.length ? (n = e, S) : n;
688
+ }, S.height = function(e) {
689
+ return arguments.length ? (r = e, S) : r;
690
+ }, S.padding = function(e) {
691
+ return arguments.length ? (i = e, S) : i;
692
+ }, S.distinct = function(e) {
693
+ return arguments.length ? (p = e, S) : p;
694
+ }, S.colours = function(e) {
695
+ return arguments.length ? (y = e, S) : y;
696
+ }, S.colors = function(e) {
697
+ return arguments.length ? (y = e, S) : y;
698
+ }, S.fontSize = function(e) {
699
+ return arguments.length ? (d = e, S) : d;
700
+ }, S.round = function(e) {
701
+ return arguments.length ? (m = e, S) : m;
702
+ }, S.duration = function(e) {
703
+ return arguments.length ? (a = e, S) : a;
704
+ }, S.layoutFunction = function(e) {
705
+ return arguments.length ? (b = e, S) : b;
706
+ }, S.normalize = function(e) {
707
+ return arguments.length ? (s = e, S) : s;
708
+ }, S.scaleToFit = function(e) {
709
+ return arguments.length ? (c = e, S) : c;
710
+ }, S.styled = function(e) {
711
+ return arguments.length ? (u = e, S) : u;
712
+ }, S.orientation = function(e) {
713
+ return arguments.length ? (o = e, S) : o;
714
+ }, S.orientationOrder = function(e) {
715
+ return arguments.length ? (f = e, S) : f;
716
+ }, S.lossFunction = function(e) {
717
+ return arguments.length ? (x = e === "default" ? B : e === "logRatio" ? ce : e, S) : x;
718
+ }, S;
719
+ }
720
+ function H(e, t) {
721
+ return function(n) {
722
+ let r = this, i = e[n.sets[0]].radius || 50, a = t(n) || "", o = a.split(/\s+/).reverse(), s = (a.length + o.length) / 3, c = o.pop(), l = [c], u = 0, d = 1.1;
723
+ r.textContent = null;
724
+ let f = [];
725
+ function p(e) {
726
+ let t = r.ownerDocument.createElementNS(r.namespaceURI, "tspan");
727
+ return t.textContent = e, f.push(t), r.append(t), t;
728
+ }
729
+ let m = p(c);
730
+ for (; c = o.pop(), c;) {
731
+ l.push(c);
732
+ let e = l.join(" ");
733
+ m.textContent = e, e.length > s && m.getComputedTextLength() > i && (l.pop(), m.textContent = l.join(" "), l = [c], m = p(c), u++);
734
+ }
735
+ let h = .35 - u * d / 2, g = r.getAttribute("x"), _ = r.getAttribute("y");
736
+ f.forEach((e, t) => {
737
+ e.setAttribute("x", g), e.setAttribute("y", _), e.setAttribute("dy", `${h + t * d}em`);
738
+ });
739
+ };
740
+ }
741
+ function U(e, t, n) {
742
+ let r = t[0].radius - T(t[0], e);
743
+ for (let n = 1; n < t.length; ++n) {
744
+ let i = t[n].radius - T(t[n], e);
745
+ i <= r && (r = i);
746
+ }
747
+ for (let t = 0; t < n.length; ++t) {
748
+ let i = T(n[t], e) - n[t].radius;
749
+ i <= r && (r = i);
750
+ }
751
+ return r;
752
+ }
753
+ function ge(e, t, n) {
754
+ let r = [];
755
+ for (let t of e) r.push({
756
+ x: t.x,
757
+ y: t.y
758
+ }), r.push({
759
+ x: t.x + t.radius / 2,
760
+ y: t.y
761
+ }), r.push({
762
+ x: t.x - t.radius / 2,
763
+ y: t.y
764
+ }), r.push({
765
+ x: t.x,
766
+ y: t.y + t.radius / 2
767
+ }), r.push({
768
+ x: t.x,
769
+ y: t.y - t.radius / 2
770
+ });
771
+ let i = r[0], a = U(r[0], e, t);
772
+ for (let n = 1; n < r.length; ++n) {
773
+ let o = U(r[n], e, t);
774
+ o >= a && (i = r[n], a = o);
775
+ }
776
+ let o = I((n) => -1 * U({
777
+ x: n[0],
778
+ y: n[1]
779
+ }, e, t), [i.x, i.y], {
780
+ maxIterations: 500,
781
+ minErrorDelta: 1e-10
782
+ }).x, s = {
783
+ x: n ? 0 : o[0],
784
+ y: o[1]
785
+ }, c = !0;
786
+ for (let t of e) if (T(s, t) > t.radius) {
787
+ c = !1;
788
+ break;
789
+ }
790
+ for (let e of t) if (T(s, e) < e.radius) {
791
+ c = !1;
792
+ break;
793
+ }
794
+ if (c) return s;
795
+ if (e.length == 1) return {
796
+ x: e[0].x,
797
+ y: e[0].y
798
+ };
799
+ let l = {};
800
+ return x(e, l), l.arcs.length === 0 ? {
801
+ x: 0,
802
+ y: -1e3,
803
+ disjoint: !0
804
+ } : l.arcs.length == 1 ? {
805
+ x: l.arcs[0].circle.x,
806
+ y: l.arcs[0].circle.y
807
+ } : t.length ? ge(e, []) : O(l.arcs.map((e) => e.p1));
808
+ }
809
+ function _e(e) {
810
+ let t = {}, n = Object.keys(e);
811
+ for (let e of n) t[e] = [];
812
+ for (let r = 0; r < n.length; r++) {
813
+ let i = n[r], a = e[i];
814
+ for (let o = r + 1; o < n.length; ++o) {
815
+ let r = n[o], s = e[r], c = T(a, s);
816
+ c + s.radius <= a.radius + 1e-10 ? t[r].push(i) : c + a.radius <= s.radius + 1e-10 && t[i].push(r);
817
+ }
818
+ }
819
+ return t;
820
+ }
821
+ function ve(e, t, n) {
822
+ let r = {}, i = _e(e);
823
+ for (let a = 0; a < t.length; ++a) {
824
+ let o = t[a].sets, s = {}, c = {};
825
+ for (let e = 0; e < o.length; ++e) {
826
+ s[o[e]] = !0;
827
+ let t = i[o[e]];
828
+ for (let e = 0; e < t.length; ++e) c[t[e]] = !0;
829
+ }
830
+ let l = [], u = [];
831
+ for (let t in e) t in s ? l.push(e[t]) : t in c || u.push(e[t]);
832
+ let d = ge(l, u, n);
833
+ r[o] = d, d.disjoint && t[a].size > 0 && console.log("WARNING: area " + o + " not represented on screen");
834
+ }
835
+ return r;
836
+ }
837
+ function ye(e, t, n) {
838
+ let r = [];
839
+ return r.push("\nM", e, t), r.push("\nm", -n, 0), r.push("\na", n, n, 0, 1, 0, n * 2, 0), r.push("\na", n, n, 0, 1, 0, -n * 2, 0), r.join(" ");
840
+ }
841
+ function be(e) {
842
+ let t = e.split(" ");
843
+ return {
844
+ x: Number.parseFloat(t[1]),
845
+ y: Number.parseFloat(t[2]),
846
+ radius: -Number.parseFloat(t[4])
847
+ };
848
+ }
849
+ function xe(e) {
850
+ if (e.length === 0) return [];
851
+ let t = {};
852
+ return x(e, t), t.arcs;
853
+ }
854
+ function Se(e, t) {
855
+ if (e.length === 0) return "M 0 0";
856
+ let n = 10 ** (t || 0), r = t == null ? (e) => e : (e) => Math.round(e * n) / n;
857
+ if (e.length == 1) {
858
+ let t = e[0].circle;
859
+ return ye(r(t.x), r(t.y), r(t.radius));
860
+ }
861
+ let i = [
862
+ "\nM",
863
+ r(e[0].p2.x),
864
+ r(e[0].p2.y)
865
+ ];
866
+ for (let t of e) {
867
+ let e = r(t.circle.radius);
868
+ i.push("\nA", e, e, 0, +!!t.large, +!!t.sweep, r(t.p1.x), r(t.p1.y));
869
+ }
870
+ return i.join(" ");
871
+ }
872
+ function Ce(e, t) {
873
+ return Se(xe(e), t);
874
+ }
875
+ function we(e, t = {}) {
876
+ let { lossFunction: n, layoutFunction: r = ee, normalize: i = !0, orientation: a = Math.PI / 2, orientationOrder: o, width: s = 600, height: c = 350, padding: l = 15, scaleToFit: u = !1, symmetricalTextCentre: d = !1, distinct: f, round: p = 2 } = t, m = r(e, {
877
+ lossFunction: n === "default" || !n ? B : n === "logRatio" ? ce : n,
878
+ distinct: f
879
+ });
880
+ i && (m = de(m, a, o));
881
+ let h = fe(m, s, c, l, u), g = ve(h, e, d), _ = new Map(Object.keys(h).map((e) => [e, {
882
+ set: e,
883
+ x: h[e].x,
884
+ y: h[e].y,
885
+ radius: h[e].radius
886
+ }])), v = e.map((e) => {
887
+ let t = e.sets.map((e) => _.get(e)), n = xe(t);
888
+ return {
889
+ circles: t,
890
+ arcs: n,
891
+ path: Se(n, p),
892
+ area: e,
893
+ has: new Set(e.sets)
894
+ };
895
+ });
896
+ function y(e) {
897
+ let t = "";
898
+ for (let n of v) n.has.size > e.length && e.every((e) => n.has.has(e)) && (t += " " + n.path);
899
+ return t;
900
+ }
901
+ return v.map(({ circles: e, arcs: t, path: n, area: r }) => ({
902
+ data: r,
903
+ text: g[r.sets],
904
+ circles: e,
905
+ arcs: t,
906
+ path: n,
907
+ distinctPath: n + y(r.sets)
908
+ }));
909
+ }
910
+ //#endregion
911
+ //#region ../node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-L72KCM5P.mjs
912
+ var W = (function() {
913
+ var t = /* @__PURE__ */ e(function(e, t, n, r) {
914
+ for (n ||= {}, r = e.length; r--; n[e[r]] = t);
915
+ return n;
916
+ }, "o"), n = [5, 8], r = [
917
+ 7,
918
+ 8,
919
+ 11,
920
+ 12,
921
+ 17,
922
+ 19,
923
+ 22,
924
+ 24
925
+ ], i = [1, 17], a = [1, 18], o = [
926
+ 7,
927
+ 8,
928
+ 11,
929
+ 12,
930
+ 14,
931
+ 15,
932
+ 16,
933
+ 17,
934
+ 19,
935
+ 20,
936
+ 21,
937
+ 22,
938
+ 24,
939
+ 27
940
+ ], s = [1, 31], c = [1, 39], l = [
941
+ 7,
942
+ 8,
943
+ 11,
944
+ 12,
945
+ 17,
946
+ 19,
947
+ 22,
948
+ 24,
949
+ 27
950
+ ], u = [1, 57], d = [1, 56], f = [1, 58], p = [1, 59], m = [1, 60], h = [
951
+ 7,
952
+ 8,
953
+ 11,
954
+ 12,
955
+ 16,
956
+ 17,
957
+ 19,
958
+ 20,
959
+ 22,
960
+ 24,
961
+ 27,
962
+ 31,
963
+ 32,
964
+ 33
965
+ ], g = {
966
+ trace: /* @__PURE__ */ e(function() {}, "trace"),
967
+ yy: {},
968
+ symbols_: {
969
+ error: 2,
970
+ start: 3,
971
+ optNewlines: 4,
972
+ VENN: 5,
973
+ document: 6,
974
+ EOF: 7,
975
+ NEWLINE: 8,
976
+ line: 9,
977
+ statement: 10,
978
+ TITLE: 11,
979
+ SET: 12,
980
+ identifier: 13,
981
+ BRACKET_LABEL: 14,
982
+ COLON: 15,
983
+ NUMERIC: 16,
984
+ UNION: 17,
985
+ identifierList: 18,
986
+ TEXT: 19,
987
+ IDENTIFIER: 20,
988
+ STRING: 21,
989
+ INDENT_TEXT: 22,
990
+ indentedTextTail: 23,
991
+ STYLE: 24,
992
+ stylesOpt: 25,
993
+ styleField: 26,
994
+ COMMA: 27,
995
+ styleValue: 28,
996
+ valueTokens: 29,
997
+ valueToken: 30,
998
+ HEXCOLOR: 31,
999
+ RGBCOLOR: 32,
1000
+ RGBACOLOR: 33,
1001
+ $accept: 0,
1002
+ $end: 1
1003
+ },
1004
+ terminals_: {
1005
+ 2: "error",
1006
+ 5: "VENN",
1007
+ 7: "EOF",
1008
+ 8: "NEWLINE",
1009
+ 11: "TITLE",
1010
+ 12: "SET",
1011
+ 14: "BRACKET_LABEL",
1012
+ 15: "COLON",
1013
+ 16: "NUMERIC",
1014
+ 17: "UNION",
1015
+ 19: "TEXT",
1016
+ 20: "IDENTIFIER",
1017
+ 21: "STRING",
1018
+ 22: "INDENT_TEXT",
1019
+ 24: "STYLE",
1020
+ 27: "COMMA",
1021
+ 31: "HEXCOLOR",
1022
+ 32: "RGBCOLOR",
1023
+ 33: "RGBACOLOR"
1024
+ },
1025
+ productions_: [
1026
+ 0,
1027
+ [3, 4],
1028
+ [4, 0],
1029
+ [4, 2],
1030
+ [6, 0],
1031
+ [6, 2],
1032
+ [9, 1],
1033
+ [9, 1],
1034
+ [10, 1],
1035
+ [10, 2],
1036
+ [10, 3],
1037
+ [10, 4],
1038
+ [10, 5],
1039
+ [10, 2],
1040
+ [10, 3],
1041
+ [10, 4],
1042
+ [10, 5],
1043
+ [10, 3],
1044
+ [10, 3],
1045
+ [10, 3],
1046
+ [10, 4],
1047
+ [10, 4],
1048
+ [10, 2],
1049
+ [10, 3],
1050
+ [23, 1],
1051
+ [23, 1],
1052
+ [23, 1],
1053
+ [23, 2],
1054
+ [23, 2],
1055
+ [25, 1],
1056
+ [25, 3],
1057
+ [26, 3],
1058
+ [28, 1],
1059
+ [28, 1],
1060
+ [29, 1],
1061
+ [29, 2],
1062
+ [30, 1],
1063
+ [30, 1],
1064
+ [30, 1],
1065
+ [30, 1],
1066
+ [30, 1],
1067
+ [18, 1],
1068
+ [18, 3],
1069
+ [13, 1],
1070
+ [13, 1]
1071
+ ],
1072
+ performAction: /* @__PURE__ */ e(function(e, t, n, r, i, a, o) {
1073
+ var s = a.length - 1;
1074
+ switch (i) {
1075
+ case 1: return a[s - 1];
1076
+ case 2:
1077
+ case 3:
1078
+ case 4:
1079
+ this.$ = [];
1080
+ break;
1081
+ case 5:
1082
+ a[s - 1].push(a[s]), this.$ = a[s - 1];
1083
+ break;
1084
+ case 6:
1085
+ this.$ = [];
1086
+ break;
1087
+ case 7:
1088
+ case 22:
1089
+ case 32:
1090
+ case 36:
1091
+ case 37:
1092
+ case 38:
1093
+ case 39:
1094
+ case 40:
1095
+ this.$ = a[s];
1096
+ break;
1097
+ case 8:
1098
+ r.setDiagramTitle(a[s].substr(6)), this.$ = a[s].substr(6);
1099
+ break;
1100
+ case 9:
1101
+ r.addSubsetData([a[s]], void 0, void 0), r.setIndentMode && r.setIndentMode(!0);
1102
+ break;
1103
+ case 10:
1104
+ r.addSubsetData([a[s - 1]], a[s], void 0), r.setIndentMode && r.setIndentMode(!0);
1105
+ break;
1106
+ case 11:
1107
+ r.addSubsetData([a[s - 2]], void 0, parseFloat(a[s])), r.setIndentMode && r.setIndentMode(!0);
1108
+ break;
1109
+ case 12:
1110
+ r.addSubsetData([a[s - 3]], a[s - 2], parseFloat(a[s])), r.setIndentMode && r.setIndentMode(!0);
1111
+ break;
1112
+ case 13:
1113
+ if (a[s].length < 2) throw Error("union requires multiple identifiers");
1114
+ r.validateUnionIdentifiers && r.validateUnionIdentifiers(a[s]), r.addSubsetData(a[s], void 0, void 0), r.setIndentMode && r.setIndentMode(!0);
1115
+ break;
1116
+ case 14:
1117
+ if (a[s - 1].length < 2) throw Error("union requires multiple identifiers");
1118
+ r.validateUnionIdentifiers && r.validateUnionIdentifiers(a[s - 1]), r.addSubsetData(a[s - 1], a[s], void 0), r.setIndentMode && r.setIndentMode(!0);
1119
+ break;
1120
+ case 15:
1121
+ if (a[s - 2].length < 2) throw Error("union requires multiple identifiers");
1122
+ r.validateUnionIdentifiers && r.validateUnionIdentifiers(a[s - 2]), r.addSubsetData(a[s - 2], void 0, parseFloat(a[s])), r.setIndentMode && r.setIndentMode(!0);
1123
+ break;
1124
+ case 16:
1125
+ if (a[s - 3].length < 2) throw Error("union requires multiple identifiers");
1126
+ r.validateUnionIdentifiers && r.validateUnionIdentifiers(a[s - 3]), r.addSubsetData(a[s - 3], a[s - 2], parseFloat(a[s])), r.setIndentMode && r.setIndentMode(!0);
1127
+ break;
1128
+ case 17:
1129
+ case 18:
1130
+ case 19:
1131
+ r.addTextData(a[s - 1], a[s], void 0);
1132
+ break;
1133
+ case 20:
1134
+ case 21:
1135
+ r.addTextData(a[s - 2], a[s - 1], a[s]);
1136
+ break;
1137
+ case 23:
1138
+ r.addStyleData(a[s - 1], a[s]);
1139
+ break;
1140
+ case 24:
1141
+ case 25:
1142
+ case 26:
1143
+ var c = r.getCurrentSets();
1144
+ if (!c) throw Error("text requires set");
1145
+ r.addTextData(c, a[s], void 0);
1146
+ break;
1147
+ case 27:
1148
+ case 28:
1149
+ var c = r.getCurrentSets();
1150
+ if (!c) throw Error("text requires set");
1151
+ r.addTextData(c, a[s - 1], a[s]);
1152
+ break;
1153
+ case 29:
1154
+ case 41:
1155
+ this.$ = [a[s]];
1156
+ break;
1157
+ case 30:
1158
+ case 42:
1159
+ this.$ = [...a[s - 2], a[s]];
1160
+ break;
1161
+ case 31:
1162
+ this.$ = [a[s - 2], a[s]];
1163
+ break;
1164
+ case 33:
1165
+ this.$ = a[s].join(" ");
1166
+ break;
1167
+ case 34:
1168
+ this.$ = [a[s]];
1169
+ break;
1170
+ case 35:
1171
+ a[s - 1].push(a[s]), this.$ = a[s - 1];
1172
+ break;
1173
+ case 43:
1174
+ case 44:
1175
+ this.$ = a[s];
1176
+ break;
1177
+ }
1178
+ }, "anonymous"),
1179
+ table: [
1180
+ t(n, [2, 2], {
1181
+ 3: 1,
1182
+ 4: 2
1183
+ }),
1184
+ { 1: [3] },
1185
+ {
1186
+ 5: [1, 3],
1187
+ 8: [1, 4]
1188
+ },
1189
+ t(r, [2, 4], { 6: 5 }),
1190
+ t(n, [2, 3]),
1191
+ {
1192
+ 7: [1, 6],
1193
+ 8: [1, 8],
1194
+ 9: 7,
1195
+ 10: 9,
1196
+ 11: [1, 10],
1197
+ 12: [1, 11],
1198
+ 17: [1, 12],
1199
+ 19: [1, 13],
1200
+ 22: [1, 14],
1201
+ 24: [1, 15]
1202
+ },
1203
+ { 1: [2, 1] },
1204
+ t(r, [2, 5]),
1205
+ t(r, [2, 6]),
1206
+ t(r, [2, 7]),
1207
+ t(r, [2, 8]),
1208
+ {
1209
+ 13: 16,
1210
+ 20: i,
1211
+ 21: a
1212
+ },
1213
+ {
1214
+ 13: 20,
1215
+ 18: 19,
1216
+ 20: i,
1217
+ 21: a
1218
+ },
1219
+ {
1220
+ 13: 20,
1221
+ 18: 21,
1222
+ 20: i,
1223
+ 21: a
1224
+ },
1225
+ {
1226
+ 16: [1, 25],
1227
+ 20: [1, 23],
1228
+ 21: [1, 24],
1229
+ 23: 22
1230
+ },
1231
+ {
1232
+ 13: 20,
1233
+ 18: 26,
1234
+ 20: i,
1235
+ 21: a
1236
+ },
1237
+ t(r, [2, 9], {
1238
+ 14: [1, 27],
1239
+ 15: [1, 28]
1240
+ }),
1241
+ t(o, [2, 43]),
1242
+ t(o, [2, 44]),
1243
+ t(r, [2, 13], {
1244
+ 14: [1, 29],
1245
+ 15: [1, 30],
1246
+ 27: s
1247
+ }),
1248
+ t(o, [2, 41]),
1249
+ {
1250
+ 16: [1, 34],
1251
+ 20: [1, 32],
1252
+ 21: [1, 33],
1253
+ 27: s
1254
+ },
1255
+ t(r, [2, 22]),
1256
+ t(r, [2, 24], { 14: [1, 35] }),
1257
+ t(r, [2, 25], { 14: [1, 36] }),
1258
+ t(r, [2, 26]),
1259
+ {
1260
+ 20: c,
1261
+ 25: 37,
1262
+ 26: 38,
1263
+ 27: s
1264
+ },
1265
+ t(r, [2, 10], { 15: [1, 40] }),
1266
+ { 16: [1, 41] },
1267
+ t(r, [2, 14], { 15: [1, 42] }),
1268
+ { 16: [1, 43] },
1269
+ {
1270
+ 13: 44,
1271
+ 20: i,
1272
+ 21: a
1273
+ },
1274
+ t(r, [2, 17], { 14: [1, 45] }),
1275
+ t(r, [2, 18], { 14: [1, 46] }),
1276
+ t(r, [2, 19]),
1277
+ t(r, [2, 27]),
1278
+ t(r, [2, 28]),
1279
+ t(r, [2, 23], { 27: [1, 47] }),
1280
+ t(l, [2, 29]),
1281
+ { 15: [1, 48] },
1282
+ { 16: [1, 49] },
1283
+ t(r, [2, 11]),
1284
+ { 16: [1, 50] },
1285
+ t(r, [2, 15]),
1286
+ t(o, [2, 42]),
1287
+ t(r, [2, 20]),
1288
+ t(r, [2, 21]),
1289
+ {
1290
+ 20: c,
1291
+ 26: 51
1292
+ },
1293
+ {
1294
+ 16: u,
1295
+ 20: d,
1296
+ 21: [1, 53],
1297
+ 28: 52,
1298
+ 29: 54,
1299
+ 30: 55,
1300
+ 31: f,
1301
+ 32: p,
1302
+ 33: m
1303
+ },
1304
+ t(r, [2, 12]),
1305
+ t(r, [2, 16]),
1306
+ t(l, [2, 30]),
1307
+ t(l, [2, 31]),
1308
+ t(l, [2, 32]),
1309
+ t(l, [2, 33], {
1310
+ 30: 61,
1311
+ 16: u,
1312
+ 20: d,
1313
+ 31: f,
1314
+ 32: p,
1315
+ 33: m
1316
+ }),
1317
+ t(h, [2, 34]),
1318
+ t(h, [2, 36]),
1319
+ t(h, [2, 37]),
1320
+ t(h, [2, 38]),
1321
+ t(h, [2, 39]),
1322
+ t(h, [2, 40]),
1323
+ t(h, [2, 35])
1324
+ ],
1325
+ defaultActions: { 6: [2, 1] },
1326
+ parseError: /* @__PURE__ */ e(function(e, t) {
1327
+ if (t.recoverable) this.trace(e);
1328
+ else {
1329
+ var n = Error(e);
1330
+ throw n.hash = t, n;
1331
+ }
1332
+ }, "parseError"),
1333
+ parse: /* @__PURE__ */ e(function(t) {
1334
+ var n = this, r = [0], i = [], 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: {} };
1335
+ for (var _ in this.yy) Object.prototype.hasOwnProperty.call(this.yy, _) && (g.yy[_] = this.yy[_]);
1336
+ h.setInput(t, g.yy), g.yy.lexer = h, g.yy.parser = this, h.yylloc === void 0 && (h.yylloc = {});
1337
+ var v = h.yylloc;
1338
+ o.push(v);
1339
+ var y = h.options && h.options.ranges;
1340
+ typeof g.yy.parseError == "function" ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
1341
+ function b(e) {
1342
+ r.length -= 2 * e, a.length -= e, o.length -= e;
1343
+ }
1344
+ e(b, "popStack");
1345
+ function x() {
1346
+ var e = i.pop() || h.lex() || p;
1347
+ return typeof e != "number" && (e instanceof Array && (i = e, e = i.pop()), e = n.symbols_[e] || e), e;
1348
+ }
1349
+ e(x, "lex");
1350
+ for (var S, C, w, T, E, D = {}, O, k, A, j;;) {
1351
+ if (w = r[r.length - 1], this.defaultActions[w] ? T = this.defaultActions[w] : (S ??= x(), T = s[w] && s[w][S]), T === void 0 || !T.length || !T[0]) {
1352
+ var M = "";
1353
+ for (O in j = [], s[w]) this.terminals_[O] && O > f && j.push("'" + this.terminals_[O] + "'");
1354
+ M = h.showPosition ? "Parse error on line " + (l + 1) + ":\n" + h.showPosition() + "\nExpecting " + j.join(", ") + ", got '" + (this.terminals_[S] || S) + "'" : "Parse error on line " + (l + 1) + ": Unexpected " + (S == p ? "end of input" : "'" + (this.terminals_[S] || S) + "'"), this.parseError(M, {
1355
+ text: h.match,
1356
+ token: this.terminals_[S] || S,
1357
+ line: h.yylineno,
1358
+ loc: v,
1359
+ expected: j
1360
+ });
1361
+ }
1362
+ if (T[0] instanceof Array && T.length > 1) throw Error("Parse Error: multiple actions possible at state: " + w + ", token: " + S);
1363
+ switch (T[0]) {
1364
+ case 1:
1365
+ r.push(S), a.push(h.yytext), o.push(h.yylloc), r.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--);
1366
+ break;
1367
+ case 2:
1368
+ if (k = this.productions_[T[1]][1], D.$ = a[a.length - k], D._$ = {
1369
+ first_line: o[o.length - (k || 1)].first_line,
1370
+ last_line: o[o.length - 1].last_line,
1371
+ first_column: o[o.length - (k || 1)].first_column,
1372
+ last_column: o[o.length - 1].last_column
1373
+ }, y && (D._$.range = [o[o.length - (k || 1)].range[0], o[o.length - 1].range[1]]), E = this.performAction.apply(D, [
1374
+ c,
1375
+ u,
1376
+ l,
1377
+ g.yy,
1378
+ T[1],
1379
+ a,
1380
+ o
1381
+ ].concat(m)), E !== void 0) return E;
1382
+ k && (r = r.slice(0, -1 * k * 2), a = a.slice(0, -1 * k), o = o.slice(0, -1 * k)), r.push(this.productions_[T[1]][0]), a.push(D.$), o.push(D._$), A = s[r[r.length - 2]][r[r.length - 1]], r.push(A);
1383
+ break;
1384
+ case 3: return !0;
1385
+ }
1386
+ }
1387
+ return !0;
1388
+ }, "parse")
1389
+ };
1390
+ g.lexer = /* @__PURE__ */ (function() {
1391
+ return {
1392
+ EOF: 1,
1393
+ parseError: /* @__PURE__ */ e(function(e, t) {
1394
+ if (this.yy.parser) this.yy.parser.parseError(e, t);
1395
+ else throw Error(e);
1396
+ }, "parseError"),
1397
+ setInput: /* @__PURE__ */ e(function(e, t) {
1398
+ 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 = {
1399
+ first_line: 1,
1400
+ first_column: 0,
1401
+ last_line: 1,
1402
+ last_column: 0
1403
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
1404
+ }, "setInput"),
1405
+ input: /* @__PURE__ */ e(function() {
1406
+ var e = this._input[0];
1407
+ 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;
1408
+ }, "input"),
1409
+ unput: /* @__PURE__ */ e(function(e) {
1410
+ var t = e.length, n = e.split(/(?:\r\n?|\n)/g);
1411
+ this._input = e + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - t), this.offset -= t;
1412
+ var r = this.match.split(/(?:\r\n?|\n)/g);
1413
+ 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);
1414
+ var i = this.yylloc.range;
1415
+ return this.yylloc = {
1416
+ first_line: this.yylloc.first_line,
1417
+ last_line: this.yylineno + 1,
1418
+ first_column: this.yylloc.first_column,
1419
+ 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
1420
+ }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - t]), this.yyleng = this.yytext.length, this;
1421
+ }, "unput"),
1422
+ more: /* @__PURE__ */ e(function() {
1423
+ return this._more = !0, this;
1424
+ }, "more"),
1425
+ reject: /* @__PURE__ */ e(function() {
1426
+ if (this.options.backtrack_lexer) this._backtrack = !0;
1427
+ 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).\n" + this.showPosition(), {
1428
+ text: "",
1429
+ token: null,
1430
+ line: this.yylineno
1431
+ });
1432
+ return this;
1433
+ }, "reject"),
1434
+ less: /* @__PURE__ */ e(function(e) {
1435
+ this.unput(this.match.slice(e));
1436
+ }, "less"),
1437
+ pastInput: /* @__PURE__ */ e(function() {
1438
+ var e = this.matched.substr(0, this.matched.length - this.match.length);
1439
+ return (e.length > 20 ? "..." : "") + e.substr(-20).replace(/\n/g, "");
1440
+ }, "pastInput"),
1441
+ upcomingInput: /* @__PURE__ */ e(function() {
1442
+ var e = this.match;
1443
+ return e.length < 20 && (e += this._input.substr(0, 20 - e.length)), (e.substr(0, 20) + (e.length > 20 ? "..." : "")).replace(/\n/g, "");
1444
+ }, "upcomingInput"),
1445
+ showPosition: /* @__PURE__ */ e(function() {
1446
+ var e = this.pastInput(), t = Array(e.length + 1).join("-");
1447
+ return e + this.upcomingInput() + "\n" + t + "^";
1448
+ }, "showPosition"),
1449
+ test_match: /* @__PURE__ */ e(function(e, t) {
1450
+ var n, r, i;
1451
+ if (this.options.backtrack_lexer && (i = {
1452
+ yylineno: this.yylineno,
1453
+ yylloc: {
1454
+ first_line: this.yylloc.first_line,
1455
+ last_line: this.last_line,
1456
+ first_column: this.yylloc.first_column,
1457
+ last_column: this.yylloc.last_column
1458
+ },
1459
+ yytext: this.yytext,
1460
+ match: this.match,
1461
+ matches: this.matches,
1462
+ matched: this.matched,
1463
+ yyleng: this.yyleng,
1464
+ offset: this.offset,
1465
+ _more: this._more,
1466
+ _input: this._input,
1467
+ yy: this.yy,
1468
+ conditionStack: this.conditionStack.slice(0),
1469
+ done: this.done
1470
+ }, 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 = {
1471
+ first_line: this.yylloc.last_line,
1472
+ last_line: this.yylineno + 1,
1473
+ first_column: this.yylloc.last_column,
1474
+ last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length
1475
+ }, 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;
1476
+ if (this._backtrack) {
1477
+ for (var a in i) this[a] = i[a];
1478
+ return !1;
1479
+ }
1480
+ return !1;
1481
+ }, "test_match"),
1482
+ next: /* @__PURE__ */ e(function() {
1483
+ if (this.done) return this.EOF;
1484
+ this._input || (this.done = !0);
1485
+ var e, t, n, r;
1486
+ this._more || (this.yytext = "", this.match = "");
1487
+ 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)) {
1488
+ if (t = n, r = a, this.options.backtrack_lexer) {
1489
+ if (e = this.test_match(n, i[a]), e !== !1) return e;
1490
+ if (this._backtrack) {
1491
+ t = !1;
1492
+ continue;
1493
+ } else return !1;
1494
+ } else if (!this.options.flex) break;
1495
+ }
1496
+ 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.\n" + this.showPosition(), {
1497
+ text: "",
1498
+ token: null,
1499
+ line: this.yylineno
1500
+ });
1501
+ }, "next"),
1502
+ lex: /* @__PURE__ */ e(function() {
1503
+ return this.next() || this.lex();
1504
+ }, "lex"),
1505
+ begin: /* @__PURE__ */ e(function(e) {
1506
+ this.conditionStack.push(e);
1507
+ }, "begin"),
1508
+ popState: /* @__PURE__ */ e(function() {
1509
+ return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0];
1510
+ }, "popState"),
1511
+ _currentRules: /* @__PURE__ */ e(function() {
1512
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
1513
+ }, "_currentRules"),
1514
+ topState: /* @__PURE__ */ e(function(e) {
1515
+ return e = this.conditionStack.length - 1 - Math.abs(e || 0), e >= 0 ? this.conditionStack[e] : "INITIAL";
1516
+ }, "topState"),
1517
+ pushState: /* @__PURE__ */ e(function(e) {
1518
+ this.begin(e);
1519
+ }, "pushState"),
1520
+ stateStackSize: /* @__PURE__ */ e(function() {
1521
+ return this.conditionStack.length;
1522
+ }, "stateStackSize"),
1523
+ options: { "case-insensitive": !0 },
1524
+ performAction: /* @__PURE__ */ e(function(e, t, n, r) {
1525
+ switch (n) {
1526
+ case 0: break;
1527
+ case 1: break;
1528
+ case 2: break;
1529
+ case 3:
1530
+ if (e.getIndentMode && e.getIndentMode()) return e.consumeIndentText = !0, this.begin("INITIAL"), 22;
1531
+ break;
1532
+ case 4: break;
1533
+ case 5:
1534
+ e.setIndentMode && e.setIndentMode(!1), this.begin("INITIAL"), this.unput(t.yytext);
1535
+ break;
1536
+ case 6: return this.begin("bol"), 8;
1537
+ case 7: break;
1538
+ case 8: break;
1539
+ case 9: return 7;
1540
+ case 10: return 11;
1541
+ case 11: return 5;
1542
+ case 12: return 12;
1543
+ case 13: return 17;
1544
+ case 14:
1545
+ if (e.consumeIndentText) e.consumeIndentText = !1;
1546
+ else return 19;
1547
+ break;
1548
+ case 15: return 24;
1549
+ case 16: return t.yytext = t.yytext.slice(2, -2), 14;
1550
+ case 17: return t.yytext = t.yytext.slice(1, -1).trim(), 14;
1551
+ case 18: return 16;
1552
+ case 19: return 31;
1553
+ case 20: return 33;
1554
+ case 21: return 32;
1555
+ case 22: return 20;
1556
+ case 23: return 21;
1557
+ case 24: return 27;
1558
+ case 25: return 15;
1559
+ }
1560
+ }, "anonymous"),
1561
+ rules: [
1562
+ /^(?:%%(?!\{)[^\n]*)/i,
1563
+ /^(?:[^\}]%%[^\n]*)/i,
1564
+ /^(?:[ \t]+(?=[\n\r]))/i,
1565
+ /^(?:[ \t]+(?=text\b))/i,
1566
+ /^(?:[ \t]+)/i,
1567
+ /^(?:[^ \t\n\r])/i,
1568
+ /^(?:[\n\r]+)/i,
1569
+ /^(?:%%[^\n]*)/i,
1570
+ /^(?:[ \t]+)/i,
1571
+ /^(?:$)/i,
1572
+ /^(?:title\s[^#\n;]+)/i,
1573
+ /^(?:venn-beta\b)/i,
1574
+ /^(?:set\b)/i,
1575
+ /^(?:union\b)/i,
1576
+ /^(?:text\b)/i,
1577
+ /^(?:style\b)/i,
1578
+ /^(?:\["[^\"]*"\])/i,
1579
+ /^(?:\[[^\]\"]+\])/i,
1580
+ /^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,
1581
+ /^(?:#[0-9a-fA-F]{3,8})/i,
1582
+ /^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,
1583
+ /^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,
1584
+ /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,
1585
+ /^(?:"[^\"]*")/i,
1586
+ /^(?:,)/i,
1587
+ /^(?::)/i
1588
+ ],
1589
+ conditions: {
1590
+ bol: {
1591
+ rules: [
1592
+ 0,
1593
+ 1,
1594
+ 2,
1595
+ 3,
1596
+ 4,
1597
+ 5,
1598
+ 6,
1599
+ 7,
1600
+ 8,
1601
+ 9,
1602
+ 10,
1603
+ 11,
1604
+ 12,
1605
+ 13,
1606
+ 14,
1607
+ 15,
1608
+ 16,
1609
+ 17,
1610
+ 18,
1611
+ 19,
1612
+ 20,
1613
+ 21,
1614
+ 22,
1615
+ 23,
1616
+ 24,
1617
+ 25
1618
+ ],
1619
+ inclusive: !0
1620
+ },
1621
+ INITIAL: {
1622
+ rules: [
1623
+ 0,
1624
+ 1,
1625
+ 6,
1626
+ 7,
1627
+ 8,
1628
+ 9,
1629
+ 10,
1630
+ 11,
1631
+ 12,
1632
+ 13,
1633
+ 14,
1634
+ 15,
1635
+ 16,
1636
+ 17,
1637
+ 18,
1638
+ 19,
1639
+ 20,
1640
+ 21,
1641
+ 22,
1642
+ 23,
1643
+ 24,
1644
+ 25
1645
+ ],
1646
+ inclusive: !0
1647
+ }
1648
+ }
1649
+ };
1650
+ })();
1651
+ function _() {
1652
+ this.yy = {};
1653
+ }
1654
+ return e(_, "Parser"), _.prototype = g, g.Parser = _, new _();
1655
+ })();
1656
+ W.parser = W;
1657
+ var Te = W, G = [], K = [], q = [], J = /* @__PURE__ */ new Set(), Y, X = !1, Ee = /* @__PURE__ */ e((e, t, n) => {
1658
+ let r = Q(e).sort(), i = n ?? 10 / e.length ** 2;
1659
+ Y = r, r.length === 1 && J.add(r[0]), G.push({
1660
+ sets: r,
1661
+ size: i,
1662
+ label: t ? Z(t) : void 0
1663
+ });
1664
+ }, "addSubsetData"), De = /* @__PURE__ */ e(() => G, "getSubsetData"), Z = /* @__PURE__ */ e((e) => {
1665
+ let t = e.trim();
1666
+ return t.length >= 2 && t.startsWith("\"") && t.endsWith("\"") ? t.slice(1, -1) : t;
1667
+ }, "normalizeText"), Oe = /* @__PURE__ */ e((e) => e && Z(e), "normalizeStyleValue"), ke = /* @__PURE__ */ e((e, t, n) => {
1668
+ let r = Z(t);
1669
+ K.push({
1670
+ sets: Q(e).sort(),
1671
+ id: r,
1672
+ label: n ? Z(n) : void 0
1673
+ });
1674
+ }, "addTextData"), Ae = /* @__PURE__ */ e((e, t) => {
1675
+ let n = Q(e).sort(), r = {};
1676
+ for (let [e, n] of t) r[e] = Oe(n) ?? n;
1677
+ q.push({
1678
+ targets: n,
1679
+ styles: r
1680
+ });
1681
+ }, "addStyleData"), je = /* @__PURE__ */ e(() => q, "getStyleData"), Q = /* @__PURE__ */ e((e) => e.map((e) => Z(e)), "normalizeIdentifierList"), Me = /* @__PURE__ */ e((e) => {
1682
+ let t = Q(e).filter((e) => !J.has(e));
1683
+ if (t.length > 0) throw Error(`unknown set identifier: ${t.join(", ")}`);
1684
+ }, "validateUnionIdentifiers"), Ne = /* @__PURE__ */ e(() => K, "getTextData"), Pe = /* @__PURE__ */ e(() => Y, "getCurrentSets"), Fe = /* @__PURE__ */ e(() => X, "getIndentMode"), Ie = /* @__PURE__ */ e((e) => {
1685
+ X = e;
1686
+ }, "setIndentMode"), Le = l.venn;
1687
+ function Re() {
1688
+ return g(Le, o().venn);
1689
+ }
1690
+ e(Re, "getConfig");
1691
+ var ze = {
1692
+ getConfig: Re,
1693
+ clear: /* @__PURE__ */ e(() => {
1694
+ a(), G.length = 0, K.length = 0, q.length = 0, J.clear(), Y = void 0, X = !1;
1695
+ }, "customClear"),
1696
+ setAccTitle: i,
1697
+ getAccTitle: h,
1698
+ setDiagramTitle: r,
1699
+ getDiagramTitle: m,
1700
+ getAccDescription: p,
1701
+ setAccDescription: n,
1702
+ addSubsetData: Ee,
1703
+ getSubsetData: De,
1704
+ addTextData: ke,
1705
+ addStyleData: Ae,
1706
+ validateUnionIdentifiers: Me,
1707
+ getTextData: Ne,
1708
+ getStyleData: je,
1709
+ getCurrentSets: Pe,
1710
+ getIndentMode: Fe,
1711
+ setIndentMode: Ie
1712
+ }, Be = /* @__PURE__ */ e((e) => `
1713
+ .venn-title {
1714
+ font-size: 32px;
1715
+ fill: ${e.vennTitleTextColor};
1716
+ font-family: ${e.fontFamily};
1717
+ }
1718
+
1719
+ .venn-circle text {
1720
+ font-size: 48px;
1721
+ font-family: ${e.fontFamily};
1722
+ }
1723
+
1724
+ .venn-intersection text {
1725
+ font-size: 48px;
1726
+ fill: ${e.vennSetTextColor};
1727
+ font-family: ${e.fontFamily};
1728
+ }
1729
+
1730
+ .venn-text-node {
1731
+ font-family: ${e.fontFamily};
1732
+ color: ${e.vennSetTextColor};
1733
+ }
1734
+ `, "getStyles");
1735
+ function Ve(e) {
1736
+ let t = /* @__PURE__ */ new Map();
1737
+ for (let n of e) {
1738
+ let e = n.targets.join("|"), r = t.get(e);
1739
+ r ? Object.assign(r, n.styles) : t.set(e, { ...n.styles });
1740
+ }
1741
+ return t;
1742
+ }
1743
+ e(Ve, "buildStyleByKey");
1744
+ var He = /* @__PURE__ */ e((e, n, r, i) => {
1745
+ let a = i.db, l = a.getConfig?.(), { themeVariables: u, look: p, handDrawnSeed: m } = o(), h = p === "handDrawn", g = [
1746
+ u.venn1,
1747
+ u.venn2,
1748
+ u.venn3,
1749
+ u.venn4,
1750
+ u.venn5,
1751
+ u.venn6,
1752
+ u.venn7,
1753
+ u.venn8
1754
+ ].filter(Boolean), b = a.getDiagramTitle?.(), x = a.getSubsetData(), S = a.getTextData(), C = Ve(a.getStyleData()), w = We(x), T = l?.width ?? 800, E = l?.height ?? 450, D = T / 1600, O = b ? 48 * D : 0, k = u.primaryTextColor ?? u.textColor, A = _(n);
1755
+ A.attr("viewBox", `0 0 ${T} ${E}`), b && A.append("text").text(b).attr("class", "venn-title").attr("font-size", `${32 * D}px`).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("x", "50%").attr("y", 32 * D).style("fill", u.vennTitleTextColor || u.titleColor);
1756
+ let j = t(document.createElement("div")), M = he().width(T).height(E - O);
1757
+ j.datum(w).call(M);
1758
+ let N = h ? v.svg(j.select("svg").node()) : void 0, P = we(w, {
1759
+ width: T,
1760
+ height: E - O,
1761
+ padding: l?.padding ?? 15
1762
+ }), F = /* @__PURE__ */ new Map();
1763
+ for (let e of P) {
1764
+ let t = $([...e.data.sets].sort());
1765
+ F.set(t, e);
1766
+ }
1767
+ S.length > 0 && Ue(l, F, j, S, D, C);
1768
+ let I = d(u.background || "#f4f4f4");
1769
+ j.selectAll(".venn-circle").each(function(e, n) {
1770
+ let r = t(this), i = $([...e.sets].sort()), a = C.get(i), o = a?.fill || g[n % g.length] || u.primaryColor;
1771
+ r.classed(`venn-set-${n % 8}`, !0);
1772
+ let s = a?.["fill-opacity"] ?? .1, l = a?.stroke || o, d = a?.["stroke-width"] || `${5 * D}`;
1773
+ if (h && N) {
1774
+ let e = F.get(i);
1775
+ if (e && e.circles.length > 0) {
1776
+ let t = e.circles[0], i = N.circle(t.x, t.y, t.radius * 2, {
1777
+ roughness: .7,
1778
+ seed: m,
1779
+ fill: y(o, .7),
1780
+ fillStyle: "hachure",
1781
+ fillWeight: 2,
1782
+ hachureGap: 8,
1783
+ hachureAngle: -41 + n * 60,
1784
+ stroke: l,
1785
+ strokeWidth: parseFloat(String(d))
1786
+ });
1787
+ r.select("path").remove(), r.node()?.insertBefore(i, r.select("text").node());
1788
+ }
1789
+ } else r.select("path").style("fill", o).style("fill-opacity", s).style("stroke", l).style("stroke-width", d).style("stroke-opacity", .95);
1790
+ let p = a?.color || (I ? f(o, 30) : c(o, 30));
1791
+ r.select("text").style("font-size", `${48 * D}px`).style("fill", p);
1792
+ }), h && N ? j.selectAll(".venn-intersection").each(function(e) {
1793
+ let n = t(this), r = $([...e.sets].sort()), i = C.get(r), a = i?.fill;
1794
+ if (a) {
1795
+ let e = n.select("path"), t = e.attr("d");
1796
+ if (t) {
1797
+ let n = N.path(t, {
1798
+ roughness: .7,
1799
+ seed: m,
1800
+ fill: y(a, .3),
1801
+ fillStyle: "cross-hatch",
1802
+ fillWeight: 2,
1803
+ hachureGap: 6,
1804
+ hachureAngle: 60,
1805
+ stroke: "none"
1806
+ }), r = e.node();
1807
+ r?.parentNode?.insertBefore(n, r), e.remove();
1808
+ }
1809
+ } else n.select("path").style("fill-opacity", 0);
1810
+ n.select("text").style("font-size", `${48 * D}px`).style("fill", i?.color ?? u.vennSetTextColor ?? k);
1811
+ }) : (j.selectAll(".venn-intersection text").style("font-size", `${48 * D}px`).style("fill", (e) => {
1812
+ let t = $([...e.sets].sort());
1813
+ return C.get(t)?.color ?? u.vennSetTextColor ?? k;
1814
+ }), j.selectAll(".venn-intersection path").style("fill-opacity", (e) => {
1815
+ let t = $([...e.sets].sort());
1816
+ return +!!C.get(t)?.fill;
1817
+ }).style("fill", (e) => {
1818
+ let t = $([...e.sets].sort());
1819
+ return C.get(t)?.fill ?? "transparent";
1820
+ }));
1821
+ let L = A.append("g").attr("transform", `translate(0, ${O})`), R = j.select("svg").node();
1822
+ if (R && "childNodes" in R) for (let e of [...R.childNodes]) L.node()?.appendChild(e);
1823
+ s(A, E, T, l?.useMaxWidth ?? !0);
1824
+ }, "draw");
1825
+ function $(e) {
1826
+ return e.join("|");
1827
+ }
1828
+ e($, "stableSetsKey");
1829
+ function Ue(e, t, n, r, i, a) {
1830
+ let o = e?.useDebugLayout ?? !1, s = n.select("svg").append("g").attr("class", "venn-text-nodes"), c = /* @__PURE__ */ new Map();
1831
+ for (let e of r) {
1832
+ let t = $(e.sets), n = c.get(t);
1833
+ n ? n.push(e) : c.set(t, [e]);
1834
+ }
1835
+ for (let [e, n] of c.entries()) {
1836
+ let r = t.get(e);
1837
+ if (!r?.text) continue;
1838
+ let c = r.text.x, l = r.text.y, u = Math.min(...r.circles.map((e) => e.radius)), d = Math.min(...r.circles.map((e) => e.radius - Math.hypot(c - e.x, l - e.y))), f = Number.isFinite(d) ? Math.max(0, d) : 0;
1839
+ f === 0 && Number.isFinite(u) && (f = u * .6);
1840
+ let p = s.append("g").attr("class", "venn-text-area").attr("font-size", `${40 * i}px`);
1841
+ o && p.append("circle").attr("class", "venn-text-debug-circle").attr("cx", c).attr("cy", l).attr("r", f).attr("fill", "none").attr("stroke", "purple").attr("stroke-width", 1.5 * i).attr("stroke-dasharray", `${6 * i} ${4 * i}`);
1842
+ let m = Math.max(80 * i, f * 2 * .95), h = Math.max(60 * i, f * 2 * .95), g = (r.data.label && r.data.label.length > 0 ? Math.min(32 * i, f * .25) : 0) + (n.length <= 2 ? 30 * i : 0), _ = c - m / 2, v = l - h / 2 + g, y = Math.max(1, Math.ceil(Math.sqrt(n.length))), b = Math.max(1, Math.ceil(n.length / y)), x = m / y, S = h / b;
1843
+ for (let [e, t] of n.entries()) {
1844
+ let n = e % y, r = Math.floor(e / y), s = _ + x * (n + .5), c = v + S * (r + .5);
1845
+ o && p.append("rect").attr("class", "venn-text-debug-cell").attr("x", _ + x * n).attr("y", v + S * r).attr("width", x).attr("height", S).attr("fill", "none").attr("stroke", "teal").attr("stroke-width", 1 * i).attr("stroke-dasharray", `${4 * i} ${3 * i}`);
1846
+ let l = x * .9, u = S * .9, d = p.append("foreignObject").attr("class", "venn-text-node-fo").attr("width", l).attr("height", u).attr("x", s - l / 2).attr("y", c - u / 2).attr("overflow", "visible"), f = a.get(t.id)?.color, m = d.append("xhtml:span").attr("class", "venn-text-node").style("display", "flex").style("width", "100%").style("height", "100%").style("white-space", "normal").style("align-items", "center").style("justify-content", "center").style("text-align", "center").style("overflow-wrap", "normal").style("word-break", "normal").text(t.label ?? t.id);
1847
+ f && m.style("color", f);
1848
+ }
1849
+ }
1850
+ }
1851
+ e(Ue, "renderTextNodes");
1852
+ function We(e) {
1853
+ let t = new Set(e.map((e) => [...e.sets].sort().join("|"))), n = new Map(e.filter((e) => e.sets.length === 1 && e.size !== void 0).map((e) => [e.sets[0], e.size])), r = [];
1854
+ for (let i of e) {
1855
+ if (i.sets.length < 3) continue;
1856
+ let e = [...i.sets].sort();
1857
+ for (let i = 0; i < e.length - 1; i++) for (let a = i + 1; a < e.length; a++) {
1858
+ let o = [e[i], e[a]], s = o.join("|");
1859
+ if (!t.has(s)) {
1860
+ t.add(s);
1861
+ let e = n.get(o[0]), i = n.get(o[1]), a = e !== void 0 && i !== void 0 ? Math.min(e, i) / 4 : 2.5;
1862
+ r.push({
1863
+ sets: o,
1864
+ size: a,
1865
+ label: ""
1866
+ });
1867
+ }
1868
+ }
1869
+ }
1870
+ return r.length > 0 ? [...e, ...r] : e;
1871
+ }
1872
+ e(We, "ensurePairwiseSubsets");
1873
+ var Ge = {
1874
+ parser: Te,
1875
+ db: ze,
1876
+ renderer: { draw: He },
1877
+ styles: Be
1878
+ };
1879
+ //#endregion
1880
+ export { Ge as diagram };