@kong-ui-public/documentation 1.7.40-pr.3869.e876c8c8a.0 → 1.7.40

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 (159) hide show
  1. package/dist/arc-DZdQjcG8-CduayE88.js +79 -0
  2. package/dist/architectureDiagram-3BPJPVTR-By_DXDyu-U3MSLbOU.js +4065 -0
  3. package/dist/astro-D8QEIUE9-nzvtSwAQ.js +18 -0
  4. package/dist/blockDiagram-GPEHLZMM-9Cp9Hbl7-CKP-SiVG.js +3268 -0
  5. package/dist/c-GOwUpV7U-DMPKLUI8.js +4 -0
  6. package/dist/c4Diagram-AAUBKEIU-ftdwlfdB-D3A61SdV.js +3035 -0
  7. package/dist/catppuccin-latte-BcV8jije-D8pvGdu1.js +4 -0
  8. package/dist/channel-DM9j7IFL-DxqBUxfY.js +5 -0
  9. package/dist/chunk-2J33WTMH-CBbjVzWb-0og4LHQ-.js +24 -0
  10. package/dist/chunk-4BX2VUAB-C_NnimAy--QQ0Db2V.js +8 -0
  11. package/dist/chunk-55IACEB6-DZn1aNO0-A3zOZ7dT.js +8 -0
  12. package/dist/chunk-727SXJPM-B2_6_WLv-Bs3CxHaX.js +3445 -0
  13. package/dist/chunk-AQP2D5EJ-DEAEiJjW-DTbwZT8N.js +2096 -0
  14. package/dist/chunk-FMBD7UC4-D_tZ4Dxg-DwjoPGUH.js +19 -0
  15. package/dist/chunk-ND2GUHAM-Duw3k8MU-HmrdHLJ9.js +65 -0
  16. package/dist/chunk-QZHKN3VN-DN6nBdn0-BvQOETVz.js +12 -0
  17. package/dist/classDiagram-4FO5ZUOK-Du5qFrfN-BqXc0etQ.js +17 -0
  18. package/dist/classDiagram-v2-Q7XG4LA2-DM6zutfc-BqXc0etQ.js +17 -0
  19. package/dist/cose-bilkent-S5V4N54A-0ZumbVgj-0z7CQbIH.js +2260 -0
  20. package/dist/csharp-Cy04UeDC-OaGPefhL.js +4 -0
  21. package/dist/css-CJQ-rcMF-B_2PRTA_.js +4 -0
  22. package/dist/csv-Bx_Umlp--BPWcOTV4.js +4 -0
  23. package/dist/cytoscape.esm-BDIiOYYO-C1jMBhD8.js +18220 -0
  24. package/dist/dagre-BM42HDAG-qMWMsyLb-DGMrq3i3.js +288 -0
  25. package/dist/dagre-DJxg_nfI-hVOVexz-.js +1687 -0
  26. package/dist/defaultLocale-mtMQ0U8A-D6jPixjH.js +182 -0
  27. package/dist/diagram-2AECGRRQ-B2gF_dHe-Bv_EpxRz.js +210 -0
  28. package/dist/diagram-5GNKFQAL-DJ9WwRrD-WVvm0Icu.js +99 -0
  29. package/dist/diagram-KO2AKTUF-RfkqD-VW-yyAds1Qq.js +439 -0
  30. package/dist/diagram-LMA3HP47-Ct7s9hIt-Dy6f9BAO.js +127 -0
  31. package/dist/diagram-OG6HWLK6-BSYJ2CoI-ckmfat-L.js +475 -0
  32. package/dist/diff-DZRtXnMG-DenOJuyV.js +4 -0
  33. package/dist/docker-DQBBDNmU-xX8PDoIv.js +4 -0
  34. package/dist/documentation.es.js +7 -0
  35. package/dist/documentation.umd.js +3474 -0
  36. package/dist/erDiagram-TEJ5UH35-BudwiSYX-bVzp1Kjr.js +1773 -0
  37. package/dist/flowDiagram-I6XJVG4X-B23Smlxp-ClHvdCdJ.js +4258 -0
  38. package/dist/ganttDiagram-6RSMTGT7-C-i89z_P-t5UAyRM5.js +3099 -0
  39. package/dist/git-commit-BOgnKaZ8-Csu8eMzs.js +5 -0
  40. package/dist/git-rebase-0v-YFIjP-D701iWbX.js +5 -0
  41. package/dist/gitGraphDiagram-PVQCEYII-DpVfXnUD-Cg3smOdz.js +734 -0
  42. package/dist/go-DpaXbCNA-DqSXHrGo.js +4 -0
  43. package/dist/graphlib-D2YdGpuK-CnQPmzkS.js +1071 -0
  44. package/dist/graphql-BSO8hVnT-C6Okg5tI.js +14 -0
  45. package/dist/haml-DizLz-gS-BWwS-eha.js +10 -0
  46. package/dist/handlebars-tnt1-4s--xVtJSIx5.js +14 -0
  47. package/dist/haskell-BDLr0yXS-BlmVjKNy.js +4 -0
  48. package/dist/html-DdIT5Pi9-C35UyBqr.js +10 -0
  49. package/dist/html-derivative-BHAKSQcK-BChKhjnv.js +5 -0
  50. package/dist/http-DRk-iX-V-DQ76ihB0.js +14 -0
  51. package/dist/index-DfVKdDwj.js +40029 -0
  52. package/dist/infoDiagram-5YYISTIA-CDUwzFql-Bmthmcp4.js +18 -0
  53. package/dist/ini-D-uG5DCC-70PBzbbb.js +4 -0
  54. package/dist/init-8lPFe2y8-B2MlpiqM.js +16 -0
  55. package/dist/ishikawaDiagram-YF4QCWOH-MfYdx0rK-cbltssua.js +728 -0
  56. package/dist/java-CQQr73XR-D6YBp1XX.js +4 -0
  57. package/dist/javascript-CXmFGv-C-BRPKgr3C.js +4 -0
  58. package/dist/journeyDiagram-JHISSGLW-C_udOPtJ-BjAvgSAR.js +908 -0
  59. package/dist/json-BXFRNzj8-D8uacQj0.js +4 -0
  60. package/dist/json5-B5-J7v9w-Biib5ALh.js +4 -0
  61. package/dist/jsonc-CeA7x8NU-BZEKkMok.js +4 -0
  62. package/dist/jsonl-BBlxch9W-BG2V-IA2.js +4 -0
  63. package/dist/jsx-DucQCby8-Cl0AMtmu.js +4 -0
  64. package/dist/kanban-definition-UN3LZRKU-C1Su-UOY-DZ93dsWZ.js +1028 -0
  65. package/dist/katex-D7tFlpqA-BOSQxXe1.js +22315 -0
  66. package/dist/kotlin-CDXyBjvc-Dy_91eL4.js +4 -0
  67. package/dist/latex-COX74REd-l1quglTx.js +5 -0
  68. package/dist/less-QqooI0UQ-tcNg8M2_.js +4 -0
  69. package/dist/linear-1MXhYum8-9C1jno9G.js +255 -0
  70. package/dist/liquid-CsynDTV--Bdhb3gsJ.js +14 -0
  71. package/dist/lua-B3xrKnOz-Coo0MCwO.js +5 -0
  72. package/dist/make-eFBmESRY-CrUl7LOH.js +4 -0
  73. package/dist/markdown-DkQv9NwM-Bcqt-5kX.js +4 -0
  74. package/dist/material-theme-darker-Bp7Jj852-DMHCIvq5.js +4 -0
  75. package/dist/mdc-BK-Z5Xv--aFc-Oyv5.js +12 -0
  76. package/dist/mdx-CjbEMaEg-CK6jOqmu.js +4 -0
  77. package/dist/mermaid-Ccfpee4A-BgbNnQO5.js +4 -0
  78. package/dist/mindmap-definition-RKZ34NQL-MuSV765K-Kub1iXFv.js +1026 -0
  79. package/dist/nginx-DQrs__jO-BS9Jcr4V.js +5 -0
  80. package/dist/objective-c-CXg1TPY9-C809HPrX.js +4 -0
  81. package/dist/ordinal-D9ksOc8y-2hZwLyEk.js +63 -0
  82. package/dist/pascal-C6L9Tn1x-a8whuidZ.js +4 -0
  83. package/dist/perl-Dbi-SlHs-DsZjIGqU.js +16 -0
  84. package/dist/php-J5w8HAya-DnRg4f-g.js +18 -0
  85. package/dist/pieDiagram-4H26LBE5-TgFp7J6_-i6NxP3Xz.js +153 -0
  86. package/dist/plsql-Ba_yrVwL-BJoF2Vrf.js +4 -0
  87. package/dist/postcss-Bsoc__IZ-DaHMm3XW.js +4 -0
  88. package/dist/powershell-CKvM5hOe-Box9VSDW.js +4 -0
  89. package/dist/proto-iweZN-Ks-w0B_itsp.js +4 -0
  90. package/dist/pug-DUPsoXbW-BFHDRSax.js +12 -0
  91. package/dist/python-MxhgNM12-D_5pfY__.js +4 -0
  92. package/dist/quadrantDiagram-W4KKPZXB-DKPne3o_-DXLHqRuR.js +2046 -0
  93. package/dist/r-CoGPXt5G-BrbXTU3W.js +4 -0
  94. package/dist/reg-CHAl2UuA-bHAwx9Pm.js +4 -0
  95. package/dist/requirementDiagram-4Y6WPE33-vh8uUAp_-CHtsISxP.js +2281 -0
  96. package/dist/rst-D-Zcnz0t-C3PGnqgH.js +20 -0
  97. package/dist/ruby-CQp7mk0v-B3KpG-9E.js +46 -0
  98. package/dist/rust-W9HETclW-CaZtBt24.js +4 -0
  99. package/dist/sankeyDiagram-5OEKKPKP-Cgs6W_El-D7GZyd8n.js +946 -0
  100. package/dist/sass-DzGfEb5u-pslLeRRb.js +4 -0
  101. package/dist/scss-cWHTb1-d-DN6jMR75.js +5 -0
  102. package/dist/sequenceDiagram-3UESZ5HK-C5F57Dkt-BW1Hb7UW.js +4266 -0
  103. package/dist/shellscript-BvJBBLP1-BtH46UX7.js +4 -0
  104. package/dist/shellsession-CXHk-hsk-D-2JR5oU.js +5 -0
  105. package/dist/splunk-TtOhH_8h-BP8P7eWt.js +4 -0
  106. package/dist/sql-B-h_q34g-uWwuAxg_.js +4 -0
  107. package/dist/ssh-config-B7jk1vQp-BB1rrGb9.js +4 -0
  108. package/dist/stateDiagram-AJRCARHV-09dUKG6Y-Dm2a1vNu.js +210 -0
  109. package/dist/stateDiagram-v2-BHNVJYJU-CWqmRt12-DbWzZ-j-.js +16 -0
  110. package/dist/style.css +1 -0
  111. package/dist/stylus-Ccd_7r3J-DAu5PNZ9.js +4 -0
  112. package/dist/svelte-CYqtuUsn-Cf97VB5J.js +14 -0
  113. package/dist/swift-CzsQqA0L-BPF2ddNF.js +4 -0
  114. package/dist/timeline-definition-PNZ67QCA-CCndyx0V-B5CT96H-.js +1095 -0
  115. package/dist/toml-CRTROHRr-DjT9Bjqu.js +4 -0
  116. package/dist/tsx-CE8dfKwK-B-5hSr15.js +4 -0
  117. package/dist/twig-Bst4uh7S-C3aA9tng.js +18 -0
  118. package/dist/types/components/DiscardChangesPrompt.vue.d.ts +35 -0
  119. package/dist/types/components/DiscardChangesPrompt.vue.d.ts.map +1 -0
  120. package/dist/types/components/DocumentationContent.vue.d.ts +186 -0
  121. package/dist/types/components/DocumentationContent.vue.d.ts.map +1 -0
  122. package/dist/types/components/DocumentationDisplay.vue.d.ts +105 -0
  123. package/dist/types/components/DocumentationDisplay.vue.d.ts.map +1 -0
  124. package/dist/types/components/DocumentationPageEmptyState.vue.d.ts +31 -0
  125. package/dist/types/components/DocumentationPageEmptyState.vue.d.ts.map +1 -0
  126. package/dist/types/components/ProductDocumentModal.vue.d.ts +72 -0
  127. package/dist/types/components/ProductDocumentModal.vue.d.ts.map +1 -0
  128. package/dist/types/composables/index.d.ts +6 -0
  129. package/dist/types/composables/index.d.ts.map +1 -0
  130. package/dist/types/composables/useI18n.d.ts +9 -0
  131. package/dist/types/composables/useI18n.d.ts.map +1 -0
  132. package/dist/types/external-links.d.ts +5 -0
  133. package/dist/types/external-links.d.ts.map +1 -0
  134. package/dist/types/helpers.d.ts +8 -0
  135. package/dist/types/helpers.d.ts.map +1 -0
  136. package/dist/types/index.d.ts +7 -0
  137. package/dist/types/index.d.ts.map +1 -0
  138. package/dist/types/types/document-list.d.ts +28 -0
  139. package/dist/types/types/document-list.d.ts.map +1 -0
  140. package/dist/types/types/document-modal.d.ts +8 -0
  141. package/dist/types/types/document-modal.d.ts.map +1 -0
  142. package/dist/types/types/index.d.ts +3 -0
  143. package/dist/types/types/index.d.ts.map +1 -0
  144. package/dist/typescript-8ogSSNer-B0ag8pir.js +4 -0
  145. package/dist/v-NeSnRB8V-CYSa2rJN.js +4 -0
  146. package/dist/vb-Dz72yc4q-B6FpM2Kc.js +4 -0
  147. package/dist/vennDiagram-CIIHVFJN-DQfKxM3L-qUaKEl7l.js +1889 -0
  148. package/dist/viml-DB1flIhL-BeYQ8dZh.js +4 -0
  149. package/dist/vue-Bq4JA_WT-CGBUDahs.js +22 -0
  150. package/dist/vue-html-BygQzR-9-BPez-Otx.js +5 -0
  151. package/dist/wardley-L42UT6IY-BjAkE_cs-C-giFqos.js +20731 -0
  152. package/dist/wardleyDiagram-YWT4CUSO-Bf9L2NsL-DXPF2Ee9.js +639 -0
  153. package/dist/wasm-BmZuu1vu-CfuK9YWP.js +4 -0
  154. package/dist/wgsl-D-vNyw6e-C2IZ7ENh.js +4 -0
  155. package/dist/xml-juAhGoTG-khG3jjDl.js +5 -0
  156. package/dist/xsl-CHgyQG2O-CiMa9sUf.js +5 -0
  157. package/dist/xychartDiagram-2RQKCTM6-ChNH3q1U-a59DsJDA.js +2055 -0
  158. package/dist/yaml-BK_xXVzk-X78l_Ibz.js +4 -0
  159. package/package.json +2 -2
@@ -0,0 +1,1889 @@
1
+ import { G as Gt, K as Wt, i as Vt, f as Kt, W as Xt, U as Ht, p as w, o as wt, a0 as Yt, q as it, ba as Zt, ar as Jt, as as Qt, at as te, A as ee, H as ne, s as se, bb as ie, F as re } from "./index-DfVKdDwj.js";
2
+ var It = (t, n) => ie(t, "a", -n), Et = 1e-10;
3
+ function nt(t, n) {
4
+ let s = ae(t), e = s.filter((h) => le(h, t)), i = 0, r = 0, o = [];
5
+ if (e.length > 1) {
6
+ let h = zt(e);
7
+ for (let a = 0; a < e.length; ++a) {
8
+ let u = e[a];
9
+ u.angle = Math.atan2(u.x - h.x, u.y - h.y);
10
+ }
11
+ e.sort((a, u) => u.angle - a.angle);
12
+ let c = e[e.length - 1];
13
+ for (let a = 0; a < e.length; ++a) {
14
+ let u = e[a];
15
+ r += (c.x + u.x) * (u.y - c.y);
16
+ let g = {
17
+ x: (u.x + c.x) / 2,
18
+ y: (u.y + c.y) / 2
19
+ }, f = null;
20
+ for (let m = 0; m < u.parentIndex.length; ++m) if (c.parentIndex.includes(u.parentIndex[m])) {
21
+ let y = t[u.parentIndex[m]], _ = Math.atan2(u.x - y.x, u.y - y.y), E = Math.atan2(c.x - y.x, c.y - y.y), d = E - _;
22
+ d < 0 && (d += 2 * Math.PI);
23
+ let v = E - d / 2, b = q(g, {
24
+ x: y.x + y.radius * Math.sin(v),
25
+ y: y.y + y.radius * Math.cos(v)
26
+ });
27
+ b > y.radius * 2 && (b = y.radius * 2), (f == null || f.width > b) && (f = {
28
+ circle: y,
29
+ width: b,
30
+ p1: u,
31
+ p2: c,
32
+ large: b > y.radius,
33
+ sweep: !0
34
+ });
35
+ }
36
+ f != null && (o.push(f), i += at(f.circle.radius, f.width), c = u);
37
+ }
38
+ } else {
39
+ let h = t[0];
40
+ for (let a = 1; a < t.length; ++a) t[a].radius < h.radius && (h = t[a]);
41
+ let c = !1;
42
+ for (let a = 0; a < t.length; ++a) if (q(t[a], h) > Math.abs(h.radius - t[a].radius)) {
43
+ c = !0;
44
+ break;
45
+ }
46
+ c ? i = r = 0 : (i = h.radius * h.radius * Math.PI, o.push({
47
+ circle: h,
48
+ p1: {
49
+ x: h.x,
50
+ y: h.y + h.radius
51
+ },
52
+ p2: {
53
+ x: h.x - Et,
54
+ y: h.y + h.radius
55
+ },
56
+ width: h.radius * 2,
57
+ large: !0,
58
+ sweep: !0
59
+ }));
60
+ }
61
+ return r /= 2, n && (n.area = i + r, n.arcArea = i, n.polygonArea = r, n.arcs = o, n.innerPoints = e, n.intersectionPoints = s), i + r;
62
+ }
63
+ function le(t, n) {
64
+ return n.every((s) => q(t, s) < s.radius + Et);
65
+ }
66
+ function ae(t) {
67
+ let n = [];
68
+ for (let s = 0; s < t.length; ++s) for (let e = s + 1; e < t.length; ++e) {
69
+ let i = St(t[s], t[e]);
70
+ for (let r of i) r.parentIndex = [s, e], n.push(r);
71
+ }
72
+ return n;
73
+ }
74
+ function at(t, n) {
75
+ return t * t * Math.acos(1 - n / t) - (t - n) * Math.sqrt(n * (2 * t - n));
76
+ }
77
+ function q(t, n) {
78
+ return Math.sqrt((t.x - n.x) * (t.x - n.x) + (t.y - n.y) * (t.y - n.y));
79
+ }
80
+ function yt(t, n, s) {
81
+ if (s >= t + n) return 0;
82
+ if (s <= Math.abs(t - n)) return Math.PI * Math.min(t, n) * Math.min(t, n);
83
+ let e = t - (s * s - n * n + t * t) / (2 * s), i = n - (s * s - t * t + n * n) / (2 * s);
84
+ return at(t, e) + at(n, i);
85
+ }
86
+ function St(t, n) {
87
+ let s = q(t, n), e = t.radius, i = n.radius;
88
+ if (s >= e + i || s <= Math.abs(e - i)) return [];
89
+ let r = (e * e - i * i + s * s) / (2 * s), o = Math.sqrt(e * e - r * r), h = t.x + r * (n.x - t.x) / s, c = t.y + r * (n.y - t.y) / s, a = -(n.y - t.y) * (o / s), u = -(n.x - t.x) * (o / s);
90
+ return [{
91
+ x: h + a,
92
+ y: c - u
93
+ }, {
94
+ x: h - a,
95
+ y: c + u
96
+ }];
97
+ }
98
+ function zt(t) {
99
+ let n = {
100
+ x: 0,
101
+ y: 0
102
+ };
103
+ for (let s of t) n.x += s.x, n.y += s.y;
104
+ return n.x /= t.length, n.y /= t.length, n;
105
+ }
106
+ function oe(t, n, s, e) {
107
+ e ||= {};
108
+ let i = e.maxIterations || 100, r = e.tolerance || 1e-10, o = t(n), h = t(s), c = s - n;
109
+ if (o * h > 0) throw "Initial bisect points must have opposite signs";
110
+ if (o === 0) return n;
111
+ if (h === 0) return s;
112
+ for (let a = 0; a < i; ++a) {
113
+ c /= 2;
114
+ let u = n + c, g = t(u);
115
+ if (g * o >= 0 && (n = u), Math.abs(c) < r || g === 0) return u;
116
+ }
117
+ return n + c;
118
+ }
119
+ function ot(t) {
120
+ let n = Array(t);
121
+ for (let s = 0; s < t; ++s) n[s] = 0;
122
+ return n;
123
+ }
124
+ function kt(t, n) {
125
+ return ot(t).map(() => ot(n));
126
+ }
127
+ function J(t, n) {
128
+ let s = 0;
129
+ for (let e = 0; e < t.length; ++e) s += t[e] * n[e];
130
+ return s;
131
+ }
132
+ function ht(t) {
133
+ return Math.sqrt(J(t, t));
134
+ }
135
+ function ut(t, n, s) {
136
+ for (let e = 0; e < n.length; ++e) t[e] = n[e] * s;
137
+ }
138
+ function H(t, n, s, e, i) {
139
+ for (let r = 0; r < t.length; ++r) t[r] = n * s[r] + e * i[r];
140
+ }
141
+ function Tt(t, n, s) {
142
+ s ||= {};
143
+ let e = s.maxIterations || n.length * 200, i = s.nonZeroDelta || 1.05, r = s.zeroDelta || 1e-3, o = s.minErrorDelta || 1e-6, h = s.minErrorDelta || 1e-5, c = s.rho === void 0 ? 1 : s.rho, a = s.chi === void 0 ? 2 : s.chi, u = s.psi === void 0 ? -0.5 : s.psi, g = s.sigma === void 0 ? 0.5 : s.sigma, f, m = n.length, y = Array(m + 1);
144
+ y[0] = n, y[0].fx = t(n), y[0].id = 0;
145
+ for (let I = 0; I < m; ++I) {
146
+ let l = n.slice();
147
+ l[I] = l[I] ? l[I] * i : r, y[I + 1] = l, y[I + 1].fx = t(l), y[I + 1].id = I + 1;
148
+ }
149
+ function _(I) {
150
+ for (let l = 0; l < I.length; l++) y[m][l] = I[l];
151
+ y[m].fx = I.fx;
152
+ }
153
+ let E = (I, l) => I.fx - l.fx, d = n.slice(), v = n.slice(), b = n.slice(), x = n.slice();
154
+ for (let I = 0; I < e; ++I) {
155
+ if (y.sort(E), s.history) {
156
+ let p = y.map((M) => {
157
+ let z = M.slice();
158
+ return z.fx = M.fx, z.id = M.id, z;
159
+ });
160
+ p.sort((M, z) => M.id - z.id), s.history.push({
161
+ x: y[0].slice(),
162
+ fx: y[0].fx,
163
+ simplex: p
164
+ });
165
+ }
166
+ f = 0;
167
+ for (let p = 0; p < m; ++p) f = Math.max(f, Math.abs(y[0][p] - y[1][p]));
168
+ if (Math.abs(y[0].fx - y[m].fx) < o && f < h) break;
169
+ for (let p = 0; p < m; ++p) {
170
+ d[p] = 0;
171
+ for (let M = 0; M < m; ++M) d[p] += y[M][p];
172
+ d[p] /= m;
173
+ }
174
+ let l = y[m];
175
+ if (H(v, 1 + c, d, -c, l), v.fx = t(v), v.fx < y[0].fx) H(x, 1 + a, d, -a, l), x.fx = t(x), x.fx < v.fx ? _(x) : _(v);
176
+ else if (v.fx >= y[m - 1].fx) {
177
+ let p = !1;
178
+ if (v.fx > l.fx ? (H(b, 1 + u, d, -u, l), b.fx = t(b), b.fx < l.fx ? _(b) : p = !0) : (H(b, 1 - u * c, d, u * c, l), b.fx = t(b), b.fx < v.fx ? _(b) : p = !0), p) {
179
+ if (g >= 1) break;
180
+ for (let M = 1; M < y.length; ++M) H(y[M], 1 - g, y[0], g, y[M]), y[M].fx = t(y[M]);
181
+ }
182
+ } else _(v);
183
+ }
184
+ return y.sort(E), {
185
+ fx: y[0].fx,
186
+ x: y[0]
187
+ };
188
+ }
189
+ function he(t, n, s, e, i, r, o) {
190
+ let h = s.fx, c = J(s.fxprime, n), a = h, u = h, g = c, f = 0;
191
+ i ||= 1, r ||= 1e-6, o ||= 0.1;
192
+ function m(y, _, E) {
193
+ for (let d = 0; d < 16; ++d) if (i = (y + _) / 2, H(e.x, 1, s.x, i, n), a = e.fx = t(e.x, e.fxprime), g = J(e.fxprime, n), a > h + r * i * c || a >= E) _ = i;
194
+ else {
195
+ if (Math.abs(g) <= -o * c) return i;
196
+ g * (_ - y) >= 0 && (_ = y), y = i, E = a;
197
+ }
198
+ return 0;
199
+ }
200
+ for (let y = 0; y < 10; ++y) {
201
+ if (H(e.x, 1, s.x, i, n), a = e.fx = t(e.x, e.fxprime), g = J(e.fxprime, n), a > h + r * i * c || y && a >= u) return m(f, i, u);
202
+ if (Math.abs(g) <= -o * c) return i;
203
+ if (g >= 0) return m(i, f, a);
204
+ u = a, f = i, i *= 2;
205
+ }
206
+ return i;
207
+ }
208
+ function ue(t, n, s) {
209
+ let e = {
210
+ x: n.slice(),
211
+ fx: 0,
212
+ fxprime: n.slice()
213
+ }, i = {
214
+ x: n.slice(),
215
+ fx: 0,
216
+ fxprime: n.slice()
217
+ }, r = n.slice(), o, h, c = 1, a;
218
+ s ||= {}, a = s.maxIterations || n.length * 20, e.fx = t(e.x, e.fxprime), o = e.fxprime.slice(), ut(o, e.fxprime, -1);
219
+ for (let u = 0; u < a; ++u) {
220
+ if (c = he(t, o, e, i, c), s.history && s.history.push({
221
+ x: e.x.slice(),
222
+ fx: e.fx,
223
+ fxprime: e.fxprime.slice(),
224
+ alpha: c
225
+ }), !c) ut(o, e.fxprime, -1);
226
+ else {
227
+ H(r, 1, i.fxprime, -1, e.fxprime);
228
+ let g = J(e.fxprime, e.fxprime), f = Math.max(0, J(r, i.fxprime) / g);
229
+ H(o, f, o, -1, i.fxprime), h = e, e = i, i = h;
230
+ }
231
+ if (ht(e.fxprime) <= 1e-5) break;
232
+ }
233
+ return s.history && s.history.push({
234
+ x: e.x.slice(),
235
+ fx: e.fx,
236
+ fxprime: e.fxprime.slice(),
237
+ alpha: c
238
+ }), e;
239
+ }
240
+ function At(t, n = {}) {
241
+ n.maxIterations = n.maxIterations || 500;
242
+ let s = n.initialLayout || ye, e = n.lossFunction || Q, i = ce(t, n), r = s(i, n), o = Object.keys(r), h = [];
243
+ for (let a of o) h.push(r[a].x), h.push(r[a].y);
244
+ let c = Tt((a) => {
245
+ let u = {};
246
+ for (let g = 0; g < o.length; ++g) {
247
+ let f = o[g];
248
+ u[f] = {
249
+ x: a[2 * g],
250
+ y: a[2 * g + 1],
251
+ radius: r[f].radius
252
+ };
253
+ }
254
+ return e(u, i);
255
+ }, h, n).x;
256
+ for (let a = 0; a < o.length; ++a) {
257
+ let u = o[a];
258
+ r[u].x = c[2 * a], r[u].y = c[2 * a + 1];
259
+ }
260
+ return r;
261
+ }
262
+ var $t = 1e-10;
263
+ function ct(t, n, s) {
264
+ return Math.min(t, n) * Math.min(t, n) * Math.PI <= s + $t ? Math.abs(t - n) : oe((e) => yt(t, n, e) - s, 0, t + n);
265
+ }
266
+ function ce(t, n = {}) {
267
+ let s = n.distinct, e = t.map((h) => Object.assign({}, h));
268
+ function i(h) {
269
+ return h.join(";");
270
+ }
271
+ if (s) {
272
+ let h = /* @__PURE__ */ new Map();
273
+ for (let c of e) for (let a = 0; a < c.sets.length; a++) {
274
+ let u = String(c.sets[a]);
275
+ h.set(u, c.size + (h.get(u) || 0));
276
+ for (let g = a + 1; g < c.sets.length; g++) {
277
+ let f = String(c.sets[g]), m = `${u};${f}`, y = `${f};${u}`;
278
+ h.set(m, c.size + (h.get(m) || 0)), h.set(y, c.size + (h.get(y) || 0));
279
+ }
280
+ }
281
+ for (let c of e) c.sets.length < 3 && (c.size = h.get(i(c.sets)));
282
+ }
283
+ let r = [], o = /* @__PURE__ */ new Set();
284
+ for (let h of e) if (h.sets.length === 1) r.push(h.sets[0]);
285
+ else if (h.sets.length === 2) {
286
+ let c = h.sets[0], a = h.sets[1];
287
+ o.add(i(h.sets)), o.add(i([a, c]));
288
+ }
289
+ r.sort((h, c) => h === c ? 0 : h < c ? -1 : 1);
290
+ for (let h = 0; h < r.length; ++h) {
291
+ let c = r[h];
292
+ for (let a = h + 1; a < r.length; ++a) {
293
+ let u = r[a];
294
+ o.has(i([c, u])) || e.push({
295
+ sets: [c, u],
296
+ size: 0
297
+ });
298
+ }
299
+ }
300
+ return e;
301
+ }
302
+ function fe(t, n, s) {
303
+ let e = kt(n.length, n.length), i = kt(n.length, n.length);
304
+ return t.filter((r) => r.sets.length === 2).forEach((r) => {
305
+ let o = s[r.sets[0]], h = s[r.sets[1]], c = ct(Math.sqrt(n[o].size / Math.PI), Math.sqrt(n[h].size / Math.PI), r.size);
306
+ e[o][h] = e[h][o] = c;
307
+ let a = 0;
308
+ r.size + 1e-10 >= Math.min(n[o].size, n[h].size) ? a = 1 : r.size <= 1e-10 && (a = -1), i[o][h] = i[h][o] = a;
309
+ }), {
310
+ distances: e,
311
+ constraints: i
312
+ };
313
+ }
314
+ function de(t, n, s, e) {
315
+ for (let r = 0; r < n.length; ++r) n[r] = 0;
316
+ let i = 0;
317
+ for (let r = 0; r < s.length; ++r) {
318
+ let o = t[2 * r], h = t[2 * r + 1];
319
+ for (let c = r + 1; c < s.length; ++c) {
320
+ let a = t[2 * c], u = t[2 * c + 1], g = s[r][c], f = e[r][c], m = (a - o) * (a - o) + (u - h) * (u - h), y = Math.sqrt(m), _ = m - g * g;
321
+ f > 0 && y <= g || f < 0 && y >= g || (i += 2 * _ * _, n[2 * r] += 4 * _ * (o - a), n[2 * r + 1] += 4 * _ * (h - u), n[2 * c] += 4 * _ * (a - o), n[2 * c + 1] += 4 * _ * (u - h));
322
+ }
323
+ }
324
+ return i;
325
+ }
326
+ function ye(t, n = {}) {
327
+ let s = xe(t, n), e = n.lossFunction || Q;
328
+ if (t.length >= 8) {
329
+ let i = ge(t, n), r = e(i, t), o = e(s, t);
330
+ r + 1e-8 < o && (s = i);
331
+ }
332
+ return s;
333
+ }
334
+ function ge(t, n = {}) {
335
+ let s = n.restarts || 10, e = [], i = {};
336
+ for (let f of t) f.sets.length === 1 && (i[f.sets[0]] = e.length, e.push(f));
337
+ let { distances: r, constraints: o } = fe(t, e, i), h = ht(r.map(ht)) / r.length;
338
+ r = r.map((f) => f.map((m) => m / h));
339
+ let c = (f, m) => de(f, m, r, o), a = null;
340
+ for (let f = 0; f < s; ++f) {
341
+ let m = ue(c, ot(r.length * 2).map(Math.random), n);
342
+ (!a || m.fx < a.fx) && (a = m);
343
+ }
344
+ let u = a.x, g = {};
345
+ for (let f = 0; f < e.length; ++f) {
346
+ let m = e[f];
347
+ g[m.sets[0]] = {
348
+ x: u[2 * f] * h,
349
+ y: u[2 * f + 1] * h,
350
+ radius: Math.sqrt(m.size / Math.PI)
351
+ };
352
+ }
353
+ if (n.history) for (let f of n.history) ut(f.x, h);
354
+ return g;
355
+ }
356
+ function xe(t, n) {
357
+ let s = n && n.lossFunction ? n.lossFunction : Q, e = {}, i = {};
358
+ for (let g of t) if (g.sets.length === 1) {
359
+ let f = g.sets[0];
360
+ e[f] = {
361
+ x: 1e10,
362
+ y: 1e10,
363
+ rowid: e.length,
364
+ size: g.size,
365
+ radius: Math.sqrt(g.size / Math.PI)
366
+ }, i[f] = [];
367
+ }
368
+ t = t.filter((g) => g.sets.length === 2);
369
+ for (let g of t) {
370
+ let f = g.weight == null ? 1 : g.weight, m = g.sets[0], y = g.sets[1];
371
+ g.size + $t >= Math.min(e[m].size, e[y].size) && (f = 0), i[m].push({
372
+ set: y,
373
+ size: g.size,
374
+ weight: f
375
+ }), i[y].push({
376
+ set: m,
377
+ size: g.size,
378
+ weight: f
379
+ });
380
+ }
381
+ let r = [];
382
+ Object.keys(i).forEach((g) => {
383
+ let f = 0;
384
+ for (let m = 0; m < i[g].length; ++m) f += i[g][m].size * i[g][m].weight;
385
+ r.push({
386
+ set: g,
387
+ size: f
388
+ });
389
+ });
390
+ function o(g, f) {
391
+ return f.size - g.size;
392
+ }
393
+ r.sort(o);
394
+ let h = {};
395
+ function c(g) {
396
+ return g.set in h;
397
+ }
398
+ function a(g, f) {
399
+ e[f].x = g.x, e[f].y = g.y, h[f] = !0;
400
+ }
401
+ a({
402
+ x: 0,
403
+ y: 0
404
+ }, r[0].set);
405
+ for (let g = 1; g < r.length; ++g) {
406
+ let f = r[g].set, m = i[f].filter(c), y = e[f];
407
+ if (m.sort(o), m.length === 0) throw "ERROR: missing pairwise overlap information";
408
+ let _ = [];
409
+ for (var u = 0; u < m.length; ++u) {
410
+ let v = e[m[u].set], b = ct(y.radius, v.radius, m[u].size);
411
+ _.push({
412
+ x: v.x + b,
413
+ y: v.y
414
+ }), _.push({
415
+ x: v.x - b,
416
+ y: v.y
417
+ }), _.push({
418
+ y: v.y + b,
419
+ x: v.x
420
+ }), _.push({
421
+ y: v.y - b,
422
+ x: v.x
423
+ });
424
+ for (let x = u + 1; x < m.length; ++x) {
425
+ let I = e[m[x].set], l = ct(y.radius, I.radius, m[x].size), p = St({
426
+ x: v.x,
427
+ y: v.y,
428
+ radius: b
429
+ }, {
430
+ x: I.x,
431
+ y: I.y,
432
+ radius: l
433
+ });
434
+ _.push(...p);
435
+ }
436
+ }
437
+ let E = 1e50, d = _[0];
438
+ for (let v of _) {
439
+ e[f].x = v.x, e[f].y = v.y;
440
+ let b = s(e, t);
441
+ b < E && (E = b, d = v);
442
+ }
443
+ a(d, f);
444
+ }
445
+ return e;
446
+ }
447
+ function Q(t, n) {
448
+ let s = 0;
449
+ for (let e of n) {
450
+ if (e.sets.length === 1) continue;
451
+ let i;
452
+ if (e.sets.length === 2) {
453
+ let o = t[e.sets[0]], h = t[e.sets[1]];
454
+ i = yt(o.radius, h.radius, q(o, h));
455
+ } else i = nt(e.sets.map((o) => t[o]));
456
+ let r = e.weight == null ? 1 : e.weight;
457
+ s += r * (i - e.size) * (i - e.size);
458
+ }
459
+ return s;
460
+ }
461
+ function Rt(t, n) {
462
+ let s = 0;
463
+ for (let e of n) {
464
+ if (e.sets.length === 1) continue;
465
+ let i;
466
+ if (e.sets.length === 2) {
467
+ let h = t[e.sets[0]], c = t[e.sets[1]];
468
+ i = yt(h.radius, c.radius, q(h, c));
469
+ } else i = nt(e.sets.map((h) => t[h]));
470
+ let r = e.weight == null ? 1 : e.weight, o = Math.log((i + 1) / (e.size + 1));
471
+ s += r * o * o;
472
+ }
473
+ return s;
474
+ }
475
+ function pe(t, n, s) {
476
+ if (s == null ? t.sort((i, r) => r.radius - i.radius) : t.sort(s), t.length > 0) {
477
+ let i = t[0].x, r = t[0].y;
478
+ for (let o of t) o.x -= i, o.y -= r;
479
+ }
480
+ if (t.length === 2 && q(t[0], t[1]) < Math.abs(t[1].radius - t[0].radius) && (t[1].x = t[0].x + t[0].radius - t[1].radius - 1e-10, t[1].y = t[0].y), t.length > 1) {
481
+ let i = Math.atan2(t[1].x, t[1].y) - n, r = Math.cos(i), o = Math.sin(i);
482
+ for (let h of t) {
483
+ let c = h.x, a = h.y;
484
+ h.x = r * c - o * a, h.y = o * c + r * a;
485
+ }
486
+ }
487
+ if (t.length > 2) {
488
+ let i = Math.atan2(t[2].x, t[2].y) - n;
489
+ for (; i < 0; ) i += 2 * Math.PI;
490
+ for (; i > 2 * Math.PI; ) i -= 2 * Math.PI;
491
+ if (i > Math.PI) {
492
+ let r = t[1].y / (1e-10 + t[1].x);
493
+ for (let o of t) {
494
+ var e = (o.x + r * o.y) / (1 + r * r);
495
+ o.x = 2 * e - o.x, o.y = 2 * e * r - o.y;
496
+ }
497
+ }
498
+ }
499
+ }
500
+ function me(t) {
501
+ t.forEach((i) => {
502
+ i.parent = i;
503
+ });
504
+ function n(i) {
505
+ return i.parent !== i && (i.parent = n(i.parent)), i.parent;
506
+ }
507
+ function s(i, r) {
508
+ let o = n(i);
509
+ o.parent = n(r);
510
+ }
511
+ for (let i = 0; i < t.length; ++i) for (let r = i + 1; r < t.length; ++r) {
512
+ let o = t[i].radius + t[r].radius;
513
+ q(t[i], t[r]) + 1e-10 < o && s(t[r], t[i]);
514
+ }
515
+ let e = /* @__PURE__ */ new Map();
516
+ for (let i = 0; i < t.length; ++i) {
517
+ let r = n(t[i]).parent.setid;
518
+ e.has(r) || e.set(r, []), e.get(r).push(t[i]);
519
+ }
520
+ return t.forEach((i) => {
521
+ delete i.parent;
522
+ }), Array.from(e.values());
523
+ }
524
+ function ft(t) {
525
+ let n = (s) => ({
526
+ max: t.reduce((e, i) => Math.max(e, i[s] + i.radius), -1 / 0),
527
+ min: t.reduce((e, i) => Math.min(e, i[s] - i.radius), 1 / 0)
528
+ });
529
+ return {
530
+ xRange: n("x"),
531
+ yRange: n("y")
532
+ };
533
+ }
534
+ function Nt(t, n, s) {
535
+ n ??= Math.PI / 2;
536
+ let e = Ot(t).map((a) => Object.assign({}, a)), i = me(e);
537
+ for (let a of i) {
538
+ pe(a, n, s);
539
+ let u = ft(a);
540
+ a.size = (u.xRange.max - u.xRange.min) * (u.yRange.max - u.yRange.min), a.bounds = u;
541
+ }
542
+ i.sort((a, u) => u.size - a.size), e = i[0];
543
+ let r = e.bounds, o = (r.xRange.max - r.xRange.min) / 50;
544
+ function h(a, u, g) {
545
+ if (!a) return;
546
+ let f = a.bounds, m, y;
547
+ if (u) m = r.xRange.max - f.xRange.min + o;
548
+ else {
549
+ m = r.xRange.max - f.xRange.max;
550
+ let _ = (f.xRange.max - f.xRange.min) / 2 - (r.xRange.max - r.xRange.min) / 2;
551
+ _ < 0 && (m += _);
552
+ }
553
+ if (g) y = r.yRange.max - f.yRange.min + o;
554
+ else {
555
+ y = r.yRange.max - f.yRange.max;
556
+ let _ = (f.yRange.max - f.yRange.min) / 2 - (r.yRange.max - r.yRange.min) / 2;
557
+ _ < 0 && (y += _);
558
+ }
559
+ for (let _ of a) _.x += m, _.y += y, e.push(_);
560
+ }
561
+ let c = 1;
562
+ for (; c < i.length; ) h(i[c], !0, !1), h(i[c + 1], !1, !0), h(i[c + 2], !0, !0), c += 3, r = ft(e);
563
+ return Ft(e);
564
+ }
565
+ function Dt(t, n, s, e, i) {
566
+ let r = Ot(t);
567
+ n -= 2 * e, s -= 2 * e;
568
+ let { xRange: o, yRange: h } = ft(r);
569
+ if (o.max === o.min || h.max === h.min) return console.log("not scaling solution: zero size detected"), t;
570
+ let c, a;
571
+ if (i) {
572
+ let m = Math.sqrt(i / Math.PI) * 2;
573
+ c = n / m, a = s / m;
574
+ } else c = n / (o.max - o.min), a = s / (h.max - h.min);
575
+ let u = Math.min(a, c), g = (n - (o.max - o.min) * u) / 2, f = (s - (h.max - h.min) * u) / 2;
576
+ return Ft(r.map((m) => ({
577
+ radius: u * m.radius,
578
+ x: e + g + (m.x - o.min) * u,
579
+ y: e + f + (m.y - h.min) * u,
580
+ setid: m.setid
581
+ })));
582
+ }
583
+ function Ft(t) {
584
+ let n = {};
585
+ for (let s of t) n[s.setid] = s;
586
+ return n;
587
+ }
588
+ function Ot(t) {
589
+ return Object.keys(t).map((n) => Object.assign(t[n], { setid: n }));
590
+ }
591
+ function be(t = {}) {
592
+ let n = !1, s = 600, e = 350, i = 15, r = 1e3, o = Math.PI / 2, h = !0, c = null, a = !0, u = !0, g = null, f = null, m = !1, y = null, _ = t && t.symmetricalTextCentre ? t.symmetricalTextCentre : !1, E = {}, d = t && t.colourScheme ? t.colourScheme : t && t.colorScheme ? t.colorScheme : [
593
+ "#1f77b4",
594
+ "#ff7f0e",
595
+ "#2ca02c",
596
+ "#d62728",
597
+ "#9467bd",
598
+ "#8c564b",
599
+ "#e377c2",
600
+ "#7f7f7f",
601
+ "#bcbd22",
602
+ "#17becf"
603
+ ], v = 0, b = function(p) {
604
+ if (p in E) return E[p];
605
+ var M = E[p] = d[v];
606
+ return v += 1, v >= d.length && (v = 0), M;
607
+ }, x = At, I = Q;
608
+ function l(p) {
609
+ let M = p.datum(), z = /* @__PURE__ */ new Set();
610
+ M.forEach((k) => {
611
+ k.size == 0 && k.sets.length == 1 && z.add(k.sets[0]);
612
+ }), M = M.filter((k) => !k.sets.some((P) => z.has(P)));
613
+ let R = {}, D = {};
614
+ if (M.length > 0) {
615
+ let k = x(M, {
616
+ lossFunction: I,
617
+ distinct: m
618
+ });
619
+ h && (k = Nt(k, o, f)), R = Dt(k, s, e, i, c), D = Pt(R, M, _);
620
+ }
621
+ let U = {};
622
+ M.forEach((k) => {
623
+ k.label && (U[k.sets] = k.label);
624
+ });
625
+ function T(k) {
626
+ if (k.sets in U) return U[k.sets];
627
+ if (k.sets.length == 1) return "" + k.sets[0];
628
+ }
629
+ p.selectAll("svg").data([R]).enter().append("svg");
630
+ let A = p.select("svg");
631
+ n ? A.attr("viewBox", `0 0 ${s} ${e}`) : A.attr("width", s).attr("height", e);
632
+ let S = {}, N = !1;
633
+ A.selectAll(".venn-area path").each(function(k) {
634
+ let P = this.getAttribute("d");
635
+ k.sets.length == 1 && P && !m && (N = !0, S[k.sets[0]] = Ie(P));
636
+ });
637
+ function F(k) {
638
+ return (P) => _t(k.sets.map((W) => {
639
+ let Z = S[W], X = R[W];
640
+ return Z ||= {
641
+ x: s / 2,
642
+ y: e / 2,
643
+ radius: 1
644
+ }, X ||= {
645
+ x: s / 2,
646
+ y: e / 2,
647
+ radius: 1
648
+ }, {
649
+ x: Z.x * (1 - P) + X.x * P,
650
+ y: Z.y * (1 - P) + X.y * P,
651
+ radius: Z.radius * (1 - P) + X.radius * P
652
+ };
653
+ }), y);
654
+ }
655
+ let $ = A.selectAll(".venn-area").data(M, (k) => k.sets), G = $.enter().append("g").attr("class", (k) => `venn-area venn-${k.sets.length == 1 ? "circle" : "intersection"}${k.colour || k.color ? " venn-coloured" : ""}`).attr("data-venn-sets", (k) => k.sets.join("_")), K = G.append("path"), B = G.append("text").attr("class", "label").text((k) => T(k)).attr("text-anchor", "middle").attr("dy", ".35em").attr("x", s / 2).attr("y", e / 2);
656
+ u && (K.style("fill-opacity", "0").filter((k) => k.sets.length == 1).style("fill", (k) => k.colour ? k.colour : k.color ? k.color : b(k.sets)).style("fill-opacity", ".25"), B.style("fill", (k) => k.colour || k.color ? "#FFF" : t.textFill ? t.textFill : k.sets.length == 1 ? b(k.sets) : "#444"));
657
+ function O(k) {
658
+ return typeof k.transition == "function" ? k.transition("venn").duration(r) : k;
659
+ }
660
+ let j = p;
661
+ N && typeof j.transition == "function" ? (j = O(p), j.selectAll("path").attrTween("d", F)) : j.selectAll("path").attr("d", (k) => _t(k.sets.map((P) => R[P])), y);
662
+ let L = j.selectAll("text").filter((k) => k.sets in D).text((k) => T(k)).attr("x", (k) => Math.floor(D[k.sets].x)).attr("y", (k) => Math.floor(D[k.sets].y));
663
+ a && (N ? "on" in L ? L.on("end", rt(R, T)) : L.each("end", rt(R, T)) : L.each(rt(R, T)));
664
+ let C = O($.exit()).remove();
665
+ typeof $.transition == "function" && C.selectAll("path").attrTween("d", F);
666
+ let tt = C.selectAll("text").attr("x", s / 2).attr("y", e / 2);
667
+ return g !== null && (B.style("font-size", "0px"), L.style("font-size", g), tt.style("font-size", "0px")), {
668
+ circles: R,
669
+ textCentres: D,
670
+ nodes: $,
671
+ enter: G,
672
+ update: j,
673
+ exit: C
674
+ };
675
+ }
676
+ return l.wrap = function(p) {
677
+ return arguments.length ? (a = p, l) : a;
678
+ }, l.useViewBox = function() {
679
+ return n = !0, l;
680
+ }, l.width = function(p) {
681
+ return arguments.length ? (s = p, l) : s;
682
+ }, l.height = function(p) {
683
+ return arguments.length ? (e = p, l) : e;
684
+ }, l.padding = function(p) {
685
+ return arguments.length ? (i = p, l) : i;
686
+ }, l.distinct = function(p) {
687
+ return arguments.length ? (m = p, l) : m;
688
+ }, l.colours = function(p) {
689
+ return arguments.length ? (b = p, l) : b;
690
+ }, l.colors = function(p) {
691
+ return arguments.length ? (b = p, l) : b;
692
+ }, l.fontSize = function(p) {
693
+ return arguments.length ? (g = p, l) : g;
694
+ }, l.round = function(p) {
695
+ return arguments.length ? (y = p, l) : y;
696
+ }, l.duration = function(p) {
697
+ return arguments.length ? (r = p, l) : r;
698
+ }, l.layoutFunction = function(p) {
699
+ return arguments.length ? (x = p, l) : x;
700
+ }, l.normalize = function(p) {
701
+ return arguments.length ? (h = p, l) : h;
702
+ }, l.scaleToFit = function(p) {
703
+ return arguments.length ? (c = p, l) : c;
704
+ }, l.styled = function(p) {
705
+ return arguments.length ? (u = p, l) : u;
706
+ }, l.orientation = function(p) {
707
+ return arguments.length ? (o = p, l) : o;
708
+ }, l.orientationOrder = function(p) {
709
+ return arguments.length ? (f = p, l) : f;
710
+ }, l.lossFunction = function(p) {
711
+ return arguments.length ? (I = p === "default" ? Q : p === "logRatio" ? Rt : p, l) : I;
712
+ }, l;
713
+ }
714
+ function rt(t, n) {
715
+ return function(s) {
716
+ let e = this, i = t[s.sets[0]].radius || 50, r = n(s) || "", o = r.split(/\s+/).reverse(), h = (r.length + o.length) / 3, c = o.pop(), a = [c], u = 0, g = 1.1;
717
+ e.textContent = null;
718
+ let f = [];
719
+ function m(v) {
720
+ let b = e.ownerDocument.createElementNS(e.namespaceURI, "tspan");
721
+ return b.textContent = v, f.push(b), e.append(b), b;
722
+ }
723
+ let y = m(c);
724
+ for (; c = o.pop(), c; ) {
725
+ a.push(c);
726
+ let v = a.join(" ");
727
+ y.textContent = v, v.length > h && y.getComputedTextLength() > i && (a.pop(), y.textContent = a.join(" "), a = [c], y = m(c), u++);
728
+ }
729
+ let _ = 0.35 - u * g / 2, E = e.getAttribute("x"), d = e.getAttribute("y");
730
+ f.forEach((v, b) => {
731
+ v.setAttribute("x", E), v.setAttribute("y", d), v.setAttribute("dy", `${_ + b * g}em`);
732
+ });
733
+ };
734
+ }
735
+ function lt(t, n, s) {
736
+ let e = n[0].radius - q(n[0], t);
737
+ for (let i = 1; i < n.length; ++i) {
738
+ let r = n[i].radius - q(n[i], t);
739
+ r <= e && (e = r);
740
+ }
741
+ for (let i = 0; i < s.length; ++i) {
742
+ let r = q(s[i], t) - s[i].radius;
743
+ r <= e && (e = r);
744
+ }
745
+ return e;
746
+ }
747
+ function Ct(t, n, s) {
748
+ let e = [];
749
+ for (let u of t) e.push({
750
+ x: u.x,
751
+ y: u.y
752
+ }), e.push({
753
+ x: u.x + u.radius / 2,
754
+ y: u.y
755
+ }), e.push({
756
+ x: u.x - u.radius / 2,
757
+ y: u.y
758
+ }), e.push({
759
+ x: u.x,
760
+ y: u.y + u.radius / 2
761
+ }), e.push({
762
+ x: u.x,
763
+ y: u.y - u.radius / 2
764
+ });
765
+ let i = e[0], r = lt(e[0], t, n);
766
+ for (let u = 1; u < e.length; ++u) {
767
+ let g = lt(e[u], t, n);
768
+ g >= r && (i = e[u], r = g);
769
+ }
770
+ let o = Tt((u) => -1 * lt({
771
+ x: u[0],
772
+ y: u[1]
773
+ }, t, n), [i.x, i.y], {
774
+ maxIterations: 500,
775
+ minErrorDelta: 1e-10
776
+ }).x, h = {
777
+ x: s ? 0 : o[0],
778
+ y: o[1]
779
+ }, c = !0;
780
+ for (let u of t) if (q(h, u) > u.radius) {
781
+ c = !1;
782
+ break;
783
+ }
784
+ for (let u of n) if (q(h, u) < u.radius) {
785
+ c = !1;
786
+ break;
787
+ }
788
+ if (c) return h;
789
+ if (t.length == 1) return {
790
+ x: t[0].x,
791
+ y: t[0].y
792
+ };
793
+ let a = {};
794
+ return nt(t, a), a.arcs.length === 0 ? {
795
+ x: 0,
796
+ y: -1e3,
797
+ disjoint: !0
798
+ } : a.arcs.length == 1 ? {
799
+ x: a.arcs[0].circle.x,
800
+ y: a.arcs[0].circle.y
801
+ } : n.length ? Ct(t, []) : zt(a.arcs.map((u) => u.p1));
802
+ }
803
+ function ve(t) {
804
+ let n = {}, s = Object.keys(t);
805
+ for (let e of s) n[e] = [];
806
+ for (let e = 0; e < s.length; e++) {
807
+ let i = s[e], r = t[i];
808
+ for (let o = e + 1; o < s.length; ++o) {
809
+ let h = s[o], c = t[h], a = q(r, c);
810
+ a + c.radius <= r.radius + 1e-10 ? n[h].push(i) : a + r.radius <= c.radius + 1e-10 && n[i].push(h);
811
+ }
812
+ }
813
+ return n;
814
+ }
815
+ function Pt(t, n, s) {
816
+ let e = {}, i = ve(t);
817
+ for (let r = 0; r < n.length; ++r) {
818
+ let o = n[r].sets, h = {}, c = {};
819
+ for (let f = 0; f < o.length; ++f) {
820
+ h[o[f]] = !0;
821
+ let m = i[o[f]];
822
+ for (let y = 0; y < m.length; ++y) c[m[y]] = !0;
823
+ }
824
+ let a = [], u = [];
825
+ for (let f in t) f in h ? a.push(t[f]) : f in c || u.push(t[f]);
826
+ let g = Ct(a, u, s);
827
+ e[o] = g, g.disjoint && n[r].size > 0 && console.log("WARNING: area " + o + " not represented on screen");
828
+ }
829
+ return e;
830
+ }
831
+ function Me(t, n, s) {
832
+ let e = [];
833
+ return e.push(`
834
+ M`, t, n), e.push(`
835
+ m`, -s, 0), e.push(`
836
+ a`, s, s, 0, 1, 0, s * 2, 0), e.push(`
837
+ a`, s, s, 0, 1, 0, -s * 2, 0), e.join(" ");
838
+ }
839
+ function Ie(t) {
840
+ let n = t.split(" ");
841
+ return {
842
+ x: Number.parseFloat(n[1]),
843
+ y: Number.parseFloat(n[2]),
844
+ radius: -Number.parseFloat(n[4])
845
+ };
846
+ }
847
+ function Lt(t) {
848
+ if (t.length === 0) return [];
849
+ let n = {};
850
+ return nt(t, n), n.arcs;
851
+ }
852
+ function jt(t, n) {
853
+ if (t.length === 0) return "M 0 0";
854
+ let s = 10 ** (n || 0), e = n == null ? (r) => r : (r) => Math.round(r * s) / s;
855
+ if (t.length == 1) {
856
+ let r = t[0].circle;
857
+ return Me(e(r.x), e(r.y), e(r.radius));
858
+ }
859
+ let i = [
860
+ `
861
+ M`,
862
+ e(t[0].p2.x),
863
+ e(t[0].p2.y)
864
+ ];
865
+ for (let r of t) {
866
+ let o = e(r.circle.radius);
867
+ i.push(`
868
+ A`, o, o, 0, +!!r.large, +!!r.sweep, e(r.p1.x), e(r.p1.y));
869
+ }
870
+ return i.join(" ");
871
+ }
872
+ function _t(t, n) {
873
+ return jt(Lt(t), n);
874
+ }
875
+ function ke(t, n = {}) {
876
+ let { lossFunction: s, layoutFunction: e = At, normalize: i = !0, orientation: r = Math.PI / 2, orientationOrder: o, width: h = 600, height: c = 350, padding: a = 15, scaleToFit: u = !1, symmetricalTextCentre: g = !1, distinct: f, round: m = 2 } = n, y = e(t, {
877
+ lossFunction: s === "default" || !s ? Q : s === "logRatio" ? Rt : s,
878
+ distinct: f
879
+ });
880
+ i && (y = Nt(y, r, o));
881
+ let _ = Dt(y, h, c, a, u), E = Pt(_, t, g), d = new Map(Object.keys(_).map((x) => [x, {
882
+ set: x,
883
+ x: _[x].x,
884
+ y: _[x].y,
885
+ radius: _[x].radius
886
+ }])), v = t.map((x) => {
887
+ let I = x.sets.map((p) => d.get(p)), l = Lt(I);
888
+ return {
889
+ circles: I,
890
+ arcs: l,
891
+ path: jt(l, m),
892
+ area: x,
893
+ has: new Set(x.sets)
894
+ };
895
+ });
896
+ function b(x) {
897
+ let I = "";
898
+ for (let l of v) l.has.size > x.length && x.every((p) => l.has.has(p)) && (I += " " + l.path);
899
+ return I;
900
+ }
901
+ return v.map(({ circles: x, arcs: I, path: l, area: p }) => ({
902
+ data: p,
903
+ text: E[p.sets],
904
+ circles: x,
905
+ arcs: I,
906
+ path: l,
907
+ distinctPath: l + b(p.sets)
908
+ }));
909
+ }
910
+ var dt = (function() {
911
+ var t = /* @__PURE__ */ w(function(d, v, b, x) {
912
+ for (b ||= {}, x = d.length; x--; b[d[x]] = v) ;
913
+ return b;
914
+ }, "o"), n = [5, 8], s = [
915
+ 7,
916
+ 8,
917
+ 11,
918
+ 12,
919
+ 17,
920
+ 19,
921
+ 22,
922
+ 24
923
+ ], e = [1, 17], i = [1, 18], r = [
924
+ 7,
925
+ 8,
926
+ 11,
927
+ 12,
928
+ 14,
929
+ 15,
930
+ 16,
931
+ 17,
932
+ 19,
933
+ 20,
934
+ 21,
935
+ 22,
936
+ 24,
937
+ 27
938
+ ], o = [1, 31], h = [1, 39], c = [
939
+ 7,
940
+ 8,
941
+ 11,
942
+ 12,
943
+ 17,
944
+ 19,
945
+ 22,
946
+ 24,
947
+ 27
948
+ ], a = [1, 57], u = [1, 56], g = [1, 58], f = [1, 59], m = [1, 60], y = [
949
+ 7,
950
+ 8,
951
+ 11,
952
+ 12,
953
+ 16,
954
+ 17,
955
+ 19,
956
+ 20,
957
+ 22,
958
+ 24,
959
+ 27,
960
+ 31,
961
+ 32,
962
+ 33
963
+ ], _ = {
964
+ trace: /* @__PURE__ */ w(function() {
965
+ }, "trace"),
966
+ yy: {},
967
+ symbols_: {
968
+ error: 2,
969
+ start: 3,
970
+ optNewlines: 4,
971
+ VENN: 5,
972
+ document: 6,
973
+ EOF: 7,
974
+ NEWLINE: 8,
975
+ line: 9,
976
+ statement: 10,
977
+ TITLE: 11,
978
+ SET: 12,
979
+ identifier: 13,
980
+ BRACKET_LABEL: 14,
981
+ COLON: 15,
982
+ NUMERIC: 16,
983
+ UNION: 17,
984
+ identifierList: 18,
985
+ TEXT: 19,
986
+ IDENTIFIER: 20,
987
+ STRING: 21,
988
+ INDENT_TEXT: 22,
989
+ indentedTextTail: 23,
990
+ STYLE: 24,
991
+ stylesOpt: 25,
992
+ styleField: 26,
993
+ COMMA: 27,
994
+ styleValue: 28,
995
+ valueTokens: 29,
996
+ valueToken: 30,
997
+ HEXCOLOR: 31,
998
+ RGBCOLOR: 32,
999
+ RGBACOLOR: 33,
1000
+ $accept: 0,
1001
+ $end: 1
1002
+ },
1003
+ terminals_: {
1004
+ 2: "error",
1005
+ 5: "VENN",
1006
+ 7: "EOF",
1007
+ 8: "NEWLINE",
1008
+ 11: "TITLE",
1009
+ 12: "SET",
1010
+ 14: "BRACKET_LABEL",
1011
+ 15: "COLON",
1012
+ 16: "NUMERIC",
1013
+ 17: "UNION",
1014
+ 19: "TEXT",
1015
+ 20: "IDENTIFIER",
1016
+ 21: "STRING",
1017
+ 22: "INDENT_TEXT",
1018
+ 24: "STYLE",
1019
+ 27: "COMMA",
1020
+ 31: "HEXCOLOR",
1021
+ 32: "RGBCOLOR",
1022
+ 33: "RGBACOLOR"
1023
+ },
1024
+ productions_: [
1025
+ 0,
1026
+ [3, 4],
1027
+ [4, 0],
1028
+ [4, 2],
1029
+ [6, 0],
1030
+ [6, 2],
1031
+ [9, 1],
1032
+ [9, 1],
1033
+ [10, 1],
1034
+ [10, 2],
1035
+ [10, 3],
1036
+ [10, 4],
1037
+ [10, 5],
1038
+ [10, 2],
1039
+ [10, 3],
1040
+ [10, 4],
1041
+ [10, 5],
1042
+ [10, 3],
1043
+ [10, 3],
1044
+ [10, 3],
1045
+ [10, 4],
1046
+ [10, 4],
1047
+ [10, 2],
1048
+ [10, 3],
1049
+ [23, 1],
1050
+ [23, 1],
1051
+ [23, 1],
1052
+ [23, 2],
1053
+ [23, 2],
1054
+ [25, 1],
1055
+ [25, 3],
1056
+ [26, 3],
1057
+ [28, 1],
1058
+ [28, 1],
1059
+ [29, 1],
1060
+ [29, 2],
1061
+ [30, 1],
1062
+ [30, 1],
1063
+ [30, 1],
1064
+ [30, 1],
1065
+ [30, 1],
1066
+ [18, 1],
1067
+ [18, 3],
1068
+ [13, 1],
1069
+ [13, 1]
1070
+ ],
1071
+ performAction: /* @__PURE__ */ w(function(d, v, b, x, I, l, p) {
1072
+ var M = l.length - 1;
1073
+ switch (I) {
1074
+ case 1:
1075
+ return l[M - 1];
1076
+ case 2:
1077
+ case 3:
1078
+ case 4:
1079
+ this.$ = [];
1080
+ break;
1081
+ case 5:
1082
+ l[M - 1].push(l[M]), this.$ = l[M - 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.$ = l[M];
1096
+ break;
1097
+ case 8:
1098
+ x.setDiagramTitle(l[M].substr(6)), this.$ = l[M].substr(6);
1099
+ break;
1100
+ case 9:
1101
+ x.addSubsetData([l[M]], void 0, void 0), x.setIndentMode && x.setIndentMode(!0);
1102
+ break;
1103
+ case 10:
1104
+ x.addSubsetData([l[M - 1]], l[M], void 0), x.setIndentMode && x.setIndentMode(!0);
1105
+ break;
1106
+ case 11:
1107
+ x.addSubsetData([l[M - 2]], void 0, parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
1108
+ break;
1109
+ case 12:
1110
+ x.addSubsetData([l[M - 3]], l[M - 2], parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
1111
+ break;
1112
+ case 13:
1113
+ if (l[M].length < 2) throw Error("union requires multiple identifiers");
1114
+ x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M]), x.addSubsetData(l[M], void 0, void 0), x.setIndentMode && x.setIndentMode(!0);
1115
+ break;
1116
+ case 14:
1117
+ if (l[M - 1].length < 2) throw Error("union requires multiple identifiers");
1118
+ x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M - 1]), x.addSubsetData(l[M - 1], l[M], void 0), x.setIndentMode && x.setIndentMode(!0);
1119
+ break;
1120
+ case 15:
1121
+ if (l[M - 2].length < 2) throw Error("union requires multiple identifiers");
1122
+ x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M - 2]), x.addSubsetData(l[M - 2], void 0, parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
1123
+ break;
1124
+ case 16:
1125
+ if (l[M - 3].length < 2) throw Error("union requires multiple identifiers");
1126
+ x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M - 3]), x.addSubsetData(l[M - 3], l[M - 2], parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
1127
+ break;
1128
+ case 17:
1129
+ case 18:
1130
+ case 19:
1131
+ x.addTextData(l[M - 1], l[M], void 0);
1132
+ break;
1133
+ case 20:
1134
+ case 21:
1135
+ x.addTextData(l[M - 2], l[M - 1], l[M]);
1136
+ break;
1137
+ case 23:
1138
+ x.addStyleData(l[M - 1], l[M]);
1139
+ break;
1140
+ case 24:
1141
+ case 25:
1142
+ case 26:
1143
+ var z = x.getCurrentSets();
1144
+ if (!z) throw Error("text requires set");
1145
+ x.addTextData(z, l[M], void 0);
1146
+ break;
1147
+ case 27:
1148
+ case 28:
1149
+ var z = x.getCurrentSets();
1150
+ if (!z) throw Error("text requires set");
1151
+ x.addTextData(z, l[M - 1], l[M]);
1152
+ break;
1153
+ case 29:
1154
+ case 41:
1155
+ this.$ = [l[M]];
1156
+ break;
1157
+ case 30:
1158
+ case 42:
1159
+ this.$ = [...l[M - 2], l[M]];
1160
+ break;
1161
+ case 31:
1162
+ this.$ = [l[M - 2], l[M]];
1163
+ break;
1164
+ case 33:
1165
+ this.$ = l[M].join(" ");
1166
+ break;
1167
+ case 34:
1168
+ this.$ = [l[M]];
1169
+ break;
1170
+ case 35:
1171
+ l[M - 1].push(l[M]), this.$ = l[M - 1];
1172
+ break;
1173
+ case 43:
1174
+ case 44:
1175
+ this.$ = l[M];
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(s, [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(s, [2, 5]),
1205
+ t(s, [2, 6]),
1206
+ t(s, [2, 7]),
1207
+ t(s, [2, 8]),
1208
+ {
1209
+ 13: 16,
1210
+ 20: e,
1211
+ 21: i
1212
+ },
1213
+ {
1214
+ 13: 20,
1215
+ 18: 19,
1216
+ 20: e,
1217
+ 21: i
1218
+ },
1219
+ {
1220
+ 13: 20,
1221
+ 18: 21,
1222
+ 20: e,
1223
+ 21: i
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: e,
1235
+ 21: i
1236
+ },
1237
+ t(s, [2, 9], {
1238
+ 14: [1, 27],
1239
+ 15: [1, 28]
1240
+ }),
1241
+ t(r, [2, 43]),
1242
+ t(r, [2, 44]),
1243
+ t(s, [2, 13], {
1244
+ 14: [1, 29],
1245
+ 15: [1, 30],
1246
+ 27: o
1247
+ }),
1248
+ t(r, [2, 41]),
1249
+ {
1250
+ 16: [1, 34],
1251
+ 20: [1, 32],
1252
+ 21: [1, 33],
1253
+ 27: o
1254
+ },
1255
+ t(s, [2, 22]),
1256
+ t(s, [2, 24], { 14: [1, 35] }),
1257
+ t(s, [2, 25], { 14: [1, 36] }),
1258
+ t(s, [2, 26]),
1259
+ {
1260
+ 20: h,
1261
+ 25: 37,
1262
+ 26: 38,
1263
+ 27: o
1264
+ },
1265
+ t(s, [2, 10], { 15: [1, 40] }),
1266
+ { 16: [1, 41] },
1267
+ t(s, [2, 14], { 15: [1, 42] }),
1268
+ { 16: [1, 43] },
1269
+ {
1270
+ 13: 44,
1271
+ 20: e,
1272
+ 21: i
1273
+ },
1274
+ t(s, [2, 17], { 14: [1, 45] }),
1275
+ t(s, [2, 18], { 14: [1, 46] }),
1276
+ t(s, [2, 19]),
1277
+ t(s, [2, 27]),
1278
+ t(s, [2, 28]),
1279
+ t(s, [2, 23], { 27: [1, 47] }),
1280
+ t(c, [2, 29]),
1281
+ { 15: [1, 48] },
1282
+ { 16: [1, 49] },
1283
+ t(s, [2, 11]),
1284
+ { 16: [1, 50] },
1285
+ t(s, [2, 15]),
1286
+ t(r, [2, 42]),
1287
+ t(s, [2, 20]),
1288
+ t(s, [2, 21]),
1289
+ {
1290
+ 20: h,
1291
+ 26: 51
1292
+ },
1293
+ {
1294
+ 16: a,
1295
+ 20: u,
1296
+ 21: [1, 53],
1297
+ 28: 52,
1298
+ 29: 54,
1299
+ 30: 55,
1300
+ 31: g,
1301
+ 32: f,
1302
+ 33: m
1303
+ },
1304
+ t(s, [2, 12]),
1305
+ t(s, [2, 16]),
1306
+ t(c, [2, 30]),
1307
+ t(c, [2, 31]),
1308
+ t(c, [2, 32]),
1309
+ t(c, [2, 33], {
1310
+ 30: 61,
1311
+ 16: a,
1312
+ 20: u,
1313
+ 31: g,
1314
+ 32: f,
1315
+ 33: m
1316
+ }),
1317
+ t(y, [2, 34]),
1318
+ t(y, [2, 36]),
1319
+ t(y, [2, 37]),
1320
+ t(y, [2, 38]),
1321
+ t(y, [2, 39]),
1322
+ t(y, [2, 40]),
1323
+ t(y, [2, 35])
1324
+ ],
1325
+ defaultActions: { 6: [2, 1] },
1326
+ parseError: /* @__PURE__ */ w(function(d, v) {
1327
+ if (v.recoverable) this.trace(d);
1328
+ else {
1329
+ var b = Error(d);
1330
+ throw b.hash = v, b;
1331
+ }
1332
+ }, "parseError"),
1333
+ parse: /* @__PURE__ */ w(function(d) {
1334
+ var v = this, b = [0], x = [], I = [null], l = [], p = this.table, M = "", z = 0, R = 0, D = 0, U = 2, T = 1, A = l.slice.call(arguments, 1), S = Object.create(this.lexer), N = { yy: {} };
1335
+ for (var F in this.yy) Object.prototype.hasOwnProperty.call(this.yy, F) && (N.yy[F] = this.yy[F]);
1336
+ S.setInput(d, N.yy), N.yy.lexer = S, N.yy.parser = this, S.yylloc === void 0 && (S.yylloc = {});
1337
+ var $ = S.yylloc;
1338
+ l.push($);
1339
+ var G = S.options && S.options.ranges;
1340
+ typeof N.yy.parseError == "function" ? this.parseError = N.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
1341
+ function K(V) {
1342
+ b.length -= 2 * V, I.length -= V, l.length -= V;
1343
+ }
1344
+ w(K, "popStack");
1345
+ function B() {
1346
+ var V = x.pop() || S.lex() || T;
1347
+ return typeof V != "number" && (V instanceof Array && (x = V, V = x.pop()), V = v.symbols_[V] || V), V;
1348
+ }
1349
+ w(B, "lex");
1350
+ for (var O, j, L, C, tt, k = {}, P, W, Z, X; ; ) {
1351
+ if (L = b[b.length - 1], this.defaultActions[L] ? C = this.defaultActions[L] : (O ??= B(), C = p[L] && p[L][O]), C === void 0 || !C.length || !C[0]) {
1352
+ var Mt = "";
1353
+ for (P in X = [], p[L]) this.terminals_[P] && P > U && X.push("'" + this.terminals_[P] + "'");
1354
+ Mt = S.showPosition ? "Parse error on line " + (z + 1) + `:
1355
+ ` + S.showPosition() + `
1356
+ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : "Parse error on line " + (z + 1) + ": Unexpected " + (O == T ? "end of input" : "'" + (this.terminals_[O] || O) + "'"), this.parseError(Mt, {
1357
+ text: S.match,
1358
+ token: this.terminals_[O] || O,
1359
+ line: S.yylineno,
1360
+ loc: $,
1361
+ expected: X
1362
+ });
1363
+ }
1364
+ if (C[0] instanceof Array && C.length > 1) throw Error("Parse Error: multiple actions possible at state: " + L + ", token: " + O);
1365
+ switch (C[0]) {
1366
+ case 1:
1367
+ b.push(O), I.push(S.yytext), l.push(S.yylloc), b.push(C[1]), O = null, j ? (O = j, j = null) : (R = S.yyleng, M = S.yytext, z = S.yylineno, $ = S.yylloc, D > 0);
1368
+ break;
1369
+ case 2:
1370
+ if (W = this.productions_[C[1]][1], k.$ = I[I.length - W], k._$ = {
1371
+ first_line: l[l.length - (W || 1)].first_line,
1372
+ last_line: l[l.length - 1].last_line,
1373
+ first_column: l[l.length - (W || 1)].first_column,
1374
+ last_column: l[l.length - 1].last_column
1375
+ }, G && (k._$.range = [l[l.length - (W || 1)].range[0], l[l.length - 1].range[1]]), tt = this.performAction.apply(k, [
1376
+ M,
1377
+ R,
1378
+ z,
1379
+ N.yy,
1380
+ C[1],
1381
+ I,
1382
+ l
1383
+ ].concat(A)), tt !== void 0) return tt;
1384
+ W && (b = b.slice(0, -1 * W * 2), I = I.slice(0, -1 * W), l = l.slice(0, -1 * W)), b.push(this.productions_[C[1]][0]), I.push(k.$), l.push(k._$), Z = p[b[b.length - 2]][b[b.length - 1]], b.push(Z);
1385
+ break;
1386
+ case 3:
1387
+ return !0;
1388
+ }
1389
+ }
1390
+ return !0;
1391
+ }, "parse")
1392
+ };
1393
+ _.lexer = /* @__PURE__ */ (function() {
1394
+ return {
1395
+ EOF: 1,
1396
+ parseError: /* @__PURE__ */ w(function(d, v) {
1397
+ if (this.yy.parser) this.yy.parser.parseError(d, v);
1398
+ else throw Error(d);
1399
+ }, "parseError"),
1400
+ setInput: /* @__PURE__ */ w(function(d, v) {
1401
+ return this.yy = v || this.yy || {}, this._input = d, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
1402
+ first_line: 1,
1403
+ first_column: 0,
1404
+ last_line: 1,
1405
+ last_column: 0
1406
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
1407
+ }, "setInput"),
1408
+ input: /* @__PURE__ */ w(function() {
1409
+ var d = this._input[0];
1410
+ return this.yytext += d, this.yyleng++, this.offset++, this.match += d, this.matched += d, d.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), d;
1411
+ }, "input"),
1412
+ unput: /* @__PURE__ */ w(function(d) {
1413
+ var v = d.length, b = d.split(/(?:\r\n?|\n)/g);
1414
+ this._input = d + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - v), this.offset -= v;
1415
+ var x = this.match.split(/(?:\r\n?|\n)/g);
1416
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), b.length - 1 && (this.yylineno -= b.length - 1);
1417
+ var I = this.yylloc.range;
1418
+ return this.yylloc = {
1419
+ first_line: this.yylloc.first_line,
1420
+ last_line: this.yylineno + 1,
1421
+ first_column: this.yylloc.first_column,
1422
+ last_column: b ? (b.length === x.length ? this.yylloc.first_column : 0) + x[x.length - b.length].length - b[0].length : this.yylloc.first_column - v
1423
+ }, this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - v]), this.yyleng = this.yytext.length, this;
1424
+ }, "unput"),
1425
+ more: /* @__PURE__ */ w(function() {
1426
+ return this._more = !0, this;
1427
+ }, "more"),
1428
+ reject: /* @__PURE__ */ w(function() {
1429
+ if (this.options.backtrack_lexer) this._backtrack = !0;
1430
+ 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).
1431
+ ` + this.showPosition(), {
1432
+ text: "",
1433
+ token: null,
1434
+ line: this.yylineno
1435
+ });
1436
+ return this;
1437
+ }, "reject"),
1438
+ less: /* @__PURE__ */ w(function(d) {
1439
+ this.unput(this.match.slice(d));
1440
+ }, "less"),
1441
+ pastInput: /* @__PURE__ */ w(function() {
1442
+ var d = this.matched.substr(0, this.matched.length - this.match.length);
1443
+ return (d.length > 20 ? "..." : "") + d.substr(-20).replace(/\n/g, "");
1444
+ }, "pastInput"),
1445
+ upcomingInput: /* @__PURE__ */ w(function() {
1446
+ var d = this.match;
1447
+ return d.length < 20 && (d += this._input.substr(0, 20 - d.length)), (d.substr(0, 20) + (d.length > 20 ? "..." : "")).replace(/\n/g, "");
1448
+ }, "upcomingInput"),
1449
+ showPosition: /* @__PURE__ */ w(function() {
1450
+ var d = this.pastInput(), v = Array(d.length + 1).join("-");
1451
+ return d + this.upcomingInput() + `
1452
+ ` + v + "^";
1453
+ }, "showPosition"),
1454
+ test_match: /* @__PURE__ */ w(function(d, v) {
1455
+ var b, x, I;
1456
+ if (this.options.backtrack_lexer && (I = {
1457
+ yylineno: this.yylineno,
1458
+ yylloc: {
1459
+ first_line: this.yylloc.first_line,
1460
+ last_line: this.last_line,
1461
+ first_column: this.yylloc.first_column,
1462
+ last_column: this.yylloc.last_column
1463
+ },
1464
+ yytext: this.yytext,
1465
+ match: this.match,
1466
+ matches: this.matches,
1467
+ matched: this.matched,
1468
+ yyleng: this.yyleng,
1469
+ offset: this.offset,
1470
+ _more: this._more,
1471
+ _input: this._input,
1472
+ yy: this.yy,
1473
+ conditionStack: this.conditionStack.slice(0),
1474
+ done: this.done
1475
+ }, this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))), x = d[0].match(/(?:\r\n?|\n).*/g), x && (this.yylineno += x.length), this.yylloc = {
1476
+ first_line: this.yylloc.last_line,
1477
+ last_line: this.yylineno + 1,
1478
+ first_column: this.yylloc.last_column,
1479
+ last_column: x ? x[x.length - 1].length - x[x.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + d[0].length
1480
+ }, this.yytext += d[0], this.match += d[0], this.matches = d, 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(d[0].length), this.matched += d[0], b = this.performAction.call(this, this.yy, this, v, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), b) return b;
1481
+ if (this._backtrack) {
1482
+ for (var l in I) this[l] = I[l];
1483
+ return !1;
1484
+ }
1485
+ return !1;
1486
+ }, "test_match"),
1487
+ next: /* @__PURE__ */ w(function() {
1488
+ if (this.done) return this.EOF;
1489
+ this._input || (this.done = !0);
1490
+ var d, v, b, x;
1491
+ this._more || (this.yytext = "", this.match = "");
1492
+ for (var I = this._currentRules(), l = 0; l < I.length; l++) if (b = this._input.match(this.rules[I[l]]), b && (!v || b[0].length > v[0].length)) {
1493
+ if (v = b, x = l, this.options.backtrack_lexer) {
1494
+ if (d = this.test_match(b, I[l]), d !== !1) return d;
1495
+ if (this._backtrack) {
1496
+ v = !1;
1497
+ continue;
1498
+ } else return !1;
1499
+ } else if (!this.options.flex) break;
1500
+ }
1501
+ return v ? (d = this.test_match(v, I[x]), d === !1 ? !1 : d) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
1502
+ ` + this.showPosition(), {
1503
+ text: "",
1504
+ token: null,
1505
+ line: this.yylineno
1506
+ });
1507
+ }, "next"),
1508
+ lex: /* @__PURE__ */ w(function() {
1509
+ return this.next() || this.lex();
1510
+ }, "lex"),
1511
+ begin: /* @__PURE__ */ w(function(d) {
1512
+ this.conditionStack.push(d);
1513
+ }, "begin"),
1514
+ popState: /* @__PURE__ */ w(function() {
1515
+ return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0];
1516
+ }, "popState"),
1517
+ _currentRules: /* @__PURE__ */ w(function() {
1518
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
1519
+ }, "_currentRules"),
1520
+ topState: /* @__PURE__ */ w(function(d) {
1521
+ return d = this.conditionStack.length - 1 - Math.abs(d || 0), d >= 0 ? this.conditionStack[d] : "INITIAL";
1522
+ }, "topState"),
1523
+ pushState: /* @__PURE__ */ w(function(d) {
1524
+ this.begin(d);
1525
+ }, "pushState"),
1526
+ stateStackSize: /* @__PURE__ */ w(function() {
1527
+ return this.conditionStack.length;
1528
+ }, "stateStackSize"),
1529
+ options: { "case-insensitive": !0 },
1530
+ performAction: /* @__PURE__ */ w(function(d, v, b, x) {
1531
+ switch (b) {
1532
+ case 0:
1533
+ break;
1534
+ case 1:
1535
+ break;
1536
+ case 2:
1537
+ break;
1538
+ case 3:
1539
+ if (d.getIndentMode && d.getIndentMode()) return d.consumeIndentText = !0, this.begin("INITIAL"), 22;
1540
+ break;
1541
+ case 4:
1542
+ break;
1543
+ case 5:
1544
+ d.setIndentMode && d.setIndentMode(!1), this.begin("INITIAL"), this.unput(v.yytext);
1545
+ break;
1546
+ case 6:
1547
+ return this.begin("bol"), 8;
1548
+ case 7:
1549
+ break;
1550
+ case 8:
1551
+ break;
1552
+ case 9:
1553
+ return 7;
1554
+ case 10:
1555
+ return 11;
1556
+ case 11:
1557
+ return 5;
1558
+ case 12:
1559
+ return 12;
1560
+ case 13:
1561
+ return 17;
1562
+ case 14:
1563
+ if (d.consumeIndentText) d.consumeIndentText = !1;
1564
+ else return 19;
1565
+ break;
1566
+ case 15:
1567
+ return 24;
1568
+ case 16:
1569
+ return v.yytext = v.yytext.slice(2, -2), 14;
1570
+ case 17:
1571
+ return v.yytext = v.yytext.slice(1, -1).trim(), 14;
1572
+ case 18:
1573
+ return 16;
1574
+ case 19:
1575
+ return 31;
1576
+ case 20:
1577
+ return 33;
1578
+ case 21:
1579
+ return 32;
1580
+ case 22:
1581
+ return 20;
1582
+ case 23:
1583
+ return 21;
1584
+ case 24:
1585
+ return 27;
1586
+ case 25:
1587
+ return 15;
1588
+ }
1589
+ }, "anonymous"),
1590
+ rules: [
1591
+ /^(?:%%(?!\{)[^\n]*)/i,
1592
+ /^(?:[^\}]%%[^\n]*)/i,
1593
+ /^(?:[ \t]+(?=[\n\r]))/i,
1594
+ /^(?:[ \t]+(?=text\b))/i,
1595
+ /^(?:[ \t]+)/i,
1596
+ /^(?:[^ \t\n\r])/i,
1597
+ /^(?:[\n\r]+)/i,
1598
+ /^(?:%%[^\n]*)/i,
1599
+ /^(?:[ \t]+)/i,
1600
+ /^(?:$)/i,
1601
+ /^(?:title\s[^#\n;]+)/i,
1602
+ /^(?:venn-beta\b)/i,
1603
+ /^(?:set\b)/i,
1604
+ /^(?:union\b)/i,
1605
+ /^(?:text\b)/i,
1606
+ /^(?:style\b)/i,
1607
+ /^(?:\["[^\"]*"\])/i,
1608
+ /^(?:\[[^\]\"]+\])/i,
1609
+ /^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,
1610
+ /^(?:#[0-9a-fA-F]{3,8})/i,
1611
+ /^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,
1612
+ /^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,
1613
+ /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,
1614
+ /^(?:"[^\"]*")/i,
1615
+ /^(?:,)/i,
1616
+ /^(?::)/i
1617
+ ],
1618
+ conditions: {
1619
+ bol: {
1620
+ rules: [
1621
+ 0,
1622
+ 1,
1623
+ 2,
1624
+ 3,
1625
+ 4,
1626
+ 5,
1627
+ 6,
1628
+ 7,
1629
+ 8,
1630
+ 9,
1631
+ 10,
1632
+ 11,
1633
+ 12,
1634
+ 13,
1635
+ 14,
1636
+ 15,
1637
+ 16,
1638
+ 17,
1639
+ 18,
1640
+ 19,
1641
+ 20,
1642
+ 21,
1643
+ 22,
1644
+ 23,
1645
+ 24,
1646
+ 25
1647
+ ],
1648
+ inclusive: !0
1649
+ },
1650
+ INITIAL: {
1651
+ rules: [
1652
+ 0,
1653
+ 1,
1654
+ 6,
1655
+ 7,
1656
+ 8,
1657
+ 9,
1658
+ 10,
1659
+ 11,
1660
+ 12,
1661
+ 13,
1662
+ 14,
1663
+ 15,
1664
+ 16,
1665
+ 17,
1666
+ 18,
1667
+ 19,
1668
+ 20,
1669
+ 21,
1670
+ 22,
1671
+ 23,
1672
+ 24,
1673
+ 25
1674
+ ],
1675
+ inclusive: !0
1676
+ }
1677
+ }
1678
+ };
1679
+ })();
1680
+ function E() {
1681
+ this.yy = {};
1682
+ }
1683
+ return w(E, "Parser"), E.prototype = _, _.Parser = E, new E();
1684
+ })();
1685
+ dt.parser = dt;
1686
+ var _e = dt, gt = [], xt = [], pt = [], mt = /* @__PURE__ */ new Set(), bt, vt = !1, we = /* @__PURE__ */ w((t, n, s) => {
1687
+ let e = st(t).sort(), i = s ?? 10 / t.length ** 2;
1688
+ bt = e, e.length === 1 && mt.add(e[0]), gt.push({
1689
+ sets: e,
1690
+ size: i,
1691
+ label: n ? et(n) : void 0
1692
+ });
1693
+ }, "addSubsetData"), Ee = /* @__PURE__ */ w(() => gt, "getSubsetData"), et = /* @__PURE__ */ w((t) => {
1694
+ let n = t.trim();
1695
+ return n.length >= 2 && n.startsWith('"') && n.endsWith('"') ? n.slice(1, -1) : n;
1696
+ }, "normalizeText"), Se = /* @__PURE__ */ w((t) => t && et(t), "normalizeStyleValue"), ze = /* @__PURE__ */ w((t, n, s) => {
1697
+ let e = et(n);
1698
+ xt.push({
1699
+ sets: st(t).sort(),
1700
+ id: e,
1701
+ label: s ? et(s) : void 0
1702
+ });
1703
+ }, "addTextData"), Te = /* @__PURE__ */ w((t, n) => {
1704
+ let s = st(t).sort(), e = {};
1705
+ for (let [i, r] of n) e[i] = Se(r) ?? r;
1706
+ pt.push({
1707
+ targets: s,
1708
+ styles: e
1709
+ });
1710
+ }, "addStyleData"), Ae = /* @__PURE__ */ w(() => pt, "getStyleData"), st = /* @__PURE__ */ w((t) => t.map((n) => et(n)), "normalizeIdentifierList"), $e = /* @__PURE__ */ w((t) => {
1711
+ let n = st(t).filter((s) => !mt.has(s));
1712
+ if (n.length > 0) throw Error(`unknown set identifier: ${n.join(", ")}`);
1713
+ }, "validateUnionIdentifiers"), Re = /* @__PURE__ */ w(() => xt, "getTextData"), Ne = /* @__PURE__ */ w(() => bt, "getCurrentSets"), De = /* @__PURE__ */ w(() => vt, "getIndentMode"), Fe = /* @__PURE__ */ w((t) => {
1714
+ vt = t;
1715
+ }, "setIndentMode"), Oe = re.venn;
1716
+ function qt() {
1717
+ return se(Oe, wt().venn);
1718
+ }
1719
+ w(qt, "getConfig");
1720
+ var Ce = {
1721
+ getConfig: qt,
1722
+ clear: /* @__PURE__ */ w(() => {
1723
+ ne(), gt.length = 0, xt.length = 0, pt.length = 0, mt.clear(), bt = void 0, vt = !1;
1724
+ }, "customClear"),
1725
+ setAccTitle: Ht,
1726
+ getAccTitle: Xt,
1727
+ setDiagramTitle: Kt,
1728
+ getDiagramTitle: Vt,
1729
+ getAccDescription: Wt,
1730
+ setAccDescription: Gt,
1731
+ addSubsetData: we,
1732
+ getSubsetData: Ee,
1733
+ addTextData: ze,
1734
+ addStyleData: Te,
1735
+ validateUnionIdentifiers: $e,
1736
+ getTextData: Re,
1737
+ getStyleData: Ae,
1738
+ getCurrentSets: Ne,
1739
+ getIndentMode: De,
1740
+ setIndentMode: Fe
1741
+ }, Pe = /* @__PURE__ */ w((t) => `
1742
+ .venn-title {
1743
+ font-size: 32px;
1744
+ fill: ${t.vennTitleTextColor};
1745
+ font-family: ${t.fontFamily};
1746
+ }
1747
+
1748
+ .venn-circle text {
1749
+ font-size: 48px;
1750
+ font-family: ${t.fontFamily};
1751
+ }
1752
+
1753
+ .venn-intersection text {
1754
+ font-size: 48px;
1755
+ fill: ${t.vennSetTextColor};
1756
+ font-family: ${t.fontFamily};
1757
+ }
1758
+
1759
+ .venn-text-node {
1760
+ font-family: ${t.fontFamily};
1761
+ color: ${t.vennSetTextColor};
1762
+ }
1763
+ `, "getStyles");
1764
+ function Ut(t) {
1765
+ let n = /* @__PURE__ */ new Map();
1766
+ for (let s of t) {
1767
+ let e = s.targets.join("|"), i = n.get(e);
1768
+ i ? Object.assign(i, s.styles) : n.set(e, { ...s.styles });
1769
+ }
1770
+ return n;
1771
+ }
1772
+ w(Ut, "buildStyleByKey");
1773
+ var Le = /* @__PURE__ */ w((t, n, s, e) => {
1774
+ let i = e.db, r = i.getConfig?.(), { themeVariables: o, look: h, handDrawnSeed: c } = wt(), a = h === "handDrawn", u = [
1775
+ o.venn1,
1776
+ o.venn2,
1777
+ o.venn3,
1778
+ o.venn4,
1779
+ o.venn5,
1780
+ o.venn6,
1781
+ o.venn7,
1782
+ o.venn8
1783
+ ].filter(Boolean), g = i.getDiagramTitle?.(), f = i.getSubsetData(), m = i.getTextData(), y = Ut(i.getStyleData()), _ = r?.width ?? 800, E = r?.height ?? 450, d = _ / 1600, v = g ? 48 * d : 0, b = o.primaryTextColor ?? o.textColor, x = Yt(n);
1784
+ x.attr("viewBox", `0 0 ${_} ${E}`), g && x.append("text").text(g).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", o.vennTitleTextColor || o.titleColor);
1785
+ let I = it(document.createElement("div")), l = be().width(_).height(E - v);
1786
+ I.datum(f).call(l);
1787
+ let p = a ? Zt.svg(I.select("svg").node()) : void 0, M = ke(f, {
1788
+ width: _,
1789
+ height: E - v,
1790
+ padding: r?.padding ?? 15
1791
+ }), z = /* @__PURE__ */ new Map();
1792
+ for (let T of M) {
1793
+ let A = Y([...T.data.sets].sort());
1794
+ z.set(A, T);
1795
+ }
1796
+ m.length > 0 && Bt(r, z, I, m, d, y);
1797
+ let R = Jt(o.background || "#f4f4f4");
1798
+ I.selectAll(".venn-circle").each(function(T, A) {
1799
+ let S = it(this), N = Y([...T.sets].sort()), F = y.get(N), $ = F?.fill || u[A % u.length] || o.primaryColor;
1800
+ S.classed(`venn-set-${A % 8}`, !0);
1801
+ let G = F?.["fill-opacity"] ?? 0.1, K = F?.stroke || $, B = F?.["stroke-width"] || `${5 * d}`;
1802
+ if (a && p) {
1803
+ let j = z.get(N);
1804
+ if (j && j.circles.length > 0) {
1805
+ let L = j.circles[0], C = p.circle(L.x, L.y, L.radius * 2, {
1806
+ roughness: 0.7,
1807
+ seed: c,
1808
+ fill: It($, 0.7),
1809
+ fillStyle: "hachure",
1810
+ fillWeight: 2,
1811
+ hachureGap: 8,
1812
+ hachureAngle: -41 + A * 60,
1813
+ stroke: K,
1814
+ strokeWidth: parseFloat(String(B))
1815
+ });
1816
+ S.select("path").remove(), S.node()?.insertBefore(C, S.select("text").node());
1817
+ }
1818
+ } else S.select("path").style("fill", $).style("fill-opacity", G).style("stroke", K).style("stroke-width", B).style("stroke-opacity", 0.95);
1819
+ let O = F?.color || (R ? Qt($, 30) : te($, 30));
1820
+ S.select("text").style("font-size", `${48 * d}px`).style("fill", O);
1821
+ }), a && p ? I.selectAll(".venn-intersection").each(function(T) {
1822
+ let A = it(this), S = Y([...T.sets].sort()), N = y.get(S), F = N?.fill;
1823
+ if (F) {
1824
+ let $ = A.select("path"), G = $.attr("d");
1825
+ if (G) {
1826
+ let K = p.path(G, {
1827
+ roughness: 0.7,
1828
+ seed: c,
1829
+ fill: It(F, 0.3),
1830
+ fillStyle: "cross-hatch",
1831
+ fillWeight: 2,
1832
+ hachureGap: 6,
1833
+ hachureAngle: 60,
1834
+ stroke: "none"
1835
+ }), B = $.node();
1836
+ B?.parentNode?.insertBefore(K, B), $.remove();
1837
+ }
1838
+ } else A.select("path").style("fill-opacity", 0);
1839
+ A.select("text").style("font-size", `${48 * d}px`).style("fill", N?.color ?? o.vennSetTextColor ?? b);
1840
+ }) : (I.selectAll(".venn-intersection text").style("font-size", `${48 * d}px`).style("fill", (T) => {
1841
+ let A = Y([...T.sets].sort());
1842
+ return y.get(A)?.color ?? o.vennSetTextColor ?? b;
1843
+ }), I.selectAll(".venn-intersection path").style("fill-opacity", (T) => {
1844
+ let A = Y([...T.sets].sort());
1845
+ return +!!y.get(A)?.fill;
1846
+ }).style("fill", (T) => {
1847
+ let A = Y([...T.sets].sort());
1848
+ return y.get(A)?.fill ?? "transparent";
1849
+ }));
1850
+ let D = x.append("g").attr("transform", `translate(0, ${v})`), U = I.select("svg").node();
1851
+ if (U && "childNodes" in U) for (let T of [...U.childNodes]) D.node()?.appendChild(T);
1852
+ ee(x, E, _, r?.useMaxWidth ?? !0);
1853
+ }, "draw");
1854
+ function Y(t) {
1855
+ return t.join("|");
1856
+ }
1857
+ w(Y, "stableSetsKey");
1858
+ function Bt(t, n, s, e, i, r) {
1859
+ let o = t?.useDebugLayout ?? !1, h = s.select("svg").append("g").attr("class", "venn-text-nodes"), c = /* @__PURE__ */ new Map();
1860
+ for (let a of e) {
1861
+ let u = Y(a.sets), g = c.get(u);
1862
+ g ? g.push(a) : c.set(u, [a]);
1863
+ }
1864
+ for (let [a, u] of c.entries()) {
1865
+ let g = n.get(a);
1866
+ if (!g?.text) continue;
1867
+ let f = g.text.x, m = g.text.y, y = Math.min(...g.circles.map((D) => D.radius)), _ = Math.min(...g.circles.map((D) => D.radius - Math.hypot(f - D.x, m - D.y))), E = Number.isFinite(_) ? Math.max(0, _) : 0;
1868
+ E === 0 && Number.isFinite(y) && (E = y * 0.6);
1869
+ let d = h.append("g").attr("class", "venn-text-area").attr("font-size", `${40 * i}px`);
1870
+ o && d.append("circle").attr("class", "venn-text-debug-circle").attr("cx", f).attr("cy", m).attr("r", E).attr("fill", "none").attr("stroke", "purple").attr("stroke-width", 1.5 * i).attr("stroke-dasharray", `${6 * i} ${4 * i}`);
1871
+ let v = Math.max(80 * i, E * 2 * 0.95), b = Math.max(60 * i, E * 2 * 0.95), x = (g.data.label && g.data.label.length > 0 ? Math.min(32 * i, E * 0.25) : 0) + (u.length <= 2 ? 30 * i : 0), I = f - v / 2, l = m - b / 2 + x, p = Math.max(1, Math.ceil(Math.sqrt(u.length))), M = Math.max(1, Math.ceil(u.length / p)), z = v / p, R = b / M;
1872
+ for (let [D, U] of u.entries()) {
1873
+ let T = D % p, A = Math.floor(D / p), S = I + z * (T + 0.5), N = l + R * (A + 0.5);
1874
+ o && d.append("rect").attr("class", "venn-text-debug-cell").attr("x", I + z * T).attr("y", l + R * A).attr("width", z).attr("height", R).attr("fill", "none").attr("stroke", "teal").attr("stroke-width", 1 * i).attr("stroke-dasharray", `${4 * i} ${3 * i}`);
1875
+ let F = z * 0.9, $ = R * 0.9, G = d.append("foreignObject").attr("class", "venn-text-node-fo").attr("width", F).attr("height", $).attr("x", S - F / 2).attr("y", N - $ / 2).attr("overflow", "visible"), K = r.get(U.id)?.color, B = G.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(U.label ?? U.id);
1876
+ K && B.style("color", K);
1877
+ }
1878
+ }
1879
+ }
1880
+ w(Bt, "renderTextNodes");
1881
+ var qe = {
1882
+ parser: _e,
1883
+ db: Ce,
1884
+ renderer: { draw: Le },
1885
+ styles: Pe
1886
+ };
1887
+ export {
1888
+ qe as diagram
1889
+ };