@vtj/pro 0.13.24 → 0.13.26

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 (98) hide show
  1. package/dist/@vtj/materials/assets/antdv/index.umd.js +2 -2
  2. package/dist/@vtj/materials/assets/charts/index.umd.js +2 -2
  3. package/dist/@vtj/materials/assets/element/index.umd.js +2 -2
  4. package/dist/@vtj/materials/assets/icons/index.umd.js +2 -2
  5. package/dist/@vtj/materials/assets/ui/index.umd.js +2 -2
  6. package/dist/@vtj/materials/assets/uni-h5/index.umd.js +2 -2
  7. package/dist/@vtj/materials/assets/uni-ui/index.umd.js +2 -2
  8. package/dist/@vtj/materials/assets/vant/index.umd.js +2 -2
  9. package/dist/@vtj/materials/deps/@vtj/charts/index.umd.js +2 -2
  10. package/dist/@vtj/materials/deps/@vtj/icons/index.umd.js +2 -2
  11. package/dist/@vtj/materials/deps/@vtj/icons/style.css +1 -1
  12. package/dist/@vtj/materials/deps/@vtj/ui/index.umd.js +3 -10
  13. package/dist/@vtj/materials/deps/@vtj/utils/index.umd.js +4 -39
  14. package/dist/@vtj/materials/deps/element-plus/index.css +1 -1
  15. package/dist/@vtj/materials/deps/element-plus/index.full.min.js +22 -22
  16. package/dist/@vtj/materials/deps/element-plus/zh-cn.js +1 -1
  17. package/dist/@vtj/materials/deps/hotkeys-js/hotkeys.min.js +2 -0
  18. package/dist/@vtj/materials/deps/pinia/pinia.iife.js +1940 -2
  19. package/dist/@vtj/materials/deps/pinia/pinia.iife.prod.js +7 -0
  20. package/dist/@vtj/materials/deps/uni-h5/index.umd.js +6 -6
  21. package/dist/@vtj/materials/deps/uni-h5-vue/uni-h5-vue.js +11719 -0
  22. package/dist/@vtj/materials/deps/uni-h5-vue/uni-h5-vue.prod.js +8 -0
  23. package/dist/__devtools__/assets/IconTitle.vue_vue_type_script_setup_true_lang-B9Nj8PlY.js +1 -0
  24. package/dist/__devtools__/assets/SectionBlock-BYDDTsu3.css +1 -0
  25. package/dist/__devtools__/assets/SectionBlock-BrHcKx8P.js +1 -0
  26. package/dist/__devtools__/assets/assets-tWZ16yre.js +12 -0
  27. package/dist/__devtools__/assets/components-EaHI7FxW.js +1 -0
  28. package/dist/__devtools__/assets/css-DPfMkruS.js +1 -0
  29. package/dist/__devtools__/assets/custom-inspector-tab-view-CZIfhGNk.js +1 -0
  30. package/dist/__devtools__/assets/custom-tab-view-BGjRlmIC.js +1 -0
  31. package/dist/__devtools__/assets/diff-D97Zzqfu.js +1 -0
  32. package/dist/__devtools__/assets/graph-Dvz7NSzX.js +1068 -0
  33. package/dist/__devtools__/assets/html-B8pBdPMQ.js +1 -0
  34. package/dist/__devtools__/assets/index-CtdYRAx7.js +2382 -0
  35. package/dist/__devtools__/assets/index-DkeGUpKU.css +1 -0
  36. package/dist/__devtools__/assets/index-ENvNlo7R.css +1 -0
  37. package/dist/__devtools__/assets/javascript-BMMyXqK5.js +1 -0
  38. package/dist/__devtools__/assets/json-Cp-IABpG.js +1 -0
  39. package/dist/__devtools__/assets/overview-CXo9qbzV.js +1 -0
  40. package/dist/__devtools__/assets/pages-BLZMWMb9.js +1 -0
  41. package/dist/__devtools__/assets/pinia-CsnX6hr4.js +1 -0
  42. package/dist/__devtools__/assets/router-BZru8YYb.js +1 -0
  43. package/dist/__devtools__/assets/settings-C2YlJymx.js +1 -0
  44. package/dist/__devtools__/assets/shellscript-Yzrsuije.js +1 -0
  45. package/dist/__devtools__/assets/timeline-B5ZeLLK0.js +1 -0
  46. package/dist/__devtools__/assets/timeline-DQ8UE2TV.css +1 -0
  47. package/dist/__devtools__/assets/typescript-DlfHMoPT.js +1 -0
  48. package/dist/__devtools__/assets/vitesse-dark-D0r3Knsf.js +1 -0
  49. package/dist/__devtools__/assets/vitesse-light-CVO1_9PV.js +1 -0
  50. package/dist/__devtools__/assets/vue-CYH3TOzo.js +1 -0
  51. package/dist/__devtools__/assets/vue-apis-DJBctb31.js +1 -0
  52. package/dist/__devtools__/assets/vue-html-zSiQ3dJi.js +1 -0
  53. package/dist/__devtools__/assets/yaml-Buea-lGh.js +1 -0
  54. package/dist/__devtools__/color-scheme.js +6 -0
  55. package/dist/__devtools__/index.html +15 -0
  56. package/dist/__devtools__/logo.svg +208 -0
  57. package/dist/assets/@vueuse-BJJKbYUL.js +1 -0
  58. package/dist/assets/Editor-CDMLuXiC-CorvqbXP.css +1 -0
  59. package/dist/assets/Editor-CDMLuXiC-qMegSvLz.js +316 -0
  60. package/dist/assets/{auth-BU1g2m9V.js → auth-B_8v5-7D.js} +1 -1
  61. package/dist/assets/{element-plus-BAo4E1qD.css → element-plus-BsdZdiCp.css} +1 -1
  62. package/dist/assets/element-plus-DI7qTjX8.js +12 -0
  63. package/dist/assets/{index-Bcin0Mcb.js → index-BFgirofd.js} +2 -2
  64. package/dist/assets/index-DMKPq5x8.js +1 -0
  65. package/dist/assets/{lodash-es-KLPqz5pm.js → lodash-es-BOeLjWVX.js} +1 -1
  66. package/dist/assets/{mockjs-DVrd8ONE.js → mockjs-DKzs-0ke.js} +1 -1
  67. package/dist/assets/page-BRVrjPjg.js +2 -0
  68. package/dist/assets/preview-DS2ozlz9.js +2 -0
  69. package/dist/assets/utils-pirouenX.js +1 -0
  70. package/dist/index.html +14 -12
  71. package/dist/uni/assets/{index-Do95VDVa.js → index-B9AeAmg0.js} +19 -19
  72. package/dist/uni/index.html +1 -1
  73. package/package.json +13 -12
  74. package/src/.vtj/files/1a99m0h6.json +108 -0
  75. package/src/.vtj/histories/1a99m0h6/1a99mnpa.json +118 -0
  76. package/src/.vtj/histories/1a99m0h6/1a99vz9d.json +118 -0
  77. package/src/.vtj/histories/1a99m0h6/1a9a1im3.json +118 -0
  78. package/src/.vtj/histories/1a99m0h6/1a9a8cp6.json +118 -0
  79. package/src/.vtj/histories/1a99m0h6/1a9ajtfk.json +118 -0
  80. package/src/.vtj/histories/1a99m0h6/1a9awy1w.json +113 -0
  81. package/src/.vtj/histories/1a99m0h6/2a99o0ne.json +118 -0
  82. package/src/.vtj/histories/1a99m0h6/2a9a1yso.json +118 -0
  83. package/src/.vtj/histories/1a99m0h6/3a99rf7k.json +118 -0
  84. package/src/.vtj/histories/1a99m0h6/4a99t0db.json +118 -0
  85. package/src/.vtj/histories/1a99m0h6/5a99t9vt.json +118 -0
  86. package/src/.vtj/histories/1a99m0h6.json +60 -0
  87. package/src/.vtj/materials/@vtj/pro.json +8246 -0
  88. package/src/.vtj/projects/@vtj/pro.json +247 -0
  89. package/dist/.vtj/block.json +0 -304
  90. package/dist/.vtj/vtj.png +0 -0
  91. package/dist/assets/@vueuse-BpC0PsDL.js +0 -1
  92. package/dist/assets/Editor-CLb3krdP-C8r-IoQB.js +0 -307
  93. package/dist/assets/Editor-CLb3krdP-CF39O6J0.css +0 -1
  94. package/dist/assets/element-plus-Ls1uDfNj.js +0 -12
  95. package/dist/assets/index-TDxfKkT3.js +0 -1
  96. package/dist/assets/page-XeGEQ6Gx.js +0 -2
  97. package/dist/assets/preview-DBbWvSmA.js +0 -2
  98. package/dist/assets/utils-BgbpVBXT.js +0 -1
@@ -0,0 +1,1068 @@
1
+ import{p as Sn,ap as u6,i as h6,aq as c6,ah as Iee,m as v_,aj as yA,ac as Cee,ar as dee,d as VA,as as lee,e as uee,o as Zt,w as XT,b as Ue,c as tr,y as dA,a as tO,t as pn,u as Ee,n as Os,F as bA,s as wA,q as qs,M as hee,A as f6,at as cee,Y as fee,aa as pee,f as vee,au as mee,av as yee,a8 as bee,B as wee,aw as Eee,N as See,a1 as _ee,ax as Jg}from"./index-CtdYRAx7.js";/**
2
+ * vis-network
3
+ * https://visjs.github.io/vis-network/
4
+ *
5
+ * A dynamic, browser-based visualization library.
6
+ *
7
+ * @version 10.0.1
8
+ * @date 2025-07-13T08:15:32.270Z
9
+ *
10
+ * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
+ * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
12
+ *
13
+ * @license
14
+ * vis.js is dual licensed under both
15
+ *
16
+ * 1. The Apache 2.0 License
17
+ * http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * and
20
+ *
21
+ * 2. The MIT License
22
+ * http://opensource.org/licenses/MIT
23
+ *
24
+ * vis.js may be distributed under either license.
25
+ */function Wn(n,e){e===void 0&&(e={});var t=e.insertAt;if(!(!n||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",t==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(document.createTextNode(n))}}var Oee=`div.vis-network div.vis-manipulation {
26
+ box-sizing: content-box;
27
+
28
+ border-width: 0;
29
+ border-bottom: 1px;
30
+ border-style: solid;
31
+ border-color: #d6d9d8;
32
+ background: #ffffff; /* Old browsers */
33
+ background: -moz-linear-gradient(
34
+ top,
35
+ #ffffff 0%,
36
+ #fcfcfc 48%,
37
+ #fafafa 50%,
38
+ #fcfcfc 100%
39
+ ); /* FF3.6+ */
40
+ background: -webkit-gradient(
41
+ linear,
42
+ left top,
43
+ left bottom,
44
+ color-stop(0%, #ffffff),
45
+ color-stop(48%, #fcfcfc),
46
+ color-stop(50%, #fafafa),
47
+ color-stop(100%, #fcfcfc)
48
+ ); /* Chrome,Safari4+ */
49
+ background: -webkit-linear-gradient(
50
+ top,
51
+ #ffffff 0%,
52
+ #fcfcfc 48%,
53
+ #fafafa 50%,
54
+ #fcfcfc 100%
55
+ ); /* Chrome10+,Safari5.1+ */
56
+ background: -o-linear-gradient(
57
+ top,
58
+ #ffffff 0%,
59
+ #fcfcfc 48%,
60
+ #fafafa 50%,
61
+ #fcfcfc 100%
62
+ ); /* Opera 11.10+ */
63
+ background: -ms-linear-gradient(
64
+ top,
65
+ #ffffff 0%,
66
+ #fcfcfc 48%,
67
+ #fafafa 50%,
68
+ #fcfcfc 100%
69
+ ); /* IE10+ */
70
+ background: linear-gradient(
71
+ to bottom,
72
+ #ffffff 0%,
73
+ #fcfcfc 48%,
74
+ #fafafa 50%,
75
+ #fcfcfc 100%
76
+ ); /* W3C */
77
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc',GradientType=0 ); /* IE6-9 */
78
+
79
+ padding-top: 4px;
80
+ position: absolute;
81
+ left: 0;
82
+ top: 0;
83
+ width: 100%;
84
+ height: 28px;
85
+ }
86
+
87
+ div.vis-network div.vis-edit-mode,
88
+ div.vis-network button.vis-edit-mode {
89
+ position: absolute;
90
+ left: 0;
91
+ top: 5px;
92
+ height: 30px;
93
+ }
94
+
95
+ /* FIXME: shouldn't the vis-close button be a child of the vis-manipulation div? */
96
+
97
+ div.vis-network button.vis-close {
98
+ position: absolute;
99
+ right: 0;
100
+ top: 0;
101
+ width: 30px;
102
+ height: 30px;
103
+
104
+ background-color: transparent;
105
+ background-position: 20px 3px;
106
+ background-repeat: no-repeat;
107
+ background-image: url('data:image/png;base64,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/GMzLdsAADvGaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNC0wMi0xNFQxMjowNToxNyswMTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjk4MmM2MGIwLWUzZjMtMDk0MC04MjU0LTFiZTliNWE0ZTE4MzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5ODJjNjBiMC1lM2YzLTA5NDAtODI1NC0xYmU5YjVhNGUxODM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMTRUMTE6NTU6MzUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjIxODYxNmM2LTM1MWMtNDI0OS04YWFkLWJkZDQ2ZTczNWE0NDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0xNFQxMTo1NTozNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjU0YmM5YmQtMWI2Yi1jYjRhLTllOWQtNWY2MzgxNDVjZjk0PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAyLTE0VDEyOjA1OjE3KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+cZUZMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA2ElEQVR42gDLADT/AS0tLUQFBQUVFxcXtPHx8fPl5eUNCAgITCkpKesEHx8fGgYGBjH+/v4a+Pj4qgQEBFU6OjodMTExzwQUFBSvEBAQEfX19SD19fVqNDQ0CElJSd/9/f2vAwEBAfrn5+fkBwcHLRYWFgsXFxfz29vbo9LS0uwDDQ0NDfPz81orKysXIyMj+ODg4Avh4eEa/f391gMkJCRYPz8/KUhISOMCAgKh8fHxHRsbGx4UFBQQBDk5OeY7Ozv7CAgItPb29vMEBASaJSUlTQ0NDesDAEwpT0Ko8Ri2AAAAAElFTkSuQmCC');
108
+ border: none;
109
+ cursor: pointer;
110
+ -webkit-touch-callout: none;
111
+ -webkit-user-select: none;
112
+ -khtml-user-select: none;
113
+ -moz-user-select: none;
114
+ -ms-user-select: none;
115
+ user-select: none;
116
+ }
117
+
118
+ div.vis-network button.vis-close:hover {
119
+ opacity: 0.6;
120
+ }
121
+
122
+ div.vis-network div.vis-manipulation button.vis-button,
123
+ div.vis-network div.vis-edit-mode button.vis-button {
124
+ float: left;
125
+ font-family: verdana;
126
+ font-size: 12px;
127
+ border: none;
128
+ box-sizing: content-box;
129
+ -moz-border-radius: 15px;
130
+ border-radius: 15px;
131
+ background-color: transparent;
132
+ background-position: 0px 0px;
133
+ background-repeat: no-repeat;
134
+ height: 24px;
135
+ margin-left: 10px;
136
+ cursor: pointer;
137
+ padding: 0px 8px 0px 8px;
138
+ -webkit-touch-callout: none;
139
+ -webkit-user-select: none;
140
+ -khtml-user-select: none;
141
+ -moz-user-select: none;
142
+ -ms-user-select: none;
143
+ user-select: none;
144
+ }
145
+
146
+ div.vis-network div.vis-manipulation button.vis-button:hover {
147
+ box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
148
+ }
149
+
150
+ div.vis-network div.vis-manipulation button.vis-button:active {
151
+ box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
152
+ }
153
+
154
+ div.vis-network div.vis-manipulation button.vis-button.vis-back {
155
+ background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmOWQ3OGY4ZC1lNzY0LTc1NDgtODZiNy1iNmQ1OGMzZDg2OTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTU6MDE6MDkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmI2YjQwMjVkLTAxNjQtMzU0OC1hOTdlLTQ4ZmYxMWM3NTYzMzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNTowMTowOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOmY5ZDc4ZjhkLWU3NjQtNzU0OC04NmI3LWI2ZDU4YzNkODY5Nzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4jq1U/AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAVTSURBVHjanFVfTFNnFP+d77ve8qeVFbBrpcVgRrCRFikFByLxwSAaE32oRCHD6JMxxhhn8G2RxxH3MsOTbyYsmCAxPMmMMYtkIUYmK60OO0qAK23BFlNob0uh3x7WS5jLZPpLbm6+k/P9zrm5v9855PF4UFhYCABgjIExBgAgIqRSqRIi6gDQRkQ1RGTB3wgR0e8AHgH4Sa/XR/EBiAiJRAJ04cIF5Ofng4g2n0gkUkxENwF0c843LzHGQEQQQkCLExEA9ALotVgsUQAQQmgNQhJCbF5kjCEUCl0moj4t5na7fTU1NUpVVVXUYrEkASAcDhe8efOmxOfzWScmJqoBdBNR99LS0hWz2dynNSSEAF28eBGFhYVgjCEcDn9HRD1EhIMHD3o9Hs9kWVlZAh9BKBQqGB4edr58+dKZ+6JbJpOpBwBWV1fB6+rqIMsyIpHIFcZYL2MMra2tY5cuXRrfuXNnBtvAYDBk3G63oqpqZm5uzgrgSDKZjBoMhueZTAbc5XIhFouVEtFTxhiOHTs2dv78eS8+Efv374+oqpqZnZ21cs5PJJPJPlmWkyynnBuMMTQ0NHi7uro+mVyDx+Pxulwu71ZOlkqlSonoJhGhvb39s8k1nDx50ss5hyRJN9PpdKlERB2aWjSVaEilUvzBgwcORVEs5eXloXPnzk1sV8BkMiUdDofP7/dXZ7PZDilnIhw4cGBeS1pbW2P37t1zBwKBikQiUUREWFhYsHHO0d7evm0Ru90+/+rVq2rO+XGJiJxEhMrKyhgAjI6OWoeHh5tWVla+4JzDZrO9bW5unhwcHGzz+/32np4e+xaDbfoHAMxmc6ijo2O0oqIiJkkSNjY2HBIRmRljMJvNyWfPnln7+/tPMMZQXl6+0NbW9qK2tjYcj8floaEhqKpq+HCkbD3PzMwYBgYG0NXV9UuusFna2kEgELAQEQ4dOvSis7PzN41Ar9dnrl27NqCNkv/C3bt3zy4tLVmICJxzEBFJRBQmorLFxcWCqqqq0Pj4eO3Y2JhbUZTdra2tL2pra8OJRGLHnTt3zkqS9K+huHU4EhHMZnMoGo0W5OIh7nK5jjLGKq1W69vDhw8rRqMxMjc3t2t5eXnX5ORklc/nM+fl5SWnpqa+0uv1K/n5+Ws6nW5NluXNd15e3ppOp1uz2WyzZ86cGQ0Gg6ZAIFCZzWZ/lYjokRDiuN/vt7W0tMw3NTUpbrd78P79++5gMFgRiUTKHj58WMYYQ3V19etTp05tq6Lp6Wkb5xxCiEfc7XZPM8a6FxcXTfX19a/1en2Gcy5qamreNjY2/qGq6joRZe12+9Tp06e3JY/FYgWPHz8+mhvr3/CWlpbk+vp6PmOseWVlBS6XS9GSJUkSdrs93NDQ8Oe+ffvC/8fJIyMjddFo9Esi6pVleVjT2m0A8Hq9zqGhIefnjoknT544A4GAM/eDbxMReFNTE0pKSpKqqsaI6Pj8/LxVVdWM3W6PfCr5xMTE1zllXS0uLn6aSqXAGxsbodPpoNfrn6uqCs75EUVRrJFIZMfevXsXdTrdxseIE4mEPDIyUu/3++tynd8yGo29RIR0Og26fv06ioqKwBgD5xzv3r27zBjrIyJIkgSHwzFZWVmp7NmzJ1ZaWpoAgGg0WqgoSvHMzIw1GAw6tvjhitFo7NPW5fv370Hd3d0oKCgA53zTQMvLy+VCiKuSJH0rSdLmztZytIWv5RPRD0T0Y3Fx8dzWfby6ugopHo//w4mcc8iyPMc5v5FOp7/PZrOdQohWInIC2C2EgBBigYi8Qoifs9lsv06nWyIiaFxagXg8jr8GAGxuIe7LBeWhAAAAAElFTkSuQmCC');
156
+ }
157
+
158
+ div.vis-network div.vis-manipulation div.vis-none:hover {
159
+ box-shadow: 1px 1px 8px rgba(0, 0, 0, 0);
160
+ cursor: default;
161
+ }
162
+ div.vis-network div.vis-manipulation div.vis-none:active {
163
+ box-shadow: 1px 1px 8px rgba(0, 0, 0, 0);
164
+ }
165
+ div.vis-network div.vis-manipulation div.vis-none {
166
+ padding: 0px;
167
+ line-height: 23px;
168
+ }
169
+ div.vis-network div.vis-manipulation div.notification {
170
+ margin: 2px;
171
+ font-weight: bold;
172
+ }
173
+
174
+ div.vis-network div.vis-manipulation button.vis-button.vis-add {
175
+ background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0YjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2OWVmYWE1NS01ZTI5LTIzNGUtYTUzMy0xNDkxYjM1NDNmYmE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDA6MjkrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjVkNWIwNmQwLTVmMjAtOGE0NC1hMzIwLWZmMTEzMzQwNDc0Yjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MDoyOSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjY5ZWZhYTU1LTVlMjktMjM0ZS1hNTMzLTE0OTFiMzU0M2ZiYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5WKqp9AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYXSURBVHjafFZtUFTXGX7e9z27sveuMCwYV8ElrA7YSFYHtJUPkaaI0aRqG8wP00zUzljDINNSA/2ROtpO24SxnahlxjYd7SSjmUkymcxYlDhQPzHGisEVp8HwYWCVVVgEsrsuLnL74+5uqTF9Z+7cO/d8PO95zvO851BlZSV0XQcAMDOYGQBARDhX3JRmMDYZwLPMWAzGHACYIgwS46oBNBNwtOL8CwE8EkSEUCgE2rJlC2w2G4go8Zwo/bMDgnoG6gxLfAAAYvPDMCCszKTAMIAGAhrWnf15AAAMwwARIRKJgDZv3gy73Q4iAjPjxIr9VVOMRhbAYKB8zvrO0llrfEsdKwLZek6YAPSFvtSu3GtLawu0ZJ6625SHGBQB1T88t6MxvopgMAjaunUrdF0HM+P4yv27DMYeJmB1RqW3Jnf3tQX2p0L4P9EXuqEd7PmDp+XuMU9sRbvXnnt1TxxACgoKYLVacbzsQDUJGkSATe6qi28uPtzusM6Kxie6NHLGUX3lxVUNX9StPHnn4wy3njuUYcu6n2pNi66avcEXnByP/nv8aiaIyrqz2gO5A9+9FI1GIfn5+WhZdTAdjFMkwMvZOy7uWnTAOz3L4Yk71m3t69fdfTDoUGTBeHTUfiHQ6lo7Z2OXJvpDAChKe+aOCdKRKWxZ2+1qb3yyd3GYmRkQ7GQBVs99wfv6on3eR2k4PdTkDEbH7IuS8/svld/561PJS/pDk1/bzwx94pze7xc5v/H+YPY6r5BAkdrJzODTK46lE6PeYEJt7u+8j+OZwCBiEAgAoNgKJoEQf6PvNvdrXgtZoNhSf7q0KZ3B2AQmVMze0Jmt54S/DcDCVig2NcvEUGxJAE4Pl+YOr0iv6BRSIPAmBeBZAmHlE2sH4p1uhrq1s0MnnEQMBsf8wRASAICQQCCITN1X7/sOuc0kgOVp3/fPs2WHv+coG7gQOJUnLGsUCTxEjPzUohEA+NfIWUdtx0+efzA1kSSkIGyBAQNCKgHAEBAJ3u79U7kiAcWoem/gb5Fd33nrH3kp+SMWtuAB+GllMJxMjCx9QRgA3uiqL5kwHiTlpxb3smlfMDGYGPP1hcMAkJvs8ScpfdJspdj+MK6Pf+5+u29vyb4lR4+BGEziVESAkEpw6Av1OhUpHCz4qOXbzFWz4Ncdj/v/o08Lt92ODDgZDCEFJYoUGH4mzugP92puPTf0pD3H7wvfdFZdqSxnMtWjoGAAmG9fOLxjwesdjT2/XzIQ7ks3sycYMSEwGHNtWf5bkX5NkYCJBxUBXiGV0XHvosOt54Zey33j/K+8P33++vjnbiGJbbLE+J9SANAb6nJ2B79wcUwETAwQQ7fMjPzMvfP8ja87HUIKMOiaAqMZhrGmLdAy78eZrwwsTS0eObTs+IdtgVanxBUExqGbb5VzrIISGIoUXsmqbgEhJldCQWqRf27SvPAn/o8XmgLhZsUkR4ll37mhk3n94Z4OlzY/7NLcYZfm7o1z2zT4vsvUNSXqprBCkmiTFbPX90/fh8GIT2sf+zTPdDMf4dVnNg4z+E0ixsGeBs9jd5ViSgLHjCb/peaR+MD3d4/ZJg2llyuG2Vwy7QWAs8PNnn1f7vkGSGxAzE6mk+kxkx/p/4unffSCR0hAoL1EBCYiPNdWNcwkNQTCR7feWX6g+7f/A7I8rcw/U6UEe0Ndrhc/W7mtL9ztmqlSgstSS/zTJ28dalpOpkRryrwbhwBACgsLMWPGDOT4ll3qyeqAkJTdCF7P/CrUY/GkLL1rE+2hTbSH8+0Lb/WEuhzhyaA905blf9Vd/895WnZwLHrPevir/cvOB1oLYpTtLrm6oYGIMDExAaqtrUVKSgqYGSKCk0WHq5ikkWEWtNL0imv5qUW+RclLRjJsrhBAuH1/QL8R7HR4xy5nescuP23E6hOA6mLv+sb4uTw6Ogqqq6uDpmkQkcStorX4XRcM1FjZ+kvFFjCJKU1WpkNJJUqIMtX1RyLeX3JtQ0JRhmGYZ/L27duRnJycuFGISOJ9pqh5lrB6iYgqGOxRrOaa54DcZmKvkJxk8JHC9rKh+KVhOsD4+Dj+MwADIf8n5m4xGwAAAABJRU5ErkJggg==');
176
+ }
177
+
178
+ div.vis-network div.vis-manipulation button.vis-button.vis-edit,
179
+ div.vis-network div.vis-edit-mode button.vis-button.vis-edit {
180
+ background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozOWNhNzE5ZC03YzNlLTUyNGEtYmY1NS03NGVmMmM1MzE0YTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDVUMTQ6MTI6MjUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY5OTM3ZGZjLTJjNzQtYTU0YS05OTIzLTQyMmZhNDNkMjljNDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNVQxNDoxMjoyNSswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjM5Y2E3MTlkLTdjM2UtNTI0YS1iZjU1LTc0ZWYyYzUzMTRhNzwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ykninAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYpSURBVHjafFZtTFvnFX7Oea+NudiY2Hwam4CBlgQwXdKREDKUoYg0jbRJ29RJ2VZ1mjRFUxSpA3VTfkzJfkQbS7spU6rtx5Z2UtppScjaHxvLuiatWi2jLEoMIUDCh23g2gbj7+tPuPvhOurawPl1dc99n+c55z33fV46ceIEZFkGADAziAgAQERoe/9ZK4GPM/AcgbsIXAcABCgMvkfAqAa89eDoJyF8LogIqqqChoaGYDAYHr8kItS8uc8iIH6iAa9IkAo5EAQX8pqmgUVBCBggYFgDhv0/GAsBgKZpICJkMhnQ4OAgZFkGEYGZUXmp+0cS+CKBwWA0DVRPOg5Zl2q6zaHyJlnVAMQXVTkwHrUqH0Xsvn+tdQAAMQDgpPLS2MViFY8rkGUZzIzaS/t/xqCzGggtz9e697zsnKhoLUtim4jOq/LE6x7X0nsh16dEZ5a/O3a2SCAOHjwInU6Hujd6ThJ4mCDQ+b2G232v7v6vwarPbQn8MGlMr+X0kpE3Wr5Zt5hL5HPhqYSdQIfKJ+yhxDPKWC6Xg+jt7UXD5b5KBt1kCHS85Ljd8/On3NupfnhFaZj4rWff1B98B1R/hnUmKd36bdtCNl4g0en4edNE/cXwLq8qMTMIPAQwmo/WuHvObA8+9c58k/dKtD0TyZWXN5YGA7ej7epKxspM//7SoNOdWc/Jyq2wiwhDzPxT8cP0jys3VMM7OmL0/77zn4Ydui3b8uiK0jD7RrA77c9Wd57cefPpF+2T6bWsFPWkaiPTCWvTsZpHFU+XrS+8G3AR08F6X+1FJvBxQQzHQOWk2SmrW4FPX/U2LVwPuDZj+fJKl2khPpeyAqA9rzR/YqwuiWXX8taN/CabGkrVuq9YJlkQQDjOAJ5jAhz9Vt9W4N5/rNp8I+vtMV/aZm4zLnUNNt0urdYnF68HWoJj4Wo1mLGUNRr8LEgDgNqeCh8xQIKOsgC7iAjVe83rT9zQa8uNM28u70kspessu8q8zq/V3NcZpVzb9+0zmVhOvvvrhaMVzrJg0zeq7xMVCCwdpnWSGBqjUyJwLTFgbvxie3w31uoWR1Y74r60rdxZqrR8q85t2W2MGCp12bm/KC3hyaSTiMhxuGrKcahqpbjOaDOoEhOEoFqJQCCJvqA85I6bfTdDjQlf2lbxVNlS6wt19yy7jRHZZlDnrinNj/6sHMhnNw2Ogco7O79e5fm/xQywRBBCEAuwn4gQ96bkYj4Vyuq9N1Z3Bj4Od5bs0MXt/dZZ21ctiqFan174q985P+Lfp+U1g7XDON/1ctP458WlVjLyJhOISZE0wM0S1QfuRC3lTjkJAKKEtNC9eIOhSh9xHLZOJRZTFuXDsEoStLkR/768ummsaJG9Pb9oe+9J+xaeSVokiQDSJphAo5uaBuWjiKP4QTqS1cUWU7ayesN66wu22frD1vmVW6GW6T8u9eVjGyZzs+w78Nqu0a2mbvVu1KEJQAgeZRL0liQYyx+GOmKeQpu0rMYsAJPNEFGD2dLodLIy6c9Ys7G8yeSUl3tf2/X3rcBVJSOv34l3sCBogi7z1LH/rBHjl4IJ93/ncQFAnjeImJD0Z8zuCwu9q3djDXqTlAKID5xv+9t2R8n8VcUFBljQ8Gyfe40BYBM4DwDLt8Kue79ZcFkbzfEdbUbv+oN4c9KTtsfm1MbYQqqh+2zrVZYKs/7Ef+byimt1POYiJhDhPBFBIiIEXhxfs7/dfYoIF+auBfYTE/pebx/V8hqBP2ODvD34yvuh/WCAmU75Bx6sIgaI/v5+6PV6JLqUsYr7dpDAoehs0h73pHTWrvKgThYbRSt9UmSjef3MpaUvBz4O72UmADgTOPJguGiZor+/HyUlJWBmJFz+D8xTtlUiOpbwpmrmrweeSXrT+g11k4SBN3RGKUcAVCVdFhyP1nreDbY//NPyEXUlU/Pp4XYycGT6V0Ux2WwWdO7cOZSWlkII8diX7SPPNgDaKdbxoNAxwATBAEkEEgSWCEQAqPAMwqvMdCEwMO0tVqZpWsGTT58+DaPR+PhGIYQAAAgh0P7B3ioW/B0iGiCGiwXbCuOHFSJys6AbYFye2T+xWhT3WYJEIoH/DQBMw3kes8OJPgAAAABJRU5ErkJggg==');
181
+ }
182
+
183
+ div.vis-network div.vis-edit-mode button.vis-button.vis-edit.vis-edit-mode {
184
+ background-color: #fcfcfc;
185
+ border: 1px solid #cccccc;
186
+ }
187
+
188
+ div.vis-network div.vis-manipulation button.vis-button.vis-connect {
189
+ background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZWRhMjI0MC0yYTQxLTNlNDQtYWM2My1iNzNiYTE5OWI3Y2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6Mzg6NTcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjlmYjUwMDU0LWE3ODEtMWQ0OC05ZTllLTU2ZWQ5YzhlYjdjNjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDozODo1NyswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjdlZGEyMjQwLTJhNDEtM2U0NC1hYzYzLWI3M2JhMTk5YjdjYTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4ubxs+AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAUtSURBVHjajJZ/bNT1Gcdfz/P53PV6B4W7VltLqdAaplIOiMOoyxxJCSs/Gv/yB4gzJroAosmmDklwkYWR0bQsdmkykoojTpcsWYLxD/lRZdMQkTHRtkLZRqG0tIVe7662vTu43n32x/VKZ/jh89cn38/zvN7P5/l88zwf2blzJz6fDwARQUSm1n8s31CM0/VAnbNmsUPuAsDpgEO+Bg4C7//iyv5hvmMiQiqVQpqamvB6vVNwEeG1JZtCBrYi/MrkAwDNgjhwAlbzICBLA0rDb0+/839C6XQaaWxspLCw8Dp86cbNmqVFJQddE6KzdjZ9D89g+B6fSyCOcyn1nxil+O9xKg5HqWFSHGXLjrP7W/ICqVQK2bNnDz6fDxFh65KNvxbHDhF4rJj2bXPo+IGfcW5h5xL4f99P+FCEMIAob75x9t0dAMlkElNXV4e1lteXbNqiQoMaeOFOjrdU868SD2luYyEP6dUh+sYmSHeOU6GO5Z8VLx5+NNZxIpPJ5AS2L3upROCoCvz8Lo7vnkf77cAHhpiz/zIL9vWz8L8p/NvupmM0Q7pjnAoLqz8tDrc8MnQqYVUVhVdF4LEg7b+rvDn8wDDlH0WoPpukLJImSBaMwjcJqmwWts2jPZLG/8kwYVFeVdXXZcFf4yVDc2cNKfBFmD9X+0ncCP58F48eG+Feo2CAUkvs4dl0V/uJvdXLiiV+ut++n7YLSfxPfMMG54ChzB3WIesVWB2i82bw1AR6fJR7C4VsfYiv6u/k3A9nEgP4zXke8DiYHyAOMK+QxPIgnZ9GqSHr1itQJ8DK2fTerDQ+S/bHRXQJaHSCwNIZ2Xh+7+S3VAmwNMBA/tuPZtErgKquUmdMWIFlRURvdamRNEXGwIWrlP47pTMzLiunxghGMwTLvcTWlHAp77s4QNSrYMQtss6ZMgWqCm5cHoDHO1nbk6K8zEN8+3zatv2Hn1b59EqJZdxmYUERg9P9KwpIiAOTdWUWBXuLzB/vZG3P1Un4PNp2d1MbmyD45TWCxuCsQm0x56bHGHFYEZwxok7toAA9Sfw3hCcoL/NOwi9QO5wmWO1j4JEgZxTkodmcWRGkf3pcX0r8xoAaBixKu4U5/xwndM+0tpAvS6mP+PZK2nb1UBvPEKwKMLDvPj4ESGc55lGy303sdJKQdZB2rkMdctAB/4gzN+/Q2ENNd4LyUi/xN+bTtquX2thk5nk4wI3gAF+OMNcA1nFQDfK+BY5GqbkwWabTY5QZhXWlnNx1ntrY1Rz87fuvw29m/Sn8J+PUGAFj5T19baA1IspuBZp7cx1x4SwG1cEf+lgRSROs8jGwb+Ht4QB/GSSsAhYano39LWIBxNEIbP14hPDuiyS2VtJuHXQlKKvxM/jiXDq/D/xPlwifGMkJZB2NIoKpr69nxeiZxLHicFSFVWfGqBidIP3LSjrWltD94CyufF/4kQgPuVz2Lz93+dDRa9eu5QQ8Hg8/iXee+Dy4CKMs7xqn4nwKz9IirhQqmVuB42m8ey+x7LMoD6iAON782eChhqmRuXfvXgKBAKqKqtI0/8nNKrQI4BVYXkzHgzPpC88gWuHL/caXrhLoGiN0apSKr0ZZRBZM7q2w5ZnLR1oAnHOMjY0hra2tFBQUYIyZmstvVT1Z6eDlAuEVq7merxmwueNPDXy9PvybjKP5mctHLk4/XTKZRJqbm/H7/VNw1VyEMYbW4FN3WNWnnchKoy5sHeVGBRX6VWi3ymFx7r11Ix8MTX/y5C2RSPC/AQB61erowbpqSwAAAABJRU5ErkJggg==');
190
+ }
191
+
192
+ div.vis-network div.vis-manipulation button.vis-button.vis-delete {
193
+ background-image: url('data:image/png;base64,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/GMzLdsAAEEOaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTAxLTIyVDE5OjI0OjUxKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6RUE2MEEyNEUxOTg0RTMxMUFEQUZFRkU2RUMzMzNFMDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDEtMjNUMTk6MTg6MDcrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowNmE3NWYwMy04MDdhLWUzNGYtYjk1Zi1jZGU2MjM0Mzg4OGY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMDItMDRUMTQ6NDE6MDQrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjc3NDkzYmUxLTEyZGItOTg0NC1iNDYyLTg2NGVmNGIzMzM3MTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNC0wMi0wNFQxNDo0MTowNCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjA2YTc1ZjAzLTgwN2EtZTM0Zi1iOTVmLWNkZTYyMzQzODg4Zjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpFQTc2MkY5Njc0ODNFMzExOTQ4QkQxM0UyQkU3OTlBMTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjczQjYyQUFEOTE4M0UzMTE5NDhCRDEzRTJCRTc5OUExPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDA5MC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDkwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4aYJzYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYGSURBVHjalJZ7UJTnFcZ/73m/72PdJY1RbhoQp6lkXRAvmIYxdCUadLVOozPNtGObap1JsKipjiShbdoRbeKEiQHpQK3xj0xa03aamTbaTGyAYV1QGeqFi+JyiZFLAlmESBkWRmS3fyzslGkmnZ5/v/M873Oe75zzvqqoqAibzQaAiKCUAkApRdHIK/NFsx2NR91nOSILADDoJyzNaM4xxbtvPHh0iC+JiYkJ1OHDh4mJiUEpFSXPv/ziPC28TIiXDCOSrAClQDSEpsCwJPIhrEBRQpiSytXlQwDhcBilFPfu3UMVFxdjt9ujFTzfcLBADCoEEAFr1ZbrrNjch2vtEImPBgHob7fTcWE+bVXJNJ/NiFQlEGLvieXHKmYqGB8fRx05cgSbzYaIsPvywV8pKFaA7fGtLTzz61YWpo/xVTHQbufsq5lcez9zWuWhk5mvFwMEg0H0+vXrMU2Tn1wp3CtCiQ5DjGd3A/m/v8IDCZP8r4iNmyRrWx/j/5qktykZpXKzAjVDVxPzGqemptDr1q1jX3NRnIJarcDKK2hgR2ULXRfncv7UYv7xpovhnhiW5Mz+kefeSKO6LJ1A1xzEuk/Ojm4mRibpuZaMZW3OCtRUND60NmiICCIUShisx7a2sLMiQn4s77uEQgIabnqdfHIlgT1/qQeg8vs5dHhdCNB1wYn3RIiC995j26stjAbsNH+YiZJCESnS1Y/XxIXu8r4YIPv/VkVs3CTnTy2ms34xro1+sp9po6sxlTu34ultmsPVvy6is86FCHgO+DDs49zpjufBpCG+seYOC9OHaTidieicb9ouVAhKtouAseI710ma7pLuqwmgYfHqAFt+6WdLoQ/LBl11Lm7VudAa8vb72PCin9TlAWIsGGhLACD+kSAZnusYBii1XQAPYWDllt6ov2lrBkDBR2+6Ofuak2//3M+G/T4wAAPW7fPhKfRTVeqk9qQbFKRmDUTxS3N7QYGYmwzCkqklBGlPDEcTNv+sg9tNCbTXuvBWujE0bHrZj9JE1B/wU1Pm5PwJN6YBS9a2kVvQEcWnrh5GTFD3lxkYkqRMgYQlwVldUvDnen73LHTUuqitdKM0eAr9AFQfd1J/yo2aJn+2sn4Wdn5qEFODJskgBIjx5T0uCrQA08pnIjS9PERDjPnfOKXAMEBECUoGEIHBj+2zkt76UQ6dXheGAev3+cg74Kf6uJPqcicbfuond7cPy4SOiy7+tD9nFvZurx00KOk3CNEC+mE+vjSPBc7IWqgqTaPT60IMcO/xsXGa3HfKjRgRdbl7/KDg0jtubje6aHj7c7J3dgLQ2zoPwwQ91SooOQdAW1VKVMHty0kA5Bb48BycJn/LjWFGbLv4thvvb53kFvjJ+XEdWkPfjQVR/CcNKYgGMc8JWt5Fa2j+MIPPuyI2pa4IoHSkt6vLIuRaQ9q32khzt4GCxtNu6k46GeiIR2lIfDQQsafPzq1LGRGL9Gk9d+vrwewvfHPQOoexQVjxdB/auk/zmaUMdsfz6bVUtIalT7bxveP1ZHh6GPDPYeSzeD69kcpIfxymFWLNrka+ljhBTWkWwz2JiJT84YHnz2iPx0P20PkmRF5i6HYiwZFJsn/YzdezbzE3cQibY5xV266z6RfXohakb+xB9CjanCD9qTbW7Grk4WV38VZm0l6dhQiEw9taHSuDqrS0FIfDwXM3X9mHMsvRAk/sauDpQy38P+GtzOTGB9mEpkD0C2dS8n8zOjqK9ng8WJZFU+JTjasGvaCNXPpvJBPoMlm0OoDNMfWVxONfWNSUPUZ7TUQ56tCZlPwSgMnJSVRpaSmxsbFE1raw82ZxAZZRQUiBYUKGp5UlOX2krBzmoUVjiIKhHge9rfPo+Wcy3ZeXIYASgL1/X5RfMXMvj46OosrLy7HZbGitUUohIuzoem0RofALaOsghgWGjky0MiJTL8b0lOvI8hN1DKXKP0jd3TNTWDgcJhgMoo4ePYrD4Yi+KmaeLlprnrtXFo9h/AAlG1AqE8yFmBrC+jO0bgH9EVpO/1F2Dc5g//OAsbEx/j0Af+USsQynL1UAAAAASUVORK5CYII=');
194
+ }
195
+ /* top right bottom left */
196
+ div.vis-network div.vis-manipulation div.vis-label,
197
+ div.vis-network div.vis-edit-mode div.vis-label {
198
+ margin: 0 0 0 23px;
199
+ line-height: 25px;
200
+ }
201
+ div.vis-network div.vis-manipulation div.vis-separator-line {
202
+ float: left;
203
+ display: inline-block;
204
+ width: 1px;
205
+ height: 21px;
206
+ background-color: #bdbdbd;
207
+ margin: 0px 7px 0 15px; /*top right bottom left*/
208
+ }
209
+
210
+ /* TODO: is this redundant?
211
+ div.network-navigation_wrapper {
212
+ position: absolute;
213
+ left: 0;
214
+ top: 0;
215
+ width: 100%;
216
+ height: 100%;
217
+ }
218
+ */
219
+ `;Wn(Oee);var Tee=`div.vis-network div.vis-navigation div.vis-button {
220
+ width: 34px;
221
+ height: 34px;
222
+ -moz-border-radius: 17px;
223
+ border-radius: 17px;
224
+ position: absolute;
225
+ display: inline-block;
226
+ background-position: 2px 2px;
227
+ background-repeat: no-repeat;
228
+ cursor: pointer;
229
+ -webkit-touch-callout: none;
230
+ -webkit-user-select: none;
231
+ -khtml-user-select: none;
232
+ -moz-user-select: none;
233
+ -ms-user-select: none;
234
+ user-select: none;
235
+ }
236
+
237
+ div.vis-network div.vis-navigation div.vis-button:hover {
238
+ box-shadow: 0 0 3px 3px rgba(56, 207, 21, 0.3);
239
+ }
240
+
241
+ div.vis-network div.vis-navigation div.vis-button:active {
242
+ box-shadow: 0 0 1px 3px rgba(56, 207, 21, 0.95);
243
+ }
244
+
245
+ div.vis-network div.vis-navigation div.vis-button.vis-up {
246
+ background-image: url('data:image/png;base64,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');
247
+ bottom: 50px;
248
+ left: 55px;
249
+ }
250
+ div.vis-network div.vis-navigation div.vis-button.vis-down {
251
+ background-image: url('data:image/png;base64,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');
252
+ bottom: 10px;
253
+ left: 55px;
254
+ }
255
+ div.vis-network div.vis-navigation div.vis-button.vis-left {
256
+ background-image: url('data:image/png;base64,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');
257
+ bottom: 10px;
258
+ left: 15px;
259
+ }
260
+ div.vis-network div.vis-navigation div.vis-button.vis-right {
261
+ background-image: url('data:image/png;base64,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');
262
+ bottom: 10px;
263
+ left: 95px;
264
+ }
265
+ div.vis-network div.vis-navigation div.vis-button.vis-zoomIn {
266
+ background-image: url('data:image/png;base64,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');
267
+ bottom: 10px;
268
+ right: 15px;
269
+ }
270
+ div.vis-network div.vis-navigation div.vis-button.vis-zoomOut {
271
+ background-image: url('data:image/png;base64,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');
272
+ bottom: 10px;
273
+ right: 55px;
274
+ }
275
+ div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends {
276
+ background-image: url('data:image/png;base64,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');
277
+ bottom: 50px;
278
+ right: 15px;
279
+ }
280
+ `;Wn(Tee);var Ree=`.vis-overlay {
281
+ position: absolute;
282
+ top: 0px;
283
+ right: 0px;
284
+ bottom: 0px;
285
+ left: 0px;
286
+
287
+ /* Must be displayed above for example selected Timeline items */
288
+ z-index: 10;
289
+ }
290
+
291
+ .vis-active {
292
+ box-shadow: 0 0 10px #86d5f8;
293
+ }
294
+ `;Wn(Ree);var Pee=`/* override some bootstrap styles screwing up the timelines css */
295
+
296
+ .vis [class*="span"] {
297
+ min-height: 0;
298
+ width: auto;
299
+ }
300
+ `;Wn(Pee);var xee=`div.vis-color-picker {
301
+ position: absolute;
302
+ top: 0px;
303
+ left: 30px;
304
+ margin-top: -140px;
305
+ margin-left: 30px;
306
+ width: 310px;
307
+ height: 444px;
308
+ z-index: 1;
309
+ padding: 10px;
310
+ border-radius: 15px;
311
+ background-color: #ffffff;
312
+ display: none;
313
+ box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 10px 0px;
314
+ }
315
+
316
+ div.vis-color-picker div.vis-arrow {
317
+ position: absolute;
318
+ top: 147px;
319
+ left: 5px;
320
+ }
321
+
322
+ div.vis-color-picker div.vis-arrow::after,
323
+ div.vis-color-picker div.vis-arrow::before {
324
+ right: 100%;
325
+ top: 50%;
326
+ border: solid transparent;
327
+ content: " ";
328
+ height: 0;
329
+ width: 0;
330
+ position: absolute;
331
+ pointer-events: none;
332
+ }
333
+
334
+ div.vis-color-picker div.vis-arrow:after {
335
+ border-color: rgba(255, 255, 255, 0);
336
+ border-right-color: #ffffff;
337
+ border-width: 30px;
338
+ margin-top: -30px;
339
+ }
340
+
341
+ div.vis-color-picker div.vis-color {
342
+ position: absolute;
343
+ width: 289px;
344
+ height: 289px;
345
+ cursor: pointer;
346
+ }
347
+
348
+ div.vis-color-picker div.vis-brightness {
349
+ position: absolute;
350
+ top: 313px;
351
+ }
352
+
353
+ div.vis-color-picker div.vis-opacity {
354
+ position: absolute;
355
+ top: 350px;
356
+ }
357
+
358
+ div.vis-color-picker div.vis-selector {
359
+ position: absolute;
360
+ top: 137px;
361
+ left: 137px;
362
+ width: 15px;
363
+ height: 15px;
364
+ border-radius: 15px;
365
+ border: 1px solid #ffffff;
366
+ background: #4c4c4c; /* Old browsers */
367
+ background: -moz-linear-gradient(
368
+ top,
369
+ #4c4c4c 0%,
370
+ #595959 12%,
371
+ #666666 25%,
372
+ #474747 39%,
373
+ #2c2c2c 50%,
374
+ #000000 51%,
375
+ #111111 60%,
376
+ #2b2b2b 76%,
377
+ #1c1c1c 91%,
378
+ #131313 100%
379
+ ); /* FF3.6+ */
380
+ background: -webkit-gradient(
381
+ linear,
382
+ left top,
383
+ left bottom,
384
+ color-stop(0%, #4c4c4c),
385
+ color-stop(12%, #595959),
386
+ color-stop(25%, #666666),
387
+ color-stop(39%, #474747),
388
+ color-stop(50%, #2c2c2c),
389
+ color-stop(51%, #000000),
390
+ color-stop(60%, #111111),
391
+ color-stop(76%, #2b2b2b),
392
+ color-stop(91%, #1c1c1c),
393
+ color-stop(100%, #131313)
394
+ ); /* Chrome,Safari4+ */
395
+ background: -webkit-linear-gradient(
396
+ top,
397
+ #4c4c4c 0%,
398
+ #595959 12%,
399
+ #666666 25%,
400
+ #474747 39%,
401
+ #2c2c2c 50%,
402
+ #000000 51%,
403
+ #111111 60%,
404
+ #2b2b2b 76%,
405
+ #1c1c1c 91%,
406
+ #131313 100%
407
+ ); /* Chrome10+,Safari5.1+ */
408
+ background: -o-linear-gradient(
409
+ top,
410
+ #4c4c4c 0%,
411
+ #595959 12%,
412
+ #666666 25%,
413
+ #474747 39%,
414
+ #2c2c2c 50%,
415
+ #000000 51%,
416
+ #111111 60%,
417
+ #2b2b2b 76%,
418
+ #1c1c1c 91%,
419
+ #131313 100%
420
+ ); /* Opera 11.10+ */
421
+ background: -ms-linear-gradient(
422
+ top,
423
+ #4c4c4c 0%,
424
+ #595959 12%,
425
+ #666666 25%,
426
+ #474747 39%,
427
+ #2c2c2c 50%,
428
+ #000000 51%,
429
+ #111111 60%,
430
+ #2b2b2b 76%,
431
+ #1c1c1c 91%,
432
+ #131313 100%
433
+ ); /* IE10+ */
434
+ background: linear-gradient(
435
+ to bottom,
436
+ #4c4c4c 0%,
437
+ #595959 12%,
438
+ #666666 25%,
439
+ #474747 39%,
440
+ #2c2c2c 50%,
441
+ #000000 51%,
442
+ #111111 60%,
443
+ #2b2b2b 76%,
444
+ #1c1c1c 91%,
445
+ #131313 100%
446
+ ); /* W3C */
447
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313',GradientType=0 ); /* IE6-9 */
448
+ }
449
+
450
+ div.vis-color-picker div.vis-new-color {
451
+ position: absolute;
452
+ width: 140px;
453
+ height: 20px;
454
+ border: 1px solid rgba(0, 0, 0, 0.1);
455
+ border-radius: 5px;
456
+ top: 380px;
457
+ left: 159px;
458
+ text-align: right;
459
+ padding-right: 2px;
460
+ font-size: 10px;
461
+ color: rgba(0, 0, 0, 0.4);
462
+ vertical-align: middle;
463
+ line-height: 20px;
464
+ }
465
+
466
+ div.vis-color-picker div.vis-initial-color {
467
+ position: absolute;
468
+ width: 140px;
469
+ height: 20px;
470
+ border: 1px solid rgba(0, 0, 0, 0.1);
471
+ border-radius: 5px;
472
+ top: 380px;
473
+ left: 10px;
474
+ text-align: left;
475
+ padding-left: 2px;
476
+ font-size: 10px;
477
+ color: rgba(0, 0, 0, 0.4);
478
+ vertical-align: middle;
479
+ line-height: 20px;
480
+ }
481
+
482
+ div.vis-color-picker div.vis-label {
483
+ position: absolute;
484
+ width: 300px;
485
+ left: 10px;
486
+ }
487
+
488
+ div.vis-color-picker div.vis-label.vis-brightness {
489
+ top: 300px;
490
+ }
491
+
492
+ div.vis-color-picker div.vis-label.vis-opacity {
493
+ top: 338px;
494
+ }
495
+
496
+ div.vis-color-picker div.vis-button {
497
+ position: absolute;
498
+ width: 68px;
499
+ height: 25px;
500
+ border-radius: 10px;
501
+ vertical-align: middle;
502
+ text-align: center;
503
+ line-height: 25px;
504
+ top: 410px;
505
+ border: 2px solid #d9d9d9;
506
+ background-color: #f7f7f7;
507
+ cursor: pointer;
508
+ }
509
+
510
+ div.vis-color-picker div.vis-button.vis-cancel {
511
+ /*border:2px solid #ff4e33;*/
512
+ /*background-color: #ff7761;*/
513
+ left: 5px;
514
+ }
515
+ div.vis-color-picker div.vis-button.vis-load {
516
+ /*border:2px solid #a153e6;*/
517
+ /*background-color: #cb8dff;*/
518
+ left: 82px;
519
+ }
520
+ div.vis-color-picker div.vis-button.vis-apply {
521
+ /*border:2px solid #4588e6;*/
522
+ /*background-color: #82b6ff;*/
523
+ left: 159px;
524
+ }
525
+ div.vis-color-picker div.vis-button.vis-save {
526
+ /*border:2px solid #45e655;*/
527
+ /*background-color: #6dff7c;*/
528
+ left: 236px;
529
+ }
530
+
531
+ div.vis-color-picker input.vis-range {
532
+ width: 290px;
533
+ height: 20px;
534
+ }
535
+
536
+ /* TODO: is this redundant?
537
+ div.vis-color-picker input.vis-range-brightness {
538
+ width: 289px !important;
539
+ }
540
+
541
+
542
+ div.vis-color-picker input.vis-saturation-range {
543
+ width: 289px !important;
544
+ }*/
545
+ `;Wn(xee);var $ee=`div.vis-configuration {
546
+ position: relative;
547
+ display: block;
548
+ float: left;
549
+ font-size: 12px;
550
+ }
551
+
552
+ div.vis-configuration-wrapper {
553
+ display: block;
554
+ width: 700px;
555
+ }
556
+
557
+ div.vis-configuration-wrapper::after {
558
+ clear: both;
559
+ content: "";
560
+ display: block;
561
+ }
562
+
563
+ div.vis-configuration.vis-config-option-container {
564
+ display: block;
565
+ width: 495px;
566
+ background-color: #ffffff;
567
+ border: 2px solid #f7f8fa;
568
+ border-radius: 4px;
569
+ margin-top: 20px;
570
+ left: 10px;
571
+ padding-left: 5px;
572
+ }
573
+
574
+ div.vis-configuration.vis-config-button {
575
+ display: block;
576
+ width: 495px;
577
+ height: 25px;
578
+ vertical-align: middle;
579
+ line-height: 25px;
580
+ background-color: #f7f8fa;
581
+ border: 2px solid #ceced0;
582
+ border-radius: 4px;
583
+ margin-top: 20px;
584
+ left: 10px;
585
+ padding-left: 5px;
586
+ cursor: pointer;
587
+ margin-bottom: 30px;
588
+ }
589
+
590
+ div.vis-configuration.vis-config-button.hover {
591
+ background-color: #4588e6;
592
+ border: 2px solid #214373;
593
+ color: #ffffff;
594
+ }
595
+
596
+ div.vis-configuration.vis-config-item {
597
+ display: block;
598
+ float: left;
599
+ width: 495px;
600
+ height: 25px;
601
+ vertical-align: middle;
602
+ line-height: 25px;
603
+ }
604
+
605
+ div.vis-configuration.vis-config-item.vis-config-s2 {
606
+ left: 10px;
607
+ background-color: #f7f8fa;
608
+ padding-left: 5px;
609
+ border-radius: 3px;
610
+ }
611
+ div.vis-configuration.vis-config-item.vis-config-s3 {
612
+ left: 20px;
613
+ background-color: #e4e9f0;
614
+ padding-left: 5px;
615
+ border-radius: 3px;
616
+ }
617
+ div.vis-configuration.vis-config-item.vis-config-s4 {
618
+ left: 30px;
619
+ background-color: #cfd8e6;
620
+ padding-left: 5px;
621
+ border-radius: 3px;
622
+ }
623
+
624
+ div.vis-configuration.vis-config-header {
625
+ font-size: 18px;
626
+ font-weight: bold;
627
+ }
628
+
629
+ div.vis-configuration.vis-config-label {
630
+ width: 120px;
631
+ height: 25px;
632
+ line-height: 25px;
633
+ }
634
+
635
+ div.vis-configuration.vis-config-label.vis-config-s3 {
636
+ width: 110px;
637
+ }
638
+ div.vis-configuration.vis-config-label.vis-config-s4 {
639
+ width: 100px;
640
+ }
641
+
642
+ div.vis-configuration.vis-config-colorBlock {
643
+ top: 1px;
644
+ width: 30px;
645
+ height: 19px;
646
+ border: 1px solid #444444;
647
+ border-radius: 2px;
648
+ padding: 0px;
649
+ margin: 0px;
650
+ cursor: pointer;
651
+ }
652
+
653
+ input.vis-configuration.vis-config-checkbox {
654
+ left: -5px;
655
+ }
656
+
657
+ input.vis-configuration.vis-config-rangeinput {
658
+ position: relative;
659
+ top: -5px;
660
+ width: 60px;
661
+ /*height:13px;*/
662
+ padding: 1px;
663
+ margin: 0;
664
+ pointer-events: none;
665
+ }
666
+
667
+ input.vis-configuration.vis-config-range {
668
+ /*removes default webkit styles*/
669
+ -webkit-appearance: none;
670
+
671
+ /*fix for FF unable to apply focus style bug */
672
+ border: 0px solid white;
673
+ background-color: rgba(0, 0, 0, 0);
674
+
675
+ /*required for proper track sizing in FF*/
676
+ width: 300px;
677
+ height: 20px;
678
+ }
679
+ input.vis-configuration.vis-config-range::-webkit-slider-runnable-track {
680
+ width: 300px;
681
+ height: 5px;
682
+ background: #dedede; /* Old browsers */
683
+ background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* FF3.6+ */
684
+ background: -webkit-gradient(
685
+ linear,
686
+ left top,
687
+ left bottom,
688
+ color-stop(0%, #dedede),
689
+ color-stop(99%, #c8c8c8)
690
+ ); /* Chrome,Safari4+ */
691
+ background: -webkit-linear-gradient(
692
+ top,
693
+ #dedede 0%,
694
+ #c8c8c8 99%
695
+ ); /* Chrome10+,Safari5.1+ */
696
+ background: -o-linear-gradient(
697
+ top,
698
+ #dedede 0%,
699
+ #c8c8c8 99%
700
+ ); /* Opera 11.10+ */
701
+ background: -ms-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* IE10+ */
702
+ background: linear-gradient(to bottom, #dedede 0%, #c8c8c8 99%); /* W3C */
703
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */
704
+
705
+ border: 1px solid #999999;
706
+ box-shadow: #aaaaaa 0px 0px 3px 0px;
707
+ border-radius: 3px;
708
+ }
709
+ input.vis-configuration.vis-config-range::-webkit-slider-thumb {
710
+ -webkit-appearance: none;
711
+ border: 1px solid #14334b;
712
+ height: 17px;
713
+ width: 17px;
714
+ border-radius: 50%;
715
+ background: #3876c2; /* Old browsers */
716
+ background: -moz-linear-gradient(top, #3876c2 0%, #385380 100%); /* FF3.6+ */
717
+ background: -webkit-gradient(
718
+ linear,
719
+ left top,
720
+ left bottom,
721
+ color-stop(0%, #3876c2),
722
+ color-stop(100%, #385380)
723
+ ); /* Chrome,Safari4+ */
724
+ background: -webkit-linear-gradient(
725
+ top,
726
+ #3876c2 0%,
727
+ #385380 100%
728
+ ); /* Chrome10+,Safari5.1+ */
729
+ background: -o-linear-gradient(
730
+ top,
731
+ #3876c2 0%,
732
+ #385380 100%
733
+ ); /* Opera 11.10+ */
734
+ background: -ms-linear-gradient(top, #3876c2 0%, #385380 100%); /* IE10+ */
735
+ background: linear-gradient(to bottom, #3876c2 0%, #385380 100%); /* W3C */
736
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380',GradientType=0 ); /* IE6-9 */
737
+ box-shadow: #111927 0px 0px 1px 0px;
738
+ margin-top: -7px;
739
+ }
740
+ input.vis-configuration.vis-config-range:focus {
741
+ outline: none;
742
+ }
743
+ input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track {
744
+ background: #9d9d9d; /* Old browsers */
745
+ background: -moz-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); /* FF3.6+ */
746
+ background: -webkit-gradient(
747
+ linear,
748
+ left top,
749
+ left bottom,
750
+ color-stop(0%, #9d9d9d),
751
+ color-stop(99%, #c8c8c8)
752
+ ); /* Chrome,Safari4+ */
753
+ background: -webkit-linear-gradient(
754
+ top,
755
+ #9d9d9d 0%,
756
+ #c8c8c8 99%
757
+ ); /* Chrome10+,Safari5.1+ */
758
+ background: -o-linear-gradient(
759
+ top,
760
+ #9d9d9d 0%,
761
+ #c8c8c8 99%
762
+ ); /* Opera 11.10+ */
763
+ background: -ms-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); /* IE10+ */
764
+ background: linear-gradient(to bottom, #9d9d9d 0%, #c8c8c8 99%); /* W3C */
765
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */
766
+ }
767
+
768
+ input.vis-configuration.vis-config-range::-moz-range-track {
769
+ width: 300px;
770
+ height: 10px;
771
+ background: #dedede; /* Old browsers */
772
+ background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* FF3.6+ */
773
+ background: -webkit-gradient(
774
+ linear,
775
+ left top,
776
+ left bottom,
777
+ color-stop(0%, #dedede),
778
+ color-stop(99%, #c8c8c8)
779
+ ); /* Chrome,Safari4+ */
780
+ background: -webkit-linear-gradient(
781
+ top,
782
+ #dedede 0%,
783
+ #c8c8c8 99%
784
+ ); /* Chrome10+,Safari5.1+ */
785
+ background: -o-linear-gradient(
786
+ top,
787
+ #dedede 0%,
788
+ #c8c8c8 99%
789
+ ); /* Opera 11.10+ */
790
+ background: -ms-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* IE10+ */
791
+ background: linear-gradient(to bottom, #dedede 0%, #c8c8c8 99%); /* W3C */
792
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */
793
+
794
+ border: 1px solid #999999;
795
+ box-shadow: #aaaaaa 0px 0px 3px 0px;
796
+ border-radius: 3px;
797
+ }
798
+ input.vis-configuration.vis-config-range::-moz-range-thumb {
799
+ border: none;
800
+ height: 16px;
801
+ width: 16px;
802
+
803
+ border-radius: 50%;
804
+ background: #385380;
805
+ }
806
+
807
+ /*hide the outline behind the border*/
808
+ input.vis-configuration.vis-config-range:-moz-focusring {
809
+ outline: 1px solid white;
810
+ outline-offset: -1px;
811
+ }
812
+
813
+ input.vis-configuration.vis-config-range::-ms-track {
814
+ width: 300px;
815
+ height: 5px;
816
+
817
+ /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
818
+ background: transparent;
819
+
820
+ /*leave room for the larger thumb to overflow with a transparent border */
821
+ border-color: transparent;
822
+ border-width: 6px 0;
823
+
824
+ /*remove default tick marks*/
825
+ color: transparent;
826
+ }
827
+ input.vis-configuration.vis-config-range::-ms-fill-lower {
828
+ background: #777;
829
+ border-radius: 10px;
830
+ }
831
+ input.vis-configuration.vis-config-range::-ms-fill-upper {
832
+ background: #ddd;
833
+ border-radius: 10px;
834
+ }
835
+ input.vis-configuration.vis-config-range::-ms-thumb {
836
+ border: none;
837
+ height: 16px;
838
+ width: 16px;
839
+ border-radius: 50%;
840
+ background: #385380;
841
+ }
842
+ input.vis-configuration.vis-config-range:focus::-ms-fill-lower {
843
+ background: #888;
844
+ }
845
+ input.vis-configuration.vis-config-range:focus::-ms-fill-upper {
846
+ background: #ccc;
847
+ }
848
+
849
+ .vis-configuration-popup {
850
+ position: absolute;
851
+ background: rgba(57, 76, 89, 0.85);
852
+ border: 2px solid #f2faff;
853
+ line-height: 30px;
854
+ height: 30px;
855
+ width: 150px;
856
+ text-align: center;
857
+ color: #ffffff;
858
+ font-size: 14px;
859
+ border-radius: 4px;
860
+ -webkit-transition: opacity 0.3s ease-in-out;
861
+ -moz-transition: opacity 0.3s ease-in-out;
862
+ transition: opacity 0.3s ease-in-out;
863
+ }
864
+ .vis-configuration-popup:after,
865
+ .vis-configuration-popup:before {
866
+ left: 100%;
867
+ top: 50%;
868
+ border: solid transparent;
869
+ content: " ";
870
+ height: 0;
871
+ width: 0;
872
+ position: absolute;
873
+ pointer-events: none;
874
+ }
875
+
876
+ .vis-configuration-popup:after {
877
+ border-color: rgba(136, 183, 213, 0);
878
+ border-left-color: rgba(57, 76, 89, 0.85);
879
+ border-width: 8px;
880
+ margin-top: -8px;
881
+ }
882
+ .vis-configuration-popup:before {
883
+ border-color: rgba(194, 225, 245, 0);
884
+ border-left-color: #f2faff;
885
+ border-width: 12px;
886
+ margin-top: -12px;
887
+ }
888
+ `;Wn($ee);var Dee=`div.vis-tooltip {
889
+ position: absolute;
890
+ visibility: hidden;
891
+ padding: 5px;
892
+ white-space: nowrap;
893
+
894
+ font-family: verdana;
895
+ font-size: 14px;
896
+ color: #000000;
897
+ background-color: #f5f4ed;
898
+
899
+ -moz-border-radius: 3px;
900
+ -webkit-border-radius: 3px;
901
+ border-radius: 3px;
902
+ border: 1px solid #808074;
903
+
904
+ box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
905
+ pointer-events: none;
906
+
907
+ z-index: 5;
908
+ }
909
+ `;Wn(Dee);var QT=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ae(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var JT={},ga,eR;function Fe(){if(eR)return ga;eR=1;var n=function(e){return e&&e.Math===Math&&e};return ga=n(typeof globalThis=="object"&&globalThis)||n(typeof window=="object"&&window)||n(typeof self=="object"&&self)||n(typeof QT=="object"&&QT)||n(typeof ga=="object"&&ga)||(function(){return this})()||Function("return this")(),ga}var HI,tR;function pe(){return tR||(tR=1,HI=function(n){try{return!!n()}catch{return!0}}),HI}var UI,rR;function rg(){if(rR)return UI;rR=1;var n=pe();return UI=!n(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),UI}var KI,iR;function ZA(){if(iR)return KI;iR=1;var n=rg(),e=Function.prototype,t=e.apply,r=e.call;return KI=typeof Reflect=="object"&&Reflect.apply||(n?r.bind(t):function(){return r.apply(t,arguments)}),KI}var YI,nR;function ve(){if(nR)return YI;nR=1;var n=rg(),e=Function.prototype,t=e.call,r=n&&e.bind.bind(t,t);return YI=n?r:function(i){return function(){return t.apply(i,arguments)}},YI}var XI,sR;function Yr(){if(sR)return XI;sR=1;var n=ve(),e=n({}.toString),t=n("".slice);return XI=function(r){return t(e(r),8,-1)},XI}var QI,oR;function rO(){if(oR)return QI;oR=1;var n=Yr(),e=ve();return QI=function(t){if(n(t)==="Function")return e(t)},QI}var JI,aR;function lt(){if(aR)return JI;aR=1;var n=typeof document=="object"&&document.all;return JI=typeof n>"u"&&n!==void 0?function(e){return typeof e=="function"||e===n}:function(e){return typeof e=="function"},JI}var eC={},tC,gR;function Xe(){if(gR)return tC;gR=1;var n=pe();return tC=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),tC}var rC,AR;function Yt(){if(AR)return rC;AR=1;var n=rg(),e=Function.prototype.call;return rC=n?e.bind(e):function(){return e.apply(e,arguments)},rC}var iC={},IR;function HA(){if(IR)return iC;IR=1;var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,t=e&&!n.call({1:2},1);return iC.f=t?function(i){var s=e(this,i);return!!s&&s.enumerable}:n,iC}var nC,CR;function ig(){return CR||(CR=1,nC=function(n,e){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:e}}),nC}var sC,dR;function UA(){if(dR)return sC;dR=1;var n=ve(),e=pe(),t=Yr(),r=Object,i=n("".split);return sC=e(function(){return!r("z").propertyIsEnumerable(0)})?function(s){return t(s)==="String"?i(s,""):r(s)}:r,sC}var oC,lR;function uo(){return lR||(lR=1,oC=function(n){return n==null}),oC}var aC,uR;function li(){if(uR)return aC;uR=1;var n=uo(),e=TypeError;return aC=function(t){if(n(t))throw new e("Can't call method on "+t);return t},aC}var gC,hR;function Fr(){if(hR)return gC;hR=1;var n=UA(),e=li();return gC=function(t){return n(e(t))},gC}var AC,cR;function ut(){if(cR)return AC;cR=1;var n=lt();return AC=function(e){return typeof e=="object"?e!==null:n(e)},AC}var IC,fR;function Se(){return fR||(fR=1,IC={}),IC}var CC,pR;function rr(){if(pR)return CC;pR=1;var n=Se(),e=Fe(),t=lt(),r=function(i){return t(i)?i:void 0};return CC=function(i,s){return arguments.length<2?r(n[i])||r(e[i]):n[i]&&n[i][s]||e[i]&&e[i][s]},CC}var dC,vR;function nt(){if(vR)return dC;vR=1;var n=ve();return dC=n({}.isPrototypeOf),dC}var lC,mR;function ho(){if(mR)return lC;mR=1;var n=Fe(),e=n.navigator,t=e&&e.userAgent;return lC=t?String(t):"",lC}var uC,yR;function ng(){if(yR)return uC;yR=1;var n=Fe(),e=ho(),t=n.process,r=n.Deno,i=t&&t.versions||r&&r.version,s=i&&i.v8,o,a;return s&&(o=s.split("."),a=o[0]>0&&o[0]<4?1:+(o[0]+o[1])),!a&&e&&(o=e.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=e.match(/Chrome\/(\d+)/),o&&(a=+o[1]))),uC=a,uC}var hC,bR;function co(){if(bR)return hC;bR=1;var n=ng(),e=pe(),t=Fe(),r=t.String;return hC=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!r(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41}),hC}var cC,wR;function p6(){if(wR)return cC;wR=1;var n=co();return cC=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol",cC}var fC,ER;function sg(){if(ER)return fC;ER=1;var n=rr(),e=lt(),t=nt(),r=p6(),i=Object;return fC=r?function(s){return typeof s=="symbol"}:function(s){var o=n("Symbol");return e(o)&&t(o.prototype,i(s))},fC}var pC,SR;function fo(){if(SR)return pC;SR=1;var n=String;return pC=function(e){try{return n(e)}catch{return"Object"}},pC}var vC,_R;function ui(){if(_R)return vC;_R=1;var n=lt(),e=fo(),t=TypeError;return vC=function(r){if(n(r))return r;throw new t(e(r)+" is not a function")},vC}var mC,OR;function iO(){if(OR)return mC;OR=1;var n=ui(),e=uo();return mC=function(t,r){var i=t[r];return e(i)?void 0:n(i)},mC}var yC,TR;function Nee(){if(TR)return yC;TR=1;var n=Yt(),e=lt(),t=ut(),r=TypeError;return yC=function(i,s){var o,a;if(s==="string"&&e(o=i.toString)&&!t(a=n(o,i))||e(o=i.valueOf)&&!t(a=n(o,i))||s!=="string"&&e(o=i.toString)&&!t(a=n(o,i)))return a;throw new r("Can't convert object to primitive value")},yC}var bC={exports:{}},wC,RR;function po(){return RR||(RR=1,wC=!0),wC}var EC,PR;function Mee(){if(PR)return EC;PR=1;var n=Fe(),e=Object.defineProperty;return EC=function(t,r){try{e(n,t,{value:r,configurable:!0,writable:!0})}catch{n[t]=r}return r},EC}var xR;function nO(){if(xR)return bC.exports;xR=1;var n=po(),e=Fe(),t=Mee(),r="__core-js_shared__",i=bC.exports=e[r]||t(r,{});return(i.versions||(i.versions=[])).push({version:"3.44.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"}),bC.exports}var SC,$R;function vo(){if($R)return SC;$R=1;var n=nO();return SC=function(e,t){return n[e]||(n[e]=t||{})},SC}var _C,DR;function dr(){if(DR)return _C;DR=1;var n=li(),e=Object;return _C=function(t){return e(n(t))},_C}var OC,NR;function Rt(){if(NR)return OC;NR=1;var n=ve(),e=dr(),t=n({}.hasOwnProperty);return OC=Object.hasOwn||function(i,s){return t(e(i),s)},OC}var TC,MR;function KA(){if(MR)return TC;MR=1;var n=ve(),e=0,t=Math.random(),r=n(1.1.toString);return TC=function(i){return"Symbol("+(i===void 0?"":i)+")_"+r(++e+t,36)},TC}var RC,qR;function st(){if(qR)return RC;qR=1;var n=Fe(),e=vo(),t=Rt(),r=KA(),i=co(),s=p6(),o=n.Symbol,a=e("wks"),g=s?o.for||o:o&&o.withoutSetter||r;return RC=function(A){return t(a,A)||(a[A]=i&&t(o,A)?o[A]:g("Symbol."+A)),a[A]},RC}var PC,FR;function v6(){if(FR)return PC;FR=1;var n=Yt(),e=ut(),t=sg(),r=iO(),i=Nee(),s=st(),o=TypeError,a=s("toPrimitive");return PC=function(g,A){if(!e(g)||t(g))return g;var I=r(g,a),C;if(I){if(A===void 0&&(A="default"),C=n(I,g,A),!e(C)||t(C))return C;throw new o("Can't convert object to primitive value")}return A===void 0&&(A="number"),i(g,A)},PC}var xC,kR;function sO(){if(kR)return xC;kR=1;var n=v6(),e=sg();return xC=function(t){var r=n(t,"string");return e(r)?r:r+""},xC}var $C,BR;function m6(){if(BR)return $C;BR=1;var n=Fe(),e=ut(),t=n.document,r=e(t)&&e(t.createElement);return $C=function(i){return r?t.createElement(i):{}},$C}var DC,zR;function y6(){if(zR)return DC;zR=1;var n=Xe(),e=pe(),t=m6();return DC=!n&&!e(function(){return Object.defineProperty(t("div"),"a",{get:function(){return 7}}).a!==7}),DC}var jR;function YA(){if(jR)return eC;jR=1;var n=Xe(),e=Yt(),t=HA(),r=ig(),i=Fr(),s=sO(),o=Rt(),a=y6(),g=Object.getOwnPropertyDescriptor;return eC.f=n?g:function(I,C){if(I=i(I),C=s(C),a)try{return g(I,C)}catch{}if(o(I,C))return r(!e(t.f,I,C),I[C])},eC}var NC,LR;function qee(){if(LR)return NC;LR=1;var n=pe(),e=lt(),t=/#|\.prototype\./,r=function(g,A){var I=s[i(g)];return I===a?!0:I===o?!1:e(A)?n(A):!!A},i=r.normalize=function(g){return String(g).replace(t,".").toLowerCase()},s=r.data={},o=r.NATIVE="N",a=r.POLYFILL="P";return NC=r,NC}var MC,GR;function XA(){if(GR)return MC;GR=1;var n=rO(),e=ui(),t=rg(),r=n(n.bind);return MC=function(i,s){return e(i),s===void 0?i:t?r(i,s):function(){return i.apply(s,arguments)}},MC}var qC={},FC,WR;function b6(){if(WR)return FC;WR=1;var n=Xe(),e=pe();return FC=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),FC}var kC,VR;function Xr(){if(VR)return kC;VR=1;var n=ut(),e=String,t=TypeError;return kC=function(r){if(n(r))return r;throw new t(e(r)+" is not an object")},kC}var ZR;function lr(){if(ZR)return qC;ZR=1;var n=Xe(),e=y6(),t=b6(),r=Xr(),i=sO(),s=TypeError,o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,g="enumerable",A="configurable",I="writable";return qC.f=n?t?function(d,l,u){if(r(d),l=i(l),r(u),typeof d=="function"&&l==="prototype"&&"value"in u&&I in u&&!u[I]){var h=a(d,l);h&&h[I]&&(d[l]=u.value,u={configurable:A in u?u[A]:h[A],enumerable:g in u?u[g]:h[g],writable:!1})}return o(d,l,u)}:o:function(d,l,u){if(r(d),l=i(l),r(u),e)try{return o(d,l,u)}catch{}if("get"in u||"set"in u)throw new s("Accessors not supported");return"value"in u&&(d[l]=u.value),d},qC}var BC,HR;function mo(){if(HR)return BC;HR=1;var n=Xe(),e=lr(),t=ig();return BC=n?function(r,i,s){return e.f(r,i,t(1,s))}:function(r,i,s){return r[i]=s,r},BC}var zC,UR;function ee(){if(UR)return zC;UR=1;var n=Fe(),e=ZA(),t=rO(),r=lt(),i=YA().f,s=qee(),o=Se(),a=XA(),g=mo(),A=Rt(),I=function(C){var d=function(l,u,h){if(this instanceof d){switch(arguments.length){case 0:return new C;case 1:return new C(l);case 2:return new C(l,u)}return new C(l,u,h)}return e(C,this,arguments)};return d.prototype=C.prototype,d};return zC=function(C,d){var l=C.target,u=C.global,h=C.stat,v=C.proto,f=u?n:h?n[l]:n[l]&&n[l].prototype,c=u?o:o[l]||g(o,l,{})[l],b=c.prototype,p,y,E,S,m,w,_,T,R;for(S in d)p=s(u?S:l+(h?".":"#")+S,C.forced),y=!p&&f&&A(f,S),w=c[S],y&&(C.dontCallGetSet?(R=i(f,S),_=R&&R.value):_=f[S]),m=y&&_?_:d[S],!(!p&&!v&&typeof w==typeof m)&&(C.bind&&y?T=a(m,n):C.wrap&&y?T=I(m):v&&r(m)?T=t(m):T=m,(C.sham||m&&m.sham||w&&w.sham)&&g(T,"sham",!0),g(c,S,T),v&&(E=l+"Prototype",A(o,E)||g(o,E,{}),g(o[E],S,m),C.real&&b&&(p||!b[S])&&g(b,S,m)))},zC}var jC,KR;function Fee(){if(KR)return jC;KR=1;var n=Math.ceil,e=Math.floor;return jC=Math.trunc||function(r){var i=+r;return(i>0?e:n)(i)},jC}var LC,YR;function yo(){if(YR)return LC;YR=1;var n=Fee();return LC=function(e){var t=+e;return t!==t||t===0?0:n(t)},LC}var GC,XR;function QA(){if(XR)return GC;XR=1;var n=yo(),e=Math.max,t=Math.min;return GC=function(r,i){var s=n(r);return s<0?e(s+i,0):t(s,i)},GC}var WC,QR;function w6(){if(QR)return WC;QR=1;var n=yo(),e=Math.min;return WC=function(t){var r=n(t);return r>0?e(r,9007199254740991):0},WC}var VC,JR;function hi(){if(JR)return VC;JR=1;var n=w6();return VC=function(e){return n(e.length)},VC}var ZC,eP;function oO(){if(eP)return ZC;eP=1;var n=Fr(),e=QA(),t=hi(),r=function(i){return function(s,o,a){var g=n(s),A=t(g);if(A===0)return!i&&-1;var I=e(a,A),C;if(i&&o!==o){for(;A>I;)if(C=g[I++],C!==C)return!0}else for(;A>I;I++)if((i||I in g)&&g[I]===o)return i||I||0;return!i&&-1}};return ZC={includes:r(!0),indexOf:r(!1)},ZC}var HC,tP;function og(){return tP||(tP=1,HC={}),HC}var UC,rP;function E6(){if(rP)return UC;rP=1;var n=ve(),e=Rt(),t=Fr(),r=oO().indexOf,i=og(),s=n([].push);return UC=function(o,a){var g=t(o),A=0,I=[],C;for(C in g)!e(i,C)&&e(g,C)&&s(I,C);for(;a.length>A;)e(g,C=a[A++])&&(~r(I,C)||s(I,C));return I},UC}var KC,iP;function aO(){return iP||(iP=1,KC=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),KC}var YC,nP;function ag(){if(nP)return YC;nP=1;var n=E6(),e=aO();return YC=Object.keys||function(r){return n(r,e)},YC}var XC={},sP;function JA(){return sP||(sP=1,XC.f=Object.getOwnPropertySymbols),XC}var QC,oP;function kee(){if(oP)return QC;oP=1;var n=Xe(),e=ve(),t=Yt(),r=pe(),i=ag(),s=JA(),o=HA(),a=dr(),g=UA(),A=Object.assign,I=Object.defineProperty,C=e([].concat);return QC=!A||r(function(){if(n&&A({b:1},A(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var d={},l={},u=Symbol("assign detection"),h="abcdefghijklmnopqrst";return d[u]=7,h.split("").forEach(function(v){l[v]=v}),A({},d)[u]!==7||i(A({},l)).join("")!==h})?function(l,u){for(var h=a(l),v=arguments.length,f=1,c=s.f,b=o.f;v>f;)for(var p=g(arguments[f++]),y=c?C(i(p),c(p)):i(p),E=y.length,S=0,m;E>S;)m=y[S++],(!n||t(b,p,m))&&(h[m]=p[m]);return h}:A,QC}var aP;function Bee(){if(aP)return JT;aP=1;var n=ee(),e=kee();return n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e}),JT}var JC,gP;function zee(){if(gP)return JC;gP=1,Bee();var n=Se();return JC=n.Object.assign,JC}var ed,AP;function jee(){if(AP)return ed;AP=1;var n=zee();return ed=n,ed}var td,IP;function Lee(){return IP||(IP=1,td=jee()),td}var Gee=Lee(),Ot=ae(Gee),CP={},rd,dP;function bo(){if(dP)return rd;dP=1;var n=ve();return rd=n([].slice),rd}var id,lP;function Wee(){if(lP)return id;lP=1;var n=ve(),e=ui(),t=ut(),r=Rt(),i=bo(),s=rg(),o=Function,a=n([].concat),g=n([].join),A={},I=function(C,d,l){if(!r(A,d)){for(var u=[],h=0;h<d;h++)u[h]="a["+h+"]";A[d]=o("C,a","return new C("+g(u,",")+")")}return A[d](C,l)};return id=s?o.bind:function(d){var l=e(this),u=l.prototype,h=i(arguments,1),v=function(){var c=a(h,i(arguments));return this instanceof v?I(l,c.length,c):l.apply(d,c)};return t(u)&&(v.prototype=u),v},id}var uP;function Vee(){if(uP)return CP;uP=1;var n=ee(),e=Wee();return n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e}),CP}var nd,hP;function Pt(){if(hP)return nd;hP=1;var n=Fe(),e=Se();return nd=function(t,r){var i=e[t+"Prototype"],s=i&&i[r];if(s)return s;var o=n[t],a=o&&o.prototype;return a&&a[r]},nd}var sd,cP;function Zee(){if(cP)return sd;cP=1,Vee();var n=Pt();return sd=n("Function","bind"),sd}var od,fP;function Hee(){if(fP)return od;fP=1;var n=nt(),e=Zee(),t=Function.prototype;return od=function(r){var i=r.bind;return r===t||n(t,r)&&i===t.bind?e:i},od}var ad,pP;function Uee(){if(pP)return ad;pP=1;var n=Hee();return ad=n,ad}var gd,vP;function Kee(){return vP||(vP=1,gd=Uee()),gd}var Yee=Kee(),z=ae(Yee);function gO(n,e,t,r){n.beginPath(),n.arc(e,t,r,0,2*Math.PI,!1),n.closePath()}function Xee(n,e,t,r){n.beginPath(),n.rect(e-r,t-r,r*2,r*2),n.closePath()}function Qee(n,e,t,r){n.beginPath(),r*=1.15,t+=.275*r;const i=r*2,s=i/2,o=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-s*s);n.moveTo(e,t-(a-o)),n.lineTo(e+s,t+o),n.lineTo(e-s,t+o),n.lineTo(e,t-(a-o)),n.closePath()}function Jee(n,e,t,r){n.beginPath(),r*=1.15,t-=.275*r;const i=r*2,s=i/2,o=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-s*s);n.moveTo(e,t+(a-o)),n.lineTo(e+s,t-o),n.lineTo(e-s,t-o),n.lineTo(e,t+(a-o)),n.closePath()}function ete(n,e,t,r){n.beginPath(),r*=.82,t+=.1*r;for(let i=0;i<10;i++){const s=i%2===0?r*1.3:r*.5;n.lineTo(e+s*Math.sin(i*2*Math.PI/10),t-s*Math.cos(i*2*Math.PI/10))}n.closePath()}function tte(n,e,t,r){n.beginPath(),n.lineTo(e,t+r),n.lineTo(e+r,t),n.lineTo(e,t-r),n.lineTo(e-r,t),n.closePath()}function S6(n,e,t,r,i,s){const o=Math.PI/180;r-2*s<0&&(s=r/2),i-2*s<0&&(s=i/2),n.beginPath(),n.moveTo(e+s,t),n.lineTo(e+r-s,t),n.arc(e+r-s,t+s,s,o*270,o*360,!1),n.lineTo(e+r,t+i-s),n.arc(e+r-s,t+i-s,s,0,o*90,!1),n.lineTo(e+s,t+i),n.arc(e+s,t+i-s,s,o*90,o*180,!1),n.lineTo(e,t+s),n.arc(e+s,t+s,s,o*180,o*270,!1),n.closePath()}function m_(n,e,t,r,i){const s=.5522848,o=r/2*s,a=i/2*s,g=e+r,A=t+i,I=e+r/2,C=t+i/2;n.beginPath(),n.moveTo(e,C),n.bezierCurveTo(e,C-a,I-o,t,I,t),n.bezierCurveTo(I+o,t,g,C-a,g,C),n.bezierCurveTo(g,C+a,I+o,A,I,A),n.bezierCurveTo(I-o,A,e,C+a,e,C),n.closePath()}function _6(n,e,t,r,i){const s=.3333333333333333,o=r,a=i*s,g=.5522848,A=o/2*g,I=a/2*g,C=e+o,d=t+a,l=e+o/2,u=t+a/2,h=t+(i-a/2),v=t+i;n.beginPath(),n.moveTo(C,u),n.bezierCurveTo(C,u+I,l+A,d,l,d),n.bezierCurveTo(l-A,d,e,u+I,e,u),n.bezierCurveTo(e,u-I,l-A,t,l,t),n.bezierCurveTo(l+A,t,C,u-I,C,u),n.lineTo(C,h),n.bezierCurveTo(C,h+I,l+A,v,l,v),n.bezierCurveTo(l-A,v,e,h+I,e,h),n.lineTo(e,u)}function O6(n,e,t,r,i,s){n.beginPath(),n.moveTo(e,t);const o=s.length,a=r-e,g=i-t,A=g/a;let I=Math.sqrt(a*a+g*g),C=0,d=!0,l=0,u=+s[0];for(;I>=.1;)u=+s[C++%o],u>I&&(u=I),l=Math.sqrt(u*u/(1+A*A)),l=a<0?-l:l,e+=l,t+=A*l,d===!0?n.lineTo(e,t):n.moveTo(e,t),I-=u,d=!d}function rte(n,e,t,r){n.beginPath();const i=6,s=Math.PI*2/i;n.moveTo(e+r,t);for(let o=1;o<i;o++)n.lineTo(e+r*Math.cos(s*o),t+r*Math.sin(s*o));n.closePath()}const mP={circle:gO,dashedLine:O6,database:_6,diamond:tte,ellipse:m_,ellipse_vis:m_,hexagon:rte,roundRect:S6,square:Xee,star:ete,triangle:Qee,triangleDown:Jee};function ite(n){return Object.prototype.hasOwnProperty.call(mP,n)?mP[n]:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];CanvasRenderingContext2D.prototype[n].call(e,r)}}var Ad={exports:{}},yP;function nte(){return yP||(yP=1,(function(n){n.exports=e;function e(r){if(r)return t(r)}function t(r){for(var i in e.prototype)r[i]=e.prototype[i];return r}e.prototype.on=e.prototype.addEventListener=function(r,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(i),this},e.prototype.once=function(r,i){function s(){this.off(r,s),i.apply(this,arguments)}return s.fn=i,this.on(r,s),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(r,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var s=this._callbacks["$"+r];if(!s)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var o,a=0;a<s.length;a++)if(o=s[a],o===i||o.fn===i){s.splice(a,1);break}return s.length===0&&delete this._callbacks["$"+r],this},e.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var i=new Array(arguments.length-1),s=this._callbacks["$"+r],o=1;o<arguments.length;o++)i[o-1]=arguments[o];if(s){s=s.slice(0);for(var o=0,a=s.length;o<a;++o)s[o].apply(this,i)}return this},e.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]},e.prototype.hasListeners=function(r){return!!this.listeners(r).length}})(Ad)),Ad.exports}var ste=nte(),T6=ae(ste);/*! Hammer.JS - v2.0.17-rc - 2019-12-16
910
+ * http://naver.github.io/egjs
911
+ *
912
+ * Forked By Naver egjs
913
+ * Copyright (c) hammerjs
914
+ * Licensed under the MIT license */function Nr(){return Nr=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Nr.apply(this,arguments)}function ur(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function eA(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}var y_;typeof Object.assign!="function"?y_=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var s in i)i.hasOwnProperty(s)&&(t[s]=i[s])}return t}:y_=Object.assign;var $n=y_,bP=["","webkit","Moz","MS","ms","o"],ote=typeof document>"u"?{style:{}}:document.createElement("div"),ate="function",Ts=Math.round,Dn=Math.abs,AO=Date.now;function eI(n,e){for(var t,r,i=e[0].toUpperCase()+e.slice(1),s=0;s<bP.length;){if(t=bP[s],r=t?t+i:e,r in n)return r;s++}}var ni;typeof window>"u"?ni={}:ni=window;var R6=eI(ote.style,"touchAction"),P6=R6!==void 0;function gte(){if(!P6)return!1;var n={},e=ni.CSS&&ni.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return n[t]=e?ni.CSS.supports("touch-action",t):!0}),n}var x6="compute",$6="auto",b_="manipulation",_n="none",qa="pan-x",Fa="pan-y",tA=gte(),Ate=/mobile|tablet|ip(ad|hone|od)|android/i,D6="ontouchstart"in ni,Ite=eI(ni,"PointerEvent")!==void 0,Cte=D6&&Ate.test(navigator.userAgent),gg="touch",dte="pen",IO="mouse",lte="kinect",ute=25,Bt=1,Vn=2,tt=4,Ht=8,EA=1,Ag=2,Ig=4,Cg=8,Xs=16,Zr=Ag|Ig,On=Cg|Xs,N6=Zr|On,M6=["x","y"],SA=["clientX","clientY"];function si(n,e,t){var r;if(n)if(n.forEach)n.forEach(e,t);else if(n.length!==void 0)for(r=0;r<n.length;)e.call(t,n[r],r,n),r++;else for(r in n)n.hasOwnProperty(r)&&e.call(t,n[r],r,n)}function tI(n,e){return typeof n===ate?n.apply(e&&e[0]||void 0,e):n}function vn(n,e){return n.indexOf(e)>-1}function hte(n){if(vn(n,_n))return _n;var e=vn(n,qa),t=vn(n,Fa);return e&&t?_n:e||t?e?qa:Fa:vn(n,b_)?b_:$6}var q6=(function(){function n(t,r){this.manager=t,this.set(r)}var e=n.prototype;return e.set=function(r){r===x6&&(r=this.compute()),P6&&this.manager.element.style&&tA[r]&&(this.manager.element.style[R6]=r),this.actions=r.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var r=[];return si(this.manager.recognizers,function(i){tI(i.options.enable,[i])&&(r=r.concat(i.getTouchAction()))}),hte(r.join(" "))},e.preventDefaults=function(r){var i=r.srcEvent,s=r.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var o=this.actions,a=vn(o,_n)&&!tA[_n],g=vn(o,Fa)&&!tA[Fa],A=vn(o,qa)&&!tA[qa];if(a){var I=r.pointers.length===1,C=r.distance<2,d=r.deltaTime<250;if(I&&C&&d)return}if(!(A&&g)&&(a||g&&s&Zr||A&&s&On))return this.preventSrc(i)},e.preventSrc=function(r){this.manager.session.prevented=!0,r.preventDefault()},n})();function CO(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function F6(n){var e=n.length;if(e===1)return{x:Ts(n[0].clientX),y:Ts(n[0].clientY)};for(var t=0,r=0,i=0;i<e;)t+=n[i].clientX,r+=n[i].clientY,i++;return{x:Ts(t/e),y:Ts(r/e)}}function wP(n){for(var e=[],t=0;t<n.pointers.length;)e[t]={clientX:Ts(n.pointers[t].clientX),clientY:Ts(n.pointers[t].clientY)},t++;return{timeStamp:AO(),pointers:e,center:F6(e),deltaX:n.deltaX,deltaY:n.deltaY}}function _A(n,e,t){t||(t=M6);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.sqrt(r*r+i*i)}function w_(n,e,t){t||(t=M6);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.atan2(i,r)*180/Math.PI}function k6(n,e){return n===e?EA:Dn(n)>=Dn(e)?n<0?Ag:Ig:e<0?Cg:Xs}function cte(n,e){var t=e.center,r=n.offsetDelta||{},i=n.prevDelta||{},s=n.prevInput||{};(e.eventType===Bt||s.eventType===tt)&&(i=n.prevDelta={x:s.deltaX||0,y:s.deltaY||0},r=n.offsetDelta={x:t.x,y:t.y}),e.deltaX=i.x+(t.x-r.x),e.deltaY=i.y+(t.y-r.y)}function B6(n,e,t){return{x:e/n||0,y:t/n||0}}function fte(n,e){return _A(e[0],e[1],SA)/_A(n[0],n[1],SA)}function pte(n,e){return w_(e[1],e[0],SA)+w_(n[1],n[0],SA)}function vte(n,e){var t=n.lastInterval||e,r=e.timeStamp-t.timeStamp,i,s,o,a;if(e.eventType!==Ht&&(r>ute||t.velocity===void 0)){var g=e.deltaX-t.deltaX,A=e.deltaY-t.deltaY,I=B6(r,g,A);s=I.x,o=I.y,i=Dn(I.x)>Dn(I.y)?I.x:I.y,a=k6(g,A),n.lastInterval=e}else i=t.velocity,s=t.velocityX,o=t.velocityY,a=t.direction;e.velocity=i,e.velocityX=s,e.velocityY=o,e.direction=a}function mte(n,e){var t=n.session,r=e.pointers,i=r.length;t.firstInput||(t.firstInput=wP(e)),i>1&&!t.firstMultiple?t.firstMultiple=wP(e):i===1&&(t.firstMultiple=!1);var s=t.firstInput,o=t.firstMultiple,a=o?o.center:s.center,g=e.center=F6(r);e.timeStamp=AO(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=w_(a,g),e.distance=_A(a,g),cte(t,e),e.offsetDirection=k6(e.deltaX,e.deltaY);var A=B6(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=A.x,e.overallVelocityY=A.y,e.overallVelocity=Dn(A.x)>Dn(A.y)?A.x:A.y,e.scale=o?fte(o.pointers,r):1,e.rotation=o?pte(o.pointers,r):0,e.maxPointers=t.prevInput?e.pointers.length>t.prevInput.maxPointers?e.pointers.length:t.prevInput.maxPointers:e.pointers.length,vte(t,e);var I=n.element,C=e.srcEvent,d;C.composedPath?d=C.composedPath()[0]:C.path?d=C.path[0]:d=C.target,CO(d,I)&&(I=d),e.target=I}function yte(n,e,t){var r=t.pointers.length,i=t.changedPointers.length,s=e&Bt&&r-i===0,o=e&(tt|Ht)&&r-i===0;t.isFirst=!!s,t.isFinal=!!o,s&&(n.session={}),t.eventType=e,mte(n,t),n.emit("hammer.input",t),n.recognize(t),n.session.prevInput=t}function ka(n){return n.trim().split(/\s+/g)}function ma(n,e,t){si(ka(e),function(r){n.addEventListener(r,t,!1)})}function ya(n,e,t){si(ka(e),function(r){n.removeEventListener(r,t,!1)})}function EP(n){var e=n.ownerDocument||n;return e.defaultView||e.parentWindow||window}var wo=(function(){function n(t,r){var i=this;this.manager=t,this.callback=r,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(s){tI(t.options.enable,[t])&&i.handler(s)},this.init()}var e=n.prototype;return e.handler=function(){},e.init=function(){this.evEl&&ma(this.element,this.evEl,this.domHandler),this.evTarget&&ma(this.target,this.evTarget,this.domHandler),this.evWin&&ma(EP(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&ya(this.element,this.evEl,this.domHandler),this.evTarget&&ya(this.target,this.evTarget,this.domHandler),this.evWin&&ya(EP(this.element),this.evWin,this.domHandler)},n})();function Nn(n,e,t){if(n.indexOf&&!t)return n.indexOf(e);for(var r=0;r<n.length;){if(t&&n[r][t]==e||!t&&n[r]===e)return r;r++}return-1}var bte={pointerdown:Bt,pointermove:Vn,pointerup:tt,pointercancel:Ht,pointerout:Ht},wte={2:gg,3:dte,4:IO,5:lte},z6="pointerdown",j6="pointermove pointerup pointercancel";ni.MSPointerEvent&&!ni.PointerEvent&&(z6="MSPointerDown",j6="MSPointerMove MSPointerUp MSPointerCancel");var L6=(function(n){ur(e,n);function e(){var r,i=e.prototype;return i.evEl=z6,i.evWin=j6,r=n.apply(this,arguments)||this,r.store=r.manager.session.pointerEvents=[],r}var t=e.prototype;return t.handler=function(i){var s=this.store,o=!1,a=i.type.toLowerCase().replace("ms",""),g=bte[a],A=wte[i.pointerType]||i.pointerType,I=A===gg,C=Nn(s,i.pointerId,"pointerId");g&Bt&&(i.button===0||I)?C<0&&(s.push(i),C=s.length-1):g&(tt|Ht)&&(o=!0),!(C<0)&&(s[C]=i,this.callback(this.manager,g,{pointers:s,changedPointers:[i],pointerType:A,srcEvent:i}),o&&s.splice(C,1))},e})(wo);function Ba(n){return Array.prototype.slice.call(n,0)}function dO(n,e,t){for(var r=[],i=[],s=0;s<n.length;){var o=e?n[s][e]:n[s];Nn(i,o)<0&&r.push(n[s]),i[s]=o,s++}return t&&(e?r=r.sort(function(a,g){return a[e]>g[e]}):r=r.sort()),r}var Ete={touchstart:Bt,touchmove:Vn,touchend:tt,touchcancel:Ht},Ste="touchstart touchmove touchend touchcancel",lO=(function(n){ur(e,n);function e(){var r;return e.prototype.evTarget=Ste,r=n.apply(this,arguments)||this,r.targetIds={},r}var t=e.prototype;return t.handler=function(i){var s=Ete[i.type],o=_te.call(this,i,s);o&&this.callback(this.manager,s,{pointers:o[0],changedPointers:o[1],pointerType:gg,srcEvent:i})},e})(wo);function _te(n,e){var t=Ba(n.touches),r=this.targetIds;if(e&(Bt|Vn)&&t.length===1)return r[t[0].identifier]=!0,[t,t];var i,s,o=Ba(n.changedTouches),a=[],g=this.target;if(s=t.filter(function(A){return CO(A.target,g)}),e===Bt)for(i=0;i<s.length;)r[s[i].identifier]=!0,i++;for(i=0;i<o.length;)r[o[i].identifier]&&a.push(o[i]),e&(tt|Ht)&&delete r[o[i].identifier],i++;if(a.length)return[dO(s.concat(a),"identifier",!0),a]}var Ote={mousedown:Bt,mousemove:Vn,mouseup:tt},Tte="mousedown",Rte="mousemove mouseup",uO=(function(n){ur(e,n);function e(){var r,i=e.prototype;return i.evEl=Tte,i.evWin=Rte,r=n.apply(this,arguments)||this,r.pressed=!1,r}var t=e.prototype;return t.handler=function(i){var s=Ote[i.type];s&Bt&&i.button===0&&(this.pressed=!0),s&Vn&&i.which!==1&&(s=tt),this.pressed&&(s&tt&&(this.pressed=!1),this.callback(this.manager,s,{pointers:[i],changedPointers:[i],pointerType:IO,srcEvent:i}))},e})(wo),Pte=2500,SP=25;function _P(n){var e=n.changedPointers,t=e[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY},i=this.lastTouches;this.lastTouches.push(r);var s=function(){var a=i.indexOf(r);a>-1&&i.splice(a,1)};setTimeout(s,Pte)}}function xte(n,e){n&Bt?(this.primaryTouch=e.changedPointers[0].identifier,_P.call(this,e)):n&(tt|Ht)&&_P.call(this,e)}function $te(n){for(var e=n.srcEvent.clientX,t=n.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],s=Math.abs(e-i.x),o=Math.abs(t-i.y);if(s<=SP&&o<=SP)return!0}return!1}var G6=(function(){var n=(function(e){ur(t,e);function t(i,s){var o;return o=e.call(this,i,s)||this,o.handler=function(a,g,A){var I=A.pointerType===gg,C=A.pointerType===IO;if(!(C&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(I)xte.call(eA(eA(o)),g,A);else if(C&&$te.call(eA(eA(o)),A))return;o.callback(a,g,A)}},o.touch=new lO(o.manager,o.handler),o.mouse=new uO(o.manager,o.handler),o.primaryTouch=null,o.lastTouches=[],o}var r=t.prototype;return r.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t})(wo);return n})();function Dte(n){var e,t=n.options.inputClass;return t?e=t:Ite?e=L6:Cte?e=lO:D6?e=G6:e=uO,new e(n,yte)}function Rs(n,e,t){return Array.isArray(n)?(si(n,t[e],t),!0):!1}var lA=1,Ar=2,Qs=4,ji=8,oi=ji,za=16,jr=32,Nte=1;function Mte(){return Nte++}function rA(n,e){var t=e.manager;return t?t.get(n):n}function OP(n){return n&za?"cancel":n&ji?"end":n&Qs?"move":n&Ar?"start":""}var dg=(function(){function n(t){t===void 0&&(t={}),this.options=Nr({enable:!0},t),this.id=Mte(),this.manager=null,this.state=lA,this.simultaneous={},this.requireFail=[]}var e=n.prototype;return e.set=function(r){return $n(this.options,r),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(r){if(Rs(r,"recognizeWith",this))return this;var i=this.simultaneous;return r=rA(r,this),i[r.id]||(i[r.id]=r,r.recognizeWith(this)),this},e.dropRecognizeWith=function(r){return Rs(r,"dropRecognizeWith",this)?this:(r=rA(r,this),delete this.simultaneous[r.id],this)},e.requireFailure=function(r){if(Rs(r,"requireFailure",this))return this;var i=this.requireFail;return r=rA(r,this),Nn(i,r)===-1&&(i.push(r),r.requireFailure(this)),this},e.dropRequireFailure=function(r){if(Rs(r,"dropRequireFailure",this))return this;r=rA(r,this);var i=Nn(this.requireFail,r);return i>-1&&this.requireFail.splice(i,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(r){return!!this.simultaneous[r.id]},e.emit=function(r){var i=this,s=this.state;function o(a){i.manager.emit(a,r)}s<ji&&o(i.options.event+OP(s)),o(i.options.event),r.additionalEvent&&o(r.additionalEvent),s>=ji&&o(i.options.event+OP(s))},e.tryEmit=function(r){if(this.canEmit())return this.emit(r);this.state=jr},e.canEmit=function(){for(var r=0;r<this.requireFail.length;){if(!(this.requireFail[r].state&(jr|lA)))return!1;r++}return!0},e.recognize=function(r){var i=$n({},r);if(!tI(this.options.enable,[this,i])){this.reset(),this.state=jr;return}this.state&(oi|za|jr)&&(this.state=lA),this.state=this.process(i),this.state&(Ar|Qs|ji|za)&&this.tryEmit(i)},e.process=function(r){},e.getTouchAction=function(){},e.reset=function(){},n})(),E_=(function(n){ur(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Nr({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},r))||this,i.pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}var t=e.prototype;return t.getTouchAction=function(){return[b_]},t.process=function(i){var s=this,o=this.options,a=i.pointers.length===o.pointers,g=i.distance<o.threshold,A=i.deltaTime<o.time;if(this.reset(),i.eventType&Bt&&this.count===0)return this.failTimeout();if(g&&A&&a){if(i.eventType!==tt)return this.failTimeout();var I=this.pTime?i.timeStamp-this.pTime<o.interval:!0,C=!this.pCenter||_A(this.pCenter,i.center)<o.posThreshold;this.pTime=i.timeStamp,this.pCenter=i.center,!C||!I?this.count=1:this.count+=1,this._input=i;var d=this.count%o.taps;if(d===0)return this.hasRequireFailures()?(this._timer=setTimeout(function(){s.state=oi,s.tryEmit()},o.interval),Ar):oi}return jr},t.failTimeout=function(){var i=this;return this._timer=setTimeout(function(){i.state=jr},this.options.interval),jr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){this.state===oi&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e})(dg),Js=(function(n){ur(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Nr({pointers:1},r))||this}var t=e.prototype;return t.attrTest=function(i){var s=this.options.pointers;return s===0||i.pointers.length===s},t.process=function(i){var s=this.state,o=i.eventType,a=s&(Ar|Qs),g=this.attrTest(i);return a&&(o&Ht||!g)?s|za:a||g?o&tt?s|ji:s&Ar?s|Qs:Ar:jr},e})(dg);function W6(n){return n===Xs?"down":n===Cg?"up":n===Ag?"left":n===Ig?"right":""}var hO=(function(n){ur(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Nr({event:"pan",threshold:10,pointers:1,direction:N6},r))||this,i.pX=null,i.pY=null,i}var t=e.prototype;return t.getTouchAction=function(){var i=this.options.direction,s=[];return i&Zr&&s.push(Fa),i&On&&s.push(qa),s},t.directionTest=function(i){var s=this.options,o=!0,a=i.distance,g=i.direction,A=i.deltaX,I=i.deltaY;return g&s.direction||(s.direction&Zr?(g=A===0?EA:A<0?Ag:Ig,o=A!==this.pX,a=Math.abs(i.deltaX)):(g=I===0?EA:I<0?Cg:Xs,o=I!==this.pY,a=Math.abs(i.deltaY))),i.direction=g,o&&a>s.threshold&&g&s.direction},t.attrTest=function(i){return Js.prototype.attrTest.call(this,i)&&(this.state&Ar||!(this.state&Ar)&&this.directionTest(i))},t.emit=function(i){this.pX=i.deltaX,this.pY=i.deltaY;var s=W6(i.direction);s&&(i.additionalEvent=this.options.event+s),n.prototype.emit.call(this,i)},e})(Js),V6=(function(n){ur(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Nr({event:"swipe",threshold:10,velocity:.3,direction:Zr|On,pointers:1},r))||this}var t=e.prototype;return t.getTouchAction=function(){return hO.prototype.getTouchAction.call(this)},t.attrTest=function(i){var s=this.options.direction,o;return s&(Zr|On)?o=i.overallVelocity:s&Zr?o=i.overallVelocityX:s&On&&(o=i.overallVelocityY),n.prototype.attrTest.call(this,i)&&s&i.offsetDirection&&i.distance>this.options.threshold&&i.maxPointers===this.options.pointers&&Dn(o)>this.options.velocity&&i.eventType&tt},t.emit=function(i){var s=W6(i.offsetDirection);s&&this.manager.emit(this.options.event+s,i),this.manager.emit(this.options.event,i)},e})(Js),Z6=(function(n){ur(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Nr({event:"pinch",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[_n]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.scale-1)>this.options.threshold||this.state&Ar)},t.emit=function(i){if(i.scale!==1){var s=i.scale<1?"in":"out";i.additionalEvent=this.options.event+s}n.prototype.emit.call(this,i)},e})(Js),H6=(function(n){ur(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Nr({event:"rotate",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[_n]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.rotation)>this.options.threshold||this.state&Ar)},e})(Js),U6=(function(n){ur(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Nr({event:"press",pointers:1,time:251,threshold:9},r))||this,i._timer=null,i._input=null,i}var t=e.prototype;return t.getTouchAction=function(){return[$6]},t.process=function(i){var s=this,o=this.options,a=i.pointers.length===o.pointers,g=i.distance<o.threshold,A=i.deltaTime>o.time;if(this._input=i,!g||!a||i.eventType&(tt|Ht)&&!A)this.reset();else if(i.eventType&Bt)this.reset(),this._timer=setTimeout(function(){s.state=oi,s.tryEmit()},o.time);else if(i.eventType&tt)return oi;return jr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(i){this.state===oi&&(i&&i.eventType&tt?this.manager.emit(this.options.event+"up",i):(this._input.timeStamp=AO(),this.manager.emit(this.options.event,this._input)))},e})(dg),K6={domEvents:!1,touchAction:x6,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},TP=[[H6,{enable:!1}],[Z6,{enable:!1},["rotate"]],[V6,{direction:Zr}],[hO,{direction:Zr},["swipe"]],[E_],[E_,{event:"doubletap",taps:2},["tap"]],[U6]],qte=1,RP=2;function PP(n,e){var t=n.element;if(t.style){var r;si(n.options.cssProps,function(i,s){r=eI(t.style,s),e?(n.oldCssProps[r]=t.style[r],t.style[r]=i):t.style[r]=n.oldCssProps[r]||""}),e||(n.oldCssProps={})}}function Fte(n,e){var t=document.createEvent("Event");t.initEvent(n,!0,!0),t.gesture=e,e.target.dispatchEvent(t)}var xP=(function(){function n(t,r){var i=this;this.options=$n({},K6,r||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=Dte(this),this.touchAction=new q6(this,this.options.touchAction),PP(this,!0),si(this.options.recognizers,function(s){var o=i.add(new s[0](s[1]));s[2]&&o.recognizeWith(s[2]),s[3]&&o.requireFailure(s[3])},this)}var e=n.prototype;return e.set=function(r){return $n(this.options,r),r.touchAction&&this.touchAction.update(),r.inputTarget&&(this.input.destroy(),this.input.target=r.inputTarget,this.input.init()),this},e.stop=function(r){this.session.stopped=r?RP:qte},e.recognize=function(r){var i=this.session;if(!i.stopped){this.touchAction.preventDefaults(r);var s,o=this.recognizers,a=i.curRecognizer;(!a||a&&a.state&oi)&&(i.curRecognizer=null,a=null);for(var g=0;g<o.length;)s=o[g],i.stopped!==RP&&(!a||s===a||s.canRecognizeWith(a))?s.recognize(r):s.reset(),!a&&s.state&(Ar|Qs|ji)&&(i.curRecognizer=s,a=s),g++}},e.get=function(r){if(r instanceof dg)return r;for(var i=this.recognizers,s=0;s<i.length;s++)if(i[s].options.event===r)return i[s];return null},e.add=function(r){if(Rs(r,"add",this))return this;var i=this.get(r.options.event);return i&&this.remove(i),this.recognizers.push(r),r.manager=this,this.touchAction.update(),r},e.remove=function(r){if(Rs(r,"remove",this))return this;var i=this.get(r);if(r){var s=this.recognizers,o=Nn(s,i);o!==-1&&(s.splice(o,1),this.touchAction.update())}return this},e.on=function(r,i){if(r===void 0||i===void 0)return this;var s=this.handlers;return si(ka(r),function(o){s[o]=s[o]||[],s[o].push(i)}),this},e.off=function(r,i){if(r===void 0)return this;var s=this.handlers;return si(ka(r),function(o){i?s[o]&&s[o].splice(Nn(s[o],i),1):delete s[o]}),this},e.emit=function(r,i){this.options.domEvents&&Fte(r,i);var s=this.handlers[r]&&this.handlers[r].slice();if(!(!s||!s.length)){i.type=r,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var o=0;o<s.length;)s[o](i),o++}},e.destroy=function(){this.element&&PP(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},n})(),kte={touchstart:Bt,touchmove:Vn,touchend:tt,touchcancel:Ht},Bte="touchstart",zte="touchstart touchmove touchend touchcancel",jte=(function(n){ur(e,n);function e(){var r,i=e.prototype;return i.evTarget=Bte,i.evWin=zte,r=n.apply(this,arguments)||this,r.started=!1,r}var t=e.prototype;return t.handler=function(i){var s=kte[i.type];if(s===Bt&&(this.started=!0),!!this.started){var o=Lte.call(this,i,s);s&(tt|Ht)&&o[0].length-o[1].length===0&&(this.started=!1),this.callback(this.manager,s,{pointers:o[0],changedPointers:o[1],pointerType:gg,srcEvent:i})}},e})(wo);function Lte(n,e){var t=Ba(n.touches),r=Ba(n.changedTouches);return e&(tt|Ht)&&(t=dO(t.concat(r),"identifier",!0)),[t,r]}function Y6(n,e,t){var r="DEPRECATED METHOD: "+e+`
915
+ `+t+` AT
916
+ `;return function(){var i=new Error("get-stack-trace"),s=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,r,s),n.apply(this,arguments)}}var X6=Y6(function(n,e,t){for(var r=Object.keys(e),i=0;i<r.length;)(!t||t&&n[r[i]]===void 0)&&(n[r[i]]=e[r[i]]),i++;return n},"extend","Use `assign`."),Gte=Y6(function(n,e){return X6(n,e,!0)},"merge","Use `assign`.");function Wte(n,e,t){var r=e.prototype,i;i=n.prototype=Object.create(r),i.constructor=n,i._super=r,t&&$n(i,t)}function $P(n,e){return function(){return n.apply(e,arguments)}}var Q6=(function(){var n=function(t,r){return r===void 0&&(r={}),new xP(t,Nr({recognizers:TP.concat()},r))};return n.VERSION="2.0.17-rc",n.DIRECTION_ALL=N6,n.DIRECTION_DOWN=Xs,n.DIRECTION_LEFT=Ag,n.DIRECTION_RIGHT=Ig,n.DIRECTION_UP=Cg,n.DIRECTION_HORIZONTAL=Zr,n.DIRECTION_VERTICAL=On,n.DIRECTION_NONE=EA,n.DIRECTION_DOWN=Xs,n.INPUT_START=Bt,n.INPUT_MOVE=Vn,n.INPUT_END=tt,n.INPUT_CANCEL=Ht,n.STATE_POSSIBLE=lA,n.STATE_BEGAN=Ar,n.STATE_CHANGED=Qs,n.STATE_ENDED=ji,n.STATE_RECOGNIZED=oi,n.STATE_CANCELLED=za,n.STATE_FAILED=jr,n.Manager=xP,n.Input=wo,n.TouchAction=q6,n.TouchInput=lO,n.MouseInput=uO,n.PointerEventInput=L6,n.TouchMouseInput=G6,n.SingleTouchInput=jte,n.Recognizer=dg,n.AttrRecognizer=Js,n.Tap=E_,n.Pan=hO,n.Swipe=V6,n.Pinch=Z6,n.Rotate=H6,n.Press=U6,n.on=ma,n.off=ya,n.each=si,n.merge=Gte,n.extend=X6,n.bindFn=$P,n.assign=$n,n.inherit=Wte,n.bindFn=$P,n.prefixed=eI,n.toArray=Ba,n.inArray=Nn,n.uniqueArray=dO,n.splitStr=ka,n.boolOrFn=tI,n.hasParent=CO,n.addEventListeners=ma,n.removeEventListeners=ya,n.defaults=$n({},K6,{preset:TP}),n})();Q6.defaults;/**
917
+ * vis-util
918
+ * https://github.com/visjs/vis-util
919
+ *
920
+ * utilitie collection for visjs
921
+ *
922
+ * @version 6.0.0
923
+ * @date 2025-07-12T18:02:43.836Z
924
+ *
925
+ * @copyright (c) 2011-2017 Almende B.V, http://almende.com
926
+ * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
927
+ *
928
+ * @license
929
+ * vis.js is dual licensed under both
930
+ *
931
+ * 1. The Apache 2.0 License
932
+ * http://www.apache.org/licenses/LICENSE-2.0
933
+ *
934
+ * and
935
+ *
936
+ * 2. The MIT License
937
+ * http://opensource.org/licenses/MIT
938
+ *
939
+ * vis.js may be distributed under either license.
940
+ */const J6=Symbol("DELETE");function Vte(n,...e){return eX({},n,...e)}function eX(...n){const e=OA(...n);return rX(e),e}function OA(...n){if(n.length<2)return n[0];if(n.length>2)return OA(eX(n[0],n[1]),...n.slice(2));const e=n[0],t=n[1];if(e instanceof Date&&t instanceof Date)return e.setTime(t.getTime()),e;for(const r of Reflect.ownKeys(t))Object.prototype.propertyIsEnumerable.call(t,r)&&(t[r]===J6?delete e[r]:e[r]!==null&&t[r]!==null&&typeof e[r]=="object"&&typeof t[r]=="object"&&!Array.isArray(e[r])&&!Array.isArray(t[r])?e[r]=OA(e[r],t[r]):e[r]=tX(t[r]));return e}function tX(n){return Array.isArray(n)?n.map(e=>tX(e)):typeof n=="object"&&n!==null?n instanceof Date?new Date(n.getTime()):OA({},n):n}function rX(n){for(const e of Object.keys(n))n[e]===J6?delete n[e]:typeof n[e]=="object"&&n[e]!==null&&rX(n[e])}function rI(...n){return Zte(n.length?n:[Date.now()])}function Zte(n){let[e,t,r]=Hte(n),i=1;const s=()=>{const o=2091639*e+i*23283064365386963e-26;return e=t,t=r,r=o-(i=o|0)};return s.uint32=()=>s()*4294967296,s.fract53=()=>s()+(s()*2097152|0)*11102230246251565e-32,s.algorithm="Alea",s.seed=n,s.version="0.9",s}function Hte(...n){const e=Ute();let t=e(" "),r=e(" "),i=e(" ");for(let s=0;s<n.length;s++)t-=e(n[s]),t<0&&(t+=1),r-=e(n[s]),r<0&&(r+=1),i-=e(n[s]),i<0&&(i+=1);return[t,r,i]}function Ute(){let n=4022871197;return function(e){const t=e.toString();for(let r=0;r<t.length;r++){n+=t.charCodeAt(r);let i=.02519603282416938*n;n=i>>>0,i-=n,i*=n,n=i>>>0,i-=n,n+=i*4294967296}return(n>>>0)*23283064365386963e-26}}function Kte(){const n=()=>{};return{on:n,off:n,destroy:n,emit:n,get(){return{set:n}}}}const cO=typeof window<"u"?window.Hammer||Q6:function(){return Kte()};function Lr(n){this._cleanupQueue=[],this.active=!1,this._dom={container:n,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push(()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)});const e=cO(this._dom.overlay);e.on("tap",this._onTapOverlay.bind(this)),this._cleanupQueue.push(()=>{e.destroy()}),["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(r=>{e.on(r,i=>{i.srcEvent.stopPropagation()})}),document&&document.body&&(this._onClick=r=>{Yte(r.target,n)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push(()=>{document.body.removeEventListener("click",this._onClick)})),this._escListener=r=>{("key"in r?r.key==="Escape":r.keyCode===27)&&this.deactivate()}}T6(Lr.prototype);Lr.current=null;Lr.prototype.destroy=function(){this.deactivate();for(const n of this._cleanupQueue.splice(0).reverse())n()};Lr.prototype.activate=function(){Lr.current&&Lr.current.deactivate(),Lr.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)};Lr.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")};Lr.prototype._onTapOverlay=function(n){this.activate(),n.srcEvent.stopPropagation()};function Yte(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}const Xte=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Qte=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,Jte=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,ere=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function Di(n){if(n)for(;n.hasChildNodes()===!0;){const e=n.firstChild;e&&(Di(e),n.removeChild(e))}}function Fs(n){return n instanceof String||typeof n=="string"}function DP(n){return typeof n=="object"&&n!==null}function Mn(n,e,t,r){let i=!1;r===!0&&(i=e[t]===null&&n[t]!==void 0),i?delete n[t]:n[t]=e[t]}function iX(n,e,t=!1){for(const r in n)if(e[r]!==void 0)if(e[r]===null||typeof e[r]!="object")Mn(n,e,r,t);else{const i=n[r],s=e[r];DP(i)&&DP(s)&&iX(i,s,t)}}function Eo(n,e,t,r=!1){if(Array.isArray(t))throw new TypeError("Arrays are not supported by deepExtend");for(let i=0;i<n.length;i++){const s=n[i];if(Object.prototype.hasOwnProperty.call(t,s))if(t[s]&&t[s].constructor===Object)e[s]===void 0&&(e[s]={}),e[s].constructor===Object?Pe(e[s],t[s],!1,r):Mn(e,t,s,r);else{if(Array.isArray(t[s]))throw new TypeError("Arrays are not supported by deepExtend");Mn(e,t,s,r)}}return e}function TA(n,e,t,r=!1){if(Array.isArray(t))throw new TypeError("Arrays are not supported by deepExtend");for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&!n.includes(i))if(t[i]&&t[i].constructor===Object)e[i]===void 0&&(e[i]={}),e[i].constructor===Object?Pe(e[i],t[i]):Mn(e,t,i,r);else if(Array.isArray(t[i])){e[i]=[];for(let s=0;s<t[i].length;s++)e[i].push(t[i][s])}else Mn(e,t,i,r);return e}function Pe(n,e,t=!1,r=!1){for(const i in e)(Object.prototype.hasOwnProperty.call(e,i)||t===!0)&&(typeof e[i]=="object"&&e[i]!==null&&Object.getPrototypeOf(e[i])===Object.prototype?n[i]===void 0?n[i]=Pe({},e[i],t):typeof n[i]=="object"&&n[i]!==null&&Object.getPrototypeOf(n[i])===Object.prototype?Pe(n[i],e[i],t):Mn(n,e,i,r):Array.isArray(e[i])?n[i]=e[i].slice():Mn(n,e,i,r));return n}function RA(n,e){return[...n,e]}function tre(n){return n.slice()}function rre(n){return n.getBoundingClientRect().left}function ire(n){return n.getBoundingClientRect().top}function le(n,e){if(Array.isArray(n)){const t=n.length;for(let r=0;r<t;r++)e(n[r],r,n)}else for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(n[t],t,n)}function fO(n){let e;switch(n.length){case 3:case 4:return e=Qte.exec(n),e?{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16)}:null;case 6:case 7:return e=Xte.exec(n),e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null;default:return null}}function ar(n,e){if(n.includes("rgba"))return n;if(n.includes("rgb")){const t=n.substr(n.indexOf("(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+e+")"}else{const t=fO(n);return t==null?n:"rgba("+t.r+","+t.g+","+t.b+","+e+")"}}function nX(n,e,t){return"#"+((1<<24)+(n<<16)+(e<<8)+t).toString(16).slice(1)}function S_(n,e){if(Fs(n)){let t=n;if(oX(t)){const r=t.substr(4).substr(0,t.length-5).split(",").map(function(i){return parseInt(i)});t=nX(r[0],r[1],r[2])}if(sX(t)===!0){const r=nre(t),i={h:r.h,s:r.s*.8,v:Math.min(1,r.v*1.02)},s={h:r.h,s:Math.min(1,r.s*1.25),v:r.v*.8},o=__(s.h,s.s,s.v),a=__(i.h,i.s,i.v);return{background:t,border:o,highlight:{background:a,border:o},hover:{background:a,border:o}}}else return{background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else return{background:n.background||void 0,border:n.border||void 0,highlight:Fs(n.highlight)?{border:n.highlight,background:n.highlight}:{background:n.highlight&&n.highlight.background||void 0,border:n.highlight&&n.highlight.border||void 0},hover:Fs(n.hover)?{border:n.hover,background:n.hover}:{border:n.hover&&n.hover.border||void 0,background:n.hover&&n.hover.background||void 0}}}function ha(n,e,t){n=n/255,e=e/255,t=t/255;const r=Math.min(n,Math.min(e,t)),i=Math.max(n,Math.max(e,t));if(r===i)return{h:0,s:0,v:r};const s=n===r?e-t:t===r?n-e:t-n,a=60*((n===r?3:t===r?1:5)-s/(i-r))/360,g=(i-r)/i;return{h:a,s:g,v:i}}function uA(n,e,t){let r,i,s;const o=Math.floor(n*6),a=n*6-o,g=t*(1-e),A=t*(1-a*e),I=t*(1-(1-a)*e);switch(o%6){case 0:r=t,i=I,s=g;break;case 1:r=A,i=t,s=g;break;case 2:r=g,i=t,s=I;break;case 3:r=g,i=A,s=t;break;case 4:r=I,i=g,s=t;break;case 5:r=t,i=g,s=A;break}return{r:Math.floor(r*255),g:Math.floor(i*255),b:Math.floor(s*255)}}function __(n,e,t){const r=uA(n,e,t);return nX(r.r,r.g,r.b)}function nre(n){const e=fO(n);if(!e)throw new TypeError(`'${n}' is not a valid color.`);return ha(e.r,e.g,e.b)}function sX(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)}function oX(n){return Jte.test(n)}function sre(n){return ere.test(n)}function Li(n){if(n===null||typeof n!="object")return null;if(n instanceof Element)return n;const e=Object.create(n);for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&typeof n[t]=="object"&&(e[t]=Li(n[t]));return e}function sr(n,e,t,r={}){const i=function(l){return l!=null},s=function(l){return l!==null&&typeof l=="object"},o=function(l){for(const u in l)if(Object.prototype.hasOwnProperty.call(l,u))return!1;return!0};if(!s(n))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!i(t))throw new Error("Parameter option must have a value");if(!s(r))throw new Error("Parameter globalOptions must be an object");const a=function(l,u,h){s(l[h])||(l[h]={});const v=u[h],f=l[h];for(const c in v)Object.prototype.hasOwnProperty.call(v,c)&&(f[c]=v[c])},g=e[t],I=s(r)&&!o(r)?r[t]:void 0,C=I?I.enabled:void 0;if(g===void 0)return;if(typeof g=="boolean"){s(n[t])||(n[t]={}),n[t].enabled=g;return}if(g===null&&!s(n[t]))if(i(I))n[t]=Object.create(I);else return;if(!s(g))return;let d=!0;g.enabled!==void 0?d=g.enabled:C!==void 0&&(d=I.enabled),a(n,e,t),n[t].enabled=d}const ore={linear(n){return n},easeInQuad(n){return n*n},easeOutQuad(n){return n*(2-n)},easeInOutQuad(n){return n<.5?2*n*n:-1+(4-2*n)*n},easeInCubic(n){return n*n*n},easeOutCubic(n){return--n*n*n+1},easeInOutCubic(n){return n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1},easeInQuart(n){return n*n*n*n},easeOutQuart(n){return 1- --n*n*n*n},easeInOutQuart(n){return n<.5?8*n*n*n*n:1-8*--n*n*n*n},easeInQuint(n){return n*n*n*n*n},easeOutQuint(n){return 1+--n*n*n*n*n},easeInOutQuint(n){return n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n}};function Ni(n,e){let t;Array.isArray(e)||(e=[e]);for(const r of n)if(r){t=r[e[0]];for(let i=1;i<e.length;i++)t&&(t=t[e[i]]);if(typeof t<"u")break}return t}const are={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};let gre=class{constructor(e=1){this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:289/2,y:289/2},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=()=>{},this.closeCallback=()=>{},this._create()}insertTo(e){this.hammer!==void 0&&(this.hammer.destroy(),this.hammer=void 0),this.container=e,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}setUpdateCallback(e){if(typeof e=="function")this.updateCallback=e;else throw new Error("Function attempted to set as colorPicker update callback is not a function.")}setCloseCallback(e){if(typeof e=="function")this.closeCallback=e;else throw new Error("Function attempted to set as colorPicker closing callback is not a function.")}_isColorString(e){if(typeof e=="string")return are[e]}setColor(e,t=!0){if(e==="none")return;let r;const i=this._isColorString(e);if(i!==void 0&&(e=i),Fs(e)===!0){if(oX(e)===!0){const s=e.substr(4).substr(0,e.length-5).split(",");r={r:s[0],g:s[1],b:s[2],a:1}}else if(sre(e)===!0){const s=e.substr(5).substr(0,e.length-6).split(",");r={r:s[0],g:s[1],b:s[2],a:s[3]}}else if(sX(e)===!0){const s=fO(e);r={r:s.r,g:s.g,b:s.b,a:1}}}else if(e instanceof Object&&e.r!==void 0&&e.g!==void 0&&e.b!==void 0){const s=e.a!==void 0?e.a:"1.0";r={r:e.r,g:e.g,b:e.b,a:s}}if(r===void 0)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+JSON.stringify(e));this._setColor(r,t)}show(){this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}_hide(e=!0){e===!0&&(this.previousColor=Object.assign({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(()=>{this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0)},0)}_save(){this.updateCallback(this.color),this.applied=!1,this._hide()}_apply(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}_loadLast(){this.previousColor!==void 0?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}_setColor(e,t=!0){t===!0&&(this.initialColor=Object.assign({},e)),this.color=e;const r=ha(e.r,e.g,e.b),i=2*Math.PI,s=this.r*r.s,o=this.centerCoordinates.x+s*Math.sin(i*r.h),a=this.centerCoordinates.y+s*Math.cos(i*r.h);this.colorPickerSelector.style.left=o-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=a-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(e)}_setOpacity(e){this.color.a=e/100,this._updatePicker(this.color)}_setBrightness(e){const t=ha(this.color.r,this.color.g,this.color.b);t.v=e/100;const r=uA(t.h,t.s,t.v);r.a=this.color.a,this.color=r,this._updatePicker()}_updatePicker(e=this.color){const t=ha(e.r,e.g,e.b),r=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1)),r.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const i=this.colorPickerCanvas.clientWidth,s=this.colorPickerCanvas.clientHeight;r.clearRect(0,0,i,s),r.putImageData(this.hueCircle,0,0),r.fillStyle="rgba(0,0,0,"+(1-t.v)+")",r.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),r.fill(),this.brightnessRange.value=100*t.v,this.opacityRange.value=100*e.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}_setSize(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}_create(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){const t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{const t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(t)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch{}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch{}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);const e=this;this.opacityRange.onchange=function(){e._setOpacity(this.value)},this.opacityRange.oninput=function(){e._setOpacity(this.value)},this.brightnessRange.onchange=function(){e._setBrightness(this.value)},this.brightnessRange.oninput=function(){e._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}_bindHammer(){this.drag={},this.pinch={},this.hammer=new cO(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",e=>{e.isFirst&&this._moveSelector(e)}),this.hammer.on("tap",e=>{this._moveSelector(e)}),this.hammer.on("panstart",e=>{this._moveSelector(e)}),this.hammer.on("panmove",e=>{this._moveSelector(e)}),this.hammer.on("panend",e=>{this._moveSelector(e)})}_generateHueCircle(){if(this.generated===!1){const e=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const t=this.colorPickerCanvas.clientWidth,r=this.colorPickerCanvas.clientHeight;e.clearRect(0,0,t,r);let i,s,o,a;this.centerCoordinates={x:t*.5,y:r*.5},this.r=.49*t;const g=2*Math.PI/360,A=1/360,I=1/this.r;let C;for(o=0;o<360;o++)for(a=0;a<this.r;a++)i=this.centerCoordinates.x+a*Math.sin(g*o),s=this.centerCoordinates.y+a*Math.cos(g*o),C=uA(o*A,a*I,1),e.fillStyle="rgb("+C.r+","+C.g+","+C.b+")",e.fillRect(i-.5,s-.5,2,2);e.strokeStyle="rgba(0,0,0,1)",e.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),e.stroke(),this.hueCircle=e.getImageData(0,0,t,r)}this.generated=!0}_moveSelector(e){const t=this.colorPickerDiv.getBoundingClientRect(),r=e.center.x-t.left,i=e.center.y-t.top,s=.5*this.colorPickerDiv.clientHeight,o=.5*this.colorPickerDiv.clientWidth,a=r-o,g=i-s,A=Math.atan2(a,g),I=.98*Math.min(Math.sqrt(a*a+g*g),o),C=Math.cos(A)*I+s,d=Math.sin(A)*I+o;this.colorPickerSelector.style.top=C-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=d-.5*this.colorPickerSelector.clientWidth+"px";let l=A/(2*Math.PI);l=l<0?l+1:l;const u=I/this.r,h=ha(this.color.r,this.color.g,this.color.b);h.h=l,h.s=u;const v=uA(h.h,h.s,h.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}};function O_(...n){if(n.length<1)throw new TypeError("Invalid arguments.");if(n.length===1)return document.createTextNode(n[0]);{const e=document.createElement(n[0]);return e.appendChild(O_(...n.slice(1))),e}}let Are=class{constructor(e,t,r,i=1,s=()=>!1){this.parent=e,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.hideOption=s,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},Object.assign(this.options,this.defaultOptions),this.configureOptions=r,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new gre(i),this.wrapper=void 0}setOptions(e){if(e!==void 0){this.popupHistory={},this._removePopup();let t=!0;if(typeof e=="string")this.options.filter=e;else if(Array.isArray(e))this.options.filter=e.join();else if(typeof e=="object"){if(e==null)throw new TypeError("options cannot be null");e.container!==void 0&&(this.options.container=e.container),e.filter!==void 0&&(this.options.filter=e.filter),e.showButton!==void 0&&(this.options.showButton=e.showButton),e.enabled!==void 0&&(t=e.enabled)}else typeof e=="boolean"?(this.options.filter=!0,t=e):typeof e=="function"&&(this.options.filter=e,t=!0);this.options.filter===!1&&(t=!1),this.options.enabled=t}this._clean()}setModuleOptions(e){this.moduleOptions=e,this.options.enabled===!0&&(this._clean(),this.options.container!==void 0&&(this.container=this.options.container),this._create())}_create(){this._clean(),this.changedOptions=[];const e=this.options.filter;let t=0,r=!1;for(const i in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,i)&&(this.allowCreation=!1,r=!1,typeof e=="function"?(r=e(i,[]),r=r||this._handleObject(this.configureOptions[i],[i],!0)):(e===!0||e.indexOf(i)!==-1)&&(r=!0),r!==!1&&(this.allowCreation=!0,t>0&&this._makeItem([]),this._makeHeader(i),this._handleObject(this.configureOptions[i],[i])),t++);this._makeButton(),this._push()}_push(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(let e=0;e<this.domElements.length;e++)this.wrapper.appendChild(this.domElements[e]);this._showPopupIfNeeded()}_clean(){for(let e=0;e<this.domElements.length;e++)this.wrapper.removeChild(this.domElements[e]);this.wrapper!==void 0&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}_getValue(e){let t=this.moduleOptions;for(let r=0;r<e.length;r++)if(t[e[r]]!==void 0)t=t[e[r]];else{t=void 0;break}return t}_makeItem(e,...t){if(this.allowCreation===!0){const r=document.createElement("div");return r.className="vis-configuration vis-config-item vis-config-s"+e.length,t.forEach(i=>{r.appendChild(i)}),this.domElements.push(r),this.domElements.length}return 0}_makeHeader(e){const t=document.createElement("div");t.className="vis-configuration vis-config-header",t.innerText=e,this._makeItem([],t)}_makeLabel(e,t,r=!1){const i=document.createElement("div");if(i.className="vis-configuration vis-config-label vis-config-s"+t.length,r===!0){for(;i.firstChild;)i.removeChild(i.firstChild);i.appendChild(O_("i","b",e))}else i.innerText=e+":";return i}_makeDropdown(e,t,r){const i=document.createElement("select");i.className="vis-configuration vis-config-select";let s=0;t!==void 0&&e.indexOf(t)!==-1&&(s=e.indexOf(t));for(let g=0;g<e.length;g++){const A=document.createElement("option");A.value=e[g],g===s&&(A.selected="selected"),A.innerText=e[g],i.appendChild(A)}const o=this;i.onchange=function(){o._update(this.value,r)};const a=this._makeLabel(r[r.length-1],r);this._makeItem(r,a,i)}_makeRange(e,t,r){const i=e[0],s=e[1],o=e[2],a=e[3],g=document.createElement("input");g.className="vis-configuration vis-config-range";try{g.type="range",g.min=s,g.max=o}catch{}g.step=a;let A="",I=0;t!==void 0?(t<0&&t*1.2<s?(g.min=Math.ceil(t*1.2),I=g.min,A="range increased"):t/1.2<s&&(g.min=Math.ceil(t/1.2),I=g.min,A="range increased"),t*1.2>o&&o!==1&&(g.max=Math.ceil(t*1.2),I=g.max,A="range increased"),g.value=t):g.value=i;const C=document.createElement("input");C.className="vis-configuration vis-config-rangeinput",C.value=g.value;const d=this;g.onchange=function(){C.value=this.value,d._update(Number(this.value),r)},g.oninput=function(){C.value=this.value};const l=this._makeLabel(r[r.length-1],r),u=this._makeItem(r,l,g,C);A!==""&&this.popupHistory[u]!==I&&(this.popupHistory[u]=I,this._setupPopup(A,u))}_makeButton(){if(this.options.showButton===!0){const e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=()=>{this._printOptions()},e.onmouseover=()=>{e.className="vis-configuration vis-config-button hover"},e.onmouseout=()=>{e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}_setupPopup(e,t){if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter<this.popupLimit){const r=document.createElement("div");r.id="vis-configuration-popup",r.className="vis-configuration-popup",r.innerText=e,r.onclick=()=>{this._removePopup()},this.popupCounter+=1,this.popupDiv={html:r,index:t}}}_removePopup(){this.popupDiv.html!==void 0&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}_showPopupIfNeeded(){if(this.popupDiv.html!==void 0){const t=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=t.left+"px",this.popupDiv.html.style.top=t.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=setTimeout(()=>{this.popupDiv.html.style.opacity=0},1500),this.popupDiv.deleteTimeout=setTimeout(()=>{this._removePopup()},1800)}}_makeCheckbox(e,t,r){const i=document.createElement("input");i.type="checkbox",i.className="vis-configuration vis-config-checkbox",i.checked=e,t!==void 0&&(i.checked=t,t!==e&&(typeof e=="object"?t!==e.enabled&&this.changedOptions.push({path:r,value:t}):this.changedOptions.push({path:r,value:t})));const s=this;i.onchange=function(){s._update(this.checked,r)};const o=this._makeLabel(r[r.length-1],r);this._makeItem(r,o,i)}_makeTextInput(e,t,r){const i=document.createElement("input");i.type="text",i.className="vis-configuration vis-config-text",i.value=t,t!==e&&this.changedOptions.push({path:r,value:t});const s=this;i.onchange=function(){s._update(this.value,r)};const o=this._makeLabel(r[r.length-1],r);this._makeItem(r,o,i)}_makeColorField(e,t,r){const i=e[1],s=document.createElement("div");t=t===void 0?i:t,t!=="none"?(s.className="vis-configuration vis-config-colorBlock",s.style.backgroundColor=t):s.className="vis-configuration vis-config-colorBlock none",t=t===void 0?i:t,s.onclick=()=>{this._showColorPicker(t,s,r)};const o=this._makeLabel(r[r.length-1],r);this._makeItem(r,o,s)}_showColorPicker(e,t,r){t.onclick=function(){},this.colorPicker.insertTo(t),this.colorPicker.show(),this.colorPicker.setColor(e),this.colorPicker.setUpdateCallback(i=>{const s="rgba("+i.r+","+i.g+","+i.b+","+i.a+")";t.style.backgroundColor=s,this._update(s,r)}),this.colorPicker.setCloseCallback(()=>{t.onclick=()=>{this._showColorPicker(e,t,r)}})}_handleObject(e,t=[],r=!1){let i=!1;const s=this.options.filter;let o=!1;for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)){i=!0;const g=e[a],A=RA(t,a);if(typeof s=="function"&&(i=s(a,t),i===!1&&!Array.isArray(g)&&typeof g!="string"&&typeof g!="boolean"&&g instanceof Object&&(this.allowCreation=!1,i=this._handleObject(g,A,!0),this.allowCreation=r===!1)),i!==!1){o=!0;const I=this._getValue(A);if(Array.isArray(g))this._handleArray(g,I,A);else if(typeof g=="string")this._makeTextInput(g,I,A);else if(typeof g=="boolean")this._makeCheckbox(g,I,A);else if(g instanceof Object){if(!this.hideOption(t,a,this.moduleOptions))if(g.enabled!==void 0){const C=RA(A,"enabled"),d=this._getValue(C);if(d===!0){const l=this._makeLabel(a,A,!0);this._makeItem(A,l),o=this._handleObject(g,A)||o}else this._makeCheckbox(g,d,A)}else{const C=this._makeLabel(a,A,!0);this._makeItem(A,C),o=this._handleObject(g,A)||o}}else console.error("dont know how to handle",g,a,A)}}return o}_handleArray(e,t,r){typeof e[0]=="string"&&e[0]==="color"?(this._makeColorField(e,t,r),e[1]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="string"?(this._makeDropdown(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="number"&&(this._makeRange(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:Number(t)}))}_update(e,t){const r=this._constructOptions(e,t);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",r),this.initialized=!0,this.parent.setOptions(r)}_constructOptions(e,t,r={}){let i=r;e=e==="true"?!0:e,e=e==="false"?!1:e;for(let s=0;s<t.length;s++)t[s]!=="global"&&(i[t[s]]===void 0&&(i[t[s]]={}),s!==t.length-1?i=i[t[s]]:i[t[s]]=e);return r}_printOptions(){const e=this.getOptions();for(;this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(O_("pre","const options = "+JSON.stringify(e,null,2)))}getOptions(){const e={};for(let t=0;t<this.changedOptions.length;t++)this._constructOptions(this.changedOptions[t].value,this.changedOptions[t].path,e);return e}},Ire=class{constructor(e,t){this.container=e,this.overflowMethod=t||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}setPosition(e,t){this.x=parseInt(e),this.y=parseInt(t)}setText(e){if(e instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(e)}else this.frame.innerText=e}show(e){if(e===void 0&&(e=!0),e===!0){const t=this.frame.clientHeight,r=this.frame.clientWidth,i=this.frame.parentNode.clientHeight,s=this.frame.parentNode.clientWidth;let o=0,a=0;if(this.overflowMethod=="flip"){let g=!1,A=!0;this.y-t<this.padding&&(A=!1),this.x+r>s-this.padding&&(g=!0),g?o=this.x-r:o=this.x,A?a=this.y-t:a=this.y}else a=this.y-t,a+t+this.padding>i&&(a=i-t-this.padding),a<this.padding&&(a=this.padding),o=this.x,o+r+this.padding>s&&(o=s-r-this.padding),o<this.padding&&(o=this.padding);this.frame.style.left=o+"px",this.frame.style.top=a+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}hide(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}destroy(){this.frame.parentNode.removeChild(this.frame)}},Aa=!1,NP;const T_="background: #FFeeee; color: #dd0000";let Cre=class Ze{static validate(e,t,r){Aa=!1,NP=t;let i=t;return r!==void 0&&(i=t[r]),Ze.parse(e,i,[]),Aa}static parse(e,t,r){for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&Ze.check(i,e,t,r)}static check(e,t,r,i){if(r[e]===void 0&&r.__any__===void 0){Ze.getSuggestion(e,r,i);return}let s=e,o=!0;r[e]===void 0&&r.__any__!==void 0&&(s="__any__",o=Ze.getType(t[e])==="object");let a=r[s];o&&a.__type__!==void 0&&(a=a.__type__),Ze.checkFields(e,t,r,s,a,i)}static checkFields(e,t,r,i,s,o){const a=function(I){console.error("%c"+I+Ze.printLocation(o,e),T_)},g=Ze.getType(t[e]),A=s[g];A!==void 0?Ze.getType(A)==="array"&&A.indexOf(t[e])===-1?(a('Invalid option detected in "'+e+'". Allowed values are:'+Ze.print(A)+' not "'+t[e]+'". '),Aa=!0):g==="object"&&i!=="__any__"&&(o=RA(o,e),Ze.parse(t[e],r[i],o)):s.any===void 0&&(a('Invalid type received for "'+e+'". Expected: '+Ze.print(Object.keys(s))+". Received ["+g+'] "'+t[e]+'"'),Aa=!0)}static getType(e){const t=typeof e;return t==="object"?e===null?"null":e instanceof Boolean?"boolean":e instanceof Number?"number":e instanceof String?"string":Array.isArray(e)?"array":e instanceof Date?"date":e.nodeType!==void 0?"dom":e._isAMomentObject===!0?"moment":"object":t==="number"?"number":t==="boolean"?"boolean":t==="string"?"string":t===void 0?"undefined":t}static getSuggestion(e,t,r){const i=Ze.findInOptions(e,t,r,!1),s=Ze.findInOptions(e,NP,[],!0),o=8,a=4;let g;i.indexMatch!==void 0?g=" in "+Ze.printLocation(i.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+i.indexMatch+`"?
941
+
942
+ `:s.distance<=a&&i.distance>s.distance?g=" in "+Ze.printLocation(i.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+Ze.printLocation(s.path,s.closestMatch,""):i.distance<=o?g='. Did you mean "'+i.closestMatch+'"?'+Ze.printLocation(i.path,e):g=". Did you mean one of these: "+Ze.print(Object.keys(t))+Ze.printLocation(r,e),console.error('%cUnknown option detected: "'+e+'"'+g,T_),Aa=!0}static findInOptions(e,t,r,i=!1){let s=1e9,o="",a=[];const g=e.toLowerCase();let A;for(const I in t){let C;if(t[I].__type__!==void 0&&i===!0){const d=Ze.findInOptions(e,t[I],RA(r,I));s>d.distance&&(o=d.closestMatch,a=d.path,s=d.distance,A=d.indexMatch)}else I.toLowerCase().indexOf(g)!==-1&&(A=I),C=Ze.levenshteinDistance(e,I),s>C&&(o=I,a=tre(r),s=C)}return{closestMatch:o,path:a,distance:s,indexMatch:A}}static printLocation(e,t,r=`Problem value found at:
943
+ `){let i=`
944
+
945
+ `+r+`options = {
946
+ `;for(let s=0;s<e.length;s++){for(let o=0;o<s+1;o++)i+=" ";i+=e[s]+`: {
947
+ `}for(let s=0;s<e.length+1;s++)i+=" ";i+=t+`
948
+ `;for(let s=0;s<e.length+1;s++){for(let o=0;o<e.length-s;o++)i+=" ";i+=`}
949
+ `}return i+`
950
+
951
+ `}static print(e){return JSON.stringify(e).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}static levenshteinDistance(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;const r=[];let i;for(i=0;i<=t.length;i++)r[i]=[i];let s;for(s=0;s<=e.length;s++)r[0][s]=s;for(i=1;i<=t.length;i++)for(s=1;s<=e.length;s++)t.charAt(i-1)==e.charAt(s-1)?r[i][s]=r[i-1][s-1]:r[i][s]=Math.min(r[i-1][s-1]+1,Math.min(r[i][s-1]+1,r[i-1][s]+1));return r[t.length][e.length]}};const dre=Lr,lre=Are,ks=cO,ure=Ire,aX=T_,hre=Cre;var MP={},Id={},qP;function pO(){if(qP)return Id;qP=1;var n=Xe(),e=b6(),t=lr(),r=Xr(),i=Fr(),s=ag();return Id.f=n&&!e?Object.defineProperties:function(a,g){r(a);for(var A=i(g),I=s(g),C=I.length,d=0,l;C>d;)t.f(a,l=I[d++],A[l]);return a},Id}var Cd,FP;function cre(){if(FP)return Cd;FP=1;var n=rr();return Cd=n("document","documentElement"),Cd}var dd,kP;function iI(){if(kP)return dd;kP=1;var n=vo(),e=KA(),t=n("keys");return dd=function(r){return t[r]||(t[r]=e(r))},dd}var ld,BP;function lg(){if(BP)return ld;BP=1;var n=Xr(),e=pO(),t=aO(),r=og(),i=cre(),s=m6(),o=iI(),a=">",g="<",A="prototype",I="script",C=o("IE_PROTO"),d=function(){},l=function(c){return g+I+a+c+g+"/"+I+a},u=function(c){c.write(l("")),c.close();var b=c.parentWindow.Object;return c=null,b},h=function(){var c=s("iframe"),b="java"+I+":",p;return c.style.display="none",i.appendChild(c),c.src=String(b),p=c.contentWindow.document,p.open(),p.write(l("document.F=Object")),p.close(),p.F},v,f=function(){try{v=new ActiveXObject("htmlfile")}catch{}f=typeof document<"u"?document.domain&&v?u(v):h():u(v);for(var c=t.length;c--;)delete f[A][t[c]];return f()};return r[C]=!0,ld=Object.create||function(b,p){var y;return b!==null?(d[A]=n(b),y=new d,d[A]=null,y[C]=b):y=f(),p===void 0?y:e.f(y,p)},ld}var zP;function fre(){if(zP)return MP;zP=1;var n=ee(),e=Xe(),t=lg();return n({target:"Object",stat:!0,sham:!e},{create:t}),MP}var ud,jP;function pre(){if(jP)return ud;jP=1,fre();var n=Se(),e=n.Object;return ud=function(r,i){return e.create(r,i)},ud}var hd,LP;function vre(){if(LP)return hd;LP=1;var n=pre();return hd=n,hd}var cd,GP;function mre(){return GP||(GP=1,cd=vre()),cd}var yre=mre(),ba=ae(yre),WP={},fd,VP;function So(){if(VP)return fd;VP=1;var n=pe();return fd=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})},fd}var ZP;function bre(){if(ZP)return WP;ZP=1;var n=ee(),e=rO(),t=oO().indexOf,r=So(),i=e([].indexOf),s=!!i&&1/i([1],1,-0)<0,o=s||!r("indexOf");return n({target:"Array",proto:!0,forced:o},{indexOf:function(g){var A=arguments.length>1?arguments[1]:void 0;return s?i(this,g,A)||0:t(this,g,A)}}),WP}var pd,HP;function wre(){if(HP)return pd;HP=1,bre();var n=Pt();return pd=n("Array","indexOf"),pd}var vd,UP;function Ere(){if(UP)return vd;UP=1;var n=nt(),e=wre(),t=Array.prototype;return vd=function(r){var i=r.indexOf;return r===t||n(t,r)&&i===t.indexOf?e:i},vd}var md,KP;function Sre(){if(KP)return md;KP=1;var n=Ere();return md=n,md}var yd,YP;function _re(){return YP||(YP=1,yd=Sre()),yd}var Ore=_re(),je=ae(Ore),XP={},bd,QP;function vO(){return QP||(QP=1,bd=function(){}),bd}var JP;function Tre(){if(JP)return XP;JP=1;var n=ee(),e=oO().includes,t=pe(),r=vO(),i=t(function(){return!Array(1).includes()});return n({target:"Array",proto:!0,forced:i},{includes:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),r("includes"),XP}var wd,e2;function Rre(){if(e2)return wd;e2=1,Tre();var n=Pt();return wd=n("Array","includes"),wd}var t2={},Ed,r2;function Pre(){if(r2)return Ed;r2=1;var n=ut(),e=Yr(),t=st(),r=t("match");return Ed=function(i){var s;return n(i)&&((s=i[r])!==void 0?!!s:e(i)==="RegExp")},Ed}var Sd,i2;function xre(){if(i2)return Sd;i2=1;var n=Pre(),e=TypeError;return Sd=function(t){if(n(t))throw new e("The method doesn't accept regular expressions");return t},Sd}var _d,n2;function mO(){if(n2)return _d;n2=1;var n=st(),e=n("toStringTag"),t={};return t[e]="z",_d=String(t)==="[object z]",_d}var Od,s2;function _o(){if(s2)return Od;s2=1;var n=mO(),e=lt(),t=Yr(),r=st(),i=r("toStringTag"),s=Object,o=t((function(){return arguments})())==="Arguments",a=function(g,A){try{return g[A]}catch{}};return Od=n?t:function(g){var A,I,C;return g===void 0?"Undefined":g===null?"Null":typeof(I=a(A=s(g),i))=="string"?I:o?t(A):(C=t(A))==="Object"&&e(A.callee)?"Arguments":C},Od}var Td,o2;function hr(){if(o2)return Td;o2=1;var n=_o(),e=String;return Td=function(t){if(n(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(t)},Td}var Rd,a2;function $re(){if(a2)return Rd;a2=1;var n=st(),e=n("match");return Rd=function(t){var r=/./;try{"/./"[t](r)}catch{try{return r[e]=!1,"/./"[t](r)}catch{}}return!1},Rd}var g2;function Dre(){if(g2)return t2;g2=1;var n=ee(),e=ve(),t=xre(),r=li(),i=hr(),s=$re(),o=e("".indexOf);return n({target:"String",proto:!0,forced:!s("includes")},{includes:function(g){return!!~o(i(r(this)),i(t(g)),arguments.length>1?arguments[1]:void 0)}}),t2}var Pd,A2;function Nre(){if(A2)return Pd;A2=1,Dre();var n=Pt();return Pd=n("String","includes"),Pd}var xd,I2;function Mre(){if(I2)return xd;I2=1;var n=nt(),e=Rre(),t=Nre(),r=Array.prototype,i=String.prototype;return xd=function(s){var o=s.includes;return s===r||n(r,s)&&o===r.includes?e:typeof s=="string"||s===i||n(i,s)&&o===i.includes?t:o},xd}var $d,C2;function qre(){if(C2)return $d;C2=1;var n=Mre();return $d=n,$d}var Dd,d2;function Fre(){return d2||(d2=1,Dd=qre()),Dd}var kre=Fre(),wa=ae(kre),l2={},Nd,u2;function Zn(){if(u2)return Nd;u2=1;var n=Yr();return Nd=Array.isArray||function(t){return n(t)==="Array"},Nd}var Md,h2;function Bre(){if(h2)return Md;h2=1;var n=Xe(),e=Zn(),t=TypeError,r=Object.getOwnPropertyDescriptor,i=n&&!(function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(s){return s instanceof TypeError}})();return Md=i?function(s,o){if(e(s)&&!r(s,"length").writable)throw new t("Cannot set read only .length");return s.length=o}:function(s,o){return s.length=o},Md}var qd,c2;function gX(){if(c2)return qd;c2=1;var n=TypeError,e=9007199254740991;return qd=function(t){if(t>e)throw n("Maximum allowed index exceeded");return t},qd}var Fd,f2;function zre(){if(f2)return Fd;f2=1;var n=ve(),e=lt(),t=nO(),r=n(Function.toString);return e(t.inspectSource)||(t.inspectSource=function(i){return r(i)}),Fd=t.inspectSource,Fd}var kd,p2;function AX(){if(p2)return kd;p2=1;var n=ve(),e=pe(),t=lt(),r=_o(),i=rr(),s=zre(),o=function(){},a=i("Reflect","construct"),g=/^\s*(?:class|function)\b/,A=n(g.exec),I=!g.test(o),C=function(u){if(!t(u))return!1;try{return a(o,[],u),!0}catch{return!1}},d=function(u){if(!t(u))return!1;switch(r(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!A(g,s(u))}catch{return!0}};return d.sham=!0,kd=!a||e(function(){var l;return C(C.call)||!C(Object)||!C(function(){l=!0})||l})?d:C,kd}var Bd,v2;function jre(){if(v2)return Bd;v2=1;var n=Zn(),e=AX(),t=ut(),r=st(),i=r("species"),s=Array;return Bd=function(o){var a;return n(o)&&(a=o.constructor,e(a)&&(a===s||n(a.prototype))?a=void 0:t(a)&&(a=a[i],a===null&&(a=void 0))),a===void 0?s:a},Bd}var zd,m2;function yO(){if(m2)return zd;m2=1;var n=jre();return zd=function(e,t){return new(n(e))(t===0?0:t)},zd}var jd,y2;function nI(){if(y2)return jd;y2=1;var n=Xe(),e=lr(),t=ig();return jd=function(r,i,s){n?e.f(r,i,t(0,s)):r[i]=s},jd}var Ld,b2;function IX(){if(b2)return Ld;b2=1;var n=fo(),e=TypeError;return Ld=function(t,r){if(!delete t[r])throw new e("Cannot delete property "+n(r)+" of "+n(t))},Ld}var Gd,w2;function ug(){if(w2)return Gd;w2=1;var n=pe(),e=st(),t=ng(),r=e("species");return Gd=function(i){return t>=51||!n(function(){var s=[],o=s.constructor={};return o[r]=function(){return{foo:1}},s[i](Boolean).foo!==1})},Gd}var E2;function Lre(){if(E2)return l2;E2=1;var n=ee(),e=dr(),t=QA(),r=yo(),i=hi(),s=Bre(),o=gX(),a=yO(),g=nI(),A=IX(),I=ug(),C=I("splice"),d=Math.max,l=Math.min;return n({target:"Array",proto:!0,forced:!C},{splice:function(h,v){var f=e(this),c=i(f),b=t(h,c),p=arguments.length,y,E,S,m,w,_;for(p===0?y=E=0:p===1?(y=0,E=c-b):(y=p-2,E=l(d(r(v),0),c-b)),o(c+y-E),S=a(f,E),m=0;m<E;m++)w=b+m,w in f&&g(S,m,f[w]);if(S.length=E,y<E){for(m=b;m<c-E;m++)w=m+E,_=m+y,w in f?f[_]=f[w]:A(f,_);for(m=c;m>c-E+y;m--)A(f,m-1)}else if(y>E)for(m=c-E;m>b;m--)w=m+E-1,_=m+y-1,w in f?f[_]=f[w]:A(f,_);for(m=0;m<y;m++)f[m+b]=arguments[m+2];return s(f,c-E+y),S}}),l2}var Wd,S2;function Gre(){if(S2)return Wd;S2=1,Lre();var n=Pt();return Wd=n("Array","splice"),Wd}var Vd,_2;function Wre(){if(_2)return Vd;_2=1;var n=nt(),e=Gre(),t=Array.prototype;return Vd=function(r){var i=r.splice;return r===t||n(t,r)&&i===t.splice?e:i},Vd}var Zd,O2;function Vre(){if(O2)return Zd;O2=1;var n=Wre();return Zd=n,Zd}var Hd,T2;function Zre(){return T2||(T2=1,Hd=Vre()),Hd}var Hre=Zre(),Gi=ae(Hre),R2={},P2;function Ure(){if(P2)return R2;P2=1;var n=ee(),e=Zn();return n({target:"Array",stat:!0},{isArray:e}),R2}var Ud,x2;function Kre(){if(x2)return Ud;x2=1,Ure();var n=Se();return Ud=n.Array.isArray,Ud}var Kd,$2;function Yre(){if($2)return Kd;$2=1;var n=Kre();return Kd=n,Kd}var Yd,D2;function Xre(){return D2||(D2=1,Yd=Yre()),Yd}var Qre=Xre(),$r=ae(Qre),N2={},Xd,M2;function rn(){if(M2)return Xd;M2=1;var n=XA(),e=ve(),t=UA(),r=dr(),i=hi(),s=yO(),o=e([].push),a=function(g){var A=g===1,I=g===2,C=g===3,d=g===4,l=g===6,u=g===7,h=g===5||l;return function(v,f,c,b){for(var p=r(v),y=t(p),E=i(y),S=n(f,c),m=0,w=b||s,_=A?w(v,E):I||u?w(v,0):void 0,T,R;E>m;m++)if((h||m in y)&&(T=y[m],R=S(T,m,p),g))if(A)_[m]=R;else if(R)switch(g){case 3:return!0;case 5:return T;case 6:return m;case 2:o(_,T)}else switch(g){case 4:return!1;case 7:o(_,T)}return l?-1:C||d?d:_}};return Xd={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},Xd}var Qd,q2;function Jre(){if(q2)return Qd;q2=1;var n=rn().forEach,e=So(),t=e("forEach");return Qd=t?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)},Qd}var F2;function eie(){if(F2)return N2;F2=1;var n=ee(),e=Jre();return n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e}),N2}var Jd,k2;function tie(){if(k2)return Jd;k2=1,eie();var n=Pt();return Jd=n("Array","forEach"),Jd}var el,B2;function rie(){if(B2)return el;B2=1;var n=tie();return el=n,el}var tl,z2;function iie(){if(z2)return tl;z2=1;var n=_o(),e=Rt(),t=nt(),r=rie(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return tl=function(o){var a=o.forEach;return o===i||t(i,o)&&a===i.forEach||e(s,n(o))?r:a},tl}var rl,j2;function nie(){return j2||(j2=1,rl=iie()),rl}var sie=nie(),Ne=ae(sie);function oie(n){return Bi=n,Iie()}var CX={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},bO=ba(CX);bO.color="color.color";bO.style="dashes";var Dt={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},L2={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},Bi="",eo=0,Ie="",re="",Wt=Dt.NULL;function aie(){eo=0,Ie=Bi.charAt(0)}function Ct(){eo++,Ie=Bi.charAt(eo)}function ms(){return Bi.charAt(eo+1)}function G2(n){var e=n.charCodeAt(0);return e<47?e===35||e===46:e<59?e>47:e<91?e>64:e<96?e===95:e<123?e>96:!1}function Yi(n,e){if(n||(n={}),e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function gie(n,e,t){for(var r=e.split("."),i=n;r.length;){var s=r.shift();r.length?(i[s]||(i[s]={}),i=i[s]):i[s]=t}}function dX(n,e){for(var t,r,i=null,s=[n],o=n;o.parent;)s.push(o.parent),o=o.parent;if(o.nodes){for(t=0,r=o.nodes.length;t<r;t++)if(e.id===o.nodes[t].id){i=o.nodes[t];break}}for(i||(i={id:e.id},n.node&&(i.attr=Yi(i.attr,n.node))),t=s.length-1;t>=0;t--){var a,g=s[t];g.nodes||(g.nodes=[]),je(a=g.nodes).call(a,i)===-1&&g.nodes.push(i)}e.attr&&(i.attr=Yi(i.attr,e.attr))}function Aie(n,e){if(n.edges||(n.edges=[]),n.edges.push(e),n.edge){var t=Yi({},n.edge);e.attr=Yi(t,e.attr)}}function lX(n,e,t,r,i){var s={from:e,to:t,type:r};return n.edge&&(s.attr=Yi({},n.edge)),s.attr=Yi(s.attr||{},i),i!=null&&i.hasOwnProperty("arrows")&&i.arrows!=null&&(s.arrows={to:{enabled:!0,type:i.arrows.type}},i.arrows=null),s}function $e(){for(Wt=Dt.NULL,re="";Ie===" "||Ie===" "||Ie===`
952
+ `||Ie==="\r";)Ct();do{var n=!1;if(Ie==="#"){for(var e=eo-1;Bi.charAt(e)===" "||Bi.charAt(e)===" ";)e--;if(Bi.charAt(e)===`
953
+ `||Bi.charAt(e)===""){for(;Ie!=""&&Ie!=`
954
+ `;)Ct();n=!0}}if(Ie==="/"&&ms()==="/"){for(;Ie!=""&&Ie!=`
955
+ `;)Ct();n=!0}if(Ie==="/"&&ms()==="*"){for(;Ie!="";)if(Ie==="*"&&ms()==="/"){Ct(),Ct();break}else Ct();n=!0}for(;Ie===" "||Ie===" "||Ie===`
956
+ `||Ie==="\r";)Ct()}while(n);if(Ie===""){Wt=Dt.DELIMITER;return}var t=Ie+ms();if(L2[t]){Wt=Dt.DELIMITER,re=t,Ct(),Ct();return}if(L2[Ie]){Wt=Dt.DELIMITER,re=Ie,Ct();return}if(G2(Ie)||Ie==="-"){for(re+=Ie,Ct();G2(Ie);)re+=Ie,Ct();re==="false"?re=!1:re==="true"?re=!0:isNaN(Number(re))||(re=Number(re)),Wt=Dt.IDENTIFIER;return}if(Ie==='"'){for(Ct();Ie!=""&&(Ie!='"'||Ie==='"'&&ms()==='"');)Ie==='"'?(re+=Ie,Ct()):Ie==="\\"&&ms()==="n"?(re+=`
957
+ `,Ct()):re+=Ie,Ct();if(Ie!='"')throw Nt('End of string " expected');Ct(),Wt=Dt.IDENTIFIER;return}for(Wt=Dt.UNKNOWN;Ie!="";)re+=Ie,Ct();throw new SyntaxError('Syntax error in part "'+fX(re,30)+'"')}function Iie(){var n={};if(aie(),$e(),re==="strict"&&(n.strict=!0,$e()),(re==="graph"||re==="digraph")&&(n.type=re,$e()),Wt===Dt.IDENTIFIER&&(n.id=re,$e()),re!="{")throw Nt("Angle bracket { expected");if($e(),uX(n),re!="}")throw Nt("Angle bracket } expected");if($e(),re!=="")throw Nt("End of file expected");return $e(),delete n.node,delete n.edge,delete n.graph,n}function uX(n){for(;re!==""&&re!="}";)Cie(n),re===";"&&$e()}function Cie(n){var e=hX(n);if(e){cX(n,e);return}var t=die(n);if(!t){if(Wt!=Dt.IDENTIFIER)throw Nt("Identifier expected");var r=re;if($e(),re==="="){if($e(),Wt!=Dt.IDENTIFIER)throw Nt("Identifier expected");n[r]=re,$e()}else lie(n,r)}}function hX(n){var e=null;if(re==="subgraph"&&(e={},e.type="subgraph",$e(),Wt===Dt.IDENTIFIER&&(e.id=re,$e())),re==="{"){if($e(),e||(e={}),e.parent=n,e.node=n.node,e.edge=n.edge,e.graph=n.graph,uX(e),re!="}")throw Nt("Angle bracket } expected");$e(),delete e.node,delete e.edge,delete e.graph,delete e.parent,n.subgraphs||(n.subgraphs=[]),n.subgraphs.push(e)}return e}function die(n){return re==="node"?($e(),n.node=Ea(),"node"):re==="edge"?($e(),n.edge=Ea(),"edge"):re==="graph"?($e(),n.graph=Ea(),"graph"):null}function lie(n,e){var t={id:e},r=Ea();r&&(t.attr=r),dX(n,t),cX(n,e)}function cX(n,e){for(;re==="->"||re==="--";){var t,r=re;$e();var i=hX(n);if(i)t=i;else{if(Wt!=Dt.IDENTIFIER)throw Nt("Identifier or subgraph expected");t=re,dX(n,{id:t}),$e()}var s=Ea(),o=lX(n,e,t,r,s);Aie(n,o),e=t}}function Ea(){for(var n,e=null,t={dashed:!0,solid:!1,dotted:[1,5]},r={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},i=new Array,s=new Array;re==="[";){for($e(),e={};re!==""&&re!="]";){if(Wt!=Dt.IDENTIFIER)throw Nt("Attribute name expected");var o=re;if($e(),re!="=")throw Nt("Equal sign = expected");if($e(),Wt!=Dt.IDENTIFIER)throw Nt("Attribute value expected");var a=re;o==="style"&&(a=t[a]);var g;o==="arrowhead"&&(g=r[a],o="arrows",a={to:{enabled:!0,type:g}}),o==="arrowtail"&&(g=r[a],o="arrows",a={from:{enabled:!0,type:g}}),i.push({attr:e,name:o,value:a}),s.push(o),$e(),re==","&&$e()}if(re!="]")throw Nt("Bracket ] expected");$e()}if(wa(s).call(s,"dir")){var A={};for(A.arrows={},n=0;n<i.length;n++)if(i[n].name==="arrows")if(i[n].value.to!=null)A.arrows.to=n;else if(i[n].value.from!=null)A.arrows.from=n;else throw Nt("Invalid value of arrows");else i[n].name==="dir"&&(A.dir=n);var I=i[A.dir].value;if(!wa(s).call(s,"arrows"))if(I==="both")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1,i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="forward")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1;else if(I==="back")i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="none")i.push({attr:i[A.dir].attr,name:"arrows",value:""}),A.arrows.to=i.length-1;else throw Nt('Invalid dir type "'+I+'"');var C,d;if(I==="both")A.arrows.to&&A.arrows.from?(d=i[A.arrows.to].value.to.type,C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}},Gi(i).call(i,A.arrows.from,1)):A.arrows.to?(d=i[A.arrows.to].value.to.type,C="arrow",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.from&&(d="arrow",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}});else if(I==="back")A.arrows.to&&A.arrows.from?(d="",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.to?(d="",C="arrow",A.arrows.from=A.arrows.to,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.from&&(d="",C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}),i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{from:{enabled:!0,type:i[A.arrows.from].value.from.type}}};else if(I==="none"){var l;A.arrows.to?l=A.arrows.to:l=A.arrows.from,i[l]={attr:i[l].attr,name:i[l].name,value:""}}else if(I==="forward")A.arrows.to&&A.arrows.from?(d=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.to?(d=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.from&&(d="arrow",C="",A.arrows.to=A.arrows.from,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}),i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:i[A.arrows.to].value.to.type}}};else throw Nt('Invalid dir type "'+I+'"');Gi(i).call(i,A.dir,1)}var u;if(wa(s).call(s,"penwidth")){var h=[];for(u=i.length,n=0;n<u;n++)i[n].name!=="width"&&(i[n].name==="penwidth"&&(i[n].name="width"),h.push(i[n]));i=h}for(u=i.length,n=0;n<u;n++)gie(i[n].attr,i[n].name,i[n].value);return e}function Nt(n){return new SyntaxError(n+', got "'+fX(re,30)+'" (char '+eo+")")}function fX(n,e){return n.length<=e?n:n.substr(0,27)+"..."}function uie(n,e,t){$r(n)?Ne(n).call(n,function(r){$r(e)?Ne(e).call(e,function(i){t(r,i)}):t(r,e)}):$r(e)?Ne(e).call(e,function(r){t(n,r)}):t(n,e)}function il(n,e,t){for(var r=e.split("."),i=r.pop(),s=n,o=0;o<r.length;o++){var a=r[o];a in s||(s[a]={}),s=s[a]}return s[i]=t,n}function W2(n,e){var t={};for(var r in n)if(n.hasOwnProperty(r)){var i=e[r];$r(i)?Ne(i).call(i,function(s){il(t,s,n[r])}):typeof i=="string"?il(t,i,n[r]):il(t,r,n[r])}return t}function hie(n){var e=oie(n),t={nodes:[],edges:[],options:{}};if(e.nodes){var r;Ne(r=e.nodes).call(r,function(o){var a={id:o.id,label:String(o.label||o.id)};Yi(a,W2(o.attr,CX)),a.image&&(a.shape="image"),t.nodes.push(a)})}if(e.edges){var i,s=function(o){var a={from:o.from,to:o.to};return Yi(a,W2(o.attr,bO)),a.arrows==null&&o.type==="->"&&(a.arrows="to"),a};Ne(i=e.edges).call(i,function(o){var a,g;if(o.from instanceof Object?a=o.from.nodes:a={id:o.from},o.to instanceof Object?g=o.to.nodes:g={id:o.to},o.from instanceof Object&&o.from.edges){var A;Ne(A=o.from.edges).call(A,function(C){var d=s(C);t.edges.push(d)})}if(uie(a,g,function(C,d){var l=lX(t,C.id,d.id,o.type,o.attr),u=s(l);t.edges.push(u)}),o.to instanceof Object&&o.to.edges){var I;Ne(I=o.to.edges).call(I,function(C){var d=s(C);t.edges.push(d)})}})}return e.attr&&(t.options=e.attr),t}var V2={},Z2;function cie(){if(Z2)return V2;Z2=1;var n=ee(),e=rn().map,t=ug(),r=t("map");return n({target:"Array",proto:!0,forced:!r},{map:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),V2}var nl,H2;function fie(){if(H2)return nl;H2=1,cie();var n=Pt();return nl=n("Array","map"),nl}var sl,U2;function pie(){if(U2)return sl;U2=1;var n=nt(),e=fie(),t=Array.prototype;return sl=function(r){var i=r.map;return r===t||n(t,r)&&i===t.map?e:i},sl}var ol,K2;function vie(){if(K2)return ol;K2=1;var n=pie();return ol=n,ol}var al,Y2;function mie(){return Y2||(Y2=1,al=vie()),al}var yie=mie(),ja=ae(yie);function bie(n,e){var t;const r={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};e!=null&&(e.fixed!=null&&(r.nodes.fixed=e.fixed),e.parseColor!=null&&(r.nodes.parseColor=e.parseColor),e.inheritColor!=null&&(r.edges.inheritColor=e.inheritColor));const i=n.edges,s=ja(i).call(i,a=>{const g={from:a.source,id:a.id,to:a.target};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.type==="Directed"&&(g.arrows="to"),a.color&&r.edges.inheritColor===!1&&(g.color=a.color),g});return{nodes:ja(t=n.nodes).call(t,a=>{const g={id:a.id,fixed:r.nodes.fixed&&a.x!=null&&a.y!=null};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.size!=null&&(g.size=a.size),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.title!=null&&(g.title=a.title),a.x!=null&&(g.x=a.x),a.y!=null&&(g.y=a.y),a.color!=null&&(r.nodes.parseColor===!0?g.color=a.color:g.color={background:a.color,border:a.color,highlight:{background:a.color,border:a.color},hover:{background:a.color,border:a.color}}),g}),edges:s}}const wie={addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},Eie={addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},Sie={addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},_ie={addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},Oie={addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},Tie={addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},Rie={addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},Pie={addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},xie={addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"},$ie={addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},Die={addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"};var Nie=Object.freeze({__proto__:null,cn:Pie,cs:Die,de:Eie,en:wie,es:Sie,fr:$ie,it:_ie,nl:Oie,pt:Tie,ru:Rie,uk:xie}),X2={},Q2;function pX(){if(Q2)return X2;Q2=1;var n=ee(),e=pe(),t=Zn(),r=ut(),i=dr(),s=hi(),o=gX(),a=nI(),g=yO(),A=ug(),I=st(),C=ng(),d=I("isConcatSpreadable"),l=C>=51||!e(function(){var v=[];return v[d]=!1,v.concat()[0]!==v}),u=function(v){if(!r(v))return!1;var f=v[d];return f!==void 0?!!f:t(v)},h=!l||!A("concat");return n({target:"Array",proto:!0,arity:1,forced:h},{concat:function(f){var c=i(this),b=g(c,0),p=0,y,E,S,m,w;for(y=-1,S=arguments.length;y<S;y++)if(w=y===-1?c:arguments[y],u(w))for(m=s(w),o(p+m),E=0;E<m;E++,p++)E in w&&a(b,p,w[E]);else o(p+1),a(b,p++,w);return b.length=p,b}}),X2}var gl,J2;function Mie(){if(J2)return gl;J2=1,pX();var n=Pt();return gl=n("Array","concat"),gl}var Al,ex;function qie(){if(ex)return Al;ex=1;var n=nt(),e=Mie(),t=Array.prototype;return Al=function(r){var i=r.concat;return r===t||n(t,r)&&i===t.concat?e:i},Al}var Il,tx;function Fie(){if(tx)return Il;tx=1;var n=qie();return Il=n,Il}var Cl,rx;function kie(){return rx||(rx=1,Cl=Fie()),Cl}var Bie=kie(),zie=ae(Bie);function jie(n,e){try{const[r,i]=e.split(/[-_ /]/,2),s=r!=null?r.toLowerCase():null,o=i!=null?i.toUpperCase():null;if(s&&o){const a=s+"-"+o;if(Object.prototype.hasOwnProperty.call(n,a))return a;var t;console.warn(zie(t="Unknown variant ".concat(o," of language ")).call(t,s,"."))}if(s){const a=s;if(Object.prototype.hasOwnProperty.call(n,a))return a;console.warn("Unknown language ".concat(s))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(r){return console.error(r),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}let Lie=class{constructor(){this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}init(){if(this.initialized())return;this.src=this.image.src;const e=this.image.width,t=this.image.height;this.width=e,this.height=t;const r=Math.floor(t/2),i=Math.floor(t/4),s=Math.floor(t/8),o=Math.floor(t/16),a=Math.floor(e/2),g=Math.floor(e/4),A=Math.floor(e/8),I=Math.floor(e/16);this.canvas.width=3*g,this.canvas.height=r,this.coordinates=[[0,0,a,r],[a,0,g,i],[a,i,A,s],[5*A,i,I,o]],this._fillMipMap()}initialized(){return this.coordinates!==void 0}_fillMipMap(){const e=this.canvas.getContext("2d"),t=this.coordinates[0];e.drawImage(this.image,t[0],t[1],t[2],t[3]);for(let r=1;r<this.NUM_ITERATIONS;r++){const i=this.coordinates[r-1],s=this.coordinates[r];e.drawImage(this.canvas,i[0],i[1],i[2],i[3],s[0],s[1],s[2],s[3])}}drawImageAtPosition(e,t,r,i,s,o){if(this.initialized())if(t>2){t*=.5;let a=0;for(;t>2&&a<this.NUM_ITERATIONS;)t*=.5,a+=1;a>=this.NUM_ITERATIONS&&(a=this.NUM_ITERATIONS-1);const g=this.coordinates[a];e.drawImage(this.canvas,g[0],g[1],g[2],g[3],r,i,s,o)}else e.drawImage(this.image,r,i,s,o)}},Gie=class{constructor(e){this.images={},this.imageBroken={},this.callback=e}_tryloadBrokenUrl(e,t,r){if(!(e===void 0||r===void 0)){if(t===void 0){console.warn("No broken url image defined");return}r.image.onerror=()=>{console.error("Could not load brokenImage:",t)},r.image.src=t}}_redrawWithImage(e){this.callback&&this.callback(e)}load(e,t){const r=this.images[e];if(r)return r;const i=new Lie;return this.images[e]=i,i.image.onload=()=>{this._fixImageCoordinates(i.image),i.init(),this._redrawWithImage(i)},i.image.onerror=()=>{console.error("Could not load image:",e),this._tryloadBrokenUrl(e,t,i)},i.image.src=e,i}_fixImageCoordinates(e){e.width===0&&(document.body.appendChild(e),e.width=e.offsetWidth,e.height=e.offsetHeight,document.body.removeChild(e))}};var dl,ix;function Oo(){return ix||(ix=1,dl={}),dl}var ll,nx;function vX(){if(nx)return ll;nx=1;var n=Fe(),e=lt(),t=n.WeakMap;return ll=e(t)&&/native code/.test(String(t)),ll}var ul,sx;function Hn(){if(sx)return ul;sx=1;var n=vX(),e=Fe(),t=ut(),r=mo(),i=Rt(),s=nO(),o=iI(),a=og(),g="Object already initialized",A=e.TypeError,I=e.WeakMap,C,d,l,u=function(c){return l(c)?d(c):C(c,{})},h=function(c){return function(b){var p;if(!t(b)||(p=d(b)).type!==c)throw new A("Incompatible receiver, "+c+" required");return p}};if(n||s.state){var v=s.state||(s.state=new I);v.get=v.get,v.has=v.has,v.set=v.set,C=function(c,b){if(v.has(c))throw new A(g);return b.facade=c,v.set(c,b),b},d=function(c){return v.get(c)||{}},l=function(c){return v.has(c)}}else{var f=o("state");a[f]=!0,C=function(c,b){if(i(c,f))throw new A(g);return b.facade=c,r(c,f,b),b},d=function(c){return i(c,f)?c[f]:{}},l=function(c){return i(c,f)}}return ul={set:C,get:d,has:l,enforce:u,getterFor:h},ul}var hl,ox;function Wie(){if(ox)return hl;ox=1;var n=Xe(),e=Rt(),t=Function.prototype,r=n&&Object.getOwnPropertyDescriptor,i=e(t,"name"),s=i&&(function(){}).name==="something",o=i&&(!n||n&&r(t,"name").configurable);return hl={EXISTS:i,PROPER:s,CONFIGURABLE:o},hl}var cl,ax;function Vie(){if(ax)return cl;ax=1;var n=pe();return cl=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),cl}var fl,gx;function wO(){if(gx)return fl;gx=1;var n=Rt(),e=lt(),t=dr(),r=iI(),i=Vie(),s=r("IE_PROTO"),o=Object,a=o.prototype;return fl=i?o.getPrototypeOf:function(g){var A=t(g);if(n(A,s))return A[s];var I=A.constructor;return e(I)&&A instanceof I?I.prototype:A instanceof o?a:null},fl}var pl,Ax;function hg(){if(Ax)return pl;Ax=1;var n=mo();return pl=function(e,t,r,i){return i&&i.enumerable?e[t]=r:n(e,t,r),e},pl}var vl,Ix;function mX(){if(Ix)return vl;Ix=1;var n=pe(),e=lt(),t=ut(),r=lg(),i=wO(),s=hg(),o=st(),a=po(),g=o("iterator"),A=!1,I,C,d;[].keys&&(d=[].keys(),"next"in d?(C=i(i(d)),C!==Object.prototype&&(I=C)):A=!0);var l=!t(I)||n(function(){var u={};return I[g].call(u)!==u});return l?I={}:a&&(I=r(I)),e(I[g])||s(I,g,function(){return this}),vl={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:A},vl}var ml,Cx;function Zie(){if(Cx)return ml;Cx=1;var n=mO(),e=_o();return ml=n?{}.toString:function(){return"[object "+e(this)+"]"},ml}var yl,dx;function Un(){if(dx)return yl;dx=1;var n=mO(),e=lr().f,t=mo(),r=Rt(),i=Zie(),s=st(),o=s("toStringTag");return yl=function(a,g,A,I){var C=A?a:a&&a.prototype;C&&(r(C,o)||e(C,o,{configurable:!0,value:g}),I&&!n&&t(C,"toString",i))},yl}var bl,lx;function Hie(){if(lx)return bl;lx=1;var n=mX().IteratorPrototype,e=lg(),t=ig(),r=Un(),i=Oo(),s=function(){return this};return bl=function(o,a,g,A){var I=a+" Iterator";return o.prototype=e(n,{next:t(+!A,g)}),r(o,I,!1,!0),i[I]=s,o},bl}var wl,ux;function Uie(){if(ux)return wl;ux=1;var n=ve(),e=ui();return wl=function(t,r,i){try{return n(e(Object.getOwnPropertyDescriptor(t,r)[i]))}catch{}},wl}var El,hx;function Kie(){if(hx)return El;hx=1;var n=ut();return El=function(e){return n(e)||e===null},El}var Sl,cx;function Yie(){if(cx)return Sl;cx=1;var n=Kie(),e=String,t=TypeError;return Sl=function(r){if(n(r))return r;throw new t("Can't set "+e(r)+" as a prototype")},Sl}var _l,fx;function Xie(){if(fx)return _l;fx=1;var n=Uie(),e=ut(),t=li(),r=Yie();return _l=Object.setPrototypeOf||("__proto__"in{}?(function(){var i=!1,s={},o;try{o=n(Object.prototype,"__proto__","set"),o(s,[]),i=s instanceof Array}catch{}return function(g,A){return t(g),r(A),e(g)&&(i?o(g,A):g.__proto__=A),g}})():void 0),_l}var Ol,px;function EO(){if(px)return Ol;px=1;var n=ee(),e=Yt(),t=po(),r=Wie(),i=lt(),s=Hie(),o=wO(),a=Xie(),g=Un(),A=mo(),I=hg(),C=st(),d=Oo(),l=mX(),u=r.PROPER,h=r.CONFIGURABLE,v=l.IteratorPrototype,f=l.BUGGY_SAFARI_ITERATORS,c=C("iterator"),b="keys",p="values",y="entries",E=function(){return this};return Ol=function(S,m,w,_,T,R,O){s(w,m,_);var P=function(fe){if(fe===T&&K)return K;if(!f&&fe&&fe in M)return M[fe];switch(fe){case b:return function(){return new w(this,fe)};case p:return function(){return new w(this,fe)};case y:return function(){return new w(this,fe)}}return function(){return new w(this)}},x=m+" Iterator",V=!1,M=S.prototype,U=M[c]||M["@@iterator"]||T&&M[T],K=!f&&U||P(T),ne=m==="Array"&&M.entries||U,L,se,he;if(ne&&(L=o(ne.call(new S)),L!==Object.prototype&&L.next&&(!t&&o(L)!==v&&(a?a(L,v):i(L[c])||I(L,c,E)),g(L,x,!0,!0),t&&(d[x]=E))),u&&T===p&&U&&U.name!==p&&(!t&&h?A(M,"name",p):(V=!0,K=function(){return e(U,this)})),T)if(se={values:P(p),keys:R?K:P(b),entries:P(y)},O)for(he in se)(f||V||!(he in M))&&I(M,he,se[he]);else n({target:m,proto:!0,forced:f||V},se);return(!t||O)&&M[c]!==K&&I(M,c,K,{name:T}),d[m]=K,se},Ol}var Tl,vx;function SO(){return vx||(vx=1,Tl=function(n,e){return{value:n,done:e}}),Tl}var Rl,mx;function To(){if(mx)return Rl;mx=1;var n=Fr(),e=vO(),t=Oo(),r=Hn(),i=lr().f,s=EO(),o=SO(),a=po(),g=Xe(),A="Array Iterator",I=r.set,C=r.getterFor(A);Rl=s(Array,"Array",function(l,u){I(this,{type:A,target:n(l),index:0,kind:u})},function(){var l=C(this),u=l.target,h=l.index++;if(!u||h>=u.length)return l.target=null,o(void 0,!0);switch(l.kind){case"keys":return o(h,!1);case"values":return o(u[h],!1)}return o([h,u[h]],!1)},"values");var d=t.Arguments=t.Array;if(e("keys"),e("values"),e("entries"),!a&&g&&d.name!=="values")try{i(d,"name",{value:"values"})}catch{}return Rl}var yx={},bx={},Pl={exports:{}},xl={},wx;function sI(){if(wx)return xl;wx=1;var n=E6(),e=aO(),t=e.concat("length","prototype");return xl.f=Object.getOwnPropertyNames||function(i){return n(i,t)},xl}var $l={},Ex;function _O(){if(Ex)return $l;Ex=1;var n=Yr(),e=Fr(),t=sI().f,r=bo(),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(o){try{return t(o)}catch{return r(i)}};return $l.f=function(a){return i&&n(a)==="Window"?s(a):t(e(a))},$l}var Dl,Sx;function Qie(){if(Sx)return Dl;Sx=1;var n=pe();return Dl=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),Dl}var Nl,_x;function Jie(){if(_x)return Nl;_x=1;var n=pe(),e=ut(),t=Yr(),r=Qie(),i=Object.isExtensible,s=n(function(){});return Nl=s||r?function(a){return!e(a)||r&&t(a)==="ArrayBuffer"?!1:i?i(a):!0}:i,Nl}var Ml,Ox;function yX(){if(Ox)return Ml;Ox=1;var n=pe();return Ml=!n(function(){return Object.isExtensible(Object.preventExtensions({}))}),Ml}var Tx;function oI(){if(Tx)return Pl.exports;Tx=1;var n=ee(),e=ve(),t=og(),r=ut(),i=Rt(),s=lr().f,o=sI(),a=_O(),g=Jie(),A=KA(),I=yX(),C=!1,d=A("meta"),l=0,u=function(p){s(p,d,{value:{objectID:"O"+l++,weakData:{}}})},h=function(p,y){if(!r(p))return typeof p=="symbol"?p:(typeof p=="string"?"S":"P")+p;if(!i(p,d)){if(!g(p))return"F";if(!y)return"E";u(p)}return p[d].objectID},v=function(p,y){if(!i(p,d)){if(!g(p))return!0;if(!y)return!1;u(p)}return p[d].weakData},f=function(p){return I&&C&&g(p)&&!i(p,d)&&u(p),p},c=function(){b.enable=function(){},C=!0;var p=o.f,y=e([].splice),E={};E[d]=1,p(E).length&&(o.f=function(S){for(var m=p(S),w=0,_=m.length;w<_;w++)if(m[w]===d){y(m,w,1);break}return m},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:a.f}))},b=Pl.exports={enable:c,fastKey:h,getWeakData:v,onFreeze:f};return t[d]=!0,Pl.exports}var ql,Rx;function ene(){if(Rx)return ql;Rx=1;var n=st(),e=Oo(),t=n("iterator"),r=Array.prototype;return ql=function(i){return i!==void 0&&(e.Array===i||r[t]===i)},ql}var Fl,Px;function bX(){if(Px)return Fl;Px=1;var n=_o(),e=iO(),t=uo(),r=Oo(),i=st(),s=i("iterator");return Fl=function(o){if(!t(o))return e(o,s)||e(o,"@@iterator")||r[n(o)]},Fl}var kl,xx;function tne(){if(xx)return kl;xx=1;var n=Yt(),e=ui(),t=Xr(),r=fo(),i=bX(),s=TypeError;return kl=function(o,a){var g=arguments.length<2?i(o):a;if(e(g))return t(n(g,o));throw new s(r(o)+" is not iterable")},kl}var Bl,$x;function OO(){if($x)return Bl;$x=1;var n=Yt(),e=Xr(),t=iO();return Bl=function(r,i,s){var o,a;e(r);try{if(o=t(r,"return"),!o){if(i==="throw")throw s;return s}o=n(o,r)}catch(g){a=!0,o=g}if(i==="throw")throw s;if(a)throw o;return e(o),s},Bl}var zl,Dx;function aI(){if(Dx)return zl;Dx=1;var n=XA(),e=Yt(),t=Xr(),r=fo(),i=ene(),s=hi(),o=nt(),a=tne(),g=bX(),A=OO(),I=TypeError,C=function(l,u){this.stopped=l,this.result=u},d=C.prototype;return zl=function(l,u,h){var v=h&&h.that,f=!!(h&&h.AS_ENTRIES),c=!!(h&&h.IS_RECORD),b=!!(h&&h.IS_ITERATOR),p=!!(h&&h.INTERRUPTED),y=n(u,v),E,S,m,w,_,T,R,O=function(x){return E&&A(E,"normal"),new C(!0,x)},P=function(x){return f?(t(x),p?y(x[0],x[1],O):y(x[0],x[1])):p?y(x,O):y(x)};if(c)E=l.iterator;else if(b)E=l;else{if(S=g(l),!S)throw new I(r(l)+" is not iterable");if(i(S)){for(m=0,w=s(l);w>m;m++)if(_=P(l[m]),_&&o(d,_))return _;return new C(!1)}E=a(l,S)}for(T=c?l.next:E.next;!(R=e(T,E)).done;){try{_=P(R.value)}catch(x){A(E,"throw",x)}if(typeof _=="object"&&_&&o(d,_))return _}return new C(!1)},zl}var jl,Nx;function TO(){if(Nx)return jl;Nx=1;var n=nt(),e=TypeError;return jl=function(t,r){if(n(r,t))return t;throw new e("Incorrect invocation")},jl}var Ll,Mx;function RO(){if(Mx)return Ll;Mx=1;var n=ee(),e=Fe(),t=oI(),r=pe(),i=mo(),s=aI(),o=TO(),a=lt(),g=ut(),A=uo(),I=Un(),C=lr().f,d=rn().forEach,l=Xe(),u=Hn(),h=u.set,v=u.getterFor;return Ll=function(f,c,b){var p=f.indexOf("Map")!==-1,y=f.indexOf("Weak")!==-1,E=p?"set":"add",S=e[f],m=S&&S.prototype,w={},_;if(!l||!a(S)||!(y||m.forEach&&!r(function(){new S().entries().next()})))_=b.getConstructor(c,f,p,E),t.enable();else{_=c(function(O,P){h(o(O,T),{type:f,collection:new S}),A(P)||s(P,O[E],{that:O,AS_ENTRIES:p})});var T=_.prototype,R=v(f);d(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(O){var P=O==="add"||O==="set";O in m&&!(y&&O==="clear")&&i(T,O,function(x,V){var M=R(this).collection;if(!P&&y&&!g(x))return O==="get"?void 0:!1;var U=M[O](x===0?0:x,V);return P?this:U})}),y||C(T,"size",{configurable:!0,get:function(){return R(this).collection.size}})}return I(_,f,!1,!0),w[f]=_,n({global:!0,forced:!0},w),y||b.setStrong(_,f,p),_},Ll}var Gl,qx;function PO(){if(qx)return Gl;qx=1;var n=lr();return Gl=function(e,t,r){return n.f(e,t,r)},Gl}var Wl,Fx;function xO(){if(Fx)return Wl;Fx=1;var n=hg();return Wl=function(e,t,r){for(var i in t)r&&r.unsafe&&e[i]?e[i]=t[i]:n(e,i,t[i],r);return e},Wl}var Vl,kx;function rne(){if(kx)return Vl;kx=1;var n=rr(),e=PO(),t=st(),r=Xe(),i=t("species");return Vl=function(s){var o=n(s);r&&o&&!o[i]&&e(o,i,{configurable:!0,get:function(){return this}})},Vl}var Zl,Bx;function wX(){if(Bx)return Zl;Bx=1;var n=lg(),e=PO(),t=xO(),r=XA(),i=TO(),s=uo(),o=aI(),a=EO(),g=SO(),A=rne(),I=Xe(),C=oI().fastKey,d=Hn(),l=d.set,u=d.getterFor;return Zl={getConstructor:function(h,v,f,c){var b=h(function(m,w){i(m,p),l(m,{type:v,index:n(null),first:null,last:null,size:0}),I||(m.size=0),s(w)||o(w,m[c],{that:m,AS_ENTRIES:f})}),p=b.prototype,y=u(v),E=function(m,w,_){var T=y(m),R=S(m,w),O,P;return R?R.value=_:(T.last=R={index:P=C(w,!0),key:w,value:_,previous:O=T.last,next:null,removed:!1},T.first||(T.first=R),O&&(O.next=R),I?T.size++:m.size++,P!=="F"&&(T.index[P]=R)),m},S=function(m,w){var _=y(m),T=C(w),R;if(T!=="F")return _.index[T];for(R=_.first;R;R=R.next)if(R.key===w)return R};return t(p,{clear:function(){for(var w=this,_=y(w),T=_.first;T;)T.removed=!0,T.previous&&(T.previous=T.previous.next=null),T=T.next;_.first=_.last=null,_.index=n(null),I?_.size=0:w.size=0},delete:function(m){var w=this,_=y(w),T=S(w,m);if(T){var R=T.next,O=T.previous;delete _.index[T.index],T.removed=!0,O&&(O.next=R),R&&(R.previous=O),_.first===T&&(_.first=R),_.last===T&&(_.last=O),I?_.size--:w.size--}return!!T},forEach:function(w){for(var _=y(this),T=r(w,arguments.length>1?arguments[1]:void 0),R;R=R?R.next:_.first;)for(T(R.value,R.key,this);R&&R.removed;)R=R.previous},has:function(w){return!!S(this,w)}}),t(p,f?{get:function(w){var _=S(this,w);return _&&_.value},set:function(w,_){return E(this,w===0?0:w,_)}}:{add:function(w){return E(this,w=w===0?0:w,w)}}),I&&e(p,"size",{configurable:!0,get:function(){return y(this).size}}),b},setStrong:function(h,v,f){var c=v+" Iterator",b=u(v),p=u(c);a(h,v,function(y,E){l(this,{type:c,target:y,state:b(y),kind:E,last:null})},function(){for(var y=p(this),E=y.kind,S=y.last;S&&S.removed;)S=S.previous;return!y.target||!(y.last=S=S?S.next:y.state.first)?(y.target=null,g(void 0,!0)):g(E==="keys"?S.key:E==="values"?S.value:[S.key,S.value],!1)},f?"entries":"values",!f,!0),A(v)}},Zl}var zx;function ine(){if(zx)return bx;zx=1;var n=RO(),e=wX();return n("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),bx}var jx;function nne(){return jx||(jx=1,ine()),yx}var Lx={},Hl,Gx;function EX(){return Gx||(Gx=1,Hl=function(n,e){return e===1?function(t,r){return t[n](r)}:function(t,r,i){return t[n](r,i)}}),Hl}var Ul,Wx;function sne(){if(Wx)return Ul;Wx=1;var n=rr(),e=EX(),t=n("Map");return Ul={Map:t,set:e("set",2),get:e("get",1),has:e("has",1),remove:e("delete",1),proto:t.prototype},Ul}var Vx;function one(){if(Vx)return Lx;Vx=1;var n=ee(),e=ve(),t=ui(),r=li(),i=aI(),s=sne(),o=po(),a=pe(),g=s.Map,A=s.has,I=s.get,C=s.set,d=e([].push),l=o||a(function(){return g.groupBy("ab",function(u){return u}).get("a").length!==1});return n({target:"Map",stat:!0,forced:o||l},{groupBy:function(h,v){r(h),t(v);var f=new g,c=0;return i(h,function(b){var p=v(b,c++);A(f,p)?d(I(f,p),b):C(f,p,[b])}),f}}),Lx}var Zx={},Kl,Hx;function ane(){if(Hx)return Kl;Hx=1;var n=ve(),e=yo(),t=hr(),r=li(),i=n("".charAt),s=n("".charCodeAt),o=n("".slice),a=function(g){return function(A,I){var C=t(r(A)),d=e(I),l=C.length,u,h;return d<0||d>=l?g?"":void 0:(u=s(C,d),u<55296||u>56319||d+1===l||(h=s(C,d+1))<56320||h>57343?g?i(C,d):u:g?o(C,d,d+2):(u-55296<<10)+(h-56320)+65536)}};return Kl={codeAt:a(!1),charAt:a(!0)},Kl}var Ux;function $O(){if(Ux)return Zx;Ux=1;var n=ane().charAt,e=hr(),t=Hn(),r=EO(),i=SO(),s="String Iterator",o=t.set,a=t.getterFor(s);return r(String,"String",function(g){o(this,{type:s,string:e(g),index:0})},function(){var A=a(this),I=A.string,C=A.index,d;return C>=I.length?i(void 0,!0):(d=n(I,C),A.index+=d.length,i(d,!1))}),Zx}var Yl,Kx;function gne(){if(Kx)return Yl;Kx=1,To(),nne(),one(),$O();var n=Se();return Yl=n.Map,Yl}var Yx={},Xl,Xx;function Ane(){return Xx||(Xx=1,Xl={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),Xl}var Qx;function Ro(){if(Qx)return Yx;Qx=1,To();var n=Ane(),e=Fe(),t=Un(),r=Oo();for(var i in n)t(e[i],i),r[i]=r.Array;return Yx}var Ql,Jx;function Ine(){if(Jx)return Ql;Jx=1;var n=gne();return Ro(),Ql=n,Ql}var Jl,e$;function Cne(){return e$||(e$=1,Jl=Ine()),Jl}var dne=Cne(),DO=ae(dne);let lne=class{constructor(){this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},Ot(this.options,this.defaultOptions)}setOptions(e){const t=["useDefaultGroups"];if(e!==void 0){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&je(t).call(t,r)===-1){const i=e[r];this.add(r,i)}}}clear(){this._groups=new DO,this._groupNames=[]}get(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this._groups.get(e);if(r===void 0&&t)if(this.options.useDefaultGroups===!1&&this._groupNames.length>0){const i=this._groupIndex%this._groupNames.length;++this._groupIndex,r={},r.color=this._groups.get(this._groupNames[i]),this._groups.set(e,r)}else{const i=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,r={},r.color=this._defaultGroups[i],this._groups.set(e,r)}return r}add(e,t){return this._groups.has(e)||this._groupNames.push(e),this._groups.set(e,t),t}};var t$={},r$;function une(){if(r$)return t$;r$=1;var n=ee();return n({target:"Number",stat:!0},{isNaN:function(t){return t!==t}}),t$}var eu,i$;function hne(){if(i$)return eu;i$=1,une();var n=Se();return eu=n.Number.isNaN,eu}var tu,n$;function cne(){if(n$)return tu;n$=1;var n=hne();return tu=n,tu}var ru,s$;function fne(){return s$||(s$=1,ru=cne()),ru}var pne=fne(),R_=ae(pne),o$={},iu,a$;function vne(){if(a$)return iu;a$=1;var n=Fe(),e=n.isFinite;return iu=Number.isFinite||function(r){return typeof r=="number"&&e(r)},iu}var g$;function mne(){if(g$)return o$;g$=1;var n=ee(),e=vne();return n({target:"Number",stat:!0},{isFinite:e}),o$}var nu,A$;function yne(){if(A$)return nu;A$=1,mne();var n=Se();return nu=n.Number.isFinite,nu}var su,I$;function bne(){if(I$)return su;I$=1;var n=yne();return su=n,su}var ou,C$;function wne(){return C$||(C$=1,ou=bne()),ou}var Ene=wne(),mn=ae(Ene),d$={},l$;function Sne(){if(l$)return d$;l$=1;var n=ee(),e=dr(),t=ag(),r=pe(),i=r(function(){t(1)});return n({target:"Object",stat:!0,forced:i},{keys:function(o){return t(e(o))}}),d$}var au,u$;function _ne(){if(u$)return au;u$=1,Sne();var n=Se();return au=n.Object.keys,au}var gu,h$;function One(){if(h$)return gu;h$=1;var n=_ne();return gu=n,gu}var Au,c$;function Tne(){return c$||(c$=1,Au=One()),Au}var Rne=Tne(),Je=ae(Rne),f$={},p$;function Pne(){if(p$)return f$;p$=1;var n=ee(),e=rn().some,t=So(),r=t("some");return n({target:"Array",proto:!0,forced:!r},{some:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),f$}var Iu,v$;function xne(){if(v$)return Iu;v$=1,Pne();var n=Pt();return Iu=n("Array","some"),Iu}var Cu,m$;function $ne(){if(m$)return Cu;m$=1;var n=nt(),e=xne(),t=Array.prototype;return Cu=function(r){var i=r.some;return r===t||n(t,r)&&i===t.some?e:i},Cu}var du,y$;function Dne(){if(y$)return du;y$=1;var n=$ne();return du=n,du}var lu,b$;function Nne(){return b$||(b$=1,lu=Dne()),lu}var Mne=Nne(),qne=ae(Mne),w$={},E$={},uu,S$;function SX(){if(S$)return uu;S$=1;var n=Fe(),e=ho(),t=Yr(),r=function(i){return e.slice(0,i.length)===i};return uu=(function(){return r("Bun/")?"BUN":r("Cloudflare-Workers")?"CLOUDFLARE":r("Deno/")?"DENO":r("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":t(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"})(),uu}var hu,_$;function Fne(){if(_$)return hu;_$=1;var n=TypeError;return hu=function(e,t){if(e<t)throw new n("Not enough arguments");return e},hu}var cu,O$;function _X(){if(O$)return cu;O$=1;var n=Fe(),e=ZA(),t=lt(),r=SX(),i=ho(),s=bo(),o=Fne(),a=n.Function,g=/MSIE .\./.test(i)||r==="BUN"&&(function(){var A=n.Bun.version.split(".");return A.length<3||A[0]==="0"&&(A[1]<3||A[1]==="3"&&A[2]==="0")})();return cu=function(A,I){var C=I?2:1;return g?function(d,l){var u=o(arguments.length,1)>C,h=t(d)?d:a(d),v=u?s(arguments,C):[],f=u?function(){e(h,this,v)}:h;return I?A(f,l):A(f)}:A},cu}var T$;function kne(){if(T$)return E$;T$=1;var n=ee(),e=Fe(),t=_X(),r=t(e.setInterval,!0);return n({global:!0,bind:!0,forced:e.setInterval!==r},{setInterval:r}),E$}var R$={},P$;function Bne(){if(P$)return R$;P$=1;var n=ee(),e=Fe(),t=_X(),r=t(e.setTimeout,!0);return n({global:!0,bind:!0,forced:e.setTimeout!==r},{setTimeout:r}),R$}var x$;function OX(){return x$||(x$=1,kne(),Bne()),w$}var fu,$$;function zne(){if($$)return fu;$$=1,OX();var n=Se();return fu=n.setTimeout,fu}var pu,D$;function jne(){return D$||(D$=1,pu=zne()),pu}var Lne=jne(),Bs=ae(Lne);const Et=[];for(let n=0;n<256;++n)Et.push((n+256).toString(16).slice(1));function Gne(n,e=0){return(Et[n[e+0]]+Et[n[e+1]]+Et[n[e+2]]+Et[n[e+3]]+"-"+Et[n[e+4]]+Et[n[e+5]]+"-"+Et[n[e+6]]+Et[n[e+7]]+"-"+Et[n[e+8]]+Et[n[e+9]]+"-"+Et[n[e+10]]+Et[n[e+11]]+Et[n[e+12]]+Et[n[e+13]]+Et[n[e+14]]+Et[n[e+15]]).toLowerCase()}let vu;const Wne=new Uint8Array(16);function Vne(){if(!vu){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");vu=crypto.getRandomValues.bind(crypto)}return vu(Wne)}const Zne=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var N$={randomUUID:Zne};function zs(n,e,t){if(N$.randomUUID&&!n)return N$.randomUUID();n=n||{};const r=n.random??n.rng?.()??Vne();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Gne(r)}function M$(n){return typeof n=="string"||typeof n=="number"}let Hne=class TX{delay;max;_queue=[];_timeout=null;_extended=null;constructor(e){this.delay=null,this.max=1/0,this.setOptions(e)}setOptions(e){e&&typeof e.delay<"u"&&(this.delay=e.delay),e&&typeof e.max<"u"&&(this.max=e.max),this._flushIfNeeded()}static extend(e,t){const r=new TX(t);if(e.flush!==void 0)throw new Error("Target object already has a property flush");e.flush=()=>{r.flush()};const i=[{name:"flush",original:void 0}];if(t&&t.replace)for(let s=0;s<t.replace.length;s++){const o=t.replace[s];i.push({name:o,original:e[o]}),r.replace(e,o)}return r._extended={object:e,methods:i},r}destroy(){if(this.flush(),this._extended){const e=this._extended.object,t=this._extended.methods;for(let r=0;r<t.length;r++){const i=t[r];i.original?e[i.name]=i.original:delete e[i.name]}this._extended=null}}replace(e,t){const r=this,i=e[t];if(!i)throw new Error("Method "+t+" undefined");e[t]=function(...s){r.queue({args:s,fn:i,context:this})}}queue(e){typeof e=="function"?this._queue.push({fn:e}):this._queue.push(e),this._flushIfNeeded()}_flushIfNeeded(){this._queue.length>this.max&&this.flush(),this._timeout!=null&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&typeof this.delay=="number"&&(this._timeout=setTimeout(()=>{this.flush()},this.delay))}flush(){this._queue.splice(0).forEach(e=>{e.fn.apply(e.context||e.fn,e.args||[])})}},Une=class P_{_subscribers={"*":[],add:[],remove:[],update:[]};_trigger(e,t,r){if(e==="*")throw new Error("Cannot trigger event *");[...this._subscribers[e],...this._subscribers["*"]].forEach(i=>{i(e,t,r??null)})}on(e,t){typeof t=="function"&&this._subscribers[e].push(t)}off(e,t){this._subscribers[e]=this._subscribers[e].filter(r=>r!==t)}subscribe=P_.prototype.on;unsubscribe=P_.prototype.off;get testLeakSubscribers(){return this._subscribers}},q$=class ca{_pairs;constructor(e){this._pairs=e}*[Symbol.iterator](){for(const[e,t]of this._pairs)yield[e,t]}*entries(){for(const[e,t]of this._pairs)yield[e,t]}*keys(){for(const[e]of this._pairs)yield e}*values(){for(const[,e]of this._pairs)yield e}toIdArray(){return[...this._pairs].map(e=>e[0])}toItemArray(){return[...this._pairs].map(e=>e[1])}toEntryArray(){return[...this._pairs]}toObjectMap(){const e=Object.create(null);for(const[t,r]of this._pairs)e[t]=r;return e}toMap(){return new Map(this._pairs)}toIdSet(){return new Set(this.toIdArray())}toItemSet(){return new Set(this.toItemArray())}cache(){return new ca([...this._pairs])}distinct(e){const t=new Set;for(const[r,i]of this._pairs)t.add(e(i,r));return t}filter(e){const t=this._pairs;return new ca({*[Symbol.iterator](){for(const[r,i]of t)e(i,r)&&(yield[r,i])}})}forEach(e){for(const[t,r]of this._pairs)e(r,t)}map(e){const t=this._pairs;return new ca({*[Symbol.iterator](){for(const[r,i]of t)yield[r,e(i,r)]}})}max(e){const t=this._pairs[Symbol.iterator]();let r=t.next();if(r.done)return null;let i=r.value[1],s=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[o,a]=r.value,g=e(a,o);g>s&&(s=g,i=a)}return i}min(e){const t=this._pairs[Symbol.iterator]();let r=t.next();if(r.done)return null;let i=r.value[1],s=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[o,a]=r.value,g=e(a,o);g<s&&(s=g,i=a)}return i}reduce(e,t){for(const[r,i]of this._pairs)t=e(t,i,r);return t}sort(e){return new ca({[Symbol.iterator]:()=>[...this._pairs].sort(([t,r],[i,s])=>e(r,s,t,i))[Symbol.iterator]()})}};function Kne(n,e){return n[e]==null&&(n[e]=zs()),n}let to=class extends Une{flush;length;get idProp(){return this._idProp}_options;_data;_idProp;_queue=null;constructor(e,t){super(),e&&!Array.isArray(e)&&(t=e,e=[]),this._options=t||{},this._data=new Map,this.length=0,this._idProp=this._options.fieldId||"id",e&&e.length&&this.add(e),this.setOptions(t)}setOptions(e){e&&e.queue!==void 0&&(e.queue===!1?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=Hne.extend(this,{replace:["add","update","remove"]})),e.queue&&typeof e.queue=="object"&&this._queue.setOptions(e.queue)))}add(e,t){const r=[];let i;if(Array.isArray(e)){if(e.map(o=>o[this._idProp]).some(o=>this._data.has(o)))throw new Error("A duplicate id was found in the parameter array.");for(let o=0,a=e.length;o<a;o++)i=this._addItem(e[o]),r.push(i)}else if(e&&typeof e=="object")i=this._addItem(e),r.push(i);else throw new Error("Unknown dataType");return r.length&&this._trigger("add",{items:r},t),r}update(e,t){const r=[],i=[],s=[],o=[],a=this._idProp,g=A=>{const I=A[a];if(I!=null&&this._data.has(I)){const C=A,d=Object.assign({},this._data.get(I)),l=this._updateItem(C);i.push(l),o.push(C),s.push(d)}else{const C=this._addItem(A);r.push(C)}};if(Array.isArray(e))for(let A=0,I=e.length;A<I;A++)e[A]&&typeof e[A]=="object"?g(e[A]):console.warn("Ignoring input item, which is not an object at index "+A);else if(e&&typeof e=="object")g(e);else throw new Error("Unknown dataType");if(r.length&&this._trigger("add",{items:r},t),i.length){const A={items:i,oldData:s,data:o};this._trigger("update",A,t)}return r.concat(i)}updateOnly(e,t){Array.isArray(e)||(e=[e]);const r=e.map(i=>{const s=this._data.get(i[this._idProp]);if(s==null)throw new Error("Updating non-existent items is not allowed.");return{oldData:s,update:i}}).map(({oldData:i,update:s})=>{const o=i[this._idProp],a=Vte(i,s);return this._data.set(o,a),{id:o,oldData:i,updatedData:a}});if(r.length){const i={items:r.map(s=>s.id),oldData:r.map(s=>s.oldData),data:r.map(s=>s.updatedData)};return this._trigger("update",i,t),i.items}else return[]}get(e,t){let r,i,s;M$(e)?(r=e,s=t):Array.isArray(e)?(i=e,s=t):s=e;const o=s&&s.returnType==="Object"?"Object":"Array",a=s&&s.filter,g=[];let A,I,C;if(r!=null)A=this._data.get(r),A&&a&&!a(A)&&(A=void 0);else if(i!=null)for(let d=0,l=i.length;d<l;d++)A=this._data.get(i[d]),A!=null&&(!a||a(A))&&g.push(A);else{I=[...this._data.keys()];for(let d=0,l=I.length;d<l;d++)C=I[d],A=this._data.get(C),A!=null&&(!a||a(A))&&g.push(A)}if(s&&s.order&&r==null&&this._sort(g,s.order),s&&s.fields){const d=s.fields;if(r!=null&&A!=null)A=this._filterFields(A,d);else for(let l=0,u=g.length;l<u;l++)g[l]=this._filterFields(g[l],d)}if(o=="Object"){const d={};for(let l=0,u=g.length;l<u;l++){const h=g[l],v=h[this._idProp];d[v]=h}return d}else return r!=null?A??null:g}getIds(e){const t=this._data,r=e&&e.filter,i=e&&e.order,s=[...t.keys()],o=[];if(r)if(i){const a=[];for(let g=0,A=s.length;g<A;g++){const I=s[g],C=this._data.get(I);C!=null&&r(C)&&a.push(C)}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)o.push(a[g][this._idProp])}else for(let a=0,g=s.length;a<g;a++){const A=s[a],I=this._data.get(A);I!=null&&r(I)&&o.push(I[this._idProp])}else if(i){const a=[];for(let g=0,A=s.length;g<A;g++){const I=s[g];a.push(t.get(I))}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)o.push(a[g][this._idProp])}else for(let a=0,g=s.length;a<g;a++){const A=s[a],I=t.get(A);I!=null&&o.push(I[this._idProp])}return o}getDataSet(){return this}forEach(e,t){const r=t&&t.filter,s=[...this._data.keys()];if(t&&t.order){const o=this.get(t);for(let a=0,g=o.length;a<g;a++){const A=o[a],I=A[this._idProp];e(A,I)}}else for(let o=0,a=s.length;o<a;o++){const g=s[o],A=this._data.get(g);A!=null&&(!r||r(A))&&e(A,g)}}map(e,t){const r=t&&t.filter,i=[],o=[...this._data.keys()];for(let a=0,g=o.length;a<g;a++){const A=o[a],I=this._data.get(A);I!=null&&(!r||r(I))&&i.push(e(I,A))}return t&&t.order&&this._sort(i,t.order),i}_filterFields(e,t){return e&&(Array.isArray(t)?t:Object.keys(t)).reduce((r,i)=>(r[i]=e[i],r),{})}_sort(e,t){if(typeof t=="string"){const r=t;e.sort((i,s)=>{const o=i[r],a=s[r];return o>a?1:o<a?-1:0})}else if(typeof t=="function")e.sort(t);else throw new TypeError("Order must be a function or a string")}remove(e,t){const r=[],i=[],s=Array.isArray(e)?e:[e];for(let o=0,a=s.length;o<a;o++){const g=this._remove(s[o]);if(g){const A=g[this._idProp];A!=null&&(r.push(A),i.push(g))}}return r.length&&this._trigger("remove",{items:r,oldData:i},t),r}_remove(e){let t;if(M$(e)?t=e:e&&typeof e=="object"&&(t=e[this._idProp]),t!=null&&this._data.has(t)){const r=this._data.get(t)||null;return this._data.delete(t),--this.length,r}return null}clear(e){const t=[...this._data.keys()],r=[];for(let i=0,s=t.length;i<s;i++)r.push(this._data.get(t[i]));return this._data.clear(),this.length=0,this._trigger("remove",{items:t,oldData:r},e),t}max(e){let t=null,r=null;for(const i of this._data.values()){const s=i[e];typeof s=="number"&&(r==null||s>r)&&(t=i,r=s)}return t||null}min(e){let t=null,r=null;for(const i of this._data.values()){const s=i[e];typeof s=="number"&&(r==null||s<r)&&(t=i,r=s)}return t||null}distinct(e){const t=this._data,r=[...t.keys()],i=[];let s=0;for(let o=0,a=r.length;o<a;o++){const g=r[o],I=t.get(g)[e];let C=!1;for(let d=0;d<s;d++)if(i[d]==I){C=!0;break}!C&&I!==void 0&&(i[s]=I,s++)}return i}_addItem(e){const t=Kne(e,this._idProp),r=t[this._idProp];if(this._data.has(r))throw new Error("Cannot add item: item with id "+r+" already exists");return this._data.set(r,t),++this.length,r}_updateItem(e){const t=e[this._idProp];if(t==null)throw new Error("Cannot update item: item has no id (item: "+JSON.stringify(e)+")");const r=this._data.get(t);if(!r)throw new Error("Cannot update item: no item with id "+t+" found");return this._data.set(t,{...r,...e}),t}stream(e){if(e){const t=this._data;return new q$({*[Symbol.iterator](){for(const r of e){const i=t.get(r);i!=null&&(yield[r,i])}}})}else return new q$({[Symbol.iterator]:this._data.entries.bind(this._data)})}get testLeakData(){return this._data}get testLeakIdProp(){return this._idProp}get testLeakOptions(){return this._options}get testLeakQueue(){return this._queue}set testLeakQueue(e){this._queue=e}};function Yne(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof e.add=="function"&&typeof e.clear=="function"&&typeof e.distinct=="function"&&typeof e.forEach=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof e.map=="function"&&typeof e.max=="function"&&typeof e.min=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.remove=="function"&&typeof e.setOptions=="function"&&typeof e.stream=="function"&&typeof e.update=="function"&&typeof e.updateOnly=="function"}function RX(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof e.forEach=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof e.map=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.stream=="function"&&Yne(n,e.getDataSet())}console.warn("You're running a development build.");var mu={exports:{}},F$={},k$;function Xne(){if(k$)return F$;k$=1;var n=ee(),e=Xe(),t=lr().f;return n({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!e},{defineProperty:t}),F$}var B$;function Qne(){if(B$)return mu.exports;B$=1,Xne();var n=Se(),e=n.Object,t=mu.exports=function(i,s,o){return e.defineProperty(i,s,o)};return e.defineProperty.sham&&(t.sham=!0),mu.exports}var yu,z$;function PX(){if(z$)return yu;z$=1;var n=Qne();return yu=n,yu}var bu,j$;function Jne(){if(j$)return bu;j$=1;var n=PX();return bu=n,bu}var wu,L$;function ese(){if(L$)return wu;L$=1;var n=Jne();return wu=n,wu}var Eu,G$;function tse(){return G$||(G$=1,Eu=ese()),Eu}var rse=tse(),ise=ae(rse),W$={},V$={},Su={},Z$;function gI(){if(Z$)return Su;Z$=1;var n=st();return Su.f=n,Su}var _u,H$;function Ge(){if(H$)return _u;H$=1;var n=Se(),e=Rt(),t=gI(),r=lr().f;return _u=function(i){var s=n.Symbol||(n.Symbol={});e(s,i)||r(s,i,{value:t.f(i)})},_u}var Ou,U$;function xX(){if(U$)return Ou;U$=1;var n=Yt(),e=rr(),t=st(),r=hg();return Ou=function(){var i=e("Symbol"),s=i&&i.prototype,o=s&&s.valueOf,a=t("toPrimitive");s&&!s[a]&&r(s,a,function(g){return n(o,this)},{arity:1})},Ou}var K$;function nse(){if(K$)return V$;K$=1;var n=ee(),e=Fe(),t=Yt(),r=ve(),i=po(),s=Xe(),o=co(),a=pe(),g=Rt(),A=nt(),I=Xr(),C=Fr(),d=sO(),l=hr(),u=ig(),h=lg(),v=ag(),f=sI(),c=_O(),b=JA(),p=YA(),y=lr(),E=pO(),S=HA(),m=hg(),w=PO(),_=vo(),T=iI(),R=og(),O=KA(),P=st(),x=gI(),V=Ge(),M=xX(),U=Un(),K=Hn(),ne=rn().forEach,L=T("hidden"),se="Symbol",he="prototype",fe=K.set,yt=K.getterFor(se),de=Object[he],Be=e.Symbol,bt=Be&&Be[he],ia=e.RangeError,na=e.TypeError,br=e.QObject,Ei=p.f,ze=y.f,Si=c.f,sa=S.f,_i=r([].push),be=_("symbols"),wt=_("op-symbols"),oa=_("wks"),wr=!br||!br[he]||!br[he].findChild,Oi=function(Z,N,q){var F=Ei(de,N);F&&delete de[N],ze(Z,N,q),F&&Z!==de&&ze(de,N,F)},Er=s&&a(function(){return h(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a!==7})?Oi:ze,Sr=function(Z,N){var q=be[Z]=h(bt);return fe(q,{type:se,tag:Z,description:N}),s||(q.description=N),q},Gt=function(N,q,F){N===de&&Gt(wt,q,F),I(N);var H=d(q);return I(F),g(be,H)?(F.enumerable?(g(N,L)&&N[L][H]&&(N[L][H]=!1),F=h(F,{enumerable:u(0,!1)})):(g(N,L)||ze(N,L,u(1,h(null))),N[L][H]=!0),Er(N,H,F)):ze(N,H,F)},_r=function(N,q){I(N);var F=C(q),H=v(F).concat(Pi(F));return ne(H,function(oe){(!s||t(Or,F,oe))&&Gt(N,oe,F[oe])}),N},aa=function(N,q){return q===void 0?h(N):_r(h(N),q)},Or=function(N){var q=d(N),F=t(sa,this,q);return this===de&&g(be,q)&&!g(wt,q)?!1:F||!g(this,q)||!g(be,q)||g(this,L)&&this[L][q]?F:!0},Ti=function(N,q){var F=C(N),H=d(q);if(!(F===de&&g(be,H)&&!g(wt,H))){var oe=Ei(F,H);return oe&&g(be,H)&&!(g(F,L)&&F[L][H])&&(oe.enumerable=!0),oe}},Ri=function(N){var q=Si(C(N)),F=[];return ne(q,function(H){!g(be,H)&&!g(R,H)&&_i(F,H)}),F},Pi=function(Z){var N=Z===de,q=Si(N?wt:C(Z)),F=[];return ne(q,function(H){g(be,H)&&(!N||g(de,H))&&_i(F,be[H])}),F};return o||(Be=function(){if(A(bt,this))throw new na("Symbol is not a constructor");var N=!arguments.length||arguments[0]===void 0?void 0:l(arguments[0]),q=O(N),F=function(H){var oe=this===void 0?e:this;oe===de&&t(F,wt,H),g(oe,L)&&g(oe[L],q)&&(oe[L][q]=!1);var xi=u(1,H);try{Er(oe,q,xi)}catch($i){if(!($i instanceof ia))throw $i;Oi(oe,q,xi)}};return s&&wr&&Er(de,q,{configurable:!0,set:F}),Sr(q,N)},bt=Be[he],m(bt,"toString",function(){return yt(this).tag}),m(Be,"withoutSetter",function(Z){return Sr(O(Z),Z)}),S.f=Or,y.f=Gt,E.f=_r,p.f=Ti,f.f=c.f=Ri,b.f=Pi,x.f=function(Z){return Sr(P(Z),Z)},s&&(w(bt,"description",{configurable:!0,get:function(){return yt(this).description}}),i||m(de,"propertyIsEnumerable",Or,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!o,sham:!o},{Symbol:Be}),ne(v(oa),function(Z){V(Z)}),n({target:se,stat:!0,forced:!o},{useSetter:function(){wr=!0},useSimple:function(){wr=!1}}),n({target:"Object",stat:!0,forced:!o,sham:!s},{create:aa,defineProperty:Gt,defineProperties:_r,getOwnPropertyDescriptor:Ti}),n({target:"Object",stat:!0,forced:!o},{getOwnPropertyNames:Ri}),M(),U(Be,se),R[L]=!0,V$}var Y$={},Tu,X$;function $X(){if(X$)return Tu;X$=1;var n=co();return Tu=n&&!!Symbol.for&&!!Symbol.keyFor,Tu}var Q$;function sse(){if(Q$)return Y$;Q$=1;var n=ee(),e=rr(),t=Rt(),r=hr(),i=vo(),s=$X(),o=i("string-to-symbol-registry"),a=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!s},{for:function(g){var A=r(g);if(t(o,A))return o[A];var I=e("Symbol")(A);return o[A]=I,a[I]=A,I}}),Y$}var J$={},eD;function ose(){if(eD)return J$;eD=1;var n=ee(),e=Rt(),t=sg(),r=fo(),i=vo(),s=$X(),o=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!s},{keyFor:function(g){if(!t(g))throw new TypeError(r(g)+" is not a symbol");if(e(o,g))return o[g]}}),J$}var tD={},Ru,rD;function ase(){if(rD)return Ru;rD=1;var n=ve(),e=Zn(),t=lt(),r=Yr(),i=hr(),s=n([].push);return Ru=function(o){if(t(o))return o;if(e(o)){for(var a=o.length,g=[],A=0;A<a;A++){var I=o[A];typeof I=="string"?s(g,I):(typeof I=="number"||r(I)==="Number"||r(I)==="String")&&s(g,i(I))}var C=g.length,d=!0;return function(l,u){if(d)return d=!1,u;if(e(this))return u;for(var h=0;h<C;h++)if(g[h]===l)return u}}},Ru}var iD;function DX(){if(iD)return tD;iD=1;var n=ee(),e=rr(),t=ZA(),r=Yt(),i=ve(),s=pe(),o=lt(),a=sg(),g=bo(),A=ase(),I=co(),C=String,d=e("JSON","stringify"),l=i(/./.exec),u=i("".charAt),h=i("".charCodeAt),v=i("".replace),f=i(1.1.toString),c=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,p=/^[\uDC00-\uDFFF]$/,y=!I||s(function(){var w=e("Symbol")("stringify detection");return d([w])!=="[null]"||d({a:w})!=="{}"||d(Object(w))!=="{}"}),E=s(function(){return d("\uDF06\uD834")!=='"\\udf06\\ud834"'||d("\uDEAD")!=='"\\udead"'}),S=function(w,_){var T=g(arguments),R=A(_);if(!(!o(R)&&(w===void 0||a(w))))return T[1]=function(O,P){if(o(R)&&(P=r(R,this,C(O),P)),!a(P))return P},t(d,null,T)},m=function(w,_,T){var R=u(T,_-1),O=u(T,_+1);return l(b,w)&&!l(p,O)||l(p,w)&&!l(b,R)?"\\u"+f(h(w,0),16):w};return d&&n({target:"JSON",stat:!0,arity:3,forced:y||E},{stringify:function(_,T,R){var O=g(arguments),P=t(y?S:d,null,O);return E&&typeof P=="string"?v(P,c,m):P}}),tD}var nD={},sD;function gse(){if(sD)return nD;sD=1;var n=ee(),e=co(),t=pe(),r=JA(),i=dr(),s=!e||t(function(){r.f(1)});return n({target:"Object",stat:!0,forced:s},{getOwnPropertySymbols:function(a){var g=r.f;return g?g(i(a)):[]}}),nD}var oD;function NX(){return oD||(oD=1,nse(),sse(),ose(),DX(),gse()),W$}var aD={},gD;function MX(){if(gD)return aD;gD=1;var n=Ge();return n("asyncDispose"),aD}var AD={},ID;function Ase(){if(ID)return AD;ID=1;var n=Ge();return n("asyncIterator"),AD}var CD={},dD;function qX(){if(dD)return CD;dD=1;var n=Ge();return n("dispose"),CD}var lD={},uD;function Ise(){if(uD)return lD;uD=1;var n=Ge();return n("hasInstance"),lD}var hD={},cD;function Cse(){if(cD)return hD;cD=1;var n=Ge();return n("isConcatSpreadable"),hD}var fD={},pD;function FX(){if(pD)return fD;pD=1;var n=Ge();return n("iterator"),fD}var vD={},mD;function dse(){if(mD)return vD;mD=1;var n=Ge();return n("match"),vD}var yD={},bD;function lse(){if(bD)return yD;bD=1;var n=Ge();return n("matchAll"),yD}var wD={},ED;function use(){if(ED)return wD;ED=1;var n=Ge();return n("replace"),wD}var SD={},_D;function hse(){if(_D)return SD;_D=1;var n=Ge();return n("search"),SD}var OD={},TD;function cse(){if(TD)return OD;TD=1;var n=Ge();return n("species"),OD}var RD={},PD;function fse(){if(PD)return RD;PD=1;var n=Ge();return n("split"),RD}var xD={},$D;function kX(){if($D)return xD;$D=1;var n=Ge(),e=xX();return n("toPrimitive"),e(),xD}var DD={},ND;function pse(){if(ND)return DD;ND=1;var n=rr(),e=Ge(),t=Un();return e("toStringTag"),t(n("Symbol"),"Symbol"),DD}var MD={},qD;function vse(){if(qD)return MD;qD=1;var n=Ge();return n("unscopables"),MD}var FD={},kD;function mse(){if(kD)return FD;kD=1;var n=Fe(),e=Un();return e(n.JSON,"JSON",!0),FD}var Pu,BD;function yse(){if(BD)return Pu;BD=1,pX(),NX(),MX(),Ase(),qX(),Ise(),Cse(),FX(),dse(),lse(),use(),hse(),cse(),fse(),kX(),pse(),vse(),mse();var n=Se();return Pu=n.Symbol,Pu}var xu,zD;function bse(){if(zD)return xu;zD=1;var n=yse();return Ro(),xu=n,xu}var jD={},LD;function wse(){if(LD)return jD;LD=1;var n=st(),e=lr().f,t=n("metadata"),r=Function.prototype;return r[t]===void 0&&e(r,t,{value:null}),jD}var GD={},WD;function Ese(){return WD||(WD=1,MX()),GD}var VD={},ZD;function Sse(){return ZD||(ZD=1,qX()),VD}var HD={},UD;function _se(){if(UD)return HD;UD=1;var n=Ge();return n("metadata"),HD}var $u,KD;function Ose(){if(KD)return $u;KD=1;var n=bse();return wse(),Ese(),Sse(),_se(),$u=n,$u}var YD={},Du,XD;function BX(){if(XD)return Du;XD=1;var n=rr(),e=ve(),t=n("Symbol"),r=t.keyFor,i=e(t.prototype.valueOf);return Du=t.isRegisteredSymbol||function(o){try{return r(i(o))!==void 0}catch{return!1}},Du}var QD;function Tse(){if(QD)return YD;QD=1;var n=ee(),e=BX();return n({target:"Symbol",stat:!0},{isRegisteredSymbol:e}),YD}var JD={},Nu,eN;function zX(){if(eN)return Nu;eN=1;for(var n=vo(),e=rr(),t=ve(),r=sg(),i=st(),s=e("Symbol"),o=s.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),g=t(s.prototype.valueOf),A=n("wks"),I=0,C=a(s),d=C.length;I<d;I++)try{var l=C[I];r(s[l])&&i(l)}catch{}return Nu=function(h){if(o&&o(h))return!0;try{for(var v=g(h),f=0,c=a(A),b=c.length;f<b;f++)if(A[c[f]]==v)return!0}catch{}return!1},Nu}var tN;function Rse(){if(tN)return JD;tN=1;var n=ee(),e=zX();return n({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:e}),JD}var rN={},iN;function Pse(){if(iN)return rN;iN=1;var n=Ge();return n("customMatcher"),rN}var nN={},sN;function xse(){if(sN)return nN;sN=1;var n=Ge();return n("observable"),nN}var oN={},aN;function $se(){if(aN)return oN;aN=1;var n=ee(),e=BX();return n({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:e}),oN}var gN={},AN;function Dse(){if(AN)return gN;AN=1;var n=ee(),e=zX();return n({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:e}),gN}var IN={},CN;function Nse(){if(CN)return IN;CN=1;var n=Ge();return n("matcher"),IN}var dN={},lN;function Mse(){if(lN)return dN;lN=1;var n=Ge();return n("metadataKey"),dN}var uN={},hN;function qse(){if(hN)return uN;hN=1;var n=Ge();return n("patternMatch"),uN}var cN={},fN;function Fse(){if(fN)return cN;fN=1;var n=Ge();return n("replaceAll"),cN}var Mu,pN;function kse(){if(pN)return Mu;pN=1;var n=Ose();return Tse(),Rse(),Pse(),xse(),$se(),Dse(),Nse(),Mse(),qse(),Fse(),Mu=n,Mu}var qu,vN;function Bse(){return vN||(vN=1,qu=kse()),qu}var zse=Bse(),iA=ae(zse),Fu,mN;function jse(){if(mN)return Fu;mN=1,To(),$O(),FX();var n=gI();return Fu=n.f("iterator"),Fu}var ku,yN;function Lse(){if(yN)return ku;yN=1;var n=jse();return Ro(),ku=n,ku}var Bu,bN;function Gse(){if(bN)return Bu;bN=1;var n=Lse();return Bu=n,Bu}var zu,wN;function Wse(){if(wN)return zu;wN=1;var n=Gse();return zu=n,zu}var ju,EN;function Vse(){return EN||(EN=1,ju=Wse()),ju}var Zse=Vse(),Hse=ae(Zse);function La(n){"@babel/helpers - typeof";return La=typeof iA=="function"&&typeof Hse=="symbol"?function(e){return typeof e}:function(e){return e&&typeof iA=="function"&&e.constructor===iA&&e!==iA.prototype?"symbol":typeof e},La(n)}var Lu,SN;function Use(){if(SN)return Lu;SN=1,kX();var n=gI();return Lu=n.f("toPrimitive"),Lu}var Gu,_N;function Kse(){if(_N)return Gu;_N=1;var n=Use();return Gu=n,Gu}var Wu,ON;function Yse(){if(ON)return Wu;ON=1;var n=Kse();return Wu=n,Wu}var Vu,TN;function Xse(){if(TN)return Vu;TN=1;var n=Yse();return Vu=n,Vu}var Zu,RN;function Qse(){return RN||(RN=1,Zu=Xse()),Zu}var Jse=Qse(),eoe=ae(Jse);function toe(n,e){if(La(n)!="object"||!n)return n;var t=n[eoe];if(t!==void 0){var r=t.call(n,e);if(La(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function roe(n){var e=toe(n,"string");return La(e)=="symbol"?e:e+""}function ti(n,e,t){return(e=roe(e))in n?ise(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var PN={},Hu,xN;function NO(){return xN||(xN=1,Hu=`
958
+ \v\f\r                 \u2028\u2029\uFEFF`),Hu}var Uu,$N;function jX(){if($N)return Uu;$N=1;var n=ve(),e=li(),t=hr(),r=NO(),i=n("".replace),s=RegExp("^["+r+"]+"),o=RegExp("(^|[^"+r+"])["+r+"]+$"),a=function(g){return function(A){var I=t(e(A));return g&1&&(I=i(I,s,"")),g&2&&(I=i(I,o,"$1")),I}};return Uu={start:a(1),end:a(2),trim:a(3)},Uu}var Ku,DN;function ioe(){if(DN)return Ku;DN=1;var n=Fe(),e=pe(),t=ve(),r=hr(),i=jX().trim,s=NO(),o=n.parseInt,a=n.Symbol,g=a&&a.iterator,A=/^[+-]?0x/i,I=t(A.exec),C=o(s+"08")!==8||o(s+"0x16")!==22||g&&!e(function(){o(Object(g))});return Ku=C?function(l,u){var h=i(r(l));return o(h,u>>>0||(I(A,h)?16:10))}:o,Ku}var NN;function noe(){if(NN)return PN;NN=1;var n=ee(),e=ioe();return n({global:!0,forced:parseInt!==e},{parseInt:e}),PN}var Yu,MN;function soe(){if(MN)return Yu;MN=1,noe();var n=Se();return Yu=n.parseInt,Yu}var Xu,qN;function ooe(){if(qN)return Xu;qN=1;var n=soe();return Xu=n,Xu}var Qu,FN;function aoe(){return FN||(FN=1,Qu=ooe()),Qu}var goe=aoe(),kN=ae(goe),BN={},Ju,zN;function Aoe(){if(zN)return Ju;zN=1;var n=Fe(),e=pe(),t=ve(),r=hr(),i=jX().trim,s=NO(),o=t("".charAt),a=n.parseFloat,g=n.Symbol,A=g&&g.iterator,I=1/a(s+"-0")!==-1/0||A&&!e(function(){a(Object(A))});return Ju=I?function(d){var l=i(r(d)),u=a(l);return u===0&&o(l,0)==="-"?-0:u}:a,Ju}var jN;function Ioe(){if(jN)return BN;jN=1;var n=ee(),e=Aoe();return n({global:!0,forced:parseFloat!==e},{parseFloat:e}),BN}var eh,LN;function Coe(){if(LN)return eh;LN=1,Ioe();var n=Se();return eh=n.parseFloat,eh}var th,GN;function doe(){if(GN)return th;GN=1;var n=Coe();return th=n,th}var rh,WN;function loe(){return WN||(WN=1,rh=doe()),rh}var uoe=loe(),LX=ae(uoe),VN={},ZN;function hoe(){if(ZN)return VN;ZN=1;var n=ee(),e=rn().filter,t=ug(),r=t("filter");return n({target:"Array",proto:!0,forced:!r},{filter:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),VN}var ih,HN;function coe(){if(HN)return ih;HN=1,hoe();var n=Pt();return ih=n("Array","filter"),ih}var nh,UN;function foe(){if(UN)return nh;UN=1;var n=nt(),e=coe(),t=Array.prototype;return nh=function(r){var i=r.filter;return r===t||n(t,r)&&i===t.filter?e:i},nh}var sh,KN;function poe(){if(KN)return sh;KN=1;var n=foe();return sh=n,sh}var oh,YN;function voe(){return YN||(YN=1,oh=poe()),oh}var moe=voe(),ci=ae(moe),XN={},QN;function yoe(){if(QN)return XN;QN=1;var n=ee(),e=pe(),t=_O().f,r=e(function(){return!Object.getOwnPropertyNames(1)});return n({target:"Object",stat:!0,forced:r},{getOwnPropertyNames:t}),XN}var ah,JN;function boe(){if(JN)return ah;JN=1,yoe();var n=Se(),e=n.Object;return ah=function(r){return e.getOwnPropertyNames(r)},ah}var gh,eM;function woe(){if(eM)return gh;eM=1;var n=boe();return gh=n,gh}var Ah,tM;function Eoe(){return tM||(tM=1,Ah=woe()),Ah}var Soe=Eoe(),_oe=ae(Soe),Ih,rM;function Ooe(){if(rM)return Ih;rM=1,NX();var n=Se();return Ih=n.Object.getOwnPropertySymbols,Ih}var Ch,iM;function Toe(){if(iM)return Ch;iM=1;var n=Ooe();return Ch=n,Ch}var dh,nM;function Roe(){return nM||(nM=1,dh=Toe()),dh}var Poe=Roe(),Xi=ae(Poe),lh={exports:{}},sM={},oM;function xoe(){if(oM)return sM;oM=1;var n=ee(),e=pe(),t=Fr(),r=YA().f,i=Xe(),s=!i||e(function(){r(1)});return n({target:"Object",stat:!0,forced:s,sham:!i},{getOwnPropertyDescriptor:function(a,g){return r(t(a),g)}}),sM}var aM;function $oe(){if(aM)return lh.exports;aM=1,xoe();var n=Se(),e=n.Object,t=lh.exports=function(i,s){return e.getOwnPropertyDescriptor(i,s)};return e.getOwnPropertyDescriptor.sham&&(t.sham=!0),lh.exports}var uh,gM;function Doe(){if(gM)return uh;gM=1;var n=$oe();return uh=n,uh}var hh,AM;function Noe(){return AM||(AM=1,hh=Doe()),hh}var Moe=Noe(),nn=ae(Moe),IM={},ch,CM;function qoe(){if(CM)return ch;CM=1;var n=rr(),e=ve(),t=sI(),r=JA(),i=Xr(),s=e([].concat);return ch=n("Reflect","ownKeys")||function(a){var g=t.f(i(a)),A=r.f;return A?s(g,A(a)):g},ch}var dM;function Foe(){if(dM)return IM;dM=1;var n=ee(),e=Xe(),t=qoe(),r=Fr(),i=YA(),s=nI();return n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(a){for(var g=r(a),A=i.f,I=t(g),C={},d=0,l,u;I.length>d;)u=A(g,l=I[d++]),u!==void 0&&s(C,l,u);return C}}),IM}var fh,lM;function koe(){if(lM)return fh;lM=1,Foe();var n=Se();return fh=n.Object.getOwnPropertyDescriptors,fh}var ph,uM;function Boe(){if(uM)return ph;uM=1;var n=koe();return ph=n,ph}var vh,hM;function zoe(){return hM||(hM=1,vh=Boe()),vh}var joe=zoe(),Qi=ae(joe),mh={exports:{}},cM={},fM;function Loe(){if(fM)return cM;fM=1;var n=ee(),e=Xe(),t=pO().f;return n({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!e},{defineProperties:t}),cM}var pM;function Goe(){if(pM)return mh.exports;pM=1,Loe();var n=Se(),e=n.Object,t=mh.exports=function(i,s){return e.defineProperties(i,s)};return e.defineProperties.sham&&(t.sham=!0),mh.exports}var yh,vM;function Woe(){if(vM)return yh;vM=1;var n=Goe();return yh=n,yh}var bh,mM;function Voe(){return mM||(mM=1,bh=Woe()),bh}var Zoe=Voe(),AI=ae(Zoe),wh,yM;function Hoe(){return yM||(yM=1,wh=PX()),wh}var Uoe=Hoe(),II=ae(Uoe);function MO(n,e){const t=["node","edge","label"];let r=!0;const i=Ni(e,"chosen");if(typeof i=="boolean")r=i;else if(typeof i=="object"){if(je(t).call(t,n)===-1)throw new Error("choosify: subOption '"+n+"' should be one of '"+t.join("', '")+"'");const s=Ni(e,["chosen",n]);(typeof s=="boolean"||typeof s=="function")&&(r=s)}return r}function x_(n,e,t){if(n.width<=0||n.height<=0)return!1;if(t!==void 0){const s={x:e.x-t.x,y:e.y-t.y};if(t.angle!==0){const o=-t.angle;e={x:Math.cos(o)*s.x-Math.sin(o)*s.y,y:Math.sin(o)*s.x+Math.cos(o)*s.y}}else e=s}const r=n.x+n.width,i=n.y+n.width;return n.left<e.x&&r>e.x&&n.top<e.y&&i>e.y}function PA(n){return typeof n=="string"&&n!==""}function GX(n,e,t,r){let i=r.x,s=r.y;if(typeof r.distanceToBorder=="function"){const o=r.distanceToBorder(n,e),a=Math.sin(e)*o,g=Math.cos(e)*o;g===o?(i+=o,s=r.y):a===o?(i=r.x,s-=o):(i+=g,s-=a)}else r.shape.width>r.shape.height?(i=r.x+r.shape.width*.5,s=r.y-t):(i=r.x+t,s=r.y-r.shape.height*.5);return{x:i,y:s}}var bM={},wM;function Koe(){if(wM)return bM;wM=1;var n=ee(),e=Zn(),t=AX(),r=ut(),i=QA(),s=hi(),o=Fr(),a=nI(),g=st(),A=ug(),I=bo(),C=A("slice"),d=g("species"),l=Array,u=Math.max;return n({target:"Array",proto:!0,forced:!C},{slice:function(v,f){var c=o(this),b=s(c),p=i(v,b),y=i(f===void 0?b:f,b),E,S,m;if(e(c)&&(E=c.constructor,t(E)&&(E===l||e(E.prototype))?E=void 0:r(E)&&(E=E[d],E===null&&(E=void 0)),E===l||E===void 0))return I(c,p,y);for(S=new(E===void 0?l:E)(u(y-p,0)),m=0;p<y;p++,m++)p in c&&a(S,m,c[p]);return S.length=m,S}}),bM}var Eh,EM;function Yoe(){if(EM)return Eh;EM=1,Koe();var n=Pt();return Eh=n("Array","slice"),Eh}var Sh,SM;function Xoe(){if(SM)return Sh;SM=1;var n=nt(),e=Yoe(),t=Array.prototype;return Sh=function(r){var i=r.slice;return r===t||n(t,r)&&i===t.slice?e:i},Sh}var _h,_M;function Qoe(){if(_M)return _h;_M=1;var n=Xoe();return _h=n,_h}var Oh,OM;function Joe(){return OM||(OM=1,Oh=Qoe()),Oh}var eae=Joe(),Ss=ae(eae),Th,TM;function tae(){if(TM)return Th;TM=1,To();var n=Pt();return Th=n("Array","values"),Th}var Rh,RM;function rae(){if(RM)return Rh;RM=1;var n=tae();return Rh=n,Rh}var Ph,PM;function iae(){if(PM)return Ph;PM=1,Ro();var n=_o(),e=Rt(),t=nt(),r=rae(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return Ph=function(o){var a=o.values;return o===i||t(i,o)&&a===i.values||e(s,n(o))?r:a},Ph}var xh,xM;function nae(){return xM||(xM=1,xh=iae()),xh}var sae=nae(),WX=ae(sae);let oae=class{constructor(e){this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}_add(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"normal";this.lines[e]===void 0&&(this.lines[e]={width:0,height:0,blocks:[]});let i=t;(t===void 0||t==="")&&(i=" ");const s=this.measureText(i,r),o=Ot({},WX(s));o.text=t,o.width=s.width,o.mod=r,(t===void 0||t==="")&&(o.width=0),this.lines[e].blocks.push(o),this.lines[e].width+=o.width}curWidth(){const e=this.lines[this.current];return e===void 0?0:e.width}append(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t)}newLine(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t),this.current++}determineLineHeights(){for(let e=0;e<this.lines.length;e++){const t=this.lines[e];let r=0;if(t.blocks!==void 0)for(let i=0;i<t.blocks.length;i++){const s=t.blocks[i];r<s.height&&(r=s.height)}t.height=r}}determineLabelSize(){let e=0,t=0;for(let r=0;r<this.lines.length;r++){const i=this.lines[r];i.width>e&&(e=i.width),t+=i.height}this.width=e,this.height=t}removeEmptyBlocks(){const e=[];for(let t=0;t<this.lines.length;t++){const r=this.lines[t];if(r.blocks.length===0||t===this.lines.length-1&&r.width===0)continue;const i={};Ot(i,r),i.blocks=[];let s;const o=[];for(let a=0;a<r.blocks.length;a++){const g=r.blocks[a];g.width!==0?o.push(g):s===void 0&&(s=g)}o.length===0&&s!==void 0&&o.push(s),i.blocks=o,e.push(i)}return e}finalize(){this.determineLineHeights(),this.determineLabelSize();const e=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:e}}};const aae={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/};let $M=class{constructor(e){this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}mod(){return this.modStack.length===0?"normal":this.modStack[0]}modName(){if(this.modStack.length===0)return"normal";if(this.modStack[0]==="mono")return"mono";if(this.bold&&this.ital)return"boldital";if(this.bold)return"bold";if(this.ital)return"ital"}emitBlock(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}add(e){e===" "&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1),e!=" "&&(this.buffer+=e)}parseWS(e){return/[ \t]/.test(e)?(this.mono?this.add(e):this.spacing=!0,!0):!1}setTag(e){this.emitBlock(),this[e]=!0,this.modStack.unshift(e)}unsetTag(e){this.emitBlock(),this[e]=!1,this.modStack.shift()}parseStartTag(e,t){return!this.mono&&!this[e]&&this.match(t)?(this.setTag(e),!0):!1}match(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const[r,i]=this.prepareRegExp(e),s=r.test(this.text.substr(this.position,i));return s&&t&&(this.position+=i-1),s}parseEndTag(e,t,r){let i=this.mod()===e;return e==="mono"?i=i&&this.mono:i=i&&!this.mono,i&&this.match(t)?(r!==void 0?(this.position===this.text.length-1||this.match(r,!1))&&this.unsetTag(e):this.unsetTag(e),!0):!1}replace(e,t){return this.match(e)?(this.add(t),this.position+=length-1,!0):!1}prepareRegExp(e){let t,r;if(e instanceof RegExp)r=e,t=1;else{const i=aae[e];i!==void 0?r=i:r=new RegExp(e),t=e.length}return[r,t]}},gae=class{constructor(e,t,r,i){this.ctx=e,this.parent=t,this.selected=r,this.hover=i;const s=(o,a)=>{if(o===void 0)return 0;const g=this.parent.getFormattingValues(e,r,i,a);let A=0;return o!==""&&(A=this.ctx.measureText(o).width),{width:A,values:g}};this.lines=new oae(s)}process(e){if(!PA(e))return this.lines.finalize();const t=this.parent.fontOptions;e=e.replace(/\r\n/g,`
959
+ `),e=e.replace(/\r/g,`
960
+ `);const r=String(e).split(`
961
+ `),i=r.length;if(t.multi)for(let s=0;s<i;s++){const o=this.splitBlocks(r[s],t.multi);if(o!==void 0){if(o.length===0){this.lines.newLine("");continue}if(t.maxWdt>0)for(let a=0;a<o.length;a++){const g=o[a].mod,A=o[a].text;this.splitStringIntoLines(A,g,!0)}else for(let a=0;a<o.length;a++){const g=o[a].mod,A=o[a].text;this.lines.append(A,g)}this.lines.newLine()}}else if(t.maxWdt>0)for(let s=0;s<i;s++)this.splitStringIntoLines(r[s]);else for(let s=0;s<i;s++)this.lines.newLine(r[s]);return this.lines.finalize()}decodeMarkupSystem(e){let t="none";return e==="markdown"||e==="md"?t="markdown":(e===!0||e==="html")&&(t="html"),t}splitHtmlBlocks(e){const t=new $M(e),r=i=>/&/.test(i)?(t.replace(t.text,"&lt;","<")||t.replace(t.text,"&amp;","&")||t.add("&"),!0):!1;for(;t.position<t.text.length;){const i=t.text.charAt(t.position);t.parseWS(i)||/</.test(i)&&(t.parseStartTag("bold","<b>")||t.parseStartTag("ital","<i>")||t.parseStartTag("mono","<code>")||t.parseEndTag("bold","</b>")||t.parseEndTag("ital","</i>")||t.parseEndTag("mono","</code>"))||r(i)||t.add(i),t.position++}return t.emitBlock(),t.blocks}splitMarkdownBlocks(e){const t=new $M(e);let r=!0;const i=s=>/\\/.test(s)?(t.position<this.text.length+1&&(t.position++,s=this.text.charAt(t.position),/ \t/.test(s)?t.spacing=!0:(t.add(s),r=!1)),!0):!1;for(;t.position<t.text.length;){const s=t.text.charAt(t.position);t.parseWS(s)||i(s)||(r||t.spacing)&&(t.parseStartTag("bold","*")||t.parseStartTag("ital","_")||t.parseStartTag("mono","`"))||t.parseEndTag("bold","*","afterBold")||t.parseEndTag("ital","_","afterItal")||t.parseEndTag("mono","`","afterMono")||(t.add(s),r=!1),t.position++}return t.emitBlock(),t.blocks}splitBlocks(e,t){const r=this.decodeMarkupSystem(t);if(r==="none")return[{text:e,mod:"normal"}];if(r==="markdown")return this.splitMarkdownBlocks(e);if(r==="html")return this.splitHtmlBlocks(e)}overMaxWidth(e){const t=this.ctx.measureText(e).width;return this.lines.curWidth()+t>this.parent.fontOptions.maxWdt}getLongestFit(e){let t="",r=0;for(;r<e.length;){const s=t+(t===""?"":" ")+e[r];if(this.overMaxWidth(s))break;t=s,r++}return r}getLongestFitWord(e){let t=0;for(;t<e.length&&!this.overMaxWidth(Ss(e).call(e,0,t));)t++;return t}splitStringIntoLines(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.parent.getFormattingValues(this.ctx,this.selected,this.hover,t),e=e.replace(/^( +)/g,"$1\r"),e=e.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");let i=e.split("\r");for(;i.length>0;){let s=this.getLongestFit(i);if(s===0){const o=i[0],a=this.getLongestFitWord(o);this.lines.newLine(Ss(o).call(o,0,a),t),i[0]=Ss(o).call(o,a)}else{let o=s;i[s-1]===" "?s--:i[o]===" "&&o++;const a=Ss(i).call(i,0,s).join("");s==i.length&&r?this.lines.append(a,t):this.lines.newLine(a,t),i=Ss(i).call(i,o)}}}};const Ia=["bold","ital","boldital","mono"];let VX=class hA{constructor(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(t),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=r}setOptions(e){if(this.elementOptions=e,this.initFontOptions(e.font),PA(e.label)?this.labelDirty=!0:e.label=void 0,e.font!==void 0&&e.font!==null){if(typeof e.font=="string")this.baseSize=this.fontOptions.size;else if(typeof e.font=="object"){const t=e.font.size;t!==void 0&&(this.baseSize=t)}}}initFontOptions(e){if(le(Ia,t=>{this.fontOptions[t]={}}),hA.parseFontString(this.fontOptions,e)){this.fontOptions.vadjust=0;return}le(e,(t,r)=>{t!=null&&typeof t!="object"&&(this.fontOptions[r]=t)})}static parseFontString(e,t){if(!t||typeof t!="string")return!1;const r=t.split(" ");return e.size=+r[0].replace("px",""),e.face=r[1],e.color=r[2],!0}constrain(e){const t={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},r=Ni(e,"widthConstraint");if(typeof r=="number")t.maxWdt=Number(r),t.minWdt=Number(r);else if(typeof r=="object"){const s=Ni(e,["widthConstraint","maximum"]);typeof s=="number"&&(t.maxWdt=Number(s));const o=Ni(e,["widthConstraint","minimum"]);typeof o=="number"&&(t.minWdt=Number(o))}const i=Ni(e,"heightConstraint");if(typeof i=="number")t.minHgt=Number(i);else if(typeof i=="object"){const s=Ni(e,["heightConstraint","minimum"]);typeof s=="number"&&(t.minHgt=Number(s));const o=Ni(e,["heightConstraint","valign"]);typeof o=="string"&&(o==="top"||o==="bottom")&&(t.valign=o)}return t}update(e,t){this.setOptions(e,!0),this.propagateFonts(t),Pe(this.fontOptions,this.constrain(t)),this.fontOptions.chooser=MO("label",t)}adjustSizes(e){const t=e?e.right+e.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=t,this.fontOptions.minWdt-=t);const r=e?e.top+e.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=r)}addFontOptionsToPile(e,t){for(let r=0;r<t.length;++r)this.addFontToPile(e,t[r])}addFontToPile(e,t){if(t===void 0||t.font===void 0||t.font===null)return;const r=t.font;e.push(r)}getBasicOptions(e){const t={};for(let r=0;r<e.length;++r){let i=e[r];const s={};hA.parseFontString(s,i)&&(i=s),le(i,(o,a)=>{o!==void 0&&(Object.prototype.hasOwnProperty.call(t,a)||(je(Ia).call(Ia,a)!==-1?t[a]={}:t[a]=o))})}return t}getFontOption(e,t,r){let i;for(let s=0;s<e.length;++s){const o=e[s];if(Object.prototype.hasOwnProperty.call(o,t)){if(i=o[t],i==null)continue;const a={};if(hA.parseFontString(a,i)&&(i=a),Object.prototype.hasOwnProperty.call(i,r))return i[r]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,r))return this.fontOptions[r];throw new Error("Did not find value for multi-font for property: '"+r+"'")}getFontOptions(e,t){const r={},i=["color","size","face","mod","vadjust"];for(let s=0;s<i.length;++s){const o=i[s];r[o]=this.getFontOption(e,t,o)}return r}propagateFonts(e){const t=[];this.addFontOptionsToPile(t,e),this.fontOptions=this.getBasicOptions(t);for(let r=0;r<Ia.length;++r){const i=Ia[r],s=this.fontOptions[i],o=this.getFontOptions(t,i);le(o,(a,g)=>{s[g]=a}),s.size=Number(s.size),s.vadjust=Number(s.vadjust)}}draw(e,t,r,i,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";if(this.elementOptions.label===void 0)return;let a=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&a<this.elementOptions.scaling.label.drawThreshold-1||(a>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(e,i,s,t,r,o),this._drawBackground(e),this._drawText(e,t,this.size.yLine,o,a))}_drawBackground(e){if(this.fontOptions.background!==void 0&&this.fontOptions.background!=="none"){e.fillStyle=this.fontOptions.background;const t=this.getSize();e.fillRect(t.left,t.top,t.width,t.height)}}_drawText(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"middle",s=arguments.length>4?arguments[4]:void 0;[t,r]=this._setAlignment(e,t,r,i),e.textAlign="left",t=t-this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&(this.fontOptions.valign==="top"&&(r-=(this.size.height-this.size.labelHeight)/2),this.fontOptions.valign==="bottom"&&(r+=(this.size.height-this.size.labelHeight)/2));for(let o=0;o<this.lineCount;o++){const a=this.lines[o];if(a&&a.blocks){let g=0;this.isEdgeLabel||this.fontOptions.align==="center"?g+=(this.size.width-a.width)/2:this.fontOptions.align==="right"&&(g+=this.size.width-a.width);for(let A=0;A<a.blocks.length;A++){const I=a.blocks[A];e.font=I.font;const[C,d]=this._getColor(I.color,s,I.strokeColor);I.strokeWidth>0&&(e.lineWidth=I.strokeWidth,e.strokeStyle=d,e.lineJoin="round"),e.fillStyle=C,I.strokeWidth>0&&e.strokeText(I.text,t+g,r+I.vadjust),e.fillText(I.text,t+g,r+I.vadjust),g+=I.width}r+=a.height}}}_setAlignment(e,t,r,i){if(this.isEdgeLabel&&this.fontOptions.align!=="horizontal"&&this.pointToSelf===!1){t=0,r=0;const s=2;this.fontOptions.align==="top"?(e.textBaseline="alphabetic",r-=2*s):this.fontOptions.align==="bottom"?(e.textBaseline="hanging",r+=2*s):e.textBaseline="middle"}else e.textBaseline=i;return[t,r]}_getColor(e,t,r){let i=e||"#000000",s=r||"#ffffff";if(t<=this.elementOptions.scaling.label.drawThreshold){const o=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-t)));i=ar(i,o),s=ar(s,o)}return[i,s]}getTextSize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this._processLabel(e,t,r),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}getSize(){let t=this.size.left,r=this.size.top-.5*2;if(this.isEdgeLabel){const s=-this.size.width*.5;switch(this.fontOptions.align){case"middle":t=s,r=-this.size.height*.5;break;case"top":t=s,r=-(this.size.height+2);break;case"bottom":t=s,r=2;break}}return{left:t,top:r,width:this.size.width,height:this.size.height}}calculateLabelSize(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";this._processLabel(e,t,r),this.size.left=i-this.size.width*.5,this.size.top=s-this.size.height*.5,this.size.yLine=s+(1-this.lineCount)*.5*this.fontOptions.size,o==="hanging"&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}getFormattingValues(e,t,r,i){const s=function(g,A,I){return A==="normal"?I==="mod"?"":g[I]:g[A][I]!==void 0?g[A][I]:g[I]},o={color:s(this.fontOptions,i,"color"),size:s(this.fontOptions,i,"size"),face:s(this.fontOptions,i,"face"),mod:s(this.fontOptions,i,"mod"),vadjust:s(this.fontOptions,i,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(t||r)&&(i==="normal"&&this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?o.mod="bold":typeof this.fontOptions.chooser=="function"&&this.fontOptions.chooser(o,this.elementOptions.id,t,r));let a="";return o.mod!==void 0&&o.mod!==""&&(a+=o.mod+" "),a+=o.size+"px "+o.face,e.font=a.replace(/"/g,""),o.font=e.font,o.height=o.size,o}differentState(e,t){return e!==this.selectedState||t!==this.hoverState}_processLabelText(e,t,r,i){return new gae(e,this,t,r).process(i)}_processLabel(e,t,r){if(this.labelDirty===!1&&!this.differentState(t,r))return;const i=this._processLabelText(e,t,r,this.elementOptions.label);this.fontOptions.minWdt>0&&i.width<this.fontOptions.minWdt&&(i.width=this.fontOptions.minWdt),this.size.labelHeight=i.height,this.fontOptions.minHgt>0&&i.height<this.fontOptions.minHgt&&(i.height=this.fontOptions.minHgt),this.lines=i.lines,this.lineCount=i.lines.length,this.size.width=i.width,this.size.height=i.height,this.selectedState=t,this.hoverState=r,this.labelDirty=!1}visible(){return!(this.size.width===0||this.size.height===0||this.elementOptions.label===void 0||this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}};var DM={},$h,NM;function Aae(){if(NM)return $h;NM=1;var n=dr(),e=QA(),t=hi();return $h=function(i){for(var s=n(this),o=t(s),a=arguments.length,g=e(a>1?arguments[1]:void 0,o),A=a>2?arguments[2]:void 0,I=A===void 0?o:e(A,o);I>g;)s[g++]=i;return s},$h}var MM;function Iae(){if(MM)return DM;MM=1;var n=ee(),e=Aae(),t=vO();return n({target:"Array",proto:!0},{fill:e}),t("fill"),DM}var Dh,qM;function Cae(){if(qM)return Dh;qM=1,Iae();var n=Pt();return Dh=n("Array","fill"),Dh}var Nh,FM;function dae(){if(FM)return Nh;FM=1;var n=nt(),e=Cae(),t=Array.prototype;return Nh=function(r){var i=r.fill;return r===t||n(t,r)&&i===t.fill?e:i},Nh}var Mh,kM;function lae(){if(kM)return Mh;kM=1;var n=dae();return Mh=n,Mh}var qh,BM;function uae(){return BM||(BM=1,qh=lae()),qh}var hae=uae(),CI=ae(hae);let Kn=class{constructor(e,t,r){this.body=t,this.labelModule=r,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}setOptions(e){this.options=e}_setMargins(e){this.margin={},this.options.margin&&(typeof this.options.margin=="object"?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),e.adjustSizes(this.margin)}_distanceToBorder(e,t){const r=this.options.borderWidth;return e&&this.resize(e),Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}enableShadow(e,t){t.shadow&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}enableBorderDashes(e,t){if(t.borderDashes!==!1)if(e.setLineDash!==void 0){let r=t.borderDashes;r===!0&&(r=[5,15]),e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1}disableBorderDashes(e,t){t.borderDashes!==!1&&(e.setLineDash!==void 0?e.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1))}needsRefresh(e,t){return this.refreshNeeded===!0?(this.refreshNeeded=!1,!0):this.width===void 0||this.labelModule.differentState(e,t)}initContextForDraw(e,t){const r=t.borderWidth/this.body.view.scale;e.lineWidth=Math.min(this.width,r),e.strokeStyle=t.borderColor,e.fillStyle=t.color}performStroke(e,t){const r=t.borderWidth/this.body.view.scale;e.save(),r>0&&(this.enableBorderDashes(e,t),e.stroke(),this.disableBorderDashes(e,t)),e.restore()}performFill(e,t){e.save(),e.fillStyle=t.color,this.enableShadow(e,t),CI(e).call(e),this.disableShadow(e,t),e.restore(),this.performStroke(e,t)}_addBoundingBoxMargin(e){this.boundingBox.left-=e,this.boundingBox.top-=e,this.boundingBox.bottom+=e,this.boundingBox.right+=e}_updateBoundingBox(e,t,r,i,s){r!==void 0&&this.resize(r,i,s),this.left=e-this.width/2,this.top=t-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}updateBoundingBox(e,t,r,i,s){this._updateBoundingBox(e,t,r,i,s)}getDimensionsFromLabel(e,t,r){this.textSize=this.labelModule.getTextSize(e,t,r);let i=this.textSize.width,s=this.textSize.height;const o=14;return i===0&&(i=o,s=o),{width:i,height:s}}},cae=class extends Kn{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.width=i.width+this.margin.right+this.margin.left,this.height=i.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,o),S6(e,this.left,this.top,this.width,this.height,o.borderRadius),this.performFill(e,o),this.updateBoundingBox(t,r,e,i,s),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,s)}updateBoundingBox(e,t,r,i,s){this._updateBoundingBox(e,t,r,i,s);const o=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(o)}distanceToBorder(e,t){e&&this.resize(e);const r=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}},qO=class extends Kn{constructor(e,t,r){super(e,t,r),this.labelOffset=0,this.selected=!1}setOptions(e,t,r){this.options=e,t===void 0&&r===void 0||this.setImages(t,r)}setImages(e,t){t&&this.selected?(this.imageObj=t,this.imageObjAlt=e):(this.imageObj=e,this.imageObjAlt=t)}switchImages(e){const t=e&&!this.selected||!e&&this.selected;if(this.selected=e,this.imageObjAlt!==void 0&&t){const r=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=r}}_getImagePadding(){const e={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){const t=this.options.imagePadding;typeof t=="object"?(e.top=t.top,e.right=t.right,e.bottom=t.bottom,e.left=t.left):(e.top=t,e.right=t,e.bottom=t,e.left=t)}return e}_resizeImage(){let e,t;if(this.options.shapeProperties.useImageSize===!1){let r=1,i=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?r=this.imageObj.width/this.imageObj.height:i=this.imageObj.height/this.imageObj.width),e=this.options.size*2*r,t=this.options.size*2*i}else{const r=this._getImagePadding();e=this.imageObj.width+r.left+r.right,t=this.imageObj.height+r.top+r.bottom}this.width=e,this.height=t,this.radius=.5*this.width}_drawRawCircle(e,t,r,i){this.initContextForDraw(e,i),gO(e,t,r,i.size),this.performFill(e,i)}_drawImageAtPosition(e,t){if(this.imageObj.width!=0){e.globalAlpha=t.opacity!==void 0?t.opacity:1,this.enableShadow(e,t);let r=1;this.options.shapeProperties.interpolation===!0&&(r=this.imageObj.width/this.width/this.body.view.scale);const i=this._getImagePadding(),s=this.left+i.left,o=this.top+i.top,a=this.width-i.left-i.right,g=this.height-i.top-i.bottom;this.imageObj.drawImageAtPosition(e,r,s,o,a,g),this.disableShadow(e,t)}}_drawImageLabel(e,t,r,i,s){let o=0;if(this.height!==void 0){o=this.height*.5;const g=this.labelModule.getTextSize(e,i,s);g.lineCount>=1&&(o+=g.height/2)}const a=r+o;this.options.label&&(this.labelOffset=o),this.labelModule.draw(e,t,a,i,s,"hanging")}},fae=class extends qO{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r),s=Math.max(i.width+this.margin.right+this.margin.left,i.height+this.margin.top+this.margin.bottom);this.options.size=s/2,this.width=s,this.height=s,this.radius=this.width/2}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this._drawRawCircle(e,t,r,o),this.updateBoundingBox(t,r),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,r,i,s)}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size}distanceToBorder(e){return e&&this.resize(e),this.width*.5}},pae=class extends qO{constructor(e,t,r,i,s){super(e,t,r),this.setImages(i,s)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const s=this.options.size*2;this.width=s,this.height=s,this.radius=.5*this.width;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,s,o){this.switchImages(i),this.resize();let a=t,g=r;this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this._drawRawCircle(e,a,g,o),e.save(),e.clip(),this._drawImageAtPosition(e,o),e.restore(),this._drawImageLabel(e,a,g,i,s),this.updateBoundingBox(t,r)}updateBoundingBox(e,t){this.options.shapeProperties.coordinateOrigin==="top-left"?(this.boundingBox.top=t,this.boundingBox.left=e,this.boundingBox.right=e+this.options.size*2,this.boundingBox.bottom=t+this.options.size*2):(this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}distanceToBorder(e){return e&&this.resize(e),this.width*.5}},sn=class extends Kn{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{size:this.options.size};if(this.needsRefresh(t,r)){var s,o;this.labelModule.getTextSize(e,t,r);const a=2*i.size;this.width=(s=this.customSizeWidth)!==null&&s!==void 0?s:a,this.height=(o=this.customSizeHeight)!==null&&o!==void 0?o:a,this.radius=.5*this.width}}_drawShape(e,t,r,i,s,o,a,g){return this.resize(e,o,a,g),this.left=i-this.width/2,this.top=s-this.height/2,this.initContextForDraw(e,g),ite(t)(e,i,s,g.size),this.performFill(e,g),this.options.icon!==void 0&&this.options.icon.code!==void 0&&(e.font=(o?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",e.fillText(this.options.icon.code,i,s)),{drawExternalLabel:()=>{if(this.options.label!==void 0){this.labelModule.calculateLabelSize(e,o,a,i,s,"hanging");const A=s+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(e,i,A,o,a,"hanging")}this.updateBoundingBox(i,s)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}};function zM(n,e){var t=Je(n);if(Xi){var r=Xi(n);e&&(r=ci(r).call(r,function(i){return nn(n,i).enumerable})),t.push.apply(t,r)}return t}function vae(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Ne(t=zM(Object(i),!0)).call(t,function(s){ti(n,s,i[s])}):Qi?AI(n,Qi(i)):Ne(r=zM(Object(i))).call(r,function(s){II(n,s,nn(i,s))})}return n}let mae=class extends sn{constructor(e,t,r,i){super(e,t,r,i),this.ctxRenderer=i}draw(e,t,r,i,s,o){this.resize(e,i,s,o),this.left=t-this.width/2,this.top=r-this.height/2,e.save();const a=this.ctxRenderer({ctx:e,id:this.options.id,x:t,y:r,state:{selected:i,hover:s},style:vae({},o),label:this.options.label});if(a.drawNode!=null&&a.drawNode(),e.restore(),a.drawExternalLabel){const g=a.drawExternalLabel;a.drawExternalLabel=()=>{e.save(),g(),e.restore()}}return a.nodeDimensions&&(this.customSizeWidth=a.nodeDimensions.width,this.customSizeHeight=a.nodeDimensions.height),a}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},yae=class extends Kn{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){if(this.needsRefresh(t,r)){const s=this.getDimensionsFromLabel(e,t,r).width+this.margin.right+this.margin.left;this.width=s,this.height=s,this.radius=this.width/2}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,o),_6(e,t-this.width/2,r-this.height/2,this.width,this.height),this.performFill(e,o),this.updateBoundingBox(t,r,e,i,s),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},bae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"diamond",4,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},wae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"circle",2,t,r,i,s,o)}distanceToBorder(e){return e&&this.resize(e),this.options.size}},jM=class extends Kn{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.height=i.height*2,this.width=i.width+i.height,this.radius=.5*this.width}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width*.5,this.top=r-this.height*.5,this.initContextForDraw(e,o),m_(e,this.left,this.top,this.width,this.height),this.performFill(e,o),this.updateBoundingBox(t,r,e,i,s),this.labelModule.draw(e,t,r,i,s)}distanceToBorder(e,t){e&&this.resize(e);const r=this.width*.5,i=this.height*.5,s=Math.sin(t)*r,o=Math.cos(t)*i;return r*i/Math.sqrt(s*s+o*o)}},Eae=class extends Kn{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,s,o){return this.resize(e,i,s),this.options.icon.size=this.options.icon.size||50,this.left=t-this.width/2,this.top=r-this.height/2,this._icon(e,t,r,i,s,o),{drawExternalLabel:()=>{this.options.label!==void 0&&this.labelModule.draw(e,this.left+this.iconSize.width/2+this.margin.left,r+this.height/2+5,i),this.updateBoundingBox(t,r)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.icon.size*.5,this.boundingBox.left=e-this.options.icon.size*.5,this.boundingBox.right=e+this.options.icon.size*.5,this.boundingBox.bottom=t+this.options.icon.size*.5,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5))}_icon(e,t,r,i,s,o){const a=Number(this.options.icon.size);this.options.icon.code!==void 0?(e.font=[this.options.icon.weight!=null?this.options.icon.weight:i?"bold":"",(this.options.icon.weight!=null&&i?5:0)+a+"px",this.options.icon.face].join(" "),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",this.enableShadow(e,o),e.fillText(this.options.icon.code,t,r),this.disableShadow(e,o)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},Sae=class extends qO{constructor(e,t,r,i,s){super(e,t,r),this.setImages(i,s)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const s=this.options.size*2;this.width=s,this.height=s;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,s,o){e.save(),this.switchImages(i),this.resize();let a=t,g=r;if(this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this.options.shapeProperties.useBorderWithImage===!0){const A=this.options.borderWidth,I=this.options.borderWidthSelected||2*this.options.borderWidth,C=(i?I:A)/this.body.view.scale;e.lineWidth=Math.min(this.width,C),e.beginPath();let d=i?this.options.color.highlight.border:s?this.options.color.hover.border:this.options.color.border,l=i?this.options.color.highlight.background:s?this.options.color.hover.background:this.options.color.background;o.opacity!==void 0&&(d=ar(d,o.opacity),l=ar(l,o.opacity)),e.strokeStyle=d,e.fillStyle=l,e.rect(this.left-.5*e.lineWidth,this.top-.5*e.lineWidth,this.width+e.lineWidth,this.height+e.lineWidth),CI(e).call(e),this.performStroke(e,o),e.closePath()}this._drawImageAtPosition(e,o),this._drawImageLabel(e,a,g,i,s),this.updateBoundingBox(t,r),e.restore()}updateBoundingBox(e,t){this.resize(),this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=e,this.top=t):(this.left=e-this.width/2,this.top=t-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},_ae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"square",2,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},Oae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"hexagon",4,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},Tae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"star",4,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},Rae=class extends Kn{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.textSize=this.labelModule.getTextSize(e,t,r),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this.enableShadow(e,o),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,s),this.disableShadow(e,o),this.updateBoundingBox(t,r,e,i,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},Pae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"triangle",3,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},xae=class extends sn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"triangleDown",3,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};function LM(n,e){var t=Je(n);if(Xi){var r=Xi(n);e&&(r=ci(r).call(r,function(i){return nn(n,i).enumerable})),t.push.apply(t,r)}return t}function GM(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Ne(t=LM(Object(i),!0)).call(t,function(s){ti(n,s,i[s])}):Qi?AI(n,Qi(i)):Ne(r=LM(Object(i))).call(r,function(s){II(n,s,nn(i,s))})}return n}let er=class Pr{constructor(e,t,r,i,s,o){this.options=Li(s),this.globalOptions=s,this.defaultOptions=o,this.body=t,this.edges=[],this.id=void 0,this.imagelist=r,this.grouplist=i,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new VX(this.body,this.options,!1),this.setOptions(e)}attachEdge(e){var t;je(t=this.edges).call(t,e)===-1&&this.edges.push(e)}detachEdge(e){var t;const r=je(t=this.edges).call(t,e);if(r!=-1){var i;Gi(i=this.edges).call(i,r,1)}}setOptions(e){const t=this.options.shape;if(!e)return;if(typeof e.color<"u"&&(this._localColor=e.color),e.id!==void 0&&(this.id=e.id),this.id===void 0)throw new Error("Node must have an id");Pr.checkMass(e,this.id),e.x!==void 0&&(e.x===null?(this.x=void 0,this.predefinedPosition=!1):(this.x=kN(e.x),this.predefinedPosition=!0)),e.y!==void 0&&(e.y===null?(this.y=void 0,this.predefinedPosition=!1):(this.y=kN(e.y),this.predefinedPosition=!0)),e.size!==void 0&&(this.baseSize=e.size),e.value!==void 0&&(e.value=LX(e.value)),Pr.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);const r=[e,this.options,this.defaultOptions];return this.chooser=MO("node",r),this._load_images(),this.updateLabelModule(e),e.opacity!==void 0&&Pr.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(t),e.hidden!==void 0||e.physics!==void 0}_load_images(){if((this.options.shape==="circularImage"||this.options.shape==="image")&&this.options.image===void 0)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(this.options.image!==void 0){if(this.imagelist===void 0)throw new Error("Internal Error: No images provided");if(typeof this.options.image=="string")this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(this.options.image.unselected===void 0)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),this.options.image.selected!==void 0?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}static checkOpacity(e){return 0<=e&&e<=1}static checkCoordinateOrigin(e){return e===void 0||e==="center"||e==="top-left"}static updateGroupOptions(e,t,r){var i;if(r===void 0)return;const s=e.group;if(t!==void 0&&t.group!==void 0&&s!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if(!(typeof s=="number"||typeof s=="string"&&s!=""))return;const a=r.get(s);a.opacity!==void 0&&t.opacity===void 0&&(Pr.checkOpacity(a.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+a.opacity),a.opacity=void 0));const g=ci(i=_oe(t)).call(i,A=>t[A]!=null);g.push("font"),TA(g,e,a),e.color=S_(e.color)}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0;if(TA(["color","fixed","shadow"],e,t,r),Pr.checkMass(t),e.opacity!==void 0&&(Pr.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),t.opacity!==void 0&&(Pr.checkOpacity(t.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity),t.opacity=void 0)),t.shapeProperties&&!Pr.checkCoordinateOrigin(t.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+t.shapeProperties.coordinateOrigin),sr(e,t,"shadow",i),t.color!==void 0&&t.color!==null){const a=S_(t.color);iX(e.color,a)}else r===!0&&t.color===null&&(e.color=Li(i.color));t.fixed!==void 0&&t.fixed!==null&&(typeof t.fixed=="boolean"?(e.fixed.x=t.fixed,e.fixed.y=t.fixed):(t.fixed.x!==void 0&&typeof t.fixed.x=="boolean"&&(e.fixed.x=t.fixed.x),t.fixed.y!==void 0&&typeof t.fixed.y=="boolean"&&(e.fixed.y=t.fixed.y))),r===!0&&t.font===null&&(e.font=Li(i.font)),Pr.updateGroupOptions(e,t,s),t.scaling!==void 0&&sr(e.scaling,t.scaling,"label",i.scaling)}getFormattingValues(){const e={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?this.chooser===!0?this.selected?(this.options.borderWidthSelected!=null?e.borderWidth=this.options.borderWidthSelected:e.borderWidth*=2,e.color=this.options.color.highlight.background,e.borderColor=this.options.color.highlight.border,e.shadow=this.options.shadow.enabled):this.hover&&(e.color=this.options.color.hover.background,e.borderColor=this.options.color.hover.border,e.shadow=this.options.shadow.enabled):typeof this.chooser=="function"&&(this.chooser(e,this.options.id,this.selected,this.hover),e.shadow===!1&&(e.shadowColor!==this.options.shadow.color||e.shadowSize!==this.options.shadow.size||e.shadowX!==this.options.shadow.x||e.shadowY!==this.options.shadow.y)&&(e.shadow=!0)):e.shadow=this.options.shadow.enabled,this.options.opacity!==void 0){const t=this.options.opacity;e.borderColor=ar(e.borderColor,t),e.color=ar(e.color,t),e.shadowColor=ar(e.shadowColor,t)}return e}updateLabelModule(e){(this.options.label===void 0||this.options.label===null)&&(this.options.label=""),Pr.updateGroupOptions(this.options,GM(GM({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);const t=this.grouplist.get(this.options.group,!1),r=[e,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,r),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateShape(e){if(e===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new cae(this.options,this.body,this.labelModule);break;case"circle":this.shape=new fae(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new pae(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new mae(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new yae(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new bae(this.options,this.body,this.labelModule);break;case"dot":this.shape=new wae(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new jM(this.options,this.body,this.labelModule);break;case"icon":this.shape=new Eae(this.options,this.body,this.labelModule);break;case"image":this.shape=new Sae(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new _ae(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new Oae(this.options,this.body,this.labelModule);break;case"star":this.shape=new Tae(this.options,this.body,this.labelModule);break;case"text":this.shape=new Rae(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new Pae(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new xae(this.options,this.body,this.labelModule);break;default:this.shape=new jM(this.options,this.body,this.labelModule);break}this.needsRefresh()}select(){this.selected=!0,this.needsRefresh()}unselect(){this.selected=!1,this.needsRefresh()}needsRefresh(){this.shape.refreshNeeded=!0}getTitle(){return this.options.title}distanceToBorder(e,t){return this.shape.distanceToBorder(e,t)}isFixed(){return this.options.fixed.x&&this.options.fixed.y}isSelected(){return this.selected}getValue(){return this.options.value}getLabelSize(){return this.labelModule.size()}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),s=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const o=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*o}this.options.size=this.options.scaling.min+i*s}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}draw(e){const t=this.getFormattingValues();return this.shape.draw(e,this.x,this.y,this.selected,this.hover,t)||{}}updateBoundingBox(e){this.shape.updateBoundingBox(this.x,this.y,e)}resize(e){const t=this.getFormattingValues();this.shape.resize(e,this.selected,this.hover,t)}getItemsOnPoint(e){const t=[];return this.labelModule.visible()&&x_(this.labelModule.getSize(),e)&&t.push({nodeId:this.id,labelId:0}),x_(this.shape.boundingBox,e)&&t.push({nodeId:this.id}),t}isOverlappingWith(e){return this.shape.left<e.right&&this.shape.left+this.shape.width>e.left&&this.shape.top<e.bottom&&this.shape.top+this.shape.height>e.top}isBoundingBoxOverlappingWith(e){return this.shape.boundingBox.left<e.right&&this.shape.boundingBox.right>e.left&&this.shape.boundingBox.top<e.bottom&&this.shape.boundingBox.bottom>e.top}static checkMass(e,t){if(e.mass!==void 0&&e.mass<=0){let r="";t!==void 0&&(r=" in node id: "+t),console.error("%cNegative or zero mass disallowed"+r+", setting mass to 1.",aX),e.mass=1}}},$ae=class{constructor(e,t,r,i){var s;if(this.body=e,this.images=t,this.groups=r,this.layoutEngine=i,this.body.functions.createNode=z(s=this.create).call(s,this),this.nodesListeners={add:(o,a)=>{this.add(a.items)},update:(o,a)=>{this.update(a.items,a.data,a.oldData)},remove:(o,a)=>{this.remove(a.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(o,a,g,A){if(a===o)return .5;{const I=1/(a-o);return Math.max(0,(A-o)*I)}}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=Li(this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e,t;this.body.emitter.on("refreshNodes",z(e=this.refresh).call(e,this)),this.body.emitter.on("refresh",z(t=this.refresh).call(t,this)),this.body.emitter.on("destroy",()=>{le(this.nodesListeners,(r,i)=>{this.body.data.nodes&&this.body.data.nodes.off(i,r)}),delete this.body.functions.createNode,delete this.nodesListeners.add,delete this.nodesListeners.update,delete this.nodesListeners.remove,delete this.nodesListeners})}setOptions(e){if(e!==void 0){if(er.parseOptions(this.options,e),e.opacity!==void 0&&(R_(e.opacity)||!mn(e.opacity)||e.opacity<0||e.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity):this.options.opacity=e.opacity),e.shape!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].updateShape();if(typeof e.font<"u"||typeof e.widthConstraint<"u"||typeof e.heightConstraint<"u")for(const t of Je(this.body.nodes))this.body.nodes[t].updateLabelModule(),this.body.nodes[t].needsRefresh();if(e.size!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].needsRefresh();(e.hidden!==void 0||e.physics!==void 0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.nodes;if(RX("id",e))this.body.data.nodes=e;else if($r(e))this.body.data.nodes=new to,this.body.data.nodes.add(e);else if(!e)this.body.data.nodes=new to;else throw new TypeError("Array or DataSet expected");if(r&&le(this.nodesListeners,function(i,s){r.off(s,i)}),this.body.nodes={},this.body.data.nodes){const i=this;le(this.nodesListeners,function(o,a){i.body.data.nodes.on(a,o)});const s=this.body.data.nodes.getIds();this.add(s,!0)}t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r;const i=[];for(let s=0;s<e.length;s++){r=e[s];const o=this.body.data.nodes.get(r),a=this.create(o);i.push(a),this.body.nodes[r]=a}this.layoutEngine.positionInitially(i),t===!1&&this.body.emitter.emit("_dataChanged")}update(e,t,r){const i=this.body.nodes;let s=!1;for(let o=0;o<e.length;o++){const a=e[o];let g=i[a];const A=t[o];g!==void 0?g.setOptions(A)&&(s=!0):(s=!0,g=this.create(A),i[a]=g)}!s&&r!==void 0&&(s=qne(t).call(t,function(o,a){const g=r[a];return g&&g.level!==o.level})),s===!0?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}remove(e){const t=this.body.nodes;for(let r=0;r<e.length;r++){const i=e[r];delete t[i]}this.body.emitter.emit("_dataChanged")}create(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:er;return new t(e,this.body,this.images,this.groups,this.options,this.defaultOptions)}refresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;le(this.body.nodes,(t,r)=>{const i=this.body.data.nodes.get(r);i!==void 0&&(e===!0&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(i))})}getPositions(e){const t={};if(e!==void 0){if($r(e)===!0){for(let r=0;r<e.length;r++)if(this.body.nodes[e[r]]!==void 0){const i=this.body.nodes[e[r]];t[e[r]]={x:Math.round(i.x),y:Math.round(i.y)}}}else if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];t[e]={x:Math.round(r.x),y:Math.round(r.y)}}}else for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];t[this.body.nodeIndices[r]]={x:Math.round(i.x),y:Math.round(i.y)}}return t}getPosition(e){if(e==null)throw new TypeError("No id was specified for getPosition method.");if(this.body.nodes[e]==null)throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(e));return{x:Math.round(this.body.nodes[e].x),y:Math.round(this.body.nodes[e].y)}}storePositions(){const e=[],t=this.body.data.nodes.getDataSet();for(const r of t.get()){const i=r.id,s=this.body.nodes[i],o=Math.round(s.x),a=Math.round(s.y);(r.x!==o||r.y!==a)&&e.push({id:i,x:o,y:a})}t.update(e)}getBoundingBox(e){if(this.body.nodes[e]!==void 0)return this.body.nodes[e].shape.boundingBox}getConnectedNodes(e,t){const r=[];if(this.body.nodes[e]!==void 0){const i=this.body.nodes[e],s={};for(let o=0;o<i.edges.length;o++){const a=i.edges[o];t!=="to"&&a.toId==i.id?s[a.fromId]===void 0&&(r.push(a.fromId),s[a.fromId]=!0):t!=="from"&&a.fromId==i.id&&s[a.toId]===void 0&&(r.push(a.toId),s[a.toId]=!0)}}return r}getConnectedEdges(e){const t=[];if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];for(let i=0;i<r.edges.length;i++)t.push(r.edges[i].id)}else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",e);return t}moveNode(e,t,r){this.body.nodes[e]!==void 0?(this.body.nodes[e].x=Number(t),this.body.nodes[e].y=Number(r),Bs(()=>{this.body.emitter.emit("startSimulation")},0)):console.error("Node id supplied to moveNode does not exist. Provided: ",e)}};var WM={},Fh,VM;function Dae(){if(VM)return Fh;VM=1;var n=yo(),e=hr(),t=li(),r=RangeError;return Fh=function(s){var o=e(t(this)),a="",g=n(s);if(g<0||g===1/0)throw new r("Wrong number of repetitions");for(;g>0;(g>>>=1)&&(o+=o))g&1&&(a+=o);return a},Fh}var kh,ZM;function Nae(){if(ZM)return kh;ZM=1;var n=ve(),e=w6(),t=hr(),r=Dae(),i=li(),s=n(r),o=n("".slice),a=Math.ceil,g=function(A){return function(I,C,d){var l=t(i(I)),u=e(C),h=l.length,v=d===void 0?" ":t(d),f,c;return u<=h||v===""?l:(f=u-h,c=s(v,a(f/v.length)),c.length>f&&(c=o(c,0,f)),A?l+c:c+l)}};return kh={start:g(!1),end:g(!0)},kh}var Bh,HM;function Mae(){if(HM)return Bh;HM=1;var n=ve(),e=pe(),t=Nae().start,r=RangeError,i=isFinite,s=Math.abs,o=Date.prototype,a=o.toISOString,g=n(o.getTime),A=n(o.getUTCDate),I=n(o.getUTCFullYear),C=n(o.getUTCHours),d=n(o.getUTCMilliseconds),l=n(o.getUTCMinutes),u=n(o.getUTCMonth),h=n(o.getUTCSeconds);return Bh=e(function(){return a.call(new Date(-5e13-1))!=="0385-07-25T07:06:39.999Z"})||!e(function(){a.call(new Date(NaN))})?function(){if(!i(g(this)))throw new r("Invalid time value");var f=this,c=I(f),b=d(f),p=c<0?"-":c>9999?"+":"";return p+t(s(c),p?6:4,0)+"-"+t(u(f)+1,2,0)+"-"+t(A(f),2,0)+"T"+t(C(f),2,0)+":"+t(l(f),2,0)+":"+t(h(f),2,0)+"."+t(b,3,0)+"Z"}:a,Bh}var UM;function qae(){if(UM)return WM;UM=1;var n=ee(),e=Yt(),t=dr(),r=v6(),i=Mae(),s=Yr(),o=pe(),a=o(function(){return new Date(NaN).toJSON()!==null||e(Date.prototype.toJSON,{toISOString:function(){return 1}})!==1});return n({target:"Date",proto:!0,forced:a},{toJSON:function(A){var I=t(this),C=r(I,"number");return typeof C=="number"&&!isFinite(C)?null:!("toISOString"in I)&&s(I)==="Date"?e(i,I):I.toISOString()}}),WM}var zh,KM;function Fae(){if(KM)return zh;KM=1,qae(),DX();var n=Se(),e=ZA();return n.JSON||(n.JSON={stringify:JSON.stringify}),zh=function(r,i,s){return e(n.JSON.stringify,null,arguments)},zh}var jh,YM;function kae(){if(YM)return jh;YM=1;var n=Fae();return jh=n,jh}var Lh,XM;function Bae(){return XM||(XM=1,Lh=kae()),Lh}var zae=Bae(),ZX=ae(zae),QM={},JM;function jae(){if(JM)return QM;JM=1;var n=ee(),e=Math.hypot,t=Math.abs,r=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;return n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(o,a){for(var g=0,A=0,I=arguments.length,C=0,d,l;A<I;)d=t(arguments[A++]),C<d?(l=C/d,g=g*l*l+1,C=d):d>0?(l=d/C,g+=l*l):g+=d;return C===1/0?1/0:C*r(g)}}),QM}var Gh,eq;function Lae(){if(eq)return Gh;eq=1,jae();var n=Se();return Gh=n.Math.hypot,Gh}var Wh,tq;function Gae(){if(tq)return Wh;tq=1;var n=Lae();return Wh=n,Wh}var Vh,rq;function Wae(){return rq||(rq=1,Vh=Gae()),Vh}var Vae=Wae(),Zae=ae(Vae);let Ke=class{static transform(e,t){$r(e)||(e=[e]);const r=t.point.x,i=t.point.y,s=t.angle,o=t.length;for(let a=0;a<e.length;++a){const g=e[a],A=g.x*Math.cos(s)-g.y*Math.sin(s),I=g.x*Math.sin(s)+g.y*Math.cos(s);g.x=r+o*A,g.y=i+o*I}}static drawPath(e,t){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let r=1;r<t.length;++r)e.lineTo(t[r].x,t[r].y);e.closePath()}},Hae=class extends Ke{static draw(e,t){if(t.image){e.save(),e.translate(t.point.x,t.point.y),e.rotate(Math.PI/2+t.angle);const r=t.imageWidth!=null?t.imageWidth:t.image.width,i=t.imageHeight!=null?t.imageHeight:t.image.height;t.image.drawImageAtPosition(e,1,-r/2,0,r,i),e.restore()}return!1}},Uae=class extends Ke{static draw(e,t){const r=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},Kae=class{static draw(e,t){const r=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},Yae=class{static draw(e,t){const r={x:-.4,y:0};Ke.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,s=t.angle-i/2,o=t.angle+i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,s,o,!1),e.stroke(),!0}},Xae=class{static draw(e,t){const r={x:-.3,y:0};Ke.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,s=t.angle+i/2,o=t.angle+3*i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,s,o,!1),e.stroke(),!0}},Qae=class{static draw(e,t){const r=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},Jae=class{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},ege=class{static draw(e,t){const r={x:-.4,y:0};return Ke.transform(r,t),gO(e,r.x,r.y,t.length*.4),!0}},tge=class{static draw(e,t){const r=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},rge=class{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},ige=class{static draw(e,t){const r=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},nge=class{static draw(e,t){const r=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return Ke.transform(r,t),Ke.drawPath(e,r),!0}},HX=class{static draw(e,t){let r;switch(t.type&&(r=t.type.toLowerCase()),r){case"image":return Hae.draw(e,t);case"circle":return ege.draw(e,t);case"box":return rge.draw(e,t);case"crow":return Kae.draw(e,t);case"curve":return Yae.draw(e,t);case"diamond":return ige.draw(e,t);case"inv_curve":return Xae.draw(e,t);case"triangle":return Qae.draw(e,t);case"inv_triangle":return Jae.draw(e,t);case"bar":return tge.draw(e,t);case"vee":return nge.draw(e,t);case"arrow":default:return Uae.draw(e,t)}}};function iq(n,e){var t=Je(n);if(Xi){var r=Xi(n);e&&(r=ci(r).call(r,function(i){return nn(n,i).enumerable})),t.push.apply(t,r)}return t}function nq(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Ne(t=iq(Object(i),!0)).call(t,function(s){ti(n,s,i[s])}):Qi?AI(n,Qi(i)):Ne(r=iq(Object(i))).call(r,function(s){II(n,s,nn(i,s))})}return n}let UX=class{constructor(e,t,r){ti(this,"color",{}),ti(this,"colorDirty",!0),ti(this,"hoverWidth",1.5),ti(this,"selectionWidth",2),this._body=t,this._labelModule=r,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}cleanup(){return!1}setOptions(e){this.options=e,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}drawLine(e,t,r,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.getViaNode();e.strokeStyle=this.getColor(e,t),e.lineWidth=t.width,t.dashes!==!1?this._drawDashedLine(e,t,s):this._drawLine(e,t,s)}_drawLine(e,t,r,i,s){if(this.from!=this.to)this._line(e,t,r,i,s);else{const[o,a,g]=this._getCircleData(e);this._circle(e,t,o,a,g)}}_drawDashedLine(e,t,r,i,s){e.lineCap="round";const o=$r(t.dashes)?t.dashes:[5,5];if(e.setLineDash!==void 0){if(e.save(),e.setLineDash(o),e.lineDashOffset=0,this.from!=this.to)this._line(e,t,r);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}e.setLineDash([0]),e.lineDashOffset=0,e.restore()}else{if(this.from!=this.to)O6(e,this.from.x,this.from.y,this.to.x,this.to.y,o);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}}findBorderPosition(e,t,r){return this.from!=this.to?this._findBorderPosition(e,t,r):this._findBorderPositionCircle(e,t,r)}findBorderPositions(e){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,e),to:this._findBorderPosition(this.to,e)};{var t;const[r,i]=Ss(t=this._getCircleData(e)).call(t,0,2);return{from:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.6,high:.8,direction:1})}}}_getCircleData(e){const t=this.options.selfReference.size;e!==void 0&&this.from.shape.width===void 0&&this.from.shape.resize(e);const r=GX(e,this.options.selfReference.angle,t,this.from);return[r.x,r.y,t]}_pointOnCircle(e,t,r,i){const s=i*2*Math.PI;return{x:e+r*Math.cos(s),y:t-r*Math.sin(s)}}_findBorderPositionCircle(e,t,r){const i=r.x,s=r.y;let o=r.low,a=r.high;const g=r.direction,A=10,I=this.options.selfReference.size,C=.05;let d,l=(o+a)*.5,u=0;this.options.arrowStrikethrough===!0&&(g===-1?u=this.options.endPointOffset.from:g===1&&(u=this.options.endPointOffset.to));let h=0;do{l=(o+a)*.5,d=this._pointOnCircle(i,s,I,l);const v=Math.atan2(e.y-d.y,e.x-d.x),f=e.distanceToBorder(t,v)+u,c=Math.sqrt(Math.pow(d.x-e.x,2)+Math.pow(d.y-e.y,2)),b=f-c;if(Math.abs(b)<C)break;b>0?g>0?o=l:a=l:g>0?a=l:o=l,++h}while(o<=a&&h<A);return nq(nq({},d),{},{t:l})}getLineWidth(e,t){return e===!0?Math.max(this.selectionWidth,.3/this._body.view.scale):t===!0?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}getColor(e,t){if(t.inheritsColor!==!1){if(t.inheritsColor==="both"&&this.from.id!==this.to.id){const r=e.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);let i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border;return this.from.selected===!1&&this.to.selected===!1?(i=ar(this.from.options.color.border,t.opacity),s=ar(this.to.options.color.border,t.opacity)):this.from.selected===!0&&this.to.selected===!1?s=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(i=this.from.options.color.border),r.addColorStop(0,i),r.addColorStop(1,s),r}return t.inheritsColor==="to"?ar(this.to.options.color.border,t.opacity):ar(this.from.options.color.border,t.opacity)}else return ar(t.color,t.opacity)}_circle(e,t,r,i,s){this.enableShadow(e,t);let o=0,a=Math.PI*2;if(!this.options.selfReference.renderBehindTheNode){const g=this.options.selfReference.angle,A=this.options.selfReference.angle+Math.PI,I=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:-1}),C=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:1});o=Math.atan2(I.y-i,I.x-r),a=Math.atan2(C.y-i,C.x-r)}e.beginPath(),e.arc(r,i,s,o,a,!1),e.stroke(),this.disableShadow(e,t)}getDistanceToEdge(e,t,r,i,s,o){if(this.from!=this.to)return this._getDistanceToEdge(e,t,r,i,s,o);{const[a,g,A]=this._getCircleData(void 0),I=a-s,C=g-o;return Math.abs(Math.sqrt(I*I+C*C)-A)}}_getDistanceToLine(e,t,r,i,s,o){const a=r-e,g=i-t,A=a*a+g*g;let I=((s-e)*a+(o-t)*g)/A;I>1?I=1:I<0&&(I=0);const C=e+I*a,d=t+I*g,l=C-s,u=d-o;return Math.sqrt(l*l+u*u)}getArrowData(e,t,r,i,s,o){let a,g,A,I,C,d,l;const u=o.width;t==="from"?(A=this.from,I=this.to,C=o.fromArrowScale<0,d=Math.abs(o.fromArrowScale),l=o.fromArrowType):t==="to"?(A=this.to,I=this.from,C=o.toArrowScale<0,d=Math.abs(o.toArrowScale),l=o.toArrowType):(A=this.to,I=this.from,C=o.middleArrowScale<0,d=Math.abs(o.middleArrowScale),l=o.middleArrowType);const h=15*d+3*u;if(A!=I){const b=Zae(A.x-I.x,A.y-I.y),p=h/b;if(t!=="middle")if(this.options.smooth.enabled===!0){const y=this._findBorderPosition(A,e,{via:r}),E=this.getPoint(y.t+p*(t==="from"?1:-1),r);a=Math.atan2(y.y-E.y,y.x-E.x),g=y}else a=Math.atan2(A.y-I.y,A.x-I.x),g=this._findBorderPosition(A,e);else{const y=(C?-p:p)/2,E=this.getPoint(.5+y,r),S=this.getPoint(.5-y,r);a=Math.atan2(E.y-S.y,E.x-S.x),g=this.getPoint(.5,r)}}else{const[b,p,y]=this._getCircleData(e);if(t==="from"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:-1});a=m.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI,g=m}else if(t==="to"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:1});a=m.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI,g=m}else{const E=this.options.selfReference.angle/(2*Math.PI);g=this._pointOnCircle(b,p,y,E),a=E*-2*Math.PI+1.5*Math.PI+.1*Math.PI}}const v=g.x-h*.9*Math.cos(a),f=g.y-h*.9*Math.sin(a);return{point:g,core:{x:v,y:f},angle:a,length:h,type:l}}drawArrowHead(e,t,r,i,s){e.strokeStyle=this.getColor(e,t),e.fillStyle=e.strokeStyle,e.lineWidth=t.width,HX.draw(e,s)&&(this.enableShadow(e,t),CI(e).call(e),this.disableShadow(e,t))}enableShadow(e,t){t.shadow===!0&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow===!0&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}drawBackground(e,t){if(t.background!==!1){const r={strokeStyle:e.strokeStyle,lineWidth:e.lineWidth,dashes:e.dashes};e.strokeStyle=t.backgroundColor,e.lineWidth=t.backgroundSize,this.setStrokeDashed(e,t.backgroundDashes),e.stroke(),e.strokeStyle=r.strokeStyle,e.lineWidth=r.lineWidth,e.dashes=r.dashes,this.setStrokeDashed(e,t.dashes)}}setStrokeDashed(e,t){if(t!==!1)if(e.setLineDash!==void 0){const r=$r(t)?t:[5,5];e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else e.setLineDash!==void 0?e.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}};function sq(n,e){var t=Je(n);if(Xi){var r=Xi(n);e&&(r=ci(r).call(r,function(i){return nn(n,i).enumerable})),t.push.apply(t,r)}return t}function oq(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Ne(t=sq(Object(i),!0)).call(t,function(s){ti(n,s,i[s])}):Qi?AI(n,Qi(i)):Ne(r=sq(Object(i))).call(r,function(s){II(n,s,nn(i,s))})}return n}let FO=class extends UX{constructor(e,t,r){super(e,t,r)}_findBorderPositionBezier(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this._getViaCoordinates();const i=10,s=.2;let o=!1,a=1,g=0,A=this.to,I,C,d=this.options.endPointOffset?this.options.endPointOffset.to:0;e.id===this.from.id&&(A=this.from,o=!0,d=this.options.endPointOffset?this.options.endPointOffset.from:0),this.options.arrowStrikethrough===!1&&(d=0);let l=0;do{C=(g+a)*.5,I=this.getPoint(C,r);const u=Math.atan2(A.y-I.y,A.x-I.x),h=A.distanceToBorder(t,u)+d,v=Math.sqrt(Math.pow(I.x-A.x,2)+Math.pow(I.y-A.y,2)),f=h-v;if(Math.abs(f)<s)break;f<0?o===!1?g=C:a=C:o===!1?a=C:g=C,++l}while(g<=a&&l<i);return oq(oq({},I),{},{t:C})}_getDistanceToBezierEdge(e,t,r,i,s,o,a){let g=1e9,A,I,C,d,l,u=e,h=t;for(I=1;I<10;I++)C=.1*I,d=Math.pow(1-C,2)*e+2*C*(1-C)*a.x+Math.pow(C,2)*r,l=Math.pow(1-C,2)*t+2*C*(1-C)*a.y+Math.pow(C,2)*i,I>0&&(A=this._getDistanceToLine(u,h,d,l,s,o),g=A<g?A:g),u=d,h=l;return g}_bezierCurve(e,t,r,i){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),r!=null&&r.x!=null?i!=null&&i.x!=null?e.bezierCurveTo(r.x,r.y,i.x,i.y,this.toPoint.x,this.toPoint.y):e.quadraticCurveTo(r.x,r.y,this.toPoint.x,this.toPoint.y):e.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(e,t),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){return this._getViaCoordinates()}},aq=class extends FO{constructor(e,t,r){super(e,t,r),ti(this,"via",this.via),this._boundFunction=()=>{this.positionBezierNode()},this._body.emitter.on("_repositionBezierNodes",this._boundFunction)}setOptions(e){super.setOptions(e);let t=!1;this.options.physics!==e.physics&&(t=!0),this.options=e,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),t===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.from===void 0||this.to===void 0||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}cleanup(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),this.via!==void 0?(delete this._body.nodes[this.via.id],this.via=void 0,!0):!1}setupSupportNode(){if(this.via===void 0){const e="edgeId:"+this.id,t=this._body.functions.createNode({id:e,shape:"circle",physics:!0,hidden:!0});this._body.nodes[e]=t,this.via=t,this.via.parentEdgeId=this.id,this.positionBezierNode()}}positionBezierNode(){this.via!==void 0&&this.from!==void 0&&this.to!==void 0?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):this.via!==void 0&&(this.via.x=0,this.via.y=0)}_line(e,t,r){this._bezierCurve(e,t,r)}_getViaCoordinates(){return this.via}getViaNode(){return this.via}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.via;if(this.from===this.to){const[r,i,s]=this._getCircleData(),o=2*Math.PI*(1-e);return{x:r+s*Math.sin(o),y:i+s-s*(1-Math.cos(o))}}else return{x:Math.pow(1-e,2)*this.fromPoint.x+2*e*(1-e)*t.x+Math.pow(e,2)*this.toPoint.x,y:Math.pow(1-e,2)*this.fromPoint.y+2*e*(1-e)*t.y+Math.pow(e,2)*this.toPoint.y}}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t,this.via)}_getDistanceToEdge(e,t,r,i,s,o){return this._getDistanceToBezierEdge(e,t,r,i,s,o,this.via)}},gq=class extends FO{constructor(e,t,r){super(e,t,r)}_line(e,t,r){this._bezierCurve(e,t,r)}getViaNode(){return this._getViaCoordinates()}_getViaCoordinates(){const e=this.options.smooth.roundness,t=this.options.smooth.type;let r=Math.abs(this.from.x-this.to.x),i=Math.abs(this.from.y-this.to.y);if(t==="discrete"||t==="diagonalCross"){let s,o;r<=i?s=o=e*i:s=o=e*r,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(o=-o);let a=this.from.x+s,g=this.from.y+o;return t==="discrete"&&(r<=i?a=r<e*i?this.from.x:a:g=i<e*r?this.from.y:g),{x:a,y:g}}else if(t==="straightCross"){let s=(1-e)*r,o=(1-e)*i;return r<=i?(s=0,this.from.y<this.to.y&&(o=-o)):(this.from.x<this.to.x&&(s=-s),o=0),{x:this.to.x+s,y:this.to.y+o}}else if(t==="horizontal"){let s=(1-e)*r;return this.from.x<this.to.x&&(s=-s),{x:this.to.x+s,y:this.from.y}}else if(t==="vertical"){let s=(1-e)*i;return this.from.y<this.to.y&&(s=-s),{x:this.from.x,y:this.to.y+s}}else if(t==="curvedCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const s=Math.sqrt(r*r+i*i),o=Math.PI,g=(Math.atan2(i,r)+(e*.5+.5)*o)%(2*o);return{x:this.from.x+(e*.5+.5)*s*Math.sin(g),y:this.from.y+(e*.5+.5)*s*Math.cos(g)}}else if(t==="curvedCCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const s=Math.sqrt(r*r+i*i),o=Math.PI,g=(Math.atan2(i,r)+(-e*.5+.5)*o)%(2*o);return{x:this.from.x+(e*.5+.5)*s*Math.sin(g),y:this.from.y+(e*.5+.5)*s*Math.cos(g)}}else{let s,o;r<=i?s=o=e*i:s=o=e*r,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(o=-o);let a=this.from.x+s,g=this.from.y+o;return r<=i?this.from.x<=this.to.x?a=this.to.x<a?this.to.x:a:a=this.to.x>a?this.to.x:a:this.from.y>=this.to.y?g=this.to.y>g?this.to.y:g:g=this.to.y<g?this.to.y:g,{x:a,y:g}}}_findBorderPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this._findBorderPositionBezier(e,t,r.via)}_getDistanceToEdge(e,t,r,i,s,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(e,t,r,i,s,o,a)}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const r=e,i=Math.pow(1-r,2)*this.fromPoint.x+2*r*(1-r)*t.x+Math.pow(r,2)*this.toPoint.x,s=Math.pow(1-r,2)*this.fromPoint.y+2*r*(1-r)*t.y+Math.pow(r,2)*this.toPoint.y;return{x:i,y:s}}},sge=class extends FO{constructor(e,t,r){super(e,t,r)}_getDistanceToBezierEdge2(e,t,r,i,s,o,a,g){let A=1e9,I=e,C=t;const d=[0,0,0,0];for(let l=1;l<10;l++){const u=.1*l;d[0]=Math.pow(1-u,3),d[1]=3*u*Math.pow(1-u,2),d[2]=3*Math.pow(u,2)*(1-u),d[3]=Math.pow(u,3);const h=d[0]*e+d[1]*a.x+d[2]*g.x+d[3]*r,v=d[0]*t+d[1]*a.y+d[2]*g.y+d[3]*i;if(l>0){const f=this._getDistanceToLine(I,C,h,v,s,o);A=f<A?f:A}I=h,C=v}return A}},Aq=class extends sge{constructor(e,t,r){super(e,t,r)}_line(e,t,r){const i=r[0],s=r[1];this._bezierCurve(e,t,i,s)}_getViaCoordinates(){const e=this.from.x-this.to.x,t=this.from.y-this.to.y;let r,i,s,o;const a=this.options.smooth.roundness;return(Math.abs(e)>Math.abs(t)||this.options.smooth.forceDirection===!0||this.options.smooth.forceDirection==="horizontal")&&this.options.smooth.forceDirection!=="vertical"?(i=this.from.y,o=this.to.y,r=this.from.x-a*e,s=this.to.x+a*e):(i=this.from.y-a*t,o=this.to.y+a*t,r=this.from.x,s=this.to.x),[{x:r,y:i},{x:s,y:o}]}getViaNode(){return this._getViaCoordinates()}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t)}_getDistanceToEdge(e,t,r,i,s,o){let[a,g]=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge2(e,t,r,i,s,o,a,g)}getPoint(e){let[t,r]=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const i=e,s=[Math.pow(1-i,3),3*i*Math.pow(1-i,2),3*Math.pow(i,2)*(1-i),Math.pow(i,3)],o=s[0]*this.fromPoint.x+s[1]*t.x+s[2]*r.x+s[3]*this.toPoint.x,a=s[0]*this.fromPoint.y+s[1]*t.y+s[2]*r.y+s[3]*this.toPoint.y;return{x:o,y:a}}},Iq=class extends UX{constructor(e,t,r){super(e,t,r)}_line(e,t){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),e.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){}getPoint(e){return{x:(1-e)*this.fromPoint.x+e*this.toPoint.x,y:(1-e)*this.fromPoint.y+e*this.toPoint.y}}_findBorderPosition(e,t){let r=this.to,i=this.from;e.id===this.from.id&&(r=this.from,i=this.to);const s=Math.atan2(r.y-i.y,r.x-i.x),o=r.x-i.x,a=r.y-i.y,g=Math.sqrt(o*o+a*a),A=e.distanceToBorder(t,s),I=(g-A)/g;return{x:(1-I)*i.x+I*r.x,y:(1-I)*i.y+I*r.y,t:0}}_getDistanceToEdge(e,t,r,i,s,o){return this._getDistanceToLine(e,t,r,i,s,o)}},js=class KX{constructor(e,t,r,i,s){if(t===void 0)throw new Error("No body provided");this.options=Li(i),this.globalOptions=i,this.defaultOptions=s,this.body=t,this.imagelist=r,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new VX(this.body,this.options,!0),this.setOptions(e)}setOptions(e){if(!e)return;let t=typeof e.physics<"u"&&this.options.physics!==e.physics||typeof e.hidden<"u"&&(this.options.hidden||!1)!==(e.hidden||!1)||typeof e.from<"u"&&this.options.from!==e.from||typeof e.to<"u"&&this.options.to!==e.to;KX.parseOptions(this.options,e,!0,this.globalOptions),e.id!==void 0&&(this.id=e.id),e.from!==void 0&&(this.fromId=e.from),e.to!==void 0&&(this.toId=e.to),e.title!==void 0&&(this.title=e.title),e.value!==void 0&&(e.value=LX(e.value));const r=[e,this.options,this.defaultOptions];return this.chooser=MO("edge",r),this.updateLabelModule(e),t=this.updateEdgeType()||t,this._setInteractionWidths(),this.connect(),t}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(Eo(["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"],e,t,r),t.endPointOffset!==void 0&&t.endPointOffset.from!==void 0&&(mn(t.endPointOffset.from)?e.endPointOffset.from=t.endPointOffset.from:(e.endPointOffset.from=i.endPointOffset.from!==void 0?i.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),t.endPointOffset!==void 0&&t.endPointOffset.to!==void 0&&(mn(t.endPointOffset.to)?e.endPointOffset.to=t.endPointOffset.to:(e.endPointOffset.to=i.endPointOffset.to!==void 0?i.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),PA(t.label)?e.label=t.label:PA(e.label)||(e.label=void 0),sr(e,t,"smooth",i),sr(e,t,"shadow",i),sr(e,t,"background",i),t.dashes!==void 0&&t.dashes!==null?e.dashes=t.dashes:r===!0&&t.dashes===null&&(e.dashes=ba(i.dashes)),t.scaling!==void 0&&t.scaling!==null?(t.scaling.min!==void 0&&(e.scaling.min=t.scaling.min),t.scaling.max!==void 0&&(e.scaling.max=t.scaling.max),sr(e.scaling,t.scaling,"label",i.scaling)):r===!0&&t.scaling===null&&(e.scaling=ba(i.scaling)),t.arrows!==void 0&&t.arrows!==null)if(typeof t.arrows=="string"){const a=t.arrows.toLowerCase();e.arrows.to.enabled=je(a).call(a,"to")!=-1,e.arrows.middle.enabled=je(a).call(a,"middle")!=-1,e.arrows.from.enabled=je(a).call(a,"from")!=-1}else if(typeof t.arrows=="object")sr(e.arrows,t.arrows,"to",i.arrows),sr(e.arrows,t.arrows,"middle",i.arrows),sr(e.arrows,t.arrows,"from",i.arrows);else throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+ZX(t.arrows));else r===!0&&t.arrows===null&&(e.arrows=ba(i.arrows));if(t.color!==void 0&&t.color!==null){const a=Fs(t.color)?{color:t.color,highlight:t.color,hover:t.color,inherit:!1,opacity:1}:t.color,g=e.color;if(s)Pe(g,i.color,!1,r);else for(const A in g)Object.prototype.hasOwnProperty.call(g,A)&&delete g[A];if(Fs(g))g.color=g,g.highlight=g,g.hover=g,g.inherit=!1,a.opacity===void 0&&(g.opacity=1);else{let A=!1;a.color!==void 0&&(g.color=a.color,A=!0),a.highlight!==void 0&&(g.highlight=a.highlight,A=!0),a.hover!==void 0&&(g.hover=a.hover,A=!0),a.inherit!==void 0&&(g.inherit=a.inherit),a.opacity!==void 0&&(g.opacity=Math.min(1,Math.max(0,a.opacity))),A===!0?g.inherit=!1:g.inherit===void 0&&(g.inherit="from")}}else r===!0&&t.color===null&&(e.color=Li(i.color));r===!0&&t.font===null&&(e.font=Li(i.font)),Object.prototype.hasOwnProperty.call(t,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),e.selfReference.size=t.selfReferenceSize)}getFormattingValues(){const e=this.options.arrows.to===!0||this.options.arrows.to.enabled===!0,t=this.options.arrows.from===!0||this.options.arrows.from.enabled===!0,r=this.options.arrows.middle===!0||this.options.arrows.middle.enabled===!0,i=this.options.color.inherit,s={toArrow:e,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:r,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:t,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:i?void 0:this.options.color.color,inheritsColor:i,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(this.chooser===!0){if(this.selected){const o=this.options.selectionWidth;typeof o=="function"?s.width=o(s.width):typeof o=="number"&&(s.width+=o),s.width=Math.max(s.width,.3/this.body.view.scale),s.color=this.options.color.highlight,s.shadow=this.options.shadow.enabled}else if(this.hover){const o=this.options.hoverWidth;typeof o=="function"?s.width=o(s.width):typeof o=="number"&&(s.width+=o),s.width=Math.max(s.width,.3/this.body.view.scale),s.color=this.options.color.hover,s.shadow=this.options.shadow.enabled}}else typeof this.chooser=="function"&&(this.chooser(s,this.options.id,this.selected,this.hover),s.color!==void 0&&(s.inheritsColor=!1),s.shadow===!1&&(s.shadowColor!==this.options.shadow.color||s.shadowSize!==this.options.shadow.size||s.shadowX!==this.options.shadow.x||s.shadowY!==this.options.shadow.y)&&(s.shadow=!0));else s.shadow=this.options.shadow.enabled,s.width=Math.max(s.width,.3/this.body.view.scale);return s}updateLabelModule(e){const t=[e,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,t),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateEdgeType(){const e=this.options.smooth;let t=!1,r=!0;return this.edgeType!==void 0&&((this.edgeType instanceof aq&&e.enabled===!0&&e.type==="dynamic"||this.edgeType instanceof Aq&&e.enabled===!0&&e.type==="cubicBezier"||this.edgeType instanceof gq&&e.enabled===!0&&e.type!=="dynamic"&&e.type!=="cubicBezier"||this.edgeType instanceof Iq&&e.type.enabled===!1)&&(r=!1),r===!0&&(t=this.cleanup())),r===!0?e.enabled===!0?e.type==="dynamic"?(t=!0,this.edgeType=new aq(this.options,this.body,this.labelModule)):e.type==="cubicBezier"?this.edgeType=new Aq(this.options,this.body,this.labelModule):this.edgeType=new gq(this.options,this.body,this.labelModule):this.edgeType=new Iq(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),t}connect(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=this.from!==void 0&&this.to!==void 0,this.connected===!0?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}disconnect(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}getTitle(){return this.title}isSelected(){return this.selected}getValue(){return this.options.value}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),s=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const o=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*o}this.options.width=this.options.scaling.min+i*s}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}_setInteractionWidths(){typeof this.options.hoverWidth=="function"?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,typeof this.options.selectionWidth=="function"?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}draw(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode();this.edgeType.drawLine(e,t,this.selected,this.hover,r),this.drawLabel(e,r)}drawArrows(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode(),i={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,t.fromArrow&&(i.from=this.edgeType.getArrowData(e,"from",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.fromPoint=i.from.core),t.fromArrowSrc&&(i.from.image=this.imagelist.load(t.fromArrowSrc)),t.fromArrowImageWidth&&(i.from.imageWidth=t.fromArrowImageWidth),t.fromArrowImageHeight&&(i.from.imageHeight=t.fromArrowImageHeight)),t.toArrow&&(i.to=this.edgeType.getArrowData(e,"to",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.toPoint=i.to.core),t.toArrowSrc&&(i.to.image=this.imagelist.load(t.toArrowSrc)),t.toArrowImageWidth&&(i.to.imageWidth=t.toArrowImageWidth),t.toArrowImageHeight&&(i.to.imageHeight=t.toArrowImageHeight)),t.middleArrow&&(i.middle=this.edgeType.getArrowData(e,"middle",r,this.selected,this.hover,t),t.middleArrowSrc&&(i.middle.image=this.imagelist.load(t.middleArrowSrc)),t.middleArrowImageWidth&&(i.middle.imageWidth=t.middleArrowImageWidth),t.middleArrowImageHeight&&(i.middle.imageHeight=t.middleArrowImageHeight)),t.fromArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.from),t.middleArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.middle),t.toArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.to)}drawLabel(e,t){if(this.options.label!==void 0){const r=this.from,i=this.to;this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(e,this.selected,this.hover);let s;if(r.id!=i.id){this.labelModule.pointToSelf=!1,s=this.edgeType.getPoint(.5,t),e.save();const o=this._getRotation(e);o.angle!=0&&(e.translate(o.x,o.y),e.rotate(o.angle)),this.labelModule.draw(e,s.x,s.y,this.selected,this.hover),e.restore()}else{this.labelModule.pointToSelf=!0;const o=GX(e,this.options.selfReference.angle,this.options.selfReference.size,r);s=this._pointOnCircle(o.x,o.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(e,s.x,s.y,this.selected,this.hover)}}}getItemsOnPoint(e){const t=[];if(this.labelModule.visible()){const i=this._getRotation();x_(this.labelModule.getSize(),e,i)&&t.push({edgeId:this.id,labelId:0})}const r={left:e.x,top:e.y};return this.isOverlappingWith(r)&&t.push({edgeId:this.id}),t}isOverlappingWith(e){if(this.connected){const r=this.from.x,i=this.from.y,s=this.to.x,o=this.to.y,a=e.left,g=e.top;return this.edgeType.getDistanceToEdge(r,i,s,o,a,g)<10}else return!1}_getRotation(e){const t=this.edgeType.getViaNode(),r=this.edgeType.getPoint(.5,t);e!==void 0&&this.labelModule.calculateLabelSize(e,this.selected,this.hover,r.x,r.y);const i={x:r.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible()||this.options.font.align==="horizontal")return i;const s=this.from.y-this.to.y,o=this.from.x-this.to.x;let a=Math.atan2(s,o);return(a<-1&&o<0||a>0&&o<0)&&(a+=Math.PI),i.angle=a,i}_pointOnCircle(e,t,r,i){return{x:e+r*Math.cos(i),y:t-r*Math.sin(i)}}select(){this.selected=!0}unselect(){this.selected=!1}cleanup(){return this.edgeType.cleanup()}remove(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}endPointsValid(){return this.body.nodes[this.fromId]!==void 0&&this.body.nodes[this.toId]!==void 0}},oge=class{constructor(e,t,r){var i;this.body=e,this.images=t,this.groups=r,this.body.functions.createEdge=z(i=this.create).call(i,this),this.edgesListeners={add:(s,o)=>{this.add(o.items)},update:(s,o)=>{this.update(o.items)},remove:(s,o)=>{this.remove(o.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(s,o,a,g){if(o===s)return .5;{const A=1/(o-s);return Math.max(0,(g-s)*A)}}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},Pe(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e=this,t,r;this.body.emitter.on("_forceDisableDynamicCurves",function(i){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;i==="dynamic"&&(i="continuous");let o=!1;for(const a in e.body.edges)if(Object.prototype.hasOwnProperty.call(e.body.edges,a)){const g=e.body.edges[a],A=e.body.data.edges.get(a);if(A!=null){const I=A.smooth;I!==void 0&&I.enabled===!0&&I.type==="dynamic"&&(i===void 0?g.setOptions({smooth:!1}):g.setOptions({smooth:{type:i}}),o=!0)}}s===!0&&o===!0&&e.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",()=>{this.reconnectEdges()}),this.body.emitter.on("refreshEdges",z(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",z(r=this.refresh).call(r,this)),this.body.emitter.on("destroy",()=>{le(this.edgesListeners,(i,s)=>{this.body.data.edges&&this.body.data.edges.off(s,i)}),delete this.body.functions.createEdge,delete this.edgesListeners.add,delete this.edgesListeners.update,delete this.edgesListeners.remove,delete this.edgesListeners})}setOptions(e){if(e!==void 0){js.parseOptions(this.options,e,!0,this.defaultOptions,!0);let t=!1;if(e.smooth!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&(t=this.body.edges[r].updateEdgeType()||t);if(e.font!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&this.body.edges[r].updateLabelModule();(e.hidden!==void 0||e.physics!==void 0||t===!0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.edges;if(RX("id",e))this.body.data.edges=e;else if($r(e))this.body.data.edges=new to,this.body.data.edges.add(e);else if(!e)this.body.data.edges=new to;else throw new TypeError("Array or DataSet expected");if(r&&le(this.edgesListeners,(i,s)=>{r.off(s,i)}),this.body.edges={},this.body.data.edges){le(this.edgesListeners,(s,o)=>{this.body.data.edges.on(o,s)});const i=this.body.data.edges.getIds();this.add(i,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.edges,i=this.body.data.edges;for(let s=0;s<e.length;s++){const o=e[s],a=r[o];a&&a.disconnect();const g=i.get(o,{showInternalIds:!0});r[o]=this.create(g)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}update(e){const t=this.body.edges,r=this.body.data.edges;let i=!1;for(let s=0;s<e.length;s++){const o=e[s],a=r.get(o),g=t[o];g!==void 0?(g.disconnect(),i=g.setOptions(a)||i,g.connect()):(this.body.edges[o]=this.create(a),i=!0)}i===!0?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}remove(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.length===0)return;const r=this.body.edges;le(e,i=>{const s=r[i];s!==void 0&&s.remove()}),t&&this.body.emitter.emit("_dataChanged")}refresh(){le(this.body.edges,(e,t)=>{const r=this.body.data.edges.get(t);r!==void 0&&e.setOptions(r)})}create(e){return new js(e,this.body,this.images,this.options,this.defaultOptions)}reconnectEdges(){let e;const t=this.body.nodes,r=this.body.edges;for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].edges=[]);for(e in r)if(Object.prototype.hasOwnProperty.call(r,e)){const i=r[e];i.from=null,i.to=null,i.connect()}}getConnectedNodes(e){const t=[];if(this.body.edges[e]!==void 0){const r=this.body.edges[e];r.fromId!==void 0&&t.push(r.fromId),r.toId!==void 0&&t.push(r.toId)}return t}_updateState(){this._addMissingEdges(),this._removeInvalidEdges()}_removeInvalidEdges(){const e=[];le(this.body.edges,(t,r)=>{const i=this.body.nodes[t.toId],s=this.body.nodes[t.fromId];i!==void 0&&i.isCluster===!0||s!==void 0&&s.isCluster===!0||(i===void 0||s===void 0)&&e.push(r)}),this.remove(e,!1)}_addMissingEdges(){const e=this.body.data.edges;if(e==null)return;const t=this.body.edges,r=[];Ne(e).call(e,(i,s)=>{t[s]===void 0&&r.push(s)}),this.add(r,!0)}};var Cq={},dq;function age(){if(dq)return Cq;dq=1;var n=ee(),e=ve(),t=Date,r=e(t.prototype.getTime);return n({target:"Date",stat:!0},{now:function(){return r(new t)}}),Cq}var Zh,lq;function gge(){if(lq)return Zh;lq=1,age();var n=Se();return Zh=n.Date.now,Zh}var Hh,uq;function Age(){if(uq)return Hh;uq=1;var n=gge();return Hh=n,Hh}var Uh,hq;function Ige(){return hq||(hq=1,Uh=Age()),Uh}var Cge=Ige(),$_=ae(Cge);let YX=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.barnesHutTree,this.setOptions(r),this._rng=rI("BARNES HUT SOLVER")}setOptions(e){this.options=e,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}solve(){if(this.options.gravitationalConstant!==0&&this.physicsBody.physicsNodeIndices.length>0){let e;const t=this.body.nodes,r=this.physicsBody.physicsNodeIndices,i=r.length,s=this._formBarnesHutTree(t,r);this.barnesHutTree=s;for(let o=0;o<i;o++)e=t[r[o]],e.options.mass>0&&this._getForceContributions(s.root,e)}}_getForceContributions(e,t){this._getForceContribution(e.children.NW,t),this._getForceContribution(e.children.NE,t),this._getForceContribution(e.children.SW,t),this._getForceContribution(e.children.SE,t)}_getForceContribution(e,t){if(e.childrenCount>0){const r=e.centerOfMass.x-t.x,i=e.centerOfMass.y-t.y,s=Math.sqrt(r*r+i*i);s*e.calcSize>this.thetaInversed?this._calculateForces(s,r,i,t,e):e.childrenCount===4?this._getForceContributions(e,t):e.children.data.id!=t.id&&this._calculateForces(s,r,i,t,e)}}_calculateForces(e,t,r,i,s){e===0&&(e=.1,t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const o=this.options.gravitationalConstant*s.mass*i.options.mass/Math.pow(e,3),a=t*o,g=r*o;this.physicsBody.forces[i.id].x+=a,this.physicsBody.forces[i.id].y+=g}_formBarnesHutTree(e,t){let r;const i=t.length;let s=e[t[0]].x,o=e[t[0]].y,a=e[t[0]].x,g=e[t[0]].y;for(let v=1;v<i;v++){const f=e[t[v]],c=f.x,b=f.y;f.options.mass>0&&(c<s&&(s=c),c>a&&(a=c),b<o&&(o=b),b>g&&(g=b))}const A=Math.abs(a-s)-Math.abs(g-o);A>0?(o-=.5*A,g+=.5*A):(s+=.5*A,a-=.5*A);const C=Math.max(1e-5,Math.abs(a-s)),d=.5*C,l=.5*(s+a),u=.5*(o+g),h={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:l-d,maxX:l+d,minY:u-d,maxY:u+d},size:C,calcSize:1/C,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(h.root);for(let v=0;v<i;v++)r=e[t[v]],r.options.mass>0&&this._placeInTree(h.root,r);return h}_updateBranchMass(e,t){const r=e.centerOfMass,i=e.mass+t.options.mass,s=1/i;r.x=r.x*e.mass+t.x*t.options.mass,r.x*=s,r.y=r.y*e.mass+t.y*t.options.mass,r.y*=s,e.mass=i;const o=Math.max(Math.max(t.height,t.radius),t.width);e.maxWidth=e.maxWidth<o?o:e.maxWidth}_placeInTree(e,t,r){(r!=!0||r===void 0)&&this._updateBranchMass(e,t);const i=e.children.NW.range;let s;i.maxX>t.x?i.maxY>t.y?s="NW":s="SW":i.maxY>t.y?s="NE":s="SE",this._placeInRegion(e,t,s)}_placeInRegion(e,t,r){const i=e.children[r];switch(i.childrenCount){case 0:i.children.data=t,i.childrenCount=1,this._updateBranchMass(i,t);break;case 1:i.children.data.x===t.x&&i.children.data.y===t.y?(t.x+=this._rng(),t.y+=this._rng()):(this._splitBranch(i),this._placeInTree(i,t));break;case 4:this._placeInTree(i,t);break}}_splitBranch(e){let t=null;e.childrenCount===1&&(t=e.children.data,e.mass=0,e.centerOfMass.x=0,e.centerOfMass.y=0),e.childrenCount=4,e.children.data=null,this._insertRegion(e,"NW"),this._insertRegion(e,"NE"),this._insertRegion(e,"SW"),this._insertRegion(e,"SE"),t!=null&&this._placeInTree(e,t)}_insertRegion(e,t){let r,i,s,o;const a=.5*e.size;switch(t){case"NW":r=e.range.minX,i=e.range.minX+a,s=e.range.minY,o=e.range.minY+a;break;case"NE":r=e.range.minX+a,i=e.range.maxX,s=e.range.minY,o=e.range.minY+a;break;case"SW":r=e.range.minX,i=e.range.minX+a,s=e.range.minY+a,o=e.range.maxY;break;case"SE":r=e.range.minX+a,i=e.range.maxX,s=e.range.minY+a,o=e.range.maxY;break}e.children[t]={centerOfMass:{x:0,y:0},mass:0,range:{minX:r,maxX:i,minY:s,maxY:o},size:.5*e.size,calcSize:2*e.calcSize,children:{data:null},maxWidth:0,level:e.level+1,childrenCount:0}}_debug(e,t){this.barnesHutTree!==void 0&&(e.lineWidth=1,this._drawBranch(this.barnesHutTree.root,e,t))}_drawBranch(e,t,r){r===void 0&&(r="#FF0000"),e.childrenCount===4&&(this._drawBranch(e.children.NW,t),this._drawBranch(e.children.NE,t),this._drawBranch(e.children.SE,t),this._drawBranch(e.children.SW,t)),t.strokeStyle=r,t.beginPath(),t.moveTo(e.range.minX,e.range.minY),t.lineTo(e.range.maxX,e.range.minY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.minY),t.lineTo(e.range.maxX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.maxY),t.lineTo(e.range.minX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.minX,e.range.maxY),t.lineTo(e.range.minX,e.range.minY),t.stroke()}},dge=class{constructor(e,t,r){this._rng=rI("REPULSION SOLVER"),this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,s,o,a,g;const A=this.body.nodes,I=this.physicsBody.physicsNodeIndices,C=this.physicsBody.forces,d=this.options.nodeDistance,l=-2/3/d,u=4/3;for(let h=0;h<I.length-1;h++){a=A[I[h]];for(let v=h+1;v<I.length;v++)g=A[I[v]],e=g.x-a.x,t=g.y-a.y,r=Math.sqrt(e*e+t*t),r===0&&(r=.1*this._rng(),e=r),r<2*d&&(r<.5*d?o=1:o=l*r+u,o=o/r,i=e*o,s=t*o,C[a.id].x-=i,C[a.id].y-=s,C[g.id].x+=i,C[g.id].y+=s)}}},lge=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}solve(){const e=this.body.nodes,t=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,i=this.options.nodeDistance;for(let s=0;s<t.length-1;s++){const o=e[t[s]];for(let a=s+1;a<t.length;a++){const g=e[t[a]];if(o.level===g.level){const A=i+this.overlapAvoidanceFactor*((o.shape.radius||0)/2+(g.shape.radius||0)/2),I=g.x-o.x,C=g.y-o.y,d=Math.sqrt(I*I+C*C),l=.05;let u;d<A?u=-Math.pow(l*d,2)+Math.pow(l*A,2):u=0,d!==0&&(u=u/d);const h=I*u,v=C*u;r[o.id].x-=h,r[o.id].y-=v,r[g.id].x+=h,r[g.id].y+=v}}}}},Kh=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t;const r=this.physicsBody.physicsEdgeIndices,i=this.body.edges;let s,o,a;for(let g=0;g<r.length;g++)t=i[r[g]],t.connected===!0&&t.toId!==t.fromId&&this.body.nodes[t.toId]!==void 0&&this.body.nodes[t.fromId]!==void 0&&(t.edgeType.via!==void 0?(e=t.options.length===void 0?this.options.springLength:t.options.length,s=t.to,o=t.edgeType.via,a=t.from,this._calculateSpringForce(s,o,.5*e),this._calculateSpringForce(o,a,.5*e)):(e=t.options.length===void 0?this.options.springLength*1.5:t.options.length,this._calculateSpringForce(t.from,t.to,e)))}_calculateSpringForce(e,t,r){const i=e.x-t.x,s=e.y-t.y,o=Math.max(Math.sqrt(i*i+s*s),.01),a=this.options.springConstant*(r-o)/o,g=i*a,A=s*a;this.physicsBody.forces[e.id]!==void 0&&(this.physicsBody.forces[e.id].x+=g,this.physicsBody.forces[e.id].y+=A),this.physicsBody.forces[t.id]!==void 0&&(this.physicsBody.forces[t.id].x-=g,this.physicsBody.forces[t.id].y-=A)}},uge=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,s,o,a,g;const A=this.body.edges,I=.5,C=this.physicsBody.physicsEdgeIndices,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces;for(let p=0;p<d.length;p++){const y=d[p];l[y].springFx=0,l[y].springFy=0}for(let p=0;p<C.length;p++)t=A[C[p]],t.connected===!0&&(e=t.options.length===void 0?this.options.springLength:t.options.length,r=t.from.x-t.to.x,i=t.from.y-t.to.y,g=Math.sqrt(r*r+i*i),g=g===0?.01:g,a=this.options.springConstant*(e-g)/g,s=r*a,o=i*a,t.to.level!=t.from.level?(l[t.toId]!==void 0&&(l[t.toId].springFx-=s,l[t.toId].springFy-=o),l[t.fromId]!==void 0&&(l[t.fromId].springFx+=s,l[t.fromId].springFy+=o)):(l[t.toId]!==void 0&&(l[t.toId].x-=I*s,l[t.toId].y-=I*o),l[t.fromId]!==void 0&&(l[t.fromId].x+=I*s,l[t.fromId].y+=I*o)));a=1;let u,h;for(let p=0;p<d.length;p++){const y=d[p];u=Math.min(a,Math.max(-a,l[y].springFx)),h=Math.min(a,Math.max(-a,l[y].springFy)),l[y].x+=u,l[y].y+=h}let v=0,f=0;for(let p=0;p<d.length;p++){const y=d[p];v+=l[y].x,f+=l[y].y}const c=v/d.length,b=f/d.length;for(let p=0;p<d.length;p++){const y=d[p];l[y].x-=c,l[y].y-=b}}},cA=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i;const s=this.body.nodes,o=this.physicsBody.physicsNodeIndices,a=this.physicsBody.forces;for(let g=0;g<o.length;g++){const A=o[g];i=s[A],e=-i.x,t=-i.y,r=Math.sqrt(e*e+t*t),this._calculateForces(r,e,t,a,i)}}_calculateForces(e,t,r,i,s){const o=e===0?0:this.options.centralGravity/e;i[s.id].x=t*o,i[s.id].y=r*o}},hge=class extends YX{constructor(e,t,r){super(e,t,r),this._rng=rI("FORCE ATLAS 2 BASED REPULSION SOLVER")}_calculateForces(e,t,r,i,s){e===0&&(e=.1*this._rng(),t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const o=i.edges.length+1,a=this.options.gravitationalConstant*s.mass*i.options.mass*o/Math.pow(e,2),g=t*a,A=r*a;this.physicsBody.forces[i.id].x+=g,this.physicsBody.forces[i.id].y+=A}},cge=class extends cA{constructor(e,t,r){super(e,t,r)}_calculateForces(e,t,r,i,s){if(e>0){const o=s.edges.length+1,a=this.options.centralGravity*o*s.options.mass;i[s.id].x=t*a,i[s.id].y=r*a}}},fge=class{constructor(e){this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},Ot(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("initPhysics",()=>{this.initPhysics()}),this.body.emitter.on("_layoutFailed",()=>{this.layoutFailed=!0}),this.body.emitter.on("resetPhysics",()=>{this.stopSimulation(),this.ready=!1}),this.body.emitter.on("disablePhysics",()=>{this.physicsEnabled=!1,this.stopSimulation()}),this.body.emitter.on("restorePhysics",()=>{this.setOptions(this.options),this.ready===!0&&this.startSimulation()}),this.body.emitter.on("startSimulation",()=>{this.ready===!0&&this.startSimulation()}),this.body.emitter.on("stopSimulation",()=>{this.stopSimulation()}),this.body.emitter.on("destroy",()=>{this.stopSimulation(!1),this.body.emitter.off()}),this.body.emitter.on("_dataChanged",()=>{this.updatePhysicsData()})}setOptions(e){if(e!==void 0)if(e===!1)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(e===!0)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,TA(["stabilization"],this.options,e),sr(this.options,e,"stabilization"),e.enabled===void 0&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation());const t=this.options.wind;t&&((typeof t.x!="number"||R_(t.x))&&(t.x=0),(typeof t.y!="number"||R_(t.y))&&(t.y=0)),this.timestep=this.options.timestep}this.init()}init(){let e;this.options.solver==="forceAtlas2Based"?(e=this.options.forceAtlas2Based,this.nodesSolver=new hge(this.body,this.physicsBody,e),this.edgesSolver=new Kh(this.body,this.physicsBody,e),this.gravitySolver=new cge(this.body,this.physicsBody,e)):this.options.solver==="repulsion"?(e=this.options.repulsion,this.nodesSolver=new dge(this.body,this.physicsBody,e),this.edgesSolver=new Kh(this.body,this.physicsBody,e),this.gravitySolver=new cA(this.body,this.physicsBody,e)):this.options.solver==="hierarchicalRepulsion"?(e=this.options.hierarchicalRepulsion,this.nodesSolver=new lge(this.body,this.physicsBody,e),this.edgesSolver=new uge(this.body,this.physicsBody,e),this.gravitySolver=new cA(this.body,this.physicsBody,e)):(e=this.options.barnesHut,this.nodesSolver=new YX(this.body,this.physicsBody,e),this.edgesSolver=new Kh(this.body,this.physicsBody,e),this.gravitySolver=new cA(this.body,this.physicsBody,e)),this.modelOptions=e}initPhysics(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}startSimulation(){if(this.physicsEnabled===!0&&this.options.enabled===!0){if(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),this.viewFunction===void 0){var e;this.viewFunction=z(e=this.simulationStep).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}else this.body.emitter.emit("_redraw")}stopSimulation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.stabilized=!0,e===!0&&this._emitStabilized(),this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,e===!0&&this.body.emitter.emit("_stopRendering"))}simulationStep(){const e=$_();this.physicsTick(),($_()-e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}_emitStabilized(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&Bs(()=>{this.body.emitter.emit("stabilized",{iterations:e}),this.startedStabilization=!1,this.stabilizationIterations=0},0)}physicsStep(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}adjustTimeStep(){this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}physicsTick(){this._startStabilizing(),this.stabilized!==!0&&(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0?(this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1):(this.timestep=this.options.timestep,this.physicsStep()),this.stabilized===!0&&this.revert(),this.stabilizationIterations++)}updatePhysicsData(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];const e=this.body.nodes,t=this.body.edges;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&e[r].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(e[r].id);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&t[r].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(t[r].id);for(let r=0;r<this.physicsBody.physicsNodeIndices.length;r++){const i=this.physicsBody.physicsNodeIndices[r];this.physicsBody.forces[i]={x:0,y:0},this.physicsBody.velocities[i]===void 0&&(this.physicsBody.velocities[i]={x:0,y:0})}for(const r in this.physicsBody.velocities)e[r]===void 0&&delete this.physicsBody.velocities[r]}revert(){const e=Je(this.previousStates),t=this.body.nodes,r=this.physicsBody.velocities;this.referenceState={};for(let i=0;i<e.length;i++){const s=e[i];t[s]!==void 0?t[s].options.physics===!0&&(this.referenceState[s]={positions:{x:t[s].x,y:t[s].y}},r[s].x=this.previousStates[s].vx,r[s].y=this.previousStates[s].vy,t[s].x=this.previousStates[s].x,t[s].y=this.previousStates[s].y):delete this.previousStates[s]}}_evaluateStepQuality(){let e,t,r;const i=this.body.nodes,s=this.referenceState,o=.3;for(const a in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,a)&&i[a]!==void 0&&(e=i[a].x-s[a].positions.x,t=i[a].y-s[a].positions.y,r=Math.sqrt(Math.pow(e,2)+Math.pow(t,2)),r>o))return!1;return!0}moveNodes(){const e=this.physicsBody.physicsNodeIndices;let t=0,r=0;const i=5;for(let s=0;s<e.length;s++){const o=e[s],a=this._performStep(o);t=Math.max(t,a),r+=a}this.adaptiveTimestepEnabled=r/e.length<i,this.stabilized=t<this.options.minVelocity}calculateComponentVelocity(e,t,r){const i=this.modelOptions.damping*e,s=(t-i)/r;e+=s*this.timestep;const o=this.options.maxVelocity||1e9;return Math.abs(e)>o&&(e=e>0?o:-o),e}_performStep(e){const t=this.body.nodes[e],r=this.physicsBody.forces[e];this.options.wind&&(r.x+=this.options.wind.x,r.y+=this.options.wind.y);const i=this.physicsBody.velocities[e];return this.previousStates[e]={x:t.x,y:t.y,vx:i.x,vy:i.y},t.options.fixed.x===!1?(i.x=this.calculateComponentVelocity(i.x,r.x,t.options.mass),t.x+=i.x*this.timestep):(r.x=0,i.x=0),t.options.fixed.y===!1?(i.y=this.calculateComponentVelocity(i.y,r.y,t.options.mass),t.y+=i.y*this.timestep):(r.y=0,i.y=0),Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2))}_freezeNodes(){const e=this.body.nodes;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t].x&&e[t].y){const r=e[t].options.fixed;this.freezeCache[t]={x:r.x,y:r.y},r.x=!0,r.y=!0}}_restoreFrozenNodes(){const e=this.body.nodes;for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.freezeCache[t]!==void 0&&(e[t].options.fixed.x=this.freezeCache[t].x,e[t].options.fixed.y=this.freezeCache[t].y);this.freezeCache={}}stabilize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.stabilization.iterations;if(typeof e!="number"&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),this.physicsBody.physicsNodeIndices.length===0){this.ready=!0;return}this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,Bs(()=>this._stabilizationBatch(),0)}_startStabilizing(){return this.startedStabilization===!0?!1:(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}_stabilizationBatch(){const e=()=>this.stabilized===!1&&this.stabilizationIterations<this.targetIterations,t=()=>{this.body.emitter.emit("stabilizationProgress",{iterations:this.stabilizationIterations,total:this.targetIterations})};this._startStabilizing()&&t();let r=0;for(;e()&&r<this.options.stabilization.updateInterval;)this.physicsTick(),r++;if(t(),e()){var i;Bs(z(i=this._stabilizationBatch).call(i,this),0)}else this._finalizeStabilization()}_finalizeStabilization(){this.body.emitter.emit("_allowRedraw"),this.options.stabilization.fit===!0&&this.body.emitter.emit("fit"),this.options.stabilization.onlyDynamicEdges===!0&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),this.stabilized===!0?this._emitStabilized():this.startSimulation(),this.ready=!0}_drawForces(e){for(let t=0;t<this.physicsBody.physicsNodeIndices.length;t++){const r=this.physicsBody.physicsNodeIndices[t],i=this.body.nodes[r],s=this.physicsBody.forces[r],o=20,a=.03,g=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.x,2)),A=Math.min(Math.max(5,g),15),I=3*A,C=__((180-Math.min(1,Math.max(0,a*g))*180)/360,1,1),d={x:i.x+o*s.x,y:i.y+o*s.y};e.lineWidth=A,e.strokeStyle=C,e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(d.x,d.y),e.stroke();const l=Math.atan2(s.y,s.x);e.fillStyle=C,HX.draw(e,{type:"arrow",point:d,angle:l,length:I}),CI(e).call(e)}}};var cq={},fq;function pge(){if(fq)return cq;fq=1;var n=ee(),e=ve(),t=Zn(),r=e([].reverse),i=[1,2];return n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return t(this)&&(this.length=this.length),r(this)}}),cq}var Yh,pq;function vge(){if(pq)return Yh;pq=1,pge();var n=Pt();return Yh=n("Array","reverse"),Yh}var Xh,vq;function mge(){if(vq)return Xh;vq=1;var n=nt(),e=vge(),t=Array.prototype;return Xh=function(r){var i=r.reverse;return r===t||n(t,r)&&i===t.reverse?e:i},Xh}var Qh,mq;function yge(){if(mq)return Qh;mq=1;var n=mge();return Qh=n,Qh}var Jh,yq;function bge(){return yq||(yq=1,Jh=yge()),Jh}var wge=bge(),Ls=ae(wge);let Ft=class{constructor(){}static getRange(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,s=1e9,o=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],s>a.shape.boundingBox.left&&(s=a.shape.boundingBox.left),o<a.shape.boundingBox.right&&(o=a.shape.boundingBox.right),r>a.shape.boundingBox.top&&(r=a.shape.boundingBox.top),i<a.shape.boundingBox.bottom&&(i=a.shape.boundingBox.bottom);return s===1e9&&o===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,s=0,o=0),{minX:s,maxX:o,minY:r,maxY:i}}static getRangeCore(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,s=1e9,o=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],s>a.x&&(s=a.x),o<a.x&&(o=a.x),r>a.y&&(r=a.y),i<a.y&&(i=a.y);return s===1e9&&o===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,s=0,o=0),{minX:s,maxX:o,minY:r,maxY:i}}static findCenter(e){return{x:.5*(e.maxX+e.minX),y:.5*(e.maxY+e.minY)}}static cloneOptions(e,t){const r={};return t===void 0||t==="node"?(Pe(r,e.options,!0),r.x=e.x,r.y=e.y,r.amountOfConnections=e.edges.length):Pe(r,e.options,!0),r}},Ege=class extends er{constructor(e,t,r,i,s,o){super(e,t,r,i,s,o),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}_openChildCluster(e){const t=this.body.nodes[e];if(this.containedNodes[e]===void 0)throw new Error("node with id: "+e+" not in current cluster");if(!t.isCluster)throw new Error("node with id: "+e+" is not a cluster");delete this.containedNodes[e],le(t.edges,r=>{delete this.containedEdges[r.id]}),le(t.containedNodes,(r,i)=>{this.containedNodes[i]=r}),t.containedNodes={},le(t.containedEdges,(r,i)=>{this.containedEdges[i]=r}),t.containedEdges={},le(t.edges,r=>{le(this.edges,i=>{var s,o;const a=je(s=i.clusteringEdgeReplacingIds).call(s,r.id);a!==-1&&(le(r.clusteringEdgeReplacingIds,g=>{i.clusteringEdgeReplacingIds.push(g),this.body.edges[g].edgeReplacedById=i.id}),Gi(o=i.clusteringEdgeReplacingIds).call(o,a,1))})}),t.edges=[]}},Sge=class{constructor(e){this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},Ot(this.options,this.defaultOptions),this.body.emitter.on("_resetData",()=>{this.clusteredNodes={},this.clusteredEdges={}})}clusterByHubsize(e,t){e===void 0?e=this._getHubSize():typeof e=="object"&&(t=this._checkOptions(e),e=this._getHubSize());const r=[];for(let i=0;i<this.body.nodeIndices.length;i++){const s=this.body.nodes[this.body.nodeIndices[i]];s.edges.length>=e&&r.push(s.id)}for(let i=0;i<r.length;i++)this.clusterByConnection(r[i],t,!0);this.body.emitter.emit("_dataChanged")}cluster(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.joinCondition===void 0)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);const r={},i={};le(this.body.nodes,(s,o)=>{s.options&&e.joinCondition(s.options)===!0&&(r[o]=s,le(s.edges,a=>{this.clusteredEdges[a.id]===void 0&&(i[a.id]=a)}))}),this._cluster(r,i,e,t)}clusterByEdgeCount(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;t=this._checkOptions(t);const i=[],s={};let o,a,g;for(let A=0;A<this.body.nodeIndices.length;A++){const I={},C={},d=this.body.nodeIndices[A],l=this.body.nodes[d];if(s[d]===void 0){g=0,a=[];for(let u=0;u<l.edges.length;u++)o=l.edges[u],this.clusteredEdges[o.id]===void 0&&(o.toId!==o.fromId&&g++,a.push(o));if(g===e){const u=function(v){if(t.joinCondition===void 0||t.joinCondition===null)return!0;const f=Ft.cloneOptions(v);return t.joinCondition(f)};let h=!0;for(let v=0;v<a.length;v++){o=a[v];const f=this._getConnectedId(o,d);if(u(l))C[o.id]=o,I[d]=l,I[f]=this.body.nodes[f],s[d]=!0;else{h=!1;break}}if(Je(I).length>0&&Je(C).length>0&&h===!0){const f=function(){for(let c=0;c<i.length;++c)for(const b in I)if(i[c].nodes[b]!==void 0)return i[c]}();if(f!==void 0){for(const c in I)f.nodes[c]===void 0&&(f.nodes[c]=I[c]);for(const c in C)f.edges[c]===void 0&&(f.edges[c]=C[c])}else i.push({nodes:I,edges:C})}}}}for(let A=0;A<i.length;A++)this._cluster(i[A].nodes,i[A].edges,t,!1);r===!0&&this.body.emitter.emit("_dataChanged")}clusterOutliers(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(1,e,t)}clusterBridges(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(2,e,t)}clusterByConnection(e,t){var r;let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No nodeId supplied to clusterByConnection!");if(this.body.nodes[e]===void 0)throw new Error("The nodeId given to clusterByConnection does not exist!");const s=this.body.nodes[e];t=this._checkOptions(t,s),t.clusterNodeProperties.x===void 0&&(t.clusterNodeProperties.x=s.x),t.clusterNodeProperties.y===void 0&&(t.clusterNodeProperties.y=s.y),t.clusterNodeProperties.fixed===void 0&&(t.clusterNodeProperties.fixed={},t.clusterNodeProperties.fixed.x=s.options.fixed.x,t.clusterNodeProperties.fixed.y=s.options.fixed.y);const o={},a={},g=s.id,A=Ft.cloneOptions(s);o[g]=s;for(let C=0;C<s.edges.length;C++){const d=s.edges[C];if(this.clusteredEdges[d.id]===void 0){const l=this._getConnectedId(d,g);if(this.clusteredNodes[l]===void 0)if(l!==g)if(t.joinCondition===void 0)a[d.id]=d,o[l]=this.body.nodes[l];else{const u=Ft.cloneOptions(this.body.nodes[l]);t.joinCondition(A,u)===!0&&(a[d.id]=d,o[l]=this.body.nodes[l])}else a[d.id]=d}}const I=ja(r=Je(o)).call(r,function(C){return o[C].id});for(const C in o){if(!Object.prototype.hasOwnProperty.call(o,C))continue;const d=o[C];for(let l=0;l<d.edges.length;l++){const u=d.edges[l];je(I).call(I,this._getConnectedId(u,d.id))>-1&&(a[u.id]=u)}}this._cluster(o,a,t,i)}_createClusterEdges(e,t,r,i){let s,o,a,g,A,I;const C=Je(e),d=[];for(let h=0;h<C.length;h++){o=C[h],a=e[o];for(let v=0;v<a.edges.length;v++)s=a.edges[v],this.clusteredEdges[s.id]===void 0&&(s.toId==s.fromId?t[s.id]=s:s.toId==o?(g=r.id,A=s.fromId,I=A):(g=s.toId,A=r.id,I=g),e[I]===void 0&&d.push({edge:s,fromId:A,toId:g}))}const l=[],u=function(h){for(let v=0;v<l.length;v++){const f=l[v],c=h.fromId===f.fromId&&h.toId===f.toId,b=h.fromId===f.toId&&h.toId===f.fromId;if(c||b)return f}return null};for(let h=0;h<d.length;h++){const v=d[h],f=v.edge;let c=u(v);c===null?(c=this._createClusteredEdge(v.fromId,v.toId,f,i),l.push(c)):c.clusteringEdgeReplacingIds.push(f.id),this.body.edges[f.id].edgeReplacedById=c.id,this._backupEdgeOptions(f),f.setOptions({physics:!1})}}_checkOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.clusterEdgeProperties===void 0&&(e.clusterEdgeProperties={}),e.clusterNodeProperties===void 0&&(e.clusterNodeProperties={}),e}_cluster(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;const s=[];for(const I in e)Object.prototype.hasOwnProperty.call(e,I)&&this.clusteredNodes[I]!==void 0&&s.push(I);for(let I=0;I<s.length;++I)delete e[s[I]];if(Je(e).length==0||Je(e).length==1&&r.clusterNodeProperties.allowSingleNodeCluster!=!0)return;let o=Pe({},r.clusterNodeProperties);if(r.processProperties!==void 0){const I=[];for(const d in e)if(Object.prototype.hasOwnProperty.call(e,d)){const l=Ft.cloneOptions(e[d]);I.push(l)}const C=[];for(const d in t)if(Object.prototype.hasOwnProperty.call(t,d)&&d.substr(0,12)!=="clusterEdge:"){const l=Ft.cloneOptions(t[d],"edge");C.push(l)}if(o=r.processProperties(o,I,C),!o)throw new Error("The processProperties function does not return properties!")}o.id===void 0&&(o.id="cluster:"+zs());const a=o.id;o.label===void 0&&(o.label="cluster");let g;o.x===void 0&&(g=this._getClusterPosition(e),o.x=g.x),o.y===void 0&&(g===void 0&&(g=this._getClusterPosition(e)),o.y=g.y),o.id=a;const A=this.body.functions.createNode(o,Ege);A.containedNodes=e,A.containedEdges=t,A.clusterEdgeProperties=r.clusterEdgeProperties,this.body.nodes[o.id]=A,this._clusterEdges(e,t,o,r.clusterEdgeProperties),o.id=void 0,i===!0&&this.body.emitter.emit("_dataChanged")}_backupEdgeOptions(e){this.clusteredEdges[e.id]===void 0&&(this.clusteredEdges[e.id]={physics:e.options.physics})}_restoreEdge(e){const t=this.clusteredEdges[e.id];t!==void 0&&(e.setOptions({physics:t.physics}),delete this.clusteredEdges[e.id])}isCluster(e){return this.body.nodes[e]!==void 0?this.body.nodes[e].isCluster===!0:(console.error("Node does not exist."),!1)}_getClusterPosition(e){const t=Je(e);let r=e[t[0]].x,i=e[t[0]].x,s=e[t[0]].y,o=e[t[0]].y,a;for(let g=1;g<t.length;g++)a=e[t[g]],r=a.x<r?a.x:r,i=a.x>i?a.x:i,s=a.y<s?a.y:s,o=a.y>o?a.y:o;return{x:.5*(r+i),y:.5*(s+o)}}openCluster(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No clusterNodeId supplied to openCluster.");const i=this.body.nodes[e];if(i===void 0)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(i.isCluster!==!0||i.containedNodes===void 0||i.containedEdges===void 0)throw new Error("The node:"+e+" is not a valid cluster.");const s=this.findNode(e),o=je(s).call(s,e)-1;if(o>=0){const I=s[o];this.body.nodes[I]._openChildCluster(e),delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged");return}const a=i.containedNodes,g=i.containedEdges;if(t!==void 0&&t.releaseFunction!==void 0&&typeof t.releaseFunction=="function"){const I={},C={x:i.x,y:i.y};for(const l in a)if(Object.prototype.hasOwnProperty.call(a,l)){const u=this.body.nodes[l];I[l]={x:u.x,y:u.y}}const d=t.releaseFunction(C,I);for(const l in a)if(Object.prototype.hasOwnProperty.call(a,l)){const u=this.body.nodes[l];d[l]!==void 0&&(u.x=d[l].x===void 0?i.x:d[l].x,u.y=d[l].y===void 0?i.y:d[l].y)}}else le(a,function(I){I.options.fixed.x===!1&&(I.x=i.x),I.options.fixed.y===!1&&(I.y=i.y)});for(const I in a)if(Object.prototype.hasOwnProperty.call(a,I)){const C=this.body.nodes[I];C.vx=i.vx,C.vy=i.vy,C.setOptions({physics:!0}),delete this.clusteredNodes[I]}const A=[];for(let I=0;I<i.edges.length;I++)A.push(i.edges[I]);for(let I=0;I<A.length;I++){const C=A[I],d=this._getConnectedId(C,e),l=this.clusteredNodes[d];for(let u=0;u<C.clusteringEdgeReplacingIds.length;u++){const h=C.clusteringEdgeReplacingIds[u],v=this.body.edges[h];if(v!==void 0)if(l!==void 0){const f=this.body.nodes[l.clusterId];f.containedEdges[v.id]=v,delete g[v.id];let c=v.fromId,b=v.toId;v.toId==d?b=l.clusterId:c=l.clusterId,this._createClusteredEdge(c,b,v,f.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(v)}C.remove()}for(const I in g)Object.prototype.hasOwnProperty.call(g,I)&&this._restoreEdge(g[I]);delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged")}getNodesInCluster(e){const t=[];if(this.isCluster(e)===!0){const r=this.body.nodes[e].containedNodes;for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.push(this.body.nodes[i].id)}return t}findNode(e){const t=[];let i=0,s;for(;this.clusteredNodes[e]!==void 0&&i<100;){if(s=this.body.nodes[e],s===void 0)return[];t.push(s.id),e=this.clusteredNodes[e].clusterId,i++}return s=this.body.nodes[e],s===void 0?[]:(t.push(s.id),Ls(t).call(t),t)}updateClusteredNode(e,t){if(e===void 0)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(t===void 0)throw new Error("No newOptions supplied to updateClusteredNode.");if(this.body.nodes[e]===void 0)throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[e].setOptions(t),this.body.emitter.emit("_dataChanged")}updateEdge(e,t){if(e===void 0)throw new Error("No startEdgeId supplied to updateEdge.");if(t===void 0)throw new Error("No newOptions supplied to updateEdge.");if(this.body.edges[e]===void 0)throw new Error("The startEdgeId supplied to updateEdge does not exist.");const r=this.getClusteredEdges(e);for(let i=0;i<r.length;i++)this.body.edges[r[i]].setOptions(t);this.body.emitter.emit("_dataChanged")}getClusteredEdges(e){const t=[];let i=0;for(;e!==void 0&&this.body.edges[e]!==void 0&&i<100;)t.push(this.body.edges[e].id),e=this.body.edges[e].edgeReplacedById,i++;return Ls(t).call(t),t}getBaseEdge(e){return this.getBaseEdges(e)[0]}getBaseEdges(e){const t=[e],r=[],i=[],s=100;let o=0;for(;t.length>0&&o<s;){const a=t.pop();if(a===void 0)continue;const g=this.body.edges[a];if(g===void 0)continue;o++;const A=g.clusteringEdgeReplacingIds;if(A===void 0)i.push(a);else for(let I=0;I<A.length;++I){const C=A[I];je(t).call(t,A)!==-1||je(r).call(r,A)!==-1||t.push(C)}r.push(a)}return i}_getConnectedId(e,t){return e.toId!=t?e.toId:(e.fromId!=t,e.fromId)}_getHubSize(){let e=0,t=0,r=0,i=0;for(let g=0;g<this.body.nodeIndices.length;g++){const A=this.body.nodes[this.body.nodeIndices[g]];A.edges.length>i&&(i=A.edges.length),e+=A.edges.length,t+=Math.pow(A.edges.length,2),r+=1}e=e/r,t=t/r;const s=t-Math.pow(e,2),o=Math.sqrt(s);let a=Math.floor(e+2*o);return a>i&&(a=i),a}_createClusteredEdge(e,t,r,i,s){const o=Ft.cloneOptions(r,"edge");Pe(o,i),o.from=e,o.to=t,o.id="clusterEdge:"+zs(),s!==void 0&&Pe(o,s);const a=this.body.functions.createEdge(o);return a.clusteringEdgeReplacingIds=[r.id],a.connect(),this.body.edges[a.id]=a,a}_clusterEdges(e,t,r,i){if(t instanceof js){const s=t,o={};o[s.id]=s,t=o}if(e instanceof er){const s=e,o={};o[s.id]=s,e=o}if(r==null)throw new Error("_clusterEdges: parameter clusterNode required");i===void 0&&(i=r.clusterEdgeProperties),this._createClusterEdges(e,t,r,i);for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&this.body.edges[s]!==void 0){const o=this.body.edges[s];this._backupEdgeOptions(o),o.setOptions({physics:!1})}for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(this.clusteredNodes[s]={clusterId:r.id,node:this.body.nodes[s]},this.body.nodes[s].setOptions({physics:!1}))}_getClusterNodeForNode(e){if(e===void 0)return;const t=this.clusteredNodes[e];if(t===void 0)return;const r=t.clusterId;if(r!==void 0)return this.body.nodes[r]}_filter(e,t){const r=[];return le(e,i=>{t(i)&&r.push(i)}),r}_updateState(){let e;const t=[],r={},i=g=>{le(this.body.nodes,A=>{A.isCluster===!0&&g(A)})};for(e in this.clusteredNodes){if(!Object.prototype.hasOwnProperty.call(this.clusteredNodes,e))continue;this.body.nodes[e]===void 0&&t.push(e)}i(function(g){for(let A=0;A<t.length;A++)delete g.containedNodes[t[A]]});for(let g=0;g<t.length;g++)delete this.clusteredNodes[t[g]];le(this.clusteredEdges,g=>{const A=this.body.edges[g];(A===void 0||!A.endPointsValid())&&(r[g]=g)}),i(function(g){le(g.containedEdges,(A,I)=>{!A.endPointsValid()&&!r[I]&&(r[I]=I)})}),le(this.body.edges,(g,A)=>{let I=!0;const C=g.clusteringEdgeReplacingIds;if(C!==void 0){let d=0;le(C,l=>{const u=this.body.edges[l];u!==void 0&&u.endPointsValid()&&(d+=1)}),I=d>0}(!g.endPointsValid()||!I)&&(r[A]=A)}),i(g=>{le(r,A=>{delete g.containedEdges[A],le(g.edges,(I,C)=>{if(I.id===A){g.edges[C]=null;return}I.clusteringEdgeReplacingIds=this._filter(I.clusteringEdgeReplacingIds,function(d){return!r[d]})}),g.edges=this._filter(g.edges,function(I){return I!==null})})}),le(r,g=>{delete this.clusteredEdges[g]}),le(r,g=>{delete this.body.edges[g]});const s=Je(this.body.edges);le(s,g=>{const A=this.body.edges[g],I=this._isClusteredNode(A.fromId)||this._isClusteredNode(A.toId);if(I!==this._isClusteredEdge(A.id))if(I){const C=this._getClusterNodeForNode(A.fromId);C!==void 0&&this._clusterEdges(this.body.nodes[A.fromId],A,C);const d=this._getClusterNodeForNode(A.toId);d!==void 0&&this._clusterEdges(this.body.nodes[A.toId],A,d)}else delete this._clusterEdges[g],this._restoreEdge(A)});let o=!1,a=!0;for(;a;){const g=[];i(function(A){const I=Je(A.containedNodes).length,C=A.options.allowSingleNodeCluster===!0;(C&&I<1||!C&&I<2)&&g.push(A.id)});for(let A=0;A<g.length;++A)this.openCluster(g[A],{},!1);a=g.length>0,o=o||a}o&&this._updateState()}_isClusteredNode(e){return this.clusteredNodes[e]!==void 0}_isClusteredEdge(e){return this.clusteredEdges[e]!==void 0}},_ge=class{constructor(e,t){this.body=e,this.canvas=t,this.redrawRequested=!1,this.requestAnimationFrameRequestId=void 0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},Ot(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.on("dragStart",()=>{this.dragging=!0}),this.body.emitter.on("dragEnd",()=>{this.dragging=!1}),this.body.emitter.on("zoom",()=>{this.zooming=!0,window.clearTimeout(this.zoomTimeoutId),this.zoomTimeoutId=Bs(()=>{var t;this.zooming=!1,z(t=this._requestRedraw).call(t,this)()},250)}),this.body.emitter.on("_resizeNodes",()=>{this._resizeNodes()}),this.body.emitter.on("_redraw",()=>{this.renderingActive===!1&&this._redraw()}),this.body.emitter.on("_blockRedraw",()=>{this.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",()=>{this.allowRedraw=!0,this.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",z(e=this._requestRedraw).call(e,this)),this.body.emitter.on("_startRendering",()=>{this.renderRequests+=1,this.renderingActive=!0,this._startRendering()}),this.body.emitter.on("_stopRendering",()=>{this.renderRequests-=1,this.renderingActive=this.renderRequests>0,this.requestAnimationFrameRequestId=void 0}),this.body.emitter.on("destroy",()=>{this.renderRequests=0,this.allowRedraw=!1,this.renderingActive=!1,window.cancelAnimationFrame(this.requestAnimationFrameRequestId),this.body.emitter.off()})}setOptions(e){e!==void 0&&Eo(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,e)}_startRendering(){if(this.renderingActive===!0&&this.requestAnimationFrameRequestId===void 0){var e;this.requestAnimationFrameRequestId=window.requestAnimationFrame(z(e=this._renderStep).call(e,this),this.simulationInterval)}}_renderStep(){this.renderingActive===!0&&(this.requestAnimationFrameRequestId=void 0,this._startRendering(),this._redraw())}redraw(){this.body.emitter.emit("setSize"),this._redraw()}_requestRedraw(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,window.requestAnimationFrame(()=>{this._redraw(!1)}))}_redraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;const t={drawExternalLabels:null};(this.canvas.frame.canvas.width===0||this.canvas.frame.canvas.height===0)&&this.canvas.setSize(),this.canvas.setTransform();const r=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,s=this.canvas.frame.canvas.clientHeight;if(r.clearRect(0,0,i,s),this.canvas.frame.clientWidth===0)return;if(r.save(),r.translate(this.body.view.translation.x,this.body.view.translation.y),r.scale(this.body.view.scale,this.body.view.scale),r.beginPath(),this.body.emitter.emit("beforeDrawing",r),r.closePath(),e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawEdges(r),this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1){const{drawExternalLabels:o}=this._drawNodes(r,e);t.drawExternalLabels=o}e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawArrows(r),t.drawExternalLabels!=null&&t.drawExternalLabels(),e===!1&&this._drawSelectionBox(r),r.beginPath(),this.body.emitter.emit("afterDrawing",r),r.closePath(),r.restore(),e===!0&&r.clearRect(0,0,i,s)}}_resizeNodes(){this.canvas.setTransform();const e=this.canvas.getContext();e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale);const t=this.body.nodes;let r;for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r=t[i],r.resize(e),r.updateBoundingBox(e,r.selected));e.restore()}_drawNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.nodes,i=this.body.nodeIndices;let s;const o=[],a=[],g=20,A=this.canvas.DOMtoCanvas({x:-g,y:-g}),I=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+g,y:this.canvas.frame.canvas.clientHeight+g}),C={top:A.y,left:A.x,bottom:I.y,right:I.x},d=[];for(let v=0;v<i.length;v++)if(s=r[i[v]],s.hover)a.push(i[v]);else if(s.isSelected())o.push(i[v]);else if(t===!0){const f=s.draw(e);f.drawExternalLabel!=null&&d.push(f.drawExternalLabel)}else if(s.isBoundingBoxOverlappingWith(C)===!0){const f=s.draw(e);f.drawExternalLabel!=null&&d.push(f.drawExternalLabel)}else s.updateBoundingBox(e,s.selected);let l;const u=o.length,h=a.length;for(l=0;l<u;l++){s=r[o[l]];const v=s.draw(e);v.drawExternalLabel!=null&&d.push(v.drawExternalLabel)}for(l=0;l<h;l++){s=r[a[l]];const v=s.draw(e);v.drawExternalLabel!=null&&d.push(v.drawExternalLabel)}return{drawExternalLabels:()=>{for(const v of d)v()}}}_drawEdges(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const s=t[r[i]];s.connected===!0&&s.draw(e)}}_drawArrows(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const s=t[r[i]];s.connected===!0&&s.drawArrows(e)}}_drawSelectionBox(e){if(this.body.selectionBox.show){e.beginPath();const t=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,r=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;e.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.fillStyle="rgba(151, 194, 252, 0.2)",e.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.strokeStyle="rgba(151, 194, 252, 1)",e.stroke()}else e.closePath()}};var ec,bq;function Oge(){if(bq)return ec;bq=1,OX();var n=Se();return ec=n.setInterval,ec}var tc,wq;function Tge(){return wq||(wq=1,tc=Oge()),tc}var Rge=Tge(),Pge=ae(Rge);function xA(n,e){e.inputHandler=function(t){t.isFirst&&e(t)},n.on("hammer.input",e.inputHandler)}function XX(n,e){return e.inputHandler=function(t){t.isFinal&&e(t)},n.on("hammer.input",e.inputHandler)}let xge=class{constructor(e){this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},Ot(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.once("resize",t=>{t.width!==0&&(this.body.view.translation.x=t.width*.5),t.height!==0&&(this.body.view.translation.y=t.height*.5)}),this.body.emitter.on("setSize",z(e=this.setSize).call(e,this)),this.body.emitter.on("destroy",()=>{this.hammerFrame.destroy(),this.hammer.destroy(),this._cleanUp()})}setOptions(e){if(e!==void 0&&Eo(["width","height","autoResize"],this.options,e),this._cleanUp(),this.options.autoResize===!0){var t;if(window.ResizeObserver){const i=new ResizeObserver(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")}),{frame:s}=this;i.observe(s),this._cleanupCallbacks.push(()=>{i.unobserve(s)})}else{const i=Pge(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")},1e3);this._cleanupCallbacks.push(()=>{clearInterval(i)})}const r=z(t=this._onResize).call(t,this);window.addEventListener("resize",r),this._cleanupCallbacks.push(()=>{window.removeEventListener("resize",r)})}}_cleanUp(){var e,t,r;Ne(e=Ls(t=Gi(r=this._cleanupCallbacks).call(r,0)).call(t)).call(e,i=>{try{i()}catch(s){console.error(s)}})}_onResize(){this.setSize(),this.body.emitter.emit("_redraw")}_getCameraState(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/e,this.cameraState.previousHeight=this.frame.canvas.height/e,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/e,y:.5*this.frame.canvas.height/e}))}_setCameraState(){if(this.cameraState.scale!==void 0&&this.frame.canvas.clientWidth!==0&&this.frame.canvas.clientHeight!==0&&this.pixelRatio!==0&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){const e=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,t=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight;let r=this.cameraState.scale;e!=1&&t!=1?r=this.cameraState.scale*.5*(e+t):e!=1?r=this.cameraState.scale*e:t!=1&&(r=this.cameraState.scale*t),this.body.view.scale=r;const i=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),s={x:i.x-this.cameraState.position.x,y:i.y-this.cameraState.position.y};this.body.view.translation.x+=s.x*this.body.view.scale,this.body.view.translation.y+=s.y*this.body.view.scale}}_prepareValue(e){if(typeof e=="number")return e+"px";if(typeof e=="string"){if(je(e).call(e,"%")!==-1||je(e).call(e,"px")!==-1)return e;if(je(e).call(e,"%")===-1)return e+"px"}throw new Error("Could not use the value supplied for width or height:"+e)}_create(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{const e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}_bindHammer(){this.hammer!==void 0&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new ks(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:ks.DIRECTION_ALL}),xA(this.hammer,e=>{this.body.eventListeners.onTouch(e)}),this.hammer.on("tap",e=>{this.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",e=>{this.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",e=>{this.body.eventListeners.onHold(e)}),this.hammer.on("panstart",e=>{this.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",e=>{this.body.eventListeners.onDrag(e)}),this.hammer.on("panend",e=>{this.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",e=>{this.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("wheel",e=>{this.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",e=>{this.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",e=>{this.body.eventListeners.onContext(e)}),this.hammerFrame=new ks(this.frame),XX(this.hammerFrame,e=>{this.body.eventListeners.onRelease(e)})}setSize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.width,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.height;e=this._prepareValue(e),t=this._prepareValue(t);let r=!1;const i=this.frame.canvas.width,s=this.frame.canvas.height,o=this.pixelRatio;if(this._setPixelRatio(),e!=this.options.width||t!=this.options.height||this.frame.style.width!=e||this.frame.style.height!=t)this._getCameraState(o),this.frame.style.width=e,this.frame.style.height=t,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=e,this.options.height=t,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},r=!0;else{const a=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),g=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);(this.frame.canvas.width!==a||this.frame.canvas.height!==g)&&this._getCameraState(o),this.frame.canvas.width!==a&&(this.frame.canvas.width=a,r=!0),this.frame.canvas.height!==g&&(this.frame.canvas.height=g,r=!0)}return r===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(i/this.pixelRatio),oldHeight:Math.round(s/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,r}getContext(){return this.frame.canvas.getContext("2d")}_determinePixelRatio(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");let t=1;typeof window<"u"&&(t=window.devicePixelRatio||1);const r=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/r}_setPixelRatio(){this.pixelRatio=this._determinePixelRatio()}setTransform(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}_XconvertDOMtoCanvas(e){return(e-this.body.view.translation.x)/this.body.view.scale}_XconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.x}_YconvertDOMtoCanvas(e){return(e-this.body.view.translation.y)/this.body.view.scale}_YconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.y}canvasToDOM(e){return{x:this._XconvertCanvasToDOM(e.x),y:this._YconvertCanvasToDOM(e.y)}}DOMtoCanvas(e){return{x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)}}};function $ge(n,e){const t=Ot({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},n??{});if(!$r(t.nodes))throw new TypeError("Nodes has to be an array of ids.");if(t.nodes.length===0&&(t.nodes=e),!(typeof t.minZoomLevel=="number"&&t.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!(typeof t.maxZoomLevel=="number"&&t.minZoomLevel<=t.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return t}let Dge=class{constructor(e,t){var r,i;this.body=e,this.canvas=t,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",z(r=this.fit).call(r,this)),this.body.emitter.on("animationFinished",()=>{this.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",z(i=this.releaseNode).call(i,this))}setOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=e}fit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;e=$ge(e,this.body.nodeIndices);const r=this.canvas.frame.canvas.clientWidth,i=this.canvas.frame.canvas.clientHeight;let s,o;if(r===0||i===0)o=1,s=Ft.getRange(this.body.nodes,e.nodes);else if(t===!0){let A=0;for(const d in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,d)&&this.body.nodes[d].predefinedPosition===!0&&(A+=1);if(A>.5*this.body.nodeIndices.length){this.fit(e,!1);return}s=Ft.getRange(this.body.nodes,e.nodes),o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;const C=Math.min(r/600,i/600);o*=C}else{this.body.emitter.emit("_resizeNodes"),s=Ft.getRange(this.body.nodes,e.nodes);const A=Math.abs(s.maxX-s.minX)*1.1,I=Math.abs(s.maxY-s.minY)*1.1,C=r/A,d=i/I;o=C<=d?C:d}o>e.maxZoomLevel?o=e.maxZoomLevel:o<e.minZoomLevel&&(o=e.minZoomLevel);const g={position:Ft.findCenter(s),scale:o,animation:e.animation};this.moveTo(g)}focus(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.body.nodes[e]!==void 0){const r={x:this.body.nodes[e].x,y:this.body.nodes[e].y};t.position=r,t.lockedOnNode=e,this.moveTo(t)}else console.error("Node: "+e+" cannot be found.")}moveTo(e){if(e===void 0){e={};return}if(e.offset!=null){if(e.offset.x!=null){if(e.offset.x=+e.offset.x,!mn(e.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else e.offset.x=0;if(e.offset.y!=null){if(e.offset.y=+e.offset.y,!mn(e.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else e.offset.x=0}else e.offset={x:0,y:0};if(e.position!=null){if(e.position.x!=null){if(e.position.x=+e.position.x,!mn(e.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else e.position.x=0;if(e.position.y!=null){if(e.position.y=+e.position.y,!mn(e.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else e.position.x=0}else e.position=this.getViewPosition();if(e.scale!=null){if(e.scale=+e.scale,!(e.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else e.scale=this.body.view.scale;e.animation===void 0&&(e.animation={duration:0}),e.animation===!1&&(e.animation={duration:0}),e.animation===!0&&(e.animation={}),e.animation.duration===void 0&&(e.animation.duration=1e3),e.animation.easingFunction===void 0&&(e.animation.easingFunction="easeInOutQuad"),this.animateView(e)}animateView(e){if(e===void 0)return;this.animationEasingFunction=e.animation.easingFunction,this.releaseNode(),e.locked===!0&&(this.lockedOnNodeId=e.lockedOnNode,this.lockedOnNodeOffset=e.offset),this.easingTime!=0&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=e.scale,this.body.view.scale=this.targetScale;const t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.position.x,y:t.y-e.position.y};if(this.targetTranslation={x:this.sourceTranslation.x+r.x*this.targetScale+e.offset.x,y:this.sourceTranslation.y+r.y*this.targetScale+e.offset.y},e.animation.duration===0)if(this.lockedOnNodeId!=null){var i;this.viewFunction=z(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction)}else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else{var s;this.animationSpeed=1/(60*e.animation.duration*.001)||1/60,this.animationEasingFunction=e.animation.easingFunction,this.viewFunction=z(s=this._transitionRedraw).call(s,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}_lockedRedraw(){const e={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.x,y:t.y-e.y},i=this.body.view.translation,s={x:i.x+r.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:i.y+r.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}releaseNode(){this.lockedOnNodeId!==void 0&&this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}_transitionRedraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.easingTime+=this.animationSpeed,this.easingTime=e===!0?1:this.easingTime;const t=ore[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*t,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*t,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*t},this.easingTime>=1){if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,this.lockedOnNodeId!=null){var r;this.viewFunction=z(r=this._lockedRedraw).call(r,this),this.body.emitter.on("initRedraw",this.viewFunction)}this.body.emitter.emit("animationFinished")}}getScale(){return this.body.view.scale}getViewPosition(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}};function Eq(n){var e=n&&n.preventDefault||!1,t=n&&n.container||window,r={},i={keydown:{},keyup:{}},s={},o;for(o=97;o<=122;o++)s[String.fromCharCode(o)]={code:65+(o-97),shift:!1};for(o=65;o<=90;o++)s[String.fromCharCode(o)]={code:o,shift:!0};for(o=0;o<=9;o++)s[""+o]={code:48+o,shift:!1};for(o=1;o<=12;o++)s["F"+o]={code:111+o,shift:!1};for(o=0;o<=9;o++)s["num"+o]={code:96+o,shift:!1};s["num*"]={code:106,shift:!1},s["num+"]={code:107,shift:!1},s["num-"]={code:109,shift:!1},s["num/"]={code:111,shift:!1},s["num."]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s["="]={code:187,shift:!1},s["-"]={code:189,shift:!1},s["]"]={code:221,shift:!1},s["["]={code:219,shift:!1};var a=function(I){A(I,"keydown")},g=function(I){A(I,"keyup")},A=function(I,C){if(i[C][I.keyCode]!==void 0){for(var d=i[C][I.keyCode],l=0;l<d.length;l++)(d[l].shift===void 0||d[l].shift==!0&&I.shiftKey==!0||d[l].shift==!1&&I.shiftKey==!1)&&d[l].fn(I);e==!0&&I.preventDefault()}};return r.bind=function(I,C,d){if(d===void 0&&(d="keydown"),s[I]===void 0)throw new Error("unsupported key: "+I);i[d][s[I].code]===void 0&&(i[d][s[I].code]=[]),i[d][s[I].code].push({fn:C,shift:s[I].shift})},r.bindAll=function(I,C){C===void 0&&(C="keydown");for(var d in s)s.hasOwnProperty(d)&&r.bind(d,I,C)},r.getKey=function(I){for(var C in s)if(s.hasOwnProperty(C)){if(I.shiftKey==!0&&s[C].shift==!0&&I.keyCode==s[C].code)return C;if(I.shiftKey==!1&&s[C].shift==!1&&I.keyCode==s[C].code)return C;if(I.keyCode==s[C].code&&C=="shift")return C}return"unknown key, currently not supported"},r.unbind=function(I,C,d){if(d===void 0&&(d="keydown"),s[I]===void 0)throw new Error("unsupported key: "+I);if(C!==void 0){var l=[],u=i[d][s[I].code];if(u!==void 0)for(var h=0;h<u.length;h++)u[h].fn==C&&u[h].shift==s[I].shift||l.push(i[d][s[I].code][h]);i[d][s[I].code]=l}else i[d][s[I].code]=[]},r.reset=function(){i={keydown:{},keyup:{}}},r.destroy=function(){i={keydown:{},keyup:{}},t.removeEventListener("keydown",a,!0),t.removeEventListener("keyup",g,!0)},t.addEventListener("keydown",a,!0),t.addEventListener("keyup",g,!0),r}let Nge=class{constructor(e,t){this.body=e,this.canvas=t,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",()=>{this.activated=!0,this.configureKeyboardBindings()}),this.body.emitter.on("deactivate",()=>{this.activated=!1,this.configureKeyboardBindings()}),this.body.emitter.on("destroy",()=>{this.keycharm!==void 0&&this.keycharm.destroy()}),this.options={}}setOptions(e){e!==void 0&&(this.options=e,this.create())}create(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}cleanNavigation(){if(this.navigationHammers.length!=0){for(let e=0;e<this.navigationHammers.length;e++)this.navigationHammers[e].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}loadNavigationElements(){this.cleanNavigation(),this.navigationDOM={};const e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],t=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(let o=0;o<e.length;o++){this.navigationDOM[e[o]]=document.createElement("div"),this.navigationDOM[e[o]].className="vis-button vis-"+e[o],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[o]]);const a=new ks(this.navigationDOM[e[o]]);if(t[o]==="_fit"){var r;xA(a,z(r=this._fit).call(r,this))}else{var i;xA(a,z(i=this.bindToRedraw).call(i,this,t[o]))}this.navigationHammers.push(a)}const s=new ks(this.canvas.frame);XX(s,()=>{this._stopMovement()}),this.navigationHammers.push(s),this.iconsCreated=!0}bindToRedraw(e){if(this.boundFunctions[e]===void 0){var t;this.boundFunctions[e]=z(t=this[e]).call(t,this),this.body.emitter.on("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_startRendering")}}unbindFromRedraw(e){this.boundFunctions[e]!==void 0&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[e])}_fit(){new Date().valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=new Date().valueOf())}_stopMovement(){for(const e in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,e)&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}_moveUp(){this.body.view.translation.y+=this.options.keyboard.speed.y}_moveDown(){this.body.view.translation.y-=this.options.keyboard.speed.y}_moveLeft(){this.body.view.translation.x+=this.options.keyboard.speed.x}_moveRight(){this.body.view.translation.x-=this.options.keyboard.speed.x}_zoomIn(){const e=this.body.view.scale,t=this.body.view.scale*(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,s=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,o=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:s,y:o},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}_zoomOut(){const e=this.body.view.scale,t=this.body.view.scale/(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,s=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,o=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:s,y:o},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}configureKeyboardBindings(){if(this.keycharm!==void 0&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=Eq({container:window,preventDefault:!0}):this.keycharm=Eq({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0)){var e,t,r,i,s,o,a,g,A,I,C,d,l,u,h,v,f,c,b,p,y,E,S,m;z(e=this.keycharm).call(e,"up",()=>{this.bindToRedraw("_moveUp")},"keydown"),z(t=this.keycharm).call(t,"down",()=>{this.bindToRedraw("_moveDown")},"keydown"),z(r=this.keycharm).call(r,"left",()=>{this.bindToRedraw("_moveLeft")},"keydown"),z(i=this.keycharm).call(i,"right",()=>{this.bindToRedraw("_moveRight")},"keydown"),z(s=this.keycharm).call(s,"=",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(o=this.keycharm).call(o,"num+",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(a=this.keycharm).call(a,"num-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(g=this.keycharm).call(g,"-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(A=this.keycharm).call(A,"[",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(I=this.keycharm).call(I,"]",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(C=this.keycharm).call(C,"pageup",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(d=this.keycharm).call(d,"pagedown",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(l=this.keycharm).call(l,"up",()=>{this.unbindFromRedraw("_moveUp")},"keyup"),z(u=this.keycharm).call(u,"down",()=>{this.unbindFromRedraw("_moveDown")},"keyup"),z(h=this.keycharm).call(h,"left",()=>{this.unbindFromRedraw("_moveLeft")},"keyup"),z(v=this.keycharm).call(v,"right",()=>{this.unbindFromRedraw("_moveRight")},"keyup"),z(f=this.keycharm).call(f,"=",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(c=this.keycharm).call(c,"num+",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(b=this.keycharm).call(b,"num-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),z(p=this.keycharm).call(p,"-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),z(y=this.keycharm).call(y,"[",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),z(E=this.keycharm).call(E,"]",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(S=this.keycharm).call(S,"pageup",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(m=this.keycharm).call(m,"pagedown",()=>{this.unbindFromRedraw("_zoomOut")},"keyup")}}},Mge=class{constructor(e,t,r){var i,s,o,a,g,A,I,C,d,l,u,h,v;this.body=e,this.canvas=t,this.selectionHandler=r,this.navigationHandler=new Nge(e,t),this.body.eventListeners.onTap=z(i=this.onTap).call(i,this),this.body.eventListeners.onTouch=z(s=this.onTouch).call(s,this),this.body.eventListeners.onDoubleTap=z(o=this.onDoubleTap).call(o,this),this.body.eventListeners.onHold=z(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=z(g=this.onDragStart).call(g,this),this.body.eventListeners.onDrag=z(A=this.onDrag).call(A,this),this.body.eventListeners.onDragEnd=z(I=this.onDragEnd).call(I,this),this.body.eventListeners.onMouseWheel=z(C=this.onMouseWheel).call(C,this),this.body.eventListeners.onPinch=z(d=this.onPinch).call(d,this),this.body.eventListeners.onMouseMove=z(l=this.onMouseMove).call(l,this),this.body.eventListeners.onRelease=z(u=this.onRelease).call(u,this),this.body.eventListeners.onContext=z(h=this.onContext).call(h,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=z(v=this.getPointer).call(v,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},Ot(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("destroy",()=>{clearTimeout(this.popupTimer),delete this.body.functions.getPointer})}setOptions(e){e!==void 0&&(TA(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,e),sr(this.options,e,"keyboard"),e.tooltip&&(Ot(this.options.tooltip,e.tooltip),e.tooltip.color&&(this.options.tooltip.color=S_(e.tooltip.color)))),this.navigationHandler.setOptions(this.options)}getPointer(e){return{x:e.x-rre(this.canvas.frame.canvas),y:e.y-ire(this.canvas.frame.canvas)}}onTouch(e){new Date().valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(e.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=new Date().valueOf())}onTap(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect&&(e.changedPointers[0].ctrlKey||e.changedPointers[0].metaKey);this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t)}onDoubleTap(e){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("doubleClick",e,t)}onHold(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect;this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t),this.selectionHandler.generateClickEvent("hold",e,t)}onRelease(e){if(new Date().valueOf()-this.touchTime>10){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("release",e,t),this.touchTime=new Date().valueOf()}}onContext(e){const t=this.getPointer({x:e.clientX,y:e.clientY});this.selectionHandler.generateClickEvent("oncontext",e,t)}checkSelectionChanges(e){(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)===!0?this.selectionHandler.selectAdditionalOnPoint(e):this.selectionHandler.selectOnPoint(e)}_determineDifference(e,t){const r=function(i,s){const o=[];for(let a=0;a<i.length;a++){const g=i[a];je(s).call(s,g)===-1&&o.push(g)}return o};return{nodes:r(e.nodes,t.nodes),edges:r(e.edges,t.edges)}}onDragStart(e){if(this.drag.dragging)return;this.drag.pointer===void 0&&this.onTouch(e);const t=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=Ot({},this.body.view.translation),this.drag.nodeId=void 0,e.srcEvent.shiftKey){this.body.selectionBox.show=!0;const r=this.getPointer(e.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)}}else if(t!==void 0&&this.options.dragNodes===!0){this.drag.nodeId=t.id,t.isSelected()===!1&&this.selectionHandler.setSelection({nodes:[t.id]}),this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer);for(const r of this.selectionHandler.getSelectedNodes()){const i={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(i)}}else this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer,void 0,!0)}onDrag(e){if(this.drag.pinched===!0)return;this.body.emitter.emit("unlockNode");const t=this.getPointer(e.center),r=this.drag.selection;if(r&&r.length&&this.options.dragNodes===!0){this.selectionHandler.generateClickEvent("dragging",e,t);const i=t.x-this.drag.pointer.x,s=t.y-this.drag.pointer.y;Ne(r).call(r,o=>{const a=o.node;o.xFixed===!1&&(a.x=this.canvas._XconvertDOMtoCanvas(this.canvas._XconvertCanvasToDOM(o.x)+i)),o.yFixed===!1&&(a.y=this.canvas._YconvertDOMtoCanvas(this.canvas._YconvertCanvasToDOM(o.y)+s))}),this.body.emitter.emit("startSimulation")}else{if(e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)},this.body.emitter.emit("_requestRedraw")}if(this.options.dragView===!0&&!e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}const i=t.x-this.drag.pointer.x,s=t.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+i,y:this.drag.translation.y+s},this.body.emitter.emit("_requestRedraw")}}}onDragEnd(e){if(this.drag.dragging=!1,this.body.selectionBox.show){var t;this.body.selectionBox.show=!1;const r=this.body.selectionBox.position,i={minX:Math.min(r.start.x,r.end.x),minY:Math.min(r.start.y,r.end.y),maxX:Math.max(r.start.x,r.end.x),maxY:Math.max(r.start.y,r.end.y)},s=ci(t=this.body.nodeIndices).call(t,a=>{const g=this.body.nodes[a];return g.x>=i.minX&&g.x<=i.maxX&&g.y>=i.minY&&g.y<=i.maxY});Ne(s).call(s,a=>this.selectionHandler.selectObject(this.body.nodes[a]));const o=this.getPointer(e.center);this.selectionHandler.commitAndEmit(o,e),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{const r=this.drag.selection;r&&r.length?(Ne(r).call(r,function(i){i.node.options.fixed.x=i.xFixed,i.node.options.fixed.y=i.yFixed}),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}onPinch(e){const t=this.getPointer(e.center);this.drag.pinched=!0,this.pinch.scale===void 0&&(this.pinch.scale=1);const r=this.pinch.scale*e.scale;this.zoom(r,t)}zoom(e,t){if(this.options.zoomView===!0){const r=this.body.view.scale;e<1e-5&&(e=1e-5),e>10&&(e=10);let i;this.drag!==void 0&&this.drag.dragging===!0&&(i=this.canvas.DOMtoCanvas(this.drag.pointer));const s=this.body.view.translation,o=e/r,a=(1-o)*t.x+s.x*o,g=(1-o)*t.y+s.y*o;if(this.body.view.scale=e,this.body.view.translation={x:a,y:g},i!=null){const A=this.canvas.canvasToDOM(i);this.drag.pointer.x=A.x,this.drag.pointer.y=A.y}this.body.emitter.emit("_requestRedraw"),r<e?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:t}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:t})}}onMouseWheel(e){if(this.options.zoomView===!0){if(e.deltaY!==0){let t=this.body.view.scale;t*=1+(e.deltaY<0?1:-1)*(this.options.zoomSpeed*.1);const r=this.getPointer({x:e.clientX,y:e.clientY});this.zoom(t,r)}e.preventDefault()}}onMouseMove(e){const t=this.getPointer({x:e.clientX,y:e.clientY});let r=!1;this.popup!==void 0&&(this.popup.hidden===!1&&this._checkHidePopup(t),this.popup.hidden===!1&&(r=!0,this.popup.setPosition(t.x+3,t.y-5),this.popup.show())),this.options.keyboard.autoFocus&&this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),r===!1&&(this.popupTimer!==void 0&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=Bs(()=>this._checkShowPopup(t),this.options.tooltipDelay))),this.options.hover===!0&&this.selectionHandler.hoverObject(e,t)}_checkShowPopup(e){const t=this.canvas._XconvertDOMtoCanvas(e.x),r=this.canvas._YconvertDOMtoCanvas(e.y),i={left:t,top:r,right:t,bottom:r},s=this.popupObj===void 0?void 0:this.popupObj.id;let o=!1,a="node";if(this.popupObj===void 0){const g=this.body.nodeIndices,A=this.body.nodes;let I;const C=[];for(let d=0;d<g.length;d++)I=A[g[d]],I.isOverlappingWith(i)===!0&&(o=!0,I.getTitle()!==void 0&&C.push(g[d]));C.length>0&&(this.popupObj=A[C[C.length-1]],o=!0)}if(this.popupObj===void 0&&o===!1){const g=this.body.edgeIndices,A=this.body.edges;let I;const C=[];for(let d=0;d<g.length;d++)I=A[g[d]],I.isOverlappingWith(i)===!0&&I.connected===!0&&I.getTitle()!==void 0&&C.push(g[d]);C.length>0&&(this.popupObj=A[C[C.length-1]],a="edge")}this.popupObj!==void 0?this.popupObj.id!==s&&(this.popup===void 0&&(this.popup=new ure(this.canvas.frame)),this.popup.popupTargetType=a,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(e.x+3,e.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):this.popup!==void 0&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}_checkHidePopup(e){const t=this.selectionHandler._pointerToPositionObject(e);let r=!1;if(this.popup.popupTargetType==="node"){if(this.body.nodes[this.popup.popupTargetId]!==void 0&&(r=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(t),r===!0)){const i=this.selectionHandler.getNodeAt(e);r=i===void 0?!1:i.id===this.popup.popupTargetId}}else this.selectionHandler.getNodeAt(e)===void 0&&this.body.edges[this.popup.popupTargetId]!==void 0&&(r=this.body.edges[this.popup.popupTargetId].isOverlappingWith(t));r===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}};var Sq={},_q={},Oq;function qge(){if(Oq)return _q;Oq=1;var n=RO(),e=wX();return n("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),_q}var Tq;function Fge(){return Tq||(Tq=1,qge()),Sq}var Rq={},rc,Pq;function Yn(){if(Pq)return rc;Pq=1;var n=fo(),e=TypeError;return rc=function(t){if(typeof t=="object"&&"size"in t&&"has"in t&&"add"in t&&"delete"in t&&"keys"in t)return t;throw new e(n(t)+" is not a set")},rc}var ic,xq;function Xn(){if(xq)return ic;xq=1;var n=rr(),e=EX(),t=n("Set"),r=t.prototype;return ic={Set:t,add:e("add",1),has:e("has",1),remove:e("delete",1),proto:r},ic}var nc,$q;function Qn(){if($q)return nc;$q=1;var n=Yt();return nc=function(e,t,r){for(var i=r?e:e.iterator,s=e.next,o,a;!(o=n(s,i)).done;)if(a=t(o.value),a!==void 0)return a},nc}var sc,Dq;function cg(){if(Dq)return sc;Dq=1;var n=Qn();return sc=function(e,t,r){return r?n(e.keys(),t,!0):e.forEach(t)},sc}var oc,Nq;function kO(){if(Nq)return oc;Nq=1;var n=Xn(),e=cg(),t=n.Set,r=n.add;return oc=function(i){var s=new t;return e(i,function(o){r(s,o)}),s},oc}var ac,Mq;function fg(){return Mq||(Mq=1,ac=function(n){return n.size}),ac}var gc,qq;function kge(){return qq||(qq=1,gc=function(n){return{iterator:n,next:n.next,done:!1}}),gc}var Ac,Fq;function Jn(){if(Fq)return Ac;Fq=1;var n=ui(),e=Xr(),t=Yt(),r=yo(),i=kge(),s="Invalid size",o=RangeError,a=TypeError,g=Math.max,A=function(I,C){this.set=I,this.size=g(C,0),this.has=n(I.has),this.keys=n(I.keys)};return A.prototype={getIterator:function(){return i(e(t(this.keys,this.set)))},includes:function(I){return t(this.has,this.set,I)}},Ac=function(I){e(I);var C=+I.size;if(C!==C)throw new a(s);var d=r(C);if(d<0)throw new o(s);return new A(I,d)},Ac}var Ic,kq;function Bge(){if(kq)return Ic;kq=1;var n=Yn(),e=Xn(),t=kO(),r=fg(),i=Jn(),s=cg(),o=Qn(),a=e.has,g=e.remove;return Ic=function(I){var C=n(this),d=i(I),l=t(C);return r(C)<=d.size?s(C,function(u){d.includes(u)&&g(l,u)}):o(d.getIterator(),function(u){a(l,u)&&g(l,u)}),l},Ic}var Cc,Bq;function es(){return Bq||(Bq=1,Cc=function(){return!1}),Cc}var zq;function zge(){if(zq)return Rq;zq=1;var n=ee(),e=Bge(),t=pe(),r=es(),i=!r("difference",function(o){return o.size===0}),s=i||t(function(){var o={size:1,has:function(){return!0},keys:function(){var g=0;return{next:function(){var A=g++>1;return a.has(1)&&a.clear(),{done:A,value:2}}}}},a=new Set([1,2,3,4]);return a.difference(o).size!==3});return n({target:"Set",proto:!0,real:!0,forced:s},{difference:e}),Rq}var jq={},dc,Lq;function jge(){if(Lq)return dc;Lq=1;var n=Yn(),e=Xn(),t=fg(),r=Jn(),i=cg(),s=Qn(),o=e.Set,a=e.add,g=e.has;return dc=function(I){var C=n(this),d=r(I),l=new o;return t(C)>d.size?s(d.getIterator(),function(u){g(C,u)&&a(l,u)}):i(C,function(u){d.includes(u)&&a(l,u)}),l},dc}var Gq;function Lge(){if(Gq)return jq;Gq=1;var n=ee(),e=pe(),t=jge(),r=es(),i=!r("intersection",function(s){return s.size===2&&s.has(1)&&s.has(2)})||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});return n({target:"Set",proto:!0,real:!0,forced:i},{intersection:t}),jq}var Wq={},lc,Vq;function Gge(){if(Vq)return lc;Vq=1;var n=Yn(),e=Xn().has,t=fg(),r=Jn(),i=cg(),s=Qn(),o=OO();return lc=function(g){var A=n(this),I=r(g);if(t(A)<=I.size)return i(A,function(d){if(I.includes(d))return!1},!0)!==!1;var C=I.getIterator();return s(C,function(d){if(e(A,d))return o(C,"normal",!1)})!==!1},lc}var Zq;function Wge(){if(Zq)return Wq;Zq=1;var n=ee(),e=Gge(),t=es(),r=!t("isDisjointFrom",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isDisjointFrom:e}),Wq}var Hq={},uc,Uq;function Vge(){if(Uq)return uc;Uq=1;var n=Yn(),e=fg(),t=cg(),r=Jn();return uc=function(s){var o=n(this),a=r(s);return e(o)>a.size?!1:t(o,function(g){if(!a.includes(g))return!1},!0)!==!1},uc}var Kq;function Zge(){if(Kq)return Hq;Kq=1;var n=ee(),e=Vge(),t=es(),r=!t("isSubsetOf",function(i){return i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSubsetOf:e}),Hq}var Yq={},hc,Xq;function Hge(){if(Xq)return hc;Xq=1;var n=Yn(),e=Xn().has,t=fg(),r=Jn(),i=Qn(),s=OO();return hc=function(a){var g=n(this),A=r(a);if(t(g)<A.size)return!1;var I=A.getIterator();return i(I,function(C){if(!e(g,C))return s(I,"normal",!1)})!==!1},hc}var Qq;function Uge(){if(Qq)return Yq;Qq=1;var n=ee(),e=Hge(),t=es(),r=!t("isSupersetOf",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSupersetOf:e}),Yq}var Jq={},cc,eF;function Kge(){if(eF)return cc;eF=1;var n=Yn(),e=Xn(),t=kO(),r=Jn(),i=Qn(),s=e.add,o=e.has,a=e.remove;return cc=function(A){var I=n(this),C=r(A).getIterator(),d=t(I);return i(C,function(l){o(I,l)?a(d,l):s(d,l)}),d},cc}var fc,tF;function QX(){return tF||(tF=1,fc=function(n){try{var e=new Set,t={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},r=e[n](t);return r.size===1&&r.values().next().value===4}catch{return!1}}),fc}var rF;function Yge(){if(rF)return Jq;rF=1;var n=ee(),e=Kge(),t=QX(),r=es(),i=!r("symmetricDifference")||!t("symmetricDifference");return n({target:"Set",proto:!0,real:!0,forced:i},{symmetricDifference:e}),Jq}var iF={},pc,nF;function Xge(){if(nF)return pc;nF=1;var n=Yn(),e=Xn().add,t=kO(),r=Jn(),i=Qn();return pc=function(o){var a=n(this),g=r(o).getIterator(),A=t(a);return i(g,function(I){e(A,I)}),A},pc}var sF;function Qge(){if(sF)return iF;sF=1;var n=ee(),e=Xge(),t=QX(),r=es(),i=!r("union")||!t("union");return n({target:"Set",proto:!0,real:!0,forced:i},{union:e}),iF}var vc,oF;function Jge(){if(oF)return vc;oF=1,To(),Fge(),zge(),Lge(),Wge(),Zge(),Uge(),Yge(),Qge(),$O();var n=Se();return vc=n.Set,vc}var mc,aF;function eAe(){if(aF)return mc;aF=1;var n=Jge();return Ro(),mc=n,mc}var yc,gF;function tAe(){return gF||(gF=1,yc=eAe()),yc}var rAe=tAe(),Fi=ae(rAe),AF={},IF={},bc,CF;function iAe(){if(CF)return bc;CF=1;var n=ve(),e=xO(),t=oI().getWeakData,r=TO(),i=Xr(),s=uo(),o=ut(),a=aI(),g=rn(),A=Rt(),I=Hn(),C=I.set,d=I.getterFor,l=g.find,u=g.findIndex,h=n([].splice),v=0,f=function(p){return p.frozen||(p.frozen=new c)},c=function(){this.entries=[]},b=function(p,y){return l(p.entries,function(E){return E[0]===y})};return c.prototype={get:function(p){var y=b(this,p);if(y)return y[1]},has:function(p){return!!b(this,p)},set:function(p,y){var E=b(this,p);E?E[1]=y:this.entries.push([p,y])},delete:function(p){var y=u(this.entries,function(E){return E[0]===p});return~y&&h(this.entries,y,1),!!~y}},bc={getConstructor:function(p,y,E,S){var m=p(function(R,O){r(R,w),C(R,{type:y,id:v++,frozen:null}),s(O)||a(O,R[S],{that:R,AS_ENTRIES:E})}),w=m.prototype,_=d(y),T=function(R,O,P){var x=_(R),V=t(i(O),!0);return V===!0?f(x).set(O,P):V[x.id]=P,R};return e(w,{delete:function(R){var O=_(this);if(!o(R))return!1;var P=t(R);return P===!0?f(O).delete(R):P&&A(P,O.id)&&delete P[O.id]},has:function(O){var P=_(this);if(!o(O))return!1;var x=t(O);return x===!0?f(P).has(O):x&&A(x,P.id)}}),e(w,E?{get:function(O){var P=_(this);if(o(O)){var x=t(O);if(x===!0)return f(P).get(O);if(x)return x[P.id]}},set:function(O,P){return T(this,O,P)}}:{add:function(O){return T(this,O,!0)}}),m}},bc}var dF;function nAe(){if(dF)return IF;dF=1;var n=yX(),e=Fe(),t=ve(),r=xO(),i=oI(),s=RO(),o=iAe(),a=ut(),g=Hn().enforce,A=pe(),I=vX(),C=Object,d=Array.isArray,l=C.isExtensible,u=C.isFrozen,h=C.isSealed,v=C.freeze,f=C.seal,c=!e.ActiveXObject&&"ActiveXObject"in e,b,p=function(R){return function(){return R(this,arguments.length?arguments[0]:void 0)}},y=s("WeakMap",p,o),E=y.prototype,S=t(E.set),m=function(){return n&&A(function(){var R=v([]);return S(new y,R,1),!u(R)})};if(I)if(c){b=o.getConstructor(p,"WeakMap",!0),i.enable();var w=t(E.delete),_=t(E.has),T=t(E.get);r(E,{delete:function(R){if(a(R)&&!l(R)){var O=g(this);return O.frozen||(O.frozen=new b),w(this,R)||O.frozen.delete(R)}return w(this,R)},has:function(O){if(a(O)&&!l(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)||P.frozen.has(O)}return _(this,O)},get:function(O){if(a(O)&&!l(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)?T(this,O):P.frozen.get(O)}return T(this,O)},set:function(O,P){if(a(O)&&!l(O)){var x=g(this);x.frozen||(x.frozen=new b),_(this,O)?S(this,O,P):x.frozen.set(O,P)}else S(this,O,P);return this}})}else m()&&r(E,{set:function(O,P){var x;return d(O)&&(u(O)?x=v:h(O)&&(x=f)),S(this,O,P),x&&x(O),this}});return IF}var lF;function sAe(){return lF||(lF=1,nAe()),AF}var wc,uF;function oAe(){if(uF)return wc;uF=1,To(),sAe();var n=Se();return wc=n.WeakMap,wc}var Ec,hF;function aAe(){if(hF)return Ec;hF=1;var n=oAe();return Ro(),Ec=n,Ec}var Sc,cF;function gAe(){return cF||(cF=1,Sc=aAe()),Sc}var AAe=gAe(),pg=ae(AAe);function Sa(n,e,t){IAe(n,e),e.set(n,t)}function IAe(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function D_(n,e,t){return n.set(JX(n,e),t),t}function Te(n,e){return n.get(JX(n,e))}function JX(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function fF(n,e){const t=new Fi;for(const r of e)n.has(r)||t.add(r);return t}var ys=new pg,Tr=new pg;let pF=class{constructor(){Sa(this,ys,new Fi),Sa(this,Tr,new Fi)}get size(){return Te(Tr,this).size}add(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)Te(Tr,this).add(i)}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)Te(Tr,this).delete(i)}clear(){Te(Tr,this).clear()}getSelection(){return[...Te(Tr,this)]}getChanges(){return{added:[...fF(Te(ys,this),Te(Tr,this))],deleted:[...fF(Te(Tr,this),Te(ys,this))],previous:[...new Fi(Te(ys,this))],current:[...new Fi(Te(Tr,this))]}}commit(){const e=this.getChanges();D_(ys,this,Te(Tr,this)),D_(Tr,this,new Fi(Te(ys,this)));for(const t of e.added)t.select();for(const t of e.deleted)t.unselect();return e}};var un=new pg,hn=new pg,_c=new pg;let CAe=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:()=>{};Sa(this,un,new pF),Sa(this,hn,new pF),Sa(this,_c,void 0),D_(_c,this,e)}get sizeNodes(){return Te(un,this).size}get sizeEdges(){return Te(hn,this).size}getNodes(){return Te(un,this).getSelection()}getEdges(){return Te(hn,this).getSelection()}addNodes(){Te(un,this).add(...arguments)}addEdges(){Te(hn,this).add(...arguments)}deleteNodes(e){Te(un,this).delete(e)}deleteEdges(e){Te(hn,this).delete(e)}clear(){Te(un,this).clear(),Te(hn,this).clear()}commit(){const e={nodes:Te(un,this).commit(),edges:Te(hn,this).commit()};for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Te(_c,this).call(this,e,...r),e}},dAe=class{constructor(e,t){this.body=e,this.canvas=t,this._selectionAccumulator=new CAe,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},Ot(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",()=>{this.updateSelection()})}setOptions(e){e!==void 0&&Eo(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,e)}selectOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);this.unselectAll(),r!==void 0&&(t=this.selectObject(r)),this.body.emitter.emit("_requestRedraw")}return t}selectAdditionalOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);r!==void 0&&(t=!0,r.isSelected()===!0?this.deselectObject(r):this.selectObject(r),this.body.emitter.emit("_requestRedraw"))}return t}_initBaseEvent(e,t){const r={};return r.pointer={DOM:{x:t.x,y:t.y},canvas:this.canvas.DOMtoCanvas(t)},r.event=e,r}generateClickEvent(e,t,r,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;const o=this._initBaseEvent(t,r);if(s===!0)o.nodes=[],o.edges=[];else{const a=this.getSelection();o.nodes=a.nodes,o.edges=a.edges}i!==void 0&&(o.previousSelection=i),e=="click"&&(o.items=this.getClickedItems(r)),t.controlEdge!==void 0&&(o.controlEdge=t.controlEdge),this.body.emitter.emit(e,o)}selectObject(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.selectConnectedEdges;return e!==void 0?(e instanceof er?(t===!0&&this._selectionAccumulator.addEdges(...e.edges),this._selectionAccumulator.addNodes(e)):this._selectionAccumulator.addEdges(e),!0):!1}deselectObject(e){e.isSelected()===!0&&(e.selected=!1,this._removeFromSelection(e))}_getAllNodesOverlappingWith(e){const t=[],r=this.body.nodes;for(let i=0;i<this.body.nodeIndices.length;i++){const s=this.body.nodeIndices[i];r[s].isOverlappingWith(e)&&t.push(s)}return t}_pointerToPositionObject(e){const t=this.canvas.DOMtoCanvas(e);return{left:t.x-1,top:t.y+1,right:t.x+1,bottom:t.y-1}}getNodeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this._pointerToPositionObject(e),i=this._getAllNodesOverlappingWith(r);if(i.length>0)return t===!0?this.body.nodes[i[i.length-1]]:i[i.length-1]}_getEdgesOverlappingWith(e,t){const r=this.body.edges;for(let i=0;i<this.body.edgeIndices.length;i++){const s=this.body.edgeIndices[i];r[s].isOverlappingWith(e)&&t.push(s)}}_getAllEdgesOverlappingWith(e){const t=[];return this._getEdgesOverlappingWith(e,t),t}getEdgeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this.canvas.DOMtoCanvas(e);let i=10,s=null;const o=this.body.edges;for(let a=0;a<this.body.edgeIndices.length;a++){const g=this.body.edgeIndices[a],A=o[g];if(A.connected){const I=A.from.x,C=A.from.y,d=A.to.x,l=A.to.y,u=A.edgeType.getDistanceToEdge(I,C,d,l,r.x,r.y);u<i&&(s=g,i=u)}}if(s!==null)return t===!0?this.body.edges[s]:s}_addToHover(e){e instanceof er?this.hoverObj.nodes[e.id]=e:this.hoverObj.edges[e.id]=e}_removeFromSelection(e){e instanceof er?(this._selectionAccumulator.deleteNodes(e),this._selectionAccumulator.deleteEdges(...e.edges)):this._selectionAccumulator.deleteEdges(e)}unselectAll(){this._selectionAccumulator.clear()}getSelectedNodeCount(){return this._selectionAccumulator.sizeNodes}getSelectedEdgeCount(){return this._selectionAccumulator.sizeEdges}_hoverConnectedEdges(e){for(let t=0;t<e.edges.length;t++){const r=e.edges[t];r.hover=!0,this._addToHover(r)}}emitBlurEvent(e,t,r){const i=this._initBaseEvent(e,t);r.hover===!0&&(r.hover=!1,r instanceof er?(i.node=r.id,this.body.emitter.emit("blurNode",i)):(i.edge=r.id,this.body.emitter.emit("blurEdge",i)))}emitHoverEvent(e,t,r){const i=this._initBaseEvent(e,t);let s=!1;return r.hover===!1&&(r.hover=!0,this._addToHover(r),s=!0,r instanceof er?(i.node=r.id,this.body.emitter.emit("hoverNode",i)):(i.edge=r.id,this.body.emitter.emit("hoverEdge",i))),s}hoverObject(e,t){let r=this.getNodeAt(t);r===void 0&&(r=this.getEdgeAt(t));let i=!1;for(const s in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,s)&&(r===void 0||r instanceof er&&r.id!=s||r instanceof js)&&(this.emitBlurEvent(e,t,this.hoverObj.nodes[s]),delete this.hoverObj.nodes[s],i=!0);for(const s in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,s)&&(i===!0?(this.hoverObj.edges[s].hover=!1,delete this.hoverObj.edges[s]):(r===void 0||r instanceof js&&r.id!=s||r instanceof er&&!r.hover)&&(this.emitBlurEvent(e,t,this.hoverObj.edges[s]),delete this.hoverObj.edges[s],i=!0));if(r!==void 0){const s=Je(this.hoverObj.edges).length,o=Je(this.hoverObj.nodes).length,a=r instanceof js&&s===0&&o===0,g=r instanceof er&&s===0&&o===0;(i||a||g)&&(i=this.emitHoverEvent(e,t,r)),r instanceof er&&this.options.hoverConnectedEdges===!0&&this._hoverConnectedEdges(r)}i===!0&&this.body.emitter.emit("_requestRedraw")}commitWithoutEmitting(){this._selectionAccumulator.commit()}commitAndEmit(e,t){let r=!1;const i=this._selectionAccumulator.commit(),s={nodes:i.nodes.previous,edges:i.edges.previous};i.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",t,e,s),r=!0),i.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",t,e,s),r=!0),i.nodes.added.length>0&&(this.generateClickEvent("selectNode",t,e),r=!0),i.edges.added.length>0&&(this.generateClickEvent("selectEdge",t,e),r=!0),r===!0&&this.generateClickEvent("select",t,e)}getSelection(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}getSelectedNodes(){return this._selectionAccumulator.getNodes()}getSelectedEdges(){return this._selectionAccumulator.getEdges()}getSelectedNodeIds(){var e;return ja(e=this._selectionAccumulator.getNodes()).call(e,t=>t.id)}getSelectedEdgeIds(){var e;return ja(e=this._selectionAccumulator.getEdges()).call(e,t=>t.id)}setSelection(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||!e.nodes&&!e.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((t.unselectAll||t.unselectAll===void 0)&&this.unselectAll(),e.nodes)for(const r of e.nodes){const i=this.body.nodes[r];if(!i)throw new RangeError('Node with id "'+r+'" not found');this.selectObject(i,t.highlightEdges)}if(e.edges)for(const r of e.edges){const i=this.body.edges[r];if(!i)throw new RangeError('Edge with id "'+r+'" not found');this.selectObject(i)}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}selectNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({nodes:e},{highlightEdges:t})}selectEdges(e){if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({edges:e})}updateSelection(){for(const e in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,e.id)||this._selectionAccumulator.deleteNodes(e);for(const e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}getClickedItems(e){const t=this.canvas.DOMtoCanvas(e),r=[],i=this.body.nodeIndices,s=this.body.nodes;for(let g=i.length-1;g>=0;g--){const I=s[i[g]].getItemsOnPoint(t);r.push.apply(r,I)}const o=this.body.edgeIndices,a=this.body.edges;for(let g=o.length-1;g>=0;g--){const I=a[o[g]].getItemsOnPoint(t);r.push.apply(r,I)}return r}};var vF={},Oc,mF;function lAe(){if(mF)return Oc;mF=1;var n=bo(),e=Math.floor,t=function(r,i){var s=r.length;if(s<8)for(var o=1,a,g;o<s;){for(g=o,a=r[o];g&&i(r[g-1],a)>0;)r[g]=r[--g];g!==o++&&(r[g]=a)}else for(var A=e(s/2),I=t(n(r,0,A),i),C=t(n(r,A),i),d=I.length,l=C.length,u=0,h=0;u<d||h<l;)r[u+h]=u<d&&h<l?i(I[u],C[h])<=0?I[u++]:C[h++]:u<d?I[u++]:C[h++];return r};return Oc=t,Oc}var Tc,yF;function uAe(){if(yF)return Tc;yF=1;var n=ho(),e=n.match(/firefox\/(\d+)/i);return Tc=!!e&&+e[1],Tc}var Rc,bF;function hAe(){if(bF)return Rc;bF=1;var n=ho();return Rc=/MSIE|Trident/.test(n),Rc}var Pc,wF;function cAe(){if(wF)return Pc;wF=1;var n=ho(),e=n.match(/AppleWebKit\/(\d+)\./);return Pc=!!e&&+e[1],Pc}var EF;function fAe(){if(EF)return vF;EF=1;var n=ee(),e=ve(),t=ui(),r=dr(),i=hi(),s=IX(),o=hr(),a=pe(),g=lAe(),A=So(),I=uAe(),C=hAe(),d=ng(),l=cAe(),u=[],h=e(u.sort),v=e(u.push),f=a(function(){u.sort(void 0)}),c=a(function(){u.sort(null)}),b=A("sort"),p=!a(function(){if(d)return d<70;if(!(I&&I>3)){if(C)return!0;if(l)return l<603;var S="",m,w,_,T;for(m=65;m<76;m++){switch(w=String.fromCharCode(m),m){case 66:case 69:case 70:case 72:_=3;break;case 68:case 71:_=4;break;default:_=2}for(T=0;T<47;T++)u.push({k:w+T,v:_})}for(u.sort(function(R,O){return O.v-R.v}),T=0;T<u.length;T++)w=u[T].k.charAt(0),S.charAt(S.length-1)!==w&&(S+=w);return S!=="DGBEFHACIJK"}}),y=f||!c||!b||!p,E=function(S){return function(m,w){return w===void 0?-1:m===void 0?1:S!==void 0?+S(m,w)||0:o(m)>o(w)?1:-1}};return n({target:"Array",proto:!0,forced:y},{sort:function(m){m!==void 0&&t(m);var w=r(this);if(p)return m===void 0?h(w):h(w,m);var _=[],T=i(w),R,O;for(O=0;O<T;O++)O in w&&v(_,w[O]);for(g(_,E(m)),R=i(_),O=0;O<R;)w[O]=_[O++];for(;O<T;)s(w,O++);return w}}),vF}var xc,SF;function pAe(){if(SF)return xc;SF=1,fAe();var n=Pt();return xc=n("Array","sort"),xc}var $c,_F;function vAe(){if(_F)return $c;_F=1;var n=nt(),e=pAe(),t=Array.prototype;return $c=function(r){var i=r.sort;return r===t||n(t,r)&&i===t.sort?e:i},$c}var Dc,OF;function mAe(){if(OF)return Dc;OF=1;var n=vAe();return Dc=n,Dc}var Nc,TF;function yAe(){return TF||(TF=1,Nc=mAe()),Nc}var bAe=yAe(),Gs=ae(bAe),RF={},Mc,PF;function wAe(){if(PF)return Mc;PF=1;var n=Xe(),e=pe(),t=ve(),r=wO(),i=ag(),s=Fr(),o=HA().f,a=t(o),g=t([].push),A=n&&e(function(){var C=Object.create(null);return C[2]=2,!a(C,2)}),I=function(C){return function(d){for(var l=s(d),u=i(l),h=A&&r(l)===null,v=u.length,f=0,c=[],b;v>f;)b=u[f++],(!n||(h?b in l:a(l,b)))&&g(c,C?[b,l[b]]:l[b]);return c}};return Mc={entries:I(!0),values:I(!1)},Mc}var xF;function EAe(){if(xF)return RF;xF=1;var n=ee(),e=wAe().values;return n({target:"Object",stat:!0},{values:function(r){return e(r)}}),RF}var qc,$F;function SAe(){if($F)return qc;$F=1,EAe();var n=Se();return qc=n.Object.values,qc}var Fc,DF;function _Ae(){if(DF)return Fc;DF=1;var n=SAe();return Fc=n,Fc}var kc,NF;function OAe(){return NF||(NF=1,kc=_Ae()),kc}var TAe=OAe(),RAe=ae(TAe),MF={},Bc,qF;function PAe(){if(qF)return Bc;qF=1;var n=ui(),e=dr(),t=UA(),r=hi(),i=TypeError,s="Reduce of empty array with no initial value",o=function(a){return function(g,A,I,C){var d=e(g),l=t(d),u=r(d);if(n(A),u===0&&I<2)throw new i(s);var h=a?u-1:0,v=a?-1:1;if(I<2)for(;;){if(h in l){C=l[h],h+=v;break}if(h+=v,a?h<0:u<=h)throw new i(s)}for(;a?h>=0:u>h;h+=v)h in l&&(C=A(C,l[h],h,d));return C}};return Bc={left:o(!1),right:o(!0)},Bc}var zc,FF;function xAe(){if(FF)return zc;FF=1;var n=SX();return zc=n==="NODE",zc}var kF;function $Ae(){if(kF)return MF;kF=1;var n=ee(),e=PAe().left,t=So(),r=ng(),i=xAe(),s=!i&&r>79&&r<83,o=s||!t("reduce");return n({target:"Array",proto:!0,forced:o},{reduce:function(g){var A=arguments.length;return e(this,g,A,A>1?arguments[1]:void 0)}}),MF}var jc,BF;function DAe(){if(BF)return jc;BF=1,$Ae();var n=Pt();return jc=n("Array","reduce"),jc}var Lc,zF;function NAe(){if(zF)return Lc;zF=1;var n=nt(),e=DAe(),t=Array.prototype;return Lc=function(r){var i=r.reduce;return r===t||n(t,r)&&i===t.reduce?e:i},Lc}var Gc,jF;function MAe(){if(jF)return Gc;jF=1;var n=NAe();return Gc=n,Gc}var Wc,LF;function qAe(){return LF||(LF=1,Wc=MAe()),Wc}var FAe=qAe(),eQ=ae(FAe);let tQ=class{abstract(){throw new Error("Can't instantiate abstract class!")}fake_use(){}curveType(){return this.abstract()}getPosition(e){return this.fake_use(e),this.abstract()}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;this.fake_use(e,t,r),this.abstract()}getTreeSize(e){return this.fake_use(e),this.abstract()}sort(e){this.fake_use(e),this.abstract()}fix(e,t){this.fake_use(e,t),this.abstract()}shift(e,t){this.fake_use(e,t),this.abstract()}},kAe=class extends tQ{constructor(e){super(),this.layout=e}curveType(){return"horizontal"}getPosition(e){return e.x}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.x=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_x,max:t.max_x}}sort(e){Gs(e).call(e,function(t,r){return t.x-r.x})}fix(e,t){e.y=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.y=!0}shift(e,t){this.layout.body.nodes[e].x+=t}},BAe=class extends tQ{constructor(e){super(),this.layout=e}curveType(){return"vertical"}getPosition(e){return e.y}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.y=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_y,max:t.max_y}}sort(e){Gs(e).call(e,function(t,r){return t.y-r.y})}fix(e,t){e.x=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.x=!0}shift(e,t){this.layout.body.nodes[e].y+=t}};var GF={},WF;function zAe(){if(WF)return GF;WF=1;var n=ee(),e=rn().every,t=So(),r=t("every");return n({target:"Array",proto:!0,forced:!r},{every:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),GF}var Vc,VF;function jAe(){if(VF)return Vc;VF=1,zAe();var n=Pt();return Vc=n("Array","every"),Vc}var Zc,ZF;function LAe(){if(ZF)return Zc;ZF=1;var n=nt(),e=jAe(),t=Array.prototype;return Zc=function(r){var i=r.every;return r===t||n(t,r)&&i===t.every?e:i},Zc}var Hc,HF;function GAe(){if(HF)return Hc;HF=1;var n=LAe();return Hc=n,Hc}var Uc,UF;function WAe(){return UF||(UF=1,Uc=GAe()),Uc}var VAe=WAe(),rQ=ae(VAe);function ZAe(n,e){const t=new Fi;return Ne(n).call(n,r=>{var i;Ne(i=r.edges).call(i,s=>{s.connected&&t.add(s)})}),Ne(t).call(t,r=>{const i=r.from.id,s=r.to.id;e[i]==null&&(e[i]=0),(e[s]==null||e[i]>=e[s])&&(e[s]=e[i]+1)}),e}function HAe(n){return iQ(e=>{var t,r;return rQ(t=ci(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.to===e)},(e,t)=>t>e,"from",n)}function UAe(n){return iQ(e=>{var t,r;return rQ(t=ci(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.from===e)},(e,t)=>t<e,"to",n)}function iQ(n,e,t,r){var i;const s=ba(null),o=eQ(i=[...WX(r).call(r)]).call(i,(C,d)=>C+1+d.edges.length,0),a=t+"Id",g=t==="to"?1:-1;for(const[C,d]of r){if(!r.has(C)||!n(d))continue;s[C]=0;const l=[d];let u=0,h;for(;h=l.pop();){var A,I;if(!r.has(C))continue;const v=s[h.id]+g;if(Ne(A=ci(I=h.edges).call(I,f=>f.connected&&f.to!==f.from&&f[t]!==h&&r.has(f.toId)&&r.has(f.fromId))).call(A,f=>{const c=f[a],b=s[c];(b==null||e(v,b))&&(s[c]=v,l.push(f[t]))}),u>o)return ZAe(r,s);++u}}return s}let KAe=class{constructor(){this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}addRelation(e,t){this.childrenReference[e]===void 0&&(this.childrenReference[e]=[]),this.childrenReference[e].push(t),this.parentReference[t]===void 0&&(this.parentReference[t]=[]),this.parentReference[t].push(e)}checkIfTree(){for(const e in this.parentReference)if(this.parentReference[e].length>1){this.isTree=!1;return}this.isTree=!0}numTrees(){return this.treeIndex+1}setTreeIndex(e,t){t!==void 0&&this.trees[e.id]===void 0&&(this.trees[e.id]=t,this.treeIndex=Math.max(t,this.treeIndex))}ensureLevel(e){this.levels[e]===void 0&&(this.levels[e]=0)}getMaxLevel(e){const t={},r=i=>{if(t[i]!==void 0)return t[i];let s=this.levels[i];if(this.childrenReference[i]){const o=this.childrenReference[i];if(o.length>0)for(let a=0;a<o.length;a++)s=Math.max(s,r(o[a]))}return t[i]=s,s};return r(e)}levelDownstream(e,t){this.levels[t.id]===void 0&&(this.levels[e.id]===void 0&&(this.levels[e.id]=0),this.levels[t.id]=this.levels[e.id]+1)}setMinLevelToZero(){var e;const t=new DO;let r=0;const i=Gs(e=[...new Fi(RAe(this.levels))]).call(e,(s,o)=>s-o);for(const s of i)t.set(s,r++);for(const s in this.levels)Object.prototype.hasOwnProperty.call(this.levels,s)&&(this.levels[s]=t.get(this.levels[s]))}getTreeSize(e,t){let r=1e9,i=-1e9,s=1e9,o=-1e9;for(const a in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,a)&&this.trees[a]===t){const g=e[a];r=Math.min(g.x,r),i=Math.max(g.x,i),s=Math.min(g.y,s),o=Math.max(g.y,o)}return{min_x:r,max_x:i,min_y:s,max_y:o}}hasSameParent(e,t){const r=this.parentReference[e.id],i=this.parentReference[t.id];if(r===void 0||i===void 0)return!1;for(let s=0;s<r.length;s++)for(let o=0;o<i.length;o++)if(r[s]==i[o])return!0;return!1}inSameSubNetwork(e,t){return this.trees[e.id]===this.trees[t.id]}getLevels(){return Je(this.distributionOrdering)}addToOrdering(e,t){this.distributionOrdering[t]===void 0&&(this.distributionOrdering[t]=[]);let r=!1;const i=this.distributionOrdering[t];for(const s in i)if(i[s]===e){r=!0;break}r||(this.distributionOrdering[t].push(e),this.distributionIndex[e.id]=this.distributionOrdering[t].length-1)}},YAe=class{constructor(e){this.body=e,this._resetRNG(Math.random()+":"+$_()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},Ot(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("_dataChanged",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",()=>{this.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",()=>{if(this.options.hierarchical.enabled!==!0)return;const e=this.direction.curveType();this.body.emitter.emit("_forceDisableDynamicCurves",e,!1)})}setOptions(e,t){if(e!==void 0){const r=this.options.hierarchical,i=r.enabled;if(Eo(["randomSeed","improvedLayout","clusterThreshold"],this.options,e),sr(this.options,e,"hierarchical"),e.randomSeed!==void 0&&this._resetRNG(e.randomSeed),r.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),r.direction==="RL"||r.direction==="DU"?r.levelSeparation>0&&(r.levelSeparation*=-1):r.levelSeparation<0&&(r.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(t);if(i===!0)return this.body.emitter.emit("refresh"),Pe(t,this.optionsBackup)}return t}_resetRNG(e){this.initialRandomSeed=e,this._rng=rI(this.initialRandomSeed)}adaptAllOptionsForHierarchicalLayout(e){if(this.options.hierarchical.enabled===!0){const t=this.optionsBackup.physics;e.physics===void 0||e.physics===!0?(e.physics={enabled:t.enabled===void 0?!0:t.enabled,solver:"hierarchicalRepulsion"},t.enabled=t.enabled===void 0?!0:t.enabled,t.solver=t.solver||"barnesHut"):typeof e.physics=="object"?(t.enabled=e.physics.enabled===void 0?!0:e.physics.enabled,t.solver=e.physics.solver||"barnesHut",e.physics.solver="hierarchicalRepulsion"):e.physics!==!1&&(t.solver="barnesHut",e.physics={solver:"hierarchicalRepulsion"});let r=this.direction.curveType();if(e.edges===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges={smooth:!1};else if(e.edges.smooth===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges.smooth=!1;else if(typeof e.edges.smooth=="boolean")this.optionsBackup.edges={smooth:e.edges.smooth},e.edges.smooth={enabled:e.edges.smooth,type:r};else{const i=e.edges.smooth;i.type!==void 0&&i.type!=="dynamic"&&(r=i.type),this.optionsBackup.edges={smooth:{enabled:i.enabled===void 0?!0:i.enabled,type:i.type===void 0?"dynamic":i.type,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}},e.edges.smooth={enabled:i.enabled===void 0?!0:i.enabled,type:r,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",r)}return e}positionInitially(e){if(this.options.hierarchical.enabled!==!0){this._resetRNG(this.initialRandomSeed);const t=e.length+50;for(let r=0;r<e.length;r++){const i=e[r],s=2*Math.PI*this._rng();i.x===void 0&&(i.x=t*Math.cos(s)),i.y===void 0&&(i.y=t*Math.sin(s))}}}layoutNetwork(){if(this.options.hierarchical.enabled!==!0&&this.options.improvedLayout===!0){const e=this.body.nodeIndices;let t=0;for(let r=0;r<e.length;r++)this.body.nodes[e[r]].predefinedPosition===!0&&(t+=1);if(t<.5*e.length){let i=0;const s=this.options.clusterThreshold,o={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(e.length>s){const g=e.length;for(;e.length>s&&i<=10;){i+=1;const A=e.length;i%3===0?this.body.modules.clustering.clusterBridges(o):this.body.modules.clustering.clusterOutliers(o);const I=e.length;if(A==I&&i%3!==0){this._declusterAll(),this.body.emitter.emit("_layoutFailed"),console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.");return}}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*g)})}i>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(e,this.body.edgeIndices,!0),this._shiftToCenter();const a=70;for(let g=0;g<e.length;g++){const A=this.body.nodes[e[g]];A.predefinedPosition===!1&&(A.x+=(.5-this._rng())*a,A.y+=(.5-this._rng())*a)}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}_shiftToCenter(){const e=Ft.getRangeCore(this.body.nodes,this.body.nodeIndices),t=Ft.findCenter(e);for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];i.x-=t.x,i.y-=t.y}}_declusterAll(){let e=!0;for(;e===!0;){e=!1;for(let t=0;t<this.body.nodeIndices.length;t++)this.body.nodes[this.body.nodeIndices[t]].isCluster===!0&&(e=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[t],{},!1));e===!0&&this.body.emitter.emit("_dataChanged")}}getSeed(){return this.initialRandomSeed}setupHierarchicalLayout(){if(this.options.hierarchical.enabled===!0&&this.body.nodeIndices.length>0){let e,t,r=!1,i=!1;this.lastNodeOnLevel={},this.hierarchical=new KAe;for(t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&(e=this.body.nodes[t],e.options.level!==void 0?(r=!0,this.hierarchical.levels[t]=e.options.level):i=!0);if(i===!0&&r===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");{if(i===!0){const o=this.options.hierarchical.sortMethod;o==="hubsize"?this._determineLevelsByHubsize():o==="directed"?this._determineLevelsDirected():o==="custom"&&this._determineLevelsCustomCallback()}for(const o in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,o)&&this.hierarchical.ensureLevel(o);const s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}}_condenseHierarchy(){var e=this;let t=!1;const r={},i=()=>{const f=o();let c=0;for(let b=0;b<f.length-1;b++){const p=f[b].max-f[b+1].min;c+=p+this.options.hierarchical.treeSpacing,s(b+1,c)}},s=(f,c)=>{const b=this.hierarchical.trees;for(const p in b)Object.prototype.hasOwnProperty.call(b,p)&&b[p]===f&&this.direction.shift(p,c)},o=()=>{const f=[];for(let c=0;c<this.hierarchical.numTrees();c++)f.push(this.direction.getTreeSize(c));return f},a=(f,c)=>{if(!c[f.id]&&(c[f.id]=!0,this.hierarchical.childrenReference[f.id])){const b=this.hierarchical.childrenReference[f.id];if(b.length>0)for(let p=0;p<b.length;p++)a(this.body.nodes[b[p]],c)}},g=function(f){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e9,b=1e9,p=1e9,y=1e9,E=-1e9;for(const S in f)if(Object.prototype.hasOwnProperty.call(f,S)){const m=e.body.nodes[S],w=e.hierarchical.levels[m.id],_=e.direction.getPosition(m),[T,R]=e._getSpaceAroundNode(m,f);b=Math.min(T,b),p=Math.min(R,p),w<=c&&(y=Math.min(_,y),E=Math.max(_,E))}return[y,E,b,p]},A=(f,c)=>{const b=this.hierarchical.getMaxLevel(f.id),p=this.hierarchical.getMaxLevel(c.id);return Math.min(b,p)},I=(f,c,b)=>{const p=this.hierarchical;for(let y=0;y<c.length;y++){const E=c[y],S=p.distributionOrdering[E];if(S.length>1)for(let m=0;m<S.length-1;m++){const w=S[m],_=S[m+1];p.hasSameParent(w,_)&&p.inSameSubNetwork(w,_)&&f(w,_,b)}}},C=function(f,c){let b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const p=e.direction.getPosition(f),y=e.direction.getPosition(c),E=Math.abs(y-p),S=e.options.hierarchical.nodeSpacing;if(E>S){const m={},w={};a(f,m),a(c,w);const _=A(f,c),T=g(m,_),R=g(w,_),O=T[1],P=R[0],x=R[2];if(Math.abs(O-P)>S){let M=O-P+S;M<-x+S&&(M=-x+S),M<0&&(e._shiftBlock(c.id,M),t=!0,b===!0&&e._centerParent(c))}}},d=(f,c)=>{const b=c.id,p=c.edges,y=this.hierarchical.levels[c.id],E=this.options.hierarchical.levelSeparation*this.options.hierarchical.levelSeparation,S={},m=[];for(let x=0;x<p.length;x++){const V=p[x];if(V.toId!=V.fromId){const M=V.toId==b?V.from:V.to;S[p[x].id]=M,this.hierarchical.levels[M.id]<y&&m.push(V)}}const w=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M+=K/Math.sqrt(K*K+E)}return M},_=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M-=E*Math.pow(K*K+E,-1.5)}return M},T=(x,V)=>{let M=this.direction.getPosition(c);const U={};for(let K=0;K<x;K++){const ne=w(M,V),L=_(M,V),se=40,he=Math.max(-se,Math.min(se,Math.round(ne/L)));if(M=M-he,U[M]!==void 0)break;U[M]=K}return M},R=x=>{const V=this.direction.getPosition(c);if(r[c.id]===void 0){const se={};a(c,se),r[c.id]=se}const M=g(r[c.id]),U=M[2],K=M[3],ne=x-V;let L=0;ne>0?L=Math.min(ne,K-this.options.hierarchical.nodeSpacing):ne<0&&(L=-Math.min(-ne,U-this.options.hierarchical.nodeSpacing)),L!=0&&(this._shiftBlock(c.id,L),t=!0)},O=x=>{const V=this.direction.getPosition(c),[M,U]=this._getSpaceAroundNode(c),K=x-V;let ne=V;K>0?ne=Math.min(V+(U-this.options.hierarchical.nodeSpacing),x):K<0&&(ne=Math.max(V-(M-this.options.hierarchical.nodeSpacing),x)),ne!==V&&(this.direction.setPosition(c,ne),t=!0)};let P=T(f,m);R(P),P=T(f,p),O(P)},l=f=>{let c=this.hierarchical.getLevels();c=Ls(c).call(c);for(let b=0;b<f;b++){t=!1;for(let p=0;p<c.length;p++){const y=c[p],E=this.hierarchical.distributionOrdering[y];for(let S=0;S<E.length;S++)d(1e3,E[S])}if(t!==!0)break}},u=f=>{let c=this.hierarchical.getLevels();c=Ls(c).call(c);for(let b=0;b<f&&(t=!1,I(C,c,!0),t===!0);b++);},h=()=>{for(const f in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,f)&&this._centerParent(this.body.nodes[f])},v=()=>{let f=this.hierarchical.getLevels();f=Ls(f).call(f);for(let c=0;c<f.length;c++){const b=f[c],p=this.hierarchical.distributionOrdering[b];for(let y=0;y<p.length;y++)this._centerParent(p[y])}};this.options.hierarchical.blockShifting===!0&&(u(5),h()),this.options.hierarchical.edgeMinimization===!0&&l(20),this.options.hierarchical.parentCentralization===!0&&v(),i()}_getSpaceAroundNode(e,t){let r=!0;t===void 0&&(r=!1);const i=this.hierarchical.levels[e.id];if(i!==void 0){const s=this.hierarchical.distributionIndex[e.id],o=this.direction.getPosition(e),a=this.hierarchical.distributionOrdering[i];let g=1e9,A=1e9;if(s!==0){const I=a[s-1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);g=o-C}}if(s!=a.length-1){const I=a[s+1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);A=Math.min(A,C-o)}}return[g,A]}else return[0,0]}_centerParent(e){if(this.hierarchical.parentReference[e.id]){const t=this.hierarchical.parentReference[e.id];for(let r=0;r<t.length;r++){const i=t[r],s=this.body.nodes[i],o=this.hierarchical.childrenReference[i];if(o!==void 0){const a=this._getCenterPosition(o),g=this.direction.getPosition(s),[A,I]=this._getSpaceAroundNode(s),C=g-a;(C<0&&Math.abs(C)<I-this.options.hierarchical.nodeSpacing||C>0&&Math.abs(C)<A-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(s,a)}}}}_placeNodesByHierarchy(e){this.positionedNodes={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var t;let i=Je(e[r]);i=this._indexArrayToNodes(i),Gs(t=this.direction).call(t,i);let s=0;for(let o=0;o<i.length;o++){const a=i[o];if(this.positionedNodes[a.id]===void 0){const g=this.options.hierarchical.nodeSpacing;let A=g*s;s>0&&(A=this.direction.getPosition(i[o-1])+g),this.direction.setPosition(a,A,r),this._validatePositionAndContinue(a,r,A),s++}}}}_placeBranchNodes(e,t){var r;const i=this.hierarchical.childrenReference[e];if(i===void 0)return;const s=[];for(let a=0;a<i.length;a++)s.push(this.body.nodes[i[a]]);Gs(r=this.direction).call(r,s);for(let a=0;a<s.length;a++){const g=s[a],A=this.hierarchical.levels[g.id];if(A>t&&this.positionedNodes[g.id]===void 0){const I=this.options.hierarchical.nodeSpacing;let C;a===0?C=this.direction.getPosition(this.body.nodes[e]):C=this.direction.getPosition(s[a-1])+I,this.direction.setPosition(g,C,A),this._validatePositionAndContinue(g,A,C)}else return}const o=this._getCenterPosition(s);this.direction.setPosition(this.body.nodes[e],o,t)}_validatePositionAndContinue(e,t,r){if(this.hierarchical.isTree){if(this.lastNodeOnLevel[t]!==void 0){const i=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[t]]);if(r-i<this.options.hierarchical.nodeSpacing){const s=i+this.options.hierarchical.nodeSpacing-r,o=this._findCommonParent(this.lastNodeOnLevel[t],e.id);this._shiftBlock(o.withChild,s)}}this.lastNodeOnLevel[t]=e.id,this.positionedNodes[e.id]=!0,this._placeBranchNodes(e.id,t)}}_indexArrayToNodes(e){const t=[];for(let r=0;r<e.length;r++)t.push(this.body.nodes[e[r]]);return t}_getDistribution(){const e={};let t,r;for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){r=this.body.nodes[t];const i=this.hierarchical.levels[t]===void 0?0:this.hierarchical.levels[t];this.direction.fix(r,i),e[i]===void 0&&(e[i]={}),e[i][t]=r}return e}_getActiveEdges(e){const t=[];return le(e.edges,r=>{var i;je(i=this.body.edgeIndices).call(i,r.id)!==-1&&t.push(r)}),t}_getHubSizes(){const e={},t=this.body.nodeIndices;le(t,i=>{const s=this.body.nodes[i],o=this._getActiveEdges(s).length;e[o]=!0});const r=[];return le(e,i=>{r.push(Number(i))}),Gs(r).call(r,function(i,s){return s-i}),r}_determineLevelsByHubsize(){const e=(r,i)=>{this.hierarchical.levelDownstream(r,i)},t=this._getHubSizes();for(let r=0;r<t.length;++r){const i=t[r];if(i===0)break;le(this.body.nodeIndices,s=>{const o=this.body.nodes[s];i===this._getActiveEdges(o).length&&this._crawlNetwork(e,s)})}}_determineLevelsCustomCallback(){const t=function(i,s,o){},r=(i,s,o)=>{let a=this.hierarchical.levels[i.id];a===void 0&&(a=this.hierarchical.levels[i.id]=1e5);const g=t(Ft.cloneOptions(i,"node"),Ft.cloneOptions(s,"node"),Ft.cloneOptions(o,"edge"));this.hierarchical.levels[s.id]=a+g};this._crawlNetwork(r),this.hierarchical.setMinLevelToZero()}_determineLevelsDirected(){var e;const t=eQ(e=this.body.nodeIndices).call(e,(r,i)=>(r.set(i,this.body.nodes[i]),r),new DO);this.options.hierarchical.shakeTowards==="roots"?this.hierarchical.levels=UAe(t):this.hierarchical.levels=HAe(t),this.hierarchical.setMinLevelToZero()}_generateMap(){const e=(t,r)=>{this.hierarchical.levels[r.id]>this.hierarchical.levels[t.id]&&this.hierarchical.addRelation(t.id,r.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}_crawlNetwork(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){},t=arguments.length>1?arguments[1]:void 0;const r={},i=(s,o)=>{if(r[s.id]===void 0){this.hierarchical.setTreeIndex(s,o),r[s.id]=!0;let a;const g=this._getActiveEdges(s);for(let A=0;A<g.length;A++){const I=g[A];I.connected===!0&&(I.toId==s.id?a=I.from:a=I.to,s.id!=a.id&&(e(s,a,I),i(a,o)))}}};if(t===void 0){let s=0;for(let o=0;o<this.body.nodeIndices.length;o++){const a=this.body.nodeIndices[o];if(r[a]===void 0){const g=this.body.nodes[a];i(g,s),s+=1}}}else{const s=this.body.nodes[t];if(s===void 0){console.error("Node not found:",t);return}i(s)}}_shiftBlock(e,t){const r={},i=s=>{if(r[s])return;r[s]=!0,this.direction.shift(s,t);const o=this.hierarchical.childrenReference[s];if(o!==void 0)for(let a=0;a<o.length;a++)i(o[a])};i(e)}_findCommonParent(e,t){const r={},i=(o,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];o[I]=!0,i(o,I)}},s=(o,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];if(o[I]!==void 0)return{foundParent:I,withChild:a};const C=s(o,I);if(C.foundParent!==null)return C}return{foundParent:null,withChild:a}};return i(r,e),s(r,t)}setDirectionStrategy(){this.options.hierarchical.direction==="UD"||this.options.hierarchical.direction==="DU"?this.direction=new kAe(this):this.direction=new BAe(this)}_getCenterPosition(e){let t=1e9,r=-1e9;for(let i=0;i<e.length;i++){let s;if(e[i].id!==void 0)s=e[i];else{const a=e[i];s=this.body.nodes[a]}const o=this.direction.getPosition(s);t=Math.min(t,o),r=Math.max(r,o)}return .5*(t+r)}},XAe=class{constructor(e,t,r,i){var s,o;this.body=e,this.canvas=t,this.selectionHandler=r,this.interactionHandler=i,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},Ot(this.options,this.defaultOptions),this.body.emitter.on("destroy",()=>{this._clean()}),this.body.emitter.on("_dataChanged",z(s=this._restore).call(s,this)),this.body.emitter.on("_resetData",z(o=this._restore).call(o,this))}_restore(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}setOptions(e,t,r){t!==void 0&&(t.locale!==void 0?this.options.locale=t.locale:this.options.locale=r.locale,t.locales!==void 0?this.options.locales=t.locales:this.options.locales=r.locales),e!==void 0&&(typeof e=="boolean"?this.options.enabled=e:(this.options.enabled=!0,Pe(this.options,e)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}toggleEditMode(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}enableEditMode(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}disableEditMode(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}showManipulatorToolbar(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){var e,t;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";const r=this.selectionHandler.getSelectedNodeCount(),i=this.selectionHandler.getSelectedEdgeCount(),s=r+i,o=this.options.locales[this.options.locale];let a=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),a=!0),this.options.addEdge!==!1&&(a===!0?this._createSeperator(1):a=!0,this._createAddEdgeButton(o)),r===1&&typeof this.options.editNode=="function"?(a===!0?this._createSeperator(2):a=!0,this._createEditNodeButton(o)):i===1&&r===0&&this.options.editEdge!==!1&&(a===!0?this._createSeperator(3):a=!0,this._createEditEdgeButton(o)),s!==0&&(r>0&&this.options.deleteNode!==!1?(a===!0&&this._createSeperator(4),this._createDeleteButton(o)):r===0&&this.options.deleteEdge!==!1&&(a===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindElementEvents(this.closeDiv,z(e=this.toggleEditMode).call(e,this)),this._temporaryBindEvent("select",z(t=this.showManipulatorToolbar).call(t,this))}this.body.emitter.emit("_redraw")}addNodeMode(){var e;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t;const r=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(r),this._createSeperator(),this._createDescription(r.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,z(t=this.toggleEditMode).call(t,this))}this._temporaryBindEvent("click",z(e=this._performAddNode).call(e,this))}editNode(){this.editMode!==!0&&this.enableEditMode(),this._clean();const e=this.selectionHandler.getSelectedNodes()[0];if(e!==void 0)if(this.inMode="editNode",typeof this.options.editNode=="function")if(e.isCluster!==!0){const t=Pe({},e.options,!1);if(t.x=e.x,t.y=e.y,this.options.editNode.length===2)this.options.editNode(t,r=>{r!=null&&this.inMode==="editNode"&&this.body.data.nodes.getDataSet().update(r),this.showManipulatorToolbar()});else throw new Error("The function for edit does not support two arguments (data, callback)")}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError);else throw new Error("No function has been configured to handle the editing of nodes.");else this.showManipulatorToolbar()}addEdgeMode(){var e,t,r,i,s;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var o;const a=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(a),this._createSeperator(),this._createDescription(a.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,z(o=this.toggleEditMode).call(o,this))}this._temporaryBindUI("onTouch",z(e=this._handleConnect).call(e,this)),this._temporaryBindUI("onDragEnd",z(t=this._finishConnect).call(t,this)),this._temporaryBindUI("onDrag",z(r=this._dragControlNode).call(r,this)),this._temporaryBindUI("onRelease",z(i=this._finishConnect).call(i,this)),this._temporaryBindUI("onDragStart",z(s=this._dragStartEdge).call(s,this)),this._temporaryBindUI("onHold",()=>{})}editEdgeMode(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",typeof this.options.editEdge=="object"&&typeof this.options.editEdge.editWithoutDrag=="function"&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0)){const o=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(o.from.id,o.to.id);return}if(this.guiEnabled===!0){var e;const o=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(o),this._createSeperator(),this._createDescription(o.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,z(e=this.toggleEditMode).call(e,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0){var t,r,i,s;const o=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(o.from.x,o.from.y),g=this._getNewTargetNode(o.to.x,o.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(g.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[g.id]=g,this.body.nodeIndices.push(g.id),this._temporaryBindUI("onTouch",z(t=this._controlNodeTouch).call(t,this)),this._temporaryBindUI("onTap",()=>{}),this._temporaryBindUI("onHold",()=>{}),this._temporaryBindUI("onDragStart",z(r=this._controlNodeDragStart).call(r,this)),this._temporaryBindUI("onDrag",z(i=this._controlNodeDrag).call(i,this)),this._temporaryBindUI("onDragEnd",z(s=this._controlNodeDragEnd).call(s,this)),this._temporaryBindUI("onMouseMove",()=>{}),this._temporaryBindEvent("beforeDrawing",A=>{const I=o.edgeType.findBorderPositions(A);a.selected===!1&&(a.x=I.from.x,a.y=I.from.y),g.selected===!1&&(g.x=I.to.x,g.y=I.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}deleteSelected(){this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";const e=this.selectionHandler.getSelectedNodeIds(),t=this.selectionHandler.getSelectedEdgeIds();let r;if(e.length>0){for(let i=0;i<e.length;i++)if(this.body.nodes[e[i]].isCluster===!0){alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);return}typeof this.options.deleteNode=="function"&&(r=this.options.deleteNode)}else t.length>0&&typeof this.options.deleteEdge=="function"&&(r=this.options.deleteEdge);if(typeof r=="function"){const i={nodes:e,edges:t};if(r.length===2)r(i,s=>{s!=null&&this.inMode==="delete"?(this.body.data.edges.getDataSet().remove(s.edges),this.body.data.nodes.getDataSet().remove(s.nodes),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()):(this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar())});else throw new Error("The function for delete does not support two arguments (data, callback)")}else this.body.data.edges.getDataSet().remove(t),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}_setup(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}_createWrappers(){if(this.manipulationDiv===void 0&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),this.editModeDiv===void 0&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),this.closeDiv===void 0){var e,t;this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",(e=(t=this.options.locales[this.options.locale])===null||t===void 0?void 0:t.close)!==null&&e!==void 0?e:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv)}}_getNewTargetNode(e,t){const r=Pe({},this.options.controlNodeStyle);r.id="targetNode"+zs(),r.hidden=!1,r.physics=!1,r.x=e,r.y=t;const i=this.body.functions.createNode(r);return i.shape.boundingBox={left:e,right:e,top:t,bottom:t},i}_createEditButton(){var e;this._clean(),this.manipulationDOM={},Di(this.editModeDiv);const t=this.options.locales[this.options.locale],r=this._createButton("editMode","vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(r),this._bindElementEvents(r,z(e=this.toggleEditMode).call(e,this))}_clean(){this.inMode=!1,this.guiEnabled===!0&&(Di(this.editModeDiv),Di(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}_cleanupDOMEventListeners(){for(const t of Gi(e=this._domEventListenerCleanupQueue).call(e,0)){var e;t()}}_removeManipulationDOM(){this._clean(),Di(this.manipulationDiv),Di(this.editModeDiv),Di(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}_createSeperator(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+e]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+e].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+e])}_createAddNodeButton(e){var t;const r=this._createButton("addNode","vis-add",e.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.addNodeMode).call(t,this))}_createAddEdgeButton(e){var t;const r=this._createButton("addEdge","vis-connect",e.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.addEdgeMode).call(t,this))}_createEditNodeButton(e){var t;const r=this._createButton("editNode","vis-edit",e.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.editNode).call(t,this))}_createEditEdgeButton(e){var t;const r=this._createButton("editEdge","vis-edit",e.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.editEdgeMode).call(t,this))}_createDeleteButton(e){var t;let r;this.options.rtl?r="vis-delete-rtl":r="vis-delete";const i=this._createButton("delete",r,e.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,z(t=this.deleteSelected).call(t,this))}_createBackButton(e){var t;const r=this._createButton("back","vis-back",e.back||this.options.locales.en.back);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.showManipulatorToolbar).call(t,this))}_createButton(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"vis-label";return this.manipulationDOM[e+"Div"]=document.createElement("button"),this.manipulationDOM[e+"Div"].className="vis-button "+t,this.manipulationDOM[e+"Label"]=document.createElement("div"),this.manipulationDOM[e+"Label"].className=i,this.manipulationDOM[e+"Label"].innerText=r,this.manipulationDOM[e+"Div"].appendChild(this.manipulationDOM[e+"Label"]),this.manipulationDOM[e+"Div"]}_createDescription(e){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=e,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}_temporaryBindEvent(e,t){this.temporaryEventFunctions.push({event:e,boundFunction:t}),this.body.emitter.on(e,t)}_temporaryBindUI(e,t){if(this.body.eventListeners[e]!==void 0)this.temporaryUIFunctions[e]=this.body.eventListeners[e],this.body.eventListeners[e]=t;else throw new Error("This UI function does not exist. Typo? You tried: "+e+" possible are: "+ZX(Je(this.body.eventListeners)))}_unbindTemporaryUIs(){for(const e in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,e)&&(this.body.eventListeners[e]=this.temporaryUIFunctions[e],delete this.temporaryUIFunctions[e]);this.temporaryUIFunctions={}}_unbindTemporaryEvents(){for(let e=0;e<this.temporaryEventFunctions.length;e++){const t=this.temporaryEventFunctions[e].event,r=this.temporaryEventFunctions[e].boundFunction;this.body.emitter.off(t,r)}this.temporaryEventFunctions=[]}_bindElementEvents(e,t){const r=new ks(e,{});xA(r,t),this._domEventListenerCleanupQueue.push(()=>{r.destroy()});const i=s=>{let{keyCode:o,key:a}=s;(a==="Enter"||a===" "||o===13||o===32)&&t()};e.addEventListener("keyup",i,!1),this._domEventListenerCleanupQueue.push(()=>{e.removeEventListener("keyup",i,!1)})}_cleanupTemporaryNodesAndEdges(){for(let s=0;s<this.temporaryIds.edges.length;s++){var e;this.body.edges[this.temporaryIds.edges[s]].disconnect(),delete this.body.edges[this.temporaryIds.edges[s]];const o=je(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[s]);if(o!==-1){var t;Gi(t=this.body.edgeIndices).call(t,o,1)}}for(let s=0;s<this.temporaryIds.nodes.length;s++){var r;delete this.body.nodes[this.temporaryIds.nodes[s]];const o=je(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[s]);if(o!==-1){var i;Gi(i=this.body.nodeIndices).call(i,o,1)}}this.temporaryIds={nodes:[],edges:[]}}_controlNodeTouch(e){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=Ot({},this.body.view.translation)}_controlNodeDragStart(){const e=this.lastTouch,t=this.selectionHandler._pointerToPositionObject(e),r=this.body.nodes[this.temporaryIds.nodes[0]],i=this.body.nodes[this.temporaryIds.nodes[1]],s=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;const o=r.isOverlappingWith(t),a=i.isOverlappingWith(t);o===!0?(this.selectedControlNode=r,s.edgeType.from=r):a===!0&&(this.selectedControlNode=i,s.edgeType.to=i),this.selectedControlNode!==void 0&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}_controlNodeDrag(e){this.body.emitter.emit("disablePhysics");const t=this.body.functions.getPointer(e.center),r=this.canvas.DOMtoCanvas(t);this.selectedControlNode!==void 0?(this.selectedControlNode.x=r.x,this.selectedControlNode.y=r.y):this.interactionHandler.onDrag(e),this.body.emitter.emit("_redraw")}_controlNodeDragEnd(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t),i=this.body.edges[this.edgeBeingEditedId];if(this.selectedControlNode===void 0)return;this.selectionHandler.unselectAll();const s=this.selectionHandler._getAllNodesOverlappingWith(r);let o;for(let a=s.length-1;a>=0;a--)if(s[a]!==this.selectedControlNode.id){o=this.body.nodes[s[a]];break}if(o!==void 0&&this.selectedControlNode!==void 0)if(o.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(o.id,i.to.id):this._performEditEdge(i.from.id,o.id)}else i.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}_handleConnect(e){if(new Date().valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=Ot({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;const t=this.lastTouch,r=this.selectionHandler.getNodeAt(t);if(r!==void 0)if(r.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const i=this._getNewTargetNode(r.x,r.y);this.body.nodes[i.id]=i,this.body.nodeIndices.push(i.id);const s=this.body.functions.createEdge({id:"connectionEdge"+zs(),from:r.id,to:i.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[s.id]=s,this.body.edgeIndices.push(s.id),this.temporaryIds.nodes.push(i.id),this.temporaryIds.edges.push(s.id)}this.touchTime=new Date().valueOf()}}_dragControlNode(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const s=this.selectionHandler._getAllNodesOverlappingWith(r);let o;for(let g=s.length-1;g>=0;g--){var a;if(je(a=this.temporaryIds.nodes).call(a,s[g])===-1){o=this.body.nodes[s[g]];break}}if(e.controlEdge={from:i,to:o?o.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",e,t),this.temporaryIds.nodes[0]!==void 0){const g=this.body.nodes[this.temporaryIds.nodes[0]];g.x=this.canvas._XconvertDOMtoCanvas(t.x),g.y=this.canvas._YconvertDOMtoCanvas(t.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(e)}_finishConnect(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const s=this.selectionHandler._getAllNodesOverlappingWith(r);let o;for(let g=s.length-1;g>=0;g--){var a;if(je(a=this.temporaryIds.nodes).call(a,s[g])===-1){o=this.body.nodes[s[g]];break}}this._cleanupTemporaryNodesAndEdges(),o!==void 0&&(o.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):this.body.nodes[i]!==void 0&&this.body.nodes[o.id]!==void 0&&this._performAddEdge(i,o.id)),e.controlEdge={from:i,to:o?o.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",e,t),this.body.emitter.emit("_redraw")}_dragStartEdge(e){const t=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",e,t,void 0,!0)}_performAddNode(e){const t={id:zs(),x:e.pointer.canvas.x,y:e.pointer.canvas.y,label:"new"};if(typeof this.options.addNode=="function")if(this.options.addNode.length===2)this.options.addNode(t,r=>{r!=null&&this.inMode==="addNode"&&this.body.data.nodes.getDataSet().add(r),this.showManipulatorToolbar()});else throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");else this.body.data.nodes.getDataSet().add(t),this.showManipulatorToolbar()}_performAddEdge(e,t){const r={from:e,to:t};if(typeof this.options.addEdge=="function")if(this.options.addEdge.length===2)this.options.addEdge(r,i=>{i!=null&&this.inMode==="addEdge"&&(this.body.data.edges.getDataSet().add(i),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for connect does not support two arguments (data,callback)");else this.body.data.edges.getDataSet().add(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}_performEditEdge(e,t){const r={id:this.edgeBeingEditedId,from:e,to:t,label:this.body.data.edges.get(this.edgeBeingEditedId).label};let i=this.options.editEdge;if(typeof i=="object"&&(i=i.editWithoutDrag),typeof i=="function")if(i.length===2)i(r,s=>{s==null||this.inMode!=="editEdge"?(this.body.edges[r.id].updateEdgeType(),this.body.emitter.emit("_redraw"),this.showManipulatorToolbar()):(this.body.data.edges.getDataSet().update(s),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for edit does not support two arguments (data, callback)");else this.body.data.edges.getDataSet().update(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}};const G="string",k="boolean",$="number",fa="array",Q="object",nQ="dom",QAe="any",Kc=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],Yc={borderWidth:{number:$},borderWidthSelected:{number:$,undefined:"undefined"},brokenImage:{string:G,undefined:"undefined"},chosen:{label:{boolean:k,function:"function"},node:{boolean:k,function:"function"},__type__:{object:Q,boolean:k}},color:{border:{string:G},background:{string:G},highlight:{border:{string:G},background:{string:G},__type__:{object:Q,string:G}},hover:{border:{string:G},background:{string:G},__type__:{object:Q,string:G}},__type__:{object:Q,string:G}},opacity:{number:$,undefined:"undefined"},fixed:{x:{boolean:k},y:{boolean:k},__type__:{object:Q,boolean:k}},font:{align:{string:G},color:{string:G},size:{number:$},face:{string:G},background:{string:G},strokeWidth:{number:$},strokeColor:{string:G},vadjust:{number:$},multi:{boolean:k,string:G},bold:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},boldital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},ital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},mono:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},__type__:{object:Q,string:G}},group:{string:G,number:$,undefined:"undefined"},heightConstraint:{minimum:{number:$},valign:{string:G},__type__:{object:Q,boolean:k,number:$}},hidden:{boolean:k},icon:{face:{string:G},code:{string:G},size:{number:$},color:{string:G},weight:{string:G,number:$},__type__:{object:Q}},id:{string:G,number:$},image:{selected:{string:G,undefined:"undefined"},unselected:{string:G,undefined:"undefined"},__type__:{object:Q,string:G}},imagePadding:{top:{number:$},right:{number:$},bottom:{number:$},left:{number:$},__type__:{object:Q,number:$}},label:{string:G,undefined:"undefined"},labelHighlightBold:{boolean:k},level:{number:$,undefined:"undefined"},margin:{top:{number:$},right:{number:$},bottom:{number:$},left:{number:$},__type__:{object:Q,number:$}},mass:{number:$},physics:{boolean:k},scaling:{min:{number:$},max:{number:$},label:{enabled:{boolean:k},min:{number:$},max:{number:$},maxVisible:{number:$},drawThreshold:{number:$},__type__:{object:Q,boolean:k}},customScalingFunction:{function:"function"},__type__:{object:Q}},shadow:{enabled:{boolean:k},color:{string:G},size:{number:$},x:{number:$},y:{number:$},__type__:{object:Q,boolean:k}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:k,array:fa},borderRadius:{number:$},interpolation:{boolean:k},useImageSize:{boolean:k},useBorderWithImage:{boolean:k},coordinateOrigin:{string:["center","top-left"]},__type__:{object:Q}},size:{number:$},title:{string:G,dom:nQ,undefined:"undefined"},value:{number:$,undefined:"undefined"},widthConstraint:{minimum:{number:$},maximum:{number:$},__type__:{object:Q,boolean:k,number:$}},x:{number:$},y:{number:$},__type__:{object:Q}},JAe={configure:{enabled:{boolean:k},filter:{boolean:k,string:G,array:fa,function:"function"},container:{dom:nQ},showButton:{boolean:k},__type__:{object:Q,boolean:k,string:G,array:fa,function:"function"}},edges:{arrows:{to:{enabled:{boolean:k},scaleFactor:{number:$},type:{string:Kc},imageHeight:{number:$},imageWidth:{number:$},src:{string:G},__type__:{object:Q,boolean:k}},middle:{enabled:{boolean:k},scaleFactor:{number:$},type:{string:Kc},imageWidth:{number:$},imageHeight:{number:$},src:{string:G},__type__:{object:Q,boolean:k}},from:{enabled:{boolean:k},scaleFactor:{number:$},type:{string:Kc},imageWidth:{number:$},imageHeight:{number:$},src:{string:G},__type__:{object:Q,boolean:k}},__type__:{string:["from","to","middle"],object:Q}},endPointOffset:{from:{number:$},to:{number:$},__type__:{object:Q,number:$}},arrowStrikethrough:{boolean:k},background:{enabled:{boolean:k},color:{string:G},size:{number:$},dashes:{boolean:k,array:fa},__type__:{object:Q,boolean:k}},chosen:{label:{boolean:k,function:"function"},edge:{boolean:k,function:"function"},__type__:{object:Q,boolean:k}},color:{color:{string:G},highlight:{string:G},hover:{string:G},inherit:{string:["from","to","both"],boolean:k},opacity:{number:$},__type__:{object:Q,string:G}},dashes:{boolean:k,array:fa},font:{color:{string:G},size:{number:$},face:{string:G},background:{string:G},strokeWidth:{number:$},strokeColor:{string:G},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:$},multi:{boolean:k,string:G},bold:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},boldital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},ital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},mono:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},__type__:{object:Q,string:G}},hidden:{boolean:k},hoverWidth:{function:"function",number:$},label:{string:G,undefined:"undefined"},labelHighlightBold:{boolean:k},length:{number:$,undefined:"undefined"},physics:{boolean:k},scaling:{min:{number:$},max:{number:$},label:{enabled:{boolean:k},min:{number:$},max:{number:$},maxVisible:{number:$},drawThreshold:{number:$},__type__:{object:Q,boolean:k}},customScalingFunction:{function:"function"},__type__:{object:Q}},selectionWidth:{function:"function",number:$},selfReferenceSize:{number:$},selfReference:{size:{number:$},angle:{number:$},renderBehindTheNode:{boolean:k},__type__:{object:Q}},shadow:{enabled:{boolean:k},color:{string:G},size:{number:$},x:{number:$},y:{number:$},__type__:{object:Q,boolean:k}},smooth:{enabled:{boolean:k},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:$},forceDirection:{string:["horizontal","vertical","none"],boolean:k},__type__:{object:Q,boolean:k}},title:{string:G,undefined:"undefined"},width:{number:$},widthConstraint:{maximum:{number:$},__type__:{object:Q,boolean:k,number:$}},value:{number:$,undefined:"undefined"},__type__:{object:Q}},groups:{useDefaultGroups:{boolean:k},__any__:Yc,__type__:{object:Q}},interaction:{dragNodes:{boolean:k},dragView:{boolean:k},hideEdgesOnDrag:{boolean:k},hideEdgesOnZoom:{boolean:k},hideNodesOnDrag:{boolean:k},hover:{boolean:k},keyboard:{enabled:{boolean:k},speed:{x:{number:$},y:{number:$},zoom:{number:$},__type__:{object:Q}},bindToWindow:{boolean:k},autoFocus:{boolean:k},__type__:{object:Q,boolean:k}},multiselect:{boolean:k},navigationButtons:{boolean:k},selectable:{boolean:k},selectConnectedEdges:{boolean:k},hoverConnectedEdges:{boolean:k},tooltipDelay:{number:$},zoomView:{boolean:k},zoomSpeed:{number:$},__type__:{object:Q}},layout:{randomSeed:{undefined:"undefined",number:$,string:G},improvedLayout:{boolean:k},clusterThreshold:{number:$},hierarchical:{enabled:{boolean:k},levelSeparation:{number:$},nodeSpacing:{number:$},treeSpacing:{number:$},blockShifting:{boolean:k},edgeMinimization:{boolean:k},parentCentralization:{boolean:k},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:Q,boolean:k}},__type__:{object:Q}},manipulation:{enabled:{boolean:k},initiallyActive:{boolean:k},addNode:{boolean:k,function:"function"},addEdge:{boolean:k,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:Q,boolean:k,function:"function"}},deleteNode:{boolean:k,function:"function"},deleteEdge:{boolean:k,function:"function"},controlNodeStyle:Yc,__type__:{object:Q,boolean:k}},nodes:Yc,physics:{enabled:{boolean:k},barnesHut:{theta:{number:$},gravitationalConstant:{number:$},centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},damping:{number:$},avoidOverlap:{number:$},__type__:{object:Q}},forceAtlas2Based:{theta:{number:$},gravitationalConstant:{number:$},centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},damping:{number:$},avoidOverlap:{number:$},__type__:{object:Q}},repulsion:{centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},nodeDistance:{number:$},damping:{number:$},__type__:{object:Q}},hierarchicalRepulsion:{centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},nodeDistance:{number:$},damping:{number:$},avoidOverlap:{number:$},__type__:{object:Q}},maxVelocity:{number:$},minVelocity:{number:$},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:k},iterations:{number:$},updateInterval:{number:$},onlyDynamicEdges:{boolean:k},fit:{boolean:k},__type__:{object:Q,boolean:k}},timestep:{number:$},adaptiveTimestep:{boolean:k},wind:{x:{number:$},y:{number:$},__type__:{object:Q}},__type__:{object:Q,boolean:k}},autoResize:{boolean:k},clickToUse:{boolean:k},locale:{string:G},locales:{__any__:{any:QAe},__type__:{object:Q}},height:{string:G},width:{string:G},__type__:{object:Q}},sQ={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},eIe=(n,e,t)=>{var r;return!!(wa(n).call(n,"physics")&&wa(r=sQ.physics.solver).call(r,e)&&t.physics.solver!==e&&e!=="wind")};let tIe=class{constructor(){}getDistances(e,t,r){const i={},s=e.edges;for(let a=0;a<t.length;a++){const g=t[a],A={};i[g]=A;for(let I=0;I<t.length;I++)A[t[I]]=a==I?0:1e9}for(let a=0;a<r.length;a++){const g=s[r[a]];g.connected===!0&&i[g.fromId]!==void 0&&i[g.toId]!==void 0&&(i[g.fromId][g.toId]=1,i[g.toId][g.fromId]=1)}const o=t.length;for(let a=0;a<o;a++){const g=t[a],A=i[g];for(let I=0;I<o-1;I++){const C=t[I],d=i[C];for(let l=I+1;l<o;l++){const u=t[l],h=i[u],v=Math.min(d[u],d[g]+A[u]);d[u]=v,h[C]=v}}}return i}},rIe=class{constructor(e,t,r){this.body=e,this.springLength=t,this.springConstant=r,this.distanceSolver=new tIe}setOptions(e){e&&(e.springLength&&(this.springLength=e.springLength),e.springConstant&&(this.springConstant=e.springConstant))}solve(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const i=this.distanceSolver.getDistances(this.body,e,t);this._createL_matrix(i),this._createK_matrix(i),this._createE_matrix();const s=.01,o=1;let a=0;const g=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),A=5;let I=1e9,C=0,d=0,l=0,u=0,h=0;for(;I>s&&a<g;)for(a+=1,[C,I,d,l]=this._getHighestEnergyNode(r),u=I,h=0;u>o&&h<A;)h+=1,this._moveNode(C,d,l),[u,d,l]=this._getEnergy(C)}_getHighestEnergyNode(e){const t=this.body.nodeIndices,r=this.body.nodes;let i=0,s=t[0],o=0,a=0;for(let g=0;g<t.length;g++){const A=t[g];if(r[A].predefinedPosition!==!0||r[A].isCluster===!0&&e===!0||r[A].options.fixed.x!==!0||r[A].options.fixed.y!==!0){const[I,C,d]=this._getEnergy(A);i<I&&(i=I,s=A,o=C,a=d)}}return[s,i,o,a]}_getEnergy(e){const[t,r]=this.E_sums[e];return[Math.sqrt(t**2+r**2),t,r]}_moveNode(e,t,r){const i=this.body.nodeIndices,s=this.body.nodes;let o=0,a=0,g=0;const A=s[e].x,I=s[e].y,C=this.K_matrix[e],d=this.L_matrix[e];for(let p=0;p<i.length;p++){const y=i[p];if(y!==e){const E=s[y].x,S=s[y].y,m=C[y],w=d[y],_=1/((A-E)**2+(I-S)**2)**1.5;o+=m*(1-w*(I-S)**2*_),a+=m*(w*(A-E)*(I-S)*_),g+=m*(1-w*(A-E)**2*_)}}const l=o,u=a,h=t,v=g,f=r,c=(h/l+f/u)/(u/l-v/u),b=-(u*c+h)/l;s[e].x+=b,s[e].y+=c,this._updateE_matrix(e)}_createL_matrix(e){const t=this.body.nodeIndices,r=this.springLength;this.L_matrix=[];for(let i=0;i<t.length;i++){this.L_matrix[t[i]]={};for(let s=0;s<t.length;s++)this.L_matrix[t[i]][t[s]]=r*e[t[i]][t[s]]}}_createK_matrix(e){const t=this.body.nodeIndices,r=this.springConstant;this.K_matrix=[];for(let i=0;i<t.length;i++){this.K_matrix[t[i]]={};for(let s=0;s<t.length;s++)this.K_matrix[t[i]][t[s]]=r*e[t[i]][t[s]]**-2}}_createE_matrix(){const e=this.body.nodeIndices,t=this.body.nodes;this.E_matrix={},this.E_sums={};for(let r=0;r<e.length;r++)this.E_matrix[e[r]]=[];for(let r=0;r<e.length;r++){const i=e[r],s=t[i].x,o=t[i].y;let a=0,g=0;for(let A=r;A<e.length;A++){const I=e[A];if(I!==i){const C=t[I].x,d=t[I].y,l=1/Math.sqrt((s-C)**2+(o-d)**2);this.E_matrix[i][A]=[this.K_matrix[i][I]*(s-C-this.L_matrix[i][I]*(s-C)*l),this.K_matrix[i][I]*(o-d-this.L_matrix[i][I]*(o-d)*l)],this.E_matrix[I][r]=this.E_matrix[i][A],a+=this.E_matrix[i][A][0],g+=this.E_matrix[i][A][1]}}this.E_sums[i]=[a,g]}}_updateE_matrix(e){const t=this.body.nodeIndices,r=this.body.nodes,i=this.E_matrix[e],s=this.K_matrix[e],o=this.L_matrix[e],a=r[e].x,g=r[e].y;let A=0,I=0;for(let C=0;C<t.length;C++){const d=t[C];if(d!==e){const l=i[C],u=l[0],h=l[1],v=r[d].x,f=r[d].y,c=1/Math.sqrt((a-v)**2+(g-f)**2),b=s[d]*(a-v-o[d]*(a-v)*c),p=s[d]*(g-f-o[d]*(g-f)*c);i[C]=[b,p],A+=b,I+=p;const y=this.E_sums[d];y[0]+=b-u,y[1]+=p-h}}this.E_sums[e]=[A,I]}};function X(n,e,t){var r,i,s,o;if(!(this instanceof X))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:Nie,clickToUse:!1},Ot(this.options,this.defaultOptions),this.body={container:n,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:z(r=this.on).call(r,this),off:z(i=this.off).call(i,this),emit:z(s=this.emit).call(s,this),once:z(o=this.once).call(o,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new Gie(()=>this.body.emitter.emit("_requestRedraw")),this.groups=new lne,this.canvas=new xge(this.body),this.selectionHandler=new dAe(this.body,this.canvas),this.interactionHandler=new Mge(this.body,this.canvas,this.selectionHandler),this.view=new Dge(this.body,this.canvas),this.renderer=new _ge(this.body,this.canvas),this.physics=new fge(this.body),this.layoutEngine=new YAe(this.body),this.clustering=new Sge(this.body),this.manipulation=new XAe(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new $ae(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new oge(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new rIe(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(t),this.setData(e)}T6(X.prototype);X.prototype.setOptions=function(n){if(n===null&&(n=void 0),n!==void 0){if(hre.validate(n,JAe)===!0&&console.error("%cErrors have been found in the supplied options object.",aX),Eo(["locale","locales","clickToUse"],this.options,n),n.locale!==void 0&&(n.locale=jie(n.locales||this.options.locales,n.locale)),n=this.layoutEngine.setOptions(n.layout,n),this.canvas.setOptions(n),this.groups.setOptions(n.groups),this.nodesHandler.setOptions(n.nodes),this.edgesHandler.setOptions(n.edges),this.physics.setOptions(n.physics),this.manipulation.setOptions(n.manipulation,n,this.options),this.interactionHandler.setOptions(n.interaction),this.renderer.setOptions(n.interaction),this.selectionHandler.setOptions(n.interaction),n.groups!==void 0&&this.body.emitter.emit("refreshNodes"),"configure"in n&&(this.configurator||(this.configurator=new lre(this,this.body.container,sQ,this.canvas.pixelRatio,eIe)),this.configurator.setOptions(n.configure)),this.configurator&&this.configurator.options.enabled===!0){const r={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};Pe(r.nodes,this.nodesHandler.options),Pe(r.edges,this.edgesHandler.options),Pe(r.layout,this.layoutEngine.options),Pe(r.interaction,this.selectionHandler.options),Pe(r.interaction,this.renderer.options),Pe(r.interaction,this.interactionHandler.options),Pe(r.manipulation,this.manipulation.options),Pe(r.physics,this.physics.options),Pe(r.global,this.canvas.options),Pe(r.global,this.options),this.configurator.setModuleOptions(r)}n.clickToUse!==void 0?n.clickToUse===!0?this.activator===void 0&&(this.activator=new dre(this.canvas.frame),this.activator.on("change",()=>{this.body.emitter.emit("activate")})):(this.activator!==void 0&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}};X.prototype._updateVisibleIndices=function(){const n=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&!this.clustering._isClusteredNode(t)&&n[t].options.hidden===!1&&this.body.nodeIndices.push(n[t].id);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t],i=n[r.fromId],s=n[r.toId],o=i!==void 0&&s!==void 0;!this.clustering._isClusteredEdge(t)&&r.options.hidden===!1&&o&&i.options.hidden===!1&&s.options.hidden===!1&&this.body.edgeIndices.push(r.id)}};X.prototype.bindEventListeners=function(){this.body.emitter.on("_dataChanged",()=>{this.edgesHandler._updateState(),this.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",()=>{this.clustering._updateState(),this._updateVisibleIndices(),this._updateValueRange(this.body.nodes),this._updateValueRange(this.body.edges),this.body.emitter.emit("startSimulation"),this.body.emitter.emit("_requestRedraw")})};X.prototype.setData=function(n){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),n&&n.dot&&(n.nodes||n.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(n&&n.options),n&&n.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");const e=hie(n.dot);this.setData(e);return}else if(n&&n.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");const e=bie(n.gephi);this.setData(e);return}else this.nodesHandler.setData(n&&n.nodes,!0),this.edgesHandler.setData(n&&n.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")};X.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(const n in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,n)&&delete this.body.nodes[n];for(const n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&delete this.body.edges[n];Di(this.body.container)};X.prototype._updateValueRange=function(n){let e,t,r,i=0;for(e in n)if(Object.prototype.hasOwnProperty.call(n,e)){const s=n[e].getValue();s!==void 0&&(t=t===void 0?s:Math.min(s,t),r=r===void 0?s:Math.max(s,r),i+=s)}if(t!==void 0&&r!==void 0)for(e in n)Object.prototype.hasOwnProperty.call(n,e)&&n[e].setValueRange(t,r,i)};X.prototype.isActive=function(){return!this.activator||this.activator.active};X.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)};X.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)};X.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)};X.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)};X.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)};X.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)};X.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)};X.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)};X.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)};X.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)};X.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)};X.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)};X.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)};X.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)};X.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)};X.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)};X.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)};X.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)};X.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)};X.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)};X.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)};X.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)};X.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)};X.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)};X.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)};X.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)};X.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)};X.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)};X.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)};X.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)};X.prototype.getConnectedNodes=function(n){return this.body.nodes[n]!==void 0?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)};X.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)};X.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)};X.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)};X.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)};X.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)};X.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)};X.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)};X.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)};X.prototype.getNodeAt=function(){const n=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};X.prototype.getEdgeAt=function(){const n=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};X.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)};X.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)};X.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()};X.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)};X.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)};X.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)};X.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)};X.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)};X.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)};X.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)};X.prototype.getOptionsFromConfigurator=function(){let n={};return this.configurator&&(n=this.configurator.getOptions.apply(this.configurator)),n};const oQ={vue:{color:"#42b883"},ts:{color:"#3B86CB"},js:{color:"#d6cb2d"},json:{color:"#cf8f30"},css:{color:"#e6659a"},html:{color:"#e34c26"},jsx:{color:"#54B9D1"},tsx:{color:"#4FC7FF"},other:{color:"#B86542"}},iIe=["vue","other"];function nIe(){const[n,e]=u6(!0);return{fileTypeData:Object.entries(oQ).map(([t,r])=>({key:t,color:r.color,capitalize:iIe.includes(t)})),fileTypeShow:n,toggleFileType:e}}const{isDark:sIe}=Iee(),KF=h6(()=>({nodes:{shape:"dot",size:16,font:{color:sIe.value?"#fff":"#000",multi:"html"}},interaction:{hover:!0},physics:{maxVelocity:146,solver:"forceAtlas2Based",timestep:.35,stabilization:{enabled:!0,iterations:200}},groups:oQ})),_a=h6({get:()=>v_.value.graphSettings,set:n=>{v_.value.graphSettings=n}});yA(_a,()=>{LO()},{deep:!0});const BO=Sn("");Cee(BO,()=>{LO()},{debounce:350});const zO=Sn(""),ro=new to([]),io=new to([]),jO=c6([]),aQ=new Map,Hr=new Map,Ws=new Map,oIe=n=>n.reduce((e,t)=>(e.some(r=>r.id===t.id)||e.push(t),e),[]),gQ=n=>n.reduce((e,t)=>(e.some(r=>r.from===t.from&&r.to===t.to)||e.push(t),e),[]);function aIe(){jO.value=[],aQ.clear(),ro.clear(),io.clear(),Hr.clear(),Ws.clear()}function no(n){const e=n.id.includes("node_modules");return!(!_a.value.node_modules&&e||!_a.value.virtual&&n.virtual&&!e||!_a.value.lib&&!n.id.includes(zO.value)&&!n.virtual)}function AQ(n){const e=Ws.get(n);return e?e.some(t=>no(t.mod)):!0}const gIe=/(?:.*\/){3}([^/]+$)/;function LO(){ro.clear(),io.clear(),dIe();const n=[],e=[],t=[],r=uIe();(r?r.slice():jO.value.slice()).forEach(({node:o,edges:a,mod:g})=>{no(g)&&AQ(g.id)&&(n.push(o),e.push({id:g.id.match(gIe)?.[0]??g.id,fullId:g.id,node:o,edges:a,deps:g.deps}),t.push(...a))});const s=BO.value;if(s.trim().length){const o=e.filter(({id:a})=>a.includes(s));if(t.length=0,n.length=0,o.length){const{node:a,edges:g}=AIe(o);n.push(...a),t.push(...g)}}ro.add(oIe(n)),io.add(gQ(t))}function AIe(n){const e=new Map,t=new Map;return n.forEach(r=>{r=dee(r),r.node.font||(r.node.font={color:"#F19B4A"}),r.node.label=`<b>${r.node.label}</b>`,e.set(r.fullId,r.node),r.deps.forEach(i=>{const s=Hr.get(i);s&&no(s.mod)&&(e.set(s.mod.id,s.node),t.set(`${r.fullId}-${s.mod.id}`,N_(s.mod.id,r.fullId)),s.edges.forEach(o=>t.set(`${o.from}-${o.to}`,o)))})}),{node:Array.from(e.values()),edges:Array.from(t.values())}}function N_(n,e){return{from:n,to:e,arrows:{to:{enabled:!0,scaleFactor:.8}}}}function GO(n){return n.replace(/\?.*$/,"").replace(/#.*$/,"").replace(/\/{2,}/g,"/")}function IQ(n){return n.includes("vue&type=style")}function M_(n){return n.replace(zO.value,"")}function YF(n){return 15+Math.min(n/2,8)}function XF(n,e){const t=[];return n.forEach(r=>{IQ(r)||(r=GO(r),!t.includes(r)&&(t.push(r),e?.(r)))}),t}function IIe(n,e){if(!n)return;zO.value=e,ro.clear(),io.clear();const t=[],r=[];n.forEach(i=>{if(IQ(i.id))return;if(i.id=GO(i.id),r.some(C=>C.id===i.id)){const C=Hr.get(i.id);C.node.size=YF(C.edges.length+i.deps.length);const d=[],u=XF(i.deps,h=>{d.push(N_(i.id,h))}).filter(h=>!C.mod.deps.includes(h));if(!u.length)return;C.mod.deps.push(...u),t.push(...d);return}const s=i.id,a=s.split("/").at(-1)??"",g=M_(s),A={mod:i,info:{displayName:a,displayPath:g},node:{id:i.id,label:a,group:s.match(/\.(\w+)$/)?.[1]||"unknown",size:YF(i.deps.length),shape:i.id.includes("/node_modules/")?"hexagon":i.virtual?"diamond":"dot"},edges:[]},I=XF(i.deps,C=>{A.edges.push(N_(i.id,C)),Ws.has(C)||Ws.set(C,[]);const d=Ws.get(C),l=M_(s);d.find(h=>h.path===s&&h.displayPath===l&&h.mod.id===i.id)||d.push({path:s,displayPath:l,mod:i})});i.deps=I,jO.value.push(A),aQ.set(i.id,A),Hr.set(i.id,A),no(i)&&AQ(i.id)&&(r.push(A.node),t.push(...A.edges))}),ro.add(r.slice()),io.add(gQ(t))}const CQ=Sn(),[CIe,q_]=u6(!1);function dIe(){q_(!1)}function lIe(n){const e=Hr.get(n);if(!e)return;const t=e.mod.deps.reduce((s,o)=>{const a=Hr.get(o);return a&&no(a.mod)&&s.push({path:o,displayPath:M_(GO(o))}),s},[]),i=(Ws.get(e.mod.id)||[]).reduce((s,o)=>{const a=Hr.get(o.path);return a&&no(a.mod)&&s.push({path:o.path,displayPath:o.displayPath}),s},[]);CQ.value={name:e.info.displayName,displayPath:e.info.displayPath,path:e.mod.id,deps:t,refs:i}}const so=Sn("");yA(so,()=>{LO()});function uIe(){const n=so.value;return so.value=n,!n||!Hr.get(n)?null:dQ(n)}function dQ(n,e=0){const t=Hr.get(n);if(e+=1,!t||e>20)return[];const r=[t];return t.mod.deps.forEach(i=>{const s=Hr.get(i);s&&r.push(...dQ(s.mod.id,e))}),r.reduce((i,s)=>(i.some(o=>o.mod.id===s.mod.id)||i.push(s),i),[])}const hIe={class:"w-300px","h-full":"","of-auto":""},cIe={"text-md":"","h-80px":"","border-b":"","border-base":"",p3:"",flex:"~ col gap1"},fIe={"text-lg":"",flex:"~ gap2 items-center"},pIe={key:0,"i-material-symbols-check-small":"","text-primary-500":""},vIe=["title"],mIe={pb2:"","text-gray-500":""},yIe={"text-primary-500":""},bIe={flex:"~ col gap2 items-start"},wIe=["onClick"],EIe={p3:""},QF=1500,SIe=VA({__name:"GraphDrawer",props:{top:{}},setup(n){const e=CQ,t=CIe,r=so,i=fee(),s=C=>{if(i.vitePluginDetected.value&&pee.value){vee(C);return}A(C)},{copy:o,isSupported:a,copied:g}=lee({copiedDuring:QF});function A(C){o(C),mee({message:"Copied to clipboard",type:"success",duration:QF})}const I=[["refs","references"],["deps","dependencies"]];return(C,d)=>(Zt(),uee(Ee(cee),{modelValue:Ee(t),"onUpdate:modelValue":d[3]||(d[3]=l=>f6(t)?t.value=l:null),top:C.top,"close-outside":!1,permanent:!0,"content-blur":!0,position:"absolute","mount-to":".graph-body"},{default:XT(()=>[Ue("div",hIe,[Ue("div",cIe,[Ue("span",fIe,[dA(pn(Ee(e)?.name)+" ",1),Ee(g)?(Zt(),tr("span",pIe)):Ee(e)?(Zt(),tr("span",{key:1,hover:"op-100","i-carbon-copy":"","cursor-pointer":"","text-sm":"","op-50":"",class:Os({"text-gray-200":!Ee(a)}),onClick:d[0]||(d[0]=l=>A(Ee(e).name))},null,2)):tO("",!0)]),Ue("button",{hover:"underline",truncate:"","text-left":"","text-gray-500":"",title:Ee(e)?.displayPath,onClick:d[1]||(d[1]=l=>s(Ee(e).path))},pn(Ee(e)?.displayPath),9,vIe)]),(Zt(),tr(bA,null,wA(I,([l,u])=>Ue("div",{key:l,"max-h-60":"","of-auto":"","border-b":"","border-base":"",p3:"","text-sm":""},[Ue("div",mIe,[Ue("span",yIe,pn(Ee(e)?.[l].length),1),dA(" "+pn(u),1)]),Ue("div",bIe,[(Zt(!0),tr(bA,null,wA(Ee(e)?.[l],h=>(Zt(),tr("button",{key:h.path,dark:"text-gray-200","of-hidden":"",truncate:"","ws-nowrap":"","pr-3":"","text-gray-800":"",hover:"underline",onClick:v=>s(h.path)},pn(h.displayPath),9,wIe))),128))])])),64)),Ue("div",EIe,[qs(Ee(hee),{type:"primary",onClick:d[2]||(d[2]=l=>r.value=Ee(e).path)},{default:XT(()=>[...d[4]||(d[4]=[dA(" Filter to this module ",-1)])]),_:1})])])]),_:1},8,["modelValue","top"]))}}),_Ie=VA({__name:"GraphFileType",setup(n){const{fileTypeData:e,fileTypeShow:t,toggleFileType:r}=nIe();return(i,s)=>(Zt(),tr("div",{absolute:"","bottom-0":"",grid:"","grid-cols-3":"","w-260px":"","gap-2":"","b-1":"","b-l-0":"","border-base":"","rounded-tr-lg":"","glass-effect":"",px4:"",py2:"","text-sm":"","transition-transform":"","duration-300":"",class:Os(["group",{"translate-x-[calc(-100%+30px)] translate-y-[calc(100%-30px)]":!Ee(t)}])},[Ue("div",{class:Os(["group",{"rounded-bl-lg opacity-0 group-hover:opacity-100":Ee(t)}]),absolute:"","right-0":"",h30px:"",w30px:"","cursor-pointer":"","rounded-tr-lg":"","bg-primary-500":"","text-white":"","transition-opacity":"",flex:"~ justify-center items-center",onClick:s[0]||(s[0]=()=>Ee(r)())},[Ue("div",{"transition-transform":"",class:Os([Ee(t)?"i-material-symbols-arrow-downward-alt rotate-45 hover:translate-x--10% hover:translate-y-10%":"i-mdi-file-outline"])},null,2)],2),(Zt(!0),tr(bA,null,wA(Ee(e),o=>(Zt(),tr("div",{key:o.key,flex:"","items-center":"","gap-2":""},[Ue("div",{h12px:"",w12px:"","rounded-full":"",style:yee({backgroundColor:o.color})},null,4),Ue("span",{class:Os([o.capitalize?"capitalize":"uppercase"])},pn(o.key),3)]))),128))],2))}}),OIe={flex:"~ items-center gap-4 nowrap",class:"[&_>*]:flex-[0_0_auto]",absolute:"","left-0":"","top-0":"","z-10":"","navbar-base":"","w-full":"","overflow-x-auto":"","glass-effect":"",px4:"","text-sm":""},TIe=VA({__name:"GraphNavbar",setup(n){const e=BO,t=_a,r=[["node_modules"],["virtual","virtual module"],["lib","library module"]],i=so;return(s,o)=>(Zt(),tr("div",OIe,[qs(Ee(bee),{modelValue:Ee(e),"onUpdate:modelValue":o[0]||(o[0]=a=>f6(e)?e.value=a:null),placeholder:"Search modules..."},null,8,["modelValue"]),(Zt(),tr(bA,null,wA(r,a=>Ue("div",{key:a[0],flex:"~ gap-2 items-center"},[qs(Ee(wee),{modelValue:Ee(t)[a[0]],"onUpdate:modelValue":g=>Ee(t)[a[0]]=g},null,8,["modelValue","onUpdate:modelValue"]),Ue("span",{class:Os({"text-gray-400 dark:text-gray-600":!Ee(t)[a[0]]})},"Show "+pn(a[1]??a[0]),3)])),64)),o[3]||(o[3]=Ue("div",{"flex-auto":""},null,-1)),Ee(i)?(Zt(),tr("button",{key:0,"rounded-full":"","bg-gray:20":"",py1:"",pl3:"",pr2:"","text-xs":"",op50:"","hover:op100":"",onClick:o[1]||(o[1]=a=>i.value="")},[...o[2]||(o[2]=[dA(" Clear filter ",-1),Ue("div",{"i-carbon-close":"",mb2px:""},null,-1)])])):tO("",!0)]))}});/**
962
+ * vis-data
963
+ * http://visjs.org/
964
+ *
965
+ * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.
966
+ *
967
+ * @version 8.0.3
968
+ * @date 2025-09-10T16:22:00.613Z
969
+ *
970
+ * @copyright (c) 2011-2017 Almende B.V, http://almende.com
971
+ * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
972
+ *
973
+ * @license
974
+ * vis.js is dual licensed under both
975
+ *
976
+ * 1. The Apache 2.0 License
977
+ * http://www.apache.org/licenses/LICENSE-2.0
978
+ *
979
+ * and
980
+ *
981
+ * 2. The MIT License
982
+ * http://opensource.org/licenses/MIT
983
+ *
984
+ * vis.js may be distributed under either license.
985
+ */var JF=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ce(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Xc={exports:{}},ek={},Ca,tk;function ot(){if(tk)return Ca;tk=1;var n=function(e){return e&&e.Math===Math&&e};return Ca=n(typeof globalThis=="object"&&globalThis)||n(typeof window=="object"&&window)||n(typeof self=="object"&&self)||n(typeof JF=="object"&&JF)||n(typeof Ca=="object"&&Ca)||(function(){return this})()||Function("return this")(),Ca}var Qc,rk;function we(){return rk||(rk=1,Qc=function(n){try{return!!n()}catch{return!0}}),Qc}var Jc,ik;function vg(){if(ik)return Jc;ik=1;var n=we();return Jc=!n(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),Jc}var ef,nk;function dI(){if(nk)return ef;nk=1;var n=vg(),e=Function.prototype,t=e.apply,r=e.call;return ef=typeof Reflect=="object"&&Reflect.apply||(n?r.bind(t):function(){return r.apply(t,arguments)}),ef}var tf,sk;function Oe(){if(sk)return tf;sk=1;var n=vg(),e=Function.prototype,t=e.call,r=n&&e.bind.bind(t,t);return tf=n?r:function(i){return function(){return t.apply(i,arguments)}},tf}var rf,ok;function fi(){if(ok)return rf;ok=1;var n=Oe(),e=n({}.toString),t=n("".slice);return rf=function(r){return t(e(r),8,-1)},rf}var nf,ak;function lQ(){if(ak)return nf;ak=1;var n=fi(),e=Oe();return nf=function(t){if(n(t)==="Function")return e(t)},nf}var sf,gk;function ht(){if(gk)return sf;gk=1;var n=typeof document=="object"&&document.all;return sf=typeof n>"u"&&n!==void 0?function(e){return typeof e=="function"||e===n}:function(e){return typeof e=="function"},sf}var of={},af,Ak;function at(){if(Ak)return af;Ak=1;var n=we();return af=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),af}var gf,Ik;function Xt(){if(Ik)return gf;Ik=1;var n=vg(),e=Function.prototype.call;return gf=n?e.bind(e):function(){return e.apply(e,arguments)},gf}var Af={},Ck;function WO(){if(Ck)return Af;Ck=1;var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,t=e&&!n.call({1:2},1);return Af.f=t?function(i){var s=e(this,i);return!!s&&s.enumerable}:n,Af}var If,dk;function mg(){return dk||(dk=1,If=function(n,e){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:e}}),If}var Cf,lk;function lI(){if(lk)return Cf;lk=1;var n=Oe(),e=we(),t=fi(),r=Object,i=n("".split);return Cf=e(function(){return!r("z").propertyIsEnumerable(0)})?function(s){return t(s)==="String"?i(s,""):r(s)}:r,Cf}var df,uk;function yg(){return uk||(uk=1,df=function(n){return n==null}),df}var lf,hk;function ts(){if(hk)return lf;hk=1;var n=yg(),e=TypeError;return lf=function(t){if(n(t))throw new e("Can't call method on "+t);return t},lf}var uf,ck;function Qr(){if(ck)return uf;ck=1;var n=lI(),e=ts();return uf=function(t){return n(e(t))},uf}var hf,fk;function Lt(){if(fk)return hf;fk=1;var n=ht();return hf=function(e){return typeof e=="object"?e!==null:n(e)},hf}var cf,pk;function It(){return pk||(pk=1,cf={}),cf}var ff,vk;function ir(){if(vk)return ff;vk=1;var n=It(),e=ot(),t=ht(),r=function(i){return t(i)?i:void 0};return ff=function(i,s){return arguments.length<2?r(n[i])||r(e[i]):n[i]&&n[i][s]||e[i]&&e[i][s]},ff}var pf,mk;function ct(){if(mk)return pf;mk=1;var n=Oe();return pf=n({}.isPrototypeOf),pf}var vf,yk;function Po(){if(yk)return vf;yk=1;var n=ot(),e=n.navigator,t=e&&e.userAgent;return vf=t?String(t):"",vf}var mf,bk;function bg(){if(bk)return mf;bk=1;var n=ot(),e=Po(),t=n.process,r=n.Deno,i=t&&t.versions||r&&r.version,s=i&&i.v8,o,a;return s&&(o=s.split("."),a=o[0]>0&&o[0]<4?1:+(o[0]+o[1])),!a&&e&&(o=e.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=e.match(/Chrome\/(\d+)/),o&&(a=+o[1]))),mf=a,mf}var yf,wk;function xo(){if(wk)return yf;wk=1;var n=bg(),e=we(),t=ot(),r=t.String;return yf=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!r(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41}),yf}var bf,Ek;function uQ(){if(Ek)return bf;Ek=1;var n=xo();return bf=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol",bf}var wf,Sk;function wg(){if(Sk)return wf;Sk=1;var n=ir(),e=ht(),t=ct(),r=uQ(),i=Object;return wf=r?function(s){return typeof s=="symbol"}:function(s){var o=n("Symbol");return e(o)&&t(o.prototype,i(s))},wf}var Ef,_k;function $o(){if(_k)return Ef;_k=1;var n=String;return Ef=function(e){try{return n(e)}catch{return"Object"}},Ef}var Sf,Ok;function pi(){if(Ok)return Sf;Ok=1;var n=ht(),e=$o(),t=TypeError;return Sf=function(r){if(n(r))return r;throw new t(e(r)+" is not a function")},Sf}var _f,Tk;function VO(){if(Tk)return _f;Tk=1;var n=pi(),e=yg();return _f=function(t,r){var i=t[r];return e(i)?void 0:n(i)},_f}var Of,Rk;function RIe(){if(Rk)return Of;Rk=1;var n=Xt(),e=ht(),t=Lt(),r=TypeError;return Of=function(i,s){var o,a;if(s==="string"&&e(o=i.toString)&&!t(a=n(o,i))||e(o=i.valueOf)&&!t(a=n(o,i))||s!=="string"&&e(o=i.toString)&&!t(a=n(o,i)))return a;throw new r("Can't convert object to primitive value")},Of}var Tf={exports:{}},Rf,Pk;function Do(){return Pk||(Pk=1,Rf=!0),Rf}var Pf,xk;function PIe(){if(xk)return Pf;xk=1;var n=ot(),e=Object.defineProperty;return Pf=function(t,r){try{e(n,t,{value:r,configurable:!0,writable:!0})}catch{n[t]=r}return r},Pf}var $k;function ZO(){if($k)return Tf.exports;$k=1;var n=Do(),e=ot(),t=PIe(),r="__core-js_shared__",i=Tf.exports=e[r]||t(r,{});return(i.versions||(i.versions=[])).push({version:"3.44.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Tf.exports}var xf,Dk;function No(){if(Dk)return xf;Dk=1;var n=ZO();return xf=function(e,t){return n[e]||(n[e]=t||{})},xf}var $f,Nk;function kr(){if(Nk)return $f;Nk=1;var n=ts(),e=Object;return $f=function(t){return e(n(t))},$f}var Df,Mk;function ft(){if(Mk)return Df;Mk=1;var n=Oe(),e=kr(),t=n({}.hasOwnProperty);return Df=Object.hasOwn||function(i,s){return t(e(i),s)},Df}var Nf,qk;function uI(){if(qk)return Nf;qk=1;var n=Oe(),e=0,t=Math.random(),r=n(1.1.toString);return Nf=function(i){return"Symbol("+(i===void 0?"":i)+")_"+r(++e+t,36)},Nf}var Mf,Fk;function pt(){if(Fk)return Mf;Fk=1;var n=ot(),e=No(),t=ft(),r=uI(),i=xo(),s=uQ(),o=n.Symbol,a=e("wks"),g=s?o.for||o:o&&o.withoutSetter||r;return Mf=function(A){return t(a,A)||(a[A]=i&&t(o,A)?o[A]:g("Symbol."+A)),a[A]},Mf}var qf,kk;function hQ(){if(kk)return qf;kk=1;var n=Xt(),e=Lt(),t=wg(),r=VO(),i=RIe(),s=pt(),o=TypeError,a=s("toPrimitive");return qf=function(g,A){if(!e(g)||t(g))return g;var I=r(g,a),C;if(I){if(A===void 0&&(A="default"),C=n(I,g,A),!e(C)||t(C))return C;throw new o("Can't convert object to primitive value")}return A===void 0&&(A="number"),i(g,A)},qf}var Ff,Bk;function HO(){if(Bk)return Ff;Bk=1;var n=hQ(),e=wg();return Ff=function(t){var r=n(t,"string");return e(r)?r:r+""},Ff}var kf,zk;function cQ(){if(zk)return kf;zk=1;var n=ot(),e=Lt(),t=n.document,r=e(t)&&e(t.createElement);return kf=function(i){return r?t.createElement(i):{}},kf}var Bf,jk;function fQ(){if(jk)return Bf;jk=1;var n=at(),e=we(),t=cQ();return Bf=!n&&!e(function(){return Object.defineProperty(t("div"),"a",{get:function(){return 7}}).a!==7}),Bf}var Lk;function hI(){if(Lk)return of;Lk=1;var n=at(),e=Xt(),t=WO(),r=mg(),i=Qr(),s=HO(),o=ft(),a=fQ(),g=Object.getOwnPropertyDescriptor;return of.f=n?g:function(I,C){if(I=i(I),C=s(C),a)try{return g(I,C)}catch{}if(o(I,C))return r(!e(t.f,I,C),I[C])},of}var zf,Gk;function xIe(){if(Gk)return zf;Gk=1;var n=we(),e=ht(),t=/#|\.prototype\./,r=function(g,A){var I=s[i(g)];return I===a?!0:I===o?!1:e(A)?n(A):!!A},i=r.normalize=function(g){return String(g).replace(t,".").toLowerCase()},s=r.data={},o=r.NATIVE="N",a=r.POLYFILL="P";return zf=r,zf}var jf,Wk;function cI(){if(Wk)return jf;Wk=1;var n=lQ(),e=pi(),t=vg(),r=n(n.bind);return jf=function(i,s){return e(i),s===void 0?i:t?r(i,s):function(){return i.apply(s,arguments)}},jf}var Lf={},Gf,Vk;function pQ(){if(Vk)return Gf;Vk=1;var n=at(),e=we();return Gf=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),Gf}var Wf,Zk;function vi(){if(Zk)return Wf;Zk=1;var n=Lt(),e=String,t=TypeError;return Wf=function(r){if(n(r))return r;throw new t(e(r)+" is not an object")},Wf}var Hk;function cr(){if(Hk)return Lf;Hk=1;var n=at(),e=fQ(),t=pQ(),r=vi(),i=HO(),s=TypeError,o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,g="enumerable",A="configurable",I="writable";return Lf.f=n?t?function(d,l,u){if(r(d),l=i(l),r(u),typeof d=="function"&&l==="prototype"&&"value"in u&&I in u&&!u[I]){var h=a(d,l);h&&h[I]&&(d[l]=u.value,u={configurable:A in u?u[A]:h[A],enumerable:g in u?u[g]:h[g],writable:!1})}return o(d,l,u)}:o:function(d,l,u){if(r(d),l=i(l),r(u),e)try{return o(d,l,u)}catch{}if("get"in u||"set"in u)throw new s("Accessors not supported");return"value"in u&&(d[l]=u.value),d},Lf}var Vf,Uk;function Mo(){if(Uk)return Vf;Uk=1;var n=at(),e=cr(),t=mg();return Vf=n?function(r,i,s){return e.f(r,i,t(1,s))}:function(r,i,s){return r[i]=s,r},Vf}var Zf,Kk;function Ae(){if(Kk)return Zf;Kk=1;var n=ot(),e=dI(),t=lQ(),r=ht(),i=hI().f,s=xIe(),o=It(),a=cI(),g=Mo(),A=ft(),I=function(C){var d=function(l,u,h){if(this instanceof d){switch(arguments.length){case 0:return new C;case 1:return new C(l);case 2:return new C(l,u)}return new C(l,u,h)}return e(C,this,arguments)};return d.prototype=C.prototype,d};return Zf=function(C,d){var l=C.target,u=C.global,h=C.stat,v=C.proto,f=u?n:h?n[l]:n[l]&&n[l].prototype,c=u?o:o[l]||g(o,l,{})[l],b=c.prototype,p,y,E,S,m,w,_,T,R;for(S in d)p=s(u?S:l+(h?".":"#")+S,C.forced),y=!p&&f&&A(f,S),w=c[S],y&&(C.dontCallGetSet?(R=i(f,S),_=R&&R.value):_=f[S]),m=y&&_?_:d[S],!(!p&&!v&&typeof w==typeof m)&&(C.bind&&y?T=a(m,n):C.wrap&&y?T=I(m):v&&r(m)?T=t(m):T=m,(C.sham||m&&m.sham||w&&w.sham)&&g(T,"sham",!0),g(c,S,T),v&&(E=l+"Prototype",A(o,E)||g(o,E,{}),g(o[E],S,m),C.real&&b&&(p||!b[S])&&g(b,S,m)))},Zf}var Yk;function $Ie(){if(Yk)return ek;Yk=1;var n=Ae(),e=at(),t=cr().f;return n({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!e},{defineProperty:t}),ek}var Xk;function DIe(){if(Xk)return Xc.exports;Xk=1,$Ie();var n=It(),e=n.Object,t=Xc.exports=function(i,s,o){return e.defineProperty(i,s,o)};return e.defineProperty.sham&&(t.sham=!0),Xc.exports}var Hf,Qk;function vQ(){if(Qk)return Hf;Qk=1;var n=DIe();return Hf=n,Hf}var Uf,Jk;function NIe(){if(Jk)return Uf;Jk=1;var n=vQ();return Uf=n,Uf}var Kf,eB;function MIe(){if(eB)return Kf;eB=1;var n=NIe();return Kf=n,Kf}var Yf,tB;function qIe(){return tB||(tB=1,Yf=MIe()),Yf}var FIe=qIe(),kIe=ce(FIe),rB={},Xf,iB;function rs(){if(iB)return Xf;iB=1;var n=fi();return Xf=Array.isArray||function(t){return n(t)==="Array"},Xf}var Qf,nB;function BIe(){if(nB)return Qf;nB=1;var n=Math.ceil,e=Math.floor;return Qf=Math.trunc||function(r){var i=+r;return(i>0?e:n)(i)},Qf}var Jf,sB;function qo(){if(sB)return Jf;sB=1;var n=BIe();return Jf=function(e){var t=+e;return t!==t||t===0?0:n(t)},Jf}var ep,oB;function mQ(){if(oB)return ep;oB=1;var n=qo(),e=Math.min;return ep=function(t){var r=n(t);return r>0?e(r,9007199254740991):0},ep}var tp,aB;function on(){if(aB)return tp;aB=1;var n=mQ();return tp=function(e){return n(e.length)},tp}var rp,gB;function yQ(){if(gB)return rp;gB=1;var n=TypeError,e=9007199254740991;return rp=function(t){if(t>e)throw n("Maximum allowed index exceeded");return t},rp}var ip,AB;function fI(){if(AB)return ip;AB=1;var n=at(),e=cr(),t=mg();return ip=function(r,i,s){n?e.f(r,i,t(0,s)):r[i]=s},ip}var np,IB;function UO(){if(IB)return np;IB=1;var n=pt(),e=n("toStringTag"),t={};return t[e]="z",np=String(t)==="[object z]",np}var sp,CB;function an(){if(CB)return sp;CB=1;var n=UO(),e=ht(),t=fi(),r=pt(),i=r("toStringTag"),s=Object,o=t((function(){return arguments})())==="Arguments",a=function(g,A){try{return g[A]}catch{}};return sp=n?t:function(g){var A,I,C;return g===void 0?"Undefined":g===null?"Null":typeof(I=a(A=s(g),i))=="string"?I:o?t(A):(C=t(A))==="Object"&&e(A.callee)?"Arguments":C},sp}var op,dB;function zIe(){if(dB)return op;dB=1;var n=Oe(),e=ht(),t=ZO(),r=n(Function.toString);return e(t.inspectSource)||(t.inspectSource=function(i){return r(i)}),op=t.inspectSource,op}var ap,lB;function bQ(){if(lB)return ap;lB=1;var n=Oe(),e=we(),t=ht(),r=an(),i=ir(),s=zIe(),o=function(){},a=i("Reflect","construct"),g=/^\s*(?:class|function)\b/,A=n(g.exec),I=!g.test(o),C=function(u){if(!t(u))return!1;try{return a(o,[],u),!0}catch{return!1}},d=function(u){if(!t(u))return!1;switch(r(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!A(g,s(u))}catch{return!0}};return d.sham=!0,ap=!a||e(function(){var l;return C(C.call)||!C(Object)||!C(function(){l=!0})||l})?d:C,ap}var gp,uB;function jIe(){if(uB)return gp;uB=1;var n=rs(),e=bQ(),t=Lt(),r=pt(),i=r("species"),s=Array;return gp=function(o){var a;return n(o)&&(a=o.constructor,e(a)&&(a===s||n(a.prototype))?a=void 0:t(a)&&(a=a[i],a===null&&(a=void 0))),a===void 0?s:a},gp}var Ap,hB;function KO(){if(hB)return Ap;hB=1;var n=jIe();return Ap=function(e,t){return new(n(e))(t===0?0:t)},Ap}var Ip,cB;function Eg(){if(cB)return Ip;cB=1;var n=we(),e=pt(),t=bg(),r=e("species");return Ip=function(i){return t>=51||!n(function(){var s=[],o=s.constructor={};return o[r]=function(){return{foo:1}},s[i](Boolean).foo!==1})},Ip}var fB;function wQ(){if(fB)return rB;fB=1;var n=Ae(),e=we(),t=rs(),r=Lt(),i=kr(),s=on(),o=yQ(),a=fI(),g=KO(),A=Eg(),I=pt(),C=bg(),d=I("isConcatSpreadable"),l=C>=51||!e(function(){var v=[];return v[d]=!1,v.concat()[0]!==v}),u=function(v){if(!r(v))return!1;var f=v[d];return f!==void 0?!!f:t(v)},h=!l||!A("concat");return n({target:"Array",proto:!0,arity:1,forced:h},{concat:function(f){var c=i(this),b=g(c,0),p=0,y,E,S,m,w;for(y=-1,S=arguments.length;y<S;y++)if(w=y===-1?c:arguments[y],u(w))for(m=s(w),o(p+m),E=0;E<m;E++,p++)E in w&&a(b,p,w[E]);else o(p+1),a(b,p++,w);return b.length=p,b}}),rB}var pB={},vB={},Cp,mB;function gn(){if(mB)return Cp;mB=1;var n=an(),e=String;return Cp=function(t){if(n(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(t)},Cp}var dp={},lp,yB;function YO(){if(yB)return lp;yB=1;var n=qo(),e=Math.max,t=Math.min;return lp=function(r,i){var s=n(r);return s<0?e(s+i,0):t(s,i)},lp}var up,bB;function LIe(){if(bB)return up;bB=1;var n=Qr(),e=YO(),t=on(),r=function(i){return function(s,o,a){var g=n(s),A=t(g);if(A===0)return!i&&-1;var I=e(a,A),C;if(i&&o!==o){for(;A>I;)if(C=g[I++],C!==C)return!0}else for(;A>I;I++)if((i||I in g)&&g[I]===o)return i||I||0;return!i&&-1}};return up={includes:r(!0),indexOf:r(!1)},up}var hp,wB;function Sg(){return wB||(wB=1,hp={}),hp}var cp,EB;function EQ(){if(EB)return cp;EB=1;var n=Oe(),e=ft(),t=Qr(),r=LIe().indexOf,i=Sg(),s=n([].push);return cp=function(o,a){var g=t(o),A=0,I=[],C;for(C in g)!e(i,C)&&e(g,C)&&s(I,C);for(;a.length>A;)e(g,C=a[A++])&&(~r(I,C)||s(I,C));return I},cp}var fp,SB;function XO(){return SB||(SB=1,fp=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),fp}var pp,_B;function pI(){if(_B)return pp;_B=1;var n=EQ(),e=XO();return pp=Object.keys||function(r){return n(r,e)},pp}var OB;function QO(){if(OB)return dp;OB=1;var n=at(),e=pQ(),t=cr(),r=vi(),i=Qr(),s=pI();return dp.f=n&&!e?Object.defineProperties:function(a,g){r(a);for(var A=i(g),I=s(g),C=I.length,d=0,l;C>d;)t.f(a,l=I[d++],A[l]);return a},dp}var vp,TB;function GIe(){if(TB)return vp;TB=1;var n=ir();return vp=n("document","documentElement"),vp}var mp,RB;function vI(){if(RB)return mp;RB=1;var n=No(),e=uI(),t=n("keys");return mp=function(r){return t[r]||(t[r]=e(r))},mp}var yp,PB;function _g(){if(PB)return yp;PB=1;var n=vi(),e=QO(),t=XO(),r=Sg(),i=GIe(),s=cQ(),o=vI(),a=">",g="<",A="prototype",I="script",C=o("IE_PROTO"),d=function(){},l=function(c){return g+I+a+c+g+"/"+I+a},u=function(c){c.write(l("")),c.close();var b=c.parentWindow.Object;return c=null,b},h=function(){var c=s("iframe"),b="java"+I+":",p;return c.style.display="none",i.appendChild(c),c.src=String(b),p=c.contentWindow.document,p.open(),p.write(l("document.F=Object")),p.close(),p.F},v,f=function(){try{v=new ActiveXObject("htmlfile")}catch{}f=typeof document<"u"?document.domain&&v?u(v):h():u(v);for(var c=t.length;c--;)delete f[A][t[c]];return f()};return r[C]=!0,yp=Object.create||function(b,p){var y;return b!==null?(d[A]=n(b),y=new d,d[A]=null,y[C]=b):y=f(),p===void 0?y:e.f(y,p)},yp}var bp={},xB;function mI(){if(xB)return bp;xB=1;var n=EQ(),e=XO(),t=e.concat("length","prototype");return bp.f=Object.getOwnPropertyNames||function(i){return n(i,t)},bp}var wp={},Ep,$B;function Fo(){if($B)return Ep;$B=1;var n=Oe();return Ep=n([].slice),Ep}var DB;function SQ(){if(DB)return wp;DB=1;var n=fi(),e=Qr(),t=mI().f,r=Fo(),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(o){try{return t(o)}catch{return r(i)}};return wp.f=function(a){return i&&n(a)==="Window"?s(a):t(e(a))},wp}var Sp={},NB;function yI(){return NB||(NB=1,Sp.f=Object.getOwnPropertySymbols),Sp}var _p,MB;function Og(){if(MB)return _p;MB=1;var n=Mo();return _p=function(e,t,r,i){return i&&i.enumerable?e[t]=r:n(e,t,r),e},_p}var Op,qB;function JO(){if(qB)return Op;qB=1;var n=cr();return Op=function(e,t,r){return n.f(e,t,r)},Op}var Tp={},FB;function bI(){if(FB)return Tp;FB=1;var n=pt();return Tp.f=n,Tp}var Rp,kB;function We(){if(kB)return Rp;kB=1;var n=It(),e=ft(),t=bI(),r=cr().f;return Rp=function(i){var s=n.Symbol||(n.Symbol={});e(s,i)||r(s,i,{value:t.f(i)})},Rp}var Pp,BB;function _Q(){if(BB)return Pp;BB=1;var n=Xt(),e=ir(),t=pt(),r=Og();return Pp=function(){var i=e("Symbol"),s=i&&i.prototype,o=s&&s.valueOf,a=t("toPrimitive");s&&!s[a]&&r(s,a,function(g){return n(o,this)},{arity:1})},Pp}var xp,zB;function WIe(){if(zB)return xp;zB=1;var n=UO(),e=an();return xp=n?{}.toString:function(){return"[object "+e(this)+"]"},xp}var $p,jB;function is(){if(jB)return $p;jB=1;var n=UO(),e=cr().f,t=Mo(),r=ft(),i=WIe(),s=pt(),o=s("toStringTag");return $p=function(a,g,A,I){var C=A?a:a&&a.prototype;C&&(r(C,o)||e(C,o,{configurable:!0,value:g}),I&&!n&&t(C,"toString",i))},$p}var Dp,LB;function VIe(){if(LB)return Dp;LB=1;var n=ot(),e=ht(),t=n.WeakMap;return Dp=e(t)&&/native code/.test(String(t)),Dp}var Np,GB;function Tg(){if(GB)return Np;GB=1;var n=VIe(),e=ot(),t=Lt(),r=Mo(),i=ft(),s=ZO(),o=vI(),a=Sg(),g="Object already initialized",A=e.TypeError,I=e.WeakMap,C,d,l,u=function(c){return l(c)?d(c):C(c,{})},h=function(c){return function(b){var p;if(!t(b)||(p=d(b)).type!==c)throw new A("Incompatible receiver, "+c+" required");return p}};if(n||s.state){var v=s.state||(s.state=new I);v.get=v.get,v.has=v.has,v.set=v.set,C=function(c,b){if(v.has(c))throw new A(g);return b.facade=c,v.set(c,b),b},d=function(c){return v.get(c)||{}},l=function(c){return v.has(c)}}else{var f=o("state");a[f]=!0,C=function(c,b){if(i(c,f))throw new A(g);return b.facade=c,r(c,f,b),b},d=function(c){return i(c,f)?c[f]:{}},l=function(c){return i(c,f)}}return Np={set:C,get:d,has:l,enforce:u,getterFor:h},Np}var Mp,WB;function ko(){if(WB)return Mp;WB=1;var n=cI(),e=Oe(),t=lI(),r=kr(),i=on(),s=KO(),o=e([].push),a=function(g){var A=g===1,I=g===2,C=g===3,d=g===4,l=g===6,u=g===7,h=g===5||l;return function(v,f,c,b){for(var p=r(v),y=t(p),E=i(y),S=n(f,c),m=0,w=b||s,_=A?w(v,E):I||u?w(v,0):void 0,T,R;E>m;m++)if((h||m in y)&&(T=y[m],R=S(T,m,p),g))if(A)_[m]=R;else if(R)switch(g){case 3:return!0;case 5:return T;case 6:return m;case 2:o(_,T)}else switch(g){case 4:return!1;case 7:o(_,T)}return l?-1:C||d?d:_}};return Mp={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},Mp}var VB;function ZIe(){if(VB)return vB;VB=1;var n=Ae(),e=ot(),t=Xt(),r=Oe(),i=Do(),s=at(),o=xo(),a=we(),g=ft(),A=ct(),I=vi(),C=Qr(),d=HO(),l=gn(),u=mg(),h=_g(),v=pI(),f=mI(),c=SQ(),b=yI(),p=hI(),y=cr(),E=QO(),S=WO(),m=Og(),w=JO(),_=No(),T=vI(),R=Sg(),O=uI(),P=pt(),x=bI(),V=We(),M=_Q(),U=is(),K=Tg(),ne=ko().forEach,L=T("hidden"),se="Symbol",he="prototype",fe=K.set,yt=K.getterFor(se),de=Object[he],Be=e.Symbol,bt=Be&&Be[he],ia=e.RangeError,na=e.TypeError,br=e.QObject,Ei=p.f,ze=y.f,Si=c.f,sa=S.f,_i=r([].push),be=_("symbols"),wt=_("op-symbols"),oa=_("wks"),wr=!br||!br[he]||!br[he].findChild,Oi=function(Z,N,q){var F=Ei(de,N);F&&delete de[N],ze(Z,N,q),F&&Z!==de&&ze(de,N,F)},Er=s&&a(function(){return h(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a!==7})?Oi:ze,Sr=function(Z,N){var q=be[Z]=h(bt);return fe(q,{type:se,tag:Z,description:N}),s||(q.description=N),q},Gt=function(N,q,F){N===de&&Gt(wt,q,F),I(N);var H=d(q);return I(F),g(be,H)?(F.enumerable?(g(N,L)&&N[L][H]&&(N[L][H]=!1),F=h(F,{enumerable:u(0,!1)})):(g(N,L)||ze(N,L,u(1,h(null))),N[L][H]=!0),Er(N,H,F)):ze(N,H,F)},_r=function(N,q){I(N);var F=C(q),H=v(F).concat(Pi(F));return ne(H,function(oe){(!s||t(Or,F,oe))&&Gt(N,oe,F[oe])}),N},aa=function(N,q){return q===void 0?h(N):_r(h(N),q)},Or=function(N){var q=d(N),F=t(sa,this,q);return this===de&&g(be,q)&&!g(wt,q)?!1:F||!g(this,q)||!g(be,q)||g(this,L)&&this[L][q]?F:!0},Ti=function(N,q){var F=C(N),H=d(q);if(!(F===de&&g(be,H)&&!g(wt,H))){var oe=Ei(F,H);return oe&&g(be,H)&&!(g(F,L)&&F[L][H])&&(oe.enumerable=!0),oe}},Ri=function(N){var q=Si(C(N)),F=[];return ne(q,function(H){!g(be,H)&&!g(R,H)&&_i(F,H)}),F},Pi=function(Z){var N=Z===de,q=Si(N?wt:C(Z)),F=[];return ne(q,function(H){g(be,H)&&(!N||g(de,H))&&_i(F,be[H])}),F};return o||(Be=function(){if(A(bt,this))throw new na("Symbol is not a constructor");var N=!arguments.length||arguments[0]===void 0?void 0:l(arguments[0]),q=O(N),F=function(H){var oe=this===void 0?e:this;oe===de&&t(F,wt,H),g(oe,L)&&g(oe[L],q)&&(oe[L][q]=!1);var xi=u(1,H);try{Er(oe,q,xi)}catch($i){if(!($i instanceof ia))throw $i;Oi(oe,q,xi)}};return s&&wr&&Er(de,q,{configurable:!0,set:F}),Sr(q,N)},bt=Be[he],m(bt,"toString",function(){return yt(this).tag}),m(Be,"withoutSetter",function(Z){return Sr(O(Z),Z)}),S.f=Or,y.f=Gt,E.f=_r,p.f=Ti,f.f=c.f=Ri,b.f=Pi,x.f=function(Z){return Sr(P(Z),Z)},s&&(w(bt,"description",{configurable:!0,get:function(){return yt(this).description}}),i||m(de,"propertyIsEnumerable",Or,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!o,sham:!o},{Symbol:Be}),ne(v(oa),function(Z){V(Z)}),n({target:se,stat:!0,forced:!o},{useSetter:function(){wr=!0},useSimple:function(){wr=!1}}),n({target:"Object",stat:!0,forced:!o,sham:!s},{create:aa,defineProperty:Gt,defineProperties:_r,getOwnPropertyDescriptor:Ti}),n({target:"Object",stat:!0,forced:!o},{getOwnPropertyNames:Ri}),M(),U(Be,se),R[L]=!0,vB}var ZB={},qp,HB;function OQ(){if(HB)return qp;HB=1;var n=xo();return qp=n&&!!Symbol.for&&!!Symbol.keyFor,qp}var UB;function HIe(){if(UB)return ZB;UB=1;var n=Ae(),e=ir(),t=ft(),r=gn(),i=No(),s=OQ(),o=i("string-to-symbol-registry"),a=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!s},{for:function(g){var A=r(g);if(t(o,A))return o[A];var I=e("Symbol")(A);return o[A]=I,a[I]=A,I}}),ZB}var KB={},YB;function UIe(){if(YB)return KB;YB=1;var n=Ae(),e=ft(),t=wg(),r=$o(),i=No(),s=OQ(),o=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!s},{keyFor:function(g){if(!t(g))throw new TypeError(r(g)+" is not a symbol");if(e(o,g))return o[g]}}),KB}var XB={},Fp,QB;function KIe(){if(QB)return Fp;QB=1;var n=Oe(),e=rs(),t=ht(),r=fi(),i=gn(),s=n([].push);return Fp=function(o){if(t(o))return o;if(e(o)){for(var a=o.length,g=[],A=0;A<a;A++){var I=o[A];typeof I=="string"?s(g,I):(typeof I=="number"||r(I)==="Number"||r(I)==="String")&&s(g,i(I))}var C=g.length,d=!0;return function(l,u){if(d)return d=!1,u;if(e(this))return u;for(var h=0;h<C;h++)if(g[h]===l)return u}}},Fp}var JB;function TQ(){if(JB)return XB;JB=1;var n=Ae(),e=ir(),t=dI(),r=Xt(),i=Oe(),s=we(),o=ht(),a=wg(),g=Fo(),A=KIe(),I=xo(),C=String,d=e("JSON","stringify"),l=i(/./.exec),u=i("".charAt),h=i("".charCodeAt),v=i("".replace),f=i(1.1.toString),c=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,p=/^[\uDC00-\uDFFF]$/,y=!I||s(function(){var w=e("Symbol")("stringify detection");return d([w])!=="[null]"||d({a:w})!=="{}"||d(Object(w))!=="{}"}),E=s(function(){return d("\uDF06\uD834")!=='"\\udf06\\ud834"'||d("\uDEAD")!=='"\\udead"'}),S=function(w,_){var T=g(arguments),R=A(_);if(!(!o(R)&&(w===void 0||a(w))))return T[1]=function(O,P){if(o(R)&&(P=r(R,this,C(O),P)),!a(P))return P},t(d,null,T)},m=function(w,_,T){var R=u(T,_-1),O=u(T,_+1);return l(b,w)&&!l(p,O)||l(p,w)&&!l(b,R)?"\\u"+f(h(w,0),16):w};return d&&n({target:"JSON",stat:!0,arity:3,forced:y||E},{stringify:function(_,T,R){var O=g(arguments),P=t(y?S:d,null,O);return E&&typeof P=="string"?v(P,c,m):P}}),XB}var ez={},tz;function YIe(){if(tz)return ez;tz=1;var n=Ae(),e=xo(),t=we(),r=yI(),i=kr(),s=!e||t(function(){r.f(1)});return n({target:"Object",stat:!0,forced:s},{getOwnPropertySymbols:function(a){var g=r.f;return g?g(i(a)):[]}}),ez}var rz;function RQ(){return rz||(rz=1,ZIe(),HIe(),UIe(),TQ(),YIe()),pB}var iz={},nz;function PQ(){if(nz)return iz;nz=1;var n=We();return n("asyncDispose"),iz}var sz={},oz;function XIe(){if(oz)return sz;oz=1;var n=We();return n("asyncIterator"),sz}var az={},gz;function xQ(){if(gz)return az;gz=1;var n=We();return n("dispose"),az}var Az={},Iz;function QIe(){if(Iz)return Az;Iz=1;var n=We();return n("hasInstance"),Az}var Cz={},dz;function JIe(){if(dz)return Cz;dz=1;var n=We();return n("isConcatSpreadable"),Cz}var lz={},uz;function $Q(){if(uz)return lz;uz=1;var n=We();return n("iterator"),lz}var hz={},cz;function eCe(){if(cz)return hz;cz=1;var n=We();return n("match"),hz}var fz={},pz;function tCe(){if(pz)return fz;pz=1;var n=We();return n("matchAll"),fz}var vz={},mz;function rCe(){if(mz)return vz;mz=1;var n=We();return n("replace"),vz}var yz={},bz;function iCe(){if(bz)return yz;bz=1;var n=We();return n("search"),yz}var wz={},Ez;function nCe(){if(Ez)return wz;Ez=1;var n=We();return n("species"),wz}var Sz={},_z;function sCe(){if(_z)return Sz;_z=1;var n=We();return n("split"),Sz}var Oz={},Tz;function DQ(){if(Tz)return Oz;Tz=1;var n=We(),e=_Q();return n("toPrimitive"),e(),Oz}var Rz={},Pz;function oCe(){if(Pz)return Rz;Pz=1;var n=ir(),e=We(),t=is();return e("toStringTag"),t(n("Symbol"),"Symbol"),Rz}var xz={},$z;function aCe(){if($z)return xz;$z=1;var n=We();return n("unscopables"),xz}var Dz={},Nz;function gCe(){if(Nz)return Dz;Nz=1;var n=ot(),e=is();return e(n.JSON,"JSON",!0),Dz}var kp,Mz;function ACe(){if(Mz)return kp;Mz=1,wQ(),RQ(),PQ(),XIe(),xQ(),QIe(),JIe(),$Q(),eCe(),tCe(),rCe(),iCe(),nCe(),sCe(),DQ(),oCe(),aCe(),gCe();var n=It();return kp=n.Symbol,kp}var qz={},Bp,Fz;function ICe(){return Fz||(Fz=1,Bp=function(){}),Bp}var zp,kz;function Bo(){return kz||(kz=1,zp={}),zp}var jp,Bz;function CCe(){if(Bz)return jp;Bz=1;var n=at(),e=ft(),t=Function.prototype,r=n&&Object.getOwnPropertyDescriptor,i=e(t,"name"),s=i&&(function(){}).name==="something",o=i&&(!n||n&&r(t,"name").configurable);return jp={EXISTS:i,PROPER:s,CONFIGURABLE:o},jp}var Lp,zz;function dCe(){if(zz)return Lp;zz=1;var n=we();return Lp=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),Lp}var Gp,jz;function NQ(){if(jz)return Gp;jz=1;var n=ft(),e=ht(),t=kr(),r=vI(),i=dCe(),s=r("IE_PROTO"),o=Object,a=o.prototype;return Gp=i?o.getPrototypeOf:function(g){var A=t(g);if(n(A,s))return A[s];var I=A.constructor;return e(I)&&A instanceof I?I.prototype:A instanceof o?a:null},Gp}var Wp,Lz;function MQ(){if(Lz)return Wp;Lz=1;var n=we(),e=ht(),t=Lt(),r=_g(),i=NQ(),s=Og(),o=pt(),a=Do(),g=o("iterator"),A=!1,I,C,d;[].keys&&(d=[].keys(),"next"in d?(C=i(i(d)),C!==Object.prototype&&(I=C)):A=!0);var l=!t(I)||n(function(){var u={};return I[g].call(u)!==u});return l?I={}:a&&(I=r(I)),e(I[g])||s(I,g,function(){return this}),Wp={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:A},Wp}var Vp,Gz;function lCe(){if(Gz)return Vp;Gz=1;var n=MQ().IteratorPrototype,e=_g(),t=mg(),r=is(),i=Bo(),s=function(){return this};return Vp=function(o,a,g,A){var I=a+" Iterator";return o.prototype=e(n,{next:t(+!A,g)}),r(o,I,!1,!0),i[I]=s,o},Vp}var Zp,Wz;function uCe(){if(Wz)return Zp;Wz=1;var n=Oe(),e=pi();return Zp=function(t,r,i){try{return n(e(Object.getOwnPropertyDescriptor(t,r)[i]))}catch{}},Zp}var Hp,Vz;function hCe(){if(Vz)return Hp;Vz=1;var n=Lt();return Hp=function(e){return n(e)||e===null},Hp}var Up,Zz;function cCe(){if(Zz)return Up;Zz=1;var n=hCe(),e=String,t=TypeError;return Up=function(r){if(n(r))return r;throw new t("Can't set "+e(r)+" as a prototype")},Up}var Kp,Hz;function fCe(){if(Hz)return Kp;Hz=1;var n=uCe(),e=Lt(),t=ts(),r=cCe();return Kp=Object.setPrototypeOf||("__proto__"in{}?(function(){var i=!1,s={},o;try{o=n(Object.prototype,"__proto__","set"),o(s,[]),i=s instanceof Array}catch{}return function(g,A){return t(g),r(A),e(g)&&(i?o(g,A):g.__proto__=A),g}})():void 0),Kp}var Yp,Uz;function eT(){if(Uz)return Yp;Uz=1;var n=Ae(),e=Xt(),t=Do(),r=CCe(),i=ht(),s=lCe(),o=NQ(),a=fCe(),g=is(),A=Mo(),I=Og(),C=pt(),d=Bo(),l=MQ(),u=r.PROPER,h=r.CONFIGURABLE,v=l.IteratorPrototype,f=l.BUGGY_SAFARI_ITERATORS,c=C("iterator"),b="keys",p="values",y="entries",E=function(){return this};return Yp=function(S,m,w,_,T,R,O){s(w,m,_);var P=function(fe){if(fe===T&&K)return K;if(!f&&fe&&fe in M)return M[fe];switch(fe){case b:return function(){return new w(this,fe)};case p:return function(){return new w(this,fe)};case y:return function(){return new w(this,fe)}}return function(){return new w(this)}},x=m+" Iterator",V=!1,M=S.prototype,U=M[c]||M["@@iterator"]||T&&M[T],K=!f&&U||P(T),ne=m==="Array"&&M.entries||U,L,se,he;if(ne&&(L=o(ne.call(new S)),L!==Object.prototype&&L.next&&(!t&&o(L)!==v&&(a?a(L,v):i(L[c])||I(L,c,E)),g(L,x,!0,!0),t&&(d[x]=E))),u&&T===p&&U&&U.name!==p&&(!t&&h?A(M,"name",p):(V=!0,K=function(){return e(U,this)})),T)if(se={values:P(p),keys:R?K:P(b),entries:P(y)},O)for(he in se)(f||V||!(he in M))&&I(M,he,se[he]);else n({target:m,proto:!0,forced:f||V},se);return(!t||O)&&M[c]!==K&&I(M,c,K,{name:T}),d[m]=K,se},Yp}var Xp,Kz;function tT(){return Kz||(Kz=1,Xp=function(n,e){return{value:n,done:e}}),Xp}var Qp,Yz;function An(){if(Yz)return Qp;Yz=1;var n=Qr(),e=ICe(),t=Bo(),r=Tg(),i=cr().f,s=eT(),o=tT(),a=Do(),g=at(),A="Array Iterator",I=r.set,C=r.getterFor(A);Qp=s(Array,"Array",function(l,u){I(this,{type:A,target:n(l),index:0,kind:u})},function(){var l=C(this),u=l.target,h=l.index++;if(!u||h>=u.length)return l.target=null,o(void 0,!0);switch(l.kind){case"keys":return o(h,!1);case"values":return o(u[h],!1)}return o([h,u[h]],!1)},"values");var d=t.Arguments=t.Array;if(e("keys"),e("values"),e("entries"),!a&&g&&d.name!=="values")try{i(d,"name",{value:"values"})}catch{}return Qp}var Jp,Xz;function pCe(){return Xz||(Xz=1,Jp={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),Jp}var Qz;function In(){if(Qz)return qz;Qz=1,An();var n=pCe(),e=ot(),t=is(),r=Bo();for(var i in n)t(e[i],i),r[i]=r.Array;return qz}var ev,Jz;function qQ(){if(Jz)return ev;Jz=1;var n=ACe();return In(),ev=n,ev}var ej={},tj;function vCe(){if(tj)return ej;tj=1;var n=pt(),e=cr().f,t=n("metadata"),r=Function.prototype;return r[t]===void 0&&e(r,t,{value:null}),ej}var rj={},ij;function mCe(){return ij||(ij=1,PQ()),rj}var nj={},sj;function yCe(){return sj||(sj=1,xQ()),nj}var oj={},aj;function bCe(){if(aj)return oj;aj=1;var n=We();return n("metadata"),oj}var tv,gj;function wCe(){if(gj)return tv;gj=1;var n=qQ();return vCe(),mCe(),yCe(),bCe(),tv=n,tv}var Aj={},rv,Ij;function FQ(){if(Ij)return rv;Ij=1;var n=ir(),e=Oe(),t=n("Symbol"),r=t.keyFor,i=e(t.prototype.valueOf);return rv=t.isRegisteredSymbol||function(o){try{return r(i(o))!==void 0}catch{return!1}},rv}var Cj;function ECe(){if(Cj)return Aj;Cj=1;var n=Ae(),e=FQ();return n({target:"Symbol",stat:!0},{isRegisteredSymbol:e}),Aj}var dj={},iv,lj;function kQ(){if(lj)return iv;lj=1;for(var n=No(),e=ir(),t=Oe(),r=wg(),i=pt(),s=e("Symbol"),o=s.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),g=t(s.prototype.valueOf),A=n("wks"),I=0,C=a(s),d=C.length;I<d;I++)try{var l=C[I];r(s[l])&&i(l)}catch{}return iv=function(h){if(o&&o(h))return!0;try{for(var v=g(h),f=0,c=a(A),b=c.length;f<b;f++)if(A[c[f]]==v)return!0}catch{}return!1},iv}var uj;function SCe(){if(uj)return dj;uj=1;var n=Ae(),e=kQ();return n({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:e}),dj}var hj={},cj;function _Ce(){if(cj)return hj;cj=1;var n=We();return n("customMatcher"),hj}var fj={},pj;function OCe(){if(pj)return fj;pj=1;var n=We();return n("observable"),fj}var vj={},mj;function TCe(){if(mj)return vj;mj=1;var n=Ae(),e=FQ();return n({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:e}),vj}var yj={},bj;function RCe(){if(bj)return yj;bj=1;var n=Ae(),e=kQ();return n({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:e}),yj}var wj={},Ej;function PCe(){if(Ej)return wj;Ej=1;var n=We();return n("matcher"),wj}var Sj={},_j;function xCe(){if(_j)return Sj;_j=1;var n=We();return n("metadataKey"),Sj}var Oj={},Tj;function $Ce(){if(Tj)return Oj;Tj=1;var n=We();return n("patternMatch"),Oj}var Rj={},Pj;function DCe(){if(Pj)return Rj;Pj=1;var n=We();return n("replaceAll"),Rj}var nv,xj;function NCe(){if(xj)return nv;xj=1;var n=wCe();return ECe(),SCe(),_Ce(),OCe(),TCe(),RCe(),PCe(),xCe(),$Ce(),DCe(),nv=n,nv}var sv,$j;function MCe(){return $j||($j=1,sv=NCe()),sv}var qCe=MCe(),nA=ce(qCe),Dj={},ov,Nj;function FCe(){if(Nj)return ov;Nj=1;var n=Oe(),e=qo(),t=gn(),r=ts(),i=n("".charAt),s=n("".charCodeAt),o=n("".slice),a=function(g){return function(A,I){var C=t(r(A)),d=e(I),l=C.length,u,h;return d<0||d>=l?g?"":void 0:(u=s(C,d),u<55296||u>56319||d+1===l||(h=s(C,d+1))<56320||h>57343?g?i(C,d):u:g?o(C,d,d+2):(u-55296<<10)+(h-56320)+65536)}};return ov={codeAt:a(!1),charAt:a(!0)},ov}var Mj;function wI(){if(Mj)return Dj;Mj=1;var n=FCe().charAt,e=gn(),t=Tg(),r=eT(),i=tT(),s="String Iterator",o=t.set,a=t.getterFor(s);return r(String,"String",function(g){o(this,{type:s,string:e(g),index:0})},function(){var A=a(this),I=A.string,C=A.index,d;return C>=I.length?i(void 0,!0):(d=n(I,C),A.index+=d.length,i(d,!1))}),Dj}var av,qj;function kCe(){if(qj)return av;qj=1,An(),wI(),$Q();var n=bI();return av=n.f("iterator"),av}var gv,Fj;function BQ(){if(Fj)return gv;Fj=1;var n=kCe();return In(),gv=n,gv}var Av,kj;function BCe(){if(kj)return Av;kj=1;var n=BQ();return Av=n,Av}var Iv,Bj;function zCe(){if(Bj)return Iv;Bj=1;var n=BCe();return Iv=n,Iv}var Cv,zj;function jCe(){return zj||(zj=1,Cv=zCe()),Cv}var LCe=jCe(),GCe=ce(LCe);function Ga(n){"@babel/helpers - typeof";return Ga=typeof nA=="function"&&typeof GCe=="symbol"?function(e){return typeof e}:function(e){return e&&typeof nA=="function"&&e.constructor===nA&&e!==nA.prototype?"symbol":typeof e},Ga(n)}var dv,jj;function WCe(){if(jj)return dv;jj=1,DQ();var n=bI();return dv=n.f("toPrimitive"),dv}var lv,Lj;function VCe(){if(Lj)return lv;Lj=1;var n=WCe();return lv=n,lv}var uv,Gj;function ZCe(){if(Gj)return uv;Gj=1;var n=VCe();return uv=n,uv}var hv,Wj;function HCe(){if(Wj)return hv;Wj=1;var n=ZCe();return hv=n,hv}var cv,Vj;function UCe(){return Vj||(Vj=1,cv=HCe()),cv}var KCe=UCe(),YCe=ce(KCe);function XCe(n,e){if(Ga(n)!="object"||!n)return n;var t=n[YCe];if(t!==void 0){var r=t.call(n,e);if(Ga(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function QCe(n){var e=XCe(n,"string");return Ga(e)=="symbol"?e:e+""}function Wi(n,e,t){return(e=QCe(e))in n?kIe(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Zj={},fv,Hj;function JCe(){if(Hj)return fv;Hj=1;var n=Oe(),e=pi(),t=Lt(),r=ft(),i=Fo(),s=vg(),o=Function,a=n([].concat),g=n([].join),A={},I=function(C,d,l){if(!r(A,d)){for(var u=[],h=0;h<d;h++)u[h]="a["+h+"]";A[d]=o("C,a","return new C("+g(u,",")+")")}return A[d](C,l)};return fv=s?o.bind:function(d){var l=e(this),u=l.prototype,h=i(arguments,1),v=function(){var c=a(h,i(arguments));return this instanceof v?I(l,c.length,c):l.apply(d,c)};return t(u)&&(v.prototype=u),v},fv}var Uj;function ede(){if(Uj)return Zj;Uj=1;var n=Ae(),e=JCe();return n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e}),Zj}var pv,Kj;function Qt(){if(Kj)return pv;Kj=1;var n=ot(),e=It();return pv=function(t,r){var i=e[t+"Prototype"],s=i&&i[r];if(s)return s;var o=n[t],a=o&&o.prototype;return a&&a[r]},pv}var vv,Yj;function tde(){if(Yj)return vv;Yj=1,ede();var n=Qt();return vv=n("Function","bind"),vv}var mv,Xj;function rde(){if(Xj)return mv;Xj=1;var n=ct(),e=tde(),t=Function.prototype;return mv=function(r){var i=r.bind;return r===t||n(t,r)&&i===t.bind?e:i},mv}var yv,Qj;function ide(){if(Qj)return yv;Qj=1;var n=rde();return yv=n,yv}var bv,Jj;function nde(){return Jj||(Jj=1,bv=ide()),bv}var sde=nde(),zQ=ce(sde),eL={},wv,tL;function ode(){if(tL)return wv;tL=1;var n=pi(),e=kr(),t=lI(),r=on(),i=TypeError,s="Reduce of empty array with no initial value",o=function(a){return function(g,A,I,C){var d=e(g),l=t(d),u=r(d);if(n(A),u===0&&I<2)throw new i(s);var h=a?u-1:0,v=a?-1:1;if(I<2)for(;;){if(h in l){C=l[h],h+=v;break}if(h+=v,a?h<0:u<=h)throw new i(s)}for(;a?h>=0:u>h;h+=v)h in l&&(C=A(C,l[h],h,d));return C}};return wv={left:o(!1),right:o(!0)},wv}var Ev,rL;function EI(){if(rL)return Ev;rL=1;var n=we();return Ev=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})},Ev}var Sv,iL;function jQ(){if(iL)return Sv;iL=1;var n=ot(),e=Po(),t=fi(),r=function(i){return e.slice(0,i.length)===i};return Sv=(function(){return r("Bun/")?"BUN":r("Cloudflare-Workers")?"CLOUDFLARE":r("Deno/")?"DENO":r("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":t(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"})(),Sv}var _v,nL;function ade(){if(nL)return _v;nL=1;var n=jQ();return _v=n==="NODE",_v}var sL;function gde(){if(sL)return eL;sL=1;var n=Ae(),e=ode().left,t=EI(),r=bg(),i=ade(),s=!i&&r>79&&r<83,o=s||!t("reduce");return n({target:"Array",proto:!0,forced:o},{reduce:function(g){var A=arguments.length;return e(this,g,A,A>1?arguments[1]:void 0)}}),eL}var Ov,oL;function Ade(){if(oL)return Ov;oL=1,gde();var n=Qt();return Ov=n("Array","reduce"),Ov}var Tv,aL;function Ide(){if(aL)return Tv;aL=1;var n=ct(),e=Ade(),t=Array.prototype;return Tv=function(r){var i=r.reduce;return r===t||n(t,r)&&i===t.reduce?e:i},Tv}var Rv,gL;function Cde(){if(gL)return Rv;gL=1;var n=Ide();return Rv=n,Rv}var Pv,AL;function dde(){return AL||(AL=1,Pv=Cde()),Pv}var lde=dde(),ude=ce(lde),IL={},CL;function hde(){if(CL)return IL;CL=1;var n=Ae(),e=ko().filter,t=Eg(),r=t("filter");return n({target:"Array",proto:!0,forced:!r},{filter:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),IL}var xv,dL;function cde(){if(dL)return xv;dL=1,hde();var n=Qt();return xv=n("Array","filter"),xv}var $v,lL;function fde(){if(lL)return $v;lL=1;var n=ct(),e=cde(),t=Array.prototype;return $v=function(r){var i=r.filter;return r===t||n(t,r)&&i===t.filter?e:i},$v}var Dv,uL;function pde(){if(uL)return Dv;uL=1;var n=fde();return Dv=n,Dv}var Nv,hL;function vde(){return hL||(hL=1,Nv=pde()),Nv}var mde=vde(),Ps=ce(mde),cL={},fL;function yde(){if(fL)return cL;fL=1;var n=Ae(),e=ko().map,t=Eg(),r=t("map");return n({target:"Array",proto:!0,forced:!r},{map:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),cL}var Mv,pL;function bde(){if(pL)return Mv;pL=1,yde();var n=Qt();return Mv=n("Array","map"),Mv}var qv,vL;function wde(){if(vL)return qv;vL=1;var n=ct(),e=bde(),t=Array.prototype;return qv=function(r){var i=r.map;return r===t||n(t,r)&&i===t.map?e:i},qv}var Fv,mL;function Ede(){if(mL)return Fv;mL=1;var n=wde();return Fv=n,Fv}var kv,yL;function Sde(){return yL||(yL=1,kv=Ede()),kv}var _de=Sde(),xr=ce(_de),Bv,bL;function Ode(){return bL||(bL=1,Bv=qQ()),Bv}var Tde=Ode(),Rde=ce(Tde),wL={},EL;function Pde(){if(EL)return wL;EL=1;var n=Ae(),e=rs(),t=bQ(),r=Lt(),i=YO(),s=on(),o=Qr(),a=fI(),g=pt(),A=Eg(),I=Fo(),C=A("slice"),d=g("species"),l=Array,u=Math.max;return n({target:"Array",proto:!0,forced:!C},{slice:function(v,f){var c=o(this),b=s(c),p=i(v,b),y=i(f===void 0?b:f,b),E,S,m;if(e(c)&&(E=c.constructor,t(E)&&(E===l||e(E.prototype))?E=void 0:r(E)&&(E=E[d],E===null&&(E=void 0)),E===l||E===void 0))return I(c,p,y);for(S=new(E===void 0?l:E)(u(y-p,0)),m=0;p<y;p++,m++)p in c&&a(S,m,c[p]);return S.length=m,S}}),wL}var zv,SL;function xde(){if(SL)return zv;SL=1,Pde();var n=Qt();return zv=n("Array","slice"),zv}var jv,_L;function $de(){if(_L)return jv;_L=1;var n=ct(),e=xde(),t=Array.prototype;return jv=function(r){var i=r.slice;return r===t||n(t,r)&&i===t.slice?e:i},jv}var Lv,OL;function Dde(){if(OL)return Lv;OL=1;var n=$de();return Lv=n,Lv}var Gv,TL;function Nde(){return TL||(TL=1,Gv=Dde()),Gv}var Mde=Nde(),qde=ce(Mde),RL={},Wv,PL;function LQ(){if(PL)return Wv;PL=1;var n=ir(),e=Oe(),t=mI(),r=yI(),i=vi(),s=e([].concat);return Wv=n("Reflect","ownKeys")||function(a){var g=t.f(i(a)),A=r.f;return A?s(g,A(a)):g},Wv}var xL;function Fde(){if(xL)return RL;xL=1;var n=Ae(),e=LQ();return n({target:"Reflect",stat:!0},{ownKeys:e}),RL}var Vv,$L;function kde(){if($L)return Vv;$L=1,Fde();var n=It();return Vv=n.Reflect.ownKeys,Vv}var Zv,DL;function Bde(){if(DL)return Zv;DL=1;var n=kde();return Zv=n,Zv}var Hv,NL;function zde(){return NL||(NL=1,Hv=Bde()),Hv}var jde=zde(),Lde=ce(jde),ML={},qL;function Gde(){if(qL)return ML;qL=1;var n=Ae(),e=rs();return n({target:"Array",stat:!0},{isArray:e}),ML}var Uv,FL;function Wde(){if(FL)return Uv;FL=1,Gde();var n=It();return Uv=n.Array.isArray,Uv}var Kv,kL;function Vde(){if(kL)return Kv;kL=1;var n=Wde();return Kv=n,Kv}var Yv,BL;function Zde(){return BL||(BL=1,Yv=Vde()),Yv}var Hde=Zde(),zr=ce(Hde),zL={},jL;function Ude(){if(jL)return zL;jL=1;var n=Ae(),e=kr(),t=pI(),r=we(),i=r(function(){t(1)});return n({target:"Object",stat:!0,forced:i},{keys:function(o){return t(e(o))}}),zL}var Xv,LL;function Kde(){if(LL)return Xv;LL=1,Ude();var n=It();return Xv=n.Object.keys,Xv}var Qv,GL;function Yde(){if(GL)return Qv;GL=1;var n=Kde();return Qv=n,Qv}var Jv,WL;function Xde(){return WL||(WL=1,Jv=Yde()),Jv}var Qde=Xde(),rT=ce(Qde),VL={},em,ZL;function Jde(){if(ZL)return em;ZL=1;var n=ko().forEach,e=EI(),t=e("forEach");return em=t?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)},em}var HL;function ele(){if(HL)return VL;HL=1;var n=Ae(),e=Jde();return n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e}),VL}var tm,UL;function tle(){if(UL)return tm;UL=1,ele();var n=Qt();return tm=n("Array","forEach"),tm}var rm,KL;function rle(){if(KL)return rm;KL=1;var n=tle();return rm=n,rm}var im,YL;function ile(){if(YL)return im;YL=1;var n=an(),e=ft(),t=ct(),r=rle(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return im=function(o){var a=o.forEach;return o===i||t(i,o)&&a===i.forEach||e(s,n(o))?r:a},im}var nm,XL;function nle(){return XL||(XL=1,nm=ile()),nm}var sle=nle(),qn=ce(sle),QL={},JL;function ole(){if(JL)return QL;JL=1;var n=Ae(),e=Oe(),t=rs(),r=e([].reverse),i=[1,2];return n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return t(this)&&(this.length=this.length),r(this)}}),QL}var sm,e5;function ale(){if(e5)return sm;e5=1,ole();var n=Qt();return sm=n("Array","reverse"),sm}var om,t5;function gle(){if(t5)return om;t5=1;var n=ct(),e=ale(),t=Array.prototype;return om=function(r){var i=r.reverse;return r===t||n(t,r)&&i===t.reverse?e:i},om}var am,r5;function Ale(){if(r5)return am;r5=1;var n=gle();return am=n,am}var gm,i5;function Ile(){return i5||(i5=1,gm=Ale()),gm}var Cle=Ile(),dle=ce(Cle),n5={},Am,s5;function lle(){if(s5)return Am;s5=1;var n=at(),e=rs(),t=TypeError,r=Object.getOwnPropertyDescriptor,i=n&&!(function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(s){return s instanceof TypeError}})();return Am=i?function(s,o){if(e(s)&&!r(s,"length").writable)throw new t("Cannot set read only .length");return s.length=o}:function(s,o){return s.length=o},Am}var Im,o5;function GQ(){if(o5)return Im;o5=1;var n=$o(),e=TypeError;return Im=function(t,r){if(!delete t[r])throw new e("Cannot delete property "+n(r)+" of "+n(t))},Im}var a5;function ule(){if(a5)return n5;a5=1;var n=Ae(),e=kr(),t=YO(),r=qo(),i=on(),s=lle(),o=yQ(),a=KO(),g=fI(),A=GQ(),I=Eg(),C=I("splice"),d=Math.max,l=Math.min;return n({target:"Array",proto:!0,forced:!C},{splice:function(h,v){var f=e(this),c=i(f),b=t(h,c),p=arguments.length,y,E,S,m,w,_;for(p===0?y=E=0:p===1?(y=0,E=c-b):(y=p-2,E=l(d(r(v),0),c-b)),o(c+y-E),S=a(f,E),m=0;m<E;m++)w=b+m,w in f&&g(S,m,f[w]);if(S.length=E,y<E){for(m=b;m<c-E;m++)w=m+E,_=m+y,w in f?f[_]=f[w]:A(f,_);for(m=c;m>c-E+y;m--)A(f,m-1)}else if(y>E)for(m=c-E;m>b;m--)w=m+E-1,_=m+y-1,w in f?f[_]=f[w]:A(f,_);for(m=0;m<y;m++)f[m+b]=arguments[m+2];return s(f,c-E+y),S}}),n5}var Cm,g5;function hle(){if(g5)return Cm;g5=1,ule();var n=Qt();return Cm=n("Array","splice"),Cm}var dm,A5;function cle(){if(A5)return dm;A5=1;var n=ct(),e=hle(),t=Array.prototype;return dm=function(r){var i=r.splice;return r===t||n(t,r)&&i===t.splice?e:i},dm}var lm,I5;function fle(){if(I5)return lm;I5=1;var n=cle();return lm=n,lm}var um,C5;function ple(){return C5||(C5=1,um=fle()),um}var vle=ple(),WQ=ce(vle),d5={},hm,l5;function mle(){if(l5)return hm;l5=1;var n=at(),e=Oe(),t=Xt(),r=we(),i=pI(),s=yI(),o=WO(),a=kr(),g=lI(),A=Object.assign,I=Object.defineProperty,C=e([].concat);return hm=!A||r(function(){if(n&&A({b:1},A(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var d={},l={},u=Symbol("assign detection"),h="abcdefghijklmnopqrst";return d[u]=7,h.split("").forEach(function(v){l[v]=v}),A({},d)[u]!==7||i(A({},l)).join("")!==h})?function(l,u){for(var h=a(l),v=arguments.length,f=1,c=s.f,b=o.f;v>f;)for(var p=g(arguments[f++]),y=c?C(i(p),c(p)):i(p),E=y.length,S=0,m;E>S;)m=y[S++],(!n||t(b,p,m))&&(h[m]=p[m]);return h}:A,hm}var u5;function yle(){if(u5)return d5;u5=1;var n=Ae(),e=mle();return n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e}),d5}var cm,h5;function ble(){if(h5)return cm;h5=1,yle();var n=It();return cm=n.Object.assign,cm}var fm,c5;function wle(){if(c5)return fm;c5=1;var n=ble();return fm=n,fm}var pm,f5;function Ele(){return f5||(f5=1,pm=wle()),pm}var Sle=Ele(),_le=ce(Sle),vm,p5;function Ole(){if(p5)return vm;p5=1,wQ();var n=Qt();return vm=n("Array","concat"),vm}var mm,v5;function Tle(){if(v5)return mm;v5=1;var n=ct(),e=Ole(),t=Array.prototype;return mm=function(r){var i=r.concat;return r===t||n(t,r)&&i===t.concat?e:i},mm}var ym,m5;function Rle(){if(m5)return ym;m5=1;var n=Tle();return ym=n,ym}var bm,y5;function Ple(){return y5||(y5=1,bm=Rle()),bm}var xle=Ple(),$le=ce(xle),b5={},w5;function Dle(){if(w5)return b5;w5=1;var n=Ae(),e=at(),t=_g();return n({target:"Object",stat:!0,sham:!e},{create:t}),b5}var wm,E5;function Nle(){if(E5)return wm;E5=1,Dle();var n=It(),e=n.Object;return wm=function(r,i){return e.create(r,i)},wm}var Em,S5;function Mle(){if(S5)return Em;S5=1;var n=Nle();return Em=n,Em}var Sm,_5;function qle(){return _5||(_5=1,Sm=Mle()),Sm}var Fle=qle(),kle=ce(Fle),O5={},_m,T5;function Ble(){if(T5)return _m;T5=1;var n=qo(),e=gn(),t=ts(),r=RangeError;return _m=function(s){var o=e(t(this)),a="",g=n(s);if(g<0||g===1/0)throw new r("Wrong number of repetitions");for(;g>0;(g>>>=1)&&(o+=o))g&1&&(a+=o);return a},_m}var Om,R5;function zle(){if(R5)return Om;R5=1;var n=Oe(),e=mQ(),t=gn(),r=Ble(),i=ts(),s=n(r),o=n("".slice),a=Math.ceil,g=function(A){return function(I,C,d){var l=t(i(I)),u=e(C),h=l.length,v=d===void 0?" ":t(d),f,c;return u<=h||v===""?l:(f=u-h,c=s(v,a(f/v.length)),c.length>f&&(c=o(c,0,f)),A?l+c:c+l)}};return Om={start:g(!1),end:g(!0)},Om}var Tm,P5;function jle(){if(P5)return Tm;P5=1;var n=Oe(),e=we(),t=zle().start,r=RangeError,i=isFinite,s=Math.abs,o=Date.prototype,a=o.toISOString,g=n(o.getTime),A=n(o.getUTCDate),I=n(o.getUTCFullYear),C=n(o.getUTCHours),d=n(o.getUTCMilliseconds),l=n(o.getUTCMinutes),u=n(o.getUTCMonth),h=n(o.getUTCSeconds);return Tm=e(function(){return a.call(new Date(-5e13-1))!=="0385-07-25T07:06:39.999Z"})||!e(function(){a.call(new Date(NaN))})?function(){if(!i(g(this)))throw new r("Invalid time value");var f=this,c=I(f),b=d(f),p=c<0?"-":c>9999?"+":"";return p+t(s(c),p?6:4,0)+"-"+t(u(f)+1,2,0)+"-"+t(A(f),2,0)+"T"+t(C(f),2,0)+":"+t(l(f),2,0)+":"+t(h(f),2,0)+"."+t(b,3,0)+"Z"}:a,Tm}var x5;function Lle(){if(x5)return O5;x5=1;var n=Ae(),e=Xt(),t=kr(),r=hQ(),i=jle(),s=fi(),o=we(),a=o(function(){return new Date(NaN).toJSON()!==null||e(Date.prototype.toJSON,{toISOString:function(){return 1}})!==1});return n({target:"Date",proto:!0,forced:a},{toJSON:function(A){var I=t(this),C=r(I,"number");return typeof C=="number"&&!isFinite(C)?null:!("toISOString"in I)&&s(I)==="Date"?e(i,I):I.toISOString()}}),O5}var Rm,$5;function Gle(){if($5)return Rm;$5=1,Lle(),TQ();var n=It(),e=dI();return n.JSON||(n.JSON={stringify:JSON.stringify}),Rm=function(r,i,s){return e(n.JSON.stringify,null,arguments)},Rm}var Pm,D5;function Wle(){if(D5)return Pm;D5=1;var n=Gle();return Pm=n,Pm}var xm,N5;function Vle(){return N5||(N5=1,xm=Wle()),xm}var Zle=Vle(),Hle=ce(Zle),M5={},q5={},$m,F5;function Ule(){if(F5)return $m;F5=1;var n=TypeError;return $m=function(e,t){if(e<t)throw new n("Not enough arguments");return e},$m}var Dm,k5;function VQ(){if(k5)return Dm;k5=1;var n=ot(),e=dI(),t=ht(),r=jQ(),i=Po(),s=Fo(),o=Ule(),a=n.Function,g=/MSIE .\./.test(i)||r==="BUN"&&(function(){var A=n.Bun.version.split(".");return A.length<3||A[0]==="0"&&(A[1]<3||A[1]==="3"&&A[2]==="0")})();return Dm=function(A,I){var C=I?2:1;return g?function(d,l){var u=o(arguments.length,1)>C,h=t(d)?d:a(d),v=u?s(arguments,C):[],f=u?function(){e(h,this,v)}:h;return I?A(f,l):A(f)}:A},Dm}var B5;function Kle(){if(B5)return q5;B5=1;var n=Ae(),e=ot(),t=VQ(),r=t(e.setInterval,!0);return n({global:!0,bind:!0,forced:e.setInterval!==r},{setInterval:r}),q5}var z5={},j5;function Yle(){if(j5)return z5;j5=1;var n=Ae(),e=ot(),t=VQ(),r=t(e.setTimeout,!0);return n({global:!0,bind:!0,forced:e.setTimeout!==r},{setTimeout:r}),z5}var L5;function Xle(){return L5||(L5=1,Kle(),Yle()),M5}var Nm,G5;function Qle(){if(G5)return Nm;G5=1,Xle();var n=It();return Nm=n.setTimeout,Nm}var Mm,W5;function Jle(){return W5||(W5=1,Mm=Qle()),Mm}var eue=Jle(),tue=ce(eue),qm={exports:{}},V5;function rue(){return V5||(V5=1,(function(n){function e(r){if(r)return t(r);this._callbacks=new Map}function t(r){return Object.assign(r,e.prototype),r._callbacks=new Map,r}e.prototype.on=function(r,i){const s=this._callbacks.get(r)??[];return s.push(i),this._callbacks.set(r,s),this},e.prototype.once=function(r,i){const s=(...o)=>{this.off(r,s),i.apply(this,o)};return s.fn=i,this.on(r,s),this},e.prototype.off=function(r,i){if(r===void 0&&i===void 0)return this._callbacks.clear(),this;if(i===void 0)return this._callbacks.delete(r),this;const s=this._callbacks.get(r);if(s){for(const[o,a]of s.entries())if(a===i||a.fn===i){s.splice(o,1);break}s.length===0?this._callbacks.delete(r):this._callbacks.set(r,s)}return this},e.prototype.emit=function(r,...i){const s=this._callbacks.get(r);if(s){const o=[...s];for(const a of o)a.apply(this,i)}return this},e.prototype.listeners=function(r){return this._callbacks.get(r)??[]},e.prototype.listenerCount=function(r){if(r)return this.listeners(r).length;let i=0;for(const s of this._callbacks.values())i+=s.length;return i},e.prototype.hasListeners=function(r){return this.listenerCount(r)>0},e.prototype.addEventListener=e.prototype.on,e.prototype.removeListener=e.prototype.off,e.prototype.removeEventListener=e.prototype.off,e.prototype.removeAllListeners=e.prototype.off,n.exports=e})(qm)),qm.exports}var iue=rue(),nue=ce(iue);/*! Hammer.JS - v2.0.17-rc - 2019-12-16
986
+ * http://naver.github.io/egjs
987
+ *
988
+ * Forked By Naver egjs
989
+ * Copyright (c) hammerjs
990
+ * Licensed under the MIT license */function Mr(){return Mr=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Mr.apply(this,arguments)}function fr(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function sA(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}var F_;typeof Object.assign!="function"?F_=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var s in i)i.hasOwnProperty(s)&&(t[s]=i[s])}return t}:F_=Object.assign;var Fn=F_,Z5=["","webkit","Moz","MS","ms","o"],sue=typeof document>"u"?{style:{}}:document.createElement("div"),oue="function",xs=Math.round,kn=Math.abs,iT=Date.now;function SI(n,e){for(var t,r,i=e[0].toUpperCase()+e.slice(1),s=0;s<Z5.length;){if(t=Z5[s],r=t?t+i:e,r in n)return r;s++}}var ai;typeof window>"u"?ai={}:ai=window;var ZQ=SI(sue.style,"touchAction"),HQ=ZQ!==void 0;function aue(){if(!HQ)return!1;var n={},e=ai.CSS&&ai.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return n[t]=e?ai.CSS.supports("touch-action",t):!0}),n}var UQ="compute",KQ="auto",k_="manipulation",Tn="none",Wa="pan-x",Va="pan-y",oA=aue(),gue=/mobile|tablet|ip(ad|hone|od)|android/i,YQ="ontouchstart"in ai,Aue=SI(ai,"PointerEvent")!==void 0,Iue=YQ&&gue.test(navigator.userAgent),Rg="touch",Cue="pen",nT="mouse",due="kinect",lue=25,zt=1,ns=2,rt=4,Ut=8,$A=1,Pg=2,xg=4,$g=8,oo=16,Ur=Pg|xg,Rn=$g|oo,XQ=Ur|Rn,QQ=["x","y"],DA=["clientX","clientY"];function gi(n,e,t){var r;if(n)if(n.forEach)n.forEach(e,t);else if(n.length!==void 0)for(r=0;r<n.length;)e.call(t,n[r],r,n),r++;else for(r in n)n.hasOwnProperty(r)&&e.call(t,n[r],r,n)}function _I(n,e){return typeof n===oue?n.apply(e&&e[0]||void 0,e):n}function yn(n,e){return n.indexOf(e)>-1}function uue(n){if(yn(n,Tn))return Tn;var e=yn(n,Wa),t=yn(n,Va);return e&&t?Tn:e||t?e?Wa:Va:yn(n,k_)?k_:KQ}var JQ=(function(){function n(t,r){this.manager=t,this.set(r)}var e=n.prototype;return e.set=function(r){r===UQ&&(r=this.compute()),HQ&&this.manager.element.style&&oA[r]&&(this.manager.element.style[ZQ]=r),this.actions=r.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var r=[];return gi(this.manager.recognizers,function(i){_I(i.options.enable,[i])&&(r=r.concat(i.getTouchAction()))}),uue(r.join(" "))},e.preventDefaults=function(r){var i=r.srcEvent,s=r.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var o=this.actions,a=yn(o,Tn)&&!oA[Tn],g=yn(o,Va)&&!oA[Va],A=yn(o,Wa)&&!oA[Wa];if(a){var I=r.pointers.length===1,C=r.distance<2,d=r.deltaTime<250;if(I&&C&&d)return}if(!(A&&g)&&(a||g&&s&Ur||A&&s&Rn))return this.preventSrc(i)},e.preventSrc=function(r){this.manager.session.prevented=!0,r.preventDefault()},n})();function sT(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function e7(n){var e=n.length;if(e===1)return{x:xs(n[0].clientX),y:xs(n[0].clientY)};for(var t=0,r=0,i=0;i<e;)t+=n[i].clientX,r+=n[i].clientY,i++;return{x:xs(t/e),y:xs(r/e)}}function H5(n){for(var e=[],t=0;t<n.pointers.length;)e[t]={clientX:xs(n.pointers[t].clientX),clientY:xs(n.pointers[t].clientY)},t++;return{timeStamp:iT(),pointers:e,center:e7(e),deltaX:n.deltaX,deltaY:n.deltaY}}function NA(n,e,t){t||(t=QQ);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.sqrt(r*r+i*i)}function B_(n,e,t){t||(t=QQ);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.atan2(i,r)*180/Math.PI}function t7(n,e){return n===e?$A:kn(n)>=kn(e)?n<0?Pg:xg:e<0?$g:oo}function hue(n,e){var t=e.center,r=n.offsetDelta||{},i=n.prevDelta||{},s=n.prevInput||{};(e.eventType===zt||s.eventType===rt)&&(i=n.prevDelta={x:s.deltaX||0,y:s.deltaY||0},r=n.offsetDelta={x:t.x,y:t.y}),e.deltaX=i.x+(t.x-r.x),e.deltaY=i.y+(t.y-r.y)}function r7(n,e,t){return{x:e/n||0,y:t/n||0}}function cue(n,e){return NA(e[0],e[1],DA)/NA(n[0],n[1],DA)}function fue(n,e){return B_(e[1],e[0],DA)+B_(n[1],n[0],DA)}function pue(n,e){var t=n.lastInterval||e,r=e.timeStamp-t.timeStamp,i,s,o,a;if(e.eventType!==Ut&&(r>lue||t.velocity===void 0)){var g=e.deltaX-t.deltaX,A=e.deltaY-t.deltaY,I=r7(r,g,A);s=I.x,o=I.y,i=kn(I.x)>kn(I.y)?I.x:I.y,a=t7(g,A),n.lastInterval=e}else i=t.velocity,s=t.velocityX,o=t.velocityY,a=t.direction;e.velocity=i,e.velocityX=s,e.velocityY=o,e.direction=a}function vue(n,e){var t=n.session,r=e.pointers,i=r.length;t.firstInput||(t.firstInput=H5(e)),i>1&&!t.firstMultiple?t.firstMultiple=H5(e):i===1&&(t.firstMultiple=!1);var s=t.firstInput,o=t.firstMultiple,a=o?o.center:s.center,g=e.center=e7(r);e.timeStamp=iT(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=B_(a,g),e.distance=NA(a,g),hue(t,e),e.offsetDirection=t7(e.deltaX,e.deltaY);var A=r7(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=A.x,e.overallVelocityY=A.y,e.overallVelocity=kn(A.x)>kn(A.y)?A.x:A.y,e.scale=o?cue(o.pointers,r):1,e.rotation=o?fue(o.pointers,r):0,e.maxPointers=t.prevInput?e.pointers.length>t.prevInput.maxPointers?e.pointers.length:t.prevInput.maxPointers:e.pointers.length,pue(t,e);var I=n.element,C=e.srcEvent,d;C.composedPath?d=C.composedPath()[0]:C.path?d=C.path[0]:d=C.target,sT(d,I)&&(I=d),e.target=I}function mue(n,e,t){var r=t.pointers.length,i=t.changedPointers.length,s=e&zt&&r-i===0,o=e&(rt|Ut)&&r-i===0;t.isFirst=!!s,t.isFinal=!!o,s&&(n.session={}),t.eventType=e,vue(n,t),n.emit("hammer.input",t),n.recognize(t),n.session.prevInput=t}function Za(n){return n.trim().split(/\s+/g)}function Oa(n,e,t){gi(Za(e),function(r){n.addEventListener(r,t,!1)})}function Ta(n,e,t){gi(Za(e),function(r){n.removeEventListener(r,t,!1)})}function U5(n){var e=n.ownerDocument||n;return e.defaultView||e.parentWindow||window}var zo=(function(){function n(t,r){var i=this;this.manager=t,this.callback=r,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(s){_I(t.options.enable,[t])&&i.handler(s)},this.init()}var e=n.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Oa(this.element,this.evEl,this.domHandler),this.evTarget&&Oa(this.target,this.evTarget,this.domHandler),this.evWin&&Oa(U5(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Ta(this.element,this.evEl,this.domHandler),this.evTarget&&Ta(this.target,this.evTarget,this.domHandler),this.evWin&&Ta(U5(this.element),this.evWin,this.domHandler)},n})();function Bn(n,e,t){if(n.indexOf&&!t)return n.indexOf(e);for(var r=0;r<n.length;){if(t&&n[r][t]==e||!t&&n[r]===e)return r;r++}return-1}var yue={pointerdown:zt,pointermove:ns,pointerup:rt,pointercancel:Ut,pointerout:Ut},bue={2:Rg,3:Cue,4:nT,5:due},i7="pointerdown",n7="pointermove pointerup pointercancel";ai.MSPointerEvent&&!ai.PointerEvent&&(i7="MSPointerDown",n7="MSPointerMove MSPointerUp MSPointerCancel");var s7=(function(n){fr(e,n);function e(){var r,i=e.prototype;return i.evEl=i7,i.evWin=n7,r=n.apply(this,arguments)||this,r.store=r.manager.session.pointerEvents=[],r}var t=e.prototype;return t.handler=function(i){var s=this.store,o=!1,a=i.type.toLowerCase().replace("ms",""),g=yue[a],A=bue[i.pointerType]||i.pointerType,I=A===Rg,C=Bn(s,i.pointerId,"pointerId");g&zt&&(i.button===0||I)?C<0&&(s.push(i),C=s.length-1):g&(rt|Ut)&&(o=!0),!(C<0)&&(s[C]=i,this.callback(this.manager,g,{pointers:s,changedPointers:[i],pointerType:A,srcEvent:i}),o&&s.splice(C,1))},e})(zo);function Ha(n){return Array.prototype.slice.call(n,0)}function oT(n,e,t){for(var r=[],i=[],s=0;s<n.length;){var o=e?n[s][e]:n[s];Bn(i,o)<0&&r.push(n[s]),i[s]=o,s++}return t&&(e?r=r.sort(function(a,g){return a[e]>g[e]}):r=r.sort()),r}var wue={touchstart:zt,touchmove:ns,touchend:rt,touchcancel:Ut},Eue="touchstart touchmove touchend touchcancel",aT=(function(n){fr(e,n);function e(){var r;return e.prototype.evTarget=Eue,r=n.apply(this,arguments)||this,r.targetIds={},r}var t=e.prototype;return t.handler=function(i){var s=wue[i.type],o=Sue.call(this,i,s);o&&this.callback(this.manager,s,{pointers:o[0],changedPointers:o[1],pointerType:Rg,srcEvent:i})},e})(zo);function Sue(n,e){var t=Ha(n.touches),r=this.targetIds;if(e&(zt|ns)&&t.length===1)return r[t[0].identifier]=!0,[t,t];var i,s,o=Ha(n.changedTouches),a=[],g=this.target;if(s=t.filter(function(A){return sT(A.target,g)}),e===zt)for(i=0;i<s.length;)r[s[i].identifier]=!0,i++;for(i=0;i<o.length;)r[o[i].identifier]&&a.push(o[i]),e&(rt|Ut)&&delete r[o[i].identifier],i++;if(a.length)return[oT(s.concat(a),"identifier",!0),a]}var _ue={mousedown:zt,mousemove:ns,mouseup:rt},Oue="mousedown",Tue="mousemove mouseup",gT=(function(n){fr(e,n);function e(){var r,i=e.prototype;return i.evEl=Oue,i.evWin=Tue,r=n.apply(this,arguments)||this,r.pressed=!1,r}var t=e.prototype;return t.handler=function(i){var s=_ue[i.type];s&zt&&i.button===0&&(this.pressed=!0),s&ns&&i.which!==1&&(s=rt),this.pressed&&(s&rt&&(this.pressed=!1),this.callback(this.manager,s,{pointers:[i],changedPointers:[i],pointerType:nT,srcEvent:i}))},e})(zo),Rue=2500,K5=25;function Y5(n){var e=n.changedPointers,t=e[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY},i=this.lastTouches;this.lastTouches.push(r);var s=function(){var a=i.indexOf(r);a>-1&&i.splice(a,1)};setTimeout(s,Rue)}}function Pue(n,e){n&zt?(this.primaryTouch=e.changedPointers[0].identifier,Y5.call(this,e)):n&(rt|Ut)&&Y5.call(this,e)}function xue(n){for(var e=n.srcEvent.clientX,t=n.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],s=Math.abs(e-i.x),o=Math.abs(t-i.y);if(s<=K5&&o<=K5)return!0}return!1}var o7=(function(){var n=(function(e){fr(t,e);function t(i,s){var o;return o=e.call(this,i,s)||this,o.handler=function(a,g,A){var I=A.pointerType===Rg,C=A.pointerType===nT;if(!(C&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(I)Pue.call(sA(sA(o)),g,A);else if(C&&xue.call(sA(sA(o)),A))return;o.callback(a,g,A)}},o.touch=new aT(o.manager,o.handler),o.mouse=new gT(o.manager,o.handler),o.primaryTouch=null,o.lastTouches=[],o}var r=t.prototype;return r.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t})(zo);return n})();function $ue(n){var e,t=n.options.inputClass;return t?e=t:Aue?e=s7:Iue?e=aT:YQ?e=o7:e=gT,new e(n,mue)}function $s(n,e,t){return Array.isArray(n)?(gi(n,t[e],t),!0):!1}var fA=1,Ir=2,ao=4,Vi=8,Ai=Vi,Ua=16,Gr=32,Due=1;function Nue(){return Due++}function aA(n,e){var t=e.manager;return t?t.get(n):n}function X5(n){return n&Ua?"cancel":n&Vi?"end":n&ao?"move":n&Ir?"start":""}var Dg=(function(){function n(t){t===void 0&&(t={}),this.options=Mr({enable:!0},t),this.id=Nue(),this.manager=null,this.state=fA,this.simultaneous={},this.requireFail=[]}var e=n.prototype;return e.set=function(r){return Fn(this.options,r),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(r){if($s(r,"recognizeWith",this))return this;var i=this.simultaneous;return r=aA(r,this),i[r.id]||(i[r.id]=r,r.recognizeWith(this)),this},e.dropRecognizeWith=function(r){return $s(r,"dropRecognizeWith",this)?this:(r=aA(r,this),delete this.simultaneous[r.id],this)},e.requireFailure=function(r){if($s(r,"requireFailure",this))return this;var i=this.requireFail;return r=aA(r,this),Bn(i,r)===-1&&(i.push(r),r.requireFailure(this)),this},e.dropRequireFailure=function(r){if($s(r,"dropRequireFailure",this))return this;r=aA(r,this);var i=Bn(this.requireFail,r);return i>-1&&this.requireFail.splice(i,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(r){return!!this.simultaneous[r.id]},e.emit=function(r){var i=this,s=this.state;function o(a){i.manager.emit(a,r)}s<Vi&&o(i.options.event+X5(s)),o(i.options.event),r.additionalEvent&&o(r.additionalEvent),s>=Vi&&o(i.options.event+X5(s))},e.tryEmit=function(r){if(this.canEmit())return this.emit(r);this.state=Gr},e.canEmit=function(){for(var r=0;r<this.requireFail.length;){if(!(this.requireFail[r].state&(Gr|fA)))return!1;r++}return!0},e.recognize=function(r){var i=Fn({},r);if(!_I(this.options.enable,[this,i])){this.reset(),this.state=Gr;return}this.state&(Ai|Ua|Gr)&&(this.state=fA),this.state=this.process(i),this.state&(Ir|ao|Vi|Ua)&&this.tryEmit(i)},e.process=function(r){},e.getTouchAction=function(){},e.reset=function(){},n})(),z_=(function(n){fr(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Mr({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},r))||this,i.pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}var t=e.prototype;return t.getTouchAction=function(){return[k_]},t.process=function(i){var s=this,o=this.options,a=i.pointers.length===o.pointers,g=i.distance<o.threshold,A=i.deltaTime<o.time;if(this.reset(),i.eventType&zt&&this.count===0)return this.failTimeout();if(g&&A&&a){if(i.eventType!==rt)return this.failTimeout();var I=this.pTime?i.timeStamp-this.pTime<o.interval:!0,C=!this.pCenter||NA(this.pCenter,i.center)<o.posThreshold;this.pTime=i.timeStamp,this.pCenter=i.center,!C||!I?this.count=1:this.count+=1,this._input=i;var d=this.count%o.taps;if(d===0)return this.hasRequireFailures()?(this._timer=setTimeout(function(){s.state=Ai,s.tryEmit()},o.interval),Ir):Ai}return Gr},t.failTimeout=function(){var i=this;return this._timer=setTimeout(function(){i.state=Gr},this.options.interval),Gr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){this.state===Ai&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e})(Dg),go=(function(n){fr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Mr({pointers:1},r))||this}var t=e.prototype;return t.attrTest=function(i){var s=this.options.pointers;return s===0||i.pointers.length===s},t.process=function(i){var s=this.state,o=i.eventType,a=s&(Ir|ao),g=this.attrTest(i);return a&&(o&Ut||!g)?s|Ua:a||g?o&rt?s|Vi:s&Ir?s|ao:Ir:Gr},e})(Dg);function a7(n){return n===oo?"down":n===$g?"up":n===Pg?"left":n===xg?"right":""}var AT=(function(n){fr(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Mr({event:"pan",threshold:10,pointers:1,direction:XQ},r))||this,i.pX=null,i.pY=null,i}var t=e.prototype;return t.getTouchAction=function(){var i=this.options.direction,s=[];return i&Ur&&s.push(Va),i&Rn&&s.push(Wa),s},t.directionTest=function(i){var s=this.options,o=!0,a=i.distance,g=i.direction,A=i.deltaX,I=i.deltaY;return g&s.direction||(s.direction&Ur?(g=A===0?$A:A<0?Pg:xg,o=A!==this.pX,a=Math.abs(i.deltaX)):(g=I===0?$A:I<0?$g:oo,o=I!==this.pY,a=Math.abs(i.deltaY))),i.direction=g,o&&a>s.threshold&&g&s.direction},t.attrTest=function(i){return go.prototype.attrTest.call(this,i)&&(this.state&Ir||!(this.state&Ir)&&this.directionTest(i))},t.emit=function(i){this.pX=i.deltaX,this.pY=i.deltaY;var s=a7(i.direction);s&&(i.additionalEvent=this.options.event+s),n.prototype.emit.call(this,i)},e})(go),g7=(function(n){fr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Mr({event:"swipe",threshold:10,velocity:.3,direction:Ur|Rn,pointers:1},r))||this}var t=e.prototype;return t.getTouchAction=function(){return AT.prototype.getTouchAction.call(this)},t.attrTest=function(i){var s=this.options.direction,o;return s&(Ur|Rn)?o=i.overallVelocity:s&Ur?o=i.overallVelocityX:s&Rn&&(o=i.overallVelocityY),n.prototype.attrTest.call(this,i)&&s&i.offsetDirection&&i.distance>this.options.threshold&&i.maxPointers===this.options.pointers&&kn(o)>this.options.velocity&&i.eventType&rt},t.emit=function(i){var s=a7(i.offsetDirection);s&&this.manager.emit(this.options.event+s,i),this.manager.emit(this.options.event,i)},e})(go),A7=(function(n){fr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Mr({event:"pinch",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Tn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.scale-1)>this.options.threshold||this.state&Ir)},t.emit=function(i){if(i.scale!==1){var s=i.scale<1?"in":"out";i.additionalEvent=this.options.event+s}n.prototype.emit.call(this,i)},e})(go),I7=(function(n){fr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Mr({event:"rotate",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Tn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.rotation)>this.options.threshold||this.state&Ir)},e})(go),C7=(function(n){fr(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Mr({event:"press",pointers:1,time:251,threshold:9},r))||this,i._timer=null,i._input=null,i}var t=e.prototype;return t.getTouchAction=function(){return[KQ]},t.process=function(i){var s=this,o=this.options,a=i.pointers.length===o.pointers,g=i.distance<o.threshold,A=i.deltaTime>o.time;if(this._input=i,!g||!a||i.eventType&(rt|Ut)&&!A)this.reset();else if(i.eventType&zt)this.reset(),this._timer=setTimeout(function(){s.state=Ai,s.tryEmit()},o.time);else if(i.eventType&rt)return Ai;return Gr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(i){this.state===Ai&&(i&&i.eventType&rt?this.manager.emit(this.options.event+"up",i):(this._input.timeStamp=iT(),this.manager.emit(this.options.event,this._input)))},e})(Dg),d7={domEvents:!1,touchAction:UQ,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},Q5=[[I7,{enable:!1}],[A7,{enable:!1},["rotate"]],[g7,{direction:Ur}],[AT,{direction:Ur},["swipe"]],[z_],[z_,{event:"doubletap",taps:2},["tap"]],[C7]],Mue=1,J5=2;function e3(n,e){var t=n.element;if(t.style){var r;gi(n.options.cssProps,function(i,s){r=SI(t.style,s),e?(n.oldCssProps[r]=t.style[r],t.style[r]=i):t.style[r]=n.oldCssProps[r]||""}),e||(n.oldCssProps={})}}function que(n,e){var t=document.createEvent("Event");t.initEvent(n,!0,!0),t.gesture=e,e.target.dispatchEvent(t)}var t3=(function(){function n(t,r){var i=this;this.options=Fn({},d7,r||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=$ue(this),this.touchAction=new JQ(this,this.options.touchAction),e3(this,!0),gi(this.options.recognizers,function(s){var o=i.add(new s[0](s[1]));s[2]&&o.recognizeWith(s[2]),s[3]&&o.requireFailure(s[3])},this)}var e=n.prototype;return e.set=function(r){return Fn(this.options,r),r.touchAction&&this.touchAction.update(),r.inputTarget&&(this.input.destroy(),this.input.target=r.inputTarget,this.input.init()),this},e.stop=function(r){this.session.stopped=r?J5:Mue},e.recognize=function(r){var i=this.session;if(!i.stopped){this.touchAction.preventDefaults(r);var s,o=this.recognizers,a=i.curRecognizer;(!a||a&&a.state&Ai)&&(i.curRecognizer=null,a=null);for(var g=0;g<o.length;)s=o[g],i.stopped!==J5&&(!a||s===a||s.canRecognizeWith(a))?s.recognize(r):s.reset(),!a&&s.state&(Ir|ao|Vi)&&(i.curRecognizer=s,a=s),g++}},e.get=function(r){if(r instanceof Dg)return r;for(var i=this.recognizers,s=0;s<i.length;s++)if(i[s].options.event===r)return i[s];return null},e.add=function(r){if($s(r,"add",this))return this;var i=this.get(r.options.event);return i&&this.remove(i),this.recognizers.push(r),r.manager=this,this.touchAction.update(),r},e.remove=function(r){if($s(r,"remove",this))return this;var i=this.get(r);if(r){var s=this.recognizers,o=Bn(s,i);o!==-1&&(s.splice(o,1),this.touchAction.update())}return this},e.on=function(r,i){if(r===void 0||i===void 0)return this;var s=this.handlers;return gi(Za(r),function(o){s[o]=s[o]||[],s[o].push(i)}),this},e.off=function(r,i){if(r===void 0)return this;var s=this.handlers;return gi(Za(r),function(o){i?s[o]&&s[o].splice(Bn(s[o],i),1):delete s[o]}),this},e.emit=function(r,i){this.options.domEvents&&que(r,i);var s=this.handlers[r]&&this.handlers[r].slice();if(!(!s||!s.length)){i.type=r,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var o=0;o<s.length;)s[o](i),o++}},e.destroy=function(){this.element&&e3(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},n})(),Fue={touchstart:zt,touchmove:ns,touchend:rt,touchcancel:Ut},kue="touchstart",Bue="touchstart touchmove touchend touchcancel",zue=(function(n){fr(e,n);function e(){var r,i=e.prototype;return i.evTarget=kue,i.evWin=Bue,r=n.apply(this,arguments)||this,r.started=!1,r}var t=e.prototype;return t.handler=function(i){var s=Fue[i.type];if(s===zt&&(this.started=!0),!!this.started){var o=jue.call(this,i,s);s&(rt|Ut)&&o[0].length-o[1].length===0&&(this.started=!1),this.callback(this.manager,s,{pointers:o[0],changedPointers:o[1],pointerType:Rg,srcEvent:i})}},e})(zo);function jue(n,e){var t=Ha(n.touches),r=Ha(n.changedTouches);return e&(rt|Ut)&&(t=oT(t.concat(r),"identifier",!0)),[t,r]}function l7(n,e,t){var r="DEPRECATED METHOD: "+e+`
991
+ `+t+` AT
992
+ `;return function(){var i=new Error("get-stack-trace"),s=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,r,s),n.apply(this,arguments)}}var u7=l7(function(n,e,t){for(var r=Object.keys(e),i=0;i<r.length;)(!t||t&&n[r[i]]===void 0)&&(n[r[i]]=e[r[i]]),i++;return n},"extend","Use `assign`."),Lue=l7(function(n,e){return u7(n,e,!0)},"merge","Use `assign`.");function Gue(n,e,t){var r=e.prototype,i;i=n.prototype=Object.create(r),i.constructor=n,i._super=r,t&&Fn(i,t)}function r3(n,e){return function(){return n.apply(e,arguments)}}var Wue=(function(){var n=function(t,r){return r===void 0&&(r={}),new t3(t,Mr({recognizers:Q5.concat()},r))};return n.VERSION="2.0.17-rc",n.DIRECTION_ALL=XQ,n.DIRECTION_DOWN=oo,n.DIRECTION_LEFT=Pg,n.DIRECTION_RIGHT=xg,n.DIRECTION_UP=$g,n.DIRECTION_HORIZONTAL=Ur,n.DIRECTION_VERTICAL=Rn,n.DIRECTION_NONE=$A,n.DIRECTION_DOWN=oo,n.INPUT_START=zt,n.INPUT_MOVE=ns,n.INPUT_END=rt,n.INPUT_CANCEL=Ut,n.STATE_POSSIBLE=fA,n.STATE_BEGAN=Ir,n.STATE_CHANGED=ao,n.STATE_ENDED=Vi,n.STATE_RECOGNIZED=Ai,n.STATE_CANCELLED=Ua,n.STATE_FAILED=Gr,n.Manager=t3,n.Input=zo,n.TouchAction=JQ,n.TouchInput=aT,n.MouseInput=gT,n.PointerEventInput=s7,n.TouchMouseInput=o7,n.SingleTouchInput=zue,n.Recognizer=Dg,n.AttrRecognizer=go,n.Tap=z_,n.Pan=AT,n.Swipe=g7,n.Pinch=A7,n.Rotate=I7,n.Press=C7,n.on=Oa,n.off=Ta,n.each=gi,n.merge=Lue,n.extend=u7,n.bindFn=r3,n.assign=Fn,n.inherit=Gue,n.bindFn=r3,n.prefixed=SI,n.toArray=Ha,n.inArray=Bn,n.uniqueArray=oT,n.splitStr=Za,n.boolOrFn=_I,n.hasParent=sT,n.addEventListeners=Oa,n.removeEventListeners=Ta,n.defaults=Fn({},d7,{preset:Q5}),n})();const h7=Rde("DELETE");function Vue(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return c7({},n,...t)}function c7(){const n=MA(...arguments);return p7(n),n}function MA(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];if(e.length<2)return e[0];if(e.length>2)return MA(c7(e[0],e[1]),...qde(e).call(e,2));const r=e[0],i=e[1];if(r instanceof Date&&i instanceof Date)return r.setTime(i.getTime()),r;for(const s of Lde(i))Object.prototype.propertyIsEnumerable.call(i,s)&&(i[s]===h7?delete r[s]:r[s]!==null&&i[s]!==null&&typeof r[s]=="object"&&typeof i[s]=="object"&&!zr(r[s])&&!zr(i[s])?r[s]=MA(r[s],i[s]):r[s]=f7(i[s]));return r}function f7(n){return zr(n)?xr(n).call(n,e=>f7(e)):typeof n=="object"&&n!==null?n instanceof Date?new Date(n.getTime()):MA({},n):n}function p7(n){for(const e of rT(n))n[e]===h7?delete n[e]:typeof n[e]=="object"&&n[e]!==null&&p7(n[e])}function Zue(){const n=()=>{};return{on:n,off:n,destroy:n,emit:n,get(){return{set:n}}}}const Hue=typeof window<"u"?window.Hammer||Wue:function(){return Zue()};function ri(n){var e;this._cleanupQueue=[],this.active=!1,this._dom={container:n,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push(()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)});const t=Hue(this._dom.overlay);t.on("tap",zQ(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push(()=>{t.destroy()});const r=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];qn(r).call(r,i=>{t.on(i,s=>{s.srcEvent.stopPropagation()})}),document&&document.body&&(this._onClick=i=>{Uue(i.target,n)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push(()=>{document.body.removeEventListener("click",this._onClick)})),this._escListener=i=>{("key"in i?i.key==="Escape":i.keyCode===27)&&this.deactivate()}}nue(ri.prototype);ri.current=null;ri.prototype.destroy=function(){this.deactivate();for(const t of dle(n=WQ(e=this._cleanupQueue).call(e,0)).call(n)){var n,e;t()}};ri.prototype.activate=function(){ri.current&&ri.current.deactivate(),ri.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)};ri.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")};ri.prototype._onTapOverlay=function(n){this.activate(),n.srcEvent.stopPropagation()};function Uue(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}var Fm,i3;function Kue(){if(i3)return Fm;i3=1,RQ();var n=It();return Fm=n.Object.getOwnPropertySymbols,Fm}var km,n3;function Yue(){if(n3)return km;n3=1;var n=Kue();return km=n,km}var Bm,s3;function Xue(){return s3||(s3=1,Bm=Yue()),Bm}var Que=Xue(),o3=ce(Que),zm={exports:{}},a3={},g3;function Jue(){if(g3)return a3;g3=1;var n=Ae(),e=we(),t=Qr(),r=hI().f,i=at(),s=!i||e(function(){r(1)});return n({target:"Object",stat:!0,forced:s,sham:!i},{getOwnPropertyDescriptor:function(a,g){return r(t(a),g)}}),a3}var A3;function ehe(){if(A3)return zm.exports;A3=1,Jue();var n=It(),e=n.Object,t=zm.exports=function(i,s){return e.getOwnPropertyDescriptor(i,s)};return e.getOwnPropertyDescriptor.sham&&(t.sham=!0),zm.exports}var jm,I3;function the(){if(I3)return jm;I3=1;var n=ehe();return jm=n,jm}var Lm,C3;function rhe(){return C3||(C3=1,Lm=the()),Lm}var ihe=rhe(),v7=ce(ihe),d3={},l3;function nhe(){if(l3)return d3;l3=1;var n=Ae(),e=at(),t=LQ(),r=Qr(),i=hI(),s=fI();return n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(a){for(var g=r(a),A=i.f,I=t(g),C={},d=0,l,u;I.length>d;)u=A(g,l=I[d++]),u!==void 0&&s(C,l,u);return C}}),d3}var Gm,u3;function she(){if(u3)return Gm;u3=1,nhe();var n=It();return Gm=n.Object.getOwnPropertyDescriptors,Gm}var Wm,h3;function ohe(){if(h3)return Wm;h3=1;var n=she();return Wm=n,Wm}var Vm,c3;function ahe(){return c3||(c3=1,Vm=ohe()),Vm}var ghe=ahe(),f3=ce(ghe),Zm={exports:{}},p3={},v3;function Ahe(){if(v3)return p3;v3=1;var n=Ae(),e=at(),t=QO().f;return n({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!e},{defineProperties:t}),p3}var m3;function Ihe(){if(m3)return Zm.exports;m3=1,Ahe();var n=It(),e=n.Object,t=Zm.exports=function(i,s){return e.defineProperties(i,s)};return e.defineProperties.sham&&(t.sham=!0),Zm.exports}var Hm,y3;function Che(){if(y3)return Hm;y3=1;var n=Ihe();return Hm=n,Hm}var Um,b3;function dhe(){return b3||(b3=1,Um=Che()),Um}var lhe=dhe(),uhe=ce(lhe),Km,w3;function hhe(){return w3||(w3=1,Km=vQ()),Km}var che=hhe(),fhe=ce(che),E3={},S3={},Ym={exports:{}},Xm,_3;function phe(){if(_3)return Xm;_3=1;var n=we();return Xm=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),Xm}var Qm,O3;function vhe(){if(O3)return Qm;O3=1;var n=we(),e=Lt(),t=fi(),r=phe(),i=Object.isExtensible,s=n(function(){});return Qm=s||r?function(a){return!e(a)||r&&t(a)==="ArrayBuffer"?!1:i?i(a):!0}:i,Qm}var Jm,T3;function mhe(){if(T3)return Jm;T3=1;var n=we();return Jm=!n(function(){return Object.isExtensible(Object.preventExtensions({}))}),Jm}var R3;function m7(){if(R3)return Ym.exports;R3=1;var n=Ae(),e=Oe(),t=Sg(),r=Lt(),i=ft(),s=cr().f,o=mI(),a=SQ(),g=vhe(),A=uI(),I=mhe(),C=!1,d=A("meta"),l=0,u=function(p){s(p,d,{value:{objectID:"O"+l++,weakData:{}}})},h=function(p,y){if(!r(p))return typeof p=="symbol"?p:(typeof p=="string"?"S":"P")+p;if(!i(p,d)){if(!g(p))return"F";if(!y)return"E";u(p)}return p[d].objectID},v=function(p,y){if(!i(p,d)){if(!g(p))return!0;if(!y)return!1;u(p)}return p[d].weakData},f=function(p){return I&&C&&g(p)&&!i(p,d)&&u(p),p},c=function(){b.enable=function(){},C=!0;var p=o.f,y=e([].splice),E={};E[d]=1,p(E).length&&(o.f=function(S){for(var m=p(S),w=0,_=m.length;w<_;w++)if(m[w]===d){y(m,w,1);break}return m},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:a.f}))},b=Ym.exports={enable:c,fastKey:h,getWeakData:v,onFreeze:f};return t[d]=!0,Ym.exports}var ey,P3;function yhe(){if(P3)return ey;P3=1;var n=pt(),e=Bo(),t=n("iterator"),r=Array.prototype;return ey=function(i){return i!==void 0&&(e.Array===i||r[t]===i)},ey}var ty,x3;function y7(){if(x3)return ty;x3=1;var n=an(),e=VO(),t=yg(),r=Bo(),i=pt(),s=i("iterator");return ty=function(o){if(!t(o))return e(o,s)||e(o,"@@iterator")||r[n(o)]},ty}var ry,$3;function b7(){if($3)return ry;$3=1;var n=Xt(),e=pi(),t=vi(),r=$o(),i=y7(),s=TypeError;return ry=function(o,a){var g=arguments.length<2?i(o):a;if(e(g))return t(n(g,o));throw new s(r(o)+" is not iterable")},ry}var iy,D3;function IT(){if(D3)return iy;D3=1;var n=Xt(),e=vi(),t=VO();return iy=function(r,i,s){var o,a;e(r);try{if(o=t(r,"return"),!o){if(i==="throw")throw s;return s}o=n(o,r)}catch(g){a=!0,o=g}if(i==="throw")throw s;if(a)throw o;return e(o),s},iy}var ny,N3;function CT(){if(N3)return ny;N3=1;var n=cI(),e=Xt(),t=vi(),r=$o(),i=yhe(),s=on(),o=ct(),a=b7(),g=y7(),A=IT(),I=TypeError,C=function(l,u){this.stopped=l,this.result=u},d=C.prototype;return ny=function(l,u,h){var v=h&&h.that,f=!!(h&&h.AS_ENTRIES),c=!!(h&&h.IS_RECORD),b=!!(h&&h.IS_ITERATOR),p=!!(h&&h.INTERRUPTED),y=n(u,v),E,S,m,w,_,T,R,O=function(x){return E&&A(E,"normal"),new C(!0,x)},P=function(x){return f?(t(x),p?y(x[0],x[1],O):y(x[0],x[1])):p?y(x,O):y(x)};if(c)E=l.iterator;else if(b)E=l;else{if(S=g(l),!S)throw new I(r(l)+" is not iterable");if(i(S)){for(m=0,w=s(l);w>m;m++)if(_=P(l[m]),_&&o(d,_))return _;return new C(!1)}E=a(l,S)}for(T=c?l.next:E.next;!(R=e(T,E)).done;){try{_=P(R.value)}catch(x){A(E,"throw",x)}if(typeof _=="object"&&_&&o(d,_))return _}return new C(!1)},ny}var sy,M3;function w7(){if(M3)return sy;M3=1;var n=ct(),e=TypeError;return sy=function(t,r){if(n(r,t))return t;throw new e("Incorrect invocation")},sy}var oy,q3;function E7(){if(q3)return oy;q3=1;var n=Ae(),e=ot(),t=m7(),r=we(),i=Mo(),s=CT(),o=w7(),a=ht(),g=Lt(),A=yg(),I=is(),C=cr().f,d=ko().forEach,l=at(),u=Tg(),h=u.set,v=u.getterFor;return oy=function(f,c,b){var p=f.indexOf("Map")!==-1,y=f.indexOf("Weak")!==-1,E=p?"set":"add",S=e[f],m=S&&S.prototype,w={},_;if(!l||!a(S)||!(y||m.forEach&&!r(function(){new S().entries().next()})))_=b.getConstructor(c,f,p,E),t.enable();else{_=c(function(O,P){h(o(O,T),{type:f,collection:new S}),A(P)||s(P,O[E],{that:O,AS_ENTRIES:p})});var T=_.prototype,R=v(f);d(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(O){var P=O==="add"||O==="set";O in m&&!(y&&O==="clear")&&i(T,O,function(x,V){var M=R(this).collection;if(!P&&y&&!g(x))return O==="get"?void 0:!1;var U=M[O](x===0?0:x,V);return P?this:U})}),y||C(T,"size",{configurable:!0,get:function(){return R(this).collection.size}})}return I(_,f,!1,!0),w[f]=_,n({global:!0,forced:!0},w),y||b.setStrong(_,f,p),_},oy}var ay,F3;function bhe(){if(F3)return ay;F3=1;var n=Og();return ay=function(e,t,r){for(var i in t)r&&r.unsafe&&e[i]?e[i]=t[i]:n(e,i,t[i],r);return e},ay}var gy,k3;function whe(){if(k3)return gy;k3=1;var n=ir(),e=JO(),t=pt(),r=at(),i=t("species");return gy=function(s){var o=n(s);r&&o&&!o[i]&&e(o,i,{configurable:!0,get:function(){return this}})},gy}var Ay,B3;function S7(){if(B3)return Ay;B3=1;var n=_g(),e=JO(),t=bhe(),r=cI(),i=w7(),s=yg(),o=CT(),a=eT(),g=tT(),A=whe(),I=at(),C=m7().fastKey,d=Tg(),l=d.set,u=d.getterFor;return Ay={getConstructor:function(h,v,f,c){var b=h(function(m,w){i(m,p),l(m,{type:v,index:n(null),first:null,last:null,size:0}),I||(m.size=0),s(w)||o(w,m[c],{that:m,AS_ENTRIES:f})}),p=b.prototype,y=u(v),E=function(m,w,_){var T=y(m),R=S(m,w),O,P;return R?R.value=_:(T.last=R={index:P=C(w,!0),key:w,value:_,previous:O=T.last,next:null,removed:!1},T.first||(T.first=R),O&&(O.next=R),I?T.size++:m.size++,P!=="F"&&(T.index[P]=R)),m},S=function(m,w){var _=y(m),T=C(w),R;if(T!=="F")return _.index[T];for(R=_.first;R;R=R.next)if(R.key===w)return R};return t(p,{clear:function(){for(var w=this,_=y(w),T=_.first;T;)T.removed=!0,T.previous&&(T.previous=T.previous.next=null),T=T.next;_.first=_.last=null,_.index=n(null),I?_.size=0:w.size=0},delete:function(m){var w=this,_=y(w),T=S(w,m);if(T){var R=T.next,O=T.previous;delete _.index[T.index],T.removed=!0,O&&(O.next=R),R&&(R.previous=O),_.first===T&&(_.first=R),_.last===T&&(_.last=O),I?_.size--:w.size--}return!!T},forEach:function(w){for(var _=y(this),T=r(w,arguments.length>1?arguments[1]:void 0),R;R=R?R.next:_.first;)for(T(R.value,R.key,this);R&&R.removed;)R=R.previous},has:function(w){return!!S(this,w)}}),t(p,f?{get:function(w){var _=S(this,w);return _&&_.value},set:function(w,_){return E(this,w===0?0:w,_)}}:{add:function(w){return E(this,w=w===0?0:w,w)}}),I&&e(p,"size",{configurable:!0,get:function(){return y(this).size}}),b},setStrong:function(h,v,f){var c=v+" Iterator",b=u(v),p=u(c);a(h,v,function(y,E){l(this,{type:c,target:y,state:b(y),kind:E,last:null})},function(){for(var y=p(this),E=y.kind,S=y.last;S&&S.removed;)S=S.previous;return!y.target||!(y.last=S=S?S.next:y.state.first)?(y.target=null,g(void 0,!0)):g(E==="keys"?S.key:E==="values"?S.value:[S.key,S.value],!1)},f?"entries":"values",!f,!0),A(v)}},Ay}var z3;function Ehe(){if(z3)return S3;z3=1;var n=E7(),e=S7();return n("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),S3}var j3;function She(){return j3||(j3=1,Ehe()),E3}var L3={},Iy,G3;function _7(){return G3||(G3=1,Iy=function(n,e){return e===1?function(t,r){return t[n](r)}:function(t,r,i){return t[n](r,i)}}),Iy}var Cy,W3;function _he(){if(W3)return Cy;W3=1;var n=ir(),e=_7(),t=n("Map");return Cy={Map:t,set:e("set",2),get:e("get",1),has:e("has",1),remove:e("delete",1),proto:t.prototype},Cy}var V3;function Ohe(){if(V3)return L3;V3=1;var n=Ae(),e=Oe(),t=pi(),r=ts(),i=CT(),s=_he(),o=Do(),a=we(),g=s.Map,A=s.has,I=s.get,C=s.set,d=e([].push),l=o||a(function(){return g.groupBy("ab",function(u){return u}).get("a").length!==1});return n({target:"Map",stat:!0,forced:o||l},{groupBy:function(h,v){r(h),t(v);var f=new g,c=0;return i(h,function(b){var p=v(b,c++);A(f,p)?d(I(f,p),b):C(f,p,[b])}),f}}),L3}var dy,Z3;function The(){if(Z3)return dy;Z3=1,An(),She(),Ohe(),wI();var n=It();return dy=n.Map,dy}var ly,H3;function Rhe(){if(H3)return ly;H3=1;var n=The();return In(),ly=n,ly}var uy,U3;function Phe(){return U3||(U3=1,uy=Rhe()),uy}var xhe=Phe(),O7=ce(xhe),K3={},Y3;function $he(){if(Y3)return K3;Y3=1;var n=Ae(),e=ko().some,t=EI(),r=t("some");return n({target:"Array",proto:!0,forced:!r},{some:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),K3}var hy,X3;function Dhe(){if(X3)return hy;X3=1,$he();var n=Qt();return hy=n("Array","some"),hy}var cy,Q3;function Nhe(){if(Q3)return cy;Q3=1;var n=ct(),e=Dhe(),t=Array.prototype;return cy=function(r){var i=r.some;return r===t||n(t,r)&&i===t.some?e:i},cy}var fy,J3;function Mhe(){if(J3)return fy;J3=1;var n=Nhe();return fy=n,fy}var py,eG;function qhe(){return eG||(eG=1,py=Mhe()),py}var Fhe=qhe(),khe=ce(Fhe),vy,tG;function Bhe(){if(tG)return vy;tG=1,An();var n=Qt();return vy=n("Array","keys"),vy}var my,rG;function zhe(){if(rG)return my;rG=1;var n=Bhe();return my=n,my}var yy,iG;function jhe(){if(iG)return yy;iG=1,In();var n=an(),e=ft(),t=ct(),r=zhe(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return yy=function(o){var a=o.keys;return o===i||t(i,o)&&a===i.keys||e(s,n(o))?r:a},yy}var by,nG;function Lhe(){return nG||(nG=1,by=jhe()),by}var Ghe=Lhe(),bs=ce(Ghe),sG={},wy,oG;function Whe(){if(oG)return wy;oG=1;var n=Fo(),e=Math.floor,t=function(r,i){var s=r.length;if(s<8)for(var o=1,a,g;o<s;){for(g=o,a=r[o];g&&i(r[g-1],a)>0;)r[g]=r[--g];g!==o++&&(r[g]=a)}else for(var A=e(s/2),I=t(n(r,0,A),i),C=t(n(r,A),i),d=I.length,l=C.length,u=0,h=0;u<d||h<l;)r[u+h]=u<d&&h<l?i(I[u],C[h])<=0?I[u++]:C[h++]:u<d?I[u++]:C[h++];return r};return wy=t,wy}var Ey,aG;function Vhe(){if(aG)return Ey;aG=1;var n=Po(),e=n.match(/firefox\/(\d+)/i);return Ey=!!e&&+e[1],Ey}var Sy,gG;function Zhe(){if(gG)return Sy;gG=1;var n=Po();return Sy=/MSIE|Trident/.test(n),Sy}var _y,AG;function Hhe(){if(AG)return _y;AG=1;var n=Po(),e=n.match(/AppleWebKit\/(\d+)\./);return _y=!!e&&+e[1],_y}var IG;function Uhe(){if(IG)return sG;IG=1;var n=Ae(),e=Oe(),t=pi(),r=kr(),i=on(),s=GQ(),o=gn(),a=we(),g=Whe(),A=EI(),I=Vhe(),C=Zhe(),d=bg(),l=Hhe(),u=[],h=e(u.sort),v=e(u.push),f=a(function(){u.sort(void 0)}),c=a(function(){u.sort(null)}),b=A("sort"),p=!a(function(){if(d)return d<70;if(!(I&&I>3)){if(C)return!0;if(l)return l<603;var S="",m,w,_,T;for(m=65;m<76;m++){switch(w=String.fromCharCode(m),m){case 66:case 69:case 70:case 72:_=3;break;case 68:case 71:_=4;break;default:_=2}for(T=0;T<47;T++)u.push({k:w+T,v:_})}for(u.sort(function(R,O){return O.v-R.v}),T=0;T<u.length;T++)w=u[T].k.charAt(0),S.charAt(S.length-1)!==w&&(S+=w);return S!=="DGBEFHACIJK"}}),y=f||!c||!b||!p,E=function(S){return function(m,w){return w===void 0?-1:m===void 0?1:S!==void 0?+S(m,w)||0:o(m)>o(w)?1:-1}};return n({target:"Array",proto:!0,forced:y},{sort:function(m){m!==void 0&&t(m);var w=r(this);if(p)return m===void 0?h(w):h(w,m);var _=[],T=i(w),R,O;for(O=0;O<T;O++)O in w&&v(_,w[O]);for(g(_,E(m)),R=i(_),O=0;O<R;)w[O]=_[O++];for(;O<T;)s(w,O++);return w}}),sG}var Oy,CG;function Khe(){if(CG)return Oy;CG=1,Uhe();var n=Qt();return Oy=n("Array","sort"),Oy}var Ty,dG;function Yhe(){if(dG)return Ty;dG=1;var n=ct(),e=Khe(),t=Array.prototype;return Ty=function(r){var i=r.sort;return r===t||n(t,r)&&i===t.sort?e:i},Ty}var Ry,lG;function Xhe(){if(lG)return Ry;lG=1;var n=Yhe();return Ry=n,Ry}var Py,uG;function Qhe(){return uG||(uG=1,Py=Xhe()),Py}var Jhe=Qhe(),j_=ce(Jhe),xy,hG;function ece(){if(hG)return xy;hG=1,An();var n=Qt();return xy=n("Array","values"),xy}var $y,cG;function tce(){if(cG)return $y;cG=1;var n=ece();return $y=n,$y}var Dy,fG;function rce(){if(fG)return Dy;fG=1,In();var n=an(),e=ft(),t=ct(),r=tce(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return Dy=function(o){var a=o.values;return o===i||t(i,o)&&a===i.values||e(s,n(o))?r:a},Dy}var Ny,pG;function ice(){return pG||(pG=1,Ny=rce()),Ny}var nce=ice(),vG=ce(nce),My,mG;function sce(){return mG||(mG=1,My=BQ()),My}var oce=sce(),Ds=ce(oce),qy,yG;function ace(){if(yG)return qy;yG=1,An();var n=Qt();return qy=n("Array","entries"),qy}var Fy,bG;function gce(){if(bG)return Fy;bG=1;var n=ace();return Fy=n,Fy}var ky,wG;function Ace(){if(wG)return ky;wG=1,In();var n=an(),e=ft(),t=ct(),r=gce(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return ky=function(o){var a=o.entries;return o===i||t(i,o)&&a===i.entries||e(s,n(o))?r:a},ky}var By,EG;function Ice(){return EG||(EG=1,By=Ace()),By}var Cce=Ice(),dce=ce(Cce);const St=[];for(let n=0;n<256;++n)St.push((n+256).toString(16).slice(1));function lce(n,e=0){return(St[n[e+0]]+St[n[e+1]]+St[n[e+2]]+St[n[e+3]]+"-"+St[n[e+4]]+St[n[e+5]]+"-"+St[n[e+6]]+St[n[e+7]]+"-"+St[n[e+8]]+St[n[e+9]]+"-"+St[n[e+10]]+St[n[e+11]]+St[n[e+12]]+St[n[e+13]]+St[n[e+14]]+St[n[e+15]]).toLowerCase()}let zy;const uce=new Uint8Array(16);function hce(){if(!zy){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");zy=crypto.getRandomValues.bind(crypto)}return zy(uce)}const cce=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var SG={randomUUID:cce};function fce(n,e,t){n=n||{};const r=n.random??n.rng?.()??hce();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,lce(r)}function pce(n,e,t){return SG.randomUUID&&!n?SG.randomUUID():fce(n)}function _G(n){return typeof n=="string"||typeof n=="number"}class dT{constructor(e){Wi(this,"_queue",[]),Wi(this,"_timeout",null),Wi(this,"_extended",null),this.delay=null,this.max=1/0,this.setOptions(e)}setOptions(e){e&&typeof e.delay<"u"&&(this.delay=e.delay),e&&typeof e.max<"u"&&(this.max=e.max),this._flushIfNeeded()}static extend(e,t){const r=new dT(t);if(e.flush!==void 0)throw new Error("Target object already has a property flush");e.flush=()=>{r.flush()};const i=[{name:"flush",original:void 0}];if(t&&t.replace)for(let s=0;s<t.replace.length;s++){const o=t.replace[s];i.push({name:o,original:e[o]}),r.replace(e,o)}return r._extended={object:e,methods:i},r}destroy(){if(this.flush(),this._extended){const e=this._extended.object,t=this._extended.methods;for(let r=0;r<t.length;r++){const i=t[r];i.original?e[i.name]=i.original:delete e[i.name]}this._extended=null}}replace(e,t){const r=this,i=e[t];if(!i)throw new Error("Method "+t+" undefined");e[t]=function(){for(var s=arguments.length,o=new Array(s),a=0;a<s;a++)o[a]=arguments[a];r.queue({args:o,fn:i,context:this})}}queue(e){typeof e=="function"?this._queue.push({fn:e}):this._queue.push(e),this._flushIfNeeded()}_flushIfNeeded(){this._queue.length>this.max&&this.flush(),this._timeout!=null&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&typeof this.delay=="number"&&(this._timeout=tue(()=>{this.flush()},this.delay))}flush(){var e,t;qn(e=WQ(t=this._queue).call(t,0)).call(e,r=>{r.fn.apply(r.context||r.fn,r.args||[])})}}class qA{constructor(){Wi(this,"_subscribers",{"*":[],add:[],remove:[],update:[]}),Wi(this,"subscribe",qA.prototype.on),Wi(this,"unsubscribe",qA.prototype.off)}_trigger(e,t,r){var i;if(e==="*")throw new Error("Cannot trigger event *");qn(i=[...this._subscribers[e],...this._subscribers["*"]]).call(i,s=>{s(e,t,r??null)})}on(e,t){typeof t=="function"&&this._subscribers[e].push(t)}off(e,t){var r;this._subscribers[e]=Ps(r=this._subscribers[e]).call(r,i=>i!==t)}}var OG={},TG={},RG;function vce(){if(RG)return TG;RG=1;var n=E7(),e=S7();return n("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),TG}var PG;function mce(){return PG||(PG=1,vce()),OG}var xG={},jy,$G;function ss(){if($G)return jy;$G=1;var n=$o(),e=TypeError;return jy=function(t){if(typeof t=="object"&&"size"in t&&"has"in t&&"add"in t&&"delete"in t&&"keys"in t)return t;throw new e(n(t)+" is not a set")},jy}var Ly,DG;function os(){if(DG)return Ly;DG=1;var n=ir(),e=_7(),t=n("Set"),r=t.prototype;return Ly={Set:t,add:e("add",1),has:e("has",1),remove:e("delete",1),proto:r},Ly}var Gy,NG;function as(){if(NG)return Gy;NG=1;var n=Xt();return Gy=function(e,t,r){for(var i=r?e:e.iterator,s=e.next,o,a;!(o=n(s,i)).done;)if(a=t(o.value),a!==void 0)return a},Gy}var Wy,MG;function Ng(){if(MG)return Wy;MG=1;var n=as();return Wy=function(e,t,r){return r?n(e.keys(),t,!0):e.forEach(t)},Wy}var Vy,qG;function lT(){if(qG)return Vy;qG=1;var n=os(),e=Ng(),t=n.Set,r=n.add;return Vy=function(i){var s=new t;return e(i,function(o){r(s,o)}),s},Vy}var Zy,FG;function Mg(){return FG||(FG=1,Zy=function(n){return n.size}),Zy}var Hy,kG;function yce(){return kG||(kG=1,Hy=function(n){return{iterator:n,next:n.next,done:!1}}),Hy}var Uy,BG;function gs(){if(BG)return Uy;BG=1;var n=pi(),e=vi(),t=Xt(),r=qo(),i=yce(),s="Invalid size",o=RangeError,a=TypeError,g=Math.max,A=function(I,C){this.set=I,this.size=g(C,0),this.has=n(I.has),this.keys=n(I.keys)};return A.prototype={getIterator:function(){return i(e(t(this.keys,this.set)))},includes:function(I){return t(this.has,this.set,I)}},Uy=function(I){e(I);var C=+I.size;if(C!==C)throw new a(s);var d=r(C);if(d<0)throw new o(s);return new A(I,d)},Uy}var Ky,zG;function bce(){if(zG)return Ky;zG=1;var n=ss(),e=os(),t=lT(),r=Mg(),i=gs(),s=Ng(),o=as(),a=e.has,g=e.remove;return Ky=function(I){var C=n(this),d=i(I),l=t(C);return r(C)<=d.size?s(C,function(u){d.includes(u)&&g(l,u)}):o(d.getIterator(),function(u){a(l,u)&&g(l,u)}),l},Ky}var Yy,jG;function As(){return jG||(jG=1,Yy=function(){return!1}),Yy}var LG;function wce(){if(LG)return xG;LG=1;var n=Ae(),e=bce(),t=we(),r=As(),i=!r("difference",function(o){return o.size===0}),s=i||t(function(){var o={size:1,has:function(){return!0},keys:function(){var g=0;return{next:function(){var A=g++>1;return a.has(1)&&a.clear(),{done:A,value:2}}}}},a=new Set([1,2,3,4]);return a.difference(o).size!==3});return n({target:"Set",proto:!0,real:!0,forced:s},{difference:e}),xG}var GG={},Xy,WG;function Ece(){if(WG)return Xy;WG=1;var n=ss(),e=os(),t=Mg(),r=gs(),i=Ng(),s=as(),o=e.Set,a=e.add,g=e.has;return Xy=function(I){var C=n(this),d=r(I),l=new o;return t(C)>d.size?s(d.getIterator(),function(u){g(C,u)&&a(l,u)}):i(C,function(u){d.includes(u)&&a(l,u)}),l},Xy}var VG;function Sce(){if(VG)return GG;VG=1;var n=Ae(),e=we(),t=Ece(),r=As(),i=!r("intersection",function(s){return s.size===2&&s.has(1)&&s.has(2)})||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});return n({target:"Set",proto:!0,real:!0,forced:i},{intersection:t}),GG}var ZG={},Qy,HG;function _ce(){if(HG)return Qy;HG=1;var n=ss(),e=os().has,t=Mg(),r=gs(),i=Ng(),s=as(),o=IT();return Qy=function(g){var A=n(this),I=r(g);if(t(A)<=I.size)return i(A,function(d){if(I.includes(d))return!1},!0)!==!1;var C=I.getIterator();return s(C,function(d){if(e(A,d))return o(C,"normal",!1)})!==!1},Qy}var UG;function Oce(){if(UG)return ZG;UG=1;var n=Ae(),e=_ce(),t=As(),r=!t("isDisjointFrom",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isDisjointFrom:e}),ZG}var KG={},Jy,YG;function Tce(){if(YG)return Jy;YG=1;var n=ss(),e=Mg(),t=Ng(),r=gs();return Jy=function(s){var o=n(this),a=r(s);return e(o)>a.size?!1:t(o,function(g){if(!a.includes(g))return!1},!0)!==!1},Jy}var XG;function Rce(){if(XG)return KG;XG=1;var n=Ae(),e=Tce(),t=As(),r=!t("isSubsetOf",function(i){return i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSubsetOf:e}),KG}var QG={},eb,JG;function Pce(){if(JG)return eb;JG=1;var n=ss(),e=os().has,t=Mg(),r=gs(),i=as(),s=IT();return eb=function(a){var g=n(this),A=r(a);if(t(g)<A.size)return!1;var I=A.getIterator();return i(I,function(C){if(!e(g,C))return s(I,"normal",!1)})!==!1},eb}var eW;function xce(){if(eW)return QG;eW=1;var n=Ae(),e=Pce(),t=As(),r=!t("isSupersetOf",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSupersetOf:e}),QG}var tW={},tb,rW;function $ce(){if(rW)return tb;rW=1;var n=ss(),e=os(),t=lT(),r=gs(),i=as(),s=e.add,o=e.has,a=e.remove;return tb=function(A){var I=n(this),C=r(A).getIterator(),d=t(I);return i(C,function(l){o(I,l)?a(d,l):s(d,l)}),d},tb}var rb,iW;function T7(){return iW||(iW=1,rb=function(n){try{var e=new Set,t={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},r=e[n](t);return r.size===1&&r.values().next().value===4}catch{return!1}}),rb}var nW;function Dce(){if(nW)return tW;nW=1;var n=Ae(),e=$ce(),t=T7(),r=As(),i=!r("symmetricDifference")||!t("symmetricDifference");return n({target:"Set",proto:!0,real:!0,forced:i},{symmetricDifference:e}),tW}var sW={},ib,oW;function Nce(){if(oW)return ib;oW=1;var n=ss(),e=os().add,t=lT(),r=gs(),i=as();return ib=function(o){var a=n(this),g=r(o).getIterator(),A=t(a);return i(g,function(I){e(A,I)}),A},ib}var aW;function Mce(){if(aW)return sW;aW=1;var n=Ae(),e=Nce(),t=T7(),r=As(),i=!r("union")||!t("union");return n({target:"Set",proto:!0,real:!0,forced:i},{union:e}),sW}var nb,gW;function qce(){if(gW)return nb;gW=1,An(),mce(),wce(),Sce(),Oce(),Rce(),xce(),Dce(),Mce(),wI();var n=It();return nb=n.Set,nb}var sb,AW;function Fce(){if(AW)return sb;AW=1;var n=qce();return In(),sb=n,sb}var ob,IW;function kce(){return IW||(IW=1,ob=Fce()),ob}var Bce=kce(),ab=ce(Bce),gb,CW;function zce(){if(CW)return gb;CW=1,An(),wI();var n=b7();return gb=n,gb}var Ab,dW;function jce(){if(dW)return Ab;dW=1;var n=zce();return In(),Ab=n,Ab}var Ib,lW;function Lce(){if(lW)return Ib;lW=1;var n=jce();return Ib=n,Ib}var Cb,uW;function Gce(){if(uW)return Cb;uW=1;var n=Lce();return Cb=n,Cb}var db,hW;function Wce(){return hW||(hW=1,db=Gce()),db}var lb,cW;function Vce(){return cW||(cW=1,lb=Wce()),lb}var Zce=Vce(),ub=ce(Zce);class bn{constructor(e){this._pairs=e}*[Ds](){for(const[e,t]of this._pairs)yield[e,t]}*entries(){for(const[e,t]of this._pairs)yield[e,t]}*keys(){for(const[e]of this._pairs)yield e}*values(){for(const[,e]of this._pairs)yield e}toIdArray(){var e;return xr(e=[...this._pairs]).call(e,t=>t[0])}toItemArray(){var e;return xr(e=[...this._pairs]).call(e,t=>t[1])}toEntryArray(){return[...this._pairs]}toObjectMap(){const e=kle(null);for(const[t,r]of this._pairs)e[t]=r;return e}toMap(){return new O7(this._pairs)}toIdSet(){return new ab(this.toIdArray())}toItemSet(){return new ab(this.toItemArray())}cache(){return new bn([...this._pairs])}distinct(e){const t=new ab;for(const[r,i]of this._pairs)t.add(e(i,r));return t}filter(e){const t=this._pairs;return new bn({*[Ds](){for(const[r,i]of t)e(i,r)&&(yield[r,i])}})}forEach(e){for(const[t,r]of this._pairs)e(r,t)}map(e){const t=this._pairs;return new bn({*[Ds](){for(const[r,i]of t)yield[r,e(i,r)]}})}max(e){const t=ub(this._pairs);let r=t.next();if(r.done)return null;let i=r.value[1],s=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[o,a]=r.value,g=e(a,o);g>s&&(s=g,i=a)}return i}min(e){const t=ub(this._pairs);let r=t.next();if(r.done)return null;let i=r.value[1],s=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[o,a]=r.value,g=e(a,o);g<s&&(s=g,i=a)}return i}reduce(e,t){for(const[r,i]of this._pairs)t=e(t,i,r);return t}sort(e){return new bn({[Ds]:()=>{var t;return ub(j_(t=[...this._pairs]).call(t,(r,i)=>{let[s,o]=r,[a,g]=i;return e(o,g,s,a)}))}})}}function fW(n,e){var t=rT(n);if(o3){var r=o3(n);e&&(r=Ps(r).call(r,function(i){return v7(n,i).enumerable})),t.push.apply(t,r)}return t}function pW(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?qn(t=fW(Object(i),!0)).call(t,function(s){Wi(n,s,i[s])}):f3?uhe(n,f3(i)):qn(r=fW(Object(i))).call(r,function(s){fhe(n,s,v7(i,s))})}return n}function Hce(n,e){return n[e]==null&&(n[e]=pce()),n}class FA extends qA{get idProp(){return this._idProp}constructor(e,t){super(),Wi(this,"_queue",null),e&&!zr(e)&&(t=e,e=[]),this._options=t||{},this._data=new O7,this.length=0,this._idProp=this._options.fieldId||"id",e&&e.length&&this.add(e),this.setOptions(t)}setOptions(e){e&&e.queue!==void 0&&(e.queue===!1?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=dT.extend(this,{replace:["add","update","remove"]})),e.queue&&typeof e.queue=="object"&&this._queue.setOptions(e.queue)))}add(e,t){const r=[];let i;if(zr(e)){const s=xr(e).call(e,o=>o[this._idProp]);if(khe(s).call(s,o=>this._data.has(o)))throw new Error("A duplicate id was found in the parameter array.");for(let o=0,a=e.length;o<a;o++)i=this._addItem(e[o]),r.push(i)}else if(e&&typeof e=="object")i=this._addItem(e),r.push(i);else throw new Error("Unknown dataType");return r.length&&this._trigger("add",{items:r},t),r}update(e,t){const r=[],i=[],s=[],o=[],a=this._idProp,g=A=>{const I=A[a];if(I!=null&&this._data.has(I)){const C=A,d=_le({},this._data.get(I)),l=this._updateItem(C);i.push(l),o.push(C),s.push(d)}else{const C=this._addItem(A);r.push(C)}};if(zr(e))for(let A=0,I=e.length;A<I;A++)e[A]&&typeof e[A]=="object"?g(e[A]):console.warn("Ignoring input item, which is not an object at index "+A);else if(e&&typeof e=="object")g(e);else throw new Error("Unknown dataType");if(r.length&&this._trigger("add",{items:r},t),i.length){const A={items:i,oldData:s,data:o};this._trigger("update",A,t)}return $le(r).call(r,i)}updateOnly(e,t){var r;zr(e)||(e=[e]);const i=xr(r=xr(e).call(e,s=>{const o=this._data.get(s[this._idProp]);if(o==null)throw new Error("Updating non-existent items is not allowed.");return{oldData:o,update:s}})).call(r,s=>{let{oldData:o,update:a}=s;const g=o[this._idProp],A=Vue(o,a);return this._data.set(g,A),{id:g,oldData:o,updatedData:A}});if(i.length){const s={items:xr(i).call(i,o=>o.id),oldData:xr(i).call(i,o=>o.oldData),data:xr(i).call(i,o=>o.updatedData)};return this._trigger("update",s,t),s.items}else return[]}get(e,t){let r,i,s;_G(e)?(r=e,s=t):zr(e)?(i=e,s=t):s=e;const o=s&&s.returnType==="Object"?"Object":"Array",a=s&&Ps(s),g=[];let A,I,C;if(r!=null)A=this._data.get(r),A&&a&&!a(A)&&(A=void 0);else if(i!=null)for(let l=0,u=i.length;l<u;l++)A=this._data.get(i[l]),A!=null&&(!a||a(A))&&g.push(A);else{var d;I=[...bs(d=this._data).call(d)];for(let l=0,u=I.length;l<u;l++)C=I[l],A=this._data.get(C),A!=null&&(!a||a(A))&&g.push(A)}if(s&&s.order&&r==null&&this._sort(g,s.order),s&&s.fields){const l=s.fields;if(r!=null&&A!=null)A=this._filterFields(A,l);else for(let u=0,h=g.length;u<h;u++)g[u]=this._filterFields(g[u],l)}if(o=="Object"){const l={};for(let u=0,h=g.length;u<h;u++){const v=g[u],f=v[this._idProp];l[f]=v}return l}else return r!=null?A??null:g}getIds(e){const t=this._data,r=e&&Ps(e),i=e&&e.order,s=[...bs(t).call(t)],o=[];if(r)if(i){const a=[];for(let g=0,A=s.length;g<A;g++){const I=s[g],C=this._data.get(I);C!=null&&r(C)&&a.push(C)}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)o.push(a[g][this._idProp])}else for(let a=0,g=s.length;a<g;a++){const A=s[a],I=this._data.get(A);I!=null&&r(I)&&o.push(I[this._idProp])}else if(i){const a=[];for(let g=0,A=s.length;g<A;g++){const I=s[g];a.push(t.get(I))}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)o.push(a[g][this._idProp])}else for(let a=0,g=s.length;a<g;a++){const A=s[a],I=t.get(A);I!=null&&o.push(I[this._idProp])}return o}getDataSet(){return this}forEach(e,t){const r=t&&Ps(t),i=this._data,s=[...bs(i).call(i)];if(t&&t.order){const o=this.get(t);for(let a=0,g=o.length;a<g;a++){const A=o[a],I=A[this._idProp];e(A,I)}}else for(let o=0,a=s.length;o<a;o++){const g=s[o],A=this._data.get(g);A!=null&&(!r||r(A))&&e(A,g)}}map(e,t){const r=t&&Ps(t),i=[],s=this._data,o=[...bs(s).call(s)];for(let a=0,g=o.length;a<g;a++){const A=o[a],I=this._data.get(A);I!=null&&(!r||r(I))&&i.push(e(I,A))}return t&&t.order&&this._sort(i,t.order),i}_filterFields(e,t){var r;return e&&ude(r=zr(t)?t:rT(t)).call(r,(i,s)=>(i[s]=e[s],i),{})}_sort(e,t){if(typeof t=="string"){const r=t;j_(e).call(e,(i,s)=>{const o=i[r],a=s[r];return o>a?1:o<a?-1:0})}else if(typeof t=="function")j_(e).call(e,t);else throw new TypeError("Order must be a function or a string")}remove(e,t){const r=[],i=[],s=zr(e)?e:[e];for(let o=0,a=s.length;o<a;o++){const g=this._remove(s[o]);if(g){const A=g[this._idProp];A!=null&&(r.push(A),i.push(g))}}return r.length&&this._trigger("remove",{items:r,oldData:i},t),r}_remove(e){let t;if(_G(e)?t=e:e&&typeof e=="object"&&(t=e[this._idProp]),t!=null&&this._data.has(t)){const r=this._data.get(t)||null;return this._data.delete(t),--this.length,r}return null}clear(e){var t;const r=[...bs(t=this._data).call(t)],i=[];for(let s=0,o=r.length;s<o;s++)i.push(this._data.get(r[s]));return this._data.clear(),this.length=0,this._trigger("remove",{items:r,oldData:i},e),r}max(e){let t=null,r=null;for(const s of vG(i=this._data).call(i)){var i;const o=s[e];typeof o=="number"&&(r==null||o>r)&&(t=s,r=o)}return t||null}min(e){let t=null,r=null;for(const s of vG(i=this._data).call(i)){var i;const o=s[e];typeof o=="number"&&(r==null||o<r)&&(t=s,r=o)}return t||null}distinct(e){const t=this._data,r=[...bs(t).call(t)],i=[];let s=0;for(let o=0,a=r.length;o<a;o++){const g=r[o],I=t.get(g)[e];let C=!1;for(let d=0;d<s;d++)if(i[d]==I){C=!0;break}!C&&I!==void 0&&(i[s]=I,s++)}return i}_addItem(e){const t=Hce(e,this._idProp),r=t[this._idProp];if(this._data.has(r))throw new Error("Cannot add item: item with id "+r+" already exists");return this._data.set(r,t),++this.length,r}_updateItem(e){const t=e[this._idProp];if(t==null)throw new Error("Cannot update item: item has no id (item: "+Hle(e)+")");const r=this._data.get(t);if(!r)throw new Error("Cannot update item: no item with id "+t+" found");return this._data.set(t,pW(pW({},r),e)),t}stream(e){if(e){const r=this._data;return new bn({*[Ds](){for(const i of e){const s=r.get(i);s!=null&&(yield[i,s])}}})}else{var t;return new bn({[Ds]:zQ(t=dce(this._data)).call(t,this._data)})}}}function Uce(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof e.add=="function"&&typeof e.clear=="function"&&typeof e.distinct=="function"&&typeof qn(e)=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof xr(e)=="function"&&typeof e.max=="function"&&typeof e.min=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.remove=="function"&&typeof e.setOptions=="function"&&typeof e.stream=="function"&&typeof e.update=="function"&&typeof e.updateOnly=="function"}function R7(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof qn(e)=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof xr(e)=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.stream=="function"&&Uce(n,e.getDataSet())}/**
993
+ * vis-network
994
+ * https://visjs.github.io/vis-network/
995
+ *
996
+ * A dynamic, browser-based visualization library.
997
+ *
998
+ * @version 10.0.1
999
+ * @date 2025-07-13T08:15:32.270Z
1000
+ *
1001
+ * @copyright (c) 2011-2017 Almende B.V, http://almende.com
1002
+ * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
1003
+ *
1004
+ * @license
1005
+ * vis.js is dual licensed under both
1006
+ *
1007
+ * 1. The Apache 2.0 License
1008
+ * http://www.apache.org/licenses/LICENSE-2.0
1009
+ *
1010
+ * and
1011
+ *
1012
+ * 2. The MIT License
1013
+ * http://opensource.org/licenses/MIT
1014
+ *
1015
+ * vis.js may be distributed under either license.
1016
+ */var vW=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ge(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var mW={},da,yW;function ke(){if(yW)return da;yW=1;var n=function(e){return e&&e.Math===Math&&e};return da=n(typeof globalThis=="object"&&globalThis)||n(typeof window=="object"&&window)||n(typeof self=="object"&&self)||n(typeof vW=="object"&&vW)||n(typeof da=="object"&&da)||(function(){return this})()||Function("return this")(),da}var hb,bW;function me(){return bW||(bW=1,hb=function(n){try{return!!n()}catch{return!0}}),hb}var cb,wW;function qg(){if(wW)return cb;wW=1;var n=me();return cb=!n(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),cb}var fb,EW;function OI(){if(EW)return fb;EW=1;var n=qg(),e=Function.prototype,t=e.apply,r=e.call;return fb=typeof Reflect=="object"&&Reflect.apply||(n?r.bind(t):function(){return r.apply(t,arguments)}),fb}var pb,SW;function ye(){if(SW)return pb;SW=1;var n=qg(),e=Function.prototype,t=e.call,r=n&&e.bind.bind(t,t);return pb=n?r:function(i){return function(){return t.apply(i,arguments)}},pb}var vb,_W;function Jr(){if(_W)return vb;_W=1;var n=ye(),e=n({}.toString),t=n("".slice);return vb=function(r){return t(e(r),8,-1)},vb}var mb,OW;function uT(){if(OW)return mb;OW=1;var n=Jr(),e=ye();return mb=function(t){if(n(t)==="Function")return e(t)},mb}var yb,TW;function vt(){if(TW)return yb;TW=1;var n=typeof document=="object"&&document.all;return yb=typeof n>"u"&&n!==void 0?function(e){return typeof e=="function"||e===n}:function(e){return typeof e=="function"},yb}var bb={},wb,RW;function Qe(){if(RW)return wb;RW=1;var n=me();return wb=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),wb}var Eb,PW;function Jt(){if(PW)return Eb;PW=1;var n=qg(),e=Function.prototype.call;return Eb=n?e.bind(e):function(){return e.apply(e,arguments)},Eb}var Sb={},xW;function TI(){if(xW)return Sb;xW=1;var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,t=e&&!n.call({1:2},1);return Sb.f=t?function(i){var s=e(this,i);return!!s&&s.enumerable}:n,Sb}var _b,$W;function Fg(){return $W||($W=1,_b=function(n,e){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:e}}),_b}var Ob,DW;function RI(){if(DW)return Ob;DW=1;var n=ye(),e=me(),t=Jr(),r=Object,i=n("".split);return Ob=e(function(){return!r("z").propertyIsEnumerable(0)})?function(s){return t(s)==="String"?i(s,""):r(s)}:r,Ob}var Tb,NW;function jo(){return NW||(NW=1,Tb=function(n){return n==null}),Tb}var Rb,MW;function mi(){if(MW)return Rb;MW=1;var n=jo(),e=TypeError;return Rb=function(t){if(n(t))throw new e("Can't call method on "+t);return t},Rb}var Pb,qW;function Br(){if(qW)return Pb;qW=1;var n=RI(),e=mi();return Pb=function(t){return n(e(t))},Pb}var xb,FW;function mt(){if(FW)return xb;FW=1;var n=vt();return xb=function(e){return typeof e=="object"?e!==null:n(e)},xb}var $b,kW;function _e(){return kW||(kW=1,$b={}),$b}var Db,BW;function nr(){if(BW)return Db;BW=1;var n=_e(),e=ke(),t=vt(),r=function(i){return t(i)?i:void 0};return Db=function(i,s){return arguments.length<2?r(n[i])||r(e[i]):n[i]&&n[i][s]||e[i]&&e[i][s]},Db}var Nb,zW;function gt(){if(zW)return Nb;zW=1;var n=ye();return Nb=n({}.isPrototypeOf),Nb}var Mb,jW;function Lo(){if(jW)return Mb;jW=1;var n=ke(),e=n.navigator,t=e&&e.userAgent;return Mb=t?String(t):"",Mb}var qb,LW;function kg(){if(LW)return qb;LW=1;var n=ke(),e=Lo(),t=n.process,r=n.Deno,i=t&&t.versions||r&&r.version,s=i&&i.v8,o,a;return s&&(o=s.split("."),a=o[0]>0&&o[0]<4?1:+(o[0]+o[1])),!a&&e&&(o=e.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=e.match(/Chrome\/(\d+)/),o&&(a=+o[1]))),qb=a,qb}var Fb,GW;function Go(){if(GW)return Fb;GW=1;var n=kg(),e=me(),t=ke(),r=t.String;return Fb=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!r(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41}),Fb}var kb,WW;function P7(){if(WW)return kb;WW=1;var n=Go();return kb=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol",kb}var Bb,VW;function Bg(){if(VW)return Bb;VW=1;var n=nr(),e=vt(),t=gt(),r=P7(),i=Object;return Bb=r?function(s){return typeof s=="symbol"}:function(s){var o=n("Symbol");return e(o)&&t(o.prototype,i(s))},Bb}var zb,ZW;function Wo(){if(ZW)return zb;ZW=1;var n=String;return zb=function(e){try{return n(e)}catch{return"Object"}},zb}var jb,HW;function yi(){if(HW)return jb;HW=1;var n=vt(),e=Wo(),t=TypeError;return jb=function(r){if(n(r))return r;throw new t(e(r)+" is not a function")},jb}var Lb,UW;function hT(){if(UW)return Lb;UW=1;var n=yi(),e=jo();return Lb=function(t,r){var i=t[r];return e(i)?void 0:n(i)},Lb}var Gb,KW;function Kce(){if(KW)return Gb;KW=1;var n=Jt(),e=vt(),t=mt(),r=TypeError;return Gb=function(i,s){var o,a;if(s==="string"&&e(o=i.toString)&&!t(a=n(o,i))||e(o=i.valueOf)&&!t(a=n(o,i))||s!=="string"&&e(o=i.toString)&&!t(a=n(o,i)))return a;throw new r("Can't convert object to primitive value")},Gb}var Wb={exports:{}},Vb,YW;function Vo(){return YW||(YW=1,Vb=!0),Vb}var Zb,XW;function Yce(){if(XW)return Zb;XW=1;var n=ke(),e=Object.defineProperty;return Zb=function(t,r){try{e(n,t,{value:r,configurable:!0,writable:!0})}catch{n[t]=r}return r},Zb}var QW;function cT(){if(QW)return Wb.exports;QW=1;var n=Vo(),e=ke(),t=Yce(),r="__core-js_shared__",i=Wb.exports=e[r]||t(r,{});return(i.versions||(i.versions=[])).push({version:"3.44.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Wb.exports}var Hb,JW;function Zo(){if(JW)return Hb;JW=1;var n=cT();return Hb=function(e,t){return n[e]||(n[e]=t||{})},Hb}var Ub,eV;function pr(){if(eV)return Ub;eV=1;var n=mi(),e=Object;return Ub=function(t){return e(n(t))},Ub}var Kb,tV;function xt(){if(tV)return Kb;tV=1;var n=ye(),e=pr(),t=n({}.hasOwnProperty);return Kb=Object.hasOwn||function(i,s){return t(e(i),s)},Kb}var Yb,rV;function PI(){if(rV)return Yb;rV=1;var n=ye(),e=0,t=Math.random(),r=n(1.1.toString);return Yb=function(i){return"Symbol("+(i===void 0?"":i)+")_"+r(++e+t,36)},Yb}var Xb,iV;function At(){if(iV)return Xb;iV=1;var n=ke(),e=Zo(),t=xt(),r=PI(),i=Go(),s=P7(),o=n.Symbol,a=e("wks"),g=s?o.for||o:o&&o.withoutSetter||r;return Xb=function(A){return t(a,A)||(a[A]=i&&t(o,A)?o[A]:g("Symbol."+A)),a[A]},Xb}var Qb,nV;function x7(){if(nV)return Qb;nV=1;var n=Jt(),e=mt(),t=Bg(),r=hT(),i=Kce(),s=At(),o=TypeError,a=s("toPrimitive");return Qb=function(g,A){if(!e(g)||t(g))return g;var I=r(g,a),C;if(I){if(A===void 0&&(A="default"),C=n(I,g,A),!e(C)||t(C))return C;throw new o("Can't convert object to primitive value")}return A===void 0&&(A="number"),i(g,A)},Qb}var Jb,sV;function fT(){if(sV)return Jb;sV=1;var n=x7(),e=Bg();return Jb=function(t){var r=n(t,"string");return e(r)?r:r+""},Jb}var e1,oV;function $7(){if(oV)return e1;oV=1;var n=ke(),e=mt(),t=n.document,r=e(t)&&e(t.createElement);return e1=function(i){return r?t.createElement(i):{}},e1}var t1,aV;function D7(){if(aV)return t1;aV=1;var n=Qe(),e=me(),t=$7();return t1=!n&&!e(function(){return Object.defineProperty(t("div"),"a",{get:function(){return 7}}).a!==7}),t1}var gV;function xI(){if(gV)return bb;gV=1;var n=Qe(),e=Jt(),t=TI(),r=Fg(),i=Br(),s=fT(),o=xt(),a=D7(),g=Object.getOwnPropertyDescriptor;return bb.f=n?g:function(I,C){if(I=i(I),C=s(C),a)try{return g(I,C)}catch{}if(o(I,C))return r(!e(t.f,I,C),I[C])},bb}var r1,AV;function Xce(){if(AV)return r1;AV=1;var n=me(),e=vt(),t=/#|\.prototype\./,r=function(g,A){var I=s[i(g)];return I===a?!0:I===o?!1:e(A)?n(A):!!A},i=r.normalize=function(g){return String(g).replace(t,".").toLowerCase()},s=r.data={},o=r.NATIVE="N",a=r.POLYFILL="P";return r1=r,r1}var i1,IV;function $I(){if(IV)return i1;IV=1;var n=uT(),e=yi(),t=qg(),r=n(n.bind);return i1=function(i,s){return e(i),s===void 0?i:t?r(i,s):function(){return i.apply(s,arguments)}},i1}var n1={},s1,CV;function N7(){if(CV)return s1;CV=1;var n=Qe(),e=me();return s1=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),s1}var o1,dV;function ei(){if(dV)return o1;dV=1;var n=mt(),e=String,t=TypeError;return o1=function(r){if(n(r))return r;throw new t(e(r)+" is not an object")},o1}var lV;function vr(){if(lV)return n1;lV=1;var n=Qe(),e=D7(),t=N7(),r=ei(),i=fT(),s=TypeError,o=Object.defineProperty,a=Object.getOwnPropertyDescriptor,g="enumerable",A="configurable",I="writable";return n1.f=n?t?function(d,l,u){if(r(d),l=i(l),r(u),typeof d=="function"&&l==="prototype"&&"value"in u&&I in u&&!u[I]){var h=a(d,l);h&&h[I]&&(d[l]=u.value,u={configurable:A in u?u[A]:h[A],enumerable:g in u?u[g]:h[g],writable:!1})}return o(d,l,u)}:o:function(d,l,u){if(r(d),l=i(l),r(u),e)try{return o(d,l,u)}catch{}if("get"in u||"set"in u)throw new s("Accessors not supported");return"value"in u&&(d[l]=u.value),d},n1}var a1,uV;function Ho(){if(uV)return a1;uV=1;var n=Qe(),e=vr(),t=Fg();return a1=n?function(r,i,s){return e.f(r,i,t(1,s))}:function(r,i,s){return r[i]=s,r},a1}var g1,hV;function te(){if(hV)return g1;hV=1;var n=ke(),e=OI(),t=uT(),r=vt(),i=xI().f,s=Xce(),o=_e(),a=$I(),g=Ho(),A=xt(),I=function(C){var d=function(l,u,h){if(this instanceof d){switch(arguments.length){case 0:return new C;case 1:return new C(l);case 2:return new C(l,u)}return new C(l,u,h)}return e(C,this,arguments)};return d.prototype=C.prototype,d};return g1=function(C,d){var l=C.target,u=C.global,h=C.stat,v=C.proto,f=u?n:h?n[l]:n[l]&&n[l].prototype,c=u?o:o[l]||g(o,l,{})[l],b=c.prototype,p,y,E,S,m,w,_,T,R;for(S in d)p=s(u?S:l+(h?".":"#")+S,C.forced),y=!p&&f&&A(f,S),w=c[S],y&&(C.dontCallGetSet?(R=i(f,S),_=R&&R.value):_=f[S]),m=y&&_?_:d[S],!(!p&&!v&&typeof w==typeof m)&&(C.bind&&y?T=a(m,n):C.wrap&&y?T=I(m):v&&r(m)?T=t(m):T=m,(C.sham||m&&m.sham||w&&w.sham)&&g(T,"sham",!0),g(c,S,T),v&&(E=l+"Prototype",A(o,E)||g(o,E,{}),g(o[E],S,m),C.real&&b&&(p||!b[S])&&g(b,S,m)))},g1}var A1,cV;function Qce(){if(cV)return A1;cV=1;var n=Math.ceil,e=Math.floor;return A1=Math.trunc||function(r){var i=+r;return(i>0?e:n)(i)},A1}var I1,fV;function Uo(){if(fV)return I1;fV=1;var n=Qce();return I1=function(e){var t=+e;return t!==t||t===0?0:n(t)},I1}var C1,pV;function DI(){if(pV)return C1;pV=1;var n=Uo(),e=Math.max,t=Math.min;return C1=function(r,i){var s=n(r);return s<0?e(s+i,0):t(s,i)},C1}var d1,vV;function M7(){if(vV)return d1;vV=1;var n=Uo(),e=Math.min;return d1=function(t){var r=n(t);return r>0?e(r,9007199254740991):0},d1}var l1,mV;function bi(){if(mV)return l1;mV=1;var n=M7();return l1=function(e){return n(e.length)},l1}var u1,yV;function pT(){if(yV)return u1;yV=1;var n=Br(),e=DI(),t=bi(),r=function(i){return function(s,o,a){var g=n(s),A=t(g);if(A===0)return!i&&-1;var I=e(a,A),C;if(i&&o!==o){for(;A>I;)if(C=g[I++],C!==C)return!0}else for(;A>I;I++)if((i||I in g)&&g[I]===o)return i||I||0;return!i&&-1}};return u1={includes:r(!0),indexOf:r(!1)},u1}var h1,bV;function zg(){return bV||(bV=1,h1={}),h1}var c1,wV;function q7(){if(wV)return c1;wV=1;var n=ye(),e=xt(),t=Br(),r=pT().indexOf,i=zg(),s=n([].push);return c1=function(o,a){var g=t(o),A=0,I=[],C;for(C in g)!e(i,C)&&e(g,C)&&s(I,C);for(;a.length>A;)e(g,C=a[A++])&&(~r(I,C)||s(I,C));return I},c1}var f1,EV;function vT(){return EV||(EV=1,f1=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),f1}var p1,SV;function jg(){if(SV)return p1;SV=1;var n=q7(),e=vT();return p1=Object.keys||function(r){return n(r,e)},p1}var v1={},_V;function NI(){return _V||(_V=1,v1.f=Object.getOwnPropertySymbols),v1}var m1,OV;function Jce(){if(OV)return m1;OV=1;var n=Qe(),e=ye(),t=Jt(),r=me(),i=jg(),s=NI(),o=TI(),a=pr(),g=RI(),A=Object.assign,I=Object.defineProperty,C=e([].concat);return m1=!A||r(function(){if(n&&A({b:1},A(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var d={},l={},u=Symbol("assign detection"),h="abcdefghijklmnopqrst";return d[u]=7,h.split("").forEach(function(v){l[v]=v}),A({},d)[u]!==7||i(A({},l)).join("")!==h})?function(l,u){for(var h=a(l),v=arguments.length,f=1,c=s.f,b=o.f;v>f;)for(var p=g(arguments[f++]),y=c?C(i(p),c(p)):i(p),E=y.length,S=0,m;E>S;)m=y[S++],(!n||t(b,p,m))&&(h[m]=p[m]);return h}:A,m1}var TV;function efe(){if(TV)return mW;TV=1;var n=te(),e=Jce();return n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e}),mW}var y1,RV;function tfe(){if(RV)return y1;RV=1,efe();var n=_e();return y1=n.Object.assign,y1}var b1,PV;function rfe(){if(PV)return b1;PV=1;var n=tfe();return b1=n,b1}var w1,xV;function ife(){return xV||(xV=1,w1=rfe()),w1}var nfe=ife(),Tt=ge(nfe),$V={},E1,DV;function Ko(){if(DV)return E1;DV=1;var n=ye();return E1=n([].slice),E1}var S1,NV;function sfe(){if(NV)return S1;NV=1;var n=ye(),e=yi(),t=mt(),r=xt(),i=Ko(),s=qg(),o=Function,a=n([].concat),g=n([].join),A={},I=function(C,d,l){if(!r(A,d)){for(var u=[],h=0;h<d;h++)u[h]="a["+h+"]";A[d]=o("C,a","return new C("+g(u,",")+")")}return A[d](C,l)};return S1=s?o.bind:function(d){var l=e(this),u=l.prototype,h=i(arguments,1),v=function(){var c=a(h,i(arguments));return this instanceof v?I(l,c.length,c):l.apply(d,c)};return t(u)&&(v.prototype=u),v},S1}var MV;function ofe(){if(MV)return $V;MV=1;var n=te(),e=sfe();return n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e}),$V}var _1,qV;function $t(){if(qV)return _1;qV=1;var n=ke(),e=_e();return _1=function(t,r){var i=e[t+"Prototype"],s=i&&i[r];if(s)return s;var o=n[t],a=o&&o.prototype;return a&&a[r]},_1}var O1,FV;function afe(){if(FV)return O1;FV=1,ofe();var n=$t();return O1=n("Function","bind"),O1}var T1,kV;function gfe(){if(kV)return T1;kV=1;var n=gt(),e=afe(),t=Function.prototype;return T1=function(r){var i=r.bind;return r===t||n(t,r)&&i===t.bind?e:i},T1}var R1,BV;function Afe(){if(BV)return R1;BV=1;var n=gfe();return R1=n,R1}var P1,zV;function Ife(){return zV||(zV=1,P1=Afe()),P1}var Cfe=Ife(),j=ge(Cfe);function mT(n,e,t,r){n.beginPath(),n.arc(e,t,r,0,2*Math.PI,!1),n.closePath()}function dfe(n,e,t,r){n.beginPath(),n.rect(e-r,t-r,r*2,r*2),n.closePath()}function lfe(n,e,t,r){n.beginPath(),r*=1.15,t+=.275*r;const i=r*2,s=i/2,o=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-s*s);n.moveTo(e,t-(a-o)),n.lineTo(e+s,t+o),n.lineTo(e-s,t+o),n.lineTo(e,t-(a-o)),n.closePath()}function ufe(n,e,t,r){n.beginPath(),r*=1.15,t-=.275*r;const i=r*2,s=i/2,o=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-s*s);n.moveTo(e,t+(a-o)),n.lineTo(e+s,t-o),n.lineTo(e-s,t-o),n.lineTo(e,t+(a-o)),n.closePath()}function hfe(n,e,t,r){n.beginPath(),r*=.82,t+=.1*r;for(let i=0;i<10;i++){const s=i%2===0?r*1.3:r*.5;n.lineTo(e+s*Math.sin(i*2*Math.PI/10),t-s*Math.cos(i*2*Math.PI/10))}n.closePath()}function cfe(n,e,t,r){n.beginPath(),n.lineTo(e,t+r),n.lineTo(e+r,t),n.lineTo(e,t-r),n.lineTo(e-r,t),n.closePath()}function F7(n,e,t,r,i,s){const o=Math.PI/180;r-2*s<0&&(s=r/2),i-2*s<0&&(s=i/2),n.beginPath(),n.moveTo(e+s,t),n.lineTo(e+r-s,t),n.arc(e+r-s,t+s,s,o*270,o*360,!1),n.lineTo(e+r,t+i-s),n.arc(e+r-s,t+i-s,s,0,o*90,!1),n.lineTo(e+s,t+i),n.arc(e+s,t+i-s,s,o*90,o*180,!1),n.lineTo(e,t+s),n.arc(e+s,t+s,s,o*180,o*270,!1),n.closePath()}function L_(n,e,t,r,i){const s=.5522848,o=r/2*s,a=i/2*s,g=e+r,A=t+i,I=e+r/2,C=t+i/2;n.beginPath(),n.moveTo(e,C),n.bezierCurveTo(e,C-a,I-o,t,I,t),n.bezierCurveTo(I+o,t,g,C-a,g,C),n.bezierCurveTo(g,C+a,I+o,A,I,A),n.bezierCurveTo(I-o,A,e,C+a,e,C),n.closePath()}function k7(n,e,t,r,i){const s=.3333333333333333,o=r,a=i*s,g=.5522848,A=o/2*g,I=a/2*g,C=e+o,d=t+a,l=e+o/2,u=t+a/2,h=t+(i-a/2),v=t+i;n.beginPath(),n.moveTo(C,u),n.bezierCurveTo(C,u+I,l+A,d,l,d),n.bezierCurveTo(l-A,d,e,u+I,e,u),n.bezierCurveTo(e,u-I,l-A,t,l,t),n.bezierCurveTo(l+A,t,C,u-I,C,u),n.lineTo(C,h),n.bezierCurveTo(C,h+I,l+A,v,l,v),n.bezierCurveTo(l-A,v,e,h+I,e,h),n.lineTo(e,u)}function B7(n,e,t,r,i,s){n.beginPath(),n.moveTo(e,t);const o=s.length,a=r-e,g=i-t,A=g/a;let I=Math.sqrt(a*a+g*g),C=0,d=!0,l=0,u=+s[0];for(;I>=.1;)u=+s[C++%o],u>I&&(u=I),l=Math.sqrt(u*u/(1+A*A)),l=a<0?-l:l,e+=l,t+=A*l,d===!0?n.lineTo(e,t):n.moveTo(e,t),I-=u,d=!d}function ffe(n,e,t,r){n.beginPath();const i=6,s=Math.PI*2/i;n.moveTo(e+r,t);for(let o=1;o<i;o++)n.lineTo(e+r*Math.cos(s*o),t+r*Math.sin(s*o));n.closePath()}const jV={circle:mT,dashedLine:B7,database:k7,diamond:cfe,ellipse:L_,ellipse_vis:L_,hexagon:ffe,roundRect:F7,square:dfe,star:hfe,triangle:lfe,triangleDown:ufe};function pfe(n){return Object.prototype.hasOwnProperty.call(jV,n)?jV[n]:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];CanvasRenderingContext2D.prototype[n].call(e,r)}}var x1={exports:{}},LV;function vfe(){return LV||(LV=1,(function(n){n.exports=e;function e(r){if(r)return t(r)}function t(r){for(var i in e.prototype)r[i]=e.prototype[i];return r}e.prototype.on=e.prototype.addEventListener=function(r,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(i),this},e.prototype.once=function(r,i){function s(){this.off(r,s),i.apply(this,arguments)}return s.fn=i,this.on(r,s),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(r,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var s=this._callbacks["$"+r];if(!s)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var o,a=0;a<s.length;a++)if(o=s[a],o===i||o.fn===i){s.splice(a,1);break}return s.length===0&&delete this._callbacks["$"+r],this},e.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var i=new Array(arguments.length-1),s=this._callbacks["$"+r],o=1;o<arguments.length;o++)i[o-1]=arguments[o];if(s){s=s.slice(0);for(var o=0,a=s.length;o<a;++o)s[o].apply(this,i)}return this},e.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]},e.prototype.hasListeners=function(r){return!!this.listeners(r).length}})(x1)),x1.exports}var mfe=vfe(),z7=ge(mfe);/*! Hammer.JS - v2.0.17-rc - 2019-12-16
1017
+ * http://naver.github.io/egjs
1018
+ *
1019
+ * Forked By Naver egjs
1020
+ * Copyright (c) hammerjs
1021
+ * Licensed under the MIT license */function qr(){return qr=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},qr.apply(this,arguments)}function mr(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function gA(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}var G_;typeof Object.assign!="function"?G_=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var s in i)i.hasOwnProperty(s)&&(t[s]=i[s])}return t}:G_=Object.assign;var zn=G_,GV=["","webkit","Moz","MS","ms","o"],yfe=typeof document>"u"?{style:{}}:document.createElement("div"),bfe="function",Ns=Math.round,jn=Math.abs,yT=Date.now;function MI(n,e){for(var t,r,i=e[0].toUpperCase()+e.slice(1),s=0;s<GV.length;){if(t=GV[s],r=t?t+i:e,r in n)return r;s++}}var Ii;typeof window>"u"?Ii={}:Ii=window;var j7=MI(yfe.style,"touchAction"),L7=j7!==void 0;function wfe(){if(!L7)return!1;var n={},e=Ii.CSS&&Ii.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return n[t]=e?Ii.CSS.supports("touch-action",t):!0}),n}var G7="compute",W7="auto",W_="manipulation",Pn="none",Ka="pan-x",Ya="pan-y",AA=wfe(),Efe=/mobile|tablet|ip(ad|hone|od)|android/i,V7="ontouchstart"in Ii,Sfe=MI(Ii,"PointerEvent")!==void 0,_fe=V7&&Efe.test(navigator.userAgent),Lg="touch",Ofe="pen",bT="mouse",Tfe="kinect",Rfe=25,jt=1,Is=2,it=4,Kt=8,kA=1,Gg=2,Wg=4,Vg=8,Ao=16,Kr=Gg|Wg,xn=Vg|Ao,Z7=Kr|xn,H7=["x","y"],BA=["clientX","clientY"];function Ci(n,e,t){var r;if(n)if(n.forEach)n.forEach(e,t);else if(n.length!==void 0)for(r=0;r<n.length;)e.call(t,n[r],r,n),r++;else for(r in n)n.hasOwnProperty(r)&&e.call(t,n[r],r,n)}function qI(n,e){return typeof n===bfe?n.apply(e&&e[0]||void 0,e):n}function wn(n,e){return n.indexOf(e)>-1}function Pfe(n){if(wn(n,Pn))return Pn;var e=wn(n,Ka),t=wn(n,Ya);return e&&t?Pn:e||t?e?Ka:Ya:wn(n,W_)?W_:W7}var U7=(function(){function n(t,r){this.manager=t,this.set(r)}var e=n.prototype;return e.set=function(r){r===G7&&(r=this.compute()),L7&&this.manager.element.style&&AA[r]&&(this.manager.element.style[j7]=r),this.actions=r.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var r=[];return Ci(this.manager.recognizers,function(i){qI(i.options.enable,[i])&&(r=r.concat(i.getTouchAction()))}),Pfe(r.join(" "))},e.preventDefaults=function(r){var i=r.srcEvent,s=r.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var o=this.actions,a=wn(o,Pn)&&!AA[Pn],g=wn(o,Ya)&&!AA[Ya],A=wn(o,Ka)&&!AA[Ka];if(a){var I=r.pointers.length===1,C=r.distance<2,d=r.deltaTime<250;if(I&&C&&d)return}if(!(A&&g)&&(a||g&&s&Kr||A&&s&xn))return this.preventSrc(i)},e.preventSrc=function(r){this.manager.session.prevented=!0,r.preventDefault()},n})();function wT(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function K7(n){var e=n.length;if(e===1)return{x:Ns(n[0].clientX),y:Ns(n[0].clientY)};for(var t=0,r=0,i=0;i<e;)t+=n[i].clientX,r+=n[i].clientY,i++;return{x:Ns(t/e),y:Ns(r/e)}}function WV(n){for(var e=[],t=0;t<n.pointers.length;)e[t]={clientX:Ns(n.pointers[t].clientX),clientY:Ns(n.pointers[t].clientY)},t++;return{timeStamp:yT(),pointers:e,center:K7(e),deltaX:n.deltaX,deltaY:n.deltaY}}function zA(n,e,t){t||(t=H7);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.sqrt(r*r+i*i)}function V_(n,e,t){t||(t=H7);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.atan2(i,r)*180/Math.PI}function Y7(n,e){return n===e?kA:jn(n)>=jn(e)?n<0?Gg:Wg:e<0?Vg:Ao}function xfe(n,e){var t=e.center,r=n.offsetDelta||{},i=n.prevDelta||{},s=n.prevInput||{};(e.eventType===jt||s.eventType===it)&&(i=n.prevDelta={x:s.deltaX||0,y:s.deltaY||0},r=n.offsetDelta={x:t.x,y:t.y}),e.deltaX=i.x+(t.x-r.x),e.deltaY=i.y+(t.y-r.y)}function X7(n,e,t){return{x:e/n||0,y:t/n||0}}function $fe(n,e){return zA(e[0],e[1],BA)/zA(n[0],n[1],BA)}function Dfe(n,e){return V_(e[1],e[0],BA)+V_(n[1],n[0],BA)}function Nfe(n,e){var t=n.lastInterval||e,r=e.timeStamp-t.timeStamp,i,s,o,a;if(e.eventType!==Kt&&(r>Rfe||t.velocity===void 0)){var g=e.deltaX-t.deltaX,A=e.deltaY-t.deltaY,I=X7(r,g,A);s=I.x,o=I.y,i=jn(I.x)>jn(I.y)?I.x:I.y,a=Y7(g,A),n.lastInterval=e}else i=t.velocity,s=t.velocityX,o=t.velocityY,a=t.direction;e.velocity=i,e.velocityX=s,e.velocityY=o,e.direction=a}function Mfe(n,e){var t=n.session,r=e.pointers,i=r.length;t.firstInput||(t.firstInput=WV(e)),i>1&&!t.firstMultiple?t.firstMultiple=WV(e):i===1&&(t.firstMultiple=!1);var s=t.firstInput,o=t.firstMultiple,a=o?o.center:s.center,g=e.center=K7(r);e.timeStamp=yT(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=V_(a,g),e.distance=zA(a,g),xfe(t,e),e.offsetDirection=Y7(e.deltaX,e.deltaY);var A=X7(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=A.x,e.overallVelocityY=A.y,e.overallVelocity=jn(A.x)>jn(A.y)?A.x:A.y,e.scale=o?$fe(o.pointers,r):1,e.rotation=o?Dfe(o.pointers,r):0,e.maxPointers=t.prevInput?e.pointers.length>t.prevInput.maxPointers?e.pointers.length:t.prevInput.maxPointers:e.pointers.length,Nfe(t,e);var I=n.element,C=e.srcEvent,d;C.composedPath?d=C.composedPath()[0]:C.path?d=C.path[0]:d=C.target,wT(d,I)&&(I=d),e.target=I}function qfe(n,e,t){var r=t.pointers.length,i=t.changedPointers.length,s=e&jt&&r-i===0,o=e&(it|Kt)&&r-i===0;t.isFirst=!!s,t.isFinal=!!o,s&&(n.session={}),t.eventType=e,Mfe(n,t),n.emit("hammer.input",t),n.recognize(t),n.session.prevInput=t}function Xa(n){return n.trim().split(/\s+/g)}function Ra(n,e,t){Ci(Xa(e),function(r){n.addEventListener(r,t,!1)})}function Pa(n,e,t){Ci(Xa(e),function(r){n.removeEventListener(r,t,!1)})}function VV(n){var e=n.ownerDocument||n;return e.defaultView||e.parentWindow||window}var Yo=(function(){function n(t,r){var i=this;this.manager=t,this.callback=r,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(s){qI(t.options.enable,[t])&&i.handler(s)},this.init()}var e=n.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Ra(this.element,this.evEl,this.domHandler),this.evTarget&&Ra(this.target,this.evTarget,this.domHandler),this.evWin&&Ra(VV(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Pa(this.element,this.evEl,this.domHandler),this.evTarget&&Pa(this.target,this.evTarget,this.domHandler),this.evWin&&Pa(VV(this.element),this.evWin,this.domHandler)},n})();function Ln(n,e,t){if(n.indexOf&&!t)return n.indexOf(e);for(var r=0;r<n.length;){if(t&&n[r][t]==e||!t&&n[r]===e)return r;r++}return-1}var Ffe={pointerdown:jt,pointermove:Is,pointerup:it,pointercancel:Kt,pointerout:Kt},kfe={2:Lg,3:Ofe,4:bT,5:Tfe},Q7="pointerdown",J7="pointermove pointerup pointercancel";Ii.MSPointerEvent&&!Ii.PointerEvent&&(Q7="MSPointerDown",J7="MSPointerMove MSPointerUp MSPointerCancel");var eJ=(function(n){mr(e,n);function e(){var r,i=e.prototype;return i.evEl=Q7,i.evWin=J7,r=n.apply(this,arguments)||this,r.store=r.manager.session.pointerEvents=[],r}var t=e.prototype;return t.handler=function(i){var s=this.store,o=!1,a=i.type.toLowerCase().replace("ms",""),g=Ffe[a],A=kfe[i.pointerType]||i.pointerType,I=A===Lg,C=Ln(s,i.pointerId,"pointerId");g&jt&&(i.button===0||I)?C<0&&(s.push(i),C=s.length-1):g&(it|Kt)&&(o=!0),!(C<0)&&(s[C]=i,this.callback(this.manager,g,{pointers:s,changedPointers:[i],pointerType:A,srcEvent:i}),o&&s.splice(C,1))},e})(Yo);function Qa(n){return Array.prototype.slice.call(n,0)}function ET(n,e,t){for(var r=[],i=[],s=0;s<n.length;){var o=e?n[s][e]:n[s];Ln(i,o)<0&&r.push(n[s]),i[s]=o,s++}return t&&(e?r=r.sort(function(a,g){return a[e]>g[e]}):r=r.sort()),r}var Bfe={touchstart:jt,touchmove:Is,touchend:it,touchcancel:Kt},zfe="touchstart touchmove touchend touchcancel",ST=(function(n){mr(e,n);function e(){var r;return e.prototype.evTarget=zfe,r=n.apply(this,arguments)||this,r.targetIds={},r}var t=e.prototype;return t.handler=function(i){var s=Bfe[i.type],o=jfe.call(this,i,s);o&&this.callback(this.manager,s,{pointers:o[0],changedPointers:o[1],pointerType:Lg,srcEvent:i})},e})(Yo);function jfe(n,e){var t=Qa(n.touches),r=this.targetIds;if(e&(jt|Is)&&t.length===1)return r[t[0].identifier]=!0,[t,t];var i,s,o=Qa(n.changedTouches),a=[],g=this.target;if(s=t.filter(function(A){return wT(A.target,g)}),e===jt)for(i=0;i<s.length;)r[s[i].identifier]=!0,i++;for(i=0;i<o.length;)r[o[i].identifier]&&a.push(o[i]),e&(it|Kt)&&delete r[o[i].identifier],i++;if(a.length)return[ET(s.concat(a),"identifier",!0),a]}var Lfe={mousedown:jt,mousemove:Is,mouseup:it},Gfe="mousedown",Wfe="mousemove mouseup",_T=(function(n){mr(e,n);function e(){var r,i=e.prototype;return i.evEl=Gfe,i.evWin=Wfe,r=n.apply(this,arguments)||this,r.pressed=!1,r}var t=e.prototype;return t.handler=function(i){var s=Lfe[i.type];s&jt&&i.button===0&&(this.pressed=!0),s&Is&&i.which!==1&&(s=it),this.pressed&&(s&it&&(this.pressed=!1),this.callback(this.manager,s,{pointers:[i],changedPointers:[i],pointerType:bT,srcEvent:i}))},e})(Yo),Vfe=2500,ZV=25;function HV(n){var e=n.changedPointers,t=e[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY},i=this.lastTouches;this.lastTouches.push(r);var s=function(){var a=i.indexOf(r);a>-1&&i.splice(a,1)};setTimeout(s,Vfe)}}function Zfe(n,e){n&jt?(this.primaryTouch=e.changedPointers[0].identifier,HV.call(this,e)):n&(it|Kt)&&HV.call(this,e)}function Hfe(n){for(var e=n.srcEvent.clientX,t=n.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],s=Math.abs(e-i.x),o=Math.abs(t-i.y);if(s<=ZV&&o<=ZV)return!0}return!1}var tJ=(function(){var n=(function(e){mr(t,e);function t(i,s){var o;return o=e.call(this,i,s)||this,o.handler=function(a,g,A){var I=A.pointerType===Lg,C=A.pointerType===bT;if(!(C&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(I)Zfe.call(gA(gA(o)),g,A);else if(C&&Hfe.call(gA(gA(o)),A))return;o.callback(a,g,A)}},o.touch=new ST(o.manager,o.handler),o.mouse=new _T(o.manager,o.handler),o.primaryTouch=null,o.lastTouches=[],o}var r=t.prototype;return r.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t})(Yo);return n})();function Ufe(n){var e,t=n.options.inputClass;return t?e=t:Sfe?e=eJ:_fe?e=ST:V7?e=tJ:e=_T,new e(n,qfe)}function Ms(n,e,t){return Array.isArray(n)?(Ci(n,t[e],t),!0):!1}var pA=1,Cr=2,Io=4,Zi=8,di=Zi,Ja=16,Wr=32,Kfe=1;function Yfe(){return Kfe++}function IA(n,e){var t=e.manager;return t?t.get(n):n}function UV(n){return n&Ja?"cancel":n&Zi?"end":n&Io?"move":n&Cr?"start":""}var Zg=(function(){function n(t){t===void 0&&(t={}),this.options=qr({enable:!0},t),this.id=Yfe(),this.manager=null,this.state=pA,this.simultaneous={},this.requireFail=[]}var e=n.prototype;return e.set=function(r){return zn(this.options,r),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(r){if(Ms(r,"recognizeWith",this))return this;var i=this.simultaneous;return r=IA(r,this),i[r.id]||(i[r.id]=r,r.recognizeWith(this)),this},e.dropRecognizeWith=function(r){return Ms(r,"dropRecognizeWith",this)?this:(r=IA(r,this),delete this.simultaneous[r.id],this)},e.requireFailure=function(r){if(Ms(r,"requireFailure",this))return this;var i=this.requireFail;return r=IA(r,this),Ln(i,r)===-1&&(i.push(r),r.requireFailure(this)),this},e.dropRequireFailure=function(r){if(Ms(r,"dropRequireFailure",this))return this;r=IA(r,this);var i=Ln(this.requireFail,r);return i>-1&&this.requireFail.splice(i,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(r){return!!this.simultaneous[r.id]},e.emit=function(r){var i=this,s=this.state;function o(a){i.manager.emit(a,r)}s<Zi&&o(i.options.event+UV(s)),o(i.options.event),r.additionalEvent&&o(r.additionalEvent),s>=Zi&&o(i.options.event+UV(s))},e.tryEmit=function(r){if(this.canEmit())return this.emit(r);this.state=Wr},e.canEmit=function(){for(var r=0;r<this.requireFail.length;){if(!(this.requireFail[r].state&(Wr|pA)))return!1;r++}return!0},e.recognize=function(r){var i=zn({},r);if(!qI(this.options.enable,[this,i])){this.reset(),this.state=Wr;return}this.state&(di|Ja|Wr)&&(this.state=pA),this.state=this.process(i),this.state&(Cr|Io|Zi|Ja)&&this.tryEmit(i)},e.process=function(r){},e.getTouchAction=function(){},e.reset=function(){},n})(),Z_=(function(n){mr(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,qr({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},r))||this,i.pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}var t=e.prototype;return t.getTouchAction=function(){return[W_]},t.process=function(i){var s=this,o=this.options,a=i.pointers.length===o.pointers,g=i.distance<o.threshold,A=i.deltaTime<o.time;if(this.reset(),i.eventType&jt&&this.count===0)return this.failTimeout();if(g&&A&&a){if(i.eventType!==it)return this.failTimeout();var I=this.pTime?i.timeStamp-this.pTime<o.interval:!0,C=!this.pCenter||zA(this.pCenter,i.center)<o.posThreshold;this.pTime=i.timeStamp,this.pCenter=i.center,!C||!I?this.count=1:this.count+=1,this._input=i;var d=this.count%o.taps;if(d===0)return this.hasRequireFailures()?(this._timer=setTimeout(function(){s.state=di,s.tryEmit()},o.interval),Cr):di}return Wr},t.failTimeout=function(){var i=this;return this._timer=setTimeout(function(){i.state=Wr},this.options.interval),Wr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){this.state===di&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e})(Zg),Co=(function(n){mr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,qr({pointers:1},r))||this}var t=e.prototype;return t.attrTest=function(i){var s=this.options.pointers;return s===0||i.pointers.length===s},t.process=function(i){var s=this.state,o=i.eventType,a=s&(Cr|Io),g=this.attrTest(i);return a&&(o&Kt||!g)?s|Ja:a||g?o&it?s|Zi:s&Cr?s|Io:Cr:Wr},e})(Zg);function rJ(n){return n===Ao?"down":n===Vg?"up":n===Gg?"left":n===Wg?"right":""}var OT=(function(n){mr(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,qr({event:"pan",threshold:10,pointers:1,direction:Z7},r))||this,i.pX=null,i.pY=null,i}var t=e.prototype;return t.getTouchAction=function(){var i=this.options.direction,s=[];return i&Kr&&s.push(Ya),i&xn&&s.push(Ka),s},t.directionTest=function(i){var s=this.options,o=!0,a=i.distance,g=i.direction,A=i.deltaX,I=i.deltaY;return g&s.direction||(s.direction&Kr?(g=A===0?kA:A<0?Gg:Wg,o=A!==this.pX,a=Math.abs(i.deltaX)):(g=I===0?kA:I<0?Vg:Ao,o=I!==this.pY,a=Math.abs(i.deltaY))),i.direction=g,o&&a>s.threshold&&g&s.direction},t.attrTest=function(i){return Co.prototype.attrTest.call(this,i)&&(this.state&Cr||!(this.state&Cr)&&this.directionTest(i))},t.emit=function(i){this.pX=i.deltaX,this.pY=i.deltaY;var s=rJ(i.direction);s&&(i.additionalEvent=this.options.event+s),n.prototype.emit.call(this,i)},e})(Co),iJ=(function(n){mr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,qr({event:"swipe",threshold:10,velocity:.3,direction:Kr|xn,pointers:1},r))||this}var t=e.prototype;return t.getTouchAction=function(){return OT.prototype.getTouchAction.call(this)},t.attrTest=function(i){var s=this.options.direction,o;return s&(Kr|xn)?o=i.overallVelocity:s&Kr?o=i.overallVelocityX:s&xn&&(o=i.overallVelocityY),n.prototype.attrTest.call(this,i)&&s&i.offsetDirection&&i.distance>this.options.threshold&&i.maxPointers===this.options.pointers&&jn(o)>this.options.velocity&&i.eventType&it},t.emit=function(i){var s=rJ(i.offsetDirection);s&&this.manager.emit(this.options.event+s,i),this.manager.emit(this.options.event,i)},e})(Co),nJ=(function(n){mr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,qr({event:"pinch",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Pn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.scale-1)>this.options.threshold||this.state&Cr)},t.emit=function(i){if(i.scale!==1){var s=i.scale<1?"in":"out";i.additionalEvent=this.options.event+s}n.prototype.emit.call(this,i)},e})(Co),sJ=(function(n){mr(e,n);function e(r){return r===void 0&&(r={}),n.call(this,qr({event:"rotate",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Pn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.rotation)>this.options.threshold||this.state&Cr)},e})(Co),oJ=(function(n){mr(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,qr({event:"press",pointers:1,time:251,threshold:9},r))||this,i._timer=null,i._input=null,i}var t=e.prototype;return t.getTouchAction=function(){return[W7]},t.process=function(i){var s=this,o=this.options,a=i.pointers.length===o.pointers,g=i.distance<o.threshold,A=i.deltaTime>o.time;if(this._input=i,!g||!a||i.eventType&(it|Kt)&&!A)this.reset();else if(i.eventType&jt)this.reset(),this._timer=setTimeout(function(){s.state=di,s.tryEmit()},o.time);else if(i.eventType&it)return di;return Wr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(i){this.state===di&&(i&&i.eventType&it?this.manager.emit(this.options.event+"up",i):(this._input.timeStamp=yT(),this.manager.emit(this.options.event,this._input)))},e})(Zg),aJ={domEvents:!1,touchAction:G7,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},KV=[[sJ,{enable:!1}],[nJ,{enable:!1},["rotate"]],[iJ,{direction:Kr}],[OT,{direction:Kr},["swipe"]],[Z_],[Z_,{event:"doubletap",taps:2},["tap"]],[oJ]],Xfe=1,YV=2;function XV(n,e){var t=n.element;if(t.style){var r;Ci(n.options.cssProps,function(i,s){r=MI(t.style,s),e?(n.oldCssProps[r]=t.style[r],t.style[r]=i):t.style[r]=n.oldCssProps[r]||""}),e||(n.oldCssProps={})}}function Qfe(n,e){var t=document.createEvent("Event");t.initEvent(n,!0,!0),t.gesture=e,e.target.dispatchEvent(t)}var QV=(function(){function n(t,r){var i=this;this.options=zn({},aJ,r||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=Ufe(this),this.touchAction=new U7(this,this.options.touchAction),XV(this,!0),Ci(this.options.recognizers,function(s){var o=i.add(new s[0](s[1]));s[2]&&o.recognizeWith(s[2]),s[3]&&o.requireFailure(s[3])},this)}var e=n.prototype;return e.set=function(r){return zn(this.options,r),r.touchAction&&this.touchAction.update(),r.inputTarget&&(this.input.destroy(),this.input.target=r.inputTarget,this.input.init()),this},e.stop=function(r){this.session.stopped=r?YV:Xfe},e.recognize=function(r){var i=this.session;if(!i.stopped){this.touchAction.preventDefaults(r);var s,o=this.recognizers,a=i.curRecognizer;(!a||a&&a.state&di)&&(i.curRecognizer=null,a=null);for(var g=0;g<o.length;)s=o[g],i.stopped!==YV&&(!a||s===a||s.canRecognizeWith(a))?s.recognize(r):s.reset(),!a&&s.state&(Cr|Io|Zi)&&(i.curRecognizer=s,a=s),g++}},e.get=function(r){if(r instanceof Zg)return r;for(var i=this.recognizers,s=0;s<i.length;s++)if(i[s].options.event===r)return i[s];return null},e.add=function(r){if(Ms(r,"add",this))return this;var i=this.get(r.options.event);return i&&this.remove(i),this.recognizers.push(r),r.manager=this,this.touchAction.update(),r},e.remove=function(r){if(Ms(r,"remove",this))return this;var i=this.get(r);if(r){var s=this.recognizers,o=Ln(s,i);o!==-1&&(s.splice(o,1),this.touchAction.update())}return this},e.on=function(r,i){if(r===void 0||i===void 0)return this;var s=this.handlers;return Ci(Xa(r),function(o){s[o]=s[o]||[],s[o].push(i)}),this},e.off=function(r,i){if(r===void 0)return this;var s=this.handlers;return Ci(Xa(r),function(o){i?s[o]&&s[o].splice(Ln(s[o],i),1):delete s[o]}),this},e.emit=function(r,i){this.options.domEvents&&Qfe(r,i);var s=this.handlers[r]&&this.handlers[r].slice();if(!(!s||!s.length)){i.type=r,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var o=0;o<s.length;)s[o](i),o++}},e.destroy=function(){this.element&&XV(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},n})(),Jfe={touchstart:jt,touchmove:Is,touchend:it,touchcancel:Kt},epe="touchstart",tpe="touchstart touchmove touchend touchcancel",rpe=(function(n){mr(e,n);function e(){var r,i=e.prototype;return i.evTarget=epe,i.evWin=tpe,r=n.apply(this,arguments)||this,r.started=!1,r}var t=e.prototype;return t.handler=function(i){var s=Jfe[i.type];if(s===jt&&(this.started=!0),!!this.started){var o=ipe.call(this,i,s);s&(it|Kt)&&o[0].length-o[1].length===0&&(this.started=!1),this.callback(this.manager,s,{pointers:o[0],changedPointers:o[1],pointerType:Lg,srcEvent:i})}},e})(Yo);function ipe(n,e){var t=Qa(n.touches),r=Qa(n.changedTouches);return e&(it|Kt)&&(t=ET(t.concat(r),"identifier",!0)),[t,r]}function gJ(n,e,t){var r="DEPRECATED METHOD: "+e+`
1022
+ `+t+` AT
1023
+ `;return function(){var i=new Error("get-stack-trace"),s=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,r,s),n.apply(this,arguments)}}var AJ=gJ(function(n,e,t){for(var r=Object.keys(e),i=0;i<r.length;)(!t||t&&n[r[i]]===void 0)&&(n[r[i]]=e[r[i]]),i++;return n},"extend","Use `assign`."),npe=gJ(function(n,e){return AJ(n,e,!0)},"merge","Use `assign`.");function spe(n,e,t){var r=e.prototype,i;i=n.prototype=Object.create(r),i.constructor=n,i._super=r,t&&zn(i,t)}function JV(n,e){return function(){return n.apply(e,arguments)}}var IJ=(function(){var n=function(t,r){return r===void 0&&(r={}),new QV(t,qr({recognizers:KV.concat()},r))};return n.VERSION="2.0.17-rc",n.DIRECTION_ALL=Z7,n.DIRECTION_DOWN=Ao,n.DIRECTION_LEFT=Gg,n.DIRECTION_RIGHT=Wg,n.DIRECTION_UP=Vg,n.DIRECTION_HORIZONTAL=Kr,n.DIRECTION_VERTICAL=xn,n.DIRECTION_NONE=kA,n.DIRECTION_DOWN=Ao,n.INPUT_START=jt,n.INPUT_MOVE=Is,n.INPUT_END=it,n.INPUT_CANCEL=Kt,n.STATE_POSSIBLE=pA,n.STATE_BEGAN=Cr,n.STATE_CHANGED=Io,n.STATE_ENDED=Zi,n.STATE_RECOGNIZED=di,n.STATE_CANCELLED=Ja,n.STATE_FAILED=Wr,n.Manager=QV,n.Input=Yo,n.TouchAction=U7,n.TouchInput=ST,n.MouseInput=_T,n.PointerEventInput=eJ,n.TouchMouseInput=tJ,n.SingleTouchInput=rpe,n.Recognizer=Zg,n.AttrRecognizer=Co,n.Tap=Z_,n.Pan=OT,n.Swipe=iJ,n.Pinch=nJ,n.Rotate=sJ,n.Press=oJ,n.on=Ra,n.off=Pa,n.each=Ci,n.merge=npe,n.extend=AJ,n.bindFn=JV,n.assign=zn,n.inherit=spe,n.bindFn=JV,n.prefixed=MI,n.toArray=Qa,n.inArray=Ln,n.uniqueArray=ET,n.splitStr=Xa,n.boolOrFn=qI,n.hasParent=wT,n.addEventListeners=Ra,n.removeEventListeners=Pa,n.defaults=zn({},aJ,{preset:KV}),n})();IJ.defaults;/**
1024
+ * vis-util
1025
+ * https://github.com/visjs/vis-util
1026
+ *
1027
+ * utilitie collection for visjs
1028
+ *
1029
+ * @version 6.0.0
1030
+ * @date 2025-07-12T18:02:43.836Z
1031
+ *
1032
+ * @copyright (c) 2011-2017 Almende B.V, http://almende.com
1033
+ * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
1034
+ *
1035
+ * @license
1036
+ * vis.js is dual licensed under both
1037
+ *
1038
+ * 1. The Apache 2.0 License
1039
+ * http://www.apache.org/licenses/LICENSE-2.0
1040
+ *
1041
+ * and
1042
+ *
1043
+ * 2. The MIT License
1044
+ * http://opensource.org/licenses/MIT
1045
+ *
1046
+ * vis.js may be distributed under either license.
1047
+ */function FI(...n){return ope(n.length?n:[Date.now()])}function ope(n){let[e,t,r]=ape(n),i=1;const s=()=>{const o=2091639*e+i*23283064365386963e-26;return e=t,t=r,r=o-(i=o|0)};return s.uint32=()=>s()*4294967296,s.fract53=()=>s()+(s()*2097152|0)*11102230246251565e-32,s.algorithm="Alea",s.seed=n,s.version="0.9",s}function ape(...n){const e=gpe();let t=e(" "),r=e(" "),i=e(" ");for(let s=0;s<n.length;s++)t-=e(n[s]),t<0&&(t+=1),r-=e(n[s]),r<0&&(r+=1),i-=e(n[s]),i<0&&(i+=1);return[t,r,i]}function gpe(){let n=4022871197;return function(e){const t=e.toString();for(let r=0;r<t.length;r++){n+=t.charCodeAt(r);let i=.02519603282416938*n;n=i>>>0,i-=n,i*=n,n=i>>>0,i-=n,n+=i*4294967296}return(n>>>0)*23283064365386963e-26}}function Ape(){const n=()=>{};return{on:n,off:n,destroy:n,emit:n,get(){return{set:n}}}}const TT=typeof window<"u"?window.Hammer||IJ:function(){return Ape()};function Vr(n){this._cleanupQueue=[],this.active=!1,this._dom={container:n,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push(()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)});const e=TT(this._dom.overlay);e.on("tap",this._onTapOverlay.bind(this)),this._cleanupQueue.push(()=>{e.destroy()}),["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach(r=>{e.on(r,i=>{i.srcEvent.stopPropagation()})}),document&&document.body&&(this._onClick=r=>{Ipe(r.target,n)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push(()=>{document.body.removeEventListener("click",this._onClick)})),this._escListener=r=>{("key"in r?r.key==="Escape":r.keyCode===27)&&this.deactivate()}}z7(Vr.prototype);Vr.current=null;Vr.prototype.destroy=function(){this.deactivate();for(const n of this._cleanupQueue.splice(0).reverse())n()};Vr.prototype.activate=function(){Vr.current&&Vr.current.deactivate(),Vr.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)};Vr.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")};Vr.prototype._onTapOverlay=function(n){this.activate(),n.srcEvent.stopPropagation()};function Ipe(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}const Cpe=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,dpe=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,lpe=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,upe=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function Mi(n){if(n)for(;n.hasChildNodes()===!0;){const e=n.firstChild;e&&(Mi(e),n.removeChild(e))}}function Vs(n){return n instanceof String||typeof n=="string"}function eZ(n){return typeof n=="object"&&n!==null}function Gn(n,e,t,r){let i=!1;r===!0&&(i=e[t]===null&&n[t]!==void 0),i?delete n[t]:n[t]=e[t]}function CJ(n,e,t=!1){for(const r in n)if(e[r]!==void 0)if(e[r]===null||typeof e[r]!="object")Gn(n,e,r,t);else{const i=n[r],s=e[r];eZ(i)&&eZ(s)&&CJ(i,s,t)}}function Xo(n,e,t,r=!1){if(Array.isArray(t))throw new TypeError("Arrays are not supported by deepExtend");for(let i=0;i<n.length;i++){const s=n[i];if(Object.prototype.hasOwnProperty.call(t,s))if(t[s]&&t[s].constructor===Object)e[s]===void 0&&(e[s]={}),e[s].constructor===Object?xe(e[s],t[s],!1,r):Gn(e,t,s,r);else{if(Array.isArray(t[s]))throw new TypeError("Arrays are not supported by deepExtend");Gn(e,t,s,r)}}return e}function jA(n,e,t,r=!1){if(Array.isArray(t))throw new TypeError("Arrays are not supported by deepExtend");for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&!n.includes(i))if(t[i]&&t[i].constructor===Object)e[i]===void 0&&(e[i]={}),e[i].constructor===Object?xe(e[i],t[i]):Gn(e,t,i,r);else if(Array.isArray(t[i])){e[i]=[];for(let s=0;s<t[i].length;s++)e[i].push(t[i][s])}else Gn(e,t,i,r);return e}function xe(n,e,t=!1,r=!1){for(const i in e)(Object.prototype.hasOwnProperty.call(e,i)||t===!0)&&(typeof e[i]=="object"&&e[i]!==null&&Object.getPrototypeOf(e[i])===Object.prototype?n[i]===void 0?n[i]=xe({},e[i],t):typeof n[i]=="object"&&n[i]!==null&&Object.getPrototypeOf(n[i])===Object.prototype?xe(n[i],e[i],t):Gn(n,e,i,r):Array.isArray(e[i])?n[i]=e[i].slice():Gn(n,e,i,r));return n}function LA(n,e){return[...n,e]}function hpe(n){return n.slice()}function cpe(n){return n.getBoundingClientRect().left}function fpe(n){return n.getBoundingClientRect().top}function ue(n,e){if(Array.isArray(n)){const t=n.length;for(let r=0;r<t;r++)e(n[r],r,n)}else for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(n[t],t,n)}function RT(n){let e;switch(n.length){case 3:case 4:return e=dpe.exec(n),e?{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16)}:null;case 6:case 7:return e=Cpe.exec(n),e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null;default:return null}}function gr(n,e){if(n.includes("rgba"))return n;if(n.includes("rgb")){const t=n.substr(n.indexOf("(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+e+")"}else{const t=RT(n);return t==null?n:"rgba("+t.r+","+t.g+","+t.b+","+e+")"}}function dJ(n,e,t){return"#"+((1<<24)+(n<<16)+(e<<8)+t).toString(16).slice(1)}function H_(n,e){if(Vs(n)){let t=n;if(uJ(t)){const r=t.substr(4).substr(0,t.length-5).split(",").map(function(i){return parseInt(i)});t=dJ(r[0],r[1],r[2])}if(lJ(t)===!0){const r=ppe(t),i={h:r.h,s:r.s*.8,v:Math.min(1,r.v*1.02)},s={h:r.h,s:Math.min(1,r.s*1.25),v:r.v*.8},o=U_(s.h,s.s,s.v),a=U_(i.h,i.s,i.v);return{background:t,border:o,highlight:{background:a,border:o},hover:{background:a,border:o}}}else return{background:t,border:t,highlight:{background:t,border:t},hover:{background:t,border:t}}}else return{background:n.background||void 0,border:n.border||void 0,highlight:Vs(n.highlight)?{border:n.highlight,background:n.highlight}:{background:n.highlight&&n.highlight.background||void 0,border:n.highlight&&n.highlight.border||void 0},hover:Vs(n.hover)?{border:n.hover,background:n.hover}:{border:n.hover&&n.hover.border||void 0,background:n.hover&&n.hover.background||void 0}}}function pa(n,e,t){n=n/255,e=e/255,t=t/255;const r=Math.min(n,Math.min(e,t)),i=Math.max(n,Math.max(e,t));if(r===i)return{h:0,s:0,v:r};const s=n===r?e-t:t===r?n-e:t-n,a=60*((n===r?3:t===r?1:5)-s/(i-r))/360,g=(i-r)/i;return{h:a,s:g,v:i}}function vA(n,e,t){let r,i,s;const o=Math.floor(n*6),a=n*6-o,g=t*(1-e),A=t*(1-a*e),I=t*(1-(1-a)*e);switch(o%6){case 0:r=t,i=I,s=g;break;case 1:r=A,i=t,s=g;break;case 2:r=g,i=t,s=I;break;case 3:r=g,i=A,s=t;break;case 4:r=I,i=g,s=t;break;case 5:r=t,i=g,s=A;break}return{r:Math.floor(r*255),g:Math.floor(i*255),b:Math.floor(s*255)}}function U_(n,e,t){const r=vA(n,e,t);return dJ(r.r,r.g,r.b)}function ppe(n){const e=RT(n);if(!e)throw new TypeError(`'${n}' is not a valid color.`);return pa(e.r,e.g,e.b)}function lJ(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)}function uJ(n){return lpe.test(n)}function vpe(n){return upe.test(n)}function Hi(n){if(n===null||typeof n!="object")return null;if(n instanceof Element)return n;const e=Object.create(n);for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&typeof n[t]=="object"&&(e[t]=Hi(n[t]));return e}function or(n,e,t,r={}){const i=function(l){return l!=null},s=function(l){return l!==null&&typeof l=="object"},o=function(l){for(const u in l)if(Object.prototype.hasOwnProperty.call(l,u))return!1;return!0};if(!s(n))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!i(t))throw new Error("Parameter option must have a value");if(!s(r))throw new Error("Parameter globalOptions must be an object");const a=function(l,u,h){s(l[h])||(l[h]={});const v=u[h],f=l[h];for(const c in v)Object.prototype.hasOwnProperty.call(v,c)&&(f[c]=v[c])},g=e[t],I=s(r)&&!o(r)?r[t]:void 0,C=I?I.enabled:void 0;if(g===void 0)return;if(typeof g=="boolean"){s(n[t])||(n[t]={}),n[t].enabled=g;return}if(g===null&&!s(n[t]))if(i(I))n[t]=Object.create(I);else return;if(!s(g))return;let d=!0;g.enabled!==void 0?d=g.enabled:C!==void 0&&(d=I.enabled),a(n,e,t),n[t].enabled=d}const mpe={linear(n){return n},easeInQuad(n){return n*n},easeOutQuad(n){return n*(2-n)},easeInOutQuad(n){return n<.5?2*n*n:-1+(4-2*n)*n},easeInCubic(n){return n*n*n},easeOutCubic(n){return--n*n*n+1},easeInOutCubic(n){return n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1},easeInQuart(n){return n*n*n*n},easeOutQuart(n){return 1- --n*n*n*n},easeInOutQuart(n){return n<.5?8*n*n*n*n:1-8*--n*n*n*n},easeInQuint(n){return n*n*n*n*n},easeOutQuint(n){return 1+--n*n*n*n*n},easeInOutQuint(n){return n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n}};function qi(n,e){let t;Array.isArray(e)||(e=[e]);for(const r of n)if(r){t=r[e[0]];for(let i=1;i<e.length;i++)t&&(t=t[e[i]]);if(typeof t<"u")break}return t}const ype={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};let bpe=class{constructor(e=1){this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:289/2,y:289/2},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=()=>{},this.closeCallback=()=>{},this._create()}insertTo(e){this.hammer!==void 0&&(this.hammer.destroy(),this.hammer=void 0),this.container=e,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}setUpdateCallback(e){if(typeof e=="function")this.updateCallback=e;else throw new Error("Function attempted to set as colorPicker update callback is not a function.")}setCloseCallback(e){if(typeof e=="function")this.closeCallback=e;else throw new Error("Function attempted to set as colorPicker closing callback is not a function.")}_isColorString(e){if(typeof e=="string")return ype[e]}setColor(e,t=!0){if(e==="none")return;let r;const i=this._isColorString(e);if(i!==void 0&&(e=i),Vs(e)===!0){if(uJ(e)===!0){const s=e.substr(4).substr(0,e.length-5).split(",");r={r:s[0],g:s[1],b:s[2],a:1}}else if(vpe(e)===!0){const s=e.substr(5).substr(0,e.length-6).split(",");r={r:s[0],g:s[1],b:s[2],a:s[3]}}else if(lJ(e)===!0){const s=RT(e);r={r:s.r,g:s.g,b:s.b,a:1}}}else if(e instanceof Object&&e.r!==void 0&&e.g!==void 0&&e.b!==void 0){const s=e.a!==void 0?e.a:"1.0";r={r:e.r,g:e.g,b:e.b,a:s}}if(r===void 0)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+JSON.stringify(e));this._setColor(r,t)}show(){this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}_hide(e=!0){e===!0&&(this.previousColor=Object.assign({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout(()=>{this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0)},0)}_save(){this.updateCallback(this.color),this.applied=!1,this._hide()}_apply(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}_loadLast(){this.previousColor!==void 0?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}_setColor(e,t=!0){t===!0&&(this.initialColor=Object.assign({},e)),this.color=e;const r=pa(e.r,e.g,e.b),i=2*Math.PI,s=this.r*r.s,o=this.centerCoordinates.x+s*Math.sin(i*r.h),a=this.centerCoordinates.y+s*Math.cos(i*r.h);this.colorPickerSelector.style.left=o-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=a-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(e)}_setOpacity(e){this.color.a=e/100,this._updatePicker(this.color)}_setBrightness(e){const t=pa(this.color.r,this.color.g,this.color.b);t.v=e/100;const r=vA(t.h,t.s,t.v);r.a=this.color.a,this.color=r,this._updatePicker()}_updatePicker(e=this.color){const t=pa(e.r,e.g,e.b),r=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1)),r.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const i=this.colorPickerCanvas.clientWidth,s=this.colorPickerCanvas.clientHeight;r.clearRect(0,0,i,s),r.putImageData(this.hueCircle,0,0),r.fillStyle="rgba(0,0,0,"+(1-t.v)+")",r.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),r.fill(),this.brightnessRange.value=100*t.v,this.opacityRange.value=100*e.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}_setSize(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}_create(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){const t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{const t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(t)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch{}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch{}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);const e=this;this.opacityRange.onchange=function(){e._setOpacity(this.value)},this.opacityRange.oninput=function(){e._setOpacity(this.value)},this.brightnessRange.onchange=function(){e._setBrightness(this.value)},this.brightnessRange.oninput=function(){e._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}_bindHammer(){this.drag={},this.pinch={},this.hammer=new TT(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",e=>{e.isFirst&&this._moveSelector(e)}),this.hammer.on("tap",e=>{this._moveSelector(e)}),this.hammer.on("panstart",e=>{this._moveSelector(e)}),this.hammer.on("panmove",e=>{this._moveSelector(e)}),this.hammer.on("panend",e=>{this._moveSelector(e)})}_generateHueCircle(){if(this.generated===!1){const e=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const t=this.colorPickerCanvas.clientWidth,r=this.colorPickerCanvas.clientHeight;e.clearRect(0,0,t,r);let i,s,o,a;this.centerCoordinates={x:t*.5,y:r*.5},this.r=.49*t;const g=2*Math.PI/360,A=1/360,I=1/this.r;let C;for(o=0;o<360;o++)for(a=0;a<this.r;a++)i=this.centerCoordinates.x+a*Math.sin(g*o),s=this.centerCoordinates.y+a*Math.cos(g*o),C=vA(o*A,a*I,1),e.fillStyle="rgb("+C.r+","+C.g+","+C.b+")",e.fillRect(i-.5,s-.5,2,2);e.strokeStyle="rgba(0,0,0,1)",e.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),e.stroke(),this.hueCircle=e.getImageData(0,0,t,r)}this.generated=!0}_moveSelector(e){const t=this.colorPickerDiv.getBoundingClientRect(),r=e.center.x-t.left,i=e.center.y-t.top,s=.5*this.colorPickerDiv.clientHeight,o=.5*this.colorPickerDiv.clientWidth,a=r-o,g=i-s,A=Math.atan2(a,g),I=.98*Math.min(Math.sqrt(a*a+g*g),o),C=Math.cos(A)*I+s,d=Math.sin(A)*I+o;this.colorPickerSelector.style.top=C-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=d-.5*this.colorPickerSelector.clientWidth+"px";let l=A/(2*Math.PI);l=l<0?l+1:l;const u=I/this.r,h=pa(this.color.r,this.color.g,this.color.b);h.h=l,h.s=u;const v=vA(h.h,h.s,h.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}};function K_(...n){if(n.length<1)throw new TypeError("Invalid arguments.");if(n.length===1)return document.createTextNode(n[0]);{const e=document.createElement(n[0]);return e.appendChild(K_(...n.slice(1))),e}}let wpe=class{constructor(e,t,r,i=1,s=()=>!1){this.parent=e,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.hideOption=s,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},Object.assign(this.options,this.defaultOptions),this.configureOptions=r,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new bpe(i),this.wrapper=void 0}setOptions(e){if(e!==void 0){this.popupHistory={},this._removePopup();let t=!0;if(typeof e=="string")this.options.filter=e;else if(Array.isArray(e))this.options.filter=e.join();else if(typeof e=="object"){if(e==null)throw new TypeError("options cannot be null");e.container!==void 0&&(this.options.container=e.container),e.filter!==void 0&&(this.options.filter=e.filter),e.showButton!==void 0&&(this.options.showButton=e.showButton),e.enabled!==void 0&&(t=e.enabled)}else typeof e=="boolean"?(this.options.filter=!0,t=e):typeof e=="function"&&(this.options.filter=e,t=!0);this.options.filter===!1&&(t=!1),this.options.enabled=t}this._clean()}setModuleOptions(e){this.moduleOptions=e,this.options.enabled===!0&&(this._clean(),this.options.container!==void 0&&(this.container=this.options.container),this._create())}_create(){this._clean(),this.changedOptions=[];const e=this.options.filter;let t=0,r=!1;for(const i in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,i)&&(this.allowCreation=!1,r=!1,typeof e=="function"?(r=e(i,[]),r=r||this._handleObject(this.configureOptions[i],[i],!0)):(e===!0||e.indexOf(i)!==-1)&&(r=!0),r!==!1&&(this.allowCreation=!0,t>0&&this._makeItem([]),this._makeHeader(i),this._handleObject(this.configureOptions[i],[i])),t++);this._makeButton(),this._push()}_push(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(let e=0;e<this.domElements.length;e++)this.wrapper.appendChild(this.domElements[e]);this._showPopupIfNeeded()}_clean(){for(let e=0;e<this.domElements.length;e++)this.wrapper.removeChild(this.domElements[e]);this.wrapper!==void 0&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}_getValue(e){let t=this.moduleOptions;for(let r=0;r<e.length;r++)if(t[e[r]]!==void 0)t=t[e[r]];else{t=void 0;break}return t}_makeItem(e,...t){if(this.allowCreation===!0){const r=document.createElement("div");return r.className="vis-configuration vis-config-item vis-config-s"+e.length,t.forEach(i=>{r.appendChild(i)}),this.domElements.push(r),this.domElements.length}return 0}_makeHeader(e){const t=document.createElement("div");t.className="vis-configuration vis-config-header",t.innerText=e,this._makeItem([],t)}_makeLabel(e,t,r=!1){const i=document.createElement("div");if(i.className="vis-configuration vis-config-label vis-config-s"+t.length,r===!0){for(;i.firstChild;)i.removeChild(i.firstChild);i.appendChild(K_("i","b",e))}else i.innerText=e+":";return i}_makeDropdown(e,t,r){const i=document.createElement("select");i.className="vis-configuration vis-config-select";let s=0;t!==void 0&&e.indexOf(t)!==-1&&(s=e.indexOf(t));for(let g=0;g<e.length;g++){const A=document.createElement("option");A.value=e[g],g===s&&(A.selected="selected"),A.innerText=e[g],i.appendChild(A)}const o=this;i.onchange=function(){o._update(this.value,r)};const a=this._makeLabel(r[r.length-1],r);this._makeItem(r,a,i)}_makeRange(e,t,r){const i=e[0],s=e[1],o=e[2],a=e[3],g=document.createElement("input");g.className="vis-configuration vis-config-range";try{g.type="range",g.min=s,g.max=o}catch{}g.step=a;let A="",I=0;t!==void 0?(t<0&&t*1.2<s?(g.min=Math.ceil(t*1.2),I=g.min,A="range increased"):t/1.2<s&&(g.min=Math.ceil(t/1.2),I=g.min,A="range increased"),t*1.2>o&&o!==1&&(g.max=Math.ceil(t*1.2),I=g.max,A="range increased"),g.value=t):g.value=i;const C=document.createElement("input");C.className="vis-configuration vis-config-rangeinput",C.value=g.value;const d=this;g.onchange=function(){C.value=this.value,d._update(Number(this.value),r)},g.oninput=function(){C.value=this.value};const l=this._makeLabel(r[r.length-1],r),u=this._makeItem(r,l,g,C);A!==""&&this.popupHistory[u]!==I&&(this.popupHistory[u]=I,this._setupPopup(A,u))}_makeButton(){if(this.options.showButton===!0){const e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=()=>{this._printOptions()},e.onmouseover=()=>{e.className="vis-configuration vis-config-button hover"},e.onmouseout=()=>{e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}_setupPopup(e,t){if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter<this.popupLimit){const r=document.createElement("div");r.id="vis-configuration-popup",r.className="vis-configuration-popup",r.innerText=e,r.onclick=()=>{this._removePopup()},this.popupCounter+=1,this.popupDiv={html:r,index:t}}}_removePopup(){this.popupDiv.html!==void 0&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}_showPopupIfNeeded(){if(this.popupDiv.html!==void 0){const t=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=t.left+"px",this.popupDiv.html.style.top=t.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=setTimeout(()=>{this.popupDiv.html.style.opacity=0},1500),this.popupDiv.deleteTimeout=setTimeout(()=>{this._removePopup()},1800)}}_makeCheckbox(e,t,r){const i=document.createElement("input");i.type="checkbox",i.className="vis-configuration vis-config-checkbox",i.checked=e,t!==void 0&&(i.checked=t,t!==e&&(typeof e=="object"?t!==e.enabled&&this.changedOptions.push({path:r,value:t}):this.changedOptions.push({path:r,value:t})));const s=this;i.onchange=function(){s._update(this.checked,r)};const o=this._makeLabel(r[r.length-1],r);this._makeItem(r,o,i)}_makeTextInput(e,t,r){const i=document.createElement("input");i.type="text",i.className="vis-configuration vis-config-text",i.value=t,t!==e&&this.changedOptions.push({path:r,value:t});const s=this;i.onchange=function(){s._update(this.value,r)};const o=this._makeLabel(r[r.length-1],r);this._makeItem(r,o,i)}_makeColorField(e,t,r){const i=e[1],s=document.createElement("div");t=t===void 0?i:t,t!=="none"?(s.className="vis-configuration vis-config-colorBlock",s.style.backgroundColor=t):s.className="vis-configuration vis-config-colorBlock none",t=t===void 0?i:t,s.onclick=()=>{this._showColorPicker(t,s,r)};const o=this._makeLabel(r[r.length-1],r);this._makeItem(r,o,s)}_showColorPicker(e,t,r){t.onclick=function(){},this.colorPicker.insertTo(t),this.colorPicker.show(),this.colorPicker.setColor(e),this.colorPicker.setUpdateCallback(i=>{const s="rgba("+i.r+","+i.g+","+i.b+","+i.a+")";t.style.backgroundColor=s,this._update(s,r)}),this.colorPicker.setCloseCallback(()=>{t.onclick=()=>{this._showColorPicker(e,t,r)}})}_handleObject(e,t=[],r=!1){let i=!1;const s=this.options.filter;let o=!1;for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)){i=!0;const g=e[a],A=LA(t,a);if(typeof s=="function"&&(i=s(a,t),i===!1&&!Array.isArray(g)&&typeof g!="string"&&typeof g!="boolean"&&g instanceof Object&&(this.allowCreation=!1,i=this._handleObject(g,A,!0),this.allowCreation=r===!1)),i!==!1){o=!0;const I=this._getValue(A);if(Array.isArray(g))this._handleArray(g,I,A);else if(typeof g=="string")this._makeTextInput(g,I,A);else if(typeof g=="boolean")this._makeCheckbox(g,I,A);else if(g instanceof Object){if(!this.hideOption(t,a,this.moduleOptions))if(g.enabled!==void 0){const C=LA(A,"enabled"),d=this._getValue(C);if(d===!0){const l=this._makeLabel(a,A,!0);this._makeItem(A,l),o=this._handleObject(g,A)||o}else this._makeCheckbox(g,d,A)}else{const C=this._makeLabel(a,A,!0);this._makeItem(A,C),o=this._handleObject(g,A)||o}}else console.error("dont know how to handle",g,a,A)}}return o}_handleArray(e,t,r){typeof e[0]=="string"&&e[0]==="color"?(this._makeColorField(e,t,r),e[1]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="string"?(this._makeDropdown(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="number"&&(this._makeRange(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:Number(t)}))}_update(e,t){const r=this._constructOptions(e,t);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",r),this.initialized=!0,this.parent.setOptions(r)}_constructOptions(e,t,r={}){let i=r;e=e==="true"?!0:e,e=e==="false"?!1:e;for(let s=0;s<t.length;s++)t[s]!=="global"&&(i[t[s]]===void 0&&(i[t[s]]={}),s!==t.length-1?i=i[t[s]]:i[t[s]]=e);return r}_printOptions(){const e=this.getOptions();for(;this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(K_("pre","const options = "+JSON.stringify(e,null,2)))}getOptions(){const e={};for(let t=0;t<this.changedOptions.length;t++)this._constructOptions(this.changedOptions[t].value,this.changedOptions[t].path,e);return e}},Epe=class{constructor(e,t){this.container=e,this.overflowMethod=t||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}setPosition(e,t){this.x=parseInt(e),this.y=parseInt(t)}setText(e){if(e instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(e)}else this.frame.innerText=e}show(e){if(e===void 0&&(e=!0),e===!0){const t=this.frame.clientHeight,r=this.frame.clientWidth,i=this.frame.parentNode.clientHeight,s=this.frame.parentNode.clientWidth;let o=0,a=0;if(this.overflowMethod=="flip"){let g=!1,A=!0;this.y-t<this.padding&&(A=!1),this.x+r>s-this.padding&&(g=!0),g?o=this.x-r:o=this.x,A?a=this.y-t:a=this.y}else a=this.y-t,a+t+this.padding>i&&(a=i-t-this.padding),a<this.padding&&(a=this.padding),o=this.x,o+r+this.padding>s&&(o=s-r-this.padding),o<this.padding&&(o=this.padding);this.frame.style.left=o+"px",this.frame.style.top=a+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}hide(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}destroy(){this.frame.parentNode.removeChild(this.frame)}},la=!1,tZ;const Y_="background: #FFeeee; color: #dd0000";let Spe=class He{static validate(e,t,r){la=!1,tZ=t;let i=t;return r!==void 0&&(i=t[r]),He.parse(e,i,[]),la}static parse(e,t,r){for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&He.check(i,e,t,r)}static check(e,t,r,i){if(r[e]===void 0&&r.__any__===void 0){He.getSuggestion(e,r,i);return}let s=e,o=!0;r[e]===void 0&&r.__any__!==void 0&&(s="__any__",o=He.getType(t[e])==="object");let a=r[s];o&&a.__type__!==void 0&&(a=a.__type__),He.checkFields(e,t,r,s,a,i)}static checkFields(e,t,r,i,s,o){const a=function(I){console.error("%c"+I+He.printLocation(o,e),Y_)},g=He.getType(t[e]),A=s[g];A!==void 0?He.getType(A)==="array"&&A.indexOf(t[e])===-1?(a('Invalid option detected in "'+e+'". Allowed values are:'+He.print(A)+' not "'+t[e]+'". '),la=!0):g==="object"&&i!=="__any__"&&(o=LA(o,e),He.parse(t[e],r[i],o)):s.any===void 0&&(a('Invalid type received for "'+e+'". Expected: '+He.print(Object.keys(s))+". Received ["+g+'] "'+t[e]+'"'),la=!0)}static getType(e){const t=typeof e;return t==="object"?e===null?"null":e instanceof Boolean?"boolean":e instanceof Number?"number":e instanceof String?"string":Array.isArray(e)?"array":e instanceof Date?"date":e.nodeType!==void 0?"dom":e._isAMomentObject===!0?"moment":"object":t==="number"?"number":t==="boolean"?"boolean":t==="string"?"string":t===void 0?"undefined":t}static getSuggestion(e,t,r){const i=He.findInOptions(e,t,r,!1),s=He.findInOptions(e,tZ,[],!0),o=8,a=4;let g;i.indexMatch!==void 0?g=" in "+He.printLocation(i.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+i.indexMatch+`"?
1048
+
1049
+ `:s.distance<=a&&i.distance>s.distance?g=" in "+He.printLocation(i.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+He.printLocation(s.path,s.closestMatch,""):i.distance<=o?g='. Did you mean "'+i.closestMatch+'"?'+He.printLocation(i.path,e):g=". Did you mean one of these: "+He.print(Object.keys(t))+He.printLocation(r,e),console.error('%cUnknown option detected: "'+e+'"'+g,Y_),la=!0}static findInOptions(e,t,r,i=!1){let s=1e9,o="",a=[];const g=e.toLowerCase();let A;for(const I in t){let C;if(t[I].__type__!==void 0&&i===!0){const d=He.findInOptions(e,t[I],LA(r,I));s>d.distance&&(o=d.closestMatch,a=d.path,s=d.distance,A=d.indexMatch)}else I.toLowerCase().indexOf(g)!==-1&&(A=I),C=He.levenshteinDistance(e,I),s>C&&(o=I,a=hpe(r),s=C)}return{closestMatch:o,path:a,distance:s,indexMatch:A}}static printLocation(e,t,r=`Problem value found at:
1050
+ `){let i=`
1051
+
1052
+ `+r+`options = {
1053
+ `;for(let s=0;s<e.length;s++){for(let o=0;o<s+1;o++)i+=" ";i+=e[s]+`: {
1054
+ `}for(let s=0;s<e.length+1;s++)i+=" ";i+=t+`
1055
+ `;for(let s=0;s<e.length+1;s++){for(let o=0;o<e.length-s;o++)i+=" ";i+=`}
1056
+ `}return i+`
1057
+
1058
+ `}static print(e){return JSON.stringify(e).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}static levenshteinDistance(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;const r=[];let i;for(i=0;i<=t.length;i++)r[i]=[i];let s;for(s=0;s<=e.length;s++)r[0][s]=s;for(i=1;i<=t.length;i++)for(s=1;s<=e.length;s++)t.charAt(i-1)==e.charAt(s-1)?r[i][s]=r[i-1][s-1]:r[i][s]=Math.min(r[i-1][s-1]+1,Math.min(r[i][s-1]+1,r[i-1][s]+1));return r[t.length][e.length]}};const _pe=Vr,Ope=wpe,Zs=TT,Tpe=Epe,hJ=Y_,Rpe=Spe;var rZ={},$1={},iZ;function PT(){if(iZ)return $1;iZ=1;var n=Qe(),e=N7(),t=vr(),r=ei(),i=Br(),s=jg();return $1.f=n&&!e?Object.defineProperties:function(a,g){r(a);for(var A=i(g),I=s(g),C=I.length,d=0,l;C>d;)t.f(a,l=I[d++],A[l]);return a},$1}var D1,nZ;function Ppe(){if(nZ)return D1;nZ=1;var n=nr();return D1=n("document","documentElement"),D1}var N1,sZ;function kI(){if(sZ)return N1;sZ=1;var n=Zo(),e=PI(),t=n("keys");return N1=function(r){return t[r]||(t[r]=e(r))},N1}var M1,oZ;function Hg(){if(oZ)return M1;oZ=1;var n=ei(),e=PT(),t=vT(),r=zg(),i=Ppe(),s=$7(),o=kI(),a=">",g="<",A="prototype",I="script",C=o("IE_PROTO"),d=function(){},l=function(c){return g+I+a+c+g+"/"+I+a},u=function(c){c.write(l("")),c.close();var b=c.parentWindow.Object;return c=null,b},h=function(){var c=s("iframe"),b="java"+I+":",p;return c.style.display="none",i.appendChild(c),c.src=String(b),p=c.contentWindow.document,p.open(),p.write(l("document.F=Object")),p.close(),p.F},v,f=function(){try{v=new ActiveXObject("htmlfile")}catch{}f=typeof document<"u"?document.domain&&v?u(v):h():u(v);for(var c=t.length;c--;)delete f[A][t[c]];return f()};return r[C]=!0,M1=Object.create||function(b,p){var y;return b!==null?(d[A]=n(b),y=new d,d[A]=null,y[C]=b):y=f(),p===void 0?y:e.f(y,p)},M1}var aZ;function xpe(){if(aZ)return rZ;aZ=1;var n=te(),e=Qe(),t=Hg();return n({target:"Object",stat:!0,sham:!e},{create:t}),rZ}var q1,gZ;function $pe(){if(gZ)return q1;gZ=1,xpe();var n=_e(),e=n.Object;return q1=function(r,i){return e.create(r,i)},q1}var F1,AZ;function Dpe(){if(AZ)return F1;AZ=1;var n=$pe();return F1=n,F1}var k1,IZ;function Npe(){return IZ||(IZ=1,k1=Dpe()),k1}var Mpe=Npe(),xa=ge(Mpe),CZ={},B1,dZ;function Qo(){if(dZ)return B1;dZ=1;var n=me();return B1=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})},B1}var lZ;function qpe(){if(lZ)return CZ;lZ=1;var n=te(),e=uT(),t=pT().indexOf,r=Qo(),i=e([].indexOf),s=!!i&&1/i([1],1,-0)<0,o=s||!r("indexOf");return n({target:"Array",proto:!0,forced:o},{indexOf:function(g){var A=arguments.length>1?arguments[1]:void 0;return s?i(this,g,A)||0:t(this,g,A)}}),CZ}var z1,uZ;function Fpe(){if(uZ)return z1;uZ=1,qpe();var n=$t();return z1=n("Array","indexOf"),z1}var j1,hZ;function kpe(){if(hZ)return j1;hZ=1;var n=gt(),e=Fpe(),t=Array.prototype;return j1=function(r){var i=r.indexOf;return r===t||n(t,r)&&i===t.indexOf?e:i},j1}var L1,cZ;function Bpe(){if(cZ)return L1;cZ=1;var n=kpe();return L1=n,L1}var G1,fZ;function zpe(){return fZ||(fZ=1,G1=Bpe()),G1}var jpe=zpe(),Le=ge(jpe),pZ={},W1,vZ;function xT(){return vZ||(vZ=1,W1=function(){}),W1}var mZ;function Lpe(){if(mZ)return pZ;mZ=1;var n=te(),e=pT().includes,t=me(),r=xT(),i=t(function(){return!Array(1).includes()});return n({target:"Array",proto:!0,forced:i},{includes:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),r("includes"),pZ}var V1,yZ;function Gpe(){if(yZ)return V1;yZ=1,Lpe();var n=$t();return V1=n("Array","includes"),V1}var bZ={},Z1,wZ;function Wpe(){if(wZ)return Z1;wZ=1;var n=mt(),e=Jr(),t=At(),r=t("match");return Z1=function(i){var s;return n(i)&&((s=i[r])!==void 0?!!s:e(i)==="RegExp")},Z1}var H1,EZ;function Vpe(){if(EZ)return H1;EZ=1;var n=Wpe(),e=TypeError;return H1=function(t){if(n(t))throw new e("The method doesn't accept regular expressions");return t},H1}var U1,SZ;function $T(){if(SZ)return U1;SZ=1;var n=At(),e=n("toStringTag"),t={};return t[e]="z",U1=String(t)==="[object z]",U1}var K1,_Z;function Jo(){if(_Z)return K1;_Z=1;var n=$T(),e=vt(),t=Jr(),r=At(),i=r("toStringTag"),s=Object,o=t((function(){return arguments})())==="Arguments",a=function(g,A){try{return g[A]}catch{}};return K1=n?t:function(g){var A,I,C;return g===void 0?"Undefined":g===null?"Null":typeof(I=a(A=s(g),i))=="string"?I:o?t(A):(C=t(A))==="Object"&&e(A.callee)?"Arguments":C},K1}var Y1,OZ;function yr(){if(OZ)return Y1;OZ=1;var n=Jo(),e=String;return Y1=function(t){if(n(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(t)},Y1}var X1,TZ;function Zpe(){if(TZ)return X1;TZ=1;var n=At(),e=n("match");return X1=function(t){var r=/./;try{"/./"[t](r)}catch{try{return r[e]=!1,"/./"[t](r)}catch{}}return!1},X1}var RZ;function Hpe(){if(RZ)return bZ;RZ=1;var n=te(),e=ye(),t=Vpe(),r=mi(),i=yr(),s=Zpe(),o=e("".indexOf);return n({target:"String",proto:!0,forced:!s("includes")},{includes:function(g){return!!~o(i(r(this)),i(t(g)),arguments.length>1?arguments[1]:void 0)}}),bZ}var Q1,PZ;function Upe(){if(PZ)return Q1;PZ=1,Hpe();var n=$t();return Q1=n("String","includes"),Q1}var J1,xZ;function Kpe(){if(xZ)return J1;xZ=1;var n=gt(),e=Gpe(),t=Upe(),r=Array.prototype,i=String.prototype;return J1=function(s){var o=s.includes;return s===r||n(r,s)&&o===r.includes?e:typeof s=="string"||s===i||n(i,s)&&o===i.includes?t:o},J1}var e0,$Z;function Ype(){if($Z)return e0;$Z=1;var n=Kpe();return e0=n,e0}var t0,DZ;function Xpe(){return DZ||(DZ=1,t0=Ype()),t0}var Qpe=Xpe(),$a=ge(Qpe),NZ={},r0,MZ;function Cs(){if(MZ)return r0;MZ=1;var n=Jr();return r0=Array.isArray||function(t){return n(t)==="Array"},r0}var i0,qZ;function Jpe(){if(qZ)return i0;qZ=1;var n=Qe(),e=Cs(),t=TypeError,r=Object.getOwnPropertyDescriptor,i=n&&!(function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(s){return s instanceof TypeError}})();return i0=i?function(s,o){if(e(s)&&!r(s,"length").writable)throw new t("Cannot set read only .length");return s.length=o}:function(s,o){return s.length=o},i0}var n0,FZ;function cJ(){if(FZ)return n0;FZ=1;var n=TypeError,e=9007199254740991;return n0=function(t){if(t>e)throw n("Maximum allowed index exceeded");return t},n0}var s0,kZ;function eve(){if(kZ)return s0;kZ=1;var n=ye(),e=vt(),t=cT(),r=n(Function.toString);return e(t.inspectSource)||(t.inspectSource=function(i){return r(i)}),s0=t.inspectSource,s0}var o0,BZ;function fJ(){if(BZ)return o0;BZ=1;var n=ye(),e=me(),t=vt(),r=Jo(),i=nr(),s=eve(),o=function(){},a=i("Reflect","construct"),g=/^\s*(?:class|function)\b/,A=n(g.exec),I=!g.test(o),C=function(u){if(!t(u))return!1;try{return a(o,[],u),!0}catch{return!1}},d=function(u){if(!t(u))return!1;switch(r(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!A(g,s(u))}catch{return!0}};return d.sham=!0,o0=!a||e(function(){var l;return C(C.call)||!C(Object)||!C(function(){l=!0})||l})?d:C,o0}var a0,zZ;function tve(){if(zZ)return a0;zZ=1;var n=Cs(),e=fJ(),t=mt(),r=At(),i=r("species"),s=Array;return a0=function(o){var a;return n(o)&&(a=o.constructor,e(a)&&(a===s||n(a.prototype))?a=void 0:t(a)&&(a=a[i],a===null&&(a=void 0))),a===void 0?s:a},a0}var g0,jZ;function DT(){if(jZ)return g0;jZ=1;var n=tve();return g0=function(e,t){return new(n(e))(t===0?0:t)},g0}var A0,LZ;function BI(){if(LZ)return A0;LZ=1;var n=Qe(),e=vr(),t=Fg();return A0=function(r,i,s){n?e.f(r,i,t(0,s)):r[i]=s},A0}var I0,GZ;function pJ(){if(GZ)return I0;GZ=1;var n=Wo(),e=TypeError;return I0=function(t,r){if(!delete t[r])throw new e("Cannot delete property "+n(r)+" of "+n(t))},I0}var C0,WZ;function Ug(){if(WZ)return C0;WZ=1;var n=me(),e=At(),t=kg(),r=e("species");return C0=function(i){return t>=51||!n(function(){var s=[],o=s.constructor={};return o[r]=function(){return{foo:1}},s[i](Boolean).foo!==1})},C0}var VZ;function rve(){if(VZ)return NZ;VZ=1;var n=te(),e=pr(),t=DI(),r=Uo(),i=bi(),s=Jpe(),o=cJ(),a=DT(),g=BI(),A=pJ(),I=Ug(),C=I("splice"),d=Math.max,l=Math.min;return n({target:"Array",proto:!0,forced:!C},{splice:function(h,v){var f=e(this),c=i(f),b=t(h,c),p=arguments.length,y,E,S,m,w,_;for(p===0?y=E=0:p===1?(y=0,E=c-b):(y=p-2,E=l(d(r(v),0),c-b)),o(c+y-E),S=a(f,E),m=0;m<E;m++)w=b+m,w in f&&g(S,m,f[w]);if(S.length=E,y<E){for(m=b;m<c-E;m++)w=m+E,_=m+y,w in f?f[_]=f[w]:A(f,_);for(m=c;m>c-E+y;m--)A(f,m-1)}else if(y>E)for(m=c-E;m>b;m--)w=m+E-1,_=m+y-1,w in f?f[_]=f[w]:A(f,_);for(m=0;m<y;m++)f[m+b]=arguments[m+2];return s(f,c-E+y),S}}),NZ}var d0,ZZ;function ive(){if(ZZ)return d0;ZZ=1,rve();var n=$t();return d0=n("Array","splice"),d0}var l0,HZ;function nve(){if(HZ)return l0;HZ=1;var n=gt(),e=ive(),t=Array.prototype;return l0=function(r){var i=r.splice;return r===t||n(t,r)&&i===t.splice?e:i},l0}var u0,UZ;function sve(){if(UZ)return u0;UZ=1;var n=nve();return u0=n,u0}var h0,KZ;function ove(){return KZ||(KZ=1,h0=sve()),h0}var ave=ove(),Ui=ge(ave),YZ={},XZ;function gve(){if(XZ)return YZ;XZ=1;var n=te(),e=Cs();return n({target:"Array",stat:!0},{isArray:e}),YZ}var c0,QZ;function Ave(){if(QZ)return c0;QZ=1,gve();var n=_e();return c0=n.Array.isArray,c0}var f0,JZ;function Ive(){if(JZ)return f0;JZ=1;var n=Ave();return f0=n,f0}var p0,eH;function Cve(){return eH||(eH=1,p0=Ive()),p0}var dve=Cve(),Dr=ge(dve),tH={},v0,rH;function Cn(){if(rH)return v0;rH=1;var n=$I(),e=ye(),t=RI(),r=pr(),i=bi(),s=DT(),o=e([].push),a=function(g){var A=g===1,I=g===2,C=g===3,d=g===4,l=g===6,u=g===7,h=g===5||l;return function(v,f,c,b){for(var p=r(v),y=t(p),E=i(y),S=n(f,c),m=0,w=b||s,_=A?w(v,E):I||u?w(v,0):void 0,T,R;E>m;m++)if((h||m in y)&&(T=y[m],R=S(T,m,p),g))if(A)_[m]=R;else if(R)switch(g){case 3:return!0;case 5:return T;case 6:return m;case 2:o(_,T)}else switch(g){case 4:return!1;case 7:o(_,T)}return l?-1:C||d?d:_}};return v0={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},v0}var m0,iH;function lve(){if(iH)return m0;iH=1;var n=Cn().forEach,e=Qo(),t=e("forEach");return m0=t?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)},m0}var nH;function uve(){if(nH)return tH;nH=1;var n=te(),e=lve();return n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e}),tH}var y0,sH;function hve(){if(sH)return y0;sH=1,uve();var n=$t();return y0=n("Array","forEach"),y0}var b0,oH;function cve(){if(oH)return b0;oH=1;var n=hve();return b0=n,b0}var w0,aH;function fve(){if(aH)return w0;aH=1;var n=Jo(),e=xt(),t=gt(),r=cve(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return w0=function(o){var a=o.forEach;return o===i||t(i,o)&&a===i.forEach||e(s,n(o))?r:a},w0}var E0,gH;function pve(){return gH||(gH=1,E0=fve()),E0}var vve=pve(),Me=ge(vve);function mve(n){return zi=n,Eve()}var vJ={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},NT=xa(vJ);NT.color="color.color";NT.style="dashes";var Mt={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},AH={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},zi="",lo=0,Ce="",ie="",Vt=Mt.NULL;function yve(){lo=0,Ce=zi.charAt(0)}function dt(){lo++,Ce=zi.charAt(lo)}function ws(){return zi.charAt(lo+1)}function IH(n){var e=n.charCodeAt(0);return e<47?e===35||e===46:e<59?e>47:e<91?e>64:e<96?e===95:e<123?e>96:!1}function Ji(n,e){if(n||(n={}),e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function bve(n,e,t){for(var r=e.split("."),i=n;r.length;){var s=r.shift();r.length?(i[s]||(i[s]={}),i=i[s]):i[s]=t}}function mJ(n,e){for(var t,r,i=null,s=[n],o=n;o.parent;)s.push(o.parent),o=o.parent;if(o.nodes){for(t=0,r=o.nodes.length;t<r;t++)if(e.id===o.nodes[t].id){i=o.nodes[t];break}}for(i||(i={id:e.id},n.node&&(i.attr=Ji(i.attr,n.node))),t=s.length-1;t>=0;t--){var a,g=s[t];g.nodes||(g.nodes=[]),Le(a=g.nodes).call(a,i)===-1&&g.nodes.push(i)}e.attr&&(i.attr=Ji(i.attr,e.attr))}function wve(n,e){if(n.edges||(n.edges=[]),n.edges.push(e),n.edge){var t=Ji({},n.edge);e.attr=Ji(t,e.attr)}}function yJ(n,e,t,r,i){var s={from:e,to:t,type:r};return n.edge&&(s.attr=Ji({},n.edge)),s.attr=Ji(s.attr||{},i),i!=null&&i.hasOwnProperty("arrows")&&i.arrows!=null&&(s.arrows={to:{enabled:!0,type:i.arrows.type}},i.arrows=null),s}function De(){for(Vt=Mt.NULL,ie="";Ce===" "||Ce===" "||Ce===`
1059
+ `||Ce==="\r";)dt();do{var n=!1;if(Ce==="#"){for(var e=lo-1;zi.charAt(e)===" "||zi.charAt(e)===" ";)e--;if(zi.charAt(e)===`
1060
+ `||zi.charAt(e)===""){for(;Ce!=""&&Ce!=`
1061
+ `;)dt();n=!0}}if(Ce==="/"&&ws()==="/"){for(;Ce!=""&&Ce!=`
1062
+ `;)dt();n=!0}if(Ce==="/"&&ws()==="*"){for(;Ce!="";)if(Ce==="*"&&ws()==="/"){dt(),dt();break}else dt();n=!0}for(;Ce===" "||Ce===" "||Ce===`
1063
+ `||Ce==="\r";)dt()}while(n);if(Ce===""){Vt=Mt.DELIMITER;return}var t=Ce+ws();if(AH[t]){Vt=Mt.DELIMITER,ie=t,dt(),dt();return}if(AH[Ce]){Vt=Mt.DELIMITER,ie=Ce,dt();return}if(IH(Ce)||Ce==="-"){for(ie+=Ce,dt();IH(Ce);)ie+=Ce,dt();ie==="false"?ie=!1:ie==="true"?ie=!0:isNaN(Number(ie))||(ie=Number(ie)),Vt=Mt.IDENTIFIER;return}if(Ce==='"'){for(dt();Ce!=""&&(Ce!='"'||Ce==='"'&&ws()==='"');)Ce==='"'?(ie+=Ce,dt()):Ce==="\\"&&ws()==="n"?(ie+=`
1064
+ `,dt()):ie+=Ce,dt();if(Ce!='"')throw qt('End of string " expected');dt(),Vt=Mt.IDENTIFIER;return}for(Vt=Mt.UNKNOWN;Ce!="";)ie+=Ce,dt();throw new SyntaxError('Syntax error in part "'+SJ(ie,30)+'"')}function Eve(){var n={};if(yve(),De(),ie==="strict"&&(n.strict=!0,De()),(ie==="graph"||ie==="digraph")&&(n.type=ie,De()),Vt===Mt.IDENTIFIER&&(n.id=ie,De()),ie!="{")throw qt("Angle bracket { expected");if(De(),bJ(n),ie!="}")throw qt("Angle bracket } expected");if(De(),ie!=="")throw qt("End of file expected");return De(),delete n.node,delete n.edge,delete n.graph,n}function bJ(n){for(;ie!==""&&ie!="}";)Sve(n),ie===";"&&De()}function Sve(n){var e=wJ(n);if(e){EJ(n,e);return}var t=_ve(n);if(!t){if(Vt!=Mt.IDENTIFIER)throw qt("Identifier expected");var r=ie;if(De(),ie==="="){if(De(),Vt!=Mt.IDENTIFIER)throw qt("Identifier expected");n[r]=ie,De()}else Ove(n,r)}}function wJ(n){var e=null;if(ie==="subgraph"&&(e={},e.type="subgraph",De(),Vt===Mt.IDENTIFIER&&(e.id=ie,De())),ie==="{"){if(De(),e||(e={}),e.parent=n,e.node=n.node,e.edge=n.edge,e.graph=n.graph,bJ(e),ie!="}")throw qt("Angle bracket } expected");De(),delete e.node,delete e.edge,delete e.graph,delete e.parent,n.subgraphs||(n.subgraphs=[]),n.subgraphs.push(e)}return e}function _ve(n){return ie==="node"?(De(),n.node=Da(),"node"):ie==="edge"?(De(),n.edge=Da(),"edge"):ie==="graph"?(De(),n.graph=Da(),"graph"):null}function Ove(n,e){var t={id:e},r=Da();r&&(t.attr=r),mJ(n,t),EJ(n,e)}function EJ(n,e){for(;ie==="->"||ie==="--";){var t,r=ie;De();var i=wJ(n);if(i)t=i;else{if(Vt!=Mt.IDENTIFIER)throw qt("Identifier or subgraph expected");t=ie,mJ(n,{id:t}),De()}var s=Da(),o=yJ(n,e,t,r,s);wve(n,o),e=t}}function Da(){for(var n,e=null,t={dashed:!0,solid:!1,dotted:[1,5]},r={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},i=new Array,s=new Array;ie==="[";){for(De(),e={};ie!==""&&ie!="]";){if(Vt!=Mt.IDENTIFIER)throw qt("Attribute name expected");var o=ie;if(De(),ie!="=")throw qt("Equal sign = expected");if(De(),Vt!=Mt.IDENTIFIER)throw qt("Attribute value expected");var a=ie;o==="style"&&(a=t[a]);var g;o==="arrowhead"&&(g=r[a],o="arrows",a={to:{enabled:!0,type:g}}),o==="arrowtail"&&(g=r[a],o="arrows",a={from:{enabled:!0,type:g}}),i.push({attr:e,name:o,value:a}),s.push(o),De(),ie==","&&De()}if(ie!="]")throw qt("Bracket ] expected");De()}if($a(s).call(s,"dir")){var A={};for(A.arrows={},n=0;n<i.length;n++)if(i[n].name==="arrows")if(i[n].value.to!=null)A.arrows.to=n;else if(i[n].value.from!=null)A.arrows.from=n;else throw qt("Invalid value of arrows");else i[n].name==="dir"&&(A.dir=n);var I=i[A.dir].value;if(!$a(s).call(s,"arrows"))if(I==="both")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1,i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="forward")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1;else if(I==="back")i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="none")i.push({attr:i[A.dir].attr,name:"arrows",value:""}),A.arrows.to=i.length-1;else throw qt('Invalid dir type "'+I+'"');var C,d;if(I==="both")A.arrows.to&&A.arrows.from?(d=i[A.arrows.to].value.to.type,C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}},Ui(i).call(i,A.arrows.from,1)):A.arrows.to?(d=i[A.arrows.to].value.to.type,C="arrow",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.from&&(d="arrow",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}});else if(I==="back")A.arrows.to&&A.arrows.from?(d="",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.to?(d="",C="arrow",A.arrows.from=A.arrows.to,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.from&&(d="",C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}),i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{from:{enabled:!0,type:i[A.arrows.from].value.from.type}}};else if(I==="none"){var l;A.arrows.to?l=A.arrows.to:l=A.arrows.from,i[l]={attr:i[l].attr,name:i[l].name,value:""}}else if(I==="forward")A.arrows.to&&A.arrows.from?(d=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.to?(d=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}):A.arrows.from&&(d="arrow",C="",A.arrows.to=A.arrows.from,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:d},from:{enabled:!0,type:C}}}),i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:i[A.arrows.to].value.to.type}}};else throw qt('Invalid dir type "'+I+'"');Ui(i).call(i,A.dir,1)}var u;if($a(s).call(s,"penwidth")){var h=[];for(u=i.length,n=0;n<u;n++)i[n].name!=="width"&&(i[n].name==="penwidth"&&(i[n].name="width"),h.push(i[n]));i=h}for(u=i.length,n=0;n<u;n++)bve(i[n].attr,i[n].name,i[n].value);return e}function qt(n){return new SyntaxError(n+', got "'+SJ(ie,30)+'" (char '+lo+")")}function SJ(n,e){return n.length<=e?n:n.substr(0,27)+"..."}function Tve(n,e,t){Dr(n)?Me(n).call(n,function(r){Dr(e)?Me(e).call(e,function(i){t(r,i)}):t(r,e)}):Dr(e)?Me(e).call(e,function(r){t(n,r)}):t(n,e)}function S0(n,e,t){for(var r=e.split("."),i=r.pop(),s=n,o=0;o<r.length;o++){var a=r[o];a in s||(s[a]={}),s=s[a]}return s[i]=t,n}function CH(n,e){var t={};for(var r in n)if(n.hasOwnProperty(r)){var i=e[r];Dr(i)?Me(i).call(i,function(s){S0(t,s,n[r])}):typeof i=="string"?S0(t,i,n[r]):S0(t,r,n[r])}return t}function Rve(n){var e=mve(n),t={nodes:[],edges:[],options:{}};if(e.nodes){var r;Me(r=e.nodes).call(r,function(o){var a={id:o.id,label:String(o.label||o.id)};Ji(a,CH(o.attr,vJ)),a.image&&(a.shape="image"),t.nodes.push(a)})}if(e.edges){var i,s=function(o){var a={from:o.from,to:o.to};return Ji(a,CH(o.attr,NT)),a.arrows==null&&o.type==="->"&&(a.arrows="to"),a};Me(i=e.edges).call(i,function(o){var a,g;if(o.from instanceof Object?a=o.from.nodes:a={id:o.from},o.to instanceof Object?g=o.to.nodes:g={id:o.to},o.from instanceof Object&&o.from.edges){var A;Me(A=o.from.edges).call(A,function(C){var d=s(C);t.edges.push(d)})}if(Tve(a,g,function(C,d){var l=yJ(t,C.id,d.id,o.type,o.attr),u=s(l);t.edges.push(u)}),o.to instanceof Object&&o.to.edges){var I;Me(I=o.to.edges).call(I,function(C){var d=s(C);t.edges.push(d)})}})}return e.attr&&(t.options=e.attr),t}var dH={},lH;function Pve(){if(lH)return dH;lH=1;var n=te(),e=Cn().map,t=Ug(),r=t("map");return n({target:"Array",proto:!0,forced:!r},{map:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),dH}var _0,uH;function xve(){if(uH)return _0;uH=1,Pve();var n=$t();return _0=n("Array","map"),_0}var O0,hH;function $ve(){if(hH)return O0;hH=1;var n=gt(),e=xve(),t=Array.prototype;return O0=function(r){var i=r.map;return r===t||n(t,r)&&i===t.map?e:i},O0}var T0,cH;function Dve(){if(cH)return T0;cH=1;var n=$ve();return T0=n,T0}var R0,fH;function Nve(){return fH||(fH=1,R0=Dve()),R0}var Mve=Nve(),eg=ge(Mve);function qve(n,e){var t;const r={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};e!=null&&(e.fixed!=null&&(r.nodes.fixed=e.fixed),e.parseColor!=null&&(r.nodes.parseColor=e.parseColor),e.inheritColor!=null&&(r.edges.inheritColor=e.inheritColor));const i=n.edges,s=eg(i).call(i,a=>{const g={from:a.source,id:a.id,to:a.target};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.type==="Directed"&&(g.arrows="to"),a.color&&r.edges.inheritColor===!1&&(g.color=a.color),g});return{nodes:eg(t=n.nodes).call(t,a=>{const g={id:a.id,fixed:r.nodes.fixed&&a.x!=null&&a.y!=null};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.size!=null&&(g.size=a.size),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.title!=null&&(g.title=a.title),a.x!=null&&(g.x=a.x),a.y!=null&&(g.y=a.y),a.color!=null&&(r.nodes.parseColor===!0?g.color=a.color:g.color={background:a.color,border:a.color,highlight:{background:a.color,border:a.color},hover:{background:a.color,border:a.color}}),g}),edges:s}}const Fve={addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},kve={addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},Bve={addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},zve={addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},jve={addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},Lve={addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},Gve={addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},Wve={addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},Vve={addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"},Zve={addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},Hve={addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"};var Uve=Object.freeze({__proto__:null,cn:Wve,cs:Hve,de:kve,en:Fve,es:Bve,fr:Zve,it:zve,nl:jve,pt:Lve,ru:Gve,uk:Vve}),pH={},vH;function _J(){if(vH)return pH;vH=1;var n=te(),e=me(),t=Cs(),r=mt(),i=pr(),s=bi(),o=cJ(),a=BI(),g=DT(),A=Ug(),I=At(),C=kg(),d=I("isConcatSpreadable"),l=C>=51||!e(function(){var v=[];return v[d]=!1,v.concat()[0]!==v}),u=function(v){if(!r(v))return!1;var f=v[d];return f!==void 0?!!f:t(v)},h=!l||!A("concat");return n({target:"Array",proto:!0,arity:1,forced:h},{concat:function(f){var c=i(this),b=g(c,0),p=0,y,E,S,m,w;for(y=-1,S=arguments.length;y<S;y++)if(w=y===-1?c:arguments[y],u(w))for(m=s(w),o(p+m),E=0;E<m;E++,p++)E in w&&a(b,p,w[E]);else o(p+1),a(b,p++,w);return b.length=p,b}}),pH}var P0,mH;function Kve(){if(mH)return P0;mH=1,_J();var n=$t();return P0=n("Array","concat"),P0}var x0,yH;function Yve(){if(yH)return x0;yH=1;var n=gt(),e=Kve(),t=Array.prototype;return x0=function(r){var i=r.concat;return r===t||n(t,r)&&i===t.concat?e:i},x0}var $0,bH;function Xve(){if(bH)return $0;bH=1;var n=Yve();return $0=n,$0}var D0,wH;function Qve(){return wH||(wH=1,D0=Xve()),D0}var Jve=Qve(),eme=ge(Jve);function tme(n,e){try{const[r,i]=e.split(/[-_ /]/,2),s=r!=null?r.toLowerCase():null,o=i!=null?i.toUpperCase():null;if(s&&o){const a=s+"-"+o;if(Object.prototype.hasOwnProperty.call(n,a))return a;var t;console.warn(eme(t="Unknown variant ".concat(o," of language ")).call(t,s,"."))}if(s){const a=s;if(Object.prototype.hasOwnProperty.call(n,a))return a;console.warn("Unknown language ".concat(s))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(r){return console.error(r),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}class rme{constructor(){this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}init(){if(this.initialized())return;this.src=this.image.src;const e=this.image.width,t=this.image.height;this.width=e,this.height=t;const r=Math.floor(t/2),i=Math.floor(t/4),s=Math.floor(t/8),o=Math.floor(t/16),a=Math.floor(e/2),g=Math.floor(e/4),A=Math.floor(e/8),I=Math.floor(e/16);this.canvas.width=3*g,this.canvas.height=r,this.coordinates=[[0,0,a,r],[a,0,g,i],[a,i,A,s],[5*A,i,I,o]],this._fillMipMap()}initialized(){return this.coordinates!==void 0}_fillMipMap(){const e=this.canvas.getContext("2d"),t=this.coordinates[0];e.drawImage(this.image,t[0],t[1],t[2],t[3]);for(let r=1;r<this.NUM_ITERATIONS;r++){const i=this.coordinates[r-1],s=this.coordinates[r];e.drawImage(this.canvas,i[0],i[1],i[2],i[3],s[0],s[1],s[2],s[3])}}drawImageAtPosition(e,t,r,i,s,o){if(this.initialized())if(t>2){t*=.5;let a=0;for(;t>2&&a<this.NUM_ITERATIONS;)t*=.5,a+=1;a>=this.NUM_ITERATIONS&&(a=this.NUM_ITERATIONS-1);const g=this.coordinates[a];e.drawImage(this.canvas,g[0],g[1],g[2],g[3],r,i,s,o)}else e.drawImage(this.image,r,i,s,o)}}class ime{constructor(e){this.images={},this.imageBroken={},this.callback=e}_tryloadBrokenUrl(e,t,r){if(!(e===void 0||r===void 0)){if(t===void 0){console.warn("No broken url image defined");return}r.image.onerror=()=>{console.error("Could not load brokenImage:",t)},r.image.src=t}}_redrawWithImage(e){this.callback&&this.callback(e)}load(e,t){const r=this.images[e];if(r)return r;const i=new rme;return this.images[e]=i,i.image.onload=()=>{this._fixImageCoordinates(i.image),i.init(),this._redrawWithImage(i)},i.image.onerror=()=>{console.error("Could not load image:",e),this._tryloadBrokenUrl(e,t,i)},i.image.src=e,i}_fixImageCoordinates(e){e.width===0&&(document.body.appendChild(e),e.width=e.offsetWidth,e.height=e.offsetHeight,document.body.removeChild(e))}}var N0,EH;function ea(){return EH||(EH=1,N0={}),N0}var M0,SH;function OJ(){if(SH)return M0;SH=1;var n=ke(),e=vt(),t=n.WeakMap;return M0=e(t)&&/native code/.test(String(t)),M0}var q0,_H;function ds(){if(_H)return q0;_H=1;var n=OJ(),e=ke(),t=mt(),r=Ho(),i=xt(),s=cT(),o=kI(),a=zg(),g="Object already initialized",A=e.TypeError,I=e.WeakMap,C,d,l,u=function(c){return l(c)?d(c):C(c,{})},h=function(c){return function(b){var p;if(!t(b)||(p=d(b)).type!==c)throw new A("Incompatible receiver, "+c+" required");return p}};if(n||s.state){var v=s.state||(s.state=new I);v.get=v.get,v.has=v.has,v.set=v.set,C=function(c,b){if(v.has(c))throw new A(g);return b.facade=c,v.set(c,b),b},d=function(c){return v.get(c)||{}},l=function(c){return v.has(c)}}else{var f=o("state");a[f]=!0,C=function(c,b){if(i(c,f))throw new A(g);return b.facade=c,r(c,f,b),b},d=function(c){return i(c,f)?c[f]:{}},l=function(c){return i(c,f)}}return q0={set:C,get:d,has:l,enforce:u,getterFor:h},q0}var F0,OH;function nme(){if(OH)return F0;OH=1;var n=Qe(),e=xt(),t=Function.prototype,r=n&&Object.getOwnPropertyDescriptor,i=e(t,"name"),s=i&&(function(){}).name==="something",o=i&&(!n||n&&r(t,"name").configurable);return F0={EXISTS:i,PROPER:s,CONFIGURABLE:o},F0}var k0,TH;function sme(){if(TH)return k0;TH=1;var n=me();return k0=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),k0}var B0,RH;function MT(){if(RH)return B0;RH=1;var n=xt(),e=vt(),t=pr(),r=kI(),i=sme(),s=r("IE_PROTO"),o=Object,a=o.prototype;return B0=i?o.getPrototypeOf:function(g){var A=t(g);if(n(A,s))return A[s];var I=A.constructor;return e(I)&&A instanceof I?I.prototype:A instanceof o?a:null},B0}var z0,PH;function Kg(){if(PH)return z0;PH=1;var n=Ho();return z0=function(e,t,r,i){return i&&i.enumerable?e[t]=r:n(e,t,r),e},z0}var j0,xH;function TJ(){if(xH)return j0;xH=1;var n=me(),e=vt(),t=mt(),r=Hg(),i=MT(),s=Kg(),o=At(),a=Vo(),g=o("iterator"),A=!1,I,C,d;[].keys&&(d=[].keys(),"next"in d?(C=i(i(d)),C!==Object.prototype&&(I=C)):A=!0);var l=!t(I)||n(function(){var u={};return I[g].call(u)!==u});return l?I={}:a&&(I=r(I)),e(I[g])||s(I,g,function(){return this}),j0={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:A},j0}var L0,$H;function ome(){if($H)return L0;$H=1;var n=$T(),e=Jo();return L0=n?{}.toString:function(){return"[object "+e(this)+"]"},L0}var G0,DH;function ls(){if(DH)return G0;DH=1;var n=$T(),e=vr().f,t=Ho(),r=xt(),i=ome(),s=At(),o=s("toStringTag");return G0=function(a,g,A,I){var C=A?a:a&&a.prototype;C&&(r(C,o)||e(C,o,{configurable:!0,value:g}),I&&!n&&t(C,"toString",i))},G0}var W0,NH;function ame(){if(NH)return W0;NH=1;var n=TJ().IteratorPrototype,e=Hg(),t=Fg(),r=ls(),i=ea(),s=function(){return this};return W0=function(o,a,g,A){var I=a+" Iterator";return o.prototype=e(n,{next:t(+!A,g)}),r(o,I,!1,!0),i[I]=s,o},W0}var V0,MH;function gme(){if(MH)return V0;MH=1;var n=ye(),e=yi();return V0=function(t,r,i){try{return n(e(Object.getOwnPropertyDescriptor(t,r)[i]))}catch{}},V0}var Z0,qH;function Ame(){if(qH)return Z0;qH=1;var n=mt();return Z0=function(e){return n(e)||e===null},Z0}var H0,FH;function Ime(){if(FH)return H0;FH=1;var n=Ame(),e=String,t=TypeError;return H0=function(r){if(n(r))return r;throw new t("Can't set "+e(r)+" as a prototype")},H0}var U0,kH;function Cme(){if(kH)return U0;kH=1;var n=gme(),e=mt(),t=mi(),r=Ime();return U0=Object.setPrototypeOf||("__proto__"in{}?(function(){var i=!1,s={},o;try{o=n(Object.prototype,"__proto__","set"),o(s,[]),i=s instanceof Array}catch{}return function(g,A){return t(g),r(A),e(g)&&(i?o(g,A):g.__proto__=A),g}})():void 0),U0}var K0,BH;function qT(){if(BH)return K0;BH=1;var n=te(),e=Jt(),t=Vo(),r=nme(),i=vt(),s=ame(),o=MT(),a=Cme(),g=ls(),A=Ho(),I=Kg(),C=At(),d=ea(),l=TJ(),u=r.PROPER,h=r.CONFIGURABLE,v=l.IteratorPrototype,f=l.BUGGY_SAFARI_ITERATORS,c=C("iterator"),b="keys",p="values",y="entries",E=function(){return this};return K0=function(S,m,w,_,T,R,O){s(w,m,_);var P=function(fe){if(fe===T&&K)return K;if(!f&&fe&&fe in M)return M[fe];switch(fe){case b:return function(){return new w(this,fe)};case p:return function(){return new w(this,fe)};case y:return function(){return new w(this,fe)}}return function(){return new w(this)}},x=m+" Iterator",V=!1,M=S.prototype,U=M[c]||M["@@iterator"]||T&&M[T],K=!f&&U||P(T),ne=m==="Array"&&M.entries||U,L,se,he;if(ne&&(L=o(ne.call(new S)),L!==Object.prototype&&L.next&&(!t&&o(L)!==v&&(a?a(L,v):i(L[c])||I(L,c,E)),g(L,x,!0,!0),t&&(d[x]=E))),u&&T===p&&U&&U.name!==p&&(!t&&h?A(M,"name",p):(V=!0,K=function(){return e(U,this)})),T)if(se={values:P(p),keys:R?K:P(b),entries:P(y)},O)for(he in se)(f||V||!(he in M))&&I(M,he,se[he]);else n({target:m,proto:!0,forced:f||V},se);return(!t||O)&&M[c]!==K&&I(M,c,K,{name:T}),d[m]=K,se},K0}var Y0,zH;function FT(){return zH||(zH=1,Y0=function(n,e){return{value:n,done:e}}),Y0}var X0,jH;function ta(){if(jH)return X0;jH=1;var n=Br(),e=xT(),t=ea(),r=ds(),i=vr().f,s=qT(),o=FT(),a=Vo(),g=Qe(),A="Array Iterator",I=r.set,C=r.getterFor(A);X0=s(Array,"Array",function(l,u){I(this,{type:A,target:n(l),index:0,kind:u})},function(){var l=C(this),u=l.target,h=l.index++;if(!u||h>=u.length)return l.target=null,o(void 0,!0);switch(l.kind){case"keys":return o(h,!1);case"values":return o(u[h],!1)}return o([h,u[h]],!1)},"values");var d=t.Arguments=t.Array;if(e("keys"),e("values"),e("entries"),!a&&g&&d.name!=="values")try{i(d,"name",{value:"values"})}catch{}return X0}var LH={},GH={},Q0={exports:{}},J0={},WH;function zI(){if(WH)return J0;WH=1;var n=q7(),e=vT(),t=e.concat("length","prototype");return J0.f=Object.getOwnPropertyNames||function(i){return n(i,t)},J0}var ew={},VH;function kT(){if(VH)return ew;VH=1;var n=Jr(),e=Br(),t=zI().f,r=Ko(),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(o){try{return t(o)}catch{return r(i)}};return ew.f=function(a){return i&&n(a)==="Window"?s(a):t(e(a))},ew}var tw,ZH;function dme(){if(ZH)return tw;ZH=1;var n=me();return tw=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),tw}var rw,HH;function lme(){if(HH)return rw;HH=1;var n=me(),e=mt(),t=Jr(),r=dme(),i=Object.isExtensible,s=n(function(){});return rw=s||r?function(a){return!e(a)||r&&t(a)==="ArrayBuffer"?!1:i?i(a):!0}:i,rw}var iw,UH;function RJ(){if(UH)return iw;UH=1;var n=me();return iw=!n(function(){return Object.isExtensible(Object.preventExtensions({}))}),iw}var KH;function jI(){if(KH)return Q0.exports;KH=1;var n=te(),e=ye(),t=zg(),r=mt(),i=xt(),s=vr().f,o=zI(),a=kT(),g=lme(),A=PI(),I=RJ(),C=!1,d=A("meta"),l=0,u=function(p){s(p,d,{value:{objectID:"O"+l++,weakData:{}}})},h=function(p,y){if(!r(p))return typeof p=="symbol"?p:(typeof p=="string"?"S":"P")+p;if(!i(p,d)){if(!g(p))return"F";if(!y)return"E";u(p)}return p[d].objectID},v=function(p,y){if(!i(p,d)){if(!g(p))return!0;if(!y)return!1;u(p)}return p[d].weakData},f=function(p){return I&&C&&g(p)&&!i(p,d)&&u(p),p},c=function(){b.enable=function(){},C=!0;var p=o.f,y=e([].splice),E={};E[d]=1,p(E).length&&(o.f=function(S){for(var m=p(S),w=0,_=m.length;w<_;w++)if(m[w]===d){y(m,w,1);break}return m},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:a.f}))},b=Q0.exports={enable:c,fastKey:h,getWeakData:v,onFreeze:f};return t[d]=!0,Q0.exports}var nw,YH;function ume(){if(YH)return nw;YH=1;var n=At(),e=ea(),t=n("iterator"),r=Array.prototype;return nw=function(i){return i!==void 0&&(e.Array===i||r[t]===i)},nw}var sw,XH;function PJ(){if(XH)return sw;XH=1;var n=Jo(),e=hT(),t=jo(),r=ea(),i=At(),s=i("iterator");return sw=function(o){if(!t(o))return e(o,s)||e(o,"@@iterator")||r[n(o)]},sw}var ow,QH;function hme(){if(QH)return ow;QH=1;var n=Jt(),e=yi(),t=ei(),r=Wo(),i=PJ(),s=TypeError;return ow=function(o,a){var g=arguments.length<2?i(o):a;if(e(g))return t(n(g,o));throw new s(r(o)+" is not iterable")},ow}var aw,JH;function BT(){if(JH)return aw;JH=1;var n=Jt(),e=ei(),t=hT();return aw=function(r,i,s){var o,a;e(r);try{if(o=t(r,"return"),!o){if(i==="throw")throw s;return s}o=n(o,r)}catch(g){a=!0,o=g}if(i==="throw")throw s;if(a)throw o;return e(o),s},aw}var gw,eU;function LI(){if(eU)return gw;eU=1;var n=$I(),e=Jt(),t=ei(),r=Wo(),i=ume(),s=bi(),o=gt(),a=hme(),g=PJ(),A=BT(),I=TypeError,C=function(l,u){this.stopped=l,this.result=u},d=C.prototype;return gw=function(l,u,h){var v=h&&h.that,f=!!(h&&h.AS_ENTRIES),c=!!(h&&h.IS_RECORD),b=!!(h&&h.IS_ITERATOR),p=!!(h&&h.INTERRUPTED),y=n(u,v),E,S,m,w,_,T,R,O=function(x){return E&&A(E,"normal"),new C(!0,x)},P=function(x){return f?(t(x),p?y(x[0],x[1],O):y(x[0],x[1])):p?y(x,O):y(x)};if(c)E=l.iterator;else if(b)E=l;else{if(S=g(l),!S)throw new I(r(l)+" is not iterable");if(i(S)){for(m=0,w=s(l);w>m;m++)if(_=P(l[m]),_&&o(d,_))return _;return new C(!1)}E=a(l,S)}for(T=c?l.next:E.next;!(R=e(T,E)).done;){try{_=P(R.value)}catch(x){A(E,"throw",x)}if(typeof _=="object"&&_&&o(d,_))return _}return new C(!1)},gw}var Aw,tU;function zT(){if(tU)return Aw;tU=1;var n=gt(),e=TypeError;return Aw=function(t,r){if(n(r,t))return t;throw new e("Incorrect invocation")},Aw}var Iw,rU;function jT(){if(rU)return Iw;rU=1;var n=te(),e=ke(),t=jI(),r=me(),i=Ho(),s=LI(),o=zT(),a=vt(),g=mt(),A=jo(),I=ls(),C=vr().f,d=Cn().forEach,l=Qe(),u=ds(),h=u.set,v=u.getterFor;return Iw=function(f,c,b){var p=f.indexOf("Map")!==-1,y=f.indexOf("Weak")!==-1,E=p?"set":"add",S=e[f],m=S&&S.prototype,w={},_;if(!l||!a(S)||!(y||m.forEach&&!r(function(){new S().entries().next()})))_=b.getConstructor(c,f,p,E),t.enable();else{_=c(function(O,P){h(o(O,T),{type:f,collection:new S}),A(P)||s(P,O[E],{that:O,AS_ENTRIES:p})});var T=_.prototype,R=v(f);d(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(O){var P=O==="add"||O==="set";O in m&&!(y&&O==="clear")&&i(T,O,function(x,V){var M=R(this).collection;if(!P&&y&&!g(x))return O==="get"?void 0:!1;var U=M[O](x===0?0:x,V);return P?this:U})}),y||C(T,"size",{configurable:!0,get:function(){return R(this).collection.size}})}return I(_,f,!1,!0),w[f]=_,n({global:!0,forced:!0},w),y||b.setStrong(_,f,p),_},Iw}var Cw,iU;function LT(){if(iU)return Cw;iU=1;var n=vr();return Cw=function(e,t,r){return n.f(e,t,r)},Cw}var dw,nU;function GT(){if(nU)return dw;nU=1;var n=Kg();return dw=function(e,t,r){for(var i in t)r&&r.unsafe&&e[i]?e[i]=t[i]:n(e,i,t[i],r);return e},dw}var lw,sU;function cme(){if(sU)return lw;sU=1;var n=nr(),e=LT(),t=At(),r=Qe(),i=t("species");return lw=function(s){var o=n(s);r&&o&&!o[i]&&e(o,i,{configurable:!0,get:function(){return this}})},lw}var uw,oU;function xJ(){if(oU)return uw;oU=1;var n=Hg(),e=LT(),t=GT(),r=$I(),i=zT(),s=jo(),o=LI(),a=qT(),g=FT(),A=cme(),I=Qe(),C=jI().fastKey,d=ds(),l=d.set,u=d.getterFor;return uw={getConstructor:function(h,v,f,c){var b=h(function(m,w){i(m,p),l(m,{type:v,index:n(null),first:null,last:null,size:0}),I||(m.size=0),s(w)||o(w,m[c],{that:m,AS_ENTRIES:f})}),p=b.prototype,y=u(v),E=function(m,w,_){var T=y(m),R=S(m,w),O,P;return R?R.value=_:(T.last=R={index:P=C(w,!0),key:w,value:_,previous:O=T.last,next:null,removed:!1},T.first||(T.first=R),O&&(O.next=R),I?T.size++:m.size++,P!=="F"&&(T.index[P]=R)),m},S=function(m,w){var _=y(m),T=C(w),R;if(T!=="F")return _.index[T];for(R=_.first;R;R=R.next)if(R.key===w)return R};return t(p,{clear:function(){for(var w=this,_=y(w),T=_.first;T;)T.removed=!0,T.previous&&(T.previous=T.previous.next=null),T=T.next;_.first=_.last=null,_.index=n(null),I?_.size=0:w.size=0},delete:function(m){var w=this,_=y(w),T=S(w,m);if(T){var R=T.next,O=T.previous;delete _.index[T.index],T.removed=!0,O&&(O.next=R),R&&(R.previous=O),_.first===T&&(_.first=R),_.last===T&&(_.last=O),I?_.size--:w.size--}return!!T},forEach:function(w){for(var _=y(this),T=r(w,arguments.length>1?arguments[1]:void 0),R;R=R?R.next:_.first;)for(T(R.value,R.key,this);R&&R.removed;)R=R.previous},has:function(w){return!!S(this,w)}}),t(p,f?{get:function(w){var _=S(this,w);return _&&_.value},set:function(w,_){return E(this,w===0?0:w,_)}}:{add:function(w){return E(this,w=w===0?0:w,w)}}),I&&e(p,"size",{configurable:!0,get:function(){return y(this).size}}),b},setStrong:function(h,v,f){var c=v+" Iterator",b=u(v),p=u(c);a(h,v,function(y,E){l(this,{type:c,target:y,state:b(y),kind:E,last:null})},function(){for(var y=p(this),E=y.kind,S=y.last;S&&S.removed;)S=S.previous;return!y.target||!(y.last=S=S?S.next:y.state.first)?(y.target=null,g(void 0,!0)):g(E==="keys"?S.key:E==="values"?S.value:[S.key,S.value],!1)},f?"entries":"values",!f,!0),A(v)}},uw}var aU;function fme(){if(aU)return GH;aU=1;var n=jT(),e=xJ();return n("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),GH}var gU;function pme(){return gU||(gU=1,fme()),LH}var AU={},hw,IU;function $J(){return IU||(IU=1,hw=function(n,e){return e===1?function(t,r){return t[n](r)}:function(t,r,i){return t[n](r,i)}}),hw}var cw,CU;function vme(){if(CU)return cw;CU=1;var n=nr(),e=$J(),t=n("Map");return cw={Map:t,set:e("set",2),get:e("get",1),has:e("has",1),remove:e("delete",1),proto:t.prototype},cw}var dU;function mme(){if(dU)return AU;dU=1;var n=te(),e=ye(),t=yi(),r=mi(),i=LI(),s=vme(),o=Vo(),a=me(),g=s.Map,A=s.has,I=s.get,C=s.set,d=e([].push),l=o||a(function(){return g.groupBy("ab",function(u){return u}).get("a").length!==1});return n({target:"Map",stat:!0,forced:o||l},{groupBy:function(h,v){r(h),t(v);var f=new g,c=0;return i(h,function(b){var p=v(b,c++);A(f,p)?d(I(f,p),b):C(f,p,[b])}),f}}),AU}var lU={},fw,uU;function yme(){if(uU)return fw;uU=1;var n=ye(),e=Uo(),t=yr(),r=mi(),i=n("".charAt),s=n("".charCodeAt),o=n("".slice),a=function(g){return function(A,I){var C=t(r(A)),d=e(I),l=C.length,u,h;return d<0||d>=l?g?"":void 0:(u=s(C,d),u<55296||u>56319||d+1===l||(h=s(C,d+1))<56320||h>57343?g?i(C,d):u:g?o(C,d,d+2):(u-55296<<10)+(h-56320)+65536)}};return fw={codeAt:a(!1),charAt:a(!0)},fw}var hU;function WT(){if(hU)return lU;hU=1;var n=yme().charAt,e=yr(),t=ds(),r=qT(),i=FT(),s="String Iterator",o=t.set,a=t.getterFor(s);return r(String,"String",function(g){o(this,{type:s,string:e(g),index:0})},function(){var A=a(this),I=A.string,C=A.index,d;return C>=I.length?i(void 0,!0):(d=n(I,C),A.index+=d.length,i(d,!1))}),lU}var pw,cU;function bme(){if(cU)return pw;cU=1,ta(),pme(),mme(),WT();var n=_e();return pw=n.Map,pw}var fU={},vw,pU;function wme(){return pU||(pU=1,vw={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),vw}var vU;function ra(){if(vU)return fU;vU=1,ta();var n=wme(),e=ke(),t=ls(),r=ea();for(var i in n)t(e[i],i),r[i]=r.Array;return fU}var mw,mU;function Eme(){if(mU)return mw;mU=1;var n=bme();return ra(),mw=n,mw}var yw,yU;function Sme(){return yU||(yU=1,yw=Eme()),yw}var _me=Sme(),VT=ge(_me);class Ome{constructor(){this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},Tt(this.options,this.defaultOptions)}setOptions(e){const t=["useDefaultGroups"];if(e!==void 0){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&Le(t).call(t,r)===-1){const i=e[r];this.add(r,i)}}}clear(){this._groups=new VT,this._groupNames=[]}get(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this._groups.get(e);if(r===void 0&&t)if(this.options.useDefaultGroups===!1&&this._groupNames.length>0){const i=this._groupIndex%this._groupNames.length;++this._groupIndex,r={},r.color=this._groups.get(this._groupNames[i]),this._groups.set(e,r)}else{const i=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,r={},r.color=this._defaultGroups[i],this._groups.set(e,r)}return r}add(e,t){return this._groups.has(e)||this._groupNames.push(e),this._groups.set(e,t),t}}var bU={},wU;function Tme(){if(wU)return bU;wU=1;var n=te();return n({target:"Number",stat:!0},{isNaN:function(t){return t!==t}}),bU}var bw,EU;function Rme(){if(EU)return bw;EU=1,Tme();var n=_e();return bw=n.Number.isNaN,bw}var ww,SU;function Pme(){if(SU)return ww;SU=1;var n=Rme();return ww=n,ww}var Ew,_U;function xme(){return _U||(_U=1,Ew=Pme()),Ew}var $me=xme(),X_=ge($me),OU={},Sw,TU;function Dme(){if(TU)return Sw;TU=1;var n=ke(),e=n.isFinite;return Sw=Number.isFinite||function(r){return typeof r=="number"&&e(r)},Sw}var RU;function Nme(){if(RU)return OU;RU=1;var n=te(),e=Dme();return n({target:"Number",stat:!0},{isFinite:e}),OU}var _w,PU;function Mme(){if(PU)return _w;PU=1,Nme();var n=_e();return _w=n.Number.isFinite,_w}var Ow,xU;function qme(){if(xU)return Ow;xU=1;var n=Mme();return Ow=n,Ow}var Tw,$U;function Fme(){return $U||($U=1,Tw=qme()),Tw}var kme=Fme(),En=ge(kme),DU={},NU;function Bme(){if(NU)return DU;NU=1;var n=te(),e=pr(),t=jg(),r=me(),i=r(function(){t(1)});return n({target:"Object",stat:!0,forced:i},{keys:function(o){return t(e(o))}}),DU}var Rw,MU;function zme(){if(MU)return Rw;MU=1,Bme();var n=_e();return Rw=n.Object.keys,Rw}var Pw,qU;function jme(){if(qU)return Pw;qU=1;var n=zme();return Pw=n,Pw}var xw,FU;function Lme(){return FU||(FU=1,xw=jme()),xw}var Gme=Lme(),et=ge(Gme),kU={},BU;function Wme(){if(BU)return kU;BU=1;var n=te(),e=Cn().some,t=Qo(),r=t("some");return n({target:"Array",proto:!0,forced:!r},{some:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),kU}var $w,zU;function Vme(){if(zU)return $w;zU=1,Wme();var n=$t();return $w=n("Array","some"),$w}var Dw,jU;function Zme(){if(jU)return Dw;jU=1;var n=gt(),e=Vme(),t=Array.prototype;return Dw=function(r){var i=r.some;return r===t||n(t,r)&&i===t.some?e:i},Dw}var Nw,LU;function Hme(){if(LU)return Nw;LU=1;var n=Zme();return Nw=n,Nw}var Mw,GU;function Ume(){return GU||(GU=1,Mw=Hme()),Mw}var Kme=Ume(),Yme=ge(Kme),WU={},VU={},qw,ZU;function DJ(){if(ZU)return qw;ZU=1;var n=ke(),e=Lo(),t=Jr(),r=function(i){return e.slice(0,i.length)===i};return qw=(function(){return r("Bun/")?"BUN":r("Cloudflare-Workers")?"CLOUDFLARE":r("Deno/")?"DENO":r("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":t(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"})(),qw}var Fw,HU;function Xme(){if(HU)return Fw;HU=1;var n=TypeError;return Fw=function(e,t){if(e<t)throw new n("Not enough arguments");return e},Fw}var kw,UU;function NJ(){if(UU)return kw;UU=1;var n=ke(),e=OI(),t=vt(),r=DJ(),i=Lo(),s=Ko(),o=Xme(),a=n.Function,g=/MSIE .\./.test(i)||r==="BUN"&&(function(){var A=n.Bun.version.split(".");return A.length<3||A[0]==="0"&&(A[1]<3||A[1]==="3"&&A[2]==="0")})();return kw=function(A,I){var C=I?2:1;return g?function(d,l){var u=o(arguments.length,1)>C,h=t(d)?d:a(d),v=u?s(arguments,C):[],f=u?function(){e(h,this,v)}:h;return I?A(f,l):A(f)}:A},kw}var KU;function Qme(){if(KU)return VU;KU=1;var n=te(),e=ke(),t=NJ(),r=t(e.setInterval,!0);return n({global:!0,bind:!0,forced:e.setInterval!==r},{setInterval:r}),VU}var YU={},XU;function Jme(){if(XU)return YU;XU=1;var n=te(),e=ke(),t=NJ(),r=t(e.setTimeout,!0);return n({global:!0,bind:!0,forced:e.setTimeout!==r},{setTimeout:r}),YU}var QU;function MJ(){return QU||(QU=1,Qme(),Jme()),WU}var Bw,JU;function eye(){if(JU)return Bw;JU=1,MJ();var n=_e();return Bw=n.setTimeout,Bw}var zw,eK;function tye(){return eK||(eK=1,zw=eye()),zw}var rye=tye(),Hs=ge(rye),jw={exports:{}},tK={},rK;function iye(){if(rK)return tK;rK=1;var n=te(),e=Qe(),t=vr().f;return n({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!e},{defineProperty:t}),tK}var iK;function nye(){if(iK)return jw.exports;iK=1,iye();var n=_e(),e=n.Object,t=jw.exports=function(i,s,o){return e.defineProperty(i,s,o)};return e.defineProperty.sham&&(t.sham=!0),jw.exports}var Lw,nK;function qJ(){if(nK)return Lw;nK=1;var n=nye();return Lw=n,Lw}var Gw,sK;function sye(){if(sK)return Gw;sK=1;var n=qJ();return Gw=n,Gw}var Ww,oK;function oye(){if(oK)return Ww;oK=1;var n=sye();return Ww=n,Ww}var Vw,aK;function aye(){return aK||(aK=1,Vw=oye()),Vw}var gye=aye(),Aye=ge(gye),gK={},AK={},Zw={},IK;function GI(){if(IK)return Zw;IK=1;var n=At();return Zw.f=n,Zw}var Hw,CK;function Ve(){if(CK)return Hw;CK=1;var n=_e(),e=xt(),t=GI(),r=vr().f;return Hw=function(i){var s=n.Symbol||(n.Symbol={});e(s,i)||r(s,i,{value:t.f(i)})},Hw}var Uw,dK;function FJ(){if(dK)return Uw;dK=1;var n=Jt(),e=nr(),t=At(),r=Kg();return Uw=function(){var i=e("Symbol"),s=i&&i.prototype,o=s&&s.valueOf,a=t("toPrimitive");s&&!s[a]&&r(s,a,function(g){return n(o,this)},{arity:1})},Uw}var lK;function Iye(){if(lK)return AK;lK=1;var n=te(),e=ke(),t=Jt(),r=ye(),i=Vo(),s=Qe(),o=Go(),a=me(),g=xt(),A=gt(),I=ei(),C=Br(),d=fT(),l=yr(),u=Fg(),h=Hg(),v=jg(),f=zI(),c=kT(),b=NI(),p=xI(),y=vr(),E=PT(),S=TI(),m=Kg(),w=LT(),_=Zo(),T=kI(),R=zg(),O=PI(),P=At(),x=GI(),V=Ve(),M=FJ(),U=ls(),K=ds(),ne=Cn().forEach,L=T("hidden"),se="Symbol",he="prototype",fe=K.set,yt=K.getterFor(se),de=Object[he],Be=e.Symbol,bt=Be&&Be[he],ia=e.RangeError,na=e.TypeError,br=e.QObject,Ei=p.f,ze=y.f,Si=c.f,sa=S.f,_i=r([].push),be=_("symbols"),wt=_("op-symbols"),oa=_("wks"),wr=!br||!br[he]||!br[he].findChild,Oi=function(Z,N,q){var F=Ei(de,N);F&&delete de[N],ze(Z,N,q),F&&Z!==de&&ze(de,N,F)},Er=s&&a(function(){return h(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a!==7})?Oi:ze,Sr=function(Z,N){var q=be[Z]=h(bt);return fe(q,{type:se,tag:Z,description:N}),s||(q.description=N),q},Gt=function(N,q,F){N===de&&Gt(wt,q,F),I(N);var H=d(q);return I(F),g(be,H)?(F.enumerable?(g(N,L)&&N[L][H]&&(N[L][H]=!1),F=h(F,{enumerable:u(0,!1)})):(g(N,L)||ze(N,L,u(1,h(null))),N[L][H]=!0),Er(N,H,F)):ze(N,H,F)},_r=function(N,q){I(N);var F=C(q),H=v(F).concat(Pi(F));return ne(H,function(oe){(!s||t(Or,F,oe))&&Gt(N,oe,F[oe])}),N},aa=function(N,q){return q===void 0?h(N):_r(h(N),q)},Or=function(N){var q=d(N),F=t(sa,this,q);return this===de&&g(be,q)&&!g(wt,q)?!1:F||!g(this,q)||!g(be,q)||g(this,L)&&this[L][q]?F:!0},Ti=function(N,q){var F=C(N),H=d(q);if(!(F===de&&g(be,H)&&!g(wt,H))){var oe=Ei(F,H);return oe&&g(be,H)&&!(g(F,L)&&F[L][H])&&(oe.enumerable=!0),oe}},Ri=function(N){var q=Si(C(N)),F=[];return ne(q,function(H){!g(be,H)&&!g(R,H)&&_i(F,H)}),F},Pi=function(Z){var N=Z===de,q=Si(N?wt:C(Z)),F=[];return ne(q,function(H){g(be,H)&&(!N||g(de,H))&&_i(F,be[H])}),F};return o||(Be=function(){if(A(bt,this))throw new na("Symbol is not a constructor");var N=!arguments.length||arguments[0]===void 0?void 0:l(arguments[0]),q=O(N),F=function(H){var oe=this===void 0?e:this;oe===de&&t(F,wt,H),g(oe,L)&&g(oe[L],q)&&(oe[L][q]=!1);var xi=u(1,H);try{Er(oe,q,xi)}catch($i){if(!($i instanceof ia))throw $i;Oi(oe,q,xi)}};return s&&wr&&Er(de,q,{configurable:!0,set:F}),Sr(q,N)},bt=Be[he],m(bt,"toString",function(){return yt(this).tag}),m(Be,"withoutSetter",function(Z){return Sr(O(Z),Z)}),S.f=Or,y.f=Gt,E.f=_r,p.f=Ti,f.f=c.f=Ri,b.f=Pi,x.f=function(Z){return Sr(P(Z),Z)},s&&(w(bt,"description",{configurable:!0,get:function(){return yt(this).description}}),i||m(de,"propertyIsEnumerable",Or,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!o,sham:!o},{Symbol:Be}),ne(v(oa),function(Z){V(Z)}),n({target:se,stat:!0,forced:!o},{useSetter:function(){wr=!0},useSimple:function(){wr=!1}}),n({target:"Object",stat:!0,forced:!o,sham:!s},{create:aa,defineProperty:Gt,defineProperties:_r,getOwnPropertyDescriptor:Ti}),n({target:"Object",stat:!0,forced:!o},{getOwnPropertyNames:Ri}),M(),U(Be,se),R[L]=!0,AK}var uK={},Kw,hK;function kJ(){if(hK)return Kw;hK=1;var n=Go();return Kw=n&&!!Symbol.for&&!!Symbol.keyFor,Kw}var cK;function Cye(){if(cK)return uK;cK=1;var n=te(),e=nr(),t=xt(),r=yr(),i=Zo(),s=kJ(),o=i("string-to-symbol-registry"),a=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!s},{for:function(g){var A=r(g);if(t(o,A))return o[A];var I=e("Symbol")(A);return o[A]=I,a[I]=A,I}}),uK}var fK={},pK;function dye(){if(pK)return fK;pK=1;var n=te(),e=xt(),t=Bg(),r=Wo(),i=Zo(),s=kJ(),o=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!s},{keyFor:function(g){if(!t(g))throw new TypeError(r(g)+" is not a symbol");if(e(o,g))return o[g]}}),fK}var vK={},Yw,mK;function lye(){if(mK)return Yw;mK=1;var n=ye(),e=Cs(),t=vt(),r=Jr(),i=yr(),s=n([].push);return Yw=function(o){if(t(o))return o;if(e(o)){for(var a=o.length,g=[],A=0;A<a;A++){var I=o[A];typeof I=="string"?s(g,I):(typeof I=="number"||r(I)==="Number"||r(I)==="String")&&s(g,i(I))}var C=g.length,d=!0;return function(l,u){if(d)return d=!1,u;if(e(this))return u;for(var h=0;h<C;h++)if(g[h]===l)return u}}},Yw}var yK;function BJ(){if(yK)return vK;yK=1;var n=te(),e=nr(),t=OI(),r=Jt(),i=ye(),s=me(),o=vt(),a=Bg(),g=Ko(),A=lye(),I=Go(),C=String,d=e("JSON","stringify"),l=i(/./.exec),u=i("".charAt),h=i("".charCodeAt),v=i("".replace),f=i(1.1.toString),c=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,p=/^[\uDC00-\uDFFF]$/,y=!I||s(function(){var w=e("Symbol")("stringify detection");return d([w])!=="[null]"||d({a:w})!=="{}"||d(Object(w))!=="{}"}),E=s(function(){return d("\uDF06\uD834")!=='"\\udf06\\ud834"'||d("\uDEAD")!=='"\\udead"'}),S=function(w,_){var T=g(arguments),R=A(_);if(!(!o(R)&&(w===void 0||a(w))))return T[1]=function(O,P){if(o(R)&&(P=r(R,this,C(O),P)),!a(P))return P},t(d,null,T)},m=function(w,_,T){var R=u(T,_-1),O=u(T,_+1);return l(b,w)&&!l(p,O)||l(p,w)&&!l(b,R)?"\\u"+f(h(w,0),16):w};return d&&n({target:"JSON",stat:!0,arity:3,forced:y||E},{stringify:function(_,T,R){var O=g(arguments),P=t(y?S:d,null,O);return E&&typeof P=="string"?v(P,c,m):P}}),vK}var bK={},wK;function uye(){if(wK)return bK;wK=1;var n=te(),e=Go(),t=me(),r=NI(),i=pr(),s=!e||t(function(){r.f(1)});return n({target:"Object",stat:!0,forced:s},{getOwnPropertySymbols:function(a){var g=r.f;return g?g(i(a)):[]}}),bK}var EK;function zJ(){return EK||(EK=1,Iye(),Cye(),dye(),BJ(),uye()),gK}var SK={},_K;function jJ(){if(_K)return SK;_K=1;var n=Ve();return n("asyncDispose"),SK}var OK={},TK;function hye(){if(TK)return OK;TK=1;var n=Ve();return n("asyncIterator"),OK}var RK={},PK;function LJ(){if(PK)return RK;PK=1;var n=Ve();return n("dispose"),RK}var xK={},$K;function cye(){if($K)return xK;$K=1;var n=Ve();return n("hasInstance"),xK}var DK={},NK;function fye(){if(NK)return DK;NK=1;var n=Ve();return n("isConcatSpreadable"),DK}var MK={},qK;function GJ(){if(qK)return MK;qK=1;var n=Ve();return n("iterator"),MK}var FK={},kK;function pye(){if(kK)return FK;kK=1;var n=Ve();return n("match"),FK}var BK={},zK;function vye(){if(zK)return BK;zK=1;var n=Ve();return n("matchAll"),BK}var jK={},LK;function mye(){if(LK)return jK;LK=1;var n=Ve();return n("replace"),jK}var GK={},WK;function yye(){if(WK)return GK;WK=1;var n=Ve();return n("search"),GK}var VK={},ZK;function bye(){if(ZK)return VK;ZK=1;var n=Ve();return n("species"),VK}var HK={},UK;function wye(){if(UK)return HK;UK=1;var n=Ve();return n("split"),HK}var KK={},YK;function WJ(){if(YK)return KK;YK=1;var n=Ve(),e=FJ();return n("toPrimitive"),e(),KK}var XK={},QK;function Eye(){if(QK)return XK;QK=1;var n=nr(),e=Ve(),t=ls();return e("toStringTag"),t(n("Symbol"),"Symbol"),XK}var JK={},eY;function Sye(){if(eY)return JK;eY=1;var n=Ve();return n("unscopables"),JK}var tY={},rY;function _ye(){if(rY)return tY;rY=1;var n=ke(),e=ls();return e(n.JSON,"JSON",!0),tY}var Xw,iY;function Oye(){if(iY)return Xw;iY=1,_J(),zJ(),jJ(),hye(),LJ(),cye(),fye(),GJ(),pye(),vye(),mye(),yye(),bye(),wye(),WJ(),Eye(),Sye(),_ye();var n=_e();return Xw=n.Symbol,Xw}var Qw,nY;function Tye(){if(nY)return Qw;nY=1;var n=Oye();return ra(),Qw=n,Qw}var sY={},oY;function Rye(){if(oY)return sY;oY=1;var n=At(),e=vr().f,t=n("metadata"),r=Function.prototype;return r[t]===void 0&&e(r,t,{value:null}),sY}var aY={},gY;function Pye(){return gY||(gY=1,jJ()),aY}var AY={},IY;function xye(){return IY||(IY=1,LJ()),AY}var CY={},dY;function $ye(){if(dY)return CY;dY=1;var n=Ve();return n("metadata"),CY}var Jw,lY;function Dye(){if(lY)return Jw;lY=1;var n=Tye();return Rye(),Pye(),xye(),$ye(),Jw=n,Jw}var uY={},eE,hY;function VJ(){if(hY)return eE;hY=1;var n=nr(),e=ye(),t=n("Symbol"),r=t.keyFor,i=e(t.prototype.valueOf);return eE=t.isRegisteredSymbol||function(o){try{return r(i(o))!==void 0}catch{return!1}},eE}var cY;function Nye(){if(cY)return uY;cY=1;var n=te(),e=VJ();return n({target:"Symbol",stat:!0},{isRegisteredSymbol:e}),uY}var fY={},tE,pY;function ZJ(){if(pY)return tE;pY=1;for(var n=Zo(),e=nr(),t=ye(),r=Bg(),i=At(),s=e("Symbol"),o=s.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),g=t(s.prototype.valueOf),A=n("wks"),I=0,C=a(s),d=C.length;I<d;I++)try{var l=C[I];r(s[l])&&i(l)}catch{}return tE=function(h){if(o&&o(h))return!0;try{for(var v=g(h),f=0,c=a(A),b=c.length;f<b;f++)if(A[c[f]]==v)return!0}catch{}return!1},tE}var vY;function Mye(){if(vY)return fY;vY=1;var n=te(),e=ZJ();return n({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:e}),fY}var mY={},yY;function qye(){if(yY)return mY;yY=1;var n=Ve();return n("customMatcher"),mY}var bY={},wY;function Fye(){if(wY)return bY;wY=1;var n=Ve();return n("observable"),bY}var EY={},SY;function kye(){if(SY)return EY;SY=1;var n=te(),e=VJ();return n({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:e}),EY}var _Y={},OY;function Bye(){if(OY)return _Y;OY=1;var n=te(),e=ZJ();return n({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:e}),_Y}var TY={},RY;function zye(){if(RY)return TY;RY=1;var n=Ve();return n("matcher"),TY}var PY={},xY;function jye(){if(xY)return PY;xY=1;var n=Ve();return n("metadataKey"),PY}var $Y={},DY;function Lye(){if(DY)return $Y;DY=1;var n=Ve();return n("patternMatch"),$Y}var NY={},MY;function Gye(){if(MY)return NY;MY=1;var n=Ve();return n("replaceAll"),NY}var rE,qY;function Wye(){if(qY)return rE;qY=1;var n=Dye();return Nye(),Mye(),qye(),Fye(),kye(),Bye(),zye(),jye(),Lye(),Gye(),rE=n,rE}var iE,FY;function Vye(){return FY||(FY=1,iE=Wye()),iE}var Zye=Vye(),CA=ge(Zye),nE,kY;function Hye(){if(kY)return nE;kY=1,ta(),WT(),GJ();var n=GI();return nE=n.f("iterator"),nE}var sE,BY;function Uye(){if(BY)return sE;BY=1;var n=Hye();return ra(),sE=n,sE}var oE,zY;function Kye(){if(zY)return oE;zY=1;var n=Uye();return oE=n,oE}var aE,jY;function Yye(){if(jY)return aE;jY=1;var n=Kye();return aE=n,aE}var gE,LY;function Xye(){return LY||(LY=1,gE=Yye()),gE}var Qye=Xye(),Jye=ge(Qye);function tg(n){"@babel/helpers - typeof";return tg=typeof CA=="function"&&typeof Jye=="symbol"?function(e){return typeof e}:function(e){return e&&typeof CA=="function"&&e.constructor===CA&&e!==CA.prototype?"symbol":typeof e},tg(n)}var AE,GY;function ebe(){if(GY)return AE;GY=1,WJ();var n=GI();return AE=n.f("toPrimitive"),AE}var IE,WY;function tbe(){if(WY)return IE;WY=1;var n=ebe();return IE=n,IE}var CE,VY;function rbe(){if(VY)return CE;VY=1;var n=tbe();return CE=n,CE}var dE,ZY;function ibe(){if(ZY)return dE;ZY=1;var n=rbe();return dE=n,dE}var lE,HY;function nbe(){return HY||(HY=1,lE=ibe()),lE}var sbe=nbe(),obe=ge(sbe);function abe(n,e){if(tg(n)!="object"||!n)return n;var t=n[obe];if(t!==void 0){var r=t.call(n,e);if(tg(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function gbe(n){var e=abe(n,"string");return tg(e)=="symbol"?e:e+""}function ii(n,e,t){return(e=gbe(e))in n?Aye(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var UY={},uE,KY;function ZT(){return KY||(KY=1,uE=`
1065
+ \v\f\r                 \u2028\u2029\uFEFF`),uE}var hE,YY;function HJ(){if(YY)return hE;YY=1;var n=ye(),e=mi(),t=yr(),r=ZT(),i=n("".replace),s=RegExp("^["+r+"]+"),o=RegExp("(^|[^"+r+"])["+r+"]+$"),a=function(g){return function(A){var I=t(e(A));return g&1&&(I=i(I,s,"")),g&2&&(I=i(I,o,"$1")),I}};return hE={start:a(1),end:a(2),trim:a(3)},hE}var cE,XY;function Abe(){if(XY)return cE;XY=1;var n=ke(),e=me(),t=ye(),r=yr(),i=HJ().trim,s=ZT(),o=n.parseInt,a=n.Symbol,g=a&&a.iterator,A=/^[+-]?0x/i,I=t(A.exec),C=o(s+"08")!==8||o(s+"0x16")!==22||g&&!e(function(){o(Object(g))});return cE=C?function(l,u){var h=i(r(l));return o(h,u>>>0||(I(A,h)?16:10))}:o,cE}var QY;function Ibe(){if(QY)return UY;QY=1;var n=te(),e=Abe();return n({global:!0,forced:parseInt!==e},{parseInt:e}),UY}var fE,JY;function Cbe(){if(JY)return fE;JY=1,Ibe();var n=_e();return fE=n.parseInt,fE}var pE,e4;function dbe(){if(e4)return pE;e4=1;var n=Cbe();return pE=n,pE}var vE,t4;function lbe(){return t4||(t4=1,vE=dbe()),vE}var ube=lbe(),r4=ge(ube),i4={},mE,n4;function hbe(){if(n4)return mE;n4=1;var n=ke(),e=me(),t=ye(),r=yr(),i=HJ().trim,s=ZT(),o=t("".charAt),a=n.parseFloat,g=n.Symbol,A=g&&g.iterator,I=1/a(s+"-0")!==-1/0||A&&!e(function(){a(Object(A))});return mE=I?function(d){var l=i(r(d)),u=a(l);return u===0&&o(l,0)==="-"?-0:u}:a,mE}var s4;function cbe(){if(s4)return i4;s4=1;var n=te(),e=hbe();return n({global:!0,forced:parseFloat!==e},{parseFloat:e}),i4}var yE,o4;function fbe(){if(o4)return yE;o4=1,cbe();var n=_e();return yE=n.parseFloat,yE}var bE,a4;function pbe(){if(a4)return bE;a4=1;var n=fbe();return bE=n,bE}var wE,g4;function vbe(){return g4||(g4=1,wE=pbe()),wE}var mbe=vbe(),UJ=ge(mbe),A4={},I4;function ybe(){if(I4)return A4;I4=1;var n=te(),e=Cn().filter,t=Ug(),r=t("filter");return n({target:"Array",proto:!0,forced:!r},{filter:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),A4}var EE,C4;function bbe(){if(C4)return EE;C4=1,ybe();var n=$t();return EE=n("Array","filter"),EE}var SE,d4;function wbe(){if(d4)return SE;d4=1;var n=gt(),e=bbe(),t=Array.prototype;return SE=function(r){var i=r.filter;return r===t||n(t,r)&&i===t.filter?e:i},SE}var _E,l4;function Ebe(){if(l4)return _E;l4=1;var n=wbe();return _E=n,_E}var OE,u4;function Sbe(){return u4||(u4=1,OE=Ebe()),OE}var _be=Sbe(),wi=ge(_be),h4={},c4;function Obe(){if(c4)return h4;c4=1;var n=te(),e=me(),t=kT().f,r=e(function(){return!Object.getOwnPropertyNames(1)});return n({target:"Object",stat:!0,forced:r},{getOwnPropertyNames:t}),h4}var TE,f4;function Tbe(){if(f4)return TE;f4=1,Obe();var n=_e(),e=n.Object;return TE=function(r){return e.getOwnPropertyNames(r)},TE}var RE,p4;function Rbe(){if(p4)return RE;p4=1;var n=Tbe();return RE=n,RE}var PE,v4;function Pbe(){return v4||(v4=1,PE=Rbe()),PE}var xbe=Pbe(),$be=ge(xbe),xE,m4;function Dbe(){if(m4)return xE;m4=1,zJ();var n=_e();return xE=n.Object.getOwnPropertySymbols,xE}var $E,y4;function Nbe(){if(y4)return $E;y4=1;var n=Dbe();return $E=n,$E}var DE,b4;function Mbe(){return b4||(b4=1,DE=Nbe()),DE}var qbe=Mbe(),en=ge(qbe),NE={exports:{}},w4={},E4;function Fbe(){if(E4)return w4;E4=1;var n=te(),e=me(),t=Br(),r=xI().f,i=Qe(),s=!i||e(function(){r(1)});return n({target:"Object",stat:!0,forced:s,sham:!i},{getOwnPropertyDescriptor:function(a,g){return r(t(a),g)}}),w4}var S4;function kbe(){if(S4)return NE.exports;S4=1,Fbe();var n=_e(),e=n.Object,t=NE.exports=function(i,s){return e.getOwnPropertyDescriptor(i,s)};return e.getOwnPropertyDescriptor.sham&&(t.sham=!0),NE.exports}var ME,_4;function Bbe(){if(_4)return ME;_4=1;var n=kbe();return ME=n,ME}var qE,O4;function zbe(){return O4||(O4=1,qE=Bbe()),qE}var jbe=zbe(),dn=ge(jbe),T4={},FE,R4;function Lbe(){if(R4)return FE;R4=1;var n=nr(),e=ye(),t=zI(),r=NI(),i=ei(),s=e([].concat);return FE=n("Reflect","ownKeys")||function(a){var g=t.f(i(a)),A=r.f;return A?s(g,A(a)):g},FE}var P4;function Gbe(){if(P4)return T4;P4=1;var n=te(),e=Qe(),t=Lbe(),r=Br(),i=xI(),s=BI();return n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(a){for(var g=r(a),A=i.f,I=t(g),C={},d=0,l,u;I.length>d;)u=A(g,l=I[d++]),u!==void 0&&s(C,l,u);return C}}),T4}var kE,x4;function Wbe(){if(x4)return kE;x4=1,Gbe();var n=_e();return kE=n.Object.getOwnPropertyDescriptors,kE}var BE,$4;function Vbe(){if($4)return BE;$4=1;var n=Wbe();return BE=n,BE}var zE,D4;function Zbe(){return D4||(D4=1,zE=Vbe()),zE}var Hbe=Zbe(),tn=ge(Hbe),jE={exports:{}},N4={},M4;function Ube(){if(M4)return N4;M4=1;var n=te(),e=Qe(),t=PT().f;return n({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!e},{defineProperties:t}),N4}var q4;function Kbe(){if(q4)return jE.exports;q4=1,Ube();var n=_e(),e=n.Object,t=jE.exports=function(i,s){return e.defineProperties(i,s)};return e.defineProperties.sham&&(t.sham=!0),jE.exports}var LE,F4;function Ybe(){if(F4)return LE;F4=1;var n=Kbe();return LE=n,LE}var GE,k4;function Xbe(){return k4||(k4=1,GE=Ybe()),GE}var Qbe=Xbe(),WI=ge(Qbe),WE,B4;function Jbe(){return B4||(B4=1,WE=qJ()),WE}var e1e=Jbe(),VI=ge(e1e);function HT(n,e){const t=["node","edge","label"];let r=!0;const i=qi(e,"chosen");if(typeof i=="boolean")r=i;else if(typeof i=="object"){if(Le(t).call(t,n)===-1)throw new Error("choosify: subOption '"+n+"' should be one of '"+t.join("', '")+"'");const s=qi(e,["chosen",n]);(typeof s=="boolean"||typeof s=="function")&&(r=s)}return r}function Q_(n,e,t){if(n.width<=0||n.height<=0)return!1;if(t!==void 0){const s={x:e.x-t.x,y:e.y-t.y};if(t.angle!==0){const o=-t.angle;e={x:Math.cos(o)*s.x-Math.sin(o)*s.y,y:Math.sin(o)*s.x+Math.cos(o)*s.y}}else e=s}const r=n.x+n.width,i=n.y+n.width;return n.left<e.x&&r>e.x&&n.top<e.y&&i>e.y}function GA(n){return typeof n=="string"&&n!==""}function KJ(n,e,t,r){let i=r.x,s=r.y;if(typeof r.distanceToBorder=="function"){const o=r.distanceToBorder(n,e),a=Math.sin(e)*o,g=Math.cos(e)*o;g===o?(i+=o,s=r.y):a===o?(i=r.x,s-=o):(i+=g,s-=a)}else r.shape.width>r.shape.height?(i=r.x+r.shape.width*.5,s=r.y-t):(i=r.x+t,s=r.y-r.shape.height*.5);return{x:i,y:s}}var z4={},j4;function t1e(){if(j4)return z4;j4=1;var n=te(),e=Cs(),t=fJ(),r=mt(),i=DI(),s=bi(),o=Br(),a=BI(),g=At(),A=Ug(),I=Ko(),C=A("slice"),d=g("species"),l=Array,u=Math.max;return n({target:"Array",proto:!0,forced:!C},{slice:function(v,f){var c=o(this),b=s(c),p=i(v,b),y=i(f===void 0?b:f,b),E,S,m;if(e(c)&&(E=c.constructor,t(E)&&(E===l||e(E.prototype))?E=void 0:r(E)&&(E=E[d],E===null&&(E=void 0)),E===l||E===void 0))return I(c,p,y);for(S=new(E===void 0?l:E)(u(y-p,0)),m=0;p<y;p++,m++)p in c&&a(S,m,c[p]);return S.length=m,S}}),z4}var VE,L4;function r1e(){if(L4)return VE;L4=1,t1e();var n=$t();return VE=n("Array","slice"),VE}var ZE,G4;function i1e(){if(G4)return ZE;G4=1;var n=gt(),e=r1e(),t=Array.prototype;return ZE=function(r){var i=r.slice;return r===t||n(t,r)&&i===t.slice?e:i},ZE}var HE,W4;function n1e(){if(W4)return HE;W4=1;var n=i1e();return HE=n,HE}var UE,V4;function s1e(){return V4||(V4=1,UE=n1e()),UE}var o1e=s1e(),_s=ge(o1e),KE,Z4;function a1e(){if(Z4)return KE;Z4=1,ta();var n=$t();return KE=n("Array","values"),KE}var YE,H4;function g1e(){if(H4)return YE;H4=1;var n=a1e();return YE=n,YE}var XE,U4;function A1e(){if(U4)return XE;U4=1,ra();var n=Jo(),e=xt(),t=gt(),r=g1e(),i=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return XE=function(o){var a=o.values;return o===i||t(i,o)&&a===i.values||e(s,n(o))?r:a},XE}var QE,K4;function I1e(){return K4||(K4=1,QE=A1e()),QE}var C1e=I1e(),YJ=ge(C1e);class d1e{constructor(e){this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}_add(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"normal";this.lines[e]===void 0&&(this.lines[e]={width:0,height:0,blocks:[]});let i=t;(t===void 0||t==="")&&(i=" ");const s=this.measureText(i,r),o=Tt({},YJ(s));o.text=t,o.width=s.width,o.mod=r,(t===void 0||t==="")&&(o.width=0),this.lines[e].blocks.push(o),this.lines[e].width+=o.width}curWidth(){const e=this.lines[this.current];return e===void 0?0:e.width}append(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t)}newLine(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t),this.current++}determineLineHeights(){for(let e=0;e<this.lines.length;e++){const t=this.lines[e];let r=0;if(t.blocks!==void 0)for(let i=0;i<t.blocks.length;i++){const s=t.blocks[i];r<s.height&&(r=s.height)}t.height=r}}determineLabelSize(){let e=0,t=0;for(let r=0;r<this.lines.length;r++){const i=this.lines[r];i.width>e&&(e=i.width),t+=i.height}this.width=e,this.height=t}removeEmptyBlocks(){const e=[];for(let t=0;t<this.lines.length;t++){const r=this.lines[t];if(r.blocks.length===0||t===this.lines.length-1&&r.width===0)continue;const i={};Tt(i,r),i.blocks=[];let s;const o=[];for(let a=0;a<r.blocks.length;a++){const g=r.blocks[a];g.width!==0?o.push(g):s===void 0&&(s=g)}o.length===0&&s!==void 0&&o.push(s),i.blocks=o,e.push(i)}return e}finalize(){this.determineLineHeights(),this.determineLabelSize();const e=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:e}}}const l1e={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/};class Y4{constructor(e){this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}mod(){return this.modStack.length===0?"normal":this.modStack[0]}modName(){if(this.modStack.length===0)return"normal";if(this.modStack[0]==="mono")return"mono";if(this.bold&&this.ital)return"boldital";if(this.bold)return"bold";if(this.ital)return"ital"}emitBlock(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}add(e){e===" "&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1),e!=" "&&(this.buffer+=e)}parseWS(e){return/[ \t]/.test(e)?(this.mono?this.add(e):this.spacing=!0,!0):!1}setTag(e){this.emitBlock(),this[e]=!0,this.modStack.unshift(e)}unsetTag(e){this.emitBlock(),this[e]=!1,this.modStack.shift()}parseStartTag(e,t){return!this.mono&&!this[e]&&this.match(t)?(this.setTag(e),!0):!1}match(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const[r,i]=this.prepareRegExp(e),s=r.test(this.text.substr(this.position,i));return s&&t&&(this.position+=i-1),s}parseEndTag(e,t,r){let i=this.mod()===e;return e==="mono"?i=i&&this.mono:i=i&&!this.mono,i&&this.match(t)?(r!==void 0?(this.position===this.text.length-1||this.match(r,!1))&&this.unsetTag(e):this.unsetTag(e),!0):!1}replace(e,t){return this.match(e)?(this.add(t),this.position+=length-1,!0):!1}prepareRegExp(e){let t,r;if(e instanceof RegExp)r=e,t=1;else{const i=l1e[e];i!==void 0?r=i:r=new RegExp(e),t=e.length}return[r,t]}}class u1e{constructor(e,t,r,i){this.ctx=e,this.parent=t,this.selected=r,this.hover=i;const s=(o,a)=>{if(o===void 0)return 0;const g=this.parent.getFormattingValues(e,r,i,a);let A=0;return o!==""&&(A=this.ctx.measureText(o).width),{width:A,values:g}};this.lines=new d1e(s)}process(e){if(!GA(e))return this.lines.finalize();const t=this.parent.fontOptions;e=e.replace(/\r\n/g,`
1066
+ `),e=e.replace(/\r/g,`
1067
+ `);const r=String(e).split(`
1068
+ `),i=r.length;if(t.multi)for(let s=0;s<i;s++){const o=this.splitBlocks(r[s],t.multi);if(o!==void 0){if(o.length===0){this.lines.newLine("");continue}if(t.maxWdt>0)for(let a=0;a<o.length;a++){const g=o[a].mod,A=o[a].text;this.splitStringIntoLines(A,g,!0)}else for(let a=0;a<o.length;a++){const g=o[a].mod,A=o[a].text;this.lines.append(A,g)}this.lines.newLine()}}else if(t.maxWdt>0)for(let s=0;s<i;s++)this.splitStringIntoLines(r[s]);else for(let s=0;s<i;s++)this.lines.newLine(r[s]);return this.lines.finalize()}decodeMarkupSystem(e){let t="none";return e==="markdown"||e==="md"?t="markdown":(e===!0||e==="html")&&(t="html"),t}splitHtmlBlocks(e){const t=new Y4(e),r=i=>/&/.test(i)?(t.replace(t.text,"&lt;","<")||t.replace(t.text,"&amp;","&")||t.add("&"),!0):!1;for(;t.position<t.text.length;){const i=t.text.charAt(t.position);t.parseWS(i)||/</.test(i)&&(t.parseStartTag("bold","<b>")||t.parseStartTag("ital","<i>")||t.parseStartTag("mono","<code>")||t.parseEndTag("bold","</b>")||t.parseEndTag("ital","</i>")||t.parseEndTag("mono","</code>"))||r(i)||t.add(i),t.position++}return t.emitBlock(),t.blocks}splitMarkdownBlocks(e){const t=new Y4(e);let r=!0;const i=s=>/\\/.test(s)?(t.position<this.text.length+1&&(t.position++,s=this.text.charAt(t.position),/ \t/.test(s)?t.spacing=!0:(t.add(s),r=!1)),!0):!1;for(;t.position<t.text.length;){const s=t.text.charAt(t.position);t.parseWS(s)||i(s)||(r||t.spacing)&&(t.parseStartTag("bold","*")||t.parseStartTag("ital","_")||t.parseStartTag("mono","`"))||t.parseEndTag("bold","*","afterBold")||t.parseEndTag("ital","_","afterItal")||t.parseEndTag("mono","`","afterMono")||(t.add(s),r=!1),t.position++}return t.emitBlock(),t.blocks}splitBlocks(e,t){const r=this.decodeMarkupSystem(t);if(r==="none")return[{text:e,mod:"normal"}];if(r==="markdown")return this.splitMarkdownBlocks(e);if(r==="html")return this.splitHtmlBlocks(e)}overMaxWidth(e){const t=this.ctx.measureText(e).width;return this.lines.curWidth()+t>this.parent.fontOptions.maxWdt}getLongestFit(e){let t="",r=0;for(;r<e.length;){const s=t+(t===""?"":" ")+e[r];if(this.overMaxWidth(s))break;t=s,r++}return r}getLongestFitWord(e){let t=0;for(;t<e.length&&!this.overMaxWidth(_s(e).call(e,0,t));)t++;return t}splitStringIntoLines(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.parent.getFormattingValues(this.ctx,this.selected,this.hover,t),e=e.replace(/^( +)/g,"$1\r"),e=e.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");let i=e.split("\r");for(;i.length>0;){let s=this.getLongestFit(i);if(s===0){const o=i[0],a=this.getLongestFitWord(o);this.lines.newLine(_s(o).call(o,0,a),t),i[0]=_s(o).call(o,a)}else{let o=s;i[s-1]===" "?s--:i[o]===" "&&o++;const a=_s(i).call(i,0,s).join("");s==i.length&&r?this.lines.append(a,t):this.lines.newLine(a,t),i=_s(i).call(i,o)}}}}const ua=["bold","ital","boldital","mono"];class Us{constructor(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(t),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=r}setOptions(e){if(this.elementOptions=e,this.initFontOptions(e.font),GA(e.label)?this.labelDirty=!0:e.label=void 0,e.font!==void 0&&e.font!==null){if(typeof e.font=="string")this.baseSize=this.fontOptions.size;else if(typeof e.font=="object"){const t=e.font.size;t!==void 0&&(this.baseSize=t)}}}initFontOptions(e){if(ue(ua,t=>{this.fontOptions[t]={}}),Us.parseFontString(this.fontOptions,e)){this.fontOptions.vadjust=0;return}ue(e,(t,r)=>{t!=null&&typeof t!="object"&&(this.fontOptions[r]=t)})}static parseFontString(e,t){if(!t||typeof t!="string")return!1;const r=t.split(" ");return e.size=+r[0].replace("px",""),e.face=r[1],e.color=r[2],!0}constrain(e){const t={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},r=qi(e,"widthConstraint");if(typeof r=="number")t.maxWdt=Number(r),t.minWdt=Number(r);else if(typeof r=="object"){const s=qi(e,["widthConstraint","maximum"]);typeof s=="number"&&(t.maxWdt=Number(s));const o=qi(e,["widthConstraint","minimum"]);typeof o=="number"&&(t.minWdt=Number(o))}const i=qi(e,"heightConstraint");if(typeof i=="number")t.minHgt=Number(i);else if(typeof i=="object"){const s=qi(e,["heightConstraint","minimum"]);typeof s=="number"&&(t.minHgt=Number(s));const o=qi(e,["heightConstraint","valign"]);typeof o=="string"&&(o==="top"||o==="bottom")&&(t.valign=o)}return t}update(e,t){this.setOptions(e,!0),this.propagateFonts(t),xe(this.fontOptions,this.constrain(t)),this.fontOptions.chooser=HT("label",t)}adjustSizes(e){const t=e?e.right+e.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=t,this.fontOptions.minWdt-=t);const r=e?e.top+e.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=r)}addFontOptionsToPile(e,t){for(let r=0;r<t.length;++r)this.addFontToPile(e,t[r])}addFontToPile(e,t){if(t===void 0||t.font===void 0||t.font===null)return;const r=t.font;e.push(r)}getBasicOptions(e){const t={};for(let r=0;r<e.length;++r){let i=e[r];const s={};Us.parseFontString(s,i)&&(i=s),ue(i,(o,a)=>{o!==void 0&&(Object.prototype.hasOwnProperty.call(t,a)||(Le(ua).call(ua,a)!==-1?t[a]={}:t[a]=o))})}return t}getFontOption(e,t,r){let i;for(let s=0;s<e.length;++s){const o=e[s];if(Object.prototype.hasOwnProperty.call(o,t)){if(i=o[t],i==null)continue;const a={};if(Us.parseFontString(a,i)&&(i=a),Object.prototype.hasOwnProperty.call(i,r))return i[r]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,r))return this.fontOptions[r];throw new Error("Did not find value for multi-font for property: '"+r+"'")}getFontOptions(e,t){const r={},i=["color","size","face","mod","vadjust"];for(let s=0;s<i.length;++s){const o=i[s];r[o]=this.getFontOption(e,t,o)}return r}propagateFonts(e){const t=[];this.addFontOptionsToPile(t,e),this.fontOptions=this.getBasicOptions(t);for(let r=0;r<ua.length;++r){const i=ua[r],s=this.fontOptions[i],o=this.getFontOptions(t,i);ue(o,(a,g)=>{s[g]=a}),s.size=Number(s.size),s.vadjust=Number(s.vadjust)}}draw(e,t,r,i,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";if(this.elementOptions.label===void 0)return;let a=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&a<this.elementOptions.scaling.label.drawThreshold-1||(a>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(e,i,s,t,r,o),this._drawBackground(e),this._drawText(e,t,this.size.yLine,o,a))}_drawBackground(e){if(this.fontOptions.background!==void 0&&this.fontOptions.background!=="none"){e.fillStyle=this.fontOptions.background;const t=this.getSize();e.fillRect(t.left,t.top,t.width,t.height)}}_drawText(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"middle",s=arguments.length>4?arguments[4]:void 0;[t,r]=this._setAlignment(e,t,r,i),e.textAlign="left",t=t-this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&(this.fontOptions.valign==="top"&&(r-=(this.size.height-this.size.labelHeight)/2),this.fontOptions.valign==="bottom"&&(r+=(this.size.height-this.size.labelHeight)/2));for(let o=0;o<this.lineCount;o++){const a=this.lines[o];if(a&&a.blocks){let g=0;this.isEdgeLabel||this.fontOptions.align==="center"?g+=(this.size.width-a.width)/2:this.fontOptions.align==="right"&&(g+=this.size.width-a.width);for(let A=0;A<a.blocks.length;A++){const I=a.blocks[A];e.font=I.font;const[C,d]=this._getColor(I.color,s,I.strokeColor);I.strokeWidth>0&&(e.lineWidth=I.strokeWidth,e.strokeStyle=d,e.lineJoin="round"),e.fillStyle=C,I.strokeWidth>0&&e.strokeText(I.text,t+g,r+I.vadjust),e.fillText(I.text,t+g,r+I.vadjust),g+=I.width}r+=a.height}}}_setAlignment(e,t,r,i){if(this.isEdgeLabel&&this.fontOptions.align!=="horizontal"&&this.pointToSelf===!1){t=0,r=0;const s=2;this.fontOptions.align==="top"?(e.textBaseline="alphabetic",r-=2*s):this.fontOptions.align==="bottom"?(e.textBaseline="hanging",r+=2*s):e.textBaseline="middle"}else e.textBaseline=i;return[t,r]}_getColor(e,t,r){let i=e||"#000000",s=r||"#ffffff";if(t<=this.elementOptions.scaling.label.drawThreshold){const o=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-t)));i=gr(i,o),s=gr(s,o)}return[i,s]}getTextSize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this._processLabel(e,t,r),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}getSize(){let t=this.size.left,r=this.size.top-.5*2;if(this.isEdgeLabel){const s=-this.size.width*.5;switch(this.fontOptions.align){case"middle":t=s,r=-this.size.height*.5;break;case"top":t=s,r=-(this.size.height+2);break;case"bottom":t=s,r=2;break}}return{left:t,top:r,width:this.size.width,height:this.size.height}}calculateLabelSize(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";this._processLabel(e,t,r),this.size.left=i-this.size.width*.5,this.size.top=s-this.size.height*.5,this.size.yLine=s+(1-this.lineCount)*.5*this.fontOptions.size,o==="hanging"&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}getFormattingValues(e,t,r,i){const s=function(g,A,I){return A==="normal"?I==="mod"?"":g[I]:g[A][I]!==void 0?g[A][I]:g[I]},o={color:s(this.fontOptions,i,"color"),size:s(this.fontOptions,i,"size"),face:s(this.fontOptions,i,"face"),mod:s(this.fontOptions,i,"mod"),vadjust:s(this.fontOptions,i,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(t||r)&&(i==="normal"&&this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?o.mod="bold":typeof this.fontOptions.chooser=="function"&&this.fontOptions.chooser(o,this.elementOptions.id,t,r));let a="";return o.mod!==void 0&&o.mod!==""&&(a+=o.mod+" "),a+=o.size+"px "+o.face,e.font=a.replace(/"/g,""),o.font=e.font,o.height=o.size,o}differentState(e,t){return e!==this.selectedState||t!==this.hoverState}_processLabelText(e,t,r,i){return new u1e(e,this,t,r).process(i)}_processLabel(e,t,r){if(this.labelDirty===!1&&!this.differentState(t,r))return;const i=this._processLabelText(e,t,r,this.elementOptions.label);this.fontOptions.minWdt>0&&i.width<this.fontOptions.minWdt&&(i.width=this.fontOptions.minWdt),this.size.labelHeight=i.height,this.fontOptions.minHgt>0&&i.height<this.fontOptions.minHgt&&(i.height=this.fontOptions.minHgt),this.lines=i.lines,this.lineCount=i.lines.length,this.size.width=i.width,this.size.height=i.height,this.selectedState=t,this.hoverState=r,this.labelDirty=!1}visible(){return!(this.size.width===0||this.size.height===0||this.elementOptions.label===void 0||this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}var X4={},JE,Q4;function h1e(){if(Q4)return JE;Q4=1;var n=pr(),e=DI(),t=bi();return JE=function(i){for(var s=n(this),o=t(s),a=arguments.length,g=e(a>1?arguments[1]:void 0,o),A=a>2?arguments[2]:void 0,I=A===void 0?o:e(A,o);I>g;)s[g++]=i;return s},JE}var J4;function c1e(){if(J4)return X4;J4=1;var n=te(),e=h1e(),t=xT();return n({target:"Array",proto:!0},{fill:e}),t("fill"),X4}var eS,e8;function f1e(){if(e8)return eS;e8=1,c1e();var n=$t();return eS=n("Array","fill"),eS}var tS,t8;function p1e(){if(t8)return tS;t8=1;var n=gt(),e=f1e(),t=Array.prototype;return tS=function(r){var i=r.fill;return r===t||n(t,r)&&i===t.fill?e:i},tS}var rS,r8;function v1e(){if(r8)return rS;r8=1;var n=p1e();return rS=n,rS}var iS,i8;function m1e(){return i8||(i8=1,iS=v1e()),iS}var y1e=m1e(),ZI=ge(y1e);class us{constructor(e,t,r){this.body=t,this.labelModule=r,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}setOptions(e){this.options=e}_setMargins(e){this.margin={},this.options.margin&&(typeof this.options.margin=="object"?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),e.adjustSizes(this.margin)}_distanceToBorder(e,t){const r=this.options.borderWidth;return e&&this.resize(e),Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}enableShadow(e,t){t.shadow&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}enableBorderDashes(e,t){if(t.borderDashes!==!1)if(e.setLineDash!==void 0){let r=t.borderDashes;r===!0&&(r=[5,15]),e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1}disableBorderDashes(e,t){t.borderDashes!==!1&&(e.setLineDash!==void 0?e.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1))}needsRefresh(e,t){return this.refreshNeeded===!0?(this.refreshNeeded=!1,!0):this.width===void 0||this.labelModule.differentState(e,t)}initContextForDraw(e,t){const r=t.borderWidth/this.body.view.scale;e.lineWidth=Math.min(this.width,r),e.strokeStyle=t.borderColor,e.fillStyle=t.color}performStroke(e,t){const r=t.borderWidth/this.body.view.scale;e.save(),r>0&&(this.enableBorderDashes(e,t),e.stroke(),this.disableBorderDashes(e,t)),e.restore()}performFill(e,t){e.save(),e.fillStyle=t.color,this.enableShadow(e,t),ZI(e).call(e),this.disableShadow(e,t),e.restore(),this.performStroke(e,t)}_addBoundingBoxMargin(e){this.boundingBox.left-=e,this.boundingBox.top-=e,this.boundingBox.bottom+=e,this.boundingBox.right+=e}_updateBoundingBox(e,t,r,i,s){r!==void 0&&this.resize(r,i,s),this.left=e-this.width/2,this.top=t-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}updateBoundingBox(e,t,r,i,s){this._updateBoundingBox(e,t,r,i,s)}getDimensionsFromLabel(e,t,r){this.textSize=this.labelModule.getTextSize(e,t,r);let i=this.textSize.width,s=this.textSize.height;const o=14;return i===0&&(i=o,s=o),{width:i,height:s}}}let b1e=class extends us{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.width=i.width+this.margin.right+this.margin.left,this.height=i.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,o),F7(e,this.left,this.top,this.width,this.height,o.borderRadius),this.performFill(e,o),this.updateBoundingBox(t,r,e,i,s),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,s)}updateBoundingBox(e,t,r,i,s){this._updateBoundingBox(e,t,r,i,s);const o=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(o)}distanceToBorder(e,t){e&&this.resize(e);const r=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}};class UT extends us{constructor(e,t,r){super(e,t,r),this.labelOffset=0,this.selected=!1}setOptions(e,t,r){this.options=e,t===void 0&&r===void 0||this.setImages(t,r)}setImages(e,t){t&&this.selected?(this.imageObj=t,this.imageObjAlt=e):(this.imageObj=e,this.imageObjAlt=t)}switchImages(e){const t=e&&!this.selected||!e&&this.selected;if(this.selected=e,this.imageObjAlt!==void 0&&t){const r=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=r}}_getImagePadding(){const e={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){const t=this.options.imagePadding;typeof t=="object"?(e.top=t.top,e.right=t.right,e.bottom=t.bottom,e.left=t.left):(e.top=t,e.right=t,e.bottom=t,e.left=t)}return e}_resizeImage(){let e,t;if(this.options.shapeProperties.useImageSize===!1){let r=1,i=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?r=this.imageObj.width/this.imageObj.height:i=this.imageObj.height/this.imageObj.width),e=this.options.size*2*r,t=this.options.size*2*i}else{const r=this._getImagePadding();e=this.imageObj.width+r.left+r.right,t=this.imageObj.height+r.top+r.bottom}this.width=e,this.height=t,this.radius=.5*this.width}_drawRawCircle(e,t,r,i){this.initContextForDraw(e,i),mT(e,t,r,i.size),this.performFill(e,i)}_drawImageAtPosition(e,t){if(this.imageObj.width!=0){e.globalAlpha=t.opacity!==void 0?t.opacity:1,this.enableShadow(e,t);let r=1;this.options.shapeProperties.interpolation===!0&&(r=this.imageObj.width/this.width/this.body.view.scale);const i=this._getImagePadding(),s=this.left+i.left,o=this.top+i.top,a=this.width-i.left-i.right,g=this.height-i.top-i.bottom;this.imageObj.drawImageAtPosition(e,r,s,o,a,g),this.disableShadow(e,t)}}_drawImageLabel(e,t,r,i,s){let o=0;if(this.height!==void 0){o=this.height*.5;const g=this.labelModule.getTextSize(e,i,s);g.lineCount>=1&&(o+=g.height/2)}const a=r+o;this.options.label&&(this.labelOffset=o),this.labelModule.draw(e,t,a,i,s,"hanging")}}let w1e=class extends UT{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r),s=Math.max(i.width+this.margin.right+this.margin.left,i.height+this.margin.top+this.margin.bottom);this.options.size=s/2,this.width=s,this.height=s,this.radius=this.width/2}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this._drawRawCircle(e,t,r,o),this.updateBoundingBox(t,r),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,r,i,s)}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size}distanceToBorder(e){return e&&this.resize(e),this.width*.5}};class E1e extends UT{constructor(e,t,r,i,s){super(e,t,r),this.setImages(i,s)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const s=this.options.size*2;this.width=s,this.height=s,this.radius=.5*this.width;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,s,o){this.switchImages(i),this.resize();let a=t,g=r;this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this._drawRawCircle(e,a,g,o),e.save(),e.clip(),this._drawImageAtPosition(e,o),e.restore(),this._drawImageLabel(e,a,g,i,s),this.updateBoundingBox(t,r)}updateBoundingBox(e,t){this.options.shapeProperties.coordinateOrigin==="top-left"?(this.boundingBox.top=t,this.boundingBox.left=e,this.boundingBox.right=e+this.options.size*2,this.boundingBox.bottom=t+this.options.size*2):(this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}distanceToBorder(e){return e&&this.resize(e),this.width*.5}}class ln extends us{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{size:this.options.size};if(this.needsRefresh(t,r)){var s,o;this.labelModule.getTextSize(e,t,r);const a=2*i.size;this.width=(s=this.customSizeWidth)!==null&&s!==void 0?s:a,this.height=(o=this.customSizeHeight)!==null&&o!==void 0?o:a,this.radius=.5*this.width}}_drawShape(e,t,r,i,s,o,a,g){return this.resize(e,o,a,g),this.left=i-this.width/2,this.top=s-this.height/2,this.initContextForDraw(e,g),pfe(t)(e,i,s,g.size),this.performFill(e,g),this.options.icon!==void 0&&this.options.icon.code!==void 0&&(e.font=(o?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",e.fillText(this.options.icon.code,i,s)),{drawExternalLabel:()=>{if(this.options.label!==void 0){this.labelModule.calculateLabelSize(e,o,a,i,s,"hanging");const A=s+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(e,i,A,o,a,"hanging")}this.updateBoundingBox(i,s)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}function n8(n,e){var t=et(n);if(en){var r=en(n);e&&(r=wi(r).call(r,function(i){return dn(n,i).enumerable})),t.push.apply(t,r)}return t}function S1e(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Me(t=n8(Object(i),!0)).call(t,function(s){ii(n,s,i[s])}):tn?WI(n,tn(i)):Me(r=n8(Object(i))).call(r,function(s){VI(n,s,dn(i,s))})}return n}class _1e extends ln{constructor(e,t,r,i){super(e,t,r,i),this.ctxRenderer=i}draw(e,t,r,i,s,o){this.resize(e,i,s,o),this.left=t-this.width/2,this.top=r-this.height/2,e.save();const a=this.ctxRenderer({ctx:e,id:this.options.id,x:t,y:r,state:{selected:i,hover:s},style:S1e({},o),label:this.options.label});if(a.drawNode!=null&&a.drawNode(),e.restore(),a.drawExternalLabel){const g=a.drawExternalLabel;a.drawExternalLabel=()=>{e.save(),g(),e.restore()}}return a.nodeDimensions&&(this.customSizeWidth=a.nodeDimensions.width,this.customSizeHeight=a.nodeDimensions.height),a}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class O1e extends us{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){if(this.needsRefresh(t,r)){const s=this.getDimensionsFromLabel(e,t,r).width+this.margin.right+this.margin.left;this.width=s,this.height=s,this.radius=this.width/2}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,o),k7(e,t-this.width/2,r-this.height/2,this.width,this.height),this.performFill(e,o),this.updateBoundingBox(t,r,e,i,s),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}let T1e=class extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"diamond",4,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};class R1e extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"circle",2,t,r,i,s,o)}distanceToBorder(e){return e&&this.resize(e),this.options.size}}class s8 extends us{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.height=i.height*2,this.width=i.width+i.height,this.radius=.5*this.width}}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width*.5,this.top=r-this.height*.5,this.initContextForDraw(e,o),L_(e,this.left,this.top,this.width,this.height),this.performFill(e,o),this.updateBoundingBox(t,r,e,i,s),this.labelModule.draw(e,t,r,i,s)}distanceToBorder(e,t){e&&this.resize(e);const r=this.width*.5,i=this.height*.5,s=Math.sin(t)*r,o=Math.cos(t)*i;return r*i/Math.sqrt(s*s+o*o)}}class P1e extends us{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,s,o){return this.resize(e,i,s),this.options.icon.size=this.options.icon.size||50,this.left=t-this.width/2,this.top=r-this.height/2,this._icon(e,t,r,i,s,o),{drawExternalLabel:()=>{this.options.label!==void 0&&this.labelModule.draw(e,this.left+this.iconSize.width/2+this.margin.left,r+this.height/2+5,i),this.updateBoundingBox(t,r)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.icon.size*.5,this.boundingBox.left=e-this.options.icon.size*.5,this.boundingBox.right=e+this.options.icon.size*.5,this.boundingBox.bottom=t+this.options.icon.size*.5,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5))}_icon(e,t,r,i,s,o){const a=Number(this.options.icon.size);this.options.icon.code!==void 0?(e.font=[this.options.icon.weight!=null?this.options.icon.weight:i?"bold":"",(this.options.icon.weight!=null&&i?5:0)+a+"px",this.options.icon.face].join(" "),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",this.enableShadow(e,o),e.fillText(this.options.icon.code,t,r),this.disableShadow(e,o)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}let x1e=class extends UT{constructor(e,t,r,i,s){super(e,t,r),this.setImages(i,s)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const s=this.options.size*2;this.width=s,this.height=s;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,s,o){e.save(),this.switchImages(i),this.resize();let a=t,g=r;if(this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this.options.shapeProperties.useBorderWithImage===!0){const A=this.options.borderWidth,I=this.options.borderWidthSelected||2*this.options.borderWidth,C=(i?I:A)/this.body.view.scale;e.lineWidth=Math.min(this.width,C),e.beginPath();let d=i?this.options.color.highlight.border:s?this.options.color.hover.border:this.options.color.border,l=i?this.options.color.highlight.background:s?this.options.color.hover.background:this.options.color.background;o.opacity!==void 0&&(d=gr(d,o.opacity),l=gr(l,o.opacity)),e.strokeStyle=d,e.fillStyle=l,e.rect(this.left-.5*e.lineWidth,this.top-.5*e.lineWidth,this.width+e.lineWidth,this.height+e.lineWidth),ZI(e).call(e),this.performStroke(e,o),e.closePath()}this._drawImageAtPosition(e,o),this._drawImageLabel(e,a,g,i,s),this.updateBoundingBox(t,r),e.restore()}updateBoundingBox(e,t){this.resize(),this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=e,this.top=t):(this.left=e-this.width/2,this.top=t-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};class $1e extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"square",2,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class D1e extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"hexagon",4,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class N1e extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"star",4,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class M1e extends us{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.textSize=this.labelModule.getTextSize(e,t,r),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,s,o){this.resize(e,i,s),this.left=t-this.width/2,this.top=r-this.height/2,this.enableShadow(e,o),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,s),this.disableShadow(e,o),this.updateBoundingBox(t,r,e,i,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}let q1e=class extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"triangle",3,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};class F1e extends ln{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,s,o){return this._drawShape(e,"triangleDown",3,t,r,i,s,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}function o8(n,e){var t=et(n);if(en){var r=en(n);e&&(r=wi(r).call(r,function(i){return dn(n,i).enumerable})),t.push.apply(t,r)}return t}function a8(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Me(t=o8(Object(i),!0)).call(t,function(s){ii(n,s,i[s])}):tn?WI(n,tn(i)):Me(r=o8(Object(i))).call(r,function(s){VI(n,s,dn(i,s))})}return n}class qe{constructor(e,t,r,i,s,o){this.options=Hi(s),this.globalOptions=s,this.defaultOptions=o,this.body=t,this.edges=[],this.id=void 0,this.imagelist=r,this.grouplist=i,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new Us(this.body,this.options,!1),this.setOptions(e)}attachEdge(e){var t;Le(t=this.edges).call(t,e)===-1&&this.edges.push(e)}detachEdge(e){var t;const r=Le(t=this.edges).call(t,e);if(r!=-1){var i;Ui(i=this.edges).call(i,r,1)}}setOptions(e){const t=this.options.shape;if(!e)return;if(typeof e.color<"u"&&(this._localColor=e.color),e.id!==void 0&&(this.id=e.id),this.id===void 0)throw new Error("Node must have an id");qe.checkMass(e,this.id),e.x!==void 0&&(e.x===null?(this.x=void 0,this.predefinedPosition=!1):(this.x=r4(e.x),this.predefinedPosition=!0)),e.y!==void 0&&(e.y===null?(this.y=void 0,this.predefinedPosition=!1):(this.y=r4(e.y),this.predefinedPosition=!0)),e.size!==void 0&&(this.baseSize=e.size),e.value!==void 0&&(e.value=UJ(e.value)),qe.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);const r=[e,this.options,this.defaultOptions];return this.chooser=HT("node",r),this._load_images(),this.updateLabelModule(e),e.opacity!==void 0&&qe.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(t),e.hidden!==void 0||e.physics!==void 0}_load_images(){if((this.options.shape==="circularImage"||this.options.shape==="image")&&this.options.image===void 0)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(this.options.image!==void 0){if(this.imagelist===void 0)throw new Error("Internal Error: No images provided");if(typeof this.options.image=="string")this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(this.options.image.unselected===void 0)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),this.options.image.selected!==void 0?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}static checkOpacity(e){return 0<=e&&e<=1}static checkCoordinateOrigin(e){return e===void 0||e==="center"||e==="top-left"}static updateGroupOptions(e,t,r){var i;if(r===void 0)return;const s=e.group;if(t!==void 0&&t.group!==void 0&&s!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if(!(typeof s=="number"||typeof s=="string"&&s!=""))return;const a=r.get(s);a.opacity!==void 0&&t.opacity===void 0&&(qe.checkOpacity(a.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+a.opacity),a.opacity=void 0));const g=wi(i=$be(t)).call(i,A=>t[A]!=null);g.push("font"),jA(g,e,a),e.color=H_(e.color)}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4?arguments[4]:void 0;if(jA(["color","fixed","shadow"],e,t,r),qe.checkMass(t),e.opacity!==void 0&&(qe.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),t.opacity!==void 0&&(qe.checkOpacity(t.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity),t.opacity=void 0)),t.shapeProperties&&!qe.checkCoordinateOrigin(t.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+t.shapeProperties.coordinateOrigin),or(e,t,"shadow",i),t.color!==void 0&&t.color!==null){const a=H_(t.color);CJ(e.color,a)}else r===!0&&t.color===null&&(e.color=Hi(i.color));t.fixed!==void 0&&t.fixed!==null&&(typeof t.fixed=="boolean"?(e.fixed.x=t.fixed,e.fixed.y=t.fixed):(t.fixed.x!==void 0&&typeof t.fixed.x=="boolean"&&(e.fixed.x=t.fixed.x),t.fixed.y!==void 0&&typeof t.fixed.y=="boolean"&&(e.fixed.y=t.fixed.y))),r===!0&&t.font===null&&(e.font=Hi(i.font)),qe.updateGroupOptions(e,t,s),t.scaling!==void 0&&or(e.scaling,t.scaling,"label",i.scaling)}getFormattingValues(){const e={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?this.chooser===!0?this.selected?(this.options.borderWidthSelected!=null?e.borderWidth=this.options.borderWidthSelected:e.borderWidth*=2,e.color=this.options.color.highlight.background,e.borderColor=this.options.color.highlight.border,e.shadow=this.options.shadow.enabled):this.hover&&(e.color=this.options.color.hover.background,e.borderColor=this.options.color.hover.border,e.shadow=this.options.shadow.enabled):typeof this.chooser=="function"&&(this.chooser(e,this.options.id,this.selected,this.hover),e.shadow===!1&&(e.shadowColor!==this.options.shadow.color||e.shadowSize!==this.options.shadow.size||e.shadowX!==this.options.shadow.x||e.shadowY!==this.options.shadow.y)&&(e.shadow=!0)):e.shadow=this.options.shadow.enabled,this.options.opacity!==void 0){const t=this.options.opacity;e.borderColor=gr(e.borderColor,t),e.color=gr(e.color,t),e.shadowColor=gr(e.shadowColor,t)}return e}updateLabelModule(e){(this.options.label===void 0||this.options.label===null)&&(this.options.label=""),qe.updateGroupOptions(this.options,a8(a8({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);const t=this.grouplist.get(this.options.group,!1),r=[e,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,r),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateShape(e){if(e===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new b1e(this.options,this.body,this.labelModule);break;case"circle":this.shape=new w1e(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new E1e(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new _1e(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new O1e(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new T1e(this.options,this.body,this.labelModule);break;case"dot":this.shape=new R1e(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new s8(this.options,this.body,this.labelModule);break;case"icon":this.shape=new P1e(this.options,this.body,this.labelModule);break;case"image":this.shape=new x1e(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new $1e(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new D1e(this.options,this.body,this.labelModule);break;case"star":this.shape=new N1e(this.options,this.body,this.labelModule);break;case"text":this.shape=new M1e(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new q1e(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new F1e(this.options,this.body,this.labelModule);break;default:this.shape=new s8(this.options,this.body,this.labelModule);break}this.needsRefresh()}select(){this.selected=!0,this.needsRefresh()}unselect(){this.selected=!1,this.needsRefresh()}needsRefresh(){this.shape.refreshNeeded=!0}getTitle(){return this.options.title}distanceToBorder(e,t){return this.shape.distanceToBorder(e,t)}isFixed(){return this.options.fixed.x&&this.options.fixed.y}isSelected(){return this.selected}getValue(){return this.options.value}getLabelSize(){return this.labelModule.size()}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),s=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const o=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*o}this.options.size=this.options.scaling.min+i*s}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}draw(e){const t=this.getFormattingValues();return this.shape.draw(e,this.x,this.y,this.selected,this.hover,t)||{}}updateBoundingBox(e){this.shape.updateBoundingBox(this.x,this.y,e)}resize(e){const t=this.getFormattingValues();this.shape.resize(e,this.selected,this.hover,t)}getItemsOnPoint(e){const t=[];return this.labelModule.visible()&&Q_(this.labelModule.getSize(),e)&&t.push({nodeId:this.id,labelId:0}),Q_(this.shape.boundingBox,e)&&t.push({nodeId:this.id}),t}isOverlappingWith(e){return this.shape.left<e.right&&this.shape.left+this.shape.width>e.left&&this.shape.top<e.bottom&&this.shape.top+this.shape.height>e.top}isBoundingBoxOverlappingWith(e){return this.shape.boundingBox.left<e.right&&this.shape.boundingBox.right>e.left&&this.shape.boundingBox.top<e.bottom&&this.shape.boundingBox.bottom>e.top}static checkMass(e,t){if(e.mass!==void 0&&e.mass<=0){let r="";t!==void 0&&(r=" in node id: "+t),console.error("%cNegative or zero mass disallowed"+r+", setting mass to 1.",hJ),e.mass=1}}}class k1e{constructor(e,t,r,i){var s;if(this.body=e,this.images=t,this.groups=r,this.layoutEngine=i,this.body.functions.createNode=j(s=this.create).call(s,this),this.nodesListeners={add:(o,a)=>{this.add(a.items)},update:(o,a)=>{this.update(a.items,a.data,a.oldData)},remove:(o,a)=>{this.remove(a.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(o,a,g,A){if(a===o)return .5;{const I=1/(a-o);return Math.max(0,(A-o)*I)}}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=Hi(this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e,t;this.body.emitter.on("refreshNodes",j(e=this.refresh).call(e,this)),this.body.emitter.on("refresh",j(t=this.refresh).call(t,this)),this.body.emitter.on("destroy",()=>{ue(this.nodesListeners,(r,i)=>{this.body.data.nodes&&this.body.data.nodes.off(i,r)}),delete this.body.functions.createNode,delete this.nodesListeners.add,delete this.nodesListeners.update,delete this.nodesListeners.remove,delete this.nodesListeners})}setOptions(e){if(e!==void 0){if(qe.parseOptions(this.options,e),e.opacity!==void 0&&(X_(e.opacity)||!En(e.opacity)||e.opacity<0||e.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity):this.options.opacity=e.opacity),e.shape!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].updateShape();if(typeof e.font<"u"||typeof e.widthConstraint<"u"||typeof e.heightConstraint<"u")for(const t of et(this.body.nodes))this.body.nodes[t].updateLabelModule(),this.body.nodes[t].needsRefresh();if(e.size!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].needsRefresh();(e.hidden!==void 0||e.physics!==void 0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.nodes;if(R7("id",e))this.body.data.nodes=e;else if(Dr(e))this.body.data.nodes=new FA,this.body.data.nodes.add(e);else if(!e)this.body.data.nodes=new FA;else throw new TypeError("Array or DataSet expected");if(r&&ue(this.nodesListeners,function(i,s){r.off(s,i)}),this.body.nodes={},this.body.data.nodes){const i=this;ue(this.nodesListeners,function(o,a){i.body.data.nodes.on(a,o)});const s=this.body.data.nodes.getIds();this.add(s,!0)}t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r;const i=[];for(let s=0;s<e.length;s++){r=e[s];const o=this.body.data.nodes.get(r),a=this.create(o);i.push(a),this.body.nodes[r]=a}this.layoutEngine.positionInitially(i),t===!1&&this.body.emitter.emit("_dataChanged")}update(e,t,r){const i=this.body.nodes;let s=!1;for(let o=0;o<e.length;o++){const a=e[o];let g=i[a];const A=t[o];g!==void 0?g.setOptions(A)&&(s=!0):(s=!0,g=this.create(A),i[a]=g)}!s&&r!==void 0&&(s=Yme(t).call(t,function(o,a){const g=r[a];return g&&g.level!==o.level})),s===!0?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}remove(e){const t=this.body.nodes;for(let r=0;r<e.length;r++){const i=e[r];delete t[i]}this.body.emitter.emit("_dataChanged")}create(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qe;return new t(e,this.body,this.images,this.groups,this.options,this.defaultOptions)}refresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;ue(this.body.nodes,(t,r)=>{const i=this.body.data.nodes.get(r);i!==void 0&&(e===!0&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(i))})}getPositions(e){const t={};if(e!==void 0){if(Dr(e)===!0){for(let r=0;r<e.length;r++)if(this.body.nodes[e[r]]!==void 0){const i=this.body.nodes[e[r]];t[e[r]]={x:Math.round(i.x),y:Math.round(i.y)}}}else if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];t[e]={x:Math.round(r.x),y:Math.round(r.y)}}}else for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];t[this.body.nodeIndices[r]]={x:Math.round(i.x),y:Math.round(i.y)}}return t}getPosition(e){if(e==null)throw new TypeError("No id was specified for getPosition method.");if(this.body.nodes[e]==null)throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(e));return{x:Math.round(this.body.nodes[e].x),y:Math.round(this.body.nodes[e].y)}}storePositions(){const e=[],t=this.body.data.nodes.getDataSet();for(const r of t.get()){const i=r.id,s=this.body.nodes[i],o=Math.round(s.x),a=Math.round(s.y);(r.x!==o||r.y!==a)&&e.push({id:i,x:o,y:a})}t.update(e)}getBoundingBox(e){if(this.body.nodes[e]!==void 0)return this.body.nodes[e].shape.boundingBox}getConnectedNodes(e,t){const r=[];if(this.body.nodes[e]!==void 0){const i=this.body.nodes[e],s={};for(let o=0;o<i.edges.length;o++){const a=i.edges[o];t!=="to"&&a.toId==i.id?s[a.fromId]===void 0&&(r.push(a.fromId),s[a.fromId]=!0):t!=="from"&&a.fromId==i.id&&s[a.toId]===void 0&&(r.push(a.toId),s[a.toId]=!0)}}return r}getConnectedEdges(e){const t=[];if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];for(let i=0;i<r.edges.length;i++)t.push(r.edges[i].id)}else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",e);return t}moveNode(e,t,r){this.body.nodes[e]!==void 0?(this.body.nodes[e].x=Number(t),this.body.nodes[e].y=Number(r),Hs(()=>{this.body.emitter.emit("startSimulation")},0)):console.error("Node id supplied to moveNode does not exist. Provided: ",e)}}var g8={},nS,A8;function B1e(){if(A8)return nS;A8=1;var n=Uo(),e=yr(),t=mi(),r=RangeError;return nS=function(s){var o=e(t(this)),a="",g=n(s);if(g<0||g===1/0)throw new r("Wrong number of repetitions");for(;g>0;(g>>>=1)&&(o+=o))g&1&&(a+=o);return a},nS}var sS,I8;function z1e(){if(I8)return sS;I8=1;var n=ye(),e=M7(),t=yr(),r=B1e(),i=mi(),s=n(r),o=n("".slice),a=Math.ceil,g=function(A){return function(I,C,d){var l=t(i(I)),u=e(C),h=l.length,v=d===void 0?" ":t(d),f,c;return u<=h||v===""?l:(f=u-h,c=s(v,a(f/v.length)),c.length>f&&(c=o(c,0,f)),A?l+c:c+l)}};return sS={start:g(!1),end:g(!0)},sS}var oS,C8;function j1e(){if(C8)return oS;C8=1;var n=ye(),e=me(),t=z1e().start,r=RangeError,i=isFinite,s=Math.abs,o=Date.prototype,a=o.toISOString,g=n(o.getTime),A=n(o.getUTCDate),I=n(o.getUTCFullYear),C=n(o.getUTCHours),d=n(o.getUTCMilliseconds),l=n(o.getUTCMinutes),u=n(o.getUTCMonth),h=n(o.getUTCSeconds);return oS=e(function(){return a.call(new Date(-5e13-1))!=="0385-07-25T07:06:39.999Z"})||!e(function(){a.call(new Date(NaN))})?function(){if(!i(g(this)))throw new r("Invalid time value");var f=this,c=I(f),b=d(f),p=c<0?"-":c>9999?"+":"";return p+t(s(c),p?6:4,0)+"-"+t(u(f)+1,2,0)+"-"+t(A(f),2,0)+"T"+t(C(f),2,0)+":"+t(l(f),2,0)+":"+t(h(f),2,0)+"."+t(b,3,0)+"Z"}:a,oS}var d8;function L1e(){if(d8)return g8;d8=1;var n=te(),e=Jt(),t=pr(),r=x7(),i=j1e(),s=Jr(),o=me(),a=o(function(){return new Date(NaN).toJSON()!==null||e(Date.prototype.toJSON,{toISOString:function(){return 1}})!==1});return n({target:"Date",proto:!0,forced:a},{toJSON:function(A){var I=t(this),C=r(I,"number");return typeof C=="number"&&!isFinite(C)?null:!("toISOString"in I)&&s(I)==="Date"?e(i,I):I.toISOString()}}),g8}var aS,l8;function G1e(){if(l8)return aS;l8=1,L1e(),BJ();var n=_e(),e=OI();return n.JSON||(n.JSON={stringify:JSON.stringify}),aS=function(r,i,s){return e(n.JSON.stringify,null,arguments)},aS}var gS,u8;function W1e(){if(u8)return gS;u8=1;var n=G1e();return gS=n,gS}var AS,h8;function V1e(){return h8||(h8=1,AS=W1e()),AS}var Z1e=V1e(),XJ=ge(Z1e),c8={},f8;function H1e(){if(f8)return c8;f8=1;var n=te(),e=Math.hypot,t=Math.abs,r=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;return n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(o,a){for(var g=0,A=0,I=arguments.length,C=0,d,l;A<I;)d=t(arguments[A++]),C<d?(l=C/d,g=g*l*l+1,C=d):d>0?(l=d/C,g+=l*l):g+=d;return C===1/0?1/0:C*r(g)}}),c8}var IS,p8;function U1e(){if(p8)return IS;p8=1,H1e();var n=_e();return IS=n.Math.hypot,IS}var CS,v8;function K1e(){if(v8)return CS;v8=1;var n=U1e();return CS=n,CS}var dS,m8;function Y1e(){return m8||(m8=1,dS=K1e()),dS}var X1e=Y1e(),Q1e=ge(X1e);class Ye{static transform(e,t){Dr(e)||(e=[e]);const r=t.point.x,i=t.point.y,s=t.angle,o=t.length;for(let a=0;a<e.length;++a){const g=e[a],A=g.x*Math.cos(s)-g.y*Math.sin(s),I=g.x*Math.sin(s)+g.y*Math.cos(s);g.x=r+o*A,g.y=i+o*I}}static drawPath(e,t){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let r=1;r<t.length;++r)e.lineTo(t[r].x,t[r].y);e.closePath()}}let J1e=class extends Ye{static draw(e,t){if(t.image){e.save(),e.translate(t.point.x,t.point.y),e.rotate(Math.PI/2+t.angle);const r=t.imageWidth!=null?t.imageWidth:t.image.width,i=t.imageHeight!=null?t.imageHeight:t.image.height;t.image.drawImageAtPosition(e,1,-r/2,0,r,i),e.restore()}return!1}};class e0e extends Ye{static draw(e,t){const r=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class t0e{static draw(e,t){const r=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class r0e{static draw(e,t){const r={x:-.4,y:0};Ye.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,s=t.angle-i/2,o=t.angle+i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,s,o,!1),e.stroke(),!0}}class i0e{static draw(e,t){const r={x:-.3,y:0};Ye.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,s=t.angle+i/2,o=t.angle+3*i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,s,o,!1),e.stroke(),!0}}class n0e{static draw(e,t){const r=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class s0e{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class o0e{static draw(e,t){const r={x:-.4,y:0};return Ye.transform(r,t),mT(e,r.x,r.y,t.length*.4),!0}}class a0e{static draw(e,t){const r=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class g0e{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class A0e{static draw(e,t){const r=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class I0e{static draw(e,t){const r=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return Ye.transform(r,t),Ye.drawPath(e,r),!0}}class QJ{static draw(e,t){let r;switch(t.type&&(r=t.type.toLowerCase()),r){case"image":return J1e.draw(e,t);case"circle":return o0e.draw(e,t);case"box":return g0e.draw(e,t);case"crow":return t0e.draw(e,t);case"curve":return r0e.draw(e,t);case"diamond":return A0e.draw(e,t);case"inv_curve":return i0e.draw(e,t);case"triangle":return n0e.draw(e,t);case"inv_triangle":return s0e.draw(e,t);case"bar":return a0e.draw(e,t);case"vee":return I0e.draw(e,t);case"arrow":default:return e0e.draw(e,t)}}}function y8(n,e){var t=et(n);if(en){var r=en(n);e&&(r=wi(r).call(r,function(i){return dn(n,i).enumerable})),t.push.apply(t,r)}return t}function b8(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Me(t=y8(Object(i),!0)).call(t,function(s){ii(n,s,i[s])}):tn?WI(n,tn(i)):Me(r=y8(Object(i))).call(r,function(s){VI(n,s,dn(i,s))})}return n}class JJ{constructor(e,t,r){ii(this,"color",{}),ii(this,"colorDirty",!0),ii(this,"hoverWidth",1.5),ii(this,"selectionWidth",2),this._body=t,this._labelModule=r,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}cleanup(){return!1}setOptions(e){this.options=e,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}drawLine(e,t,r,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.getViaNode();e.strokeStyle=this.getColor(e,t),e.lineWidth=t.width,t.dashes!==!1?this._drawDashedLine(e,t,s):this._drawLine(e,t,s)}_drawLine(e,t,r,i,s){if(this.from!=this.to)this._line(e,t,r,i,s);else{const[o,a,g]=this._getCircleData(e);this._circle(e,t,o,a,g)}}_drawDashedLine(e,t,r,i,s){e.lineCap="round";const o=Dr(t.dashes)?t.dashes:[5,5];if(e.setLineDash!==void 0){if(e.save(),e.setLineDash(o),e.lineDashOffset=0,this.from!=this.to)this._line(e,t,r);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}e.setLineDash([0]),e.lineDashOffset=0,e.restore()}else{if(this.from!=this.to)B7(e,this.from.x,this.from.y,this.to.x,this.to.y,o);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}}findBorderPosition(e,t,r){return this.from!=this.to?this._findBorderPosition(e,t,r):this._findBorderPositionCircle(e,t,r)}findBorderPositions(e){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,e),to:this._findBorderPosition(this.to,e)};{var t;const[r,i]=_s(t=this._getCircleData(e)).call(t,0,2);return{from:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.6,high:.8,direction:1})}}}_getCircleData(e){const t=this.options.selfReference.size;e!==void 0&&this.from.shape.width===void 0&&this.from.shape.resize(e);const r=KJ(e,this.options.selfReference.angle,t,this.from);return[r.x,r.y,t]}_pointOnCircle(e,t,r,i){const s=i*2*Math.PI;return{x:e+r*Math.cos(s),y:t-r*Math.sin(s)}}_findBorderPositionCircle(e,t,r){const i=r.x,s=r.y;let o=r.low,a=r.high;const g=r.direction,A=10,I=this.options.selfReference.size,C=.05;let d,l=(o+a)*.5,u=0;this.options.arrowStrikethrough===!0&&(g===-1?u=this.options.endPointOffset.from:g===1&&(u=this.options.endPointOffset.to));let h=0;do{l=(o+a)*.5,d=this._pointOnCircle(i,s,I,l);const v=Math.atan2(e.y-d.y,e.x-d.x),f=e.distanceToBorder(t,v)+u,c=Math.sqrt(Math.pow(d.x-e.x,2)+Math.pow(d.y-e.y,2)),b=f-c;if(Math.abs(b)<C)break;b>0?g>0?o=l:a=l:g>0?a=l:o=l,++h}while(o<=a&&h<A);return b8(b8({},d),{},{t:l})}getLineWidth(e,t){return e===!0?Math.max(this.selectionWidth,.3/this._body.view.scale):t===!0?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}getColor(e,t){if(t.inheritsColor!==!1){if(t.inheritsColor==="both"&&this.from.id!==this.to.id){const r=e.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);let i=this.from.options.color.highlight.border,s=this.to.options.color.highlight.border;return this.from.selected===!1&&this.to.selected===!1?(i=gr(this.from.options.color.border,t.opacity),s=gr(this.to.options.color.border,t.opacity)):this.from.selected===!0&&this.to.selected===!1?s=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(i=this.from.options.color.border),r.addColorStop(0,i),r.addColorStop(1,s),r}return t.inheritsColor==="to"?gr(this.to.options.color.border,t.opacity):gr(this.from.options.color.border,t.opacity)}else return gr(t.color,t.opacity)}_circle(e,t,r,i,s){this.enableShadow(e,t);let o=0,a=Math.PI*2;if(!this.options.selfReference.renderBehindTheNode){const g=this.options.selfReference.angle,A=this.options.selfReference.angle+Math.PI,I=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:-1}),C=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:1});o=Math.atan2(I.y-i,I.x-r),a=Math.atan2(C.y-i,C.x-r)}e.beginPath(),e.arc(r,i,s,o,a,!1),e.stroke(),this.disableShadow(e,t)}getDistanceToEdge(e,t,r,i,s,o){if(this.from!=this.to)return this._getDistanceToEdge(e,t,r,i,s,o);{const[a,g,A]=this._getCircleData(void 0),I=a-s,C=g-o;return Math.abs(Math.sqrt(I*I+C*C)-A)}}_getDistanceToLine(e,t,r,i,s,o){const a=r-e,g=i-t,A=a*a+g*g;let I=((s-e)*a+(o-t)*g)/A;I>1?I=1:I<0&&(I=0);const C=e+I*a,d=t+I*g,l=C-s,u=d-o;return Math.sqrt(l*l+u*u)}getArrowData(e,t,r,i,s,o){let a,g,A,I,C,d,l;const u=o.width;t==="from"?(A=this.from,I=this.to,C=o.fromArrowScale<0,d=Math.abs(o.fromArrowScale),l=o.fromArrowType):t==="to"?(A=this.to,I=this.from,C=o.toArrowScale<0,d=Math.abs(o.toArrowScale),l=o.toArrowType):(A=this.to,I=this.from,C=o.middleArrowScale<0,d=Math.abs(o.middleArrowScale),l=o.middleArrowType);const h=15*d+3*u;if(A!=I){const b=Q1e(A.x-I.x,A.y-I.y),p=h/b;if(t!=="middle")if(this.options.smooth.enabled===!0){const y=this._findBorderPosition(A,e,{via:r}),E=this.getPoint(y.t+p*(t==="from"?1:-1),r);a=Math.atan2(y.y-E.y,y.x-E.x),g=y}else a=Math.atan2(A.y-I.y,A.x-I.x),g=this._findBorderPosition(A,e);else{const y=(C?-p:p)/2,E=this.getPoint(.5+y,r),S=this.getPoint(.5-y,r);a=Math.atan2(E.y-S.y,E.x-S.x),g=this.getPoint(.5,r)}}else{const[b,p,y]=this._getCircleData(e);if(t==="from"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:-1});a=m.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI,g=m}else if(t==="to"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:1});a=m.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI,g=m}else{const E=this.options.selfReference.angle/(2*Math.PI);g=this._pointOnCircle(b,p,y,E),a=E*-2*Math.PI+1.5*Math.PI+.1*Math.PI}}const v=g.x-h*.9*Math.cos(a),f=g.y-h*.9*Math.sin(a);return{point:g,core:{x:v,y:f},angle:a,length:h,type:l}}drawArrowHead(e,t,r,i,s){e.strokeStyle=this.getColor(e,t),e.fillStyle=e.strokeStyle,e.lineWidth=t.width,QJ.draw(e,s)&&(this.enableShadow(e,t),ZI(e).call(e),this.disableShadow(e,t))}enableShadow(e,t){t.shadow===!0&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow===!0&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}drawBackground(e,t){if(t.background!==!1){const r={strokeStyle:e.strokeStyle,lineWidth:e.lineWidth,dashes:e.dashes};e.strokeStyle=t.backgroundColor,e.lineWidth=t.backgroundSize,this.setStrokeDashed(e,t.backgroundDashes),e.stroke(),e.strokeStyle=r.strokeStyle,e.lineWidth=r.lineWidth,e.dashes=r.dashes,this.setStrokeDashed(e,t.dashes)}}setStrokeDashed(e,t){if(t!==!1)if(e.setLineDash!==void 0){const r=Dr(t)?t:[5,5];e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else e.setLineDash!==void 0?e.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}}function w8(n,e){var t=et(n);if(en){var r=en(n);e&&(r=wi(r).call(r,function(i){return dn(n,i).enumerable})),t.push.apply(t,r)}return t}function E8(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Me(t=w8(Object(i),!0)).call(t,function(s){ii(n,s,i[s])}):tn?WI(n,tn(i)):Me(r=w8(Object(i))).call(r,function(s){VI(n,s,dn(i,s))})}return n}class KT extends JJ{constructor(e,t,r){super(e,t,r)}_findBorderPositionBezier(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this._getViaCoordinates();const i=10,s=.2;let o=!1,a=1,g=0,A=this.to,I,C,d=this.options.endPointOffset?this.options.endPointOffset.to:0;e.id===this.from.id&&(A=this.from,o=!0,d=this.options.endPointOffset?this.options.endPointOffset.from:0),this.options.arrowStrikethrough===!1&&(d=0);let l=0;do{C=(g+a)*.5,I=this.getPoint(C,r);const u=Math.atan2(A.y-I.y,A.x-I.x),h=A.distanceToBorder(t,u)+d,v=Math.sqrt(Math.pow(I.x-A.x,2)+Math.pow(I.y-A.y,2)),f=h-v;if(Math.abs(f)<s)break;f<0?o===!1?g=C:a=C:o===!1?a=C:g=C,++l}while(g<=a&&l<i);return E8(E8({},I),{},{t:C})}_getDistanceToBezierEdge(e,t,r,i,s,o,a){let g=1e9,A,I,C,d,l,u=e,h=t;for(I=1;I<10;I++)C=.1*I,d=Math.pow(1-C,2)*e+2*C*(1-C)*a.x+Math.pow(C,2)*r,l=Math.pow(1-C,2)*t+2*C*(1-C)*a.y+Math.pow(C,2)*i,I>0&&(A=this._getDistanceToLine(u,h,d,l,s,o),g=A<g?A:g),u=d,h=l;return g}_bezierCurve(e,t,r,i){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),r!=null&&r.x!=null?i!=null&&i.x!=null?e.bezierCurveTo(r.x,r.y,i.x,i.y,this.toPoint.x,this.toPoint.y):e.quadraticCurveTo(r.x,r.y,this.toPoint.x,this.toPoint.y):e.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(e,t),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){return this._getViaCoordinates()}}class S8 extends KT{constructor(e,t,r){super(e,t,r),ii(this,"via",this.via),this._boundFunction=()=>{this.positionBezierNode()},this._body.emitter.on("_repositionBezierNodes",this._boundFunction)}setOptions(e){super.setOptions(e);let t=!1;this.options.physics!==e.physics&&(t=!0),this.options=e,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),t===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.from===void 0||this.to===void 0||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}cleanup(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),this.via!==void 0?(delete this._body.nodes[this.via.id],this.via=void 0,!0):!1}setupSupportNode(){if(this.via===void 0){const e="edgeId:"+this.id,t=this._body.functions.createNode({id:e,shape:"circle",physics:!0,hidden:!0});this._body.nodes[e]=t,this.via=t,this.via.parentEdgeId=this.id,this.positionBezierNode()}}positionBezierNode(){this.via!==void 0&&this.from!==void 0&&this.to!==void 0?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):this.via!==void 0&&(this.via.x=0,this.via.y=0)}_line(e,t,r){this._bezierCurve(e,t,r)}_getViaCoordinates(){return this.via}getViaNode(){return this.via}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.via;if(this.from===this.to){const[r,i,s]=this._getCircleData(),o=2*Math.PI*(1-e);return{x:r+s*Math.sin(o),y:i+s-s*(1-Math.cos(o))}}else return{x:Math.pow(1-e,2)*this.fromPoint.x+2*e*(1-e)*t.x+Math.pow(e,2)*this.toPoint.x,y:Math.pow(1-e,2)*this.fromPoint.y+2*e*(1-e)*t.y+Math.pow(e,2)*this.toPoint.y}}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t,this.via)}_getDistanceToEdge(e,t,r,i,s,o){return this._getDistanceToBezierEdge(e,t,r,i,s,o,this.via)}}class _8 extends KT{constructor(e,t,r){super(e,t,r)}_line(e,t,r){this._bezierCurve(e,t,r)}getViaNode(){return this._getViaCoordinates()}_getViaCoordinates(){const e=this.options.smooth.roundness,t=this.options.smooth.type;let r=Math.abs(this.from.x-this.to.x),i=Math.abs(this.from.y-this.to.y);if(t==="discrete"||t==="diagonalCross"){let s,o;r<=i?s=o=e*i:s=o=e*r,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(o=-o);let a=this.from.x+s,g=this.from.y+o;return t==="discrete"&&(r<=i?a=r<e*i?this.from.x:a:g=i<e*r?this.from.y:g),{x:a,y:g}}else if(t==="straightCross"){let s=(1-e)*r,o=(1-e)*i;return r<=i?(s=0,this.from.y<this.to.y&&(o=-o)):(this.from.x<this.to.x&&(s=-s),o=0),{x:this.to.x+s,y:this.to.y+o}}else if(t==="horizontal"){let s=(1-e)*r;return this.from.x<this.to.x&&(s=-s),{x:this.to.x+s,y:this.from.y}}else if(t==="vertical"){let s=(1-e)*i;return this.from.y<this.to.y&&(s=-s),{x:this.from.x,y:this.to.y+s}}else if(t==="curvedCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const s=Math.sqrt(r*r+i*i),o=Math.PI,g=(Math.atan2(i,r)+(e*.5+.5)*o)%(2*o);return{x:this.from.x+(e*.5+.5)*s*Math.sin(g),y:this.from.y+(e*.5+.5)*s*Math.cos(g)}}else if(t==="curvedCCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const s=Math.sqrt(r*r+i*i),o=Math.PI,g=(Math.atan2(i,r)+(-e*.5+.5)*o)%(2*o);return{x:this.from.x+(e*.5+.5)*s*Math.sin(g),y:this.from.y+(e*.5+.5)*s*Math.cos(g)}}else{let s,o;r<=i?s=o=e*i:s=o=e*r,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(o=-o);let a=this.from.x+s,g=this.from.y+o;return r<=i?this.from.x<=this.to.x?a=this.to.x<a?this.to.x:a:a=this.to.x>a?this.to.x:a:this.from.y>=this.to.y?g=this.to.y>g?this.to.y:g:g=this.to.y<g?this.to.y:g,{x:a,y:g}}}_findBorderPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this._findBorderPositionBezier(e,t,r.via)}_getDistanceToEdge(e,t,r,i,s,o){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(e,t,r,i,s,o,a)}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const r=e,i=Math.pow(1-r,2)*this.fromPoint.x+2*r*(1-r)*t.x+Math.pow(r,2)*this.toPoint.x,s=Math.pow(1-r,2)*this.fromPoint.y+2*r*(1-r)*t.y+Math.pow(r,2)*this.toPoint.y;return{x:i,y:s}}}class C0e extends KT{constructor(e,t,r){super(e,t,r)}_getDistanceToBezierEdge2(e,t,r,i,s,o,a,g){let A=1e9,I=e,C=t;const d=[0,0,0,0];for(let l=1;l<10;l++){const u=.1*l;d[0]=Math.pow(1-u,3),d[1]=3*u*Math.pow(1-u,2),d[2]=3*Math.pow(u,2)*(1-u),d[3]=Math.pow(u,3);const h=d[0]*e+d[1]*a.x+d[2]*g.x+d[3]*r,v=d[0]*t+d[1]*a.y+d[2]*g.y+d[3]*i;if(l>0){const f=this._getDistanceToLine(I,C,h,v,s,o);A=f<A?f:A}I=h,C=v}return A}}class O8 extends C0e{constructor(e,t,r){super(e,t,r)}_line(e,t,r){const i=r[0],s=r[1];this._bezierCurve(e,t,i,s)}_getViaCoordinates(){const e=this.from.x-this.to.x,t=this.from.y-this.to.y;let r,i,s,o;const a=this.options.smooth.roundness;return(Math.abs(e)>Math.abs(t)||this.options.smooth.forceDirection===!0||this.options.smooth.forceDirection==="horizontal")&&this.options.smooth.forceDirection!=="vertical"?(i=this.from.y,o=this.to.y,r=this.from.x-a*e,s=this.to.x+a*e):(i=this.from.y-a*t,o=this.to.y+a*t,r=this.from.x,s=this.to.x),[{x:r,y:i},{x:s,y:o}]}getViaNode(){return this._getViaCoordinates()}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t)}_getDistanceToEdge(e,t,r,i,s,o){let[a,g]=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge2(e,t,r,i,s,o,a,g)}getPoint(e){let[t,r]=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const i=e,s=[Math.pow(1-i,3),3*i*Math.pow(1-i,2),3*Math.pow(i,2)*(1-i),Math.pow(i,3)],o=s[0]*this.fromPoint.x+s[1]*t.x+s[2]*r.x+s[3]*this.toPoint.x,a=s[0]*this.fromPoint.y+s[1]*t.y+s[2]*r.y+s[3]*this.toPoint.y;return{x:o,y:a}}}class T8 extends JJ{constructor(e,t,r){super(e,t,r)}_line(e,t){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),e.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){}getPoint(e){return{x:(1-e)*this.fromPoint.x+e*this.toPoint.x,y:(1-e)*this.fromPoint.y+e*this.toPoint.y}}_findBorderPosition(e,t){let r=this.to,i=this.from;e.id===this.from.id&&(r=this.from,i=this.to);const s=Math.atan2(r.y-i.y,r.x-i.x),o=r.x-i.x,a=r.y-i.y,g=Math.sqrt(o*o+a*a),A=e.distanceToBorder(t,s),I=(g-A)/g;return{x:(1-I)*i.x+I*r.x,y:(1-I)*i.y+I*r.y,t:0}}_getDistanceToEdge(e,t,r,i,s,o){return this._getDistanceToLine(e,t,r,i,s,o)}}class Ki{constructor(e,t,r,i,s){if(t===void 0)throw new Error("No body provided");this.options=Hi(i),this.globalOptions=i,this.defaultOptions=s,this.body=t,this.imagelist=r,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new Us(this.body,this.options,!0),this.setOptions(e)}setOptions(e){if(!e)return;let t=typeof e.physics<"u"&&this.options.physics!==e.physics||typeof e.hidden<"u"&&(this.options.hidden||!1)!==(e.hidden||!1)||typeof e.from<"u"&&this.options.from!==e.from||typeof e.to<"u"&&this.options.to!==e.to;Ki.parseOptions(this.options,e,!0,this.globalOptions),e.id!==void 0&&(this.id=e.id),e.from!==void 0&&(this.fromId=e.from),e.to!==void 0&&(this.toId=e.to),e.title!==void 0&&(this.title=e.title),e.value!==void 0&&(e.value=UJ(e.value));const r=[e,this.options,this.defaultOptions];return this.chooser=HT("edge",r),this.updateLabelModule(e),t=this.updateEdgeType()||t,this._setInteractionWidths(),this.connect(),t}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(Xo(["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"],e,t,r),t.endPointOffset!==void 0&&t.endPointOffset.from!==void 0&&(En(t.endPointOffset.from)?e.endPointOffset.from=t.endPointOffset.from:(e.endPointOffset.from=i.endPointOffset.from!==void 0?i.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),t.endPointOffset!==void 0&&t.endPointOffset.to!==void 0&&(En(t.endPointOffset.to)?e.endPointOffset.to=t.endPointOffset.to:(e.endPointOffset.to=i.endPointOffset.to!==void 0?i.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),GA(t.label)?e.label=t.label:GA(e.label)||(e.label=void 0),or(e,t,"smooth",i),or(e,t,"shadow",i),or(e,t,"background",i),t.dashes!==void 0&&t.dashes!==null?e.dashes=t.dashes:r===!0&&t.dashes===null&&(e.dashes=xa(i.dashes)),t.scaling!==void 0&&t.scaling!==null?(t.scaling.min!==void 0&&(e.scaling.min=t.scaling.min),t.scaling.max!==void 0&&(e.scaling.max=t.scaling.max),or(e.scaling,t.scaling,"label",i.scaling)):r===!0&&t.scaling===null&&(e.scaling=xa(i.scaling)),t.arrows!==void 0&&t.arrows!==null)if(typeof t.arrows=="string"){const a=t.arrows.toLowerCase();e.arrows.to.enabled=Le(a).call(a,"to")!=-1,e.arrows.middle.enabled=Le(a).call(a,"middle")!=-1,e.arrows.from.enabled=Le(a).call(a,"from")!=-1}else if(typeof t.arrows=="object")or(e.arrows,t.arrows,"to",i.arrows),or(e.arrows,t.arrows,"middle",i.arrows),or(e.arrows,t.arrows,"from",i.arrows);else throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+XJ(t.arrows));else r===!0&&t.arrows===null&&(e.arrows=xa(i.arrows));if(t.color!==void 0&&t.color!==null){const a=Vs(t.color)?{color:t.color,highlight:t.color,hover:t.color,inherit:!1,opacity:1}:t.color,g=e.color;if(s)xe(g,i.color,!1,r);else for(const A in g)Object.prototype.hasOwnProperty.call(g,A)&&delete g[A];if(Vs(g))g.color=g,g.highlight=g,g.hover=g,g.inherit=!1,a.opacity===void 0&&(g.opacity=1);else{let A=!1;a.color!==void 0&&(g.color=a.color,A=!0),a.highlight!==void 0&&(g.highlight=a.highlight,A=!0),a.hover!==void 0&&(g.hover=a.hover,A=!0),a.inherit!==void 0&&(g.inherit=a.inherit),a.opacity!==void 0&&(g.opacity=Math.min(1,Math.max(0,a.opacity))),A===!0?g.inherit=!1:g.inherit===void 0&&(g.inherit="from")}}else r===!0&&t.color===null&&(e.color=Hi(i.color));r===!0&&t.font===null&&(e.font=Hi(i.font)),Object.prototype.hasOwnProperty.call(t,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),e.selfReference.size=t.selfReferenceSize)}getFormattingValues(){const e=this.options.arrows.to===!0||this.options.arrows.to.enabled===!0,t=this.options.arrows.from===!0||this.options.arrows.from.enabled===!0,r=this.options.arrows.middle===!0||this.options.arrows.middle.enabled===!0,i=this.options.color.inherit,s={toArrow:e,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:r,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:t,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:i?void 0:this.options.color.color,inheritsColor:i,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(this.chooser===!0){if(this.selected){const o=this.options.selectionWidth;typeof o=="function"?s.width=o(s.width):typeof o=="number"&&(s.width+=o),s.width=Math.max(s.width,.3/this.body.view.scale),s.color=this.options.color.highlight,s.shadow=this.options.shadow.enabled}else if(this.hover){const o=this.options.hoverWidth;typeof o=="function"?s.width=o(s.width):typeof o=="number"&&(s.width+=o),s.width=Math.max(s.width,.3/this.body.view.scale),s.color=this.options.color.hover,s.shadow=this.options.shadow.enabled}}else typeof this.chooser=="function"&&(this.chooser(s,this.options.id,this.selected,this.hover),s.color!==void 0&&(s.inheritsColor=!1),s.shadow===!1&&(s.shadowColor!==this.options.shadow.color||s.shadowSize!==this.options.shadow.size||s.shadowX!==this.options.shadow.x||s.shadowY!==this.options.shadow.y)&&(s.shadow=!0));else s.shadow=this.options.shadow.enabled,s.width=Math.max(s.width,.3/this.body.view.scale);return s}updateLabelModule(e){const t=[e,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,t),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateEdgeType(){const e=this.options.smooth;let t=!1,r=!0;return this.edgeType!==void 0&&((this.edgeType instanceof S8&&e.enabled===!0&&e.type==="dynamic"||this.edgeType instanceof O8&&e.enabled===!0&&e.type==="cubicBezier"||this.edgeType instanceof _8&&e.enabled===!0&&e.type!=="dynamic"&&e.type!=="cubicBezier"||this.edgeType instanceof T8&&e.type.enabled===!1)&&(r=!1),r===!0&&(t=this.cleanup())),r===!0?e.enabled===!0?e.type==="dynamic"?(t=!0,this.edgeType=new S8(this.options,this.body,this.labelModule)):e.type==="cubicBezier"?this.edgeType=new O8(this.options,this.body,this.labelModule):this.edgeType=new _8(this.options,this.body,this.labelModule):this.edgeType=new T8(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),t}connect(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=this.from!==void 0&&this.to!==void 0,this.connected===!0?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}disconnect(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}getTitle(){return this.title}isSelected(){return this.selected}getValue(){return this.options.value}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),s=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const o=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*o}this.options.width=this.options.scaling.min+i*s}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}_setInteractionWidths(){typeof this.options.hoverWidth=="function"?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,typeof this.options.selectionWidth=="function"?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}draw(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode();this.edgeType.drawLine(e,t,this.selected,this.hover,r),this.drawLabel(e,r)}drawArrows(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode(),i={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,t.fromArrow&&(i.from=this.edgeType.getArrowData(e,"from",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.fromPoint=i.from.core),t.fromArrowSrc&&(i.from.image=this.imagelist.load(t.fromArrowSrc)),t.fromArrowImageWidth&&(i.from.imageWidth=t.fromArrowImageWidth),t.fromArrowImageHeight&&(i.from.imageHeight=t.fromArrowImageHeight)),t.toArrow&&(i.to=this.edgeType.getArrowData(e,"to",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.toPoint=i.to.core),t.toArrowSrc&&(i.to.image=this.imagelist.load(t.toArrowSrc)),t.toArrowImageWidth&&(i.to.imageWidth=t.toArrowImageWidth),t.toArrowImageHeight&&(i.to.imageHeight=t.toArrowImageHeight)),t.middleArrow&&(i.middle=this.edgeType.getArrowData(e,"middle",r,this.selected,this.hover,t),t.middleArrowSrc&&(i.middle.image=this.imagelist.load(t.middleArrowSrc)),t.middleArrowImageWidth&&(i.middle.imageWidth=t.middleArrowImageWidth),t.middleArrowImageHeight&&(i.middle.imageHeight=t.middleArrowImageHeight)),t.fromArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.from),t.middleArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.middle),t.toArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.to)}drawLabel(e,t){if(this.options.label!==void 0){const r=this.from,i=this.to;this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(e,this.selected,this.hover);let s;if(r.id!=i.id){this.labelModule.pointToSelf=!1,s=this.edgeType.getPoint(.5,t),e.save();const o=this._getRotation(e);o.angle!=0&&(e.translate(o.x,o.y),e.rotate(o.angle)),this.labelModule.draw(e,s.x,s.y,this.selected,this.hover),e.restore()}else{this.labelModule.pointToSelf=!0;const o=KJ(e,this.options.selfReference.angle,this.options.selfReference.size,r);s=this._pointOnCircle(o.x,o.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(e,s.x,s.y,this.selected,this.hover)}}}getItemsOnPoint(e){const t=[];if(this.labelModule.visible()){const i=this._getRotation();Q_(this.labelModule.getSize(),e,i)&&t.push({edgeId:this.id,labelId:0})}const r={left:e.x,top:e.y};return this.isOverlappingWith(r)&&t.push({edgeId:this.id}),t}isOverlappingWith(e){if(this.connected){const r=this.from.x,i=this.from.y,s=this.to.x,o=this.to.y,a=e.left,g=e.top;return this.edgeType.getDistanceToEdge(r,i,s,o,a,g)<10}else return!1}_getRotation(e){const t=this.edgeType.getViaNode(),r=this.edgeType.getPoint(.5,t);e!==void 0&&this.labelModule.calculateLabelSize(e,this.selected,this.hover,r.x,r.y);const i={x:r.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible()||this.options.font.align==="horizontal")return i;const s=this.from.y-this.to.y,o=this.from.x-this.to.x;let a=Math.atan2(s,o);return(a<-1&&o<0||a>0&&o<0)&&(a+=Math.PI),i.angle=a,i}_pointOnCircle(e,t,r,i){return{x:e+r*Math.cos(i),y:t-r*Math.sin(i)}}select(){this.selected=!0}unselect(){this.selected=!1}cleanup(){return this.edgeType.cleanup()}remove(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}endPointsValid(){return this.body.nodes[this.fromId]!==void 0&&this.body.nodes[this.toId]!==void 0}}class d0e{constructor(e,t,r){var i;this.body=e,this.images=t,this.groups=r,this.body.functions.createEdge=j(i=this.create).call(i,this),this.edgesListeners={add:(s,o)=>{this.add(o.items)},update:(s,o)=>{this.update(o.items)},remove:(s,o)=>{this.remove(o.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(s,o,a,g){if(o===s)return .5;{const A=1/(o-s);return Math.max(0,(g-s)*A)}}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},xe(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e=this,t,r;this.body.emitter.on("_forceDisableDynamicCurves",function(i){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;i==="dynamic"&&(i="continuous");let o=!1;for(const a in e.body.edges)if(Object.prototype.hasOwnProperty.call(e.body.edges,a)){const g=e.body.edges[a],A=e.body.data.edges.get(a);if(A!=null){const I=A.smooth;I!==void 0&&I.enabled===!0&&I.type==="dynamic"&&(i===void 0?g.setOptions({smooth:!1}):g.setOptions({smooth:{type:i}}),o=!0)}}s===!0&&o===!0&&e.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",()=>{this.reconnectEdges()}),this.body.emitter.on("refreshEdges",j(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",j(r=this.refresh).call(r,this)),this.body.emitter.on("destroy",()=>{ue(this.edgesListeners,(i,s)=>{this.body.data.edges&&this.body.data.edges.off(s,i)}),delete this.body.functions.createEdge,delete this.edgesListeners.add,delete this.edgesListeners.update,delete this.edgesListeners.remove,delete this.edgesListeners})}setOptions(e){if(e!==void 0){Ki.parseOptions(this.options,e,!0,this.defaultOptions,!0);let t=!1;if(e.smooth!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&(t=this.body.edges[r].updateEdgeType()||t);if(e.font!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&this.body.edges[r].updateLabelModule();(e.hidden!==void 0||e.physics!==void 0||t===!0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.edges;if(R7("id",e))this.body.data.edges=e;else if(Dr(e))this.body.data.edges=new FA,this.body.data.edges.add(e);else if(!e)this.body.data.edges=new FA;else throw new TypeError("Array or DataSet expected");if(r&&ue(this.edgesListeners,(i,s)=>{r.off(s,i)}),this.body.edges={},this.body.data.edges){ue(this.edgesListeners,(s,o)=>{this.body.data.edges.on(o,s)});const i=this.body.data.edges.getIds();this.add(i,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.edges,i=this.body.data.edges;for(let s=0;s<e.length;s++){const o=e[s],a=r[o];a&&a.disconnect();const g=i.get(o,{showInternalIds:!0});r[o]=this.create(g)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}update(e){const t=this.body.edges,r=this.body.data.edges;let i=!1;for(let s=0;s<e.length;s++){const o=e[s],a=r.get(o),g=t[o];g!==void 0?(g.disconnect(),i=g.setOptions(a)||i,g.connect()):(this.body.edges[o]=this.create(a),i=!0)}i===!0?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}remove(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.length===0)return;const r=this.body.edges;ue(e,i=>{const s=r[i];s!==void 0&&s.remove()}),t&&this.body.emitter.emit("_dataChanged")}refresh(){ue(this.body.edges,(e,t)=>{const r=this.body.data.edges.get(t);r!==void 0&&e.setOptions(r)})}create(e){return new Ki(e,this.body,this.images,this.options,this.defaultOptions)}reconnectEdges(){let e;const t=this.body.nodes,r=this.body.edges;for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].edges=[]);for(e in r)if(Object.prototype.hasOwnProperty.call(r,e)){const i=r[e];i.from=null,i.to=null,i.connect()}}getConnectedNodes(e){const t=[];if(this.body.edges[e]!==void 0){const r=this.body.edges[e];r.fromId!==void 0&&t.push(r.fromId),r.toId!==void 0&&t.push(r.toId)}return t}_updateState(){this._addMissingEdges(),this._removeInvalidEdges()}_removeInvalidEdges(){const e=[];ue(this.body.edges,(t,r)=>{const i=this.body.nodes[t.toId],s=this.body.nodes[t.fromId];i!==void 0&&i.isCluster===!0||s!==void 0&&s.isCluster===!0||(i===void 0||s===void 0)&&e.push(r)}),this.remove(e,!1)}_addMissingEdges(){const e=this.body.data.edges;if(e==null)return;const t=this.body.edges,r=[];Me(e).call(e,(i,s)=>{t[s]===void 0&&r.push(s)}),this.add(r,!0)}}var R8={},P8;function l0e(){if(P8)return R8;P8=1;var n=te(),e=ye(),t=Date,r=e(t.prototype.getTime);return n({target:"Date",stat:!0},{now:function(){return r(new t)}}),R8}var lS,x8;function u0e(){if(x8)return lS;x8=1,l0e();var n=_e();return lS=n.Date.now,lS}var uS,$8;function h0e(){if($8)return uS;$8=1;var n=u0e();return uS=n,uS}var hS,D8;function c0e(){return D8||(D8=1,hS=h0e()),hS}var f0e=c0e(),J_=ge(f0e);class eee{constructor(e,t,r){this.body=e,this.physicsBody=t,this.barnesHutTree,this.setOptions(r),this._rng=FI("BARNES HUT SOLVER")}setOptions(e){this.options=e,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}solve(){if(this.options.gravitationalConstant!==0&&this.physicsBody.physicsNodeIndices.length>0){let e;const t=this.body.nodes,r=this.physicsBody.physicsNodeIndices,i=r.length,s=this._formBarnesHutTree(t,r);this.barnesHutTree=s;for(let o=0;o<i;o++)e=t[r[o]],e.options.mass>0&&this._getForceContributions(s.root,e)}}_getForceContributions(e,t){this._getForceContribution(e.children.NW,t),this._getForceContribution(e.children.NE,t),this._getForceContribution(e.children.SW,t),this._getForceContribution(e.children.SE,t)}_getForceContribution(e,t){if(e.childrenCount>0){const r=e.centerOfMass.x-t.x,i=e.centerOfMass.y-t.y,s=Math.sqrt(r*r+i*i);s*e.calcSize>this.thetaInversed?this._calculateForces(s,r,i,t,e):e.childrenCount===4?this._getForceContributions(e,t):e.children.data.id!=t.id&&this._calculateForces(s,r,i,t,e)}}_calculateForces(e,t,r,i,s){e===0&&(e=.1,t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const o=this.options.gravitationalConstant*s.mass*i.options.mass/Math.pow(e,3),a=t*o,g=r*o;this.physicsBody.forces[i.id].x+=a,this.physicsBody.forces[i.id].y+=g}_formBarnesHutTree(e,t){let r;const i=t.length;let s=e[t[0]].x,o=e[t[0]].y,a=e[t[0]].x,g=e[t[0]].y;for(let v=1;v<i;v++){const f=e[t[v]],c=f.x,b=f.y;f.options.mass>0&&(c<s&&(s=c),c>a&&(a=c),b<o&&(o=b),b>g&&(g=b))}const A=Math.abs(a-s)-Math.abs(g-o);A>0?(o-=.5*A,g+=.5*A):(s+=.5*A,a-=.5*A);const C=Math.max(1e-5,Math.abs(a-s)),d=.5*C,l=.5*(s+a),u=.5*(o+g),h={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:l-d,maxX:l+d,minY:u-d,maxY:u+d},size:C,calcSize:1/C,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(h.root);for(let v=0;v<i;v++)r=e[t[v]],r.options.mass>0&&this._placeInTree(h.root,r);return h}_updateBranchMass(e,t){const r=e.centerOfMass,i=e.mass+t.options.mass,s=1/i;r.x=r.x*e.mass+t.x*t.options.mass,r.x*=s,r.y=r.y*e.mass+t.y*t.options.mass,r.y*=s,e.mass=i;const o=Math.max(Math.max(t.height,t.radius),t.width);e.maxWidth=e.maxWidth<o?o:e.maxWidth}_placeInTree(e,t,r){(r!=!0||r===void 0)&&this._updateBranchMass(e,t);const i=e.children.NW.range;let s;i.maxX>t.x?i.maxY>t.y?s="NW":s="SW":i.maxY>t.y?s="NE":s="SE",this._placeInRegion(e,t,s)}_placeInRegion(e,t,r){const i=e.children[r];switch(i.childrenCount){case 0:i.children.data=t,i.childrenCount=1,this._updateBranchMass(i,t);break;case 1:i.children.data.x===t.x&&i.children.data.y===t.y?(t.x+=this._rng(),t.y+=this._rng()):(this._splitBranch(i),this._placeInTree(i,t));break;case 4:this._placeInTree(i,t);break}}_splitBranch(e){let t=null;e.childrenCount===1&&(t=e.children.data,e.mass=0,e.centerOfMass.x=0,e.centerOfMass.y=0),e.childrenCount=4,e.children.data=null,this._insertRegion(e,"NW"),this._insertRegion(e,"NE"),this._insertRegion(e,"SW"),this._insertRegion(e,"SE"),t!=null&&this._placeInTree(e,t)}_insertRegion(e,t){let r,i,s,o;const a=.5*e.size;switch(t){case"NW":r=e.range.minX,i=e.range.minX+a,s=e.range.minY,o=e.range.minY+a;break;case"NE":r=e.range.minX+a,i=e.range.maxX,s=e.range.minY,o=e.range.minY+a;break;case"SW":r=e.range.minX,i=e.range.minX+a,s=e.range.minY+a,o=e.range.maxY;break;case"SE":r=e.range.minX+a,i=e.range.maxX,s=e.range.minY+a,o=e.range.maxY;break}e.children[t]={centerOfMass:{x:0,y:0},mass:0,range:{minX:r,maxX:i,minY:s,maxY:o},size:.5*e.size,calcSize:2*e.calcSize,children:{data:null},maxWidth:0,level:e.level+1,childrenCount:0}}_debug(e,t){this.barnesHutTree!==void 0&&(e.lineWidth=1,this._drawBranch(this.barnesHutTree.root,e,t))}_drawBranch(e,t,r){r===void 0&&(r="#FF0000"),e.childrenCount===4&&(this._drawBranch(e.children.NW,t),this._drawBranch(e.children.NE,t),this._drawBranch(e.children.SE,t),this._drawBranch(e.children.SW,t)),t.strokeStyle=r,t.beginPath(),t.moveTo(e.range.minX,e.range.minY),t.lineTo(e.range.maxX,e.range.minY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.minY),t.lineTo(e.range.maxX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.maxY),t.lineTo(e.range.minX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.minX,e.range.maxY),t.lineTo(e.range.minX,e.range.minY),t.stroke()}}class p0e{constructor(e,t,r){this._rng=FI("REPULSION SOLVER"),this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,s,o,a,g;const A=this.body.nodes,I=this.physicsBody.physicsNodeIndices,C=this.physicsBody.forces,d=this.options.nodeDistance,l=-2/3/d,u=4/3;for(let h=0;h<I.length-1;h++){a=A[I[h]];for(let v=h+1;v<I.length;v++)g=A[I[v]],e=g.x-a.x,t=g.y-a.y,r=Math.sqrt(e*e+t*t),r===0&&(r=.1*this._rng(),e=r),r<2*d&&(r<.5*d?o=1:o=l*r+u,o=o/r,i=e*o,s=t*o,C[a.id].x-=i,C[a.id].y-=s,C[g.id].x+=i,C[g.id].y+=s)}}}class v0e{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}solve(){const e=this.body.nodes,t=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,i=this.options.nodeDistance;for(let s=0;s<t.length-1;s++){const o=e[t[s]];for(let a=s+1;a<t.length;a++){const g=e[t[a]];if(o.level===g.level){const A=i+this.overlapAvoidanceFactor*((o.shape.radius||0)/2+(g.shape.radius||0)/2),I=g.x-o.x,C=g.y-o.y,d=Math.sqrt(I*I+C*C),l=.05;let u;d<A?u=-Math.pow(l*d,2)+Math.pow(l*A,2):u=0,d!==0&&(u=u/d);const h=I*u,v=C*u;r[o.id].x-=h,r[o.id].y-=v,r[g.id].x+=h,r[g.id].y+=v}}}}}class cS{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t;const r=this.physicsBody.physicsEdgeIndices,i=this.body.edges;let s,o,a;for(let g=0;g<r.length;g++)t=i[r[g]],t.connected===!0&&t.toId!==t.fromId&&this.body.nodes[t.toId]!==void 0&&this.body.nodes[t.fromId]!==void 0&&(t.edgeType.via!==void 0?(e=t.options.length===void 0?this.options.springLength:t.options.length,s=t.to,o=t.edgeType.via,a=t.from,this._calculateSpringForce(s,o,.5*e),this._calculateSpringForce(o,a,.5*e)):(e=t.options.length===void 0?this.options.springLength*1.5:t.options.length,this._calculateSpringForce(t.from,t.to,e)))}_calculateSpringForce(e,t,r){const i=e.x-t.x,s=e.y-t.y,o=Math.max(Math.sqrt(i*i+s*s),.01),a=this.options.springConstant*(r-o)/o,g=i*a,A=s*a;this.physicsBody.forces[e.id]!==void 0&&(this.physicsBody.forces[e.id].x+=g,this.physicsBody.forces[e.id].y+=A),this.physicsBody.forces[t.id]!==void 0&&(this.physicsBody.forces[t.id].x-=g,this.physicsBody.forces[t.id].y-=A)}}class m0e{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,s,o,a,g;const A=this.body.edges,I=.5,C=this.physicsBody.physicsEdgeIndices,d=this.physicsBody.physicsNodeIndices,l=this.physicsBody.forces;for(let p=0;p<d.length;p++){const y=d[p];l[y].springFx=0,l[y].springFy=0}for(let p=0;p<C.length;p++)t=A[C[p]],t.connected===!0&&(e=t.options.length===void 0?this.options.springLength:t.options.length,r=t.from.x-t.to.x,i=t.from.y-t.to.y,g=Math.sqrt(r*r+i*i),g=g===0?.01:g,a=this.options.springConstant*(e-g)/g,s=r*a,o=i*a,t.to.level!=t.from.level?(l[t.toId]!==void 0&&(l[t.toId].springFx-=s,l[t.toId].springFy-=o),l[t.fromId]!==void 0&&(l[t.fromId].springFx+=s,l[t.fromId].springFy+=o)):(l[t.toId]!==void 0&&(l[t.toId].x-=I*s,l[t.toId].y-=I*o),l[t.fromId]!==void 0&&(l[t.fromId].x+=I*s,l[t.fromId].y+=I*o)));a=1;let u,h;for(let p=0;p<d.length;p++){const y=d[p];u=Math.min(a,Math.max(-a,l[y].springFx)),h=Math.min(a,Math.max(-a,l[y].springFy)),l[y].x+=u,l[y].y+=h}let v=0,f=0;for(let p=0;p<d.length;p++){const y=d[p];v+=l[y].x,f+=l[y].y}const c=v/d.length,b=f/d.length;for(let p=0;p<d.length;p++){const y=d[p];l[y].x-=c,l[y].y-=b}}}class mA{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i;const s=this.body.nodes,o=this.physicsBody.physicsNodeIndices,a=this.physicsBody.forces;for(let g=0;g<o.length;g++){const A=o[g];i=s[A],e=-i.x,t=-i.y,r=Math.sqrt(e*e+t*t),this._calculateForces(r,e,t,a,i)}}_calculateForces(e,t,r,i,s){const o=e===0?0:this.options.centralGravity/e;i[s.id].x=t*o,i[s.id].y=r*o}}class y0e extends eee{constructor(e,t,r){super(e,t,r),this._rng=FI("FORCE ATLAS 2 BASED REPULSION SOLVER")}_calculateForces(e,t,r,i,s){e===0&&(e=.1*this._rng(),t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const o=i.edges.length+1,a=this.options.gravitationalConstant*s.mass*i.options.mass*o/Math.pow(e,2),g=t*a,A=r*a;this.physicsBody.forces[i.id].x+=g,this.physicsBody.forces[i.id].y+=A}}class b0e extends mA{constructor(e,t,r){super(e,t,r)}_calculateForces(e,t,r,i,s){if(e>0){const o=s.edges.length+1,a=this.options.centralGravity*o*s.options.mass;i[s.id].x=t*a,i[s.id].y=r*a}}}class w0e{constructor(e){this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},Tt(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("initPhysics",()=>{this.initPhysics()}),this.body.emitter.on("_layoutFailed",()=>{this.layoutFailed=!0}),this.body.emitter.on("resetPhysics",()=>{this.stopSimulation(),this.ready=!1}),this.body.emitter.on("disablePhysics",()=>{this.physicsEnabled=!1,this.stopSimulation()}),this.body.emitter.on("restorePhysics",()=>{this.setOptions(this.options),this.ready===!0&&this.startSimulation()}),this.body.emitter.on("startSimulation",()=>{this.ready===!0&&this.startSimulation()}),this.body.emitter.on("stopSimulation",()=>{this.stopSimulation()}),this.body.emitter.on("destroy",()=>{this.stopSimulation(!1),this.body.emitter.off()}),this.body.emitter.on("_dataChanged",()=>{this.updatePhysicsData()})}setOptions(e){if(e!==void 0)if(e===!1)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(e===!0)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,jA(["stabilization"],this.options,e),or(this.options,e,"stabilization"),e.enabled===void 0&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation());const t=this.options.wind;t&&((typeof t.x!="number"||X_(t.x))&&(t.x=0),(typeof t.y!="number"||X_(t.y))&&(t.y=0)),this.timestep=this.options.timestep}this.init()}init(){let e;this.options.solver==="forceAtlas2Based"?(e=this.options.forceAtlas2Based,this.nodesSolver=new y0e(this.body,this.physicsBody,e),this.edgesSolver=new cS(this.body,this.physicsBody,e),this.gravitySolver=new b0e(this.body,this.physicsBody,e)):this.options.solver==="repulsion"?(e=this.options.repulsion,this.nodesSolver=new p0e(this.body,this.physicsBody,e),this.edgesSolver=new cS(this.body,this.physicsBody,e),this.gravitySolver=new mA(this.body,this.physicsBody,e)):this.options.solver==="hierarchicalRepulsion"?(e=this.options.hierarchicalRepulsion,this.nodesSolver=new v0e(this.body,this.physicsBody,e),this.edgesSolver=new m0e(this.body,this.physicsBody,e),this.gravitySolver=new mA(this.body,this.physicsBody,e)):(e=this.options.barnesHut,this.nodesSolver=new eee(this.body,this.physicsBody,e),this.edgesSolver=new cS(this.body,this.physicsBody,e),this.gravitySolver=new mA(this.body,this.physicsBody,e)),this.modelOptions=e}initPhysics(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}startSimulation(){if(this.physicsEnabled===!0&&this.options.enabled===!0){if(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),this.viewFunction===void 0){var e;this.viewFunction=j(e=this.simulationStep).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}else this.body.emitter.emit("_redraw")}stopSimulation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.stabilized=!0,e===!0&&this._emitStabilized(),this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,e===!0&&this.body.emitter.emit("_stopRendering"))}simulationStep(){const e=J_();this.physicsTick(),(J_()-e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}_emitStabilized(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&Hs(()=>{this.body.emitter.emit("stabilized",{iterations:e}),this.startedStabilization=!1,this.stabilizationIterations=0},0)}physicsStep(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}adjustTimeStep(){this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}physicsTick(){this._startStabilizing(),this.stabilized!==!0&&(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0?(this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1):(this.timestep=this.options.timestep,this.physicsStep()),this.stabilized===!0&&this.revert(),this.stabilizationIterations++)}updatePhysicsData(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];const e=this.body.nodes,t=this.body.edges;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&e[r].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(e[r].id);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&t[r].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(t[r].id);for(let r=0;r<this.physicsBody.physicsNodeIndices.length;r++){const i=this.physicsBody.physicsNodeIndices[r];this.physicsBody.forces[i]={x:0,y:0},this.physicsBody.velocities[i]===void 0&&(this.physicsBody.velocities[i]={x:0,y:0})}for(const r in this.physicsBody.velocities)e[r]===void 0&&delete this.physicsBody.velocities[r]}revert(){const e=et(this.previousStates),t=this.body.nodes,r=this.physicsBody.velocities;this.referenceState={};for(let i=0;i<e.length;i++){const s=e[i];t[s]!==void 0?t[s].options.physics===!0&&(this.referenceState[s]={positions:{x:t[s].x,y:t[s].y}},r[s].x=this.previousStates[s].vx,r[s].y=this.previousStates[s].vy,t[s].x=this.previousStates[s].x,t[s].y=this.previousStates[s].y):delete this.previousStates[s]}}_evaluateStepQuality(){let e,t,r;const i=this.body.nodes,s=this.referenceState,o=.3;for(const a in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,a)&&i[a]!==void 0&&(e=i[a].x-s[a].positions.x,t=i[a].y-s[a].positions.y,r=Math.sqrt(Math.pow(e,2)+Math.pow(t,2)),r>o))return!1;return!0}moveNodes(){const e=this.physicsBody.physicsNodeIndices;let t=0,r=0;const i=5;for(let s=0;s<e.length;s++){const o=e[s],a=this._performStep(o);t=Math.max(t,a),r+=a}this.adaptiveTimestepEnabled=r/e.length<i,this.stabilized=t<this.options.minVelocity}calculateComponentVelocity(e,t,r){const i=this.modelOptions.damping*e,s=(t-i)/r;e+=s*this.timestep;const o=this.options.maxVelocity||1e9;return Math.abs(e)>o&&(e=e>0?o:-o),e}_performStep(e){const t=this.body.nodes[e],r=this.physicsBody.forces[e];this.options.wind&&(r.x+=this.options.wind.x,r.y+=this.options.wind.y);const i=this.physicsBody.velocities[e];return this.previousStates[e]={x:t.x,y:t.y,vx:i.x,vy:i.y},t.options.fixed.x===!1?(i.x=this.calculateComponentVelocity(i.x,r.x,t.options.mass),t.x+=i.x*this.timestep):(r.x=0,i.x=0),t.options.fixed.y===!1?(i.y=this.calculateComponentVelocity(i.y,r.y,t.options.mass),t.y+=i.y*this.timestep):(r.y=0,i.y=0),Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2))}_freezeNodes(){const e=this.body.nodes;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t].x&&e[t].y){const r=e[t].options.fixed;this.freezeCache[t]={x:r.x,y:r.y},r.x=!0,r.y=!0}}_restoreFrozenNodes(){const e=this.body.nodes;for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.freezeCache[t]!==void 0&&(e[t].options.fixed.x=this.freezeCache[t].x,e[t].options.fixed.y=this.freezeCache[t].y);this.freezeCache={}}stabilize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.stabilization.iterations;if(typeof e!="number"&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),this.physicsBody.physicsNodeIndices.length===0){this.ready=!0;return}this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,Hs(()=>this._stabilizationBatch(),0)}_startStabilizing(){return this.startedStabilization===!0?!1:(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}_stabilizationBatch(){const e=()=>this.stabilized===!1&&this.stabilizationIterations<this.targetIterations,t=()=>{this.body.emitter.emit("stabilizationProgress",{iterations:this.stabilizationIterations,total:this.targetIterations})};this._startStabilizing()&&t();let r=0;for(;e()&&r<this.options.stabilization.updateInterval;)this.physicsTick(),r++;if(t(),e()){var i;Hs(j(i=this._stabilizationBatch).call(i,this),0)}else this._finalizeStabilization()}_finalizeStabilization(){this.body.emitter.emit("_allowRedraw"),this.options.stabilization.fit===!0&&this.body.emitter.emit("fit"),this.options.stabilization.onlyDynamicEdges===!0&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),this.stabilized===!0?this._emitStabilized():this.startSimulation(),this.ready=!0}_drawForces(e){for(let t=0;t<this.physicsBody.physicsNodeIndices.length;t++){const r=this.physicsBody.physicsNodeIndices[t],i=this.body.nodes[r],s=this.physicsBody.forces[r],o=20,a=.03,g=Math.sqrt(Math.pow(s.x,2)+Math.pow(s.x,2)),A=Math.min(Math.max(5,g),15),I=3*A,C=U_((180-Math.min(1,Math.max(0,a*g))*180)/360,1,1),d={x:i.x+o*s.x,y:i.y+o*s.y};e.lineWidth=A,e.strokeStyle=C,e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(d.x,d.y),e.stroke();const l=Math.atan2(s.y,s.x);e.fillStyle=C,QJ.draw(e,{type:"arrow",point:d,angle:l,length:I}),ZI(e).call(e)}}}var N8={},M8;function E0e(){if(M8)return N8;M8=1;var n=te(),e=ye(),t=Cs(),r=e([].reverse),i=[1,2];return n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return t(this)&&(this.length=this.length),r(this)}}),N8}var fS,q8;function S0e(){if(q8)return fS;q8=1,E0e();var n=$t();return fS=n("Array","reverse"),fS}var pS,F8;function _0e(){if(F8)return pS;F8=1;var n=gt(),e=S0e(),t=Array.prototype;return pS=function(r){var i=r.reverse;return r===t||n(t,r)&&i===t.reverse?e:i},pS}var vS,k8;function O0e(){if(k8)return vS;k8=1;var n=_0e();return vS=n,vS}var mS,B8;function T0e(){return B8||(B8=1,mS=O0e()),mS}var R0e=T0e(),Ks=ge(R0e);const _t=[];for(let n=0;n<256;++n)_t.push((n+256).toString(16).slice(1));function P0e(n,e=0){return(_t[n[e+0]]+_t[n[e+1]]+_t[n[e+2]]+_t[n[e+3]]+"-"+_t[n[e+4]]+_t[n[e+5]]+"-"+_t[n[e+6]]+_t[n[e+7]]+"-"+_t[n[e+8]]+_t[n[e+9]]+"-"+_t[n[e+10]]+_t[n[e+11]]+_t[n[e+12]]+_t[n[e+13]]+_t[n[e+14]]+_t[n[e+15]]).toLowerCase()}let yS;const x0e=new Uint8Array(16);function $0e(){if(!yS){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");yS=crypto.getRandomValues.bind(crypto)}return yS(x0e)}const D0e=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var z8={randomUUID:D0e};function Na(n,e,t){if(z8.randomUUID&&!n)return z8.randomUUID();n=n||{};const r=n.random??n.rng?.()??$0e();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,P0e(r)}class kt{constructor(){}static getRange(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,s=1e9,o=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],s>a.shape.boundingBox.left&&(s=a.shape.boundingBox.left),o<a.shape.boundingBox.right&&(o=a.shape.boundingBox.right),r>a.shape.boundingBox.top&&(r=a.shape.boundingBox.top),i<a.shape.boundingBox.bottom&&(i=a.shape.boundingBox.bottom);return s===1e9&&o===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,s=0,o=0),{minX:s,maxX:o,minY:r,maxY:i}}static getRangeCore(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,s=1e9,o=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],s>a.x&&(s=a.x),o<a.x&&(o=a.x),r>a.y&&(r=a.y),i<a.y&&(i=a.y);return s===1e9&&o===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,s=0,o=0),{minX:s,maxX:o,minY:r,maxY:i}}static findCenter(e){return{x:.5*(e.maxX+e.minX),y:.5*(e.maxY+e.minY)}}static cloneOptions(e,t){const r={};return t===void 0||t==="node"?(xe(r,e.options,!0),r.x=e.x,r.y=e.y,r.amountOfConnections=e.edges.length):xe(r,e.options,!0),r}}class N0e extends qe{constructor(e,t,r,i,s,o){super(e,t,r,i,s,o),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}_openChildCluster(e){const t=this.body.nodes[e];if(this.containedNodes[e]===void 0)throw new Error("node with id: "+e+" not in current cluster");if(!t.isCluster)throw new Error("node with id: "+e+" is not a cluster");delete this.containedNodes[e],ue(t.edges,r=>{delete this.containedEdges[r.id]}),ue(t.containedNodes,(r,i)=>{this.containedNodes[i]=r}),t.containedNodes={},ue(t.containedEdges,(r,i)=>{this.containedEdges[i]=r}),t.containedEdges={},ue(t.edges,r=>{ue(this.edges,i=>{var s,o;const a=Le(s=i.clusteringEdgeReplacingIds).call(s,r.id);a!==-1&&(ue(r.clusteringEdgeReplacingIds,g=>{i.clusteringEdgeReplacingIds.push(g),this.body.edges[g].edgeReplacedById=i.id}),Ui(o=i.clusteringEdgeReplacingIds).call(o,a,1))})}),t.edges=[]}}class M0e{constructor(e){this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},Tt(this.options,this.defaultOptions),this.body.emitter.on("_resetData",()=>{this.clusteredNodes={},this.clusteredEdges={}})}clusterByHubsize(e,t){e===void 0?e=this._getHubSize():typeof e=="object"&&(t=this._checkOptions(e),e=this._getHubSize());const r=[];for(let i=0;i<this.body.nodeIndices.length;i++){const s=this.body.nodes[this.body.nodeIndices[i]];s.edges.length>=e&&r.push(s.id)}for(let i=0;i<r.length;i++)this.clusterByConnection(r[i],t,!0);this.body.emitter.emit("_dataChanged")}cluster(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.joinCondition===void 0)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);const r={},i={};ue(this.body.nodes,(s,o)=>{s.options&&e.joinCondition(s.options)===!0&&(r[o]=s,ue(s.edges,a=>{this.clusteredEdges[a.id]===void 0&&(i[a.id]=a)}))}),this._cluster(r,i,e,t)}clusterByEdgeCount(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;t=this._checkOptions(t);const i=[],s={};let o,a,g;for(let A=0;A<this.body.nodeIndices.length;A++){const I={},C={},d=this.body.nodeIndices[A],l=this.body.nodes[d];if(s[d]===void 0){g=0,a=[];for(let u=0;u<l.edges.length;u++)o=l.edges[u],this.clusteredEdges[o.id]===void 0&&(o.toId!==o.fromId&&g++,a.push(o));if(g===e){const u=function(v){if(t.joinCondition===void 0||t.joinCondition===null)return!0;const f=kt.cloneOptions(v);return t.joinCondition(f)};let h=!0;for(let v=0;v<a.length;v++){o=a[v];const f=this._getConnectedId(o,d);if(u(l))C[o.id]=o,I[d]=l,I[f]=this.body.nodes[f],s[d]=!0;else{h=!1;break}}if(et(I).length>0&&et(C).length>0&&h===!0){const f=function(){for(let c=0;c<i.length;++c)for(const b in I)if(i[c].nodes[b]!==void 0)return i[c]}();if(f!==void 0){for(const c in I)f.nodes[c]===void 0&&(f.nodes[c]=I[c]);for(const c in C)f.edges[c]===void 0&&(f.edges[c]=C[c])}else i.push({nodes:I,edges:C})}}}}for(let A=0;A<i.length;A++)this._cluster(i[A].nodes,i[A].edges,t,!1);r===!0&&this.body.emitter.emit("_dataChanged")}clusterOutliers(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(1,e,t)}clusterBridges(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(2,e,t)}clusterByConnection(e,t){var r;let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No nodeId supplied to clusterByConnection!");if(this.body.nodes[e]===void 0)throw new Error("The nodeId given to clusterByConnection does not exist!");const s=this.body.nodes[e];t=this._checkOptions(t,s),t.clusterNodeProperties.x===void 0&&(t.clusterNodeProperties.x=s.x),t.clusterNodeProperties.y===void 0&&(t.clusterNodeProperties.y=s.y),t.clusterNodeProperties.fixed===void 0&&(t.clusterNodeProperties.fixed={},t.clusterNodeProperties.fixed.x=s.options.fixed.x,t.clusterNodeProperties.fixed.y=s.options.fixed.y);const o={},a={},g=s.id,A=kt.cloneOptions(s);o[g]=s;for(let C=0;C<s.edges.length;C++){const d=s.edges[C];if(this.clusteredEdges[d.id]===void 0){const l=this._getConnectedId(d,g);if(this.clusteredNodes[l]===void 0)if(l!==g)if(t.joinCondition===void 0)a[d.id]=d,o[l]=this.body.nodes[l];else{const u=kt.cloneOptions(this.body.nodes[l]);t.joinCondition(A,u)===!0&&(a[d.id]=d,o[l]=this.body.nodes[l])}else a[d.id]=d}}const I=eg(r=et(o)).call(r,function(C){return o[C].id});for(const C in o){if(!Object.prototype.hasOwnProperty.call(o,C))continue;const d=o[C];for(let l=0;l<d.edges.length;l++){const u=d.edges[l];Le(I).call(I,this._getConnectedId(u,d.id))>-1&&(a[u.id]=u)}}this._cluster(o,a,t,i)}_createClusterEdges(e,t,r,i){let s,o,a,g,A,I;const C=et(e),d=[];for(let h=0;h<C.length;h++){o=C[h],a=e[o];for(let v=0;v<a.edges.length;v++)s=a.edges[v],this.clusteredEdges[s.id]===void 0&&(s.toId==s.fromId?t[s.id]=s:s.toId==o?(g=r.id,A=s.fromId,I=A):(g=s.toId,A=r.id,I=g),e[I]===void 0&&d.push({edge:s,fromId:A,toId:g}))}const l=[],u=function(h){for(let v=0;v<l.length;v++){const f=l[v],c=h.fromId===f.fromId&&h.toId===f.toId,b=h.fromId===f.toId&&h.toId===f.fromId;if(c||b)return f}return null};for(let h=0;h<d.length;h++){const v=d[h],f=v.edge;let c=u(v);c===null?(c=this._createClusteredEdge(v.fromId,v.toId,f,i),l.push(c)):c.clusteringEdgeReplacingIds.push(f.id),this.body.edges[f.id].edgeReplacedById=c.id,this._backupEdgeOptions(f),f.setOptions({physics:!1})}}_checkOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.clusterEdgeProperties===void 0&&(e.clusterEdgeProperties={}),e.clusterNodeProperties===void 0&&(e.clusterNodeProperties={}),e}_cluster(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;const s=[];for(const I in e)Object.prototype.hasOwnProperty.call(e,I)&&this.clusteredNodes[I]!==void 0&&s.push(I);for(let I=0;I<s.length;++I)delete e[s[I]];if(et(e).length==0||et(e).length==1&&r.clusterNodeProperties.allowSingleNodeCluster!=!0)return;let o=xe({},r.clusterNodeProperties);if(r.processProperties!==void 0){const I=[];for(const d in e)if(Object.prototype.hasOwnProperty.call(e,d)){const l=kt.cloneOptions(e[d]);I.push(l)}const C=[];for(const d in t)if(Object.prototype.hasOwnProperty.call(t,d)&&d.substr(0,12)!=="clusterEdge:"){const l=kt.cloneOptions(t[d],"edge");C.push(l)}if(o=r.processProperties(o,I,C),!o)throw new Error("The processProperties function does not return properties!")}o.id===void 0&&(o.id="cluster:"+Na());const a=o.id;o.label===void 0&&(o.label="cluster");let g;o.x===void 0&&(g=this._getClusterPosition(e),o.x=g.x),o.y===void 0&&(g===void 0&&(g=this._getClusterPosition(e)),o.y=g.y),o.id=a;const A=this.body.functions.createNode(o,N0e);A.containedNodes=e,A.containedEdges=t,A.clusterEdgeProperties=r.clusterEdgeProperties,this.body.nodes[o.id]=A,this._clusterEdges(e,t,o,r.clusterEdgeProperties),o.id=void 0,i===!0&&this.body.emitter.emit("_dataChanged")}_backupEdgeOptions(e){this.clusteredEdges[e.id]===void 0&&(this.clusteredEdges[e.id]={physics:e.options.physics})}_restoreEdge(e){const t=this.clusteredEdges[e.id];t!==void 0&&(e.setOptions({physics:t.physics}),delete this.clusteredEdges[e.id])}isCluster(e){return this.body.nodes[e]!==void 0?this.body.nodes[e].isCluster===!0:(console.error("Node does not exist."),!1)}_getClusterPosition(e){const t=et(e);let r=e[t[0]].x,i=e[t[0]].x,s=e[t[0]].y,o=e[t[0]].y,a;for(let g=1;g<t.length;g++)a=e[t[g]],r=a.x<r?a.x:r,i=a.x>i?a.x:i,s=a.y<s?a.y:s,o=a.y>o?a.y:o;return{x:.5*(r+i),y:.5*(s+o)}}openCluster(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No clusterNodeId supplied to openCluster.");const i=this.body.nodes[e];if(i===void 0)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(i.isCluster!==!0||i.containedNodes===void 0||i.containedEdges===void 0)throw new Error("The node:"+e+" is not a valid cluster.");const s=this.findNode(e),o=Le(s).call(s,e)-1;if(o>=0){const I=s[o];this.body.nodes[I]._openChildCluster(e),delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged");return}const a=i.containedNodes,g=i.containedEdges;if(t!==void 0&&t.releaseFunction!==void 0&&typeof t.releaseFunction=="function"){const I={},C={x:i.x,y:i.y};for(const l in a)if(Object.prototype.hasOwnProperty.call(a,l)){const u=this.body.nodes[l];I[l]={x:u.x,y:u.y}}const d=t.releaseFunction(C,I);for(const l in a)if(Object.prototype.hasOwnProperty.call(a,l)){const u=this.body.nodes[l];d[l]!==void 0&&(u.x=d[l].x===void 0?i.x:d[l].x,u.y=d[l].y===void 0?i.y:d[l].y)}}else ue(a,function(I){I.options.fixed.x===!1&&(I.x=i.x),I.options.fixed.y===!1&&(I.y=i.y)});for(const I in a)if(Object.prototype.hasOwnProperty.call(a,I)){const C=this.body.nodes[I];C.vx=i.vx,C.vy=i.vy,C.setOptions({physics:!0}),delete this.clusteredNodes[I]}const A=[];for(let I=0;I<i.edges.length;I++)A.push(i.edges[I]);for(let I=0;I<A.length;I++){const C=A[I],d=this._getConnectedId(C,e),l=this.clusteredNodes[d];for(let u=0;u<C.clusteringEdgeReplacingIds.length;u++){const h=C.clusteringEdgeReplacingIds[u],v=this.body.edges[h];if(v!==void 0)if(l!==void 0){const f=this.body.nodes[l.clusterId];f.containedEdges[v.id]=v,delete g[v.id];let c=v.fromId,b=v.toId;v.toId==d?b=l.clusterId:c=l.clusterId,this._createClusteredEdge(c,b,v,f.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(v)}C.remove()}for(const I in g)Object.prototype.hasOwnProperty.call(g,I)&&this._restoreEdge(g[I]);delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged")}getNodesInCluster(e){const t=[];if(this.isCluster(e)===!0){const r=this.body.nodes[e].containedNodes;for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.push(this.body.nodes[i].id)}return t}findNode(e){const t=[];let i=0,s;for(;this.clusteredNodes[e]!==void 0&&i<100;){if(s=this.body.nodes[e],s===void 0)return[];t.push(s.id),e=this.clusteredNodes[e].clusterId,i++}return s=this.body.nodes[e],s===void 0?[]:(t.push(s.id),Ks(t).call(t),t)}updateClusteredNode(e,t){if(e===void 0)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(t===void 0)throw new Error("No newOptions supplied to updateClusteredNode.");if(this.body.nodes[e]===void 0)throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[e].setOptions(t),this.body.emitter.emit("_dataChanged")}updateEdge(e,t){if(e===void 0)throw new Error("No startEdgeId supplied to updateEdge.");if(t===void 0)throw new Error("No newOptions supplied to updateEdge.");if(this.body.edges[e]===void 0)throw new Error("The startEdgeId supplied to updateEdge does not exist.");const r=this.getClusteredEdges(e);for(let i=0;i<r.length;i++)this.body.edges[r[i]].setOptions(t);this.body.emitter.emit("_dataChanged")}getClusteredEdges(e){const t=[];let i=0;for(;e!==void 0&&this.body.edges[e]!==void 0&&i<100;)t.push(this.body.edges[e].id),e=this.body.edges[e].edgeReplacedById,i++;return Ks(t).call(t),t}getBaseEdge(e){return this.getBaseEdges(e)[0]}getBaseEdges(e){const t=[e],r=[],i=[],s=100;let o=0;for(;t.length>0&&o<s;){const a=t.pop();if(a===void 0)continue;const g=this.body.edges[a];if(g===void 0)continue;o++;const A=g.clusteringEdgeReplacingIds;if(A===void 0)i.push(a);else for(let I=0;I<A.length;++I){const C=A[I];Le(t).call(t,A)!==-1||Le(r).call(r,A)!==-1||t.push(C)}r.push(a)}return i}_getConnectedId(e,t){return e.toId!=t?e.toId:(e.fromId!=t,e.fromId)}_getHubSize(){let e=0,t=0,r=0,i=0;for(let g=0;g<this.body.nodeIndices.length;g++){const A=this.body.nodes[this.body.nodeIndices[g]];A.edges.length>i&&(i=A.edges.length),e+=A.edges.length,t+=Math.pow(A.edges.length,2),r+=1}e=e/r,t=t/r;const s=t-Math.pow(e,2),o=Math.sqrt(s);let a=Math.floor(e+2*o);return a>i&&(a=i),a}_createClusteredEdge(e,t,r,i,s){const o=kt.cloneOptions(r,"edge");xe(o,i),o.from=e,o.to=t,o.id="clusterEdge:"+Na(),s!==void 0&&xe(o,s);const a=this.body.functions.createEdge(o);return a.clusteringEdgeReplacingIds=[r.id],a.connect(),this.body.edges[a.id]=a,a}_clusterEdges(e,t,r,i){if(t instanceof Ki){const s=t,o={};o[s.id]=s,t=o}if(e instanceof qe){const s=e,o={};o[s.id]=s,e=o}if(r==null)throw new Error("_clusterEdges: parameter clusterNode required");i===void 0&&(i=r.clusterEdgeProperties),this._createClusterEdges(e,t,r,i);for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&this.body.edges[s]!==void 0){const o=this.body.edges[s];this._backupEdgeOptions(o),o.setOptions({physics:!1})}for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(this.clusteredNodes[s]={clusterId:r.id,node:this.body.nodes[s]},this.body.nodes[s].setOptions({physics:!1}))}_getClusterNodeForNode(e){if(e===void 0)return;const t=this.clusteredNodes[e];if(t===void 0)return;const r=t.clusterId;if(r!==void 0)return this.body.nodes[r]}_filter(e,t){const r=[];return ue(e,i=>{t(i)&&r.push(i)}),r}_updateState(){let e;const t=[],r={},i=g=>{ue(this.body.nodes,A=>{A.isCluster===!0&&g(A)})};for(e in this.clusteredNodes){if(!Object.prototype.hasOwnProperty.call(this.clusteredNodes,e))continue;this.body.nodes[e]===void 0&&t.push(e)}i(function(g){for(let A=0;A<t.length;A++)delete g.containedNodes[t[A]]});for(let g=0;g<t.length;g++)delete this.clusteredNodes[t[g]];ue(this.clusteredEdges,g=>{const A=this.body.edges[g];(A===void 0||!A.endPointsValid())&&(r[g]=g)}),i(function(g){ue(g.containedEdges,(A,I)=>{!A.endPointsValid()&&!r[I]&&(r[I]=I)})}),ue(this.body.edges,(g,A)=>{let I=!0;const C=g.clusteringEdgeReplacingIds;if(C!==void 0){let d=0;ue(C,l=>{const u=this.body.edges[l];u!==void 0&&u.endPointsValid()&&(d+=1)}),I=d>0}(!g.endPointsValid()||!I)&&(r[A]=A)}),i(g=>{ue(r,A=>{delete g.containedEdges[A],ue(g.edges,(I,C)=>{if(I.id===A){g.edges[C]=null;return}I.clusteringEdgeReplacingIds=this._filter(I.clusteringEdgeReplacingIds,function(d){return!r[d]})}),g.edges=this._filter(g.edges,function(I){return I!==null})})}),ue(r,g=>{delete this.clusteredEdges[g]}),ue(r,g=>{delete this.body.edges[g]});const s=et(this.body.edges);ue(s,g=>{const A=this.body.edges[g],I=this._isClusteredNode(A.fromId)||this._isClusteredNode(A.toId);if(I!==this._isClusteredEdge(A.id))if(I){const C=this._getClusterNodeForNode(A.fromId);C!==void 0&&this._clusterEdges(this.body.nodes[A.fromId],A,C);const d=this._getClusterNodeForNode(A.toId);d!==void 0&&this._clusterEdges(this.body.nodes[A.toId],A,d)}else delete this._clusterEdges[g],this._restoreEdge(A)});let o=!1,a=!0;for(;a;){const g=[];i(function(A){const I=et(A.containedNodes).length,C=A.options.allowSingleNodeCluster===!0;(C&&I<1||!C&&I<2)&&g.push(A.id)});for(let A=0;A<g.length;++A)this.openCluster(g[A],{},!1);a=g.length>0,o=o||a}o&&this._updateState()}_isClusteredNode(e){return this.clusteredNodes[e]!==void 0}_isClusteredEdge(e){return this.clusteredEdges[e]!==void 0}}class q0e{constructor(e,t){this.body=e,this.canvas=t,this.redrawRequested=!1,this.requestAnimationFrameRequestId=void 0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},Tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.on("dragStart",()=>{this.dragging=!0}),this.body.emitter.on("dragEnd",()=>{this.dragging=!1}),this.body.emitter.on("zoom",()=>{this.zooming=!0,window.clearTimeout(this.zoomTimeoutId),this.zoomTimeoutId=Hs(()=>{var t;this.zooming=!1,j(t=this._requestRedraw).call(t,this)()},250)}),this.body.emitter.on("_resizeNodes",()=>{this._resizeNodes()}),this.body.emitter.on("_redraw",()=>{this.renderingActive===!1&&this._redraw()}),this.body.emitter.on("_blockRedraw",()=>{this.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",()=>{this.allowRedraw=!0,this.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",j(e=this._requestRedraw).call(e,this)),this.body.emitter.on("_startRendering",()=>{this.renderRequests+=1,this.renderingActive=!0,this._startRendering()}),this.body.emitter.on("_stopRendering",()=>{this.renderRequests-=1,this.renderingActive=this.renderRequests>0,this.requestAnimationFrameRequestId=void 0}),this.body.emitter.on("destroy",()=>{this.renderRequests=0,this.allowRedraw=!1,this.renderingActive=!1,window.cancelAnimationFrame(this.requestAnimationFrameRequestId),this.body.emitter.off()})}setOptions(e){e!==void 0&&Xo(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,e)}_startRendering(){if(this.renderingActive===!0&&this.requestAnimationFrameRequestId===void 0){var e;this.requestAnimationFrameRequestId=window.requestAnimationFrame(j(e=this._renderStep).call(e,this),this.simulationInterval)}}_renderStep(){this.renderingActive===!0&&(this.requestAnimationFrameRequestId=void 0,this._startRendering(),this._redraw())}redraw(){this.body.emitter.emit("setSize"),this._redraw()}_requestRedraw(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,window.requestAnimationFrame(()=>{this._redraw(!1)}))}_redraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;const t={drawExternalLabels:null};(this.canvas.frame.canvas.width===0||this.canvas.frame.canvas.height===0)&&this.canvas.setSize(),this.canvas.setTransform();const r=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,s=this.canvas.frame.canvas.clientHeight;if(r.clearRect(0,0,i,s),this.canvas.frame.clientWidth===0)return;if(r.save(),r.translate(this.body.view.translation.x,this.body.view.translation.y),r.scale(this.body.view.scale,this.body.view.scale),r.beginPath(),this.body.emitter.emit("beforeDrawing",r),r.closePath(),e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawEdges(r),this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1){const{drawExternalLabels:o}=this._drawNodes(r,e);t.drawExternalLabels=o}e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawArrows(r),t.drawExternalLabels!=null&&t.drawExternalLabels(),e===!1&&this._drawSelectionBox(r),r.beginPath(),this.body.emitter.emit("afterDrawing",r),r.closePath(),r.restore(),e===!0&&r.clearRect(0,0,i,s)}}_resizeNodes(){this.canvas.setTransform();const e=this.canvas.getContext();e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale);const t=this.body.nodes;let r;for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r=t[i],r.resize(e),r.updateBoundingBox(e,r.selected));e.restore()}_drawNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.nodes,i=this.body.nodeIndices;let s;const o=[],a=[],g=20,A=this.canvas.DOMtoCanvas({x:-g,y:-g}),I=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+g,y:this.canvas.frame.canvas.clientHeight+g}),C={top:A.y,left:A.x,bottom:I.y,right:I.x},d=[];for(let v=0;v<i.length;v++)if(s=r[i[v]],s.hover)a.push(i[v]);else if(s.isSelected())o.push(i[v]);else if(t===!0){const f=s.draw(e);f.drawExternalLabel!=null&&d.push(f.drawExternalLabel)}else if(s.isBoundingBoxOverlappingWith(C)===!0){const f=s.draw(e);f.drawExternalLabel!=null&&d.push(f.drawExternalLabel)}else s.updateBoundingBox(e,s.selected);let l;const u=o.length,h=a.length;for(l=0;l<u;l++){s=r[o[l]];const v=s.draw(e);v.drawExternalLabel!=null&&d.push(v.drawExternalLabel)}for(l=0;l<h;l++){s=r[a[l]];const v=s.draw(e);v.drawExternalLabel!=null&&d.push(v.drawExternalLabel)}return{drawExternalLabels:()=>{for(const v of d)v()}}}_drawEdges(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const s=t[r[i]];s.connected===!0&&s.draw(e)}}_drawArrows(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const s=t[r[i]];s.connected===!0&&s.drawArrows(e)}}_drawSelectionBox(e){if(this.body.selectionBox.show){e.beginPath();const t=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,r=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;e.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.fillStyle="rgba(151, 194, 252, 0.2)",e.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.strokeStyle="rgba(151, 194, 252, 1)",e.stroke()}else e.closePath()}}var bS,j8;function F0e(){if(j8)return bS;j8=1,MJ();var n=_e();return bS=n.setInterval,bS}var wS,L8;function k0e(){return L8||(L8=1,wS=F0e()),wS}var B0e=k0e(),z0e=ge(B0e);function WA(n,e){e.inputHandler=function(t){t.isFirst&&e(t)},n.on("hammer.input",e.inputHandler)}function tee(n,e){return e.inputHandler=function(t){t.isFinal&&e(t)},n.on("hammer.input",e.inputHandler)}class j0e{constructor(e){this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},Tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.once("resize",t=>{t.width!==0&&(this.body.view.translation.x=t.width*.5),t.height!==0&&(this.body.view.translation.y=t.height*.5)}),this.body.emitter.on("setSize",j(e=this.setSize).call(e,this)),this.body.emitter.on("destroy",()=>{this.hammerFrame.destroy(),this.hammer.destroy(),this._cleanUp()})}setOptions(e){if(e!==void 0&&Xo(["width","height","autoResize"],this.options,e),this._cleanUp(),this.options.autoResize===!0){var t;if(window.ResizeObserver){const i=new ResizeObserver(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")}),{frame:s}=this;i.observe(s),this._cleanupCallbacks.push(()=>{i.unobserve(s)})}else{const i=z0e(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")},1e3);this._cleanupCallbacks.push(()=>{clearInterval(i)})}const r=j(t=this._onResize).call(t,this);window.addEventListener("resize",r),this._cleanupCallbacks.push(()=>{window.removeEventListener("resize",r)})}}_cleanUp(){var e,t,r;Me(e=Ks(t=Ui(r=this._cleanupCallbacks).call(r,0)).call(t)).call(e,i=>{try{i()}catch(s){console.error(s)}})}_onResize(){this.setSize(),this.body.emitter.emit("_redraw")}_getCameraState(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/e,this.cameraState.previousHeight=this.frame.canvas.height/e,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/e,y:.5*this.frame.canvas.height/e}))}_setCameraState(){if(this.cameraState.scale!==void 0&&this.frame.canvas.clientWidth!==0&&this.frame.canvas.clientHeight!==0&&this.pixelRatio!==0&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){const e=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,t=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight;let r=this.cameraState.scale;e!=1&&t!=1?r=this.cameraState.scale*.5*(e+t):e!=1?r=this.cameraState.scale*e:t!=1&&(r=this.cameraState.scale*t),this.body.view.scale=r;const i=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),s={x:i.x-this.cameraState.position.x,y:i.y-this.cameraState.position.y};this.body.view.translation.x+=s.x*this.body.view.scale,this.body.view.translation.y+=s.y*this.body.view.scale}}_prepareValue(e){if(typeof e=="number")return e+"px";if(typeof e=="string"){if(Le(e).call(e,"%")!==-1||Le(e).call(e,"px")!==-1)return e;if(Le(e).call(e,"%")===-1)return e+"px"}throw new Error("Could not use the value supplied for width or height:"+e)}_create(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{const e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}_bindHammer(){this.hammer!==void 0&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new Zs(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:Zs.DIRECTION_ALL}),WA(this.hammer,e=>{this.body.eventListeners.onTouch(e)}),this.hammer.on("tap",e=>{this.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",e=>{this.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",e=>{this.body.eventListeners.onHold(e)}),this.hammer.on("panstart",e=>{this.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",e=>{this.body.eventListeners.onDrag(e)}),this.hammer.on("panend",e=>{this.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",e=>{this.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("wheel",e=>{this.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",e=>{this.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",e=>{this.body.eventListeners.onContext(e)}),this.hammerFrame=new Zs(this.frame),tee(this.hammerFrame,e=>{this.body.eventListeners.onRelease(e)})}setSize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.width,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.height;e=this._prepareValue(e),t=this._prepareValue(t);let r=!1;const i=this.frame.canvas.width,s=this.frame.canvas.height,o=this.pixelRatio;if(this._setPixelRatio(),e!=this.options.width||t!=this.options.height||this.frame.style.width!=e||this.frame.style.height!=t)this._getCameraState(o),this.frame.style.width=e,this.frame.style.height=t,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=e,this.options.height=t,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},r=!0;else{const a=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),g=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);(this.frame.canvas.width!==a||this.frame.canvas.height!==g)&&this._getCameraState(o),this.frame.canvas.width!==a&&(this.frame.canvas.width=a,r=!0),this.frame.canvas.height!==g&&(this.frame.canvas.height=g,r=!0)}return r===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(i/this.pixelRatio),oldHeight:Math.round(s/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,r}getContext(){return this.frame.canvas.getContext("2d")}_determinePixelRatio(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");let t=1;typeof window<"u"&&(t=window.devicePixelRatio||1);const r=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/r}_setPixelRatio(){this.pixelRatio=this._determinePixelRatio()}setTransform(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}_XconvertDOMtoCanvas(e){return(e-this.body.view.translation.x)/this.body.view.scale}_XconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.x}_YconvertDOMtoCanvas(e){return(e-this.body.view.translation.y)/this.body.view.scale}_YconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.y}canvasToDOM(e){return{x:this._XconvertCanvasToDOM(e.x),y:this._YconvertCanvasToDOM(e.y)}}DOMtoCanvas(e){return{x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)}}}function L0e(n,e){const t=Tt({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},n??{});if(!Dr(t.nodes))throw new TypeError("Nodes has to be an array of ids.");if(t.nodes.length===0&&(t.nodes=e),!(typeof t.minZoomLevel=="number"&&t.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!(typeof t.maxZoomLevel=="number"&&t.minZoomLevel<=t.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return t}class G0e{constructor(e,t){var r,i;this.body=e,this.canvas=t,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",j(r=this.fit).call(r,this)),this.body.emitter.on("animationFinished",()=>{this.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",j(i=this.releaseNode).call(i,this))}setOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=e}fit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;e=L0e(e,this.body.nodeIndices);const r=this.canvas.frame.canvas.clientWidth,i=this.canvas.frame.canvas.clientHeight;let s,o;if(r===0||i===0)o=1,s=kt.getRange(this.body.nodes,e.nodes);else if(t===!0){let A=0;for(const d in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,d)&&this.body.nodes[d].predefinedPosition===!0&&(A+=1);if(A>.5*this.body.nodeIndices.length){this.fit(e,!1);return}s=kt.getRange(this.body.nodes,e.nodes),o=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;const C=Math.min(r/600,i/600);o*=C}else{this.body.emitter.emit("_resizeNodes"),s=kt.getRange(this.body.nodes,e.nodes);const A=Math.abs(s.maxX-s.minX)*1.1,I=Math.abs(s.maxY-s.minY)*1.1,C=r/A,d=i/I;o=C<=d?C:d}o>e.maxZoomLevel?o=e.maxZoomLevel:o<e.minZoomLevel&&(o=e.minZoomLevel);const g={position:kt.findCenter(s),scale:o,animation:e.animation};this.moveTo(g)}focus(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.body.nodes[e]!==void 0){const r={x:this.body.nodes[e].x,y:this.body.nodes[e].y};t.position=r,t.lockedOnNode=e,this.moveTo(t)}else console.error("Node: "+e+" cannot be found.")}moveTo(e){if(e===void 0){e={};return}if(e.offset!=null){if(e.offset.x!=null){if(e.offset.x=+e.offset.x,!En(e.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else e.offset.x=0;if(e.offset.y!=null){if(e.offset.y=+e.offset.y,!En(e.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else e.offset.x=0}else e.offset={x:0,y:0};if(e.position!=null){if(e.position.x!=null){if(e.position.x=+e.position.x,!En(e.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else e.position.x=0;if(e.position.y!=null){if(e.position.y=+e.position.y,!En(e.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else e.position.x=0}else e.position=this.getViewPosition();if(e.scale!=null){if(e.scale=+e.scale,!(e.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else e.scale=this.body.view.scale;e.animation===void 0&&(e.animation={duration:0}),e.animation===!1&&(e.animation={duration:0}),e.animation===!0&&(e.animation={}),e.animation.duration===void 0&&(e.animation.duration=1e3),e.animation.easingFunction===void 0&&(e.animation.easingFunction="easeInOutQuad"),this.animateView(e)}animateView(e){if(e===void 0)return;this.animationEasingFunction=e.animation.easingFunction,this.releaseNode(),e.locked===!0&&(this.lockedOnNodeId=e.lockedOnNode,this.lockedOnNodeOffset=e.offset),this.easingTime!=0&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=e.scale,this.body.view.scale=this.targetScale;const t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.position.x,y:t.y-e.position.y};if(this.targetTranslation={x:this.sourceTranslation.x+r.x*this.targetScale+e.offset.x,y:this.sourceTranslation.y+r.y*this.targetScale+e.offset.y},e.animation.duration===0)if(this.lockedOnNodeId!=null){var i;this.viewFunction=j(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction)}else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else{var s;this.animationSpeed=1/(60*e.animation.duration*.001)||1/60,this.animationEasingFunction=e.animation.easingFunction,this.viewFunction=j(s=this._transitionRedraw).call(s,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}_lockedRedraw(){const e={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.x,y:t.y-e.y},i=this.body.view.translation,s={x:i.x+r.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:i.y+r.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}releaseNode(){this.lockedOnNodeId!==void 0&&this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}_transitionRedraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.easingTime+=this.animationSpeed,this.easingTime=e===!0?1:this.easingTime;const t=mpe[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*t,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*t,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*t},this.easingTime>=1){if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,this.lockedOnNodeId!=null){var r;this.viewFunction=j(r=this._lockedRedraw).call(r,this),this.body.emitter.on("initRedraw",this.viewFunction)}this.body.emitter.emit("animationFinished")}}getScale(){return this.body.view.scale}getViewPosition(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}function G8(n){var e=n&&n.preventDefault||!1,t=n&&n.container||window,r={},i={keydown:{},keyup:{}},s={},o;for(o=97;o<=122;o++)s[String.fromCharCode(o)]={code:65+(o-97),shift:!1};for(o=65;o<=90;o++)s[String.fromCharCode(o)]={code:o,shift:!0};for(o=0;o<=9;o++)s[""+o]={code:48+o,shift:!1};for(o=1;o<=12;o++)s["F"+o]={code:111+o,shift:!1};for(o=0;o<=9;o++)s["num"+o]={code:96+o,shift:!1};s["num*"]={code:106,shift:!1},s["num+"]={code:107,shift:!1},s["num-"]={code:109,shift:!1},s["num/"]={code:111,shift:!1},s["num."]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s["="]={code:187,shift:!1},s["-"]={code:189,shift:!1},s["]"]={code:221,shift:!1},s["["]={code:219,shift:!1};var a=function(I){A(I,"keydown")},g=function(I){A(I,"keyup")},A=function(I,C){if(i[C][I.keyCode]!==void 0){for(var d=i[C][I.keyCode],l=0;l<d.length;l++)(d[l].shift===void 0||d[l].shift==!0&&I.shiftKey==!0||d[l].shift==!1&&I.shiftKey==!1)&&d[l].fn(I);e==!0&&I.preventDefault()}};return r.bind=function(I,C,d){if(d===void 0&&(d="keydown"),s[I]===void 0)throw new Error("unsupported key: "+I);i[d][s[I].code]===void 0&&(i[d][s[I].code]=[]),i[d][s[I].code].push({fn:C,shift:s[I].shift})},r.bindAll=function(I,C){C===void 0&&(C="keydown");for(var d in s)s.hasOwnProperty(d)&&r.bind(d,I,C)},r.getKey=function(I){for(var C in s)if(s.hasOwnProperty(C)){if(I.shiftKey==!0&&s[C].shift==!0&&I.keyCode==s[C].code)return C;if(I.shiftKey==!1&&s[C].shift==!1&&I.keyCode==s[C].code)return C;if(I.keyCode==s[C].code&&C=="shift")return C}return"unknown key, currently not supported"},r.unbind=function(I,C,d){if(d===void 0&&(d="keydown"),s[I]===void 0)throw new Error("unsupported key: "+I);if(C!==void 0){var l=[],u=i[d][s[I].code];if(u!==void 0)for(var h=0;h<u.length;h++)u[h].fn==C&&u[h].shift==s[I].shift||l.push(i[d][s[I].code][h]);i[d][s[I].code]=l}else i[d][s[I].code]=[]},r.reset=function(){i={keydown:{},keyup:{}}},r.destroy=function(){i={keydown:{},keyup:{}},t.removeEventListener("keydown",a,!0),t.removeEventListener("keyup",g,!0)},t.addEventListener("keydown",a,!0),t.addEventListener("keyup",g,!0),r}class W0e{constructor(e,t){this.body=e,this.canvas=t,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",()=>{this.activated=!0,this.configureKeyboardBindings()}),this.body.emitter.on("deactivate",()=>{this.activated=!1,this.configureKeyboardBindings()}),this.body.emitter.on("destroy",()=>{this.keycharm!==void 0&&this.keycharm.destroy()}),this.options={}}setOptions(e){e!==void 0&&(this.options=e,this.create())}create(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}cleanNavigation(){if(this.navigationHammers.length!=0){for(let e=0;e<this.navigationHammers.length;e++)this.navigationHammers[e].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}loadNavigationElements(){this.cleanNavigation(),this.navigationDOM={};const e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],t=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(let o=0;o<e.length;o++){this.navigationDOM[e[o]]=document.createElement("div"),this.navigationDOM[e[o]].className="vis-button vis-"+e[o],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[o]]);const a=new Zs(this.navigationDOM[e[o]]);if(t[o]==="_fit"){var r;WA(a,j(r=this._fit).call(r,this))}else{var i;WA(a,j(i=this.bindToRedraw).call(i,this,t[o]))}this.navigationHammers.push(a)}const s=new Zs(this.canvas.frame);tee(s,()=>{this._stopMovement()}),this.navigationHammers.push(s),this.iconsCreated=!0}bindToRedraw(e){if(this.boundFunctions[e]===void 0){var t;this.boundFunctions[e]=j(t=this[e]).call(t,this),this.body.emitter.on("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_startRendering")}}unbindFromRedraw(e){this.boundFunctions[e]!==void 0&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[e])}_fit(){new Date().valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=new Date().valueOf())}_stopMovement(){for(const e in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,e)&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}_moveUp(){this.body.view.translation.y+=this.options.keyboard.speed.y}_moveDown(){this.body.view.translation.y-=this.options.keyboard.speed.y}_moveLeft(){this.body.view.translation.x+=this.options.keyboard.speed.x}_moveRight(){this.body.view.translation.x-=this.options.keyboard.speed.x}_zoomIn(){const e=this.body.view.scale,t=this.body.view.scale*(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,s=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,o=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:s,y:o},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}_zoomOut(){const e=this.body.view.scale,t=this.body.view.scale/(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,s=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,o=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:s,y:o},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}configureKeyboardBindings(){if(this.keycharm!==void 0&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=G8({container:window,preventDefault:!0}):this.keycharm=G8({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0)){var e,t,r,i,s,o,a,g,A,I,C,d,l,u,h,v,f,c,b,p,y,E,S,m;j(e=this.keycharm).call(e,"up",()=>{this.bindToRedraw("_moveUp")},"keydown"),j(t=this.keycharm).call(t,"down",()=>{this.bindToRedraw("_moveDown")},"keydown"),j(r=this.keycharm).call(r,"left",()=>{this.bindToRedraw("_moveLeft")},"keydown"),j(i=this.keycharm).call(i,"right",()=>{this.bindToRedraw("_moveRight")},"keydown"),j(s=this.keycharm).call(s,"=",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(o=this.keycharm).call(o,"num+",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(a=this.keycharm).call(a,"num-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(g=this.keycharm).call(g,"-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(A=this.keycharm).call(A,"[",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(I=this.keycharm).call(I,"]",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(C=this.keycharm).call(C,"pageup",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(d=this.keycharm).call(d,"pagedown",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(l=this.keycharm).call(l,"up",()=>{this.unbindFromRedraw("_moveUp")},"keyup"),j(u=this.keycharm).call(u,"down",()=>{this.unbindFromRedraw("_moveDown")},"keyup"),j(h=this.keycharm).call(h,"left",()=>{this.unbindFromRedraw("_moveLeft")},"keyup"),j(v=this.keycharm).call(v,"right",()=>{this.unbindFromRedraw("_moveRight")},"keyup"),j(f=this.keycharm).call(f,"=",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(c=this.keycharm).call(c,"num+",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(b=this.keycharm).call(b,"num-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),j(p=this.keycharm).call(p,"-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),j(y=this.keycharm).call(y,"[",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),j(E=this.keycharm).call(E,"]",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(S=this.keycharm).call(S,"pageup",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(m=this.keycharm).call(m,"pagedown",()=>{this.unbindFromRedraw("_zoomOut")},"keyup")}}}class V0e{constructor(e,t,r){var i,s,o,a,g,A,I,C,d,l,u,h,v;this.body=e,this.canvas=t,this.selectionHandler=r,this.navigationHandler=new W0e(e,t),this.body.eventListeners.onTap=j(i=this.onTap).call(i,this),this.body.eventListeners.onTouch=j(s=this.onTouch).call(s,this),this.body.eventListeners.onDoubleTap=j(o=this.onDoubleTap).call(o,this),this.body.eventListeners.onHold=j(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=j(g=this.onDragStart).call(g,this),this.body.eventListeners.onDrag=j(A=this.onDrag).call(A,this),this.body.eventListeners.onDragEnd=j(I=this.onDragEnd).call(I,this),this.body.eventListeners.onMouseWheel=j(C=this.onMouseWheel).call(C,this),this.body.eventListeners.onPinch=j(d=this.onPinch).call(d,this),this.body.eventListeners.onMouseMove=j(l=this.onMouseMove).call(l,this),this.body.eventListeners.onRelease=j(u=this.onRelease).call(u,this),this.body.eventListeners.onContext=j(h=this.onContext).call(h,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=j(v=this.getPointer).call(v,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},Tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("destroy",()=>{clearTimeout(this.popupTimer),delete this.body.functions.getPointer})}setOptions(e){e!==void 0&&(jA(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,e),or(this.options,e,"keyboard"),e.tooltip&&(Tt(this.options.tooltip,e.tooltip),e.tooltip.color&&(this.options.tooltip.color=H_(e.tooltip.color)))),this.navigationHandler.setOptions(this.options)}getPointer(e){return{x:e.x-cpe(this.canvas.frame.canvas),y:e.y-fpe(this.canvas.frame.canvas)}}onTouch(e){new Date().valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(e.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=new Date().valueOf())}onTap(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect&&(e.changedPointers[0].ctrlKey||e.changedPointers[0].metaKey);this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t)}onDoubleTap(e){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("doubleClick",e,t)}onHold(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect;this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t),this.selectionHandler.generateClickEvent("hold",e,t)}onRelease(e){if(new Date().valueOf()-this.touchTime>10){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("release",e,t),this.touchTime=new Date().valueOf()}}onContext(e){const t=this.getPointer({x:e.clientX,y:e.clientY});this.selectionHandler.generateClickEvent("oncontext",e,t)}checkSelectionChanges(e){(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)===!0?this.selectionHandler.selectAdditionalOnPoint(e):this.selectionHandler.selectOnPoint(e)}_determineDifference(e,t){const r=function(i,s){const o=[];for(let a=0;a<i.length;a++){const g=i[a];Le(s).call(s,g)===-1&&o.push(g)}return o};return{nodes:r(e.nodes,t.nodes),edges:r(e.edges,t.edges)}}onDragStart(e){if(this.drag.dragging)return;this.drag.pointer===void 0&&this.onTouch(e);const t=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=Tt({},this.body.view.translation),this.drag.nodeId=void 0,e.srcEvent.shiftKey){this.body.selectionBox.show=!0;const r=this.getPointer(e.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)}}else if(t!==void 0&&this.options.dragNodes===!0){this.drag.nodeId=t.id,t.isSelected()===!1&&this.selectionHandler.setSelection({nodes:[t.id]}),this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer);for(const r of this.selectionHandler.getSelectedNodes()){const i={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(i)}}else this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer,void 0,!0)}onDrag(e){if(this.drag.pinched===!0)return;this.body.emitter.emit("unlockNode");const t=this.getPointer(e.center),r=this.drag.selection;if(r&&r.length&&this.options.dragNodes===!0){this.selectionHandler.generateClickEvent("dragging",e,t);const i=t.x-this.drag.pointer.x,s=t.y-this.drag.pointer.y;Me(r).call(r,o=>{const a=o.node;o.xFixed===!1&&(a.x=this.canvas._XconvertDOMtoCanvas(this.canvas._XconvertCanvasToDOM(o.x)+i)),o.yFixed===!1&&(a.y=this.canvas._YconvertDOMtoCanvas(this.canvas._YconvertCanvasToDOM(o.y)+s))}),this.body.emitter.emit("startSimulation")}else{if(e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)},this.body.emitter.emit("_requestRedraw")}if(this.options.dragView===!0&&!e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}const i=t.x-this.drag.pointer.x,s=t.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+i,y:this.drag.translation.y+s},this.body.emitter.emit("_requestRedraw")}}}onDragEnd(e){if(this.drag.dragging=!1,this.body.selectionBox.show){var t;this.body.selectionBox.show=!1;const r=this.body.selectionBox.position,i={minX:Math.min(r.start.x,r.end.x),minY:Math.min(r.start.y,r.end.y),maxX:Math.max(r.start.x,r.end.x),maxY:Math.max(r.start.y,r.end.y)},s=wi(t=this.body.nodeIndices).call(t,a=>{const g=this.body.nodes[a];return g.x>=i.minX&&g.x<=i.maxX&&g.y>=i.minY&&g.y<=i.maxY});Me(s).call(s,a=>this.selectionHandler.selectObject(this.body.nodes[a]));const o=this.getPointer(e.center);this.selectionHandler.commitAndEmit(o,e),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{const r=this.drag.selection;r&&r.length?(Me(r).call(r,function(i){i.node.options.fixed.x=i.xFixed,i.node.options.fixed.y=i.yFixed}),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}onPinch(e){const t=this.getPointer(e.center);this.drag.pinched=!0,this.pinch.scale===void 0&&(this.pinch.scale=1);const r=this.pinch.scale*e.scale;this.zoom(r,t)}zoom(e,t){if(this.options.zoomView===!0){const r=this.body.view.scale;e<1e-5&&(e=1e-5),e>10&&(e=10);let i;this.drag!==void 0&&this.drag.dragging===!0&&(i=this.canvas.DOMtoCanvas(this.drag.pointer));const s=this.body.view.translation,o=e/r,a=(1-o)*t.x+s.x*o,g=(1-o)*t.y+s.y*o;if(this.body.view.scale=e,this.body.view.translation={x:a,y:g},i!=null){const A=this.canvas.canvasToDOM(i);this.drag.pointer.x=A.x,this.drag.pointer.y=A.y}this.body.emitter.emit("_requestRedraw"),r<e?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:t}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:t})}}onMouseWheel(e){if(this.options.zoomView===!0){if(e.deltaY!==0){let t=this.body.view.scale;t*=1+(e.deltaY<0?1:-1)*(this.options.zoomSpeed*.1);const r=this.getPointer({x:e.clientX,y:e.clientY});this.zoom(t,r)}e.preventDefault()}}onMouseMove(e){const t=this.getPointer({x:e.clientX,y:e.clientY});let r=!1;this.popup!==void 0&&(this.popup.hidden===!1&&this._checkHidePopup(t),this.popup.hidden===!1&&(r=!0,this.popup.setPosition(t.x+3,t.y-5),this.popup.show())),this.options.keyboard.autoFocus&&this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),r===!1&&(this.popupTimer!==void 0&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=Hs(()=>this._checkShowPopup(t),this.options.tooltipDelay))),this.options.hover===!0&&this.selectionHandler.hoverObject(e,t)}_checkShowPopup(e){const t=this.canvas._XconvertDOMtoCanvas(e.x),r=this.canvas._YconvertDOMtoCanvas(e.y),i={left:t,top:r,right:t,bottom:r},s=this.popupObj===void 0?void 0:this.popupObj.id;let o=!1,a="node";if(this.popupObj===void 0){const g=this.body.nodeIndices,A=this.body.nodes;let I;const C=[];for(let d=0;d<g.length;d++)I=A[g[d]],I.isOverlappingWith(i)===!0&&(o=!0,I.getTitle()!==void 0&&C.push(g[d]));C.length>0&&(this.popupObj=A[C[C.length-1]],o=!0)}if(this.popupObj===void 0&&o===!1){const g=this.body.edgeIndices,A=this.body.edges;let I;const C=[];for(let d=0;d<g.length;d++)I=A[g[d]],I.isOverlappingWith(i)===!0&&I.connected===!0&&I.getTitle()!==void 0&&C.push(g[d]);C.length>0&&(this.popupObj=A[C[C.length-1]],a="edge")}this.popupObj!==void 0?this.popupObj.id!==s&&(this.popup===void 0&&(this.popup=new Tpe(this.canvas.frame)),this.popup.popupTargetType=a,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(e.x+3,e.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):this.popup!==void 0&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}_checkHidePopup(e){const t=this.selectionHandler._pointerToPositionObject(e);let r=!1;if(this.popup.popupTargetType==="node"){if(this.body.nodes[this.popup.popupTargetId]!==void 0&&(r=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(t),r===!0)){const i=this.selectionHandler.getNodeAt(e);r=i===void 0?!1:i.id===this.popup.popupTargetId}}else this.selectionHandler.getNodeAt(e)===void 0&&this.body.edges[this.popup.popupTargetId]!==void 0&&(r=this.body.edges[this.popup.popupTargetId].isOverlappingWith(t));r===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}var W8={},V8={},Z8;function Z0e(){if(Z8)return V8;Z8=1;var n=jT(),e=xJ();return n("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),V8}var H8;function H0e(){return H8||(H8=1,Z0e()),W8}var U8={},ES,K8;function hs(){if(K8)return ES;K8=1;var n=Wo(),e=TypeError;return ES=function(t){if(typeof t=="object"&&"size"in t&&"has"in t&&"add"in t&&"delete"in t&&"keys"in t)return t;throw new e(n(t)+" is not a set")},ES}var SS,Y8;function cs(){if(Y8)return SS;Y8=1;var n=nr(),e=$J(),t=n("Set"),r=t.prototype;return SS={Set:t,add:e("add",1),has:e("has",1),remove:e("delete",1),proto:r},SS}var _S,X8;function fs(){if(X8)return _S;X8=1;var n=Jt();return _S=function(e,t,r){for(var i=r?e:e.iterator,s=e.next,o,a;!(o=n(s,i)).done;)if(a=t(o.value),a!==void 0)return a},_S}var OS,Q8;function Yg(){if(Q8)return OS;Q8=1;var n=fs();return OS=function(e,t,r){return r?n(e.keys(),t,!0):e.forEach(t)},OS}var TS,J8;function YT(){if(J8)return TS;J8=1;var n=cs(),e=Yg(),t=n.Set,r=n.add;return TS=function(i){var s=new t;return e(i,function(o){r(s,o)}),s},TS}var RS,e9;function Xg(){return e9||(e9=1,RS=function(n){return n.size}),RS}var PS,t9;function U0e(){return t9||(t9=1,PS=function(n){return{iterator:n,next:n.next,done:!1}}),PS}var xS,r9;function ps(){if(r9)return xS;r9=1;var n=yi(),e=ei(),t=Jt(),r=Uo(),i=U0e(),s="Invalid size",o=RangeError,a=TypeError,g=Math.max,A=function(I,C){this.set=I,this.size=g(C,0),this.has=n(I.has),this.keys=n(I.keys)};return A.prototype={getIterator:function(){return i(e(t(this.keys,this.set)))},includes:function(I){return t(this.has,this.set,I)}},xS=function(I){e(I);var C=+I.size;if(C!==C)throw new a(s);var d=r(C);if(d<0)throw new o(s);return new A(I,d)},xS}var $S,i9;function K0e(){if(i9)return $S;i9=1;var n=hs(),e=cs(),t=YT(),r=Xg(),i=ps(),s=Yg(),o=fs(),a=e.has,g=e.remove;return $S=function(I){var C=n(this),d=i(I),l=t(C);return r(C)<=d.size?s(C,function(u){d.includes(u)&&g(l,u)}):o(d.getIterator(),function(u){a(l,u)&&g(l,u)}),l},$S}var DS,n9;function vs(){return n9||(n9=1,DS=function(){return!1}),DS}var s9;function Y0e(){if(s9)return U8;s9=1;var n=te(),e=K0e(),t=me(),r=vs(),i=!r("difference",function(o){return o.size===0}),s=i||t(function(){var o={size:1,has:function(){return!0},keys:function(){var g=0;return{next:function(){var A=g++>1;return a.has(1)&&a.clear(),{done:A,value:2}}}}},a=new Set([1,2,3,4]);return a.difference(o).size!==3});return n({target:"Set",proto:!0,real:!0,forced:s},{difference:e}),U8}var o9={},NS,a9;function X0e(){if(a9)return NS;a9=1;var n=hs(),e=cs(),t=Xg(),r=ps(),i=Yg(),s=fs(),o=e.Set,a=e.add,g=e.has;return NS=function(I){var C=n(this),d=r(I),l=new o;return t(C)>d.size?s(d.getIterator(),function(u){g(C,u)&&a(l,u)}):i(C,function(u){d.includes(u)&&a(l,u)}),l},NS}var g9;function Q0e(){if(g9)return o9;g9=1;var n=te(),e=me(),t=X0e(),r=vs(),i=!r("intersection",function(s){return s.size===2&&s.has(1)&&s.has(2)})||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});return n({target:"Set",proto:!0,real:!0,forced:i},{intersection:t}),o9}var A9={},MS,I9;function J0e(){if(I9)return MS;I9=1;var n=hs(),e=cs().has,t=Xg(),r=ps(),i=Yg(),s=fs(),o=BT();return MS=function(g){var A=n(this),I=r(g);if(t(A)<=I.size)return i(A,function(d){if(I.includes(d))return!1},!0)!==!1;var C=I.getIterator();return s(C,function(d){if(e(A,d))return o(C,"normal",!1)})!==!1},MS}var C9;function ewe(){if(C9)return A9;C9=1;var n=te(),e=J0e(),t=vs(),r=!t("isDisjointFrom",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isDisjointFrom:e}),A9}var d9={},qS,l9;function twe(){if(l9)return qS;l9=1;var n=hs(),e=Xg(),t=Yg(),r=ps();return qS=function(s){var o=n(this),a=r(s);return e(o)>a.size?!1:t(o,function(g){if(!a.includes(g))return!1},!0)!==!1},qS}var u9;function rwe(){if(u9)return d9;u9=1;var n=te(),e=twe(),t=vs(),r=!t("isSubsetOf",function(i){return i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSubsetOf:e}),d9}var h9={},FS,c9;function iwe(){if(c9)return FS;c9=1;var n=hs(),e=cs().has,t=Xg(),r=ps(),i=fs(),s=BT();return FS=function(a){var g=n(this),A=r(a);if(t(g)<A.size)return!1;var I=A.getIterator();return i(I,function(C){if(!e(g,C))return s(I,"normal",!1)})!==!1},FS}var f9;function nwe(){if(f9)return h9;f9=1;var n=te(),e=iwe(),t=vs(),r=!t("isSupersetOf",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSupersetOf:e}),h9}var p9={},kS,v9;function swe(){if(v9)return kS;v9=1;var n=hs(),e=cs(),t=YT(),r=ps(),i=fs(),s=e.add,o=e.has,a=e.remove;return kS=function(A){var I=n(this),C=r(A).getIterator(),d=t(I);return i(C,function(l){o(I,l)?a(d,l):s(d,l)}),d},kS}var BS,m9;function ree(){return m9||(m9=1,BS=function(n){try{var e=new Set,t={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},r=e[n](t);return r.size===1&&r.values().next().value===4}catch{return!1}}),BS}var y9;function owe(){if(y9)return p9;y9=1;var n=te(),e=swe(),t=ree(),r=vs(),i=!r("symmetricDifference")||!t("symmetricDifference");return n({target:"Set",proto:!0,real:!0,forced:i},{symmetricDifference:e}),p9}var b9={},zS,w9;function awe(){if(w9)return zS;w9=1;var n=hs(),e=cs().add,t=YT(),r=ps(),i=fs();return zS=function(o){var a=n(this),g=r(o).getIterator(),A=t(a);return i(g,function(I){e(A,I)}),A},zS}var E9;function gwe(){if(E9)return b9;E9=1;var n=te(),e=awe(),t=ree(),r=vs(),i=!r("union")||!t("union");return n({target:"Set",proto:!0,real:!0,forced:i},{union:e}),b9}var jS,S9;function Awe(){if(S9)return jS;S9=1,ta(),H0e(),Y0e(),Q0e(),ewe(),rwe(),nwe(),owe(),gwe(),WT();var n=_e();return jS=n.Set,jS}var LS,_9;function Iwe(){if(_9)return LS;_9=1;var n=Awe();return ra(),LS=n,LS}var GS,O9;function Cwe(){return O9||(O9=1,GS=Iwe()),GS}var dwe=Cwe(),ki=ge(dwe),T9={},R9={},WS,P9;function lwe(){if(P9)return WS;P9=1;var n=ye(),e=GT(),t=jI().getWeakData,r=zT(),i=ei(),s=jo(),o=mt(),a=LI(),g=Cn(),A=xt(),I=ds(),C=I.set,d=I.getterFor,l=g.find,u=g.findIndex,h=n([].splice),v=0,f=function(p){return p.frozen||(p.frozen=new c)},c=function(){this.entries=[]},b=function(p,y){return l(p.entries,function(E){return E[0]===y})};return c.prototype={get:function(p){var y=b(this,p);if(y)return y[1]},has:function(p){return!!b(this,p)},set:function(p,y){var E=b(this,p);E?E[1]=y:this.entries.push([p,y])},delete:function(p){var y=u(this.entries,function(E){return E[0]===p});return~y&&h(this.entries,y,1),!!~y}},WS={getConstructor:function(p,y,E,S){var m=p(function(R,O){r(R,w),C(R,{type:y,id:v++,frozen:null}),s(O)||a(O,R[S],{that:R,AS_ENTRIES:E})}),w=m.prototype,_=d(y),T=function(R,O,P){var x=_(R),V=t(i(O),!0);return V===!0?f(x).set(O,P):V[x.id]=P,R};return e(w,{delete:function(R){var O=_(this);if(!o(R))return!1;var P=t(R);return P===!0?f(O).delete(R):P&&A(P,O.id)&&delete P[O.id]},has:function(O){var P=_(this);if(!o(O))return!1;var x=t(O);return x===!0?f(P).has(O):x&&A(x,P.id)}}),e(w,E?{get:function(O){var P=_(this);if(o(O)){var x=t(O);if(x===!0)return f(P).get(O);if(x)return x[P.id]}},set:function(O,P){return T(this,O,P)}}:{add:function(O){return T(this,O,!0)}}),m}},WS}var x9;function uwe(){if(x9)return R9;x9=1;var n=RJ(),e=ke(),t=ye(),r=GT(),i=jI(),s=jT(),o=lwe(),a=mt(),g=ds().enforce,A=me(),I=OJ(),C=Object,d=Array.isArray,l=C.isExtensible,u=C.isFrozen,h=C.isSealed,v=C.freeze,f=C.seal,c=!e.ActiveXObject&&"ActiveXObject"in e,b,p=function(R){return function(){return R(this,arguments.length?arguments[0]:void 0)}},y=s("WeakMap",p,o),E=y.prototype,S=t(E.set),m=function(){return n&&A(function(){var R=v([]);return S(new y,R,1),!u(R)})};if(I)if(c){b=o.getConstructor(p,"WeakMap",!0),i.enable();var w=t(E.delete),_=t(E.has),T=t(E.get);r(E,{delete:function(R){if(a(R)&&!l(R)){var O=g(this);return O.frozen||(O.frozen=new b),w(this,R)||O.frozen.delete(R)}return w(this,R)},has:function(O){if(a(O)&&!l(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)||P.frozen.has(O)}return _(this,O)},get:function(O){if(a(O)&&!l(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)?T(this,O):P.frozen.get(O)}return T(this,O)},set:function(O,P){if(a(O)&&!l(O)){var x=g(this);x.frozen||(x.frozen=new b),_(this,O)?S(this,O,P):x.frozen.set(O,P)}else S(this,O,P);return this}})}else m()&&r(E,{set:function(O,P){var x;return d(O)&&(u(O)?x=v:h(O)&&(x=f)),S(this,O,P),x&&x(O),this}});return R9}var $9;function hwe(){return $9||($9=1,uwe()),T9}var VS,D9;function cwe(){if(D9)return VS;D9=1,ta(),hwe();var n=_e();return VS=n.WeakMap,VS}var ZS,N9;function fwe(){if(N9)return ZS;N9=1;var n=cwe();return ra(),ZS=n,ZS}var HS,M9;function pwe(){return M9||(M9=1,HS=fwe()),HS}var vwe=pwe(),Qg=ge(vwe);function Ma(n,e,t){mwe(n,e),e.set(n,t)}function mwe(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function eO(n,e,t){return n.set(iee(n,e),t),t}function Re(n,e){return n.get(iee(n,e))}function iee(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function q9(n,e){const t=new ki;for(const r of e)n.has(r)||t.add(r);return t}var Es=new Qg,Rr=new Qg;class F9{constructor(){Ma(this,Es,new ki),Ma(this,Rr,new ki)}get size(){return Re(Rr,this).size}add(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)Re(Rr,this).add(i)}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)Re(Rr,this).delete(i)}clear(){Re(Rr,this).clear()}getSelection(){return[...Re(Rr,this)]}getChanges(){return{added:[...q9(Re(Es,this),Re(Rr,this))],deleted:[...q9(Re(Rr,this),Re(Es,this))],previous:[...new ki(Re(Es,this))],current:[...new ki(Re(Rr,this))]}}commit(){const e=this.getChanges();eO(Es,this,Re(Rr,this)),eO(Rr,this,new ki(Re(Es,this)));for(const t of e.added)t.select();for(const t of e.deleted)t.unselect();return e}}var cn=new Qg,fn=new Qg,US=new Qg;class ywe{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:()=>{};Ma(this,cn,new F9),Ma(this,fn,new F9),Ma(this,US,void 0),eO(US,this,e)}get sizeNodes(){return Re(cn,this).size}get sizeEdges(){return Re(fn,this).size}getNodes(){return Re(cn,this).getSelection()}getEdges(){return Re(fn,this).getSelection()}addNodes(){Re(cn,this).add(...arguments)}addEdges(){Re(fn,this).add(...arguments)}deleteNodes(e){Re(cn,this).delete(e)}deleteEdges(e){Re(fn,this).delete(e)}clear(){Re(cn,this).clear(),Re(fn,this).clear()}commit(){const e={nodes:Re(cn,this).commit(),edges:Re(fn,this).commit()};for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Re(US,this).call(this,e,...r),e}}class bwe{constructor(e,t){this.body=e,this.canvas=t,this._selectionAccumulator=new ywe,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},Tt(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",()=>{this.updateSelection()})}setOptions(e){e!==void 0&&Xo(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,e)}selectOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);this.unselectAll(),r!==void 0&&(t=this.selectObject(r)),this.body.emitter.emit("_requestRedraw")}return t}selectAdditionalOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);r!==void 0&&(t=!0,r.isSelected()===!0?this.deselectObject(r):this.selectObject(r),this.body.emitter.emit("_requestRedraw"))}return t}_initBaseEvent(e,t){const r={};return r.pointer={DOM:{x:t.x,y:t.y},canvas:this.canvas.DOMtoCanvas(t)},r.event=e,r}generateClickEvent(e,t,r,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;const o=this._initBaseEvent(t,r);if(s===!0)o.nodes=[],o.edges=[];else{const a=this.getSelection();o.nodes=a.nodes,o.edges=a.edges}i!==void 0&&(o.previousSelection=i),e=="click"&&(o.items=this.getClickedItems(r)),t.controlEdge!==void 0&&(o.controlEdge=t.controlEdge),this.body.emitter.emit(e,o)}selectObject(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.selectConnectedEdges;return e!==void 0?(e instanceof qe?(t===!0&&this._selectionAccumulator.addEdges(...e.edges),this._selectionAccumulator.addNodes(e)):this._selectionAccumulator.addEdges(e),!0):!1}deselectObject(e){e.isSelected()===!0&&(e.selected=!1,this._removeFromSelection(e))}_getAllNodesOverlappingWith(e){const t=[],r=this.body.nodes;for(let i=0;i<this.body.nodeIndices.length;i++){const s=this.body.nodeIndices[i];r[s].isOverlappingWith(e)&&t.push(s)}return t}_pointerToPositionObject(e){const t=this.canvas.DOMtoCanvas(e);return{left:t.x-1,top:t.y+1,right:t.x+1,bottom:t.y-1}}getNodeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this._pointerToPositionObject(e),i=this._getAllNodesOverlappingWith(r);if(i.length>0)return t===!0?this.body.nodes[i[i.length-1]]:i[i.length-1]}_getEdgesOverlappingWith(e,t){const r=this.body.edges;for(let i=0;i<this.body.edgeIndices.length;i++){const s=this.body.edgeIndices[i];r[s].isOverlappingWith(e)&&t.push(s)}}_getAllEdgesOverlappingWith(e){const t=[];return this._getEdgesOverlappingWith(e,t),t}getEdgeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this.canvas.DOMtoCanvas(e);let i=10,s=null;const o=this.body.edges;for(let a=0;a<this.body.edgeIndices.length;a++){const g=this.body.edgeIndices[a],A=o[g];if(A.connected){const I=A.from.x,C=A.from.y,d=A.to.x,l=A.to.y,u=A.edgeType.getDistanceToEdge(I,C,d,l,r.x,r.y);u<i&&(s=g,i=u)}}if(s!==null)return t===!0?this.body.edges[s]:s}_addToHover(e){e instanceof qe?this.hoverObj.nodes[e.id]=e:this.hoverObj.edges[e.id]=e}_removeFromSelection(e){e instanceof qe?(this._selectionAccumulator.deleteNodes(e),this._selectionAccumulator.deleteEdges(...e.edges)):this._selectionAccumulator.deleteEdges(e)}unselectAll(){this._selectionAccumulator.clear()}getSelectedNodeCount(){return this._selectionAccumulator.sizeNodes}getSelectedEdgeCount(){return this._selectionAccumulator.sizeEdges}_hoverConnectedEdges(e){for(let t=0;t<e.edges.length;t++){const r=e.edges[t];r.hover=!0,this._addToHover(r)}}emitBlurEvent(e,t,r){const i=this._initBaseEvent(e,t);r.hover===!0&&(r.hover=!1,r instanceof qe?(i.node=r.id,this.body.emitter.emit("blurNode",i)):(i.edge=r.id,this.body.emitter.emit("blurEdge",i)))}emitHoverEvent(e,t,r){const i=this._initBaseEvent(e,t);let s=!1;return r.hover===!1&&(r.hover=!0,this._addToHover(r),s=!0,r instanceof qe?(i.node=r.id,this.body.emitter.emit("hoverNode",i)):(i.edge=r.id,this.body.emitter.emit("hoverEdge",i))),s}hoverObject(e,t){let r=this.getNodeAt(t);r===void 0&&(r=this.getEdgeAt(t));let i=!1;for(const s in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,s)&&(r===void 0||r instanceof qe&&r.id!=s||r instanceof Ki)&&(this.emitBlurEvent(e,t,this.hoverObj.nodes[s]),delete this.hoverObj.nodes[s],i=!0);for(const s in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,s)&&(i===!0?(this.hoverObj.edges[s].hover=!1,delete this.hoverObj.edges[s]):(r===void 0||r instanceof Ki&&r.id!=s||r instanceof qe&&!r.hover)&&(this.emitBlurEvent(e,t,this.hoverObj.edges[s]),delete this.hoverObj.edges[s],i=!0));if(r!==void 0){const s=et(this.hoverObj.edges).length,o=et(this.hoverObj.nodes).length,a=r instanceof Ki&&s===0&&o===0,g=r instanceof qe&&s===0&&o===0;(i||a||g)&&(i=this.emitHoverEvent(e,t,r)),r instanceof qe&&this.options.hoverConnectedEdges===!0&&this._hoverConnectedEdges(r)}i===!0&&this.body.emitter.emit("_requestRedraw")}commitWithoutEmitting(){this._selectionAccumulator.commit()}commitAndEmit(e,t){let r=!1;const i=this._selectionAccumulator.commit(),s={nodes:i.nodes.previous,edges:i.edges.previous};i.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",t,e,s),r=!0),i.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",t,e,s),r=!0),i.nodes.added.length>0&&(this.generateClickEvent("selectNode",t,e),r=!0),i.edges.added.length>0&&(this.generateClickEvent("selectEdge",t,e),r=!0),r===!0&&this.generateClickEvent("select",t,e)}getSelection(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}getSelectedNodes(){return this._selectionAccumulator.getNodes()}getSelectedEdges(){return this._selectionAccumulator.getEdges()}getSelectedNodeIds(){var e;return eg(e=this._selectionAccumulator.getNodes()).call(e,t=>t.id)}getSelectedEdgeIds(){var e;return eg(e=this._selectionAccumulator.getEdges()).call(e,t=>t.id)}setSelection(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||!e.nodes&&!e.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((t.unselectAll||t.unselectAll===void 0)&&this.unselectAll(),e.nodes)for(const r of e.nodes){const i=this.body.nodes[r];if(!i)throw new RangeError('Node with id "'+r+'" not found');this.selectObject(i,t.highlightEdges)}if(e.edges)for(const r of e.edges){const i=this.body.edges[r];if(!i)throw new RangeError('Edge with id "'+r+'" not found');this.selectObject(i)}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}selectNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({nodes:e},{highlightEdges:t})}selectEdges(e){if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({edges:e})}updateSelection(){for(const e in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,e.id)||this._selectionAccumulator.deleteNodes(e);for(const e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}getClickedItems(e){const t=this.canvas.DOMtoCanvas(e),r=[],i=this.body.nodeIndices,s=this.body.nodes;for(let g=i.length-1;g>=0;g--){const I=s[i[g]].getItemsOnPoint(t);r.push.apply(r,I)}const o=this.body.edgeIndices,a=this.body.edges;for(let g=o.length-1;g>=0;g--){const I=a[o[g]].getItemsOnPoint(t);r.push.apply(r,I)}return r}}var k9={},KS,B9;function wwe(){if(B9)return KS;B9=1;var n=Ko(),e=Math.floor,t=function(r,i){var s=r.length;if(s<8)for(var o=1,a,g;o<s;){for(g=o,a=r[o];g&&i(r[g-1],a)>0;)r[g]=r[--g];g!==o++&&(r[g]=a)}else for(var A=e(s/2),I=t(n(r,0,A),i),C=t(n(r,A),i),d=I.length,l=C.length,u=0,h=0;u<d||h<l;)r[u+h]=u<d&&h<l?i(I[u],C[h])<=0?I[u++]:C[h++]:u<d?I[u++]:C[h++];return r};return KS=t,KS}var YS,z9;function Ewe(){if(z9)return YS;z9=1;var n=Lo(),e=n.match(/firefox\/(\d+)/i);return YS=!!e&&+e[1],YS}var XS,j9;function Swe(){if(j9)return XS;j9=1;var n=Lo();return XS=/MSIE|Trident/.test(n),XS}var QS,L9;function _we(){if(L9)return QS;L9=1;var n=Lo(),e=n.match(/AppleWebKit\/(\d+)\./);return QS=!!e&&+e[1],QS}var G9;function Owe(){if(G9)return k9;G9=1;var n=te(),e=ye(),t=yi(),r=pr(),i=bi(),s=pJ(),o=yr(),a=me(),g=wwe(),A=Qo(),I=Ewe(),C=Swe(),d=kg(),l=_we(),u=[],h=e(u.sort),v=e(u.push),f=a(function(){u.sort(void 0)}),c=a(function(){u.sort(null)}),b=A("sort"),p=!a(function(){if(d)return d<70;if(!(I&&I>3)){if(C)return!0;if(l)return l<603;var S="",m,w,_,T;for(m=65;m<76;m++){switch(w=String.fromCharCode(m),m){case 66:case 69:case 70:case 72:_=3;break;case 68:case 71:_=4;break;default:_=2}for(T=0;T<47;T++)u.push({k:w+T,v:_})}for(u.sort(function(R,O){return O.v-R.v}),T=0;T<u.length;T++)w=u[T].k.charAt(0),S.charAt(S.length-1)!==w&&(S+=w);return S!=="DGBEFHACIJK"}}),y=f||!c||!b||!p,E=function(S){return function(m,w){return w===void 0?-1:m===void 0?1:S!==void 0?+S(m,w)||0:o(m)>o(w)?1:-1}};return n({target:"Array",proto:!0,forced:y},{sort:function(m){m!==void 0&&t(m);var w=r(this);if(p)return m===void 0?h(w):h(w,m);var _=[],T=i(w),R,O;for(O=0;O<T;O++)O in w&&v(_,w[O]);for(g(_,E(m)),R=i(_),O=0;O<R;)w[O]=_[O++];for(;O<T;)s(w,O++);return w}}),k9}var JS,W9;function Twe(){if(W9)return JS;W9=1,Owe();var n=$t();return JS=n("Array","sort"),JS}var e_,V9;function Rwe(){if(V9)return e_;V9=1;var n=gt(),e=Twe(),t=Array.prototype;return e_=function(r){var i=r.sort;return r===t||n(t,r)&&i===t.sort?e:i},e_}var t_,Z9;function Pwe(){if(Z9)return t_;Z9=1;var n=Rwe();return t_=n,t_}var r_,H9;function xwe(){return H9||(H9=1,r_=Pwe()),r_}var $we=xwe(),Ys=ge($we),U9={},i_,K9;function Dwe(){if(K9)return i_;K9=1;var n=Qe(),e=me(),t=ye(),r=MT(),i=jg(),s=Br(),o=TI().f,a=t(o),g=t([].push),A=n&&e(function(){var C=Object.create(null);return C[2]=2,!a(C,2)}),I=function(C){return function(d){for(var l=s(d),u=i(l),h=A&&r(l)===null,v=u.length,f=0,c=[],b;v>f;)b=u[f++],(!n||(h?b in l:a(l,b)))&&g(c,C?[b,l[b]]:l[b]);return c}};return i_={entries:I(!0),values:I(!1)},i_}var Y9;function Nwe(){if(Y9)return U9;Y9=1;var n=te(),e=Dwe().values;return n({target:"Object",stat:!0},{values:function(r){return e(r)}}),U9}var n_,X9;function Mwe(){if(X9)return n_;X9=1,Nwe();var n=_e();return n_=n.Object.values,n_}var s_,Q9;function qwe(){if(Q9)return s_;Q9=1;var n=Mwe();return s_=n,s_}var o_,J9;function Fwe(){return J9||(J9=1,o_=qwe()),o_}var kwe=Fwe(),Bwe=ge(kwe),e6={},a_,t6;function zwe(){if(t6)return a_;t6=1;var n=yi(),e=pr(),t=RI(),r=bi(),i=TypeError,s="Reduce of empty array with no initial value",o=function(a){return function(g,A,I,C){var d=e(g),l=t(d),u=r(d);if(n(A),u===0&&I<2)throw new i(s);var h=a?u-1:0,v=a?-1:1;if(I<2)for(;;){if(h in l){C=l[h],h+=v;break}if(h+=v,a?h<0:u<=h)throw new i(s)}for(;a?h>=0:u>h;h+=v)h in l&&(C=A(C,l[h],h,d));return C}};return a_={left:o(!1),right:o(!0)},a_}var g_,r6;function jwe(){if(r6)return g_;r6=1;var n=DJ();return g_=n==="NODE",g_}var i6;function Lwe(){if(i6)return e6;i6=1;var n=te(),e=zwe().left,t=Qo(),r=kg(),i=jwe(),s=!i&&r>79&&r<83,o=s||!t("reduce");return n({target:"Array",proto:!0,forced:o},{reduce:function(g){var A=arguments.length;return e(this,g,A,A>1?arguments[1]:void 0)}}),e6}var A_,n6;function Gwe(){if(n6)return A_;n6=1,Lwe();var n=$t();return A_=n("Array","reduce"),A_}var I_,s6;function Wwe(){if(s6)return I_;s6=1;var n=gt(),e=Gwe(),t=Array.prototype;return I_=function(r){var i=r.reduce;return r===t||n(t,r)&&i===t.reduce?e:i},I_}var C_,o6;function Vwe(){if(o6)return C_;o6=1;var n=Wwe();return C_=n,C_}var d_,a6;function Zwe(){return a6||(a6=1,d_=Vwe()),d_}var Hwe=Zwe(),nee=ge(Hwe);class see{abstract(){throw new Error("Can't instantiate abstract class!")}fake_use(){}curveType(){return this.abstract()}getPosition(e){return this.fake_use(e),this.abstract()}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;this.fake_use(e,t,r),this.abstract()}getTreeSize(e){return this.fake_use(e),this.abstract()}sort(e){this.fake_use(e),this.abstract()}fix(e,t){this.fake_use(e,t),this.abstract()}shift(e,t){this.fake_use(e,t),this.abstract()}}class Uwe extends see{constructor(e){super(),this.layout=e}curveType(){return"horizontal"}getPosition(e){return e.x}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.x=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_x,max:t.max_x}}sort(e){Ys(e).call(e,function(t,r){return t.x-r.x})}fix(e,t){e.y=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.y=!0}shift(e,t){this.layout.body.nodes[e].x+=t}}class Kwe extends see{constructor(e){super(),this.layout=e}curveType(){return"vertical"}getPosition(e){return e.y}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.y=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_y,max:t.max_y}}sort(e){Ys(e).call(e,function(t,r){return t.y-r.y})}fix(e,t){e.x=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.x=!0}shift(e,t){this.layout.body.nodes[e].y+=t}}var g6={},A6;function Ywe(){if(A6)return g6;A6=1;var n=te(),e=Cn().every,t=Qo(),r=t("every");return n({target:"Array",proto:!0,forced:!r},{every:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),g6}var l_,I6;function Xwe(){if(I6)return l_;I6=1,Ywe();var n=$t();return l_=n("Array","every"),l_}var u_,C6;function Qwe(){if(C6)return u_;C6=1;var n=gt(),e=Xwe(),t=Array.prototype;return u_=function(r){var i=r.every;return r===t||n(t,r)&&i===t.every?e:i},u_}var h_,d6;function Jwe(){if(d6)return h_;d6=1;var n=Qwe();return h_=n,h_}var c_,l6;function eEe(){return l6||(l6=1,c_=Jwe()),c_}var tEe=eEe(),oee=ge(tEe);function rEe(n,e){const t=new ki;return Me(n).call(n,r=>{var i;Me(i=r.edges).call(i,s=>{s.connected&&t.add(s)})}),Me(t).call(t,r=>{const i=r.from.id,s=r.to.id;e[i]==null&&(e[i]=0),(e[s]==null||e[i]>=e[s])&&(e[s]=e[i]+1)}),e}function iEe(n){return aee(e=>{var t,r;return oee(t=wi(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.to===e)},(e,t)=>t>e,"from",n)}function nEe(n){return aee(e=>{var t,r;return oee(t=wi(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.from===e)},(e,t)=>t<e,"to",n)}function aee(n,e,t,r){var i;const s=xa(null),o=nee(i=[...YJ(r).call(r)]).call(i,(C,d)=>C+1+d.edges.length,0),a=t+"Id",g=t==="to"?1:-1;for(const[C,d]of r){if(!r.has(C)||!n(d))continue;s[C]=0;const l=[d];let u=0,h;for(;h=l.pop();){var A,I;if(!r.has(C))continue;const v=s[h.id]+g;if(Me(A=wi(I=h.edges).call(I,f=>f.connected&&f.to!==f.from&&f[t]!==h&&r.has(f.toId)&&r.has(f.fromId))).call(A,f=>{const c=f[a],b=s[c];(b==null||e(v,b))&&(s[c]=v,l.push(f[t]))}),u>o)return rEe(r,s);++u}}return s}class sEe{constructor(){this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}addRelation(e,t){this.childrenReference[e]===void 0&&(this.childrenReference[e]=[]),this.childrenReference[e].push(t),this.parentReference[t]===void 0&&(this.parentReference[t]=[]),this.parentReference[t].push(e)}checkIfTree(){for(const e in this.parentReference)if(this.parentReference[e].length>1){this.isTree=!1;return}this.isTree=!0}numTrees(){return this.treeIndex+1}setTreeIndex(e,t){t!==void 0&&this.trees[e.id]===void 0&&(this.trees[e.id]=t,this.treeIndex=Math.max(t,this.treeIndex))}ensureLevel(e){this.levels[e]===void 0&&(this.levels[e]=0)}getMaxLevel(e){const t={},r=i=>{if(t[i]!==void 0)return t[i];let s=this.levels[i];if(this.childrenReference[i]){const o=this.childrenReference[i];if(o.length>0)for(let a=0;a<o.length;a++)s=Math.max(s,r(o[a]))}return t[i]=s,s};return r(e)}levelDownstream(e,t){this.levels[t.id]===void 0&&(this.levels[e.id]===void 0&&(this.levels[e.id]=0),this.levels[t.id]=this.levels[e.id]+1)}setMinLevelToZero(){var e;const t=new VT;let r=0;const i=Ys(e=[...new ki(Bwe(this.levels))]).call(e,(s,o)=>s-o);for(const s of i)t.set(s,r++);for(const s in this.levels)Object.prototype.hasOwnProperty.call(this.levels,s)&&(this.levels[s]=t.get(this.levels[s]))}getTreeSize(e,t){let r=1e9,i=-1e9,s=1e9,o=-1e9;for(const a in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,a)&&this.trees[a]===t){const g=e[a];r=Math.min(g.x,r),i=Math.max(g.x,i),s=Math.min(g.y,s),o=Math.max(g.y,o)}return{min_x:r,max_x:i,min_y:s,max_y:o}}hasSameParent(e,t){const r=this.parentReference[e.id],i=this.parentReference[t.id];if(r===void 0||i===void 0)return!1;for(let s=0;s<r.length;s++)for(let o=0;o<i.length;o++)if(r[s]==i[o])return!0;return!1}inSameSubNetwork(e,t){return this.trees[e.id]===this.trees[t.id]}getLevels(){return et(this.distributionOrdering)}addToOrdering(e,t){this.distributionOrdering[t]===void 0&&(this.distributionOrdering[t]=[]);let r=!1;const i=this.distributionOrdering[t];for(const s in i)if(i[s]===e){r=!0;break}r||(this.distributionOrdering[t].push(e),this.distributionIndex[e.id]=this.distributionOrdering[t].length-1)}}class oEe{constructor(e){this.body=e,this._resetRNG(Math.random()+":"+J_()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},Tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("_dataChanged",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",()=>{this.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",()=>{if(this.options.hierarchical.enabled!==!0)return;const e=this.direction.curveType();this.body.emitter.emit("_forceDisableDynamicCurves",e,!1)})}setOptions(e,t){if(e!==void 0){const r=this.options.hierarchical,i=r.enabled;if(Xo(["randomSeed","improvedLayout","clusterThreshold"],this.options,e),or(this.options,e,"hierarchical"),e.randomSeed!==void 0&&this._resetRNG(e.randomSeed),r.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),r.direction==="RL"||r.direction==="DU"?r.levelSeparation>0&&(r.levelSeparation*=-1):r.levelSeparation<0&&(r.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(t);if(i===!0)return this.body.emitter.emit("refresh"),xe(t,this.optionsBackup)}return t}_resetRNG(e){this.initialRandomSeed=e,this._rng=FI(this.initialRandomSeed)}adaptAllOptionsForHierarchicalLayout(e){if(this.options.hierarchical.enabled===!0){const t=this.optionsBackup.physics;e.physics===void 0||e.physics===!0?(e.physics={enabled:t.enabled===void 0?!0:t.enabled,solver:"hierarchicalRepulsion"},t.enabled=t.enabled===void 0?!0:t.enabled,t.solver=t.solver||"barnesHut"):typeof e.physics=="object"?(t.enabled=e.physics.enabled===void 0?!0:e.physics.enabled,t.solver=e.physics.solver||"barnesHut",e.physics.solver="hierarchicalRepulsion"):e.physics!==!1&&(t.solver="barnesHut",e.physics={solver:"hierarchicalRepulsion"});let r=this.direction.curveType();if(e.edges===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges={smooth:!1};else if(e.edges.smooth===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges.smooth=!1;else if(typeof e.edges.smooth=="boolean")this.optionsBackup.edges={smooth:e.edges.smooth},e.edges.smooth={enabled:e.edges.smooth,type:r};else{const i=e.edges.smooth;i.type!==void 0&&i.type!=="dynamic"&&(r=i.type),this.optionsBackup.edges={smooth:{enabled:i.enabled===void 0?!0:i.enabled,type:i.type===void 0?"dynamic":i.type,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}},e.edges.smooth={enabled:i.enabled===void 0?!0:i.enabled,type:r,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",r)}return e}positionInitially(e){if(this.options.hierarchical.enabled!==!0){this._resetRNG(this.initialRandomSeed);const t=e.length+50;for(let r=0;r<e.length;r++){const i=e[r],s=2*Math.PI*this._rng();i.x===void 0&&(i.x=t*Math.cos(s)),i.y===void 0&&(i.y=t*Math.sin(s))}}}layoutNetwork(){if(this.options.hierarchical.enabled!==!0&&this.options.improvedLayout===!0){const e=this.body.nodeIndices;let t=0;for(let r=0;r<e.length;r++)this.body.nodes[e[r]].predefinedPosition===!0&&(t+=1);if(t<.5*e.length){let i=0;const s=this.options.clusterThreshold,o={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(e.length>s){const g=e.length;for(;e.length>s&&i<=10;){i+=1;const A=e.length;i%3===0?this.body.modules.clustering.clusterBridges(o):this.body.modules.clustering.clusterOutliers(o);const I=e.length;if(A==I&&i%3!==0){this._declusterAll(),this.body.emitter.emit("_layoutFailed"),console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.");return}}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*g)})}i>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(e,this.body.edgeIndices,!0),this._shiftToCenter();const a=70;for(let g=0;g<e.length;g++){const A=this.body.nodes[e[g]];A.predefinedPosition===!1&&(A.x+=(.5-this._rng())*a,A.y+=(.5-this._rng())*a)}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}_shiftToCenter(){const e=kt.getRangeCore(this.body.nodes,this.body.nodeIndices),t=kt.findCenter(e);for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];i.x-=t.x,i.y-=t.y}}_declusterAll(){let e=!0;for(;e===!0;){e=!1;for(let t=0;t<this.body.nodeIndices.length;t++)this.body.nodes[this.body.nodeIndices[t]].isCluster===!0&&(e=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[t],{},!1));e===!0&&this.body.emitter.emit("_dataChanged")}}getSeed(){return this.initialRandomSeed}setupHierarchicalLayout(){if(this.options.hierarchical.enabled===!0&&this.body.nodeIndices.length>0){let e,t,r=!1,i=!1;this.lastNodeOnLevel={},this.hierarchical=new sEe;for(t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&(e=this.body.nodes[t],e.options.level!==void 0?(r=!0,this.hierarchical.levels[t]=e.options.level):i=!0);if(i===!0&&r===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");{if(i===!0){const o=this.options.hierarchical.sortMethod;o==="hubsize"?this._determineLevelsByHubsize():o==="directed"?this._determineLevelsDirected():o==="custom"&&this._determineLevelsCustomCallback()}for(const o in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,o)&&this.hierarchical.ensureLevel(o);const s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}}_condenseHierarchy(){var e=this;let t=!1;const r={},i=()=>{const f=o();let c=0;for(let b=0;b<f.length-1;b++){const p=f[b].max-f[b+1].min;c+=p+this.options.hierarchical.treeSpacing,s(b+1,c)}},s=(f,c)=>{const b=this.hierarchical.trees;for(const p in b)Object.prototype.hasOwnProperty.call(b,p)&&b[p]===f&&this.direction.shift(p,c)},o=()=>{const f=[];for(let c=0;c<this.hierarchical.numTrees();c++)f.push(this.direction.getTreeSize(c));return f},a=(f,c)=>{if(!c[f.id]&&(c[f.id]=!0,this.hierarchical.childrenReference[f.id])){const b=this.hierarchical.childrenReference[f.id];if(b.length>0)for(let p=0;p<b.length;p++)a(this.body.nodes[b[p]],c)}},g=function(f){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e9,b=1e9,p=1e9,y=1e9,E=-1e9;for(const S in f)if(Object.prototype.hasOwnProperty.call(f,S)){const m=e.body.nodes[S],w=e.hierarchical.levels[m.id],_=e.direction.getPosition(m),[T,R]=e._getSpaceAroundNode(m,f);b=Math.min(T,b),p=Math.min(R,p),w<=c&&(y=Math.min(_,y),E=Math.max(_,E))}return[y,E,b,p]},A=(f,c)=>{const b=this.hierarchical.getMaxLevel(f.id),p=this.hierarchical.getMaxLevel(c.id);return Math.min(b,p)},I=(f,c,b)=>{const p=this.hierarchical;for(let y=0;y<c.length;y++){const E=c[y],S=p.distributionOrdering[E];if(S.length>1)for(let m=0;m<S.length-1;m++){const w=S[m],_=S[m+1];p.hasSameParent(w,_)&&p.inSameSubNetwork(w,_)&&f(w,_,b)}}},C=function(f,c){let b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const p=e.direction.getPosition(f),y=e.direction.getPosition(c),E=Math.abs(y-p),S=e.options.hierarchical.nodeSpacing;if(E>S){const m={},w={};a(f,m),a(c,w);const _=A(f,c),T=g(m,_),R=g(w,_),O=T[1],P=R[0],x=R[2];if(Math.abs(O-P)>S){let M=O-P+S;M<-x+S&&(M=-x+S),M<0&&(e._shiftBlock(c.id,M),t=!0,b===!0&&e._centerParent(c))}}},d=(f,c)=>{const b=c.id,p=c.edges,y=this.hierarchical.levels[c.id],E=this.options.hierarchical.levelSeparation*this.options.hierarchical.levelSeparation,S={},m=[];for(let x=0;x<p.length;x++){const V=p[x];if(V.toId!=V.fromId){const M=V.toId==b?V.from:V.to;S[p[x].id]=M,this.hierarchical.levels[M.id]<y&&m.push(V)}}const w=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M+=K/Math.sqrt(K*K+E)}return M},_=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M-=E*Math.pow(K*K+E,-1.5)}return M},T=(x,V)=>{let M=this.direction.getPosition(c);const U={};for(let K=0;K<x;K++){const ne=w(M,V),L=_(M,V),se=40,he=Math.max(-se,Math.min(se,Math.round(ne/L)));if(M=M-he,U[M]!==void 0)break;U[M]=K}return M},R=x=>{const V=this.direction.getPosition(c);if(r[c.id]===void 0){const se={};a(c,se),r[c.id]=se}const M=g(r[c.id]),U=M[2],K=M[3],ne=x-V;let L=0;ne>0?L=Math.min(ne,K-this.options.hierarchical.nodeSpacing):ne<0&&(L=-Math.min(-ne,U-this.options.hierarchical.nodeSpacing)),L!=0&&(this._shiftBlock(c.id,L),t=!0)},O=x=>{const V=this.direction.getPosition(c),[M,U]=this._getSpaceAroundNode(c),K=x-V;let ne=V;K>0?ne=Math.min(V+(U-this.options.hierarchical.nodeSpacing),x):K<0&&(ne=Math.max(V-(M-this.options.hierarchical.nodeSpacing),x)),ne!==V&&(this.direction.setPosition(c,ne),t=!0)};let P=T(f,m);R(P),P=T(f,p),O(P)},l=f=>{let c=this.hierarchical.getLevels();c=Ks(c).call(c);for(let b=0;b<f;b++){t=!1;for(let p=0;p<c.length;p++){const y=c[p],E=this.hierarchical.distributionOrdering[y];for(let S=0;S<E.length;S++)d(1e3,E[S])}if(t!==!0)break}},u=f=>{let c=this.hierarchical.getLevels();c=Ks(c).call(c);for(let b=0;b<f&&(t=!1,I(C,c,!0),t===!0);b++);},h=()=>{for(const f in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,f)&&this._centerParent(this.body.nodes[f])},v=()=>{let f=this.hierarchical.getLevels();f=Ks(f).call(f);for(let c=0;c<f.length;c++){const b=f[c],p=this.hierarchical.distributionOrdering[b];for(let y=0;y<p.length;y++)this._centerParent(p[y])}};this.options.hierarchical.blockShifting===!0&&(u(5),h()),this.options.hierarchical.edgeMinimization===!0&&l(20),this.options.hierarchical.parentCentralization===!0&&v(),i()}_getSpaceAroundNode(e,t){let r=!0;t===void 0&&(r=!1);const i=this.hierarchical.levels[e.id];if(i!==void 0){const s=this.hierarchical.distributionIndex[e.id],o=this.direction.getPosition(e),a=this.hierarchical.distributionOrdering[i];let g=1e9,A=1e9;if(s!==0){const I=a[s-1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);g=o-C}}if(s!=a.length-1){const I=a[s+1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);A=Math.min(A,C-o)}}return[g,A]}else return[0,0]}_centerParent(e){if(this.hierarchical.parentReference[e.id]){const t=this.hierarchical.parentReference[e.id];for(let r=0;r<t.length;r++){const i=t[r],s=this.body.nodes[i],o=this.hierarchical.childrenReference[i];if(o!==void 0){const a=this._getCenterPosition(o),g=this.direction.getPosition(s),[A,I]=this._getSpaceAroundNode(s),C=g-a;(C<0&&Math.abs(C)<I-this.options.hierarchical.nodeSpacing||C>0&&Math.abs(C)<A-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(s,a)}}}}_placeNodesByHierarchy(e){this.positionedNodes={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var t;let i=et(e[r]);i=this._indexArrayToNodes(i),Ys(t=this.direction).call(t,i);let s=0;for(let o=0;o<i.length;o++){const a=i[o];if(this.positionedNodes[a.id]===void 0){const g=this.options.hierarchical.nodeSpacing;let A=g*s;s>0&&(A=this.direction.getPosition(i[o-1])+g),this.direction.setPosition(a,A,r),this._validatePositionAndContinue(a,r,A),s++}}}}_placeBranchNodes(e,t){var r;const i=this.hierarchical.childrenReference[e];if(i===void 0)return;const s=[];for(let a=0;a<i.length;a++)s.push(this.body.nodes[i[a]]);Ys(r=this.direction).call(r,s);for(let a=0;a<s.length;a++){const g=s[a],A=this.hierarchical.levels[g.id];if(A>t&&this.positionedNodes[g.id]===void 0){const I=this.options.hierarchical.nodeSpacing;let C;a===0?C=this.direction.getPosition(this.body.nodes[e]):C=this.direction.getPosition(s[a-1])+I,this.direction.setPosition(g,C,A),this._validatePositionAndContinue(g,A,C)}else return}const o=this._getCenterPosition(s);this.direction.setPosition(this.body.nodes[e],o,t)}_validatePositionAndContinue(e,t,r){if(this.hierarchical.isTree){if(this.lastNodeOnLevel[t]!==void 0){const i=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[t]]);if(r-i<this.options.hierarchical.nodeSpacing){const s=i+this.options.hierarchical.nodeSpacing-r,o=this._findCommonParent(this.lastNodeOnLevel[t],e.id);this._shiftBlock(o.withChild,s)}}this.lastNodeOnLevel[t]=e.id,this.positionedNodes[e.id]=!0,this._placeBranchNodes(e.id,t)}}_indexArrayToNodes(e){const t=[];for(let r=0;r<e.length;r++)t.push(this.body.nodes[e[r]]);return t}_getDistribution(){const e={};let t,r;for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){r=this.body.nodes[t];const i=this.hierarchical.levels[t]===void 0?0:this.hierarchical.levels[t];this.direction.fix(r,i),e[i]===void 0&&(e[i]={}),e[i][t]=r}return e}_getActiveEdges(e){const t=[];return ue(e.edges,r=>{var i;Le(i=this.body.edgeIndices).call(i,r.id)!==-1&&t.push(r)}),t}_getHubSizes(){const e={},t=this.body.nodeIndices;ue(t,i=>{const s=this.body.nodes[i],o=this._getActiveEdges(s).length;e[o]=!0});const r=[];return ue(e,i=>{r.push(Number(i))}),Ys(r).call(r,function(i,s){return s-i}),r}_determineLevelsByHubsize(){const e=(r,i)=>{this.hierarchical.levelDownstream(r,i)},t=this._getHubSizes();for(let r=0;r<t.length;++r){const i=t[r];if(i===0)break;ue(this.body.nodeIndices,s=>{const o=this.body.nodes[s];i===this._getActiveEdges(o).length&&this._crawlNetwork(e,s)})}}_determineLevelsCustomCallback(){const t=function(i,s,o){},r=(i,s,o)=>{let a=this.hierarchical.levels[i.id];a===void 0&&(a=this.hierarchical.levels[i.id]=1e5);const g=t(kt.cloneOptions(i,"node"),kt.cloneOptions(s,"node"),kt.cloneOptions(o,"edge"));this.hierarchical.levels[s.id]=a+g};this._crawlNetwork(r),this.hierarchical.setMinLevelToZero()}_determineLevelsDirected(){var e;const t=nee(e=this.body.nodeIndices).call(e,(r,i)=>(r.set(i,this.body.nodes[i]),r),new VT);this.options.hierarchical.shakeTowards==="roots"?this.hierarchical.levels=nEe(t):this.hierarchical.levels=iEe(t),this.hierarchical.setMinLevelToZero()}_generateMap(){const e=(t,r)=>{this.hierarchical.levels[r.id]>this.hierarchical.levels[t.id]&&this.hierarchical.addRelation(t.id,r.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}_crawlNetwork(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){},t=arguments.length>1?arguments[1]:void 0;const r={},i=(s,o)=>{if(r[s.id]===void 0){this.hierarchical.setTreeIndex(s,o),r[s.id]=!0;let a;const g=this._getActiveEdges(s);for(let A=0;A<g.length;A++){const I=g[A];I.connected===!0&&(I.toId==s.id?a=I.from:a=I.to,s.id!=a.id&&(e(s,a,I),i(a,o)))}}};if(t===void 0){let s=0;for(let o=0;o<this.body.nodeIndices.length;o++){const a=this.body.nodeIndices[o];if(r[a]===void 0){const g=this.body.nodes[a];i(g,s),s+=1}}}else{const s=this.body.nodes[t];if(s===void 0){console.error("Node not found:",t);return}i(s)}}_shiftBlock(e,t){const r={},i=s=>{if(r[s])return;r[s]=!0,this.direction.shift(s,t);const o=this.hierarchical.childrenReference[s];if(o!==void 0)for(let a=0;a<o.length;a++)i(o[a])};i(e)}_findCommonParent(e,t){const r={},i=(o,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];o[I]=!0,i(o,I)}},s=(o,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];if(o[I]!==void 0)return{foundParent:I,withChild:a};const C=s(o,I);if(C.foundParent!==null)return C}return{foundParent:null,withChild:a}};return i(r,e),s(r,t)}setDirectionStrategy(){this.options.hierarchical.direction==="UD"||this.options.hierarchical.direction==="DU"?this.direction=new Uwe(this):this.direction=new Kwe(this)}_getCenterPosition(e){let t=1e9,r=-1e9;for(let i=0;i<e.length;i++){let s;if(e[i].id!==void 0)s=e[i];else{const a=e[i];s=this.body.nodes[a]}const o=this.direction.getPosition(s);t=Math.min(t,o),r=Math.max(r,o)}return .5*(t+r)}}class aEe{constructor(e,t,r,i){var s,o;this.body=e,this.canvas=t,this.selectionHandler=r,this.interactionHandler=i,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},Tt(this.options,this.defaultOptions),this.body.emitter.on("destroy",()=>{this._clean()}),this.body.emitter.on("_dataChanged",j(s=this._restore).call(s,this)),this.body.emitter.on("_resetData",j(o=this._restore).call(o,this))}_restore(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}setOptions(e,t,r){t!==void 0&&(t.locale!==void 0?this.options.locale=t.locale:this.options.locale=r.locale,t.locales!==void 0?this.options.locales=t.locales:this.options.locales=r.locales),e!==void 0&&(typeof e=="boolean"?this.options.enabled=e:(this.options.enabled=!0,xe(this.options,e)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}toggleEditMode(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}enableEditMode(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}disableEditMode(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}showManipulatorToolbar(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){var e,t;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";const r=this.selectionHandler.getSelectedNodeCount(),i=this.selectionHandler.getSelectedEdgeCount(),s=r+i,o=this.options.locales[this.options.locale];let a=!1;this.options.addNode!==!1&&(this._createAddNodeButton(o),a=!0),this.options.addEdge!==!1&&(a===!0?this._createSeperator(1):a=!0,this._createAddEdgeButton(o)),r===1&&typeof this.options.editNode=="function"?(a===!0?this._createSeperator(2):a=!0,this._createEditNodeButton(o)):i===1&&r===0&&this.options.editEdge!==!1&&(a===!0?this._createSeperator(3):a=!0,this._createEditEdgeButton(o)),s!==0&&(r>0&&this.options.deleteNode!==!1?(a===!0&&this._createSeperator(4),this._createDeleteButton(o)):r===0&&this.options.deleteEdge!==!1&&(a===!0&&this._createSeperator(4),this._createDeleteButton(o))),this._bindElementEvents(this.closeDiv,j(e=this.toggleEditMode).call(e,this)),this._temporaryBindEvent("select",j(t=this.showManipulatorToolbar).call(t,this))}this.body.emitter.emit("_redraw")}addNodeMode(){var e;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t;const r=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(r),this._createSeperator(),this._createDescription(r.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,j(t=this.toggleEditMode).call(t,this))}this._temporaryBindEvent("click",j(e=this._performAddNode).call(e,this))}editNode(){this.editMode!==!0&&this.enableEditMode(),this._clean();const e=this.selectionHandler.getSelectedNodes()[0];if(e!==void 0)if(this.inMode="editNode",typeof this.options.editNode=="function")if(e.isCluster!==!0){const t=xe({},e.options,!1);if(t.x=e.x,t.y=e.y,this.options.editNode.length===2)this.options.editNode(t,r=>{r!=null&&this.inMode==="editNode"&&this.body.data.nodes.getDataSet().update(r),this.showManipulatorToolbar()});else throw new Error("The function for edit does not support two arguments (data, callback)")}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError);else throw new Error("No function has been configured to handle the editing of nodes.");else this.showManipulatorToolbar()}addEdgeMode(){var e,t,r,i,s;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var o;const a=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(a),this._createSeperator(),this._createDescription(a.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,j(o=this.toggleEditMode).call(o,this))}this._temporaryBindUI("onTouch",j(e=this._handleConnect).call(e,this)),this._temporaryBindUI("onDragEnd",j(t=this._finishConnect).call(t,this)),this._temporaryBindUI("onDrag",j(r=this._dragControlNode).call(r,this)),this._temporaryBindUI("onRelease",j(i=this._finishConnect).call(i,this)),this._temporaryBindUI("onDragStart",j(s=this._dragStartEdge).call(s,this)),this._temporaryBindUI("onHold",()=>{})}editEdgeMode(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",typeof this.options.editEdge=="object"&&typeof this.options.editEdge.editWithoutDrag=="function"&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0)){const o=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(o.from.id,o.to.id);return}if(this.guiEnabled===!0){var e;const o=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(o),this._createSeperator(),this._createDescription(o.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,j(e=this.toggleEditMode).call(e,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0){var t,r,i,s;const o=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(o.from.x,o.from.y),g=this._getNewTargetNode(o.to.x,o.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(g.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[g.id]=g,this.body.nodeIndices.push(g.id),this._temporaryBindUI("onTouch",j(t=this._controlNodeTouch).call(t,this)),this._temporaryBindUI("onTap",()=>{}),this._temporaryBindUI("onHold",()=>{}),this._temporaryBindUI("onDragStart",j(r=this._controlNodeDragStart).call(r,this)),this._temporaryBindUI("onDrag",j(i=this._controlNodeDrag).call(i,this)),this._temporaryBindUI("onDragEnd",j(s=this._controlNodeDragEnd).call(s,this)),this._temporaryBindUI("onMouseMove",()=>{}),this._temporaryBindEvent("beforeDrawing",A=>{const I=o.edgeType.findBorderPositions(A);a.selected===!1&&(a.x=I.from.x,a.y=I.from.y),g.selected===!1&&(g.x=I.to.x,g.y=I.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}deleteSelected(){this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";const e=this.selectionHandler.getSelectedNodeIds(),t=this.selectionHandler.getSelectedEdgeIds();let r;if(e.length>0){for(let i=0;i<e.length;i++)if(this.body.nodes[e[i]].isCluster===!0){alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);return}typeof this.options.deleteNode=="function"&&(r=this.options.deleteNode)}else t.length>0&&typeof this.options.deleteEdge=="function"&&(r=this.options.deleteEdge);if(typeof r=="function"){const i={nodes:e,edges:t};if(r.length===2)r(i,s=>{s!=null&&this.inMode==="delete"?(this.body.data.edges.getDataSet().remove(s.edges),this.body.data.nodes.getDataSet().remove(s.nodes),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()):(this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar())});else throw new Error("The function for delete does not support two arguments (data, callback)")}else this.body.data.edges.getDataSet().remove(t),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}_setup(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}_createWrappers(){if(this.manipulationDiv===void 0&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),this.editModeDiv===void 0&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),this.closeDiv===void 0){var e,t;this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",(e=(t=this.options.locales[this.options.locale])===null||t===void 0?void 0:t.close)!==null&&e!==void 0?e:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv)}}_getNewTargetNode(e,t){const r=xe({},this.options.controlNodeStyle);r.id="targetNode"+Na(),r.hidden=!1,r.physics=!1,r.x=e,r.y=t;const i=this.body.functions.createNode(r);return i.shape.boundingBox={left:e,right:e,top:t,bottom:t},i}_createEditButton(){var e;this._clean(),this.manipulationDOM={},Mi(this.editModeDiv);const t=this.options.locales[this.options.locale],r=this._createButton("editMode","vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(r),this._bindElementEvents(r,j(e=this.toggleEditMode).call(e,this))}_clean(){this.inMode=!1,this.guiEnabled===!0&&(Mi(this.editModeDiv),Mi(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}_cleanupDOMEventListeners(){for(const t of Ui(e=this._domEventListenerCleanupQueue).call(e,0)){var e;t()}}_removeManipulationDOM(){this._clean(),Mi(this.manipulationDiv),Mi(this.editModeDiv),Mi(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}_createSeperator(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+e]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+e].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+e])}_createAddNodeButton(e){var t;const r=this._createButton("addNode","vis-add",e.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.addNodeMode).call(t,this))}_createAddEdgeButton(e){var t;const r=this._createButton("addEdge","vis-connect",e.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.addEdgeMode).call(t,this))}_createEditNodeButton(e){var t;const r=this._createButton("editNode","vis-edit",e.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.editNode).call(t,this))}_createEditEdgeButton(e){var t;const r=this._createButton("editEdge","vis-edit",e.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.editEdgeMode).call(t,this))}_createDeleteButton(e){var t;let r;this.options.rtl?r="vis-delete-rtl":r="vis-delete";const i=this._createButton("delete",r,e.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,j(t=this.deleteSelected).call(t,this))}_createBackButton(e){var t;const r=this._createButton("back","vis-back",e.back||this.options.locales.en.back);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.showManipulatorToolbar).call(t,this))}_createButton(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"vis-label";return this.manipulationDOM[e+"Div"]=document.createElement("button"),this.manipulationDOM[e+"Div"].className="vis-button "+t,this.manipulationDOM[e+"Label"]=document.createElement("div"),this.manipulationDOM[e+"Label"].className=i,this.manipulationDOM[e+"Label"].innerText=r,this.manipulationDOM[e+"Div"].appendChild(this.manipulationDOM[e+"Label"]),this.manipulationDOM[e+"Div"]}_createDescription(e){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=e,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}_temporaryBindEvent(e,t){this.temporaryEventFunctions.push({event:e,boundFunction:t}),this.body.emitter.on(e,t)}_temporaryBindUI(e,t){if(this.body.eventListeners[e]!==void 0)this.temporaryUIFunctions[e]=this.body.eventListeners[e],this.body.eventListeners[e]=t;else throw new Error("This UI function does not exist. Typo? You tried: "+e+" possible are: "+XJ(et(this.body.eventListeners)))}_unbindTemporaryUIs(){for(const e in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,e)&&(this.body.eventListeners[e]=this.temporaryUIFunctions[e],delete this.temporaryUIFunctions[e]);this.temporaryUIFunctions={}}_unbindTemporaryEvents(){for(let e=0;e<this.temporaryEventFunctions.length;e++){const t=this.temporaryEventFunctions[e].event,r=this.temporaryEventFunctions[e].boundFunction;this.body.emitter.off(t,r)}this.temporaryEventFunctions=[]}_bindElementEvents(e,t){const r=new Zs(e,{});WA(r,t),this._domEventListenerCleanupQueue.push(()=>{r.destroy()});const i=s=>{let{keyCode:o,key:a}=s;(a==="Enter"||a===" "||o===13||o===32)&&t()};e.addEventListener("keyup",i,!1),this._domEventListenerCleanupQueue.push(()=>{e.removeEventListener("keyup",i,!1)})}_cleanupTemporaryNodesAndEdges(){for(let s=0;s<this.temporaryIds.edges.length;s++){var e;this.body.edges[this.temporaryIds.edges[s]].disconnect(),delete this.body.edges[this.temporaryIds.edges[s]];const o=Le(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[s]);if(o!==-1){var t;Ui(t=this.body.edgeIndices).call(t,o,1)}}for(let s=0;s<this.temporaryIds.nodes.length;s++){var r;delete this.body.nodes[this.temporaryIds.nodes[s]];const o=Le(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[s]);if(o!==-1){var i;Ui(i=this.body.nodeIndices).call(i,o,1)}}this.temporaryIds={nodes:[],edges:[]}}_controlNodeTouch(e){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=Tt({},this.body.view.translation)}_controlNodeDragStart(){const e=this.lastTouch,t=this.selectionHandler._pointerToPositionObject(e),r=this.body.nodes[this.temporaryIds.nodes[0]],i=this.body.nodes[this.temporaryIds.nodes[1]],s=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;const o=r.isOverlappingWith(t),a=i.isOverlappingWith(t);o===!0?(this.selectedControlNode=r,s.edgeType.from=r):a===!0&&(this.selectedControlNode=i,s.edgeType.to=i),this.selectedControlNode!==void 0&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}_controlNodeDrag(e){this.body.emitter.emit("disablePhysics");const t=this.body.functions.getPointer(e.center),r=this.canvas.DOMtoCanvas(t);this.selectedControlNode!==void 0?(this.selectedControlNode.x=r.x,this.selectedControlNode.y=r.y):this.interactionHandler.onDrag(e),this.body.emitter.emit("_redraw")}_controlNodeDragEnd(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t),i=this.body.edges[this.edgeBeingEditedId];if(this.selectedControlNode===void 0)return;this.selectionHandler.unselectAll();const s=this.selectionHandler._getAllNodesOverlappingWith(r);let o;for(let a=s.length-1;a>=0;a--)if(s[a]!==this.selectedControlNode.id){o=this.body.nodes[s[a]];break}if(o!==void 0&&this.selectedControlNode!==void 0)if(o.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(o.id,i.to.id):this._performEditEdge(i.from.id,o.id)}else i.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}_handleConnect(e){if(new Date().valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=Tt({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;const t=this.lastTouch,r=this.selectionHandler.getNodeAt(t);if(r!==void 0)if(r.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const i=this._getNewTargetNode(r.x,r.y);this.body.nodes[i.id]=i,this.body.nodeIndices.push(i.id);const s=this.body.functions.createEdge({id:"connectionEdge"+Na(),from:r.id,to:i.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[s.id]=s,this.body.edgeIndices.push(s.id),this.temporaryIds.nodes.push(i.id),this.temporaryIds.edges.push(s.id)}this.touchTime=new Date().valueOf()}}_dragControlNode(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const s=this.selectionHandler._getAllNodesOverlappingWith(r);let o;for(let g=s.length-1;g>=0;g--){var a;if(Le(a=this.temporaryIds.nodes).call(a,s[g])===-1){o=this.body.nodes[s[g]];break}}if(e.controlEdge={from:i,to:o?o.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",e,t),this.temporaryIds.nodes[0]!==void 0){const g=this.body.nodes[this.temporaryIds.nodes[0]];g.x=this.canvas._XconvertDOMtoCanvas(t.x),g.y=this.canvas._YconvertDOMtoCanvas(t.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(e)}_finishConnect(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const s=this.selectionHandler._getAllNodesOverlappingWith(r);let o;for(let g=s.length-1;g>=0;g--){var a;if(Le(a=this.temporaryIds.nodes).call(a,s[g])===-1){o=this.body.nodes[s[g]];break}}this._cleanupTemporaryNodesAndEdges(),o!==void 0&&(o.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):this.body.nodes[i]!==void 0&&this.body.nodes[o.id]!==void 0&&this._performAddEdge(i,o.id)),e.controlEdge={from:i,to:o?o.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",e,t),this.body.emitter.emit("_redraw")}_dragStartEdge(e){const t=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",e,t,void 0,!0)}_performAddNode(e){const t={id:Na(),x:e.pointer.canvas.x,y:e.pointer.canvas.y,label:"new"};if(typeof this.options.addNode=="function")if(this.options.addNode.length===2)this.options.addNode(t,r=>{r!=null&&this.inMode==="addNode"&&this.body.data.nodes.getDataSet().add(r),this.showManipulatorToolbar()});else throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");else this.body.data.nodes.getDataSet().add(t),this.showManipulatorToolbar()}_performAddEdge(e,t){const r={from:e,to:t};if(typeof this.options.addEdge=="function")if(this.options.addEdge.length===2)this.options.addEdge(r,i=>{i!=null&&this.inMode==="addEdge"&&(this.body.data.edges.getDataSet().add(i),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for connect does not support two arguments (data,callback)");else this.body.data.edges.getDataSet().add(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}_performEditEdge(e,t){const r={id:this.edgeBeingEditedId,from:e,to:t,label:this.body.data.edges.get(this.edgeBeingEditedId).label};let i=this.options.editEdge;if(typeof i=="object"&&(i=i.editWithoutDrag),typeof i=="function")if(i.length===2)i(r,s=>{s==null||this.inMode!=="editEdge"?(this.body.edges[r.id].updateEdgeType(),this.body.emitter.emit("_redraw"),this.showManipulatorToolbar()):(this.body.data.edges.getDataSet().update(s),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for edit does not support two arguments (data, callback)");else this.body.data.edges.getDataSet().update(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}const W="string",B="boolean",D="number",va="array",J="object",gee="dom",gEe="any",f_=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],p_={borderWidth:{number:D},borderWidthSelected:{number:D,undefined:"undefined"},brokenImage:{string:W,undefined:"undefined"},chosen:{label:{boolean:B,function:"function"},node:{boolean:B,function:"function"},__type__:{object:J,boolean:B}},color:{border:{string:W},background:{string:W},highlight:{border:{string:W},background:{string:W},__type__:{object:J,string:W}},hover:{border:{string:W},background:{string:W},__type__:{object:J,string:W}},__type__:{object:J,string:W}},opacity:{number:D,undefined:"undefined"},fixed:{x:{boolean:B},y:{boolean:B},__type__:{object:J,boolean:B}},font:{align:{string:W},color:{string:W},size:{number:D},face:{string:W},background:{string:W},strokeWidth:{number:D},strokeColor:{string:W},vadjust:{number:D},multi:{boolean:B,string:W},bold:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},boldital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},ital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},mono:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},__type__:{object:J,string:W}},group:{string:W,number:D,undefined:"undefined"},heightConstraint:{minimum:{number:D},valign:{string:W},__type__:{object:J,boolean:B,number:D}},hidden:{boolean:B},icon:{face:{string:W},code:{string:W},size:{number:D},color:{string:W},weight:{string:W,number:D},__type__:{object:J}},id:{string:W,number:D},image:{selected:{string:W,undefined:"undefined"},unselected:{string:W,undefined:"undefined"},__type__:{object:J,string:W}},imagePadding:{top:{number:D},right:{number:D},bottom:{number:D},left:{number:D},__type__:{object:J,number:D}},label:{string:W,undefined:"undefined"},labelHighlightBold:{boolean:B},level:{number:D,undefined:"undefined"},margin:{top:{number:D},right:{number:D},bottom:{number:D},left:{number:D},__type__:{object:J,number:D}},mass:{number:D},physics:{boolean:B},scaling:{min:{number:D},max:{number:D},label:{enabled:{boolean:B},min:{number:D},max:{number:D},maxVisible:{number:D},drawThreshold:{number:D},__type__:{object:J,boolean:B}},customScalingFunction:{function:"function"},__type__:{object:J}},shadow:{enabled:{boolean:B},color:{string:W},size:{number:D},x:{number:D},y:{number:D},__type__:{object:J,boolean:B}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:B,array:va},borderRadius:{number:D},interpolation:{boolean:B},useImageSize:{boolean:B},useBorderWithImage:{boolean:B},coordinateOrigin:{string:["center","top-left"]},__type__:{object:J}},size:{number:D},title:{string:W,dom:gee,undefined:"undefined"},value:{number:D,undefined:"undefined"},widthConstraint:{minimum:{number:D},maximum:{number:D},__type__:{object:J,boolean:B,number:D}},x:{number:D},y:{number:D},__type__:{object:J}},AEe={configure:{enabled:{boolean:B},filter:{boolean:B,string:W,array:va,function:"function"},container:{dom:gee},showButton:{boolean:B},__type__:{object:J,boolean:B,string:W,array:va,function:"function"}},edges:{arrows:{to:{enabled:{boolean:B},scaleFactor:{number:D},type:{string:f_},imageHeight:{number:D},imageWidth:{number:D},src:{string:W},__type__:{object:J,boolean:B}},middle:{enabled:{boolean:B},scaleFactor:{number:D},type:{string:f_},imageWidth:{number:D},imageHeight:{number:D},src:{string:W},__type__:{object:J,boolean:B}},from:{enabled:{boolean:B},scaleFactor:{number:D},type:{string:f_},imageWidth:{number:D},imageHeight:{number:D},src:{string:W},__type__:{object:J,boolean:B}},__type__:{string:["from","to","middle"],object:J}},endPointOffset:{from:{number:D},to:{number:D},__type__:{object:J,number:D}},arrowStrikethrough:{boolean:B},background:{enabled:{boolean:B},color:{string:W},size:{number:D},dashes:{boolean:B,array:va},__type__:{object:J,boolean:B}},chosen:{label:{boolean:B,function:"function"},edge:{boolean:B,function:"function"},__type__:{object:J,boolean:B}},color:{color:{string:W},highlight:{string:W},hover:{string:W},inherit:{string:["from","to","both"],boolean:B},opacity:{number:D},__type__:{object:J,string:W}},dashes:{boolean:B,array:va},font:{color:{string:W},size:{number:D},face:{string:W},background:{string:W},strokeWidth:{number:D},strokeColor:{string:W},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:D},multi:{boolean:B,string:W},bold:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},boldital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},ital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},mono:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},__type__:{object:J,string:W}},hidden:{boolean:B},hoverWidth:{function:"function",number:D},label:{string:W,undefined:"undefined"},labelHighlightBold:{boolean:B},length:{number:D,undefined:"undefined"},physics:{boolean:B},scaling:{min:{number:D},max:{number:D},label:{enabled:{boolean:B},min:{number:D},max:{number:D},maxVisible:{number:D},drawThreshold:{number:D},__type__:{object:J,boolean:B}},customScalingFunction:{function:"function"},__type__:{object:J}},selectionWidth:{function:"function",number:D},selfReferenceSize:{number:D},selfReference:{size:{number:D},angle:{number:D},renderBehindTheNode:{boolean:B},__type__:{object:J}},shadow:{enabled:{boolean:B},color:{string:W},size:{number:D},x:{number:D},y:{number:D},__type__:{object:J,boolean:B}},smooth:{enabled:{boolean:B},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:D},forceDirection:{string:["horizontal","vertical","none"],boolean:B},__type__:{object:J,boolean:B}},title:{string:W,undefined:"undefined"},width:{number:D},widthConstraint:{maximum:{number:D},__type__:{object:J,boolean:B,number:D}},value:{number:D,undefined:"undefined"},__type__:{object:J}},groups:{useDefaultGroups:{boolean:B},__any__:p_,__type__:{object:J}},interaction:{dragNodes:{boolean:B},dragView:{boolean:B},hideEdgesOnDrag:{boolean:B},hideEdgesOnZoom:{boolean:B},hideNodesOnDrag:{boolean:B},hover:{boolean:B},keyboard:{enabled:{boolean:B},speed:{x:{number:D},y:{number:D},zoom:{number:D},__type__:{object:J}},bindToWindow:{boolean:B},autoFocus:{boolean:B},__type__:{object:J,boolean:B}},multiselect:{boolean:B},navigationButtons:{boolean:B},selectable:{boolean:B},selectConnectedEdges:{boolean:B},hoverConnectedEdges:{boolean:B},tooltipDelay:{number:D},zoomView:{boolean:B},zoomSpeed:{number:D},__type__:{object:J}},layout:{randomSeed:{undefined:"undefined",number:D,string:W},improvedLayout:{boolean:B},clusterThreshold:{number:D},hierarchical:{enabled:{boolean:B},levelSeparation:{number:D},nodeSpacing:{number:D},treeSpacing:{number:D},blockShifting:{boolean:B},edgeMinimization:{boolean:B},parentCentralization:{boolean:B},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:J,boolean:B}},__type__:{object:J}},manipulation:{enabled:{boolean:B},initiallyActive:{boolean:B},addNode:{boolean:B,function:"function"},addEdge:{boolean:B,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:J,boolean:B,function:"function"}},deleteNode:{boolean:B,function:"function"},deleteEdge:{boolean:B,function:"function"},controlNodeStyle:p_,__type__:{object:J,boolean:B}},nodes:p_,physics:{enabled:{boolean:B},barnesHut:{theta:{number:D},gravitationalConstant:{number:D},centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},damping:{number:D},avoidOverlap:{number:D},__type__:{object:J}},forceAtlas2Based:{theta:{number:D},gravitationalConstant:{number:D},centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},damping:{number:D},avoidOverlap:{number:D},__type__:{object:J}},repulsion:{centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},nodeDistance:{number:D},damping:{number:D},__type__:{object:J}},hierarchicalRepulsion:{centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},nodeDistance:{number:D},damping:{number:D},avoidOverlap:{number:D},__type__:{object:J}},maxVelocity:{number:D},minVelocity:{number:D},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:B},iterations:{number:D},updateInterval:{number:D},onlyDynamicEdges:{boolean:B},fit:{boolean:B},__type__:{object:J,boolean:B}},timestep:{number:D},adaptiveTimestep:{boolean:B},wind:{x:{number:D},y:{number:D},__type__:{object:J}},__type__:{object:J,boolean:B}},autoResize:{boolean:B},clickToUse:{boolean:B},locale:{string:W},locales:{__any__:{any:gEe},__type__:{object:J}},height:{string:W},width:{string:W},__type__:{object:J}},Aee={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},IEe=(n,e,t)=>{var r;return!!($a(n).call(n,"physics")&&$a(r=Aee.physics.solver).call(r,e)&&t.physics.solver!==e&&e!=="wind")};class CEe{constructor(){}getDistances(e,t,r){const i={},s=e.edges;for(let a=0;a<t.length;a++){const g=t[a],A={};i[g]=A;for(let I=0;I<t.length;I++)A[t[I]]=a==I?0:1e9}for(let a=0;a<r.length;a++){const g=s[r[a]];g.connected===!0&&i[g.fromId]!==void 0&&i[g.toId]!==void 0&&(i[g.fromId][g.toId]=1,i[g.toId][g.fromId]=1)}const o=t.length;for(let a=0;a<o;a++){const g=t[a],A=i[g];for(let I=0;I<o-1;I++){const C=t[I],d=i[C];for(let l=I+1;l<o;l++){const u=t[l],h=i[u],v=Math.min(d[u],d[g]+A[u]);d[u]=v,h[C]=v}}}return i}}class dEe{constructor(e,t,r){this.body=e,this.springLength=t,this.springConstant=r,this.distanceSolver=new CEe}setOptions(e){e&&(e.springLength&&(this.springLength=e.springLength),e.springConstant&&(this.springConstant=e.springConstant))}solve(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const i=this.distanceSolver.getDistances(this.body,e,t);this._createL_matrix(i),this._createK_matrix(i),this._createE_matrix();const s=.01,o=1;let a=0;const g=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),A=5;let I=1e9,C=0,d=0,l=0,u=0,h=0;for(;I>s&&a<g;)for(a+=1,[C,I,d,l]=this._getHighestEnergyNode(r),u=I,h=0;u>o&&h<A;)h+=1,this._moveNode(C,d,l),[u,d,l]=this._getEnergy(C)}_getHighestEnergyNode(e){const t=this.body.nodeIndices,r=this.body.nodes;let i=0,s=t[0],o=0,a=0;for(let g=0;g<t.length;g++){const A=t[g];if(r[A].predefinedPosition!==!0||r[A].isCluster===!0&&e===!0||r[A].options.fixed.x!==!0||r[A].options.fixed.y!==!0){const[I,C,d]=this._getEnergy(A);i<I&&(i=I,s=A,o=C,a=d)}}return[s,i,o,a]}_getEnergy(e){const[t,r]=this.E_sums[e];return[Math.sqrt(t**2+r**2),t,r]}_moveNode(e,t,r){const i=this.body.nodeIndices,s=this.body.nodes;let o=0,a=0,g=0;const A=s[e].x,I=s[e].y,C=this.K_matrix[e],d=this.L_matrix[e];for(let p=0;p<i.length;p++){const y=i[p];if(y!==e){const E=s[y].x,S=s[y].y,m=C[y],w=d[y],_=1/((A-E)**2+(I-S)**2)**1.5;o+=m*(1-w*(I-S)**2*_),a+=m*(w*(A-E)*(I-S)*_),g+=m*(1-w*(A-E)**2*_)}}const l=o,u=a,h=t,v=g,f=r,c=(h/l+f/u)/(u/l-v/u),b=-(u*c+h)/l;s[e].x+=b,s[e].y+=c,this._updateE_matrix(e)}_createL_matrix(e){const t=this.body.nodeIndices,r=this.springLength;this.L_matrix=[];for(let i=0;i<t.length;i++){this.L_matrix[t[i]]={};for(let s=0;s<t.length;s++)this.L_matrix[t[i]][t[s]]=r*e[t[i]][t[s]]}}_createK_matrix(e){const t=this.body.nodeIndices,r=this.springConstant;this.K_matrix=[];for(let i=0;i<t.length;i++){this.K_matrix[t[i]]={};for(let s=0;s<t.length;s++)this.K_matrix[t[i]][t[s]]=r*e[t[i]][t[s]]**-2}}_createE_matrix(){const e=this.body.nodeIndices,t=this.body.nodes;this.E_matrix={},this.E_sums={};for(let r=0;r<e.length;r++)this.E_matrix[e[r]]=[];for(let r=0;r<e.length;r++){const i=e[r],s=t[i].x,o=t[i].y;let a=0,g=0;for(let A=r;A<e.length;A++){const I=e[A];if(I!==i){const C=t[I].x,d=t[I].y,l=1/Math.sqrt((s-C)**2+(o-d)**2);this.E_matrix[i][A]=[this.K_matrix[i][I]*(s-C-this.L_matrix[i][I]*(s-C)*l),this.K_matrix[i][I]*(o-d-this.L_matrix[i][I]*(o-d)*l)],this.E_matrix[I][r]=this.E_matrix[i][A],a+=this.E_matrix[i][A][0],g+=this.E_matrix[i][A][1]}}this.E_sums[i]=[a,g]}}_updateE_matrix(e){const t=this.body.nodeIndices,r=this.body.nodes,i=this.E_matrix[e],s=this.K_matrix[e],o=this.L_matrix[e],a=r[e].x,g=r[e].y;let A=0,I=0;for(let C=0;C<t.length;C++){const d=t[C];if(d!==e){const l=i[C],u=l[0],h=l[1],v=r[d].x,f=r[d].y,c=1/Math.sqrt((a-v)**2+(g-f)**2),b=s[d]*(a-v-o[d]*(a-v)*c),p=s[d]*(g-f-o[d]*(g-f)*c);i[C]=[b,p],A+=b,I+=p;const y=this.E_sums[d];y[0]+=b-u,y[1]+=p-h}}this.E_sums[e]=[A,I]}}function Y(n,e,t){var r,i,s,o;if(!(this instanceof Y))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:Uve,clickToUse:!1},Tt(this.options,this.defaultOptions),this.body={container:n,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:j(r=this.on).call(r,this),off:j(i=this.off).call(i,this),emit:j(s=this.emit).call(s,this),once:j(o=this.once).call(o,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new ime(()=>this.body.emitter.emit("_requestRedraw")),this.groups=new Ome,this.canvas=new j0e(this.body),this.selectionHandler=new bwe(this.body,this.canvas),this.interactionHandler=new V0e(this.body,this.canvas,this.selectionHandler),this.view=new G0e(this.body,this.canvas),this.renderer=new q0e(this.body,this.canvas),this.physics=new w0e(this.body),this.layoutEngine=new oEe(this.body),this.clustering=new M0e(this.body),this.manipulation=new aEe(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new k1e(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new d0e(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new dEe(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(t),this.setData(e)}z7(Y.prototype);Y.prototype.setOptions=function(n){if(n===null&&(n=void 0),n!==void 0){if(Rpe.validate(n,AEe)===!0&&console.error("%cErrors have been found in the supplied options object.",hJ),Xo(["locale","locales","clickToUse"],this.options,n),n.locale!==void 0&&(n.locale=tme(n.locales||this.options.locales,n.locale)),n=this.layoutEngine.setOptions(n.layout,n),this.canvas.setOptions(n),this.groups.setOptions(n.groups),this.nodesHandler.setOptions(n.nodes),this.edgesHandler.setOptions(n.edges),this.physics.setOptions(n.physics),this.manipulation.setOptions(n.manipulation,n,this.options),this.interactionHandler.setOptions(n.interaction),this.renderer.setOptions(n.interaction),this.selectionHandler.setOptions(n.interaction),n.groups!==void 0&&this.body.emitter.emit("refreshNodes"),"configure"in n&&(this.configurator||(this.configurator=new Ope(this,this.body.container,Aee,this.canvas.pixelRatio,IEe)),this.configurator.setOptions(n.configure)),this.configurator&&this.configurator.options.enabled===!0){const r={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};xe(r.nodes,this.nodesHandler.options),xe(r.edges,this.edgesHandler.options),xe(r.layout,this.layoutEngine.options),xe(r.interaction,this.selectionHandler.options),xe(r.interaction,this.renderer.options),xe(r.interaction,this.interactionHandler.options),xe(r.manipulation,this.manipulation.options),xe(r.physics,this.physics.options),xe(r.global,this.canvas.options),xe(r.global,this.options),this.configurator.setModuleOptions(r)}n.clickToUse!==void 0?n.clickToUse===!0?this.activator===void 0&&(this.activator=new _pe(this.canvas.frame),this.activator.on("change",()=>{this.body.emitter.emit("activate")})):(this.activator!==void 0&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}};Y.prototype._updateVisibleIndices=function(){const n=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&!this.clustering._isClusteredNode(t)&&n[t].options.hidden===!1&&this.body.nodeIndices.push(n[t].id);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t],i=n[r.fromId],s=n[r.toId],o=i!==void 0&&s!==void 0;!this.clustering._isClusteredEdge(t)&&r.options.hidden===!1&&o&&i.options.hidden===!1&&s.options.hidden===!1&&this.body.edgeIndices.push(r.id)}};Y.prototype.bindEventListeners=function(){this.body.emitter.on("_dataChanged",()=>{this.edgesHandler._updateState(),this.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",()=>{this.clustering._updateState(),this._updateVisibleIndices(),this._updateValueRange(this.body.nodes),this._updateValueRange(this.body.edges),this.body.emitter.emit("startSimulation"),this.body.emitter.emit("_requestRedraw")})};Y.prototype.setData=function(n){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),n&&n.dot&&(n.nodes||n.edges))throw new SyntaxError('Data must contain either parameter "dot" or parameter pair "nodes" and "edges", but not both.');if(this.setOptions(n&&n.options),n&&n.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");const e=Rve(n.dot);this.setData(e);return}else if(n&&n.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");const e=qve(n.gephi);this.setData(e);return}else this.nodesHandler.setData(n&&n.nodes,!0),this.edgesHandler.setData(n&&n.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")};Y.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(const n in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,n)&&delete this.body.nodes[n];for(const n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&delete this.body.edges[n];Mi(this.body.container)};Y.prototype._updateValueRange=function(n){let e,t,r,i=0;for(e in n)if(Object.prototype.hasOwnProperty.call(n,e)){const s=n[e].getValue();s!==void 0&&(t=t===void 0?s:Math.min(s,t),r=r===void 0?s:Math.max(s,r),i+=s)}if(t!==void 0&&r!==void 0)for(e in n)Object.prototype.hasOwnProperty.call(n,e)&&n[e].setValueRange(t,r,i)};Y.prototype.isActive=function(){return!this.activator||this.activator.active};Y.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)};Y.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)};Y.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)};Y.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)};Y.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)};Y.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)};Y.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)};Y.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)};Y.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)};Y.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)};Y.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)};Y.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)};Y.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)};Y.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)};Y.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)};Y.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)};Y.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)};Y.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)};Y.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)};Y.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)};Y.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)};Y.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)};Y.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)};Y.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)};Y.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)};Y.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)};Y.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)};Y.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)};Y.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)};Y.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)};Y.prototype.getConnectedNodes=function(n){return this.body.nodes[n]!==void 0?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)};Y.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)};Y.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)};Y.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)};Y.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)};Y.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)};Y.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)};Y.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)};Y.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)};Y.prototype.getNodeAt=function(){const n=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};Y.prototype.getEdgeAt=function(){const n=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};Y.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)};Y.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)};Y.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()};Y.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)};Y.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)};Y.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)};Y.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)};Y.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)};Y.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)};Y.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)};Y.prototype.getOptionsFromConfigurator=function(){let n={};return this.configurator&&(n=this.configurator.getOptions.apply(this.configurator)),n};const lEe={flex:"~ col",relative:"","h-full":"","of-hidden":"","panel-grids":"",class:"graph-body"},uEe={class:"relative flex-1"},hEe={key:0,class:"absolute inset-0 flex select-none items-center justify-center bg-base text-base"},QSe=VA({__name:"graph",setup(n){async function e(){const g=await Jg.value.getRoot().then(A=>A);Jg.value.getGraphModules().then(A=>{IIe(A,g)})}function t(){e()}Eee(()=>{e(),Jg.functions.on("graphModuleUpdated",t)});const r=Sn(),i=c6(),s=Sn(!1);function o(){const g=r.value,A=i.value=new Y(g,{nodes:ro,edges:io},KF.value);yA(KF,I=>{A.setOptions(I)},{immediate:!0}),A.on("selectNode",I=>{lIe(I.nodes[0]),q_(!0)}),A.on("startStabilizing",()=>{v_.value.reduceMotion&&(s.value=!0)}),A.on("stabilized",()=>{s.value=!1}),A.on("deselectNode",()=>{q_(!1)}),yA(()=>so.value,I=>{I&&A.moveTo({position:{x:0,y:0}})})}See(()=>{o()}),_ee(()=>{aIe(),i.value?.destroy(),Jg.functions.off("graphModuleUpdated",t)});const a=Sn();return(g,A)=>{const I=TIe,C=_Ie,d=SIe;return Zt(),tr("div",lEe,[qs(I,{ref_key:"navbarRef",ref:a},null,512),Ue("div",uEe,[Ue("div",{ref_key:"container",ref:r,class:"absolute inset-0"},null,512),Ee(s)?(Zt(),tr("div",hEe,[...A[0]||(A[0]=[Ue("div",{class:"flex items-center space-x-2"},[Ue("span",null,"Stabilizing...")],-1)])])):tO("",!0),qs(C),qs(d,{top:Ee(a)},null,8,["top"])])])}}});export{QSe as default};