hex-audit 0.6.3 → 0.7.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 (332) hide show
  1. package/DEMO.md +13 -0
  2. package/README.md +60 -6
  3. package/dashboard/.next/BUILD_ID +1 -1
  4. package/dashboard/.next/app-build-manifest.json +100 -89
  5. package/dashboard/.next/app-path-routes-manifest.json +1 -1
  6. package/dashboard/.next/build-manifest.json +14 -14
  7. package/dashboard/.next/next-minimal-server.js.nft.json +1 -1
  8. package/dashboard/.next/next-server.js.nft.json +1 -1
  9. package/dashboard/.next/prerender-manifest.js +1 -1
  10. package/dashboard/.next/prerender-manifest.json +1 -1
  11. package/dashboard/.next/react-loadable-manifest.json +118 -118
  12. package/dashboard/.next/routes-manifest.json +1 -1
  13. package/dashboard/.next/server/app/_not-found/page.js +1 -1
  14. package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/dashboard/.next/server/app/access/page.js +1 -1
  16. package/dashboard/.next/server/app/access/page.js.nft.json +1 -1
  17. package/dashboard/.next/server/app/access/page_client-reference-manifest.js +1 -1
  18. package/dashboard/.next/server/app/calls/page.js +1 -1
  19. package/dashboard/.next/server/app/calls/page.js.nft.json +1 -1
  20. package/dashboard/.next/server/app/calls/page_client-reference-manifest.js +1 -1
  21. package/dashboard/.next/server/app/changes/page.js +20 -0
  22. package/dashboard/.next/server/app/changes/page.js.nft.json +1 -0
  23. package/dashboard/.next/server/app/changes/page_client-reference-manifest.js +1 -0
  24. package/dashboard/.next/server/app/conformance/page.js +1 -1
  25. package/dashboard/.next/server/app/conformance/page_client-reference-manifest.js +1 -1
  26. package/dashboard/.next/server/app/diagram/page.js +1 -1
  27. package/dashboard/.next/server/app/diagram/page_client-reference-manifest.js +1 -1
  28. package/dashboard/.next/server/app/flows/page.js +1 -1
  29. package/dashboard/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  30. package/dashboard/.next/server/app/functions/page.js +1 -1
  31. package/dashboard/.next/server/app/functions/page.js.nft.json +1 -1
  32. package/dashboard/.next/server/app/functions/page_client-reference-manifest.js +1 -1
  33. package/dashboard/.next/server/app/issues/page.js +6 -6
  34. package/dashboard/.next/server/app/issues/page_client-reference-manifest.js +1 -1
  35. package/dashboard/.next/server/app/notes/page.js +3 -3
  36. package/dashboard/.next/server/app/notes/page_client-reference-manifest.js +1 -1
  37. package/dashboard/.next/server/app/page.js +2 -2
  38. package/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  39. package/dashboard/.next/server/app/progress/page.js +1 -1
  40. package/dashboard/.next/server/app/progress/page_client-reference-manifest.js +1 -1
  41. package/dashboard/.next/server/app/report/page.js +1 -1
  42. package/dashboard/.next/server/app/report/page_client-reference-manifest.js +1 -1
  43. package/dashboard/.next/server/app/stats/page.js +1 -1
  44. package/dashboard/.next/server/app/stats/page.js.nft.json +1 -1
  45. package/dashboard/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  46. package/dashboard/.next/server/app-paths-manifest.json +8 -7
  47. package/dashboard/.next/server/chunks/42.js +1 -1
  48. package/dashboard/.next/server/chunks/530.js +1 -1
  49. package/dashboard/.next/server/chunks/649.js +1 -1
  50. package/dashboard/.next/server/chunks/939.js +1 -0
  51. package/dashboard/.next/server/functions-config-manifest.json +1 -1
  52. package/dashboard/.next/server/middleware-build-manifest.js +1 -1
  53. package/dashboard/.next/server/middleware-react-loadable-manifest.js +1 -1
  54. package/dashboard/.next/server/next-font-manifest.js +1 -1
  55. package/dashboard/.next/server/next-font-manifest.json +1 -1
  56. package/dashboard/.next/server/pages/500.html +1 -1
  57. package/dashboard/.next/server/pages-manifest.json +1 -1
  58. package/dashboard/.next/server/server-reference-manifest.js +1 -1
  59. package/dashboard/.next/server/server-reference-manifest.json +1 -1
  60. package/dashboard/.next/static/chunks/{1.8868c4d131111be7.js → 1.a666047ea18866fb.js} +2 -2
  61. package/dashboard/.next/static/chunks/1015.39008440ab15e196.js +226 -0
  62. package/dashboard/.next/static/chunks/1151.497fa63c5b9eba52.js +1 -0
  63. package/dashboard/.next/static/chunks/1199.f30cbfa151e56076.js +148 -0
  64. package/dashboard/.next/static/chunks/1375.64c20f1064a38a10.js +43 -0
  65. package/dashboard/.next/static/chunks/1799.8dc56017eede704e.js +9 -0
  66. package/dashboard/.next/static/chunks/20154aaa.e87f69fe10483f8b.js +1 -0
  67. package/dashboard/.next/static/chunks/2077.5603adeb156c7d10.js +1 -0
  68. package/dashboard/.next/static/chunks/2166.9f6592b9399eadd8.js +215 -0
  69. package/dashboard/.next/static/chunks/{2291.85a70cb0c228157b.js → 2291.584b42ccad079b99.js} +1 -1
  70. package/dashboard/.next/static/chunks/2325.7decd077edfb81d9.js +24 -0
  71. package/dashboard/.next/static/chunks/{2383.62c035a052272594.js → 2383.ca81f980ce6528a4.js} +1 -1
  72. package/dashboard/.next/static/chunks/2694.7dfa5fef28851903.js +1 -0
  73. package/dashboard/.next/static/chunks/275.38af87389c1d33d7.js +34 -0
  74. package/dashboard/.next/static/chunks/2781.fba46046dbf2693b.js +93 -0
  75. package/dashboard/.next/static/chunks/2805.35b4cd8a94978aaf.js +1 -0
  76. package/dashboard/.next/static/chunks/{2879.51436986f93981d9.js → 2879.74d65e33e60505ee.js} +1 -1
  77. package/dashboard/.next/static/chunks/3017.4a5312e3c20a173f.js +1 -0
  78. package/dashboard/.next/static/chunks/3205-47d09be47325709f.js +2 -0
  79. package/dashboard/.next/static/chunks/3236.eac9855778a54518.js +1 -0
  80. package/dashboard/.next/static/chunks/3480.853a445a3784642a.js +1 -0
  81. package/dashboard/.next/static/chunks/3626.c5dacee11c8fbc4d.js +64 -0
  82. package/dashboard/.next/static/chunks/3865.5e6d2d501380e03b.js +90 -0
  83. package/dashboard/.next/static/chunks/3887.073cece834a4eae2.js +1 -0
  84. package/dashboard/.next/static/chunks/3924-88d849290406ee6f.js +1 -0
  85. package/dashboard/.next/static/chunks/3948.74201b9f0672234d.js +287 -0
  86. package/dashboard/.next/static/chunks/4728.e69372b5e5b61b8d.js +24 -0
  87. package/dashboard/.next/static/chunks/4787.821a6ad2816cdc60.js +23 -0
  88. package/dashboard/.next/static/chunks/5060.47402abc10273699.js +1 -0
  89. package/dashboard/.next/static/chunks/5284.334c7c0587d5d47a.js +1 -0
  90. package/dashboard/.next/static/chunks/5715.e16b1230cc4b4652.js +115 -0
  91. package/dashboard/.next/static/chunks/6014.641a2c53ba506241.js +104 -0
  92. package/dashboard/.next/static/chunks/6024.f099c15f75aa6722.js +79 -0
  93. package/dashboard/.next/static/chunks/{6052.033a6f1013c666eb.js → 6052.3001318955e5b36c.js} +2 -2
  94. package/dashboard/.next/static/chunks/6177.a01cf0a03734cf09.js +1 -0
  95. package/dashboard/.next/static/chunks/618f8807-69fc7bb97c2b87c1.js +1 -0
  96. package/dashboard/.next/static/chunks/6434.f560693253fea8de.js +1 -0
  97. package/dashboard/.next/static/chunks/6468.976d89ba133185f1.js +77 -0
  98. package/dashboard/.next/static/chunks/6540.6f3c4f2c6877ed89.js +1 -0
  99. package/dashboard/.next/static/chunks/6549.e3c4c1766cff1449.js +1 -0
  100. package/dashboard/.next/static/chunks/690f35d0.ab57e02a04c7e9e0.js +119 -0
  101. package/dashboard/.next/static/chunks/{7020.831e16e26d91abc1.js → 7020.b718b1b9cea36e60.js} +2 -2
  102. package/dashboard/.next/static/chunks/7397-37adf76cad543297.js +1 -0
  103. package/dashboard/.next/static/chunks/7498-d1814d68ba346d13.js +1 -0
  104. package/dashboard/.next/static/chunks/7802.f0134c792fccd382.js +80 -0
  105. package/dashboard/.next/static/chunks/7973.e34032723285a616.js +79 -0
  106. package/dashboard/.next/static/chunks/{7a04ac15.1c6cea694301806c.js → 7a04ac15.e49de94ece135900.js} +1 -1
  107. package/dashboard/.next/static/chunks/8216.1138ec313908a708.js +5 -0
  108. package/dashboard/.next/static/chunks/{8233babc.780b8e272eda298f.js → 8233babc.09872dcb3ff44064.js} +1 -1
  109. package/dashboard/.next/static/chunks/{8452-e616b5f43bceb95f.js → 8452-6d77fa353402422c.js} +2 -2
  110. package/dashboard/.next/static/chunks/8645.98a43217d406500e.js +1 -0
  111. package/dashboard/.next/static/chunks/8928-fc049decdfbdaa6d.js +1 -0
  112. package/dashboard/.next/static/chunks/9173.a7160f7d0b685fa7.js +1 -0
  113. package/dashboard/.next/static/chunks/9178.998a8c49996de8e4.js +1 -0
  114. package/dashboard/.next/static/chunks/9466.a914ce0de7d3bb84.js +1 -0
  115. package/dashboard/.next/static/chunks/9660.b1c8deae2c449d14.js +1 -0
  116. package/dashboard/.next/static/chunks/{9717.6cf5c8c89403b651.js → 9717.bba51b78ebd8fd29.js} +1 -1
  117. package/dashboard/.next/static/chunks/9720.d63a0696776bcc60.js +1 -0
  118. package/dashboard/.next/static/chunks/9811.2993c4cbd28e8d1b.js +1 -0
  119. package/dashboard/.next/static/chunks/app/_not-found/page-c299b935209993df.js +1 -0
  120. package/dashboard/.next/static/chunks/app/access/page-f8403cbdfc1c176b.js +1 -0
  121. package/dashboard/.next/static/chunks/app/calls/page-41f20d01e12382ef.js +1 -0
  122. package/dashboard/.next/static/chunks/app/changes/page-82bf8b6f48cdc506.js +1 -0
  123. package/dashboard/.next/static/chunks/app/conformance/page-6bb8e3b372e38098.js +1 -0
  124. package/dashboard/.next/static/chunks/app/diagram/page-469cd7a6f183efba.js +1 -0
  125. package/dashboard/.next/static/chunks/app/flows/page-7872dd9141ba0b07.js +1 -0
  126. package/dashboard/.next/static/chunks/app/functions/page-5847bcb77a8e7edf.js +1 -0
  127. package/dashboard/.next/static/chunks/app/issues/page-1ffc64fe40439002.js +1 -0
  128. package/dashboard/.next/static/chunks/app/layout-6c6d2a0fd7c989d3.js +1 -0
  129. package/dashboard/.next/static/chunks/app/notes/page-8bcaa52304500098.js +1 -0
  130. package/dashboard/.next/static/chunks/app/page-d63800ddb072b77b.js +1 -0
  131. package/dashboard/.next/static/chunks/app/progress/page-e26554f655a62eef.js +1 -0
  132. package/dashboard/.next/static/chunks/app/report/page-18c04fb2f193b020.js +1 -0
  133. package/dashboard/.next/static/chunks/app/stats/page-67ff59fd69bed651.js +1 -0
  134. package/dashboard/.next/static/chunks/{b7167ec1.7afbab6f609e3326.js → b7167ec1.708a3d61698ca2e6.js} +1 -1
  135. package/dashboard/.next/static/chunks/c7ea4e13.3073a2f551aa5ac8.js +1 -0
  136. package/dashboard/.next/static/chunks/framework-a117d81bf1b91f9a.js +33 -0
  137. package/dashboard/.next/static/chunks/main-app-5662c64b50ba40d1.js +1 -0
  138. package/dashboard/.next/static/chunks/main-cc3a889b25e9aa68.js +1 -0
  139. package/dashboard/.next/static/chunks/pages/_app-308fef0bf9b328f2.js +1 -0
  140. package/dashboard/.next/static/chunks/pages/_error-c91b5eabd7ac9382.js +1 -0
  141. package/dashboard/.next/static/chunks/webpack-4de0e79bdd6a0418.js +1 -0
  142. package/dashboard/.next/static/css/1112cea2260b3926.css +3 -0
  143. package/dashboard/.next/static/media/39f449c8730c2295-s.woff2 +0 -0
  144. package/dashboard/.next/static/media/86f65e8637cc94e3-s.woff2 +0 -0
  145. package/dashboard/.next/static/media/8760c4774489e4ba-s.p.woff2 +0 -0
  146. package/dashboard/.next/static/media/9fabb9c65b63d798-s.woff2 +0 -0
  147. package/dashboard/.next/static/media/a1f87af3f44fadbb-s.woff2 +0 -0
  148. package/dashboard/.next/static/media/f9e1dbe9676d9bb6-s.woff2 +0 -0
  149. package/dashboard/.next/static/z5XBev05xDAkDrxWxAjNu/_buildManifest.js +1 -0
  150. package/dashboard/app/changes/ChangesClient.tsx +464 -0
  151. package/dashboard/app/changes/page.tsx +36 -0
  152. package/dashboard/app/issues/IssuesBoardClient.tsx +11 -1
  153. package/dashboard/app/layout.tsx +13 -1
  154. package/dashboard/app/notes/NotesClient.tsx +5 -0
  155. package/dashboard/app/page.tsx +42 -0
  156. package/dashboard/components/DashboardLayout.tsx +43 -18
  157. package/dist/analysis/code-model.d.ts +113 -0
  158. package/dist/analysis/code-model.d.ts.map +1 -0
  159. package/dist/analysis/code-model.js +529 -0
  160. package/dist/analysis/code-model.js.map +1 -0
  161. package/dist/analysis/diff.d.ts +64 -0
  162. package/dist/analysis/diff.d.ts.map +1 -0
  163. package/dist/analysis/diff.js +644 -0
  164. package/dist/analysis/diff.js.map +1 -0
  165. package/dist/commands/analyze.d.ts.map +1 -1
  166. package/dist/commands/analyze.js +18 -2
  167. package/dist/commands/analyze.js.map +1 -1
  168. package/dist/commands/diff.d.ts +26 -0
  169. package/dist/commands/diff.d.ts.map +1 -0
  170. package/dist/commands/diff.js +218 -0
  171. package/dist/commands/diff.js.map +1 -0
  172. package/dist/commands/init.d.ts.map +1 -1
  173. package/dist/commands/init.js +66 -6
  174. package/dist/commands/init.js.map +1 -1
  175. package/dist/commands/issue.d.ts.map +1 -1
  176. package/dist/commands/issue.js +4 -4
  177. package/dist/commands/issue.js.map +1 -1
  178. package/dist/commands/note.d.ts.map +1 -1
  179. package/dist/commands/note.js +30 -2
  180. package/dist/commands/note.js.map +1 -1
  181. package/dist/core/config.d.ts +9 -0
  182. package/dist/core/config.d.ts.map +1 -1
  183. package/dist/core/config.js +18 -0
  184. package/dist/core/config.js.map +1 -1
  185. package/dist/core/errors.d.ts +1 -1
  186. package/dist/core/errors.d.ts.map +1 -1
  187. package/dist/core/errors.js +16 -0
  188. package/dist/core/errors.js.map +1 -1
  189. package/dist/core/git.d.ts +24 -0
  190. package/dist/core/git.d.ts.map +1 -0
  191. package/dist/core/git.js +115 -0
  192. package/dist/core/git.js.map +1 -0
  193. package/dist/core/issues.d.ts +4 -2
  194. package/dist/core/issues.d.ts.map +1 -1
  195. package/dist/core/issues.js +67 -28
  196. package/dist/core/issues.js.map +1 -1
  197. package/dist/core/notes.d.ts +25 -1
  198. package/dist/core/notes.d.ts.map +1 -1
  199. package/dist/core/notes.js +34 -2
  200. package/dist/core/notes.js.map +1 -1
  201. package/dist/core/schema.d.ts +750 -53
  202. package/dist/core/schema.d.ts.map +1 -1
  203. package/dist/core/schema.js +153 -1
  204. package/dist/core/schema.js.map +1 -1
  205. package/dist/core/skills.d.ts +10 -4
  206. package/dist/core/skills.d.ts.map +1 -1
  207. package/dist/core/skills.js +100 -37
  208. package/dist/core/skills.js.map +1 -1
  209. package/dist/index.js +2 -0
  210. package/dist/index.js.map +1 -1
  211. package/dist/skills/ai-audit/LICENSE +21 -0
  212. package/dist/skills/ai-audit/SKILL.md +476 -0
  213. package/dist/skills/ai-audit/UPSTREAM.md +46 -0
  214. package/dist/skills/ai-audit/references/agent-prompts.md +133 -0
  215. package/dist/skills/ai-audit/references/assemble.sh +357 -0
  216. package/dist/skills/ai-audit/references/dedup-and-assembly.md +420 -0
  217. package/dist/skills/ai-audit/references/hacking-agents/access-control-agent.md +27 -0
  218. package/dist/skills/ai-audit/references/hacking-agents/asymmetry-agent.md +77 -0
  219. package/dist/skills/ai-audit/references/hacking-agents/boundary-agent.md +79 -0
  220. package/dist/skills/ai-audit/references/hacking-agents/economic-security-agent.md +35 -0
  221. package/dist/skills/ai-audit/references/hacking-agents/execution-trace-agent.md +33 -0
  222. package/dist/skills/ai-audit/references/hacking-agents/first-principles-agent.md +36 -0
  223. package/dist/skills/ai-audit/references/hacking-agents/flow-gap-agent.md +49 -0
  224. package/dist/skills/ai-audit/references/hacking-agents/invariant-agent.md +44 -0
  225. package/dist/skills/ai-audit/references/hacking-agents/math-precision-agent.md +48 -0
  226. package/dist/skills/ai-audit/references/hacking-agents/numerical-gap-agent.md +46 -0
  227. package/dist/skills/ai-audit/references/hacking-agents/periphery-agent.md +27 -0
  228. package/dist/skills/ai-audit/references/hacking-agents/shared-rules.md +61 -0
  229. package/dist/skills/ai-audit/references/hacking-agents/trust-gap-agent.md +40 -0
  230. package/dist/skills/ai-audit/references/hex-board.md +223 -0
  231. package/dist/skills/ai-audit/references/hex-export.sh +71 -0
  232. package/dist/skills/ai-audit/references/judging.md +75 -0
  233. package/dist/skills/ai-audit/references/report-formatting.md +385 -0
  234. package/dist/skills/ai-audit/references/report-language.md +151 -0
  235. package/dist/skills/ai-audit/references/senior-auditor-sop.md +63 -0
  236. package/dist/skills/generate-report.md +7 -3
  237. package/dist/skills/init-audit.md +104 -2
  238. package/dist/skills/validate-all-findings.md +1 -1
  239. package/dist/skills/validate-finding.md +8 -4
  240. package/dist/types/index.d.ts +7 -1
  241. package/dist/types/index.d.ts.map +1 -1
  242. package/package.json +2 -1
  243. package/dashboard/.next/server/app/_not-found.html +0 -1
  244. package/dashboard/.next/server/app/_not-found.meta +0 -6
  245. package/dashboard/.next/server/app/_not-found.rsc +0 -12
  246. package/dashboard/.next/server/app/diagram.html +0 -1
  247. package/dashboard/.next/server/app/diagram.meta +0 -5
  248. package/dashboard/.next/server/app/diagram.rsc +0 -10
  249. package/dashboard/.next/server/app/flows.html +0 -1
  250. package/dashboard/.next/server/app/flows.meta +0 -5
  251. package/dashboard/.next/server/app/flows.rsc +0 -10
  252. package/dashboard/.next/server/chunks/44.js +0 -1
  253. package/dashboard/.next/server/pages/404.html +0 -1
  254. package/dashboard/.next/static/AyrRAwu4mazjp8iX4Yjbb/_buildManifest.js +0 -1
  255. package/dashboard/.next/static/chunks/1015.3ab89142e5f44120.js +0 -226
  256. package/dashboard/.next/static/chunks/1151.b6ef5c786e587ed7.js +0 -1
  257. package/dashboard/.next/static/chunks/1199.a072929dbec89965.js +0 -148
  258. package/dashboard/.next/static/chunks/1375.d4d2f7fc9c9c2ff1.js +0 -43
  259. package/dashboard/.next/static/chunks/1799.83206776abbbf1fc.js +0 -9
  260. package/dashboard/.next/static/chunks/20154aaa.ccc347c04ab5ad4a.js +0 -1
  261. package/dashboard/.next/static/chunks/2077.7011a570c87aa7b1.js +0 -1
  262. package/dashboard/.next/static/chunks/2166.cc0fabeb2e89b840.js +0 -215
  263. package/dashboard/.next/static/chunks/2325.2c55cb9a6282ae3f.js +0 -24
  264. package/dashboard/.next/static/chunks/2694.92bbe252063e4786.js +0 -1
  265. package/dashboard/.next/static/chunks/275.0d761aa0e5b030b8.js +0 -34
  266. package/dashboard/.next/static/chunks/2781.8536b644a480aede.js +0 -93
  267. package/dashboard/.next/static/chunks/2805.a8d71d2f92bb6ba9.js +0 -1
  268. package/dashboard/.next/static/chunks/3017.e55781da9dd32d37.js +0 -1
  269. package/dashboard/.next/static/chunks/3205-728c260fbb4f89c6.js +0 -2
  270. package/dashboard/.next/static/chunks/3236.dff44fa7961d9d5e.js +0 -1
  271. package/dashboard/.next/static/chunks/3480.9451396ad7ee7613.js +0 -1
  272. package/dashboard/.next/static/chunks/3626.ba1cf848a9f2e93d.js +0 -64
  273. package/dashboard/.next/static/chunks/3865.a432a7910a2f5281.js +0 -90
  274. package/dashboard/.next/static/chunks/3887.c22cbfa3f095826c.js +0 -1
  275. package/dashboard/.next/static/chunks/3924-4a05057b5450abe1.js +0 -1
  276. package/dashboard/.next/static/chunks/3948.fe3c7d758568d98b.js +0 -287
  277. package/dashboard/.next/static/chunks/4728.07d87640a3e7dd0d.js +0 -24
  278. package/dashboard/.next/static/chunks/4787.4e5f6a0e0e40a583.js +0 -23
  279. package/dashboard/.next/static/chunks/5060.baca226af35ed016.js +0 -1
  280. package/dashboard/.next/static/chunks/5284.f949ac90c95ff143.js +0 -1
  281. package/dashboard/.next/static/chunks/5715.1524bcc9591e180b.js +0 -115
  282. package/dashboard/.next/static/chunks/6014.700ae4969b64d728.js +0 -104
  283. package/dashboard/.next/static/chunks/6024.4d23707c65514679.js +0 -79
  284. package/dashboard/.next/static/chunks/6177.e5c84cfc4c0dea51.js +0 -1
  285. package/dashboard/.next/static/chunks/618f8807-547c5614e1318888.js +0 -1
  286. package/dashboard/.next/static/chunks/6434.9481771c33195d29.js +0 -1
  287. package/dashboard/.next/static/chunks/6468.f4a3e8fa6accc6da.js +0 -77
  288. package/dashboard/.next/static/chunks/6540.86f367d7390738d4.js +0 -1
  289. package/dashboard/.next/static/chunks/6549.4d0d472df96429a5.js +0 -1
  290. package/dashboard/.next/static/chunks/690f35d0.3e40ca0930e4bbdb.js +0 -119
  291. package/dashboard/.next/static/chunks/7397-f6f4dddc7a20bfc1.js +0 -1
  292. package/dashboard/.next/static/chunks/7498-ea83cb9e30ec5491.js +0 -1
  293. package/dashboard/.next/static/chunks/7802.89aec9ee11680850.js +0 -80
  294. package/dashboard/.next/static/chunks/7973.8b526f589aca5d84.js +0 -79
  295. package/dashboard/.next/static/chunks/8216.1bead812eb126c35.js +0 -5
  296. package/dashboard/.next/static/chunks/8645.a5ca76f11edc9633.js +0 -1
  297. package/dashboard/.next/static/chunks/8928-60c623ee89d2e6ad.js +0 -1
  298. package/dashboard/.next/static/chunks/9173.2486ffca31131ec5.js +0 -1
  299. package/dashboard/.next/static/chunks/9178.469341860bf8caec.js +0 -1
  300. package/dashboard/.next/static/chunks/9466.e904660d38c03eea.js +0 -1
  301. package/dashboard/.next/static/chunks/9660.84a85811380c5f33.js +0 -1
  302. package/dashboard/.next/static/chunks/9720.67d4d0d15a96d691.js +0 -1
  303. package/dashboard/.next/static/chunks/9811.65e1d080c2d256af.js +0 -1
  304. package/dashboard/.next/static/chunks/app/_not-found/page-548ab392d0e890d1.js +0 -1
  305. package/dashboard/.next/static/chunks/app/access/page-3668562e7464eb5d.js +0 -1
  306. package/dashboard/.next/static/chunks/app/calls/page-d07f5b8664cc8303.js +0 -1
  307. package/dashboard/.next/static/chunks/app/conformance/page-2fede1d7b5f9265d.js +0 -1
  308. package/dashboard/.next/static/chunks/app/diagram/page-b228444265546495.js +0 -1
  309. package/dashboard/.next/static/chunks/app/flows/page-fa67783d8cd79cab.js +0 -1
  310. package/dashboard/.next/static/chunks/app/functions/page-686f0296639133a3.js +0 -1
  311. package/dashboard/.next/static/chunks/app/issues/page-98a298e1c1045c91.js +0 -1
  312. package/dashboard/.next/static/chunks/app/layout-49f2496c7637d931.js +0 -1
  313. package/dashboard/.next/static/chunks/app/notes/page-17af94c67ba79c00.js +0 -1
  314. package/dashboard/.next/static/chunks/app/page-24bac51dfe007c66.js +0 -1
  315. package/dashboard/.next/static/chunks/app/progress/page-427fb18da3afb061.js +0 -1
  316. package/dashboard/.next/static/chunks/app/report/page-796f2f4a8a5ac8f7.js +0 -1
  317. package/dashboard/.next/static/chunks/app/stats/page-db81f600a086f252.js +0 -1
  318. package/dashboard/.next/static/chunks/c7ea4e13.5effeeba6618bdb7.js +0 -1
  319. package/dashboard/.next/static/chunks/framework-cf6f5bdca6ba0184.js +0 -33
  320. package/dashboard/.next/static/chunks/main-63ff429eab01f5bf.js +0 -1
  321. package/dashboard/.next/static/chunks/main-app-9d2f6b8a47133e9b.js +0 -1
  322. package/dashboard/.next/static/chunks/pages/_app-6ad2b50514c24ab4.js +0 -1
  323. package/dashboard/.next/static/chunks/pages/_error-d5eb11c5c4626811.js +0 -1
  324. package/dashboard/.next/static/chunks/webpack-08869f2b18792e51.js +0 -1
  325. package/dashboard/.next/static/css/4a38d8f6f6b7a68f.css +0 -3
  326. package/dashboard/.next/static/media/438aa629764e75f3-s.woff2 +0 -0
  327. package/dashboard/.next/static/media/4c9affa5bc8f420e-s.p.woff2 +0 -0
  328. package/dashboard/.next/static/media/51251f8b9793cdb3-s.woff2 +0 -0
  329. package/dashboard/.next/static/media/875ae681bfde4580-s.woff2 +0 -0
  330. package/dashboard/.next/static/media/cc978ac5ee68c2b6-s.woff2 +0 -0
  331. package/dashboard/.next/static/media/e857b654a2caa584-s.woff2 +0 -0
  332. /package/dashboard/.next/static/{AyrRAwu4mazjp8iX4Yjbb → z5XBev05xDAkDrxWxAjNu}/_ssgManifest.js +0 -0
@@ -0,0 +1,77 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6468],{47271:function(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{A:function(){return r}}),(0,a(17632).eW)(r,"populateCommonDb")},26468:function(t,e,a){a.d(e,{diagram:function(){return F}});var r=a(78999),o=a(47271),n=a(40778),i=a(49125),l=a(17632),s=a(2759),d=(0,l.eW)((t,e)=>{let a=t<=1?100*t:t;if(a<0||a>100)throw Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return a},"toPercent"),c=(0,l.eW)((t,e,a)=>({x:d(e,`${a} evolution`),y:d(t,`${a} visibility`)}),"toCoordinates"),p=(0,l.eW)(t=>t?"+<>"===t?"bidirectional":"+<"===t?"backward":"+>"===t?"forward":void 0:void 0,"getFlowFromPort"),h=(0,l.eW)(t=>{if(!t?.startsWith("+"))return{};let e=/^\+'([^']*)'/.exec(t),a=e?.[1];return t.includes("<>")?{flow:"bidirectional",label:a}:t.includes("<")?{flow:"backward",label:a}:t.includes(">")?{flow:"forward",label:a}:{label:a}},"extractFlowFromArrow"),x=(0,l.eW)((t,e)=>{if((0,o.A)(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){let a=t.evolution.stages.map(t=>t.secondName?`${t.name.trim()} / ${t.secondName.trim()}`:t.name.trim()),r=t.evolution.stages.filter(t=>void 0!==t.boundary).map(t=>t.boundary);e.updateAxes({stages:a,stageBoundaries:r})}if(t.anchors.forEach(t=>{let a=c(t.visibility,t.evolution,`Anchor "${t.name}"`);e.addNode(t.name,t.name,a.x,a.y,"anchor")}),t.components.forEach(t=>{let a=c(t.visibility,t.evolution,`Component "${t.name}"`),r=t.label?(t.label.negX?-1:1)*t.label.offsetX:void 0,o=t.label?(t.label.negY?-1:1)*t.label.offsetY:void 0,n=t.decorator?.strategy;e.addNode(t.name,t.name,a.x,a.y,"component",r,o,t.inertia,n)}),t.notes.forEach(t=>{let a=c(t.visibility,t.evolution,`Note "${t.text}"`);e.addNote(t.text,a.x,a.y)}),t.pipelines.forEach(t=>{let a=e.getNode(t.parent);if(!a||"number"!=typeof a.y)throw Error(`Pipeline "${t.parent}" must reference an existing component with coordinates.`);let r=a.y;e.startPipeline(t.parent),t.components.forEach(a=>{let o=`${t.parent}_${a.name}`,n=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,i=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,l=d(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(o,a.name,l,r,"pipeline-component",n,i),e.addPipelineComponent(t.parent,o)})}),t.links.forEach(t=>{let a=!!t.arrow&&(t.arrow.includes("-.->")||t.arrow.includes(".-.")),r=p(t.fromPort)??p(t.toPort),{flow:o,label:n}=h(t.arrow);!r&&o&&(r=o);let i=t.linkLabel;e.addLink(e.resolveNodeId(t.from),e.resolveNodeId(t.to),a,n??i,r)}),t.evolves.forEach(t=>{let a=e.getNode(t.component);if(a?.y!==void 0){let r=d(t.target,`Evolve target for "${t.component}"`);e.addTrend(t.component,r,a.y)}}),t.annotations.length>0){let a=t.annotations[0],r=c(a.x,a.y,"Annotations box");e.setAnnotationsBox(r.x,r.y)}t.annotation.forEach(t=>{let a=c(t.x,t.y,`Annotation ${t.number}`);e.addAnnotation(t.number,[{x:a.x,y:a.y}],t.text)}),t.accelerators.forEach(t=>{let a=c(t.x,t.y,`Accelerator "${t.name}"`);e.addAccelerator(t.name,a.x,a.y)}),t.deaccelerators.forEach(t=>{let a=c(t.x,t.y,`Deaccelerator "${t.name}"`);e.addDeaccelerator(t.name,a.x,a.y)})},"populateDb"),y={parser:{yy:void 0},parse:(0,l.eW)(async t=>{let e=await (0,s.Qc)("wardley",t);l.cM.debug(e);let a=y.parser?.yy;if(!a||"function"!=typeof a.addNode)throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");x(e,a)},"parse")},f=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{(0,l.eW)(this,"WardleyBuilder")}addNode(t){let e=this.nodes.get(t.id)??{id:t.id,label:t.label},a={...e,...t,className:t.className??e.className,labelOffsetX:t.labelOffsetX??e.labelOffsetX,labelOffsetY:t.labelOffsetY??e.labelOffsetY};this.nodes.set(t.id,a)}addLink(t){this.links.push(t)}addTrend(t){this.trends.set(t.nodeId,t)}startPipeline(t){this.pipelines.set(t,{nodeId:t,componentIds:[]});let e=this.nodes.get(t);e&&(e.isPipelineParent=!0)}addPipelineComponent(t,e){let a=this.pipelines.get(t);a&&a.componentIds.push(e);let r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(t){this.annotations.push(t)}addNote(t){this.notes.push(t)}addAccelerator(t){this.accelerators.push(t)}addDeaccelerator(t){this.deaccelerators.push(t)}setAnnotationsBox(t,e){this.annotationsBox={x:t,y:e}}setAxes(t){this.axes={...this.axes,...t}}setSize(t,e){this.size={width:t,height:e}}getNode(t){return this.nodes.get(t)}resolveNodeId(t){if(this.nodes.has(t))return t;for(let[e,a]of this.nodes)if(a.label===t)return e;return t}build(){let t=[];for(let e of this.nodes.values()){if("number"!=typeof e.x||"number"!=typeof e.y)throw Error(`Node "${e.label}" is missing coordinates`);t.push(e)}return{nodes:t,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function g(){return(0,i.nV)()["wardley-beta"]}function u(t,e,a,r,o,n,i,l,s){f.addNode({id:t,label:e,x:a,y:r,className:o,labelOffsetX:n,labelOffsetY:i,inertia:l,sourceStrategy:s})}function w(t,e,a=!1,r,o){f.addLink({source:t,target:e,dashed:a,label:r,flow:o})}function m(t,e,a){f.addTrend({nodeId:t,targetX:e,targetY:a})}function k(t,e,a){f.addAnnotation({number:t,coordinates:e,text:a})}function b(t,e,a){f.addNote({text:t,x:e,y:a})}function $(t,e,a){f.addAccelerator({name:t,x:e,y:a})}function v(t,e,a){f.addDeaccelerator({name:t,x:e,y:a})}function M(t,e){f.setAnnotationsBox(t,e)}function C(t,e){f.setSize(t,e)}function S(t){f.startPipeline(t)}function P(t,e){f.addPipelineComponent(t,e)}function W(t){f.setAxes(t)}function N(t){return f.getNode(t)}function T(t){return f.resolveNodeId(t)}function z(){return f.build()}function A(){f.clear(),(0,i.ZH)()}(0,l.eW)(g,"getConfig"),(0,l.eW)(u,"addNode"),(0,l.eW)(w,"addLink"),(0,l.eW)(m,"addTrend"),(0,l.eW)(k,"addAnnotation"),(0,l.eW)(b,"addNote"),(0,l.eW)($,"addAccelerator"),(0,l.eW)(v,"addDeaccelerator"),(0,l.eW)(M,"setAnnotationsBox"),(0,l.eW)(C,"setSize"),(0,l.eW)(S,"startPipeline"),(0,l.eW)(P,"addPipelineComponent"),(0,l.eW)(W,"updateAxes"),(0,l.eW)(N,"getNode"),(0,l.eW)(T,"resolveNodeId"),(0,l.eW)(z,"getWardleyData"),(0,l.eW)(A,"clear");var E={getConfig:g,addNode:u,addLink:w,addTrend:m,addAnnotation:k,addNote:b,addAccelerator:$,addDeaccelerator:v,setAnnotationsBox:M,setSize:C,startPipeline:S,addPipelineComponent:P,updateAxes:W,getNode:N,resolveNodeId:T,getWardleyData:z,clear:A,setAccTitle:i.GN,getAccTitle:i.eu,setDiagramTitle:i.g2,getDiagramTitle:i.Kr,getAccDescription:i.Mx,setAccDescription:i.U$},L=["Genesis","Custom Built","Product","Commodity"],I=(0,l.eW)(()=>{let{themeVariables:t}=(0,i.nV)();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),R=(0,l.eW)(()=>{let t=(0,i.nV)()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),F={parser:y,db:E,renderer:{draw:(0,l.eW)((t,e,a,o)=>{l.cM.debug("Rendering Wardley map\n"+t);let n=R(),s=I(),d=1.6*n.nodeRadius,c=o.db,p=c.getWardleyData(),h=c.getDiagramTitle(),x=p.size?.width??n.width,y=p.size?.height??n.height,f=(0,r.P)(e);f.selectAll("*").remove(),(0,i.v2)(f,y,x,n.useMaxWidth),f.attr("viewBox",`0 0 ${x} ${y}`);let g=f.append("g").attr("class","wardley-map"),u=f.append("defs");u.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",s.evolutionStroke).attr("stroke","none"),u.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",s.linkStroke).attr("stroke","none"),u.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",s.linkStroke).attr("stroke","none"),g.append("rect").attr("class","wardley-background").attr("width",x).attr("height",y).attr("fill",s.backgroundColor);let w=x-2*n.padding,m=y-2*n.padding;h&&g.append("text").attr("class","wardley-title").attr("x",x/2).attr("y",n.padding/2).attr("fill",s.axisTextColor).attr("font-size",1.05*n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);let k=(0,l.eW)(t=>n.padding+t/100*w,"projectX"),b=(0,l.eW)(t=>y-n.padding-t/100*m,"projectY"),$=g.append("g").attr("class","wardley-axes");$.append("line").attr("x1",n.padding).attr("x2",x-n.padding).attr("y1",y-n.padding).attr("y2",y-n.padding).attr("stroke",s.axisColor).attr("stroke-width",1),$.append("line").attr("x1",n.padding).attr("x2",n.padding).attr("y1",n.padding).attr("y2",y-n.padding).attr("stroke",s.axisColor).attr("stroke-width",1);let v=p.axes.xLabel??"Evolution",M=p.axes.yLabel??"Visibility";$.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",n.padding+w/2).attr("y",y-n.padding/4).attr("fill",s.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(v),$.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",n.padding/3).attr("y",n.padding+m/2).attr("fill",s.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${n.padding/3} ${n.padding+m/2})`).text(M);let C=p.axes.stages&&p.axes.stages.length>0?p.axes.stages:L;if(C.length>0){let t=g.append("g").attr("class","wardley-stages"),e=p.axes.stageBoundaries,a=[];if(e&&e.length===C.length){let t=0;e.forEach(e=>{a.push({start:t,end:e}),t=e})}else{let t=1/C.length;C.forEach((e,r)=>{a.push({start:r*t,end:(r+1)*t})})}C.forEach((e,r)=>{let o=a[r],i=n.padding+o.start*w,l=(i+(n.padding+o.end*w))/2;r>0&&t.append("line").attr("x1",i).attr("x2",i).attr("y1",n.padding).attr("y2",y-n.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",l).attr("y",y-n.padding/1.5).attr("fill",s.axisTextColor).attr("font-size",n.axisFontSize-2).attr("text-anchor","middle").text(e)})}if(n.showGrid){let t=g.append("g").attr("class","wardley-grid");for(let e=1;e<4;e++){let a=e/4,r=n.padding+w*a;t.append("line").attr("x1",r).attr("x2",r).attr("y1",n.padding).attr("y2",y-n.padding).attr("stroke",s.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",n.padding).attr("x2",x-n.padding).attr("y1",y-n.padding-m*a).attr("y2",y-n.padding-m*a).attr("stroke",s.gridColor).attr("stroke-dasharray","2 6")}}let S=new Map;if(p.nodes.forEach(t=>{S.set(t.id,{x:k(t.x),y:b(t.y),node:t})}),p.pipelines.length>0){let t=g.append("g").attr("class","wardley-pipelines"),e=g.append("g").attr("class","wardley-pipeline-links");p.pipelines.forEach(a=>{if(0===a.componentIds.length)return;let r=a.componentIds.map(t=>({id:t,pos:S.get(t),node:p.nodes.find(e=>e.id===t)})).filter(t=>t.pos&&t.node).sort((t,e)=>t.node.x-e.node.x);for(let t=0;t<r.length-1;t++){let a=r[t],o=r[t+1];e.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",a.pos.x).attr("y1",a.pos.y).attr("x2",o.pos.x).attr("y2",o.pos.y).attr("stroke",s.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let o=1/0,i=-1/0,l=0;if(a.componentIds.forEach(t=>{let e=S.get(t);e&&(o=Math.min(o,e.x),i=Math.max(i,e.x),l=e.y)}),o!==1/0&&i!==-1/0){let e=4*n.nodeRadius,r=l-e/2,c=S.get(a.nodeId);if(c){let t=(o+i)/2;c.x=t,c.y=r-d/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",o-15).attr("y",r).attr("width",i-o+30).attr("height",e).attr("fill","none").attr("stroke",s.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let P=g.append("g").attr("class","wardley-links"),W=new Map;p.pipelines.forEach(t=>{W.set(t.nodeId,new Set(t.componentIds))});let N=p.links.filter(t=>{if(!S.has(t.source)||!S.has(t.target))return!1;let e=W.get(t.target);return!e?.has(t.source)});P.selectAll("line").data(N).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{let e=S.get(t.source),a=S.get(t.target),r=p.nodes.find(e=>e.id===t.source).isPipelineParent?d/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y;return e.x+o/Math.sqrt(o*o+i*i)*r}).attr("y1",t=>{let e=S.get(t.source),a=S.get(t.target),r=p.nodes.find(e=>e.id===t.source).isPipelineParent?d/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y;return e.y+i/Math.sqrt(o*o+i*i)*r}).attr("x2",t=>{let e=S.get(t.source),a=S.get(t.target),r=p.nodes.find(e=>e.id===t.target).isPipelineParent?d/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y;return a.x+o/Math.sqrt(o*o+i*i)*r}).attr("y2",t=>{let e=S.get(t.source),a=S.get(t.target),r=p.nodes.find(e=>e.id===t.target).isPipelineParent?d/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y;return a.y+i/Math.sqrt(o*o+i*i)*r}).attr("stroke",s.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>"forward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-end-${e})`:null).attr("marker-start",t=>"backward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-start-${e})`:null),P.selectAll("text").data(N.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{let e=S.get(t.source),a=S.get(t.target),r=(e.x+a.x)/2,o=a.y-e.y,n=a.x-e.x;return r+o/Math.sqrt(n*n+o*o)*8}).attr("y",t=>{let e=S.get(t.source),a=S.get(t.target),r=(e.y+a.y)/2,o=a.x-e.x,n=a.y-e.y;return r+-o/Math.sqrt(o*o+n*n)*8}).attr("fill",s.axisTextColor).attr("font-size",n.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{let e=S.get(t.source),a=S.get(t.target),r=(e.x+a.x)/2,o=(e.y+a.y)/2,n=a.x-e.x,i=a.y-e.y,l=Math.sqrt(n*n+i*i),s=180*Math.atan2(i,n)/Math.PI;return(s>90||s<-90)&&(s+=180),`rotate(${s} ${r+i/l*8} ${o+-n/l*8})`}).text(t=>t.label);let T=g.append("g").attr("class","wardley-trends"),z=p.trends.map(t=>{let e=S.get(t.nodeId);if(!e)return null;let a=k(t.targetX),r=b(t.targetY),o=a-e.x,i=r-e.y,l=Math.sqrt(o*o+i*i),s=n.nodeRadius+2;return{origin:e,targetX:a,targetY:r,adjustedX2:l>s?a-o/l*s:a,adjustedY2:l>s?r-i/l*s:r}}).filter(t=>null!==t);T.selectAll("line").data(z).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",s.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);let A=g.append("g").attr("class","wardley-nodes").selectAll("g").data(p.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));A.filter(t=>"outsource"===t.sourceStrategy).append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>S.get(t.id).x).attr("cy",t=>S.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#666").attr("stroke",s.componentStroke).attr("stroke-width",1),A.filter(t=>"buy"===t.sourceStrategy).append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>S.get(t.id).x).attr("cy",t=>S.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#ccc").attr("stroke",s.componentStroke).attr("stroke-width",1),A.filter(t=>"build"===t.sourceStrategy).append("circle").attr("class","wardley-build-overlay").attr("cx",t=>S.get(t.id).x).attr("cy",t=>S.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let E=A.filter(t=>"market"===t.sourceStrategy);E.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>S.get(t.id).x).attr("cy",t=>S.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","white").attr("stroke",s.componentStroke).attr("stroke-width",1),A.filter(t=>!t.isPipelineParent&&"market"!==t.sourceStrategy&&"anchor"!==t.className).append("circle").attr("cx",t=>S.get(t.id).x).attr("cy",t=>S.get(t.id).y).attr("r",n.nodeRadius).attr("fill",s.componentFill).attr("stroke",s.componentStroke).attr("stroke-width",1);let F=.7*n.nodeRadius,B=1.2*n.nodeRadius;if(E.append("line").attr("class","wardley-market-line").attr("x1",t=>S.get(t.id).x).attr("y1",t=>S.get(t.id).y-B).attr("x2",t=>S.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y2",t=>S.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",s.componentStroke).attr("stroke-width",1),E.append("line").attr("class","wardley-market-line").attr("x1",t=>S.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y1",t=>S.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>S.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y2",t=>S.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",s.componentStroke).attr("stroke-width",1),E.append("line").attr("class","wardley-market-line").attr("x1",t=>S.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y1",t=>S.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>S.get(t.id).x).attr("y2",t=>S.get(t.id).y-B).attr("stroke",s.componentStroke).attr("stroke-width",1),E.append("circle").attr("class","wardley-market-dot").attr("cx",t=>S.get(t.id).x).attr("cy",t=>S.get(t.id).y-B).attr("r",F).attr("fill","white").attr("stroke",s.componentStroke).attr("stroke-width",2),E.append("circle").attr("class","wardley-market-dot").attr("cx",t=>S.get(t.id).x-B*Math.cos(Math.PI/6)).attr("cy",t=>S.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",s.componentStroke).attr("stroke-width",2),E.append("circle").attr("class","wardley-market-dot").attr("cx",t=>S.get(t.id).x+B*Math.cos(Math.PI/6)).attr("cy",t=>S.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",s.componentStroke).attr("stroke-width",2),A.filter(t=>!0===t.isPipelineParent).append("rect").attr("x",t=>S.get(t.id).x-d/2).attr("y",t=>S.get(t.id).y-d/2).attr("width",d).attr("height",d).attr("fill",s.componentFill).attr("stroke",s.componentStroke).attr("stroke-width",1),A.filter(t=>!0===t.inertia).append("line").attr("class","wardley-inertia").attr("x1",t=>{let e=S.get(t.id),a=t.isPipelineParent?d/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y1",t=>{let e=S.get(t.id),a=t.isPipelineParent?d:2*n.nodeRadius;return e.y-a/2}).attr("x2",t=>{let e=S.get(t.id),a=t.isPipelineParent?d/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y2",t=>{let e=S.get(t.id),a=t.isPipelineParent?d:2*n.nodeRadius;return e.y+a/2}).attr("stroke",s.componentStroke).attr("stroke-width",6),A.append("text").attr("x",t=>{let e=S.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetX?e.x+t.labelOffsetX:e.x;let a=n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetX&&(a+=10);let r=t.labelOffsetX??a;return e.x+r}).attr("y",t=>{let e=S.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetY?e.y+t.labelOffsetY:e.y-3;let a=-n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetY&&(a-=10);let r=t.labelOffsetY??a;return e.y+r}).attr("class","wardley-node-label").attr("fill",t=>"evolved"===t.className?s.evolutionStroke:"anchor"===t.className?"#000":s.componentLabelColor).attr("font-size",n.labelFontSize).attr("font-weight",t=>"anchor"===t.className?"bold":"normal").attr("text-anchor",t=>"anchor"===t.className?"middle":"start").attr("dominant-baseline",t=>"anchor"===t.className?"middle":"auto").text(t=>t.label),p.annotations.length>0){let t=g.append("g").attr("class","wardley-annotations");if(p.annotations.forEach(e=>{let a=e.coordinates.map(t=>({x:k(t.x),y:b(t.y)}));if(a.length>1)for(let e=0;e<a.length-1;e++)t.append("line").attr("class","wardley-annotation-line").attr("x1",a[e].x).attr("y1",a[e].y).attr("x2",a[e+1].x).attr("y2",a[e+1].y).attr("stroke",s.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(a=>{let r=t.append("g").attr("class","wardley-annotation");r.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("fill","white").attr("stroke",s.axisColor).attr("stroke-width",1.5),r.append("text").attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",s.axisTextColor).attr("font-weight","bold").text(e.number)})}),p.annotationsBox){let e=k(p.annotationsBox.x),a=b(p.annotationsBox.y),r=t.append("g").attr("class","wardley-annotations-box"),o=[...p.annotations].filter(t=>t.text).sort((t,e)=>t.number-e.number),i=[];if(o.forEach((t,o)=>{let n=r.append("text").attr("x",e+10).attr("y",a+10+(o+1)*16).attr("font-size",11).attr("fill",s.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${t.number}. ${t.text}`);i.push(n)}),i.length>0){let t=0,l=0;i.forEach(e=>{let a=e.node(),r=a.getComputedTextLength();t=Math.max(t,r);let o=a.getBBox();l=Math.max(l,o.height)});let d=t+20+105,c=16*o.length+20+l/2,p=n.padding,h=x-n.padding-d,f=n.padding,g=y-n.padding-c;e=Math.max(p,Math.min(e,h)),a=Math.max(f,Math.min(a,g)),i.forEach((t,r)=>{t.attr("x",e+10).attr("y",a+10+(r+1)*16)}),r.insert("rect","text").attr("x",e).attr("y",a).attr("width",d).attr("height",c).attr("fill","white").attr("stroke",s.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(p.notes.length>0){let t=g.append("g").attr("class","wardley-notes");p.notes.forEach(e=>{let a=k(e.x),r=b(e.y);t.append("text").attr("x",a).attr("y",r).attr("text-anchor","start").attr("font-size",11).attr("fill",s.axisTextColor).attr("font-weight","bold").text(e.text)})}if(p.accelerators.length>0){let t=g.append("g").attr("class","wardley-accelerators");p.accelerators.forEach(e=>{let a=k(e.x),r=b(e.y),o=`
2
+ M ${a} ${r-15}
3
+ L ${a+60-20} ${r-15}
4
+ L ${a+60-20} ${r-15-8}
5
+ L ${a+60} ${r}
6
+ L ${a+60-20} ${r+15+8}
7
+ L ${a+60-20} ${r+15}
8
+ L ${a} ${r+15}
9
+ Z
10
+ `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",s.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",s.axisTextColor).attr("font-weight","bold").text(e.name)})}if(p.deaccelerators.length>0){let t=g.append("g").attr("class","wardley-deaccelerators");p.deaccelerators.forEach(e=>{let a=k(e.x),r=b(e.y),o=`
11
+ M ${a+60} ${r-15}
12
+ L ${a+20} ${r-15}
13
+ L ${a+20} ${r-15-8}
14
+ L ${a} ${r}
15
+ L ${a+20} ${r+15+8}
16
+ L ${a+20} ${r+15}
17
+ L ${a+60} ${r+15}
18
+ Z
19
+ `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",s.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",s.axisTextColor).attr("font-weight","bold").text(e.name)})}},"draw")},styles:(0,l.eW)(({wardley:t}={})=>{let e=(0,i.xN)(),a=(0,i.iE)(),r=(0,n.Rb)(e,a.themeVariables),o=(0,n.Rb)(r.wardley,t);return`
20
+ .wardley-background {
21
+ fill: ${o.backgroundColor};
22
+ }
23
+ .wardley-axes line, .wardley-axes path {
24
+ stroke: ${o.axisColor};
25
+ }
26
+ .wardley-axis-label {
27
+ fill: ${o.axisTextColor};
28
+ }
29
+ .wardley-stage-label {
30
+ fill: ${o.axisTextColor};
31
+ }
32
+ .wardley-grid line {
33
+ stroke: ${o.gridColor};
34
+ }
35
+ .wardley-node circle {
36
+ fill: ${o.componentFill};
37
+ stroke: ${o.componentStroke};
38
+ }
39
+ .wardley-node-label {
40
+ fill: ${o.componentLabelColor};
41
+ }
42
+ .wardley-link {
43
+ stroke: ${o.linkStroke};
44
+ }
45
+ .wardley-link--dashed {
46
+ stroke-dasharray: 4 4;
47
+ }
48
+ .wardley-link-label {
49
+ fill: ${o.axisTextColor};
50
+ }
51
+ .wardley-trend line {
52
+ stroke: ${o.evolutionStroke};
53
+ }
54
+ .wardley-annotation-line {
55
+ stroke: ${o.annotationStroke};
56
+ }
57
+ .wardley-annotation circle {
58
+ fill: ${o.annotationFill};
59
+ stroke: ${o.annotationStroke};
60
+ }
61
+ .wardley-annotation text {
62
+ fill: ${o.annotationTextColor};
63
+ }
64
+ .wardley-annotations-box rect {
65
+ fill: ${o.annotationFill};
66
+ stroke: ${o.annotationStroke};
67
+ }
68
+ .wardley-annotations-box text {
69
+ fill: ${o.annotationTextColor};
70
+ }
71
+ .wardley-pipeline-box {
72
+ stroke: ${o.componentStroke};
73
+ }
74
+ .wardley-notes text {
75
+ fill: ${o.axisTextColor};
76
+ }
77
+ `},"styles")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6540],{36540:function(r,e,s){s.d(e,{diagram:function(){return t}});var a=s(2166);s(5748),s(13589),s(64759),s(91984),s(58523),s(90825),s(82995),s(51674),s(64994),s(43984),s(47062),s(40778),s(49125);var n=s(17632),t={parser:a.P0,get db(){return new a.dR},renderer:a.b0,styles:a.Ee,init:(0,n.eW)(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6549],{36549:function(t,e,i){i.d(e,{diagram:function(){return W}});var a=i(49125),n=i(17632),s=i(68859),r=function(){var t=(0,n.eW)(function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i},"o"),e=[1,3],i=[1,4],a=[1,5],s=[1,6],r=[1,7],l=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],g=[1,35],f=[1,43],y=[1,41],p=[1,45],T=[1,14],m=[1,23],_=[1,18],q=[1,19],A=[1,20],b=[1,21],k=[1,22],S=[1,24],F=[1,25],P=[1,26],v=[1,27],C=[1,28],W=[1,29],L=[1,32],E=[1,33],D=[1,34],z=[1,39],I=[1,40],w=[1,42],N=[1,44],B=[1,63],R=[1,62],$=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],U=[1,66],O=[1,67],M=[1,68],Q=[1,69],X=[1,70],Y=[1,71],Z=[1,72],H=[1,73],j=[1,74],K=[1,75],G=[1,76],V=[1,77],J=[4,5,6,7,8,9,10,11,12,13,14,15,18],tt=[1,91],te=[1,92],ti=[1,93],ta=[1,100],tn=[1,94],ts=[1,97],tr=[1,95],tl=[1,96],to=[1,98],th=[1,99],tc=[1,103],td=[10,55,56,57],tu=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],tx={trace:(0,n.eW)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,n.eW)(function(t,e,i,a,n,s,r){var l=s.length-1;switch(n){case 23:case 68:this.$=s[l];break;case 24:case 69:this.$=s[l-1]+""+s[l];break;case 26:this.$=s[l-1]+s[l];break;case 27:this.$=[s[l].trim()];break;case 28:s[l-2].push(s[l].trim()),this.$=s[l-2];break;case 29:this.$=s[l-4],a.addClass(s[l-2],s[l]);break;case 37:this.$=[];break;case 42:this.$=s[l].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[l].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 47:a.addPoint(s[l-3],"",s[l-1],s[l],[]);break;case 48:a.addPoint(s[l-4],s[l-3],s[l-1],s[l],[]);break;case 49:a.addPoint(s[l-4],"",s[l-2],s[l-1],s[l]);break;case 50:a.addPoint(s[l-5],s[l-4],s[l-2],s[l-1],s[l]);break;case 51:a.setXAxisLeftText(s[l-2]),a.setXAxisRightText(s[l]);break;case 52:s[l-1].text+=" ⟶ ",a.setXAxisLeftText(s[l-1]);break;case 53:a.setXAxisLeftText(s[l]);break;case 54:a.setYAxisBottomText(s[l-2]),a.setYAxisTopText(s[l]);break;case 55:s[l-1].text+=" ⟶ ",a.setYAxisBottomText(s[l-1]);break;case 56:a.setYAxisBottomText(s[l]);break;case 57:a.setQuadrant1Text(s[l]);break;case 58:a.setQuadrant2Text(s[l]);break;case 59:a.setQuadrant3Text(s[l]);break;case 60:a.setQuadrant4Text(s[l]);break;case 64:case 66:this.$={text:s[l],type:"text"};break;case 65:this.$={text:s[l-1].text+""+s[l],type:s[l-1].type};break;case 67:this.$={text:s[l],type:"markdown"}}},"anonymous"),table:[{18:e,26:1,27:2,28:i,55:a,56:s,57:r},{1:[3]},{18:e,26:8,27:2,28:i,55:a,56:s,57:r},{18:e,26:9,27:2,28:i,55:a,56:s,57:r},t(l,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:g,13:f,14:y,15:p,18:T,25:m,35:_,37:q,39:A,41:b,42:k,48:S,50:F,51:P,52:v,53:C,54:W,60:L,61:E,63:D,64:z,65:I,66:w,67:N}),t(l,[2,34]),{27:46,55:a,56:s,57:r},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:u,10:x,12:g,13:f,14:y,15:p,18:T,25:m,35:_,37:q,39:A,41:b,42:k,48:S,50:F,51:P,52:v,53:C,54:W,60:L,61:E,63:D,64:z,65:I,66:w,67:N}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(h,[2,45]),t(h,[2,46]),{18:[1,51]},{4:d,5:u,10:x,12:g,13:f,14:y,15:p,43:52,58:31,60:L,61:E,63:D,64:z,65:I,66:w,67:N},{4:d,5:u,10:x,12:g,13:f,14:y,15:p,43:53,58:31,60:L,61:E,63:D,64:z,65:I,66:w,67:N},{4:d,5:u,10:x,12:g,13:f,14:y,15:p,43:54,58:31,60:L,61:E,63:D,64:z,65:I,66:w,67:N},{4:d,5:u,10:x,12:g,13:f,14:y,15:p,43:55,58:31,60:L,61:E,63:D,64:z,65:I,66:w,67:N},{4:d,5:u,10:x,12:g,13:f,14:y,15:p,43:56,58:31,60:L,61:E,63:D,64:z,65:I,66:w,67:N},{4:d,5:u,10:x,12:g,13:f,14:y,15:p,43:57,58:31,60:L,61:E,63:D,64:z,65:I,66:w,67:N},{4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,44:[1,58],47:[1,59],58:61,59:60,63:D,64:z,65:I,66:w,67:N},t($,[2,64]),t($,[2,66]),t($,[2,67]),t($,[2,70]),t($,[2,71]),t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t($,[2,77]),t($,[2,78]),t($,[2,79]),t($,[2,80]),t($,[2,81]),t(l,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:65,4:U,5:O,6:M,7:Q,8:X,9:Y,10:Z,11:H,12:j,13:K,14:G,15:V,21:64},t(h,[2,53],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,49:[1,78],63:D,64:z,65:I,66:w,67:N}),t(h,[2,56],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,49:[1,79],63:D,64:z,65:I,66:w,67:N}),t(h,[2,57],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,63:D,64:z,65:I,66:w,67:N}),t(h,[2,58],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,63:D,64:z,65:I,66:w,67:N}),t(h,[2,59],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,63:D,64:z,65:I,66:w,67:N}),t(h,[2,60],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,63:D,64:z,65:I,66:w,67:N}),{45:[1,80]},{44:[1,81]},t($,[2,65]),t($,[2,82]),t($,[2,83]),t($,[2,84]),{3:83,4:U,5:O,6:M,7:Q,8:X,9:Y,10:Z,11:H,12:j,13:K,14:G,15:V,18:[1,82]},t(J,[2,23]),t(J,[2,1]),t(J,[2,2]),t(J,[2,3]),t(J,[2,4]),t(J,[2,5]),t(J,[2,6]),t(J,[2,7]),t(J,[2,8]),t(J,[2,9]),t(J,[2,10]),t(J,[2,11]),t(J,[2,12]),t(h,[2,52],{58:31,43:84,4:d,5:u,10:x,12:g,13:f,14:y,15:p,60:L,61:E,63:D,64:z,65:I,66:w,67:N}),t(h,[2,55],{58:31,43:85,4:d,5:u,10:x,12:g,13:f,14:y,15:p,60:L,61:E,63:D,64:z,65:I,66:w,67:N}),{46:[1,86]},{45:[1,87]},{4:tt,5:te,6:ti,8:ta,11:tn,13:ts,16:90,17:tr,18:tl,19:to,20:th,22:89,23:88},t(J,[2,24]),t(h,[2,51],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,63:D,64:z,65:I,66:w,67:N}),t(h,[2,54],{59:60,58:61,4:d,5:u,8:B,10:x,12:g,13:f,14:y,15:p,18:R,63:D,64:z,65:I,66:w,67:N}),t(h,[2,47],{22:89,16:90,23:101,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),{46:[1,102]},t(h,[2,29],{10:tc}),t(td,[2,27],{16:104,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),t(tu,[2,25]),t(tu,[2,13]),t(tu,[2,14]),t(tu,[2,15]),t(tu,[2,16]),t(tu,[2,17]),t(tu,[2,18]),t(tu,[2,19]),t(tu,[2,20]),t(tu,[2,21]),t(tu,[2,22]),t(h,[2,49],{10:tc}),t(h,[2,48],{22:89,16:90,23:105,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),{4:tt,5:te,6:ti,8:ta,11:tn,13:ts,16:90,17:tr,18:tl,19:to,20:th,22:106},t(tu,[2,26]),t(h,[2,50],{10:tc}),t(td,[2,28],{16:104,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,n.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,n.eW)(function(t){var e=this,i=[0],a=[],s=[null],r=[],l=this.table,o="",h=0,c=0,d=0,u=r.slice.call(arguments,1),x=Object.create(this.lexer),g={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g.yy[f]=this.yy[f]);x.setInput(t,g.yy),g.yy.lexer=x,g.yy.parser=this,void 0===x.yylloc&&(x.yylloc={});var y=x.yylloc;r.push(y);var p=x.options&&x.options.ranges;function T(){var t;return"number"!=typeof(t=a.pop()||x.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,n.eW)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,n.eW)(T,"lex");for(var m,_,q,A,b,k,S,F,P,v={};;){if(q=i[i.length-1],this.defaultActions[q]?A=this.defaultActions[q]:(null==m&&(m=T()),A=l[q]&&l[q][m]),void 0===A||!A.length||!A[0]){var C="";for(k in P=[],l[q])this.terminals_[k]&&k>2&&P.push("'"+this.terminals_[k]+"'");C=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(C,{text:x.match,token:this.terminals_[m]||m,line:x.yylineno,loc:y,expected:P})}if(A[0]instanceof Array&&A.length>1)throw Error("Parse Error: multiple actions possible at state: "+q+", token: "+m);switch(A[0]){case 1:i.push(m),s.push(x.yytext),r.push(x.yylloc),i.push(A[1]),m=null,_?(m=_,_=null):(c=x.yyleng,o=x.yytext,h=x.yylineno,y=x.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[A[1]][1],v.$=s[s.length-S],v._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},p&&(v._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(v,[o,c,h,g.yy,A[1],s,r].concat(u))))return b;S&&(i=i.slice(0,-1*S*2),s=s.slice(0,-1*S),r=r.slice(0,-1*S)),i.push(this.productions_[A[1]][0]),s.push(v.$),r.push(v._$),F=l[i[i.length-2]][i[i.length-1]],i.push(F);break;case 3:return!0}}return!0},"parse")},tg={EOF:1,parseError:(0,n.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,n.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,n.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.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),t},"input"),unput:(0,n.eW)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,n.eW)(function(){return this._more=!0,this},"more"),reject:(0,n.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,n.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,n.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,n.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,n.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,n.eW)(function(t,e){var i,a,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,n.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,a,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,n.eW)(function(){return this.next()||this.lex()},"lex"),begin:(0,n.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,n.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,n.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,n.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,n.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,n.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,n.eW)(function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};function tf(){this.yy={}}return tx.lexer=tg,(0,n.eW)(tf,"Parser"),tf.prototype=tx,tx.Parser=tf,new tf}();r.parser=r;var l=(0,a.xN)(),o=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,n.eW)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:a.vZ.quadrantChart?.chartWidth||500,chartWidth:a.vZ.quadrantChart?.chartHeight||500,titlePadding:a.vZ.quadrantChart?.titlePadding||10,titleFontSize:a.vZ.quadrantChart?.titleFontSize||20,quadrantPadding:a.vZ.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:a.vZ.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:a.vZ.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:a.vZ.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:a.vZ.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:a.vZ.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:a.vZ.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:a.vZ.quadrantChart?.pointTextPadding||5,pointLabelFontSize:a.vZ.quadrantChart?.pointLabelFontSize||12,pointRadius:a.vZ.quadrantChart?.pointRadius||5,xAxisPosition:a.vZ.quadrantChart?.xAxisPosition||"top",yAxisPosition:a.vZ.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:a.vZ.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:a.vZ.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:l.quadrant1Fill,quadrant2Fill:l.quadrant2Fill,quadrant3Fill:l.quadrant3Fill,quadrant4Fill:l.quadrant4Fill,quadrant1TextFill:l.quadrant1TextFill,quadrant2TextFill:l.quadrant2TextFill,quadrant3TextFill:l.quadrant3TextFill,quadrant4TextFill:l.quadrant4TextFill,quadrantPointFill:l.quadrantPointFill,quadrantPointTextFill:l.quadrantPointTextFill,quadrantXAxisTextFill:l.quadrantXAxisTextFill,quadrantYAxisTextFill:l.quadrantYAxisTextFill,quadrantTitleFill:l.quadrantTitleFill,quadrantInternalBorderStrokeFill:l.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:l.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,n.cM.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){n.cM.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){n.cM.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,a){let n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){let{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=!!this.data.xAxisRightText,x=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){let{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s,width:n,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(let t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){let{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:n,quadrantWidth:r}=e,l=(0,s.BYU)().domain([0,1]).range([a,r+a]),o=(0,s.BYU)().domain([0,1]).range([i+n,n]);return this.data.points.map(t=>{let e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:l(t.x),y:o(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}})}getBorders(t){let e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:l,quadrantWidth:o}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l,x2:s+o+e,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+o,y1:l+e,x2:s+o,y2:l+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l+n,x2:s+o+e,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+e,x2:s,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+e,x2:s+r,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:l+a,x2:s+o-e,y2:l+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),e=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},h=class extends Error{static{(0,n.eW)(this,"InvalidStyleError")}constructor(t,e,i){super(`value for ${t} ${e} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};function c(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function d(t){return!/^\d+$/.test(t)}function u(t){return!/^\d+px$/.test(t)}(0,n.eW)(c,"validateHexCode"),(0,n.eW)(d,"validateNumber"),(0,n.eW)(u,"validateSizeInPixels");var x=(0,a.nV)();function g(t){return(0,a.oO)(t.trim(),x)}(0,n.eW)(g,"textSanitizer");var f=new o;function y(t){f.setData({quadrant1Text:g(t.text)})}function p(t){f.setData({quadrant2Text:g(t.text)})}function T(t){f.setData({quadrant3Text:g(t.text)})}function m(t){f.setData({quadrant4Text:g(t.text)})}function _(t){f.setData({xAxisLeftText:g(t.text)})}function q(t){f.setData({xAxisRightText:g(t.text)})}function A(t){f.setData({yAxisTopText:g(t.text)})}function b(t){f.setData({yAxisBottomText:g(t.text)})}function k(t){let e={};for(let i of t){let[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(d(a))throw new h(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(c(a))throw new h(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(c(a))throw new h(t,a,"hex code");e.strokeColor=a}else if("stroke-width"===t){if(u(a))throw new h(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}else throw Error(`style named ${t} is not supported.`)}return e}function S(t,e,i,a,n){let s=k(n);f.addPoints([{x:i,y:a,text:g(t.text),className:e,...s}])}function F(t,e){f.addClass(t,k(e))}function P(t){f.setConfig({chartWidth:t})}function v(t){f.setConfig({chartHeight:t})}function C(){let{themeVariables:t,quadrantChart:e}=(0,a.nV)();return e&&f.setConfig(e),f.setThemeConfig({quadrant1Fill:t.quadrant1Fill,quadrant2Fill:t.quadrant2Fill,quadrant3Fill:t.quadrant3Fill,quadrant4Fill:t.quadrant4Fill,quadrant1TextFill:t.quadrant1TextFill,quadrant2TextFill:t.quadrant2TextFill,quadrant3TextFill:t.quadrant3TextFill,quadrant4TextFill:t.quadrant4TextFill,quadrantPointFill:t.quadrantPointFill,quadrantPointTextFill:t.quadrantPointTextFill,quadrantXAxisTextFill:t.quadrantXAxisTextFill,quadrantYAxisTextFill:t.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:t.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:t.quadrantInternalBorderStrokeFill,quadrantTitleFill:t.quadrantTitleFill}),f.setData({titleText:(0,a.Kr)()}),f.build()}(0,n.eW)(y,"setQuadrant1Text"),(0,n.eW)(p,"setQuadrant2Text"),(0,n.eW)(T,"setQuadrant3Text"),(0,n.eW)(m,"setQuadrant4Text"),(0,n.eW)(_,"setXAxisLeftText"),(0,n.eW)(q,"setXAxisRightText"),(0,n.eW)(A,"setYAxisTopText"),(0,n.eW)(b,"setYAxisBottomText"),(0,n.eW)(k,"parseStyles"),(0,n.eW)(S,"addPoint"),(0,n.eW)(F,"addClass"),(0,n.eW)(P,"setWidth"),(0,n.eW)(v,"setHeight"),(0,n.eW)(C,"getQuadrantData");var W={parser:r,db:{setWidth:P,setHeight:v,setQuadrant1Text:y,setQuadrant2Text:p,setQuadrant3Text:T,setQuadrant4Text:m,setXAxisLeftText:_,setXAxisRightText:q,setYAxisTopText:A,setYAxisBottomText:b,parseStyles:k,addPoint:S,addClass:F,getQuadrantData:C,clear:(0,n.eW)(function(){f.clear(),(0,a.ZH)()},"clear"),setAccTitle:a.GN,getAccTitle:a.eu,setDiagramTitle:a.g2,getDiagramTitle:a.Kr,getAccDescription:a.Mx,setAccDescription:a.U$},renderer:{draw:(0,n.eW)((t,e,i,r)=>{let l;function o(t){return"top"===t?"hanging":"middle"}function h(t){return"left"===t?"start":"middle"}function c(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,n.eW)(o,"getDominantBaseLine"),(0,n.eW)(h,"getTextAnchor"),(0,n.eW)(c,"getTransformation");let d=(0,a.nV)();n.cM.debug("Rendering quadrant chart\n"+t);let u=d.securityLevel;"sandbox"===u&&(l=(0,s.Ys)("#i"+e));let x=("sandbox"===u?(0,s.Ys)(l.nodes()[0].contentDocument.body):(0,s.Ys)("body")).select(`[id="${e}"]`),g=x.append("g").attr("class","main"),f=d.quadrantChart?.chartWidth??500,y=d.quadrantChart?.chartHeight??500;(0,a.v2)(x,y,f,d.quadrantChart?.useMaxWidth??!0),x.attr("viewBox","0 0 "+f+" "+y),r.db.setHeight(y),r.db.setWidth(f);let p=r.db.getQuadrantData(),T=g.append("g").attr("class","quadrants"),m=g.append("g").attr("class","border"),_=g.append("g").attr("class","data-points"),q=g.append("g").attr("class","labels"),A=g.append("g").attr("class","title");p.title&&A.append("text").attr("x",0).attr("y",0).attr("fill",p.title.fill).attr("font-size",p.title.fontSize).attr("dominant-baseline",o(p.title.horizontalPos)).attr("text-anchor",h(p.title.verticalPos)).attr("transform",c(p.title)).text(p.title.text),p.borderLines&&m.selectAll("line").data(p.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);let b=T.selectAll("g.quadrant").data(p.quadrants).enter().append("g").attr("class","quadrant");b.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),b.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>o(t.text.horizontalPos)).attr("text-anchor",t=>h(t.text.verticalPos)).attr("transform",t=>c(t.text)).text(t=>t.text.text),q.selectAll("g.label").data(p.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>o(t.horizontalPos)).attr("text-anchor",t=>h(t.verticalPos)).attr("transform",t=>c(t));let k=_.selectAll("g.data-point").data(p.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeColor).attr("stroke-width",t=>t.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>o(t.text.horizontalPos)).attr("text-anchor",t=>h(t.text.verticalPos)).attr("transform",t=>c(t.text))},"draw")},styles:(0,n.eW)(()=>"","styles")}}}]);