balibabu commited on
Commit
8a4f6c9
·
1 Parent(s): c579820

feat: Classify nodes based on edge relationships #162 (#1755)

Browse files

### What problem does this PR solve?
feat: Add ForceGraph
feat: Classify nodes based on edge relationships #162

### Type of change


- [x] New Feature (non-breaking change which adds functionality)

web/package-lock.json CHANGED
@@ -9,6 +9,7 @@
9
  "@ant-design/icons": "^5.2.6",
10
  "@ant-design/pro-components": "^2.6.46",
11
  "@ant-design/pro-layout": "^7.17.16",
 
12
  "@js-preview/excel": "^1.7.8",
13
  "@tanstack/react-query": "^5.40.0",
14
  "@tanstack/react-query-devtools": "^5.51.5",
@@ -29,6 +30,7 @@
29
  "mammoth": "^1.7.2",
30
  "rc-tween-one": "^3.0.6",
31
  "react-copy-to-clipboard": "^5.1.0",
 
32
  "react-i18next": "^14.0.0",
33
  "react-markdown": "^9.0.1",
34
  "react-pdf-highlighter": "^6.1.0",
@@ -468,6 +470,257 @@
468
  "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.8.tgz",
469
  "integrity": "sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg=="
470
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
471
  "node_modules/@babel/code-frame": {
472
  "version": "7.24.6",
473
  "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.6.tgz",
@@ -3604,6 +3857,14 @@
3604
  "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==",
3605
  "dev": true
3606
  },
 
 
 
 
 
 
 
 
3607
  "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
3608
  "version": "5.1.1-v1",
3609
  "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@@ -4030,6 +4291,14 @@
4030
  "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz",
4031
  "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="
4032
  },
 
 
 
 
 
 
 
 
4033
  "node_modules/@sinonjs/commons": {
4034
  "version": "3.0.1",
4035
  "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -4238,6 +4507,17 @@
4238
  "tslib": "^2.4.0"
4239
  }
4240
  },
 
 
 
 
 
 
 
 
 
 
 
4241
  "node_modules/@tanstack/match-sorter-utils": {
4242
  "version": "8.11.3",
4243
  "resolved": "https://registry.npmmirror.com/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.3.tgz",
@@ -4600,6 +4880,11 @@
4600
  "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
4601
  "dev": true
4602
  },
 
 
 
 
 
4603
  "node_modules/@types/aria-query": {
4604
  "version": "5.0.4",
4605
  "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz",
@@ -7284,6 +7569,49 @@
7284
  "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
7285
  "peer": true
7286
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7287
  "node_modules/abab": {
7288
  "version": "2.0.6",
7289
  "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz",
@@ -7303,6 +7631,14 @@
7303
  "node": ">= 0.6"
7304
  }
7305
  },
 
 
 
 
 
 
 
 
7306
  "node_modules/acorn": {
7307
  "version": "8.11.3",
7308
  "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
@@ -7368,6 +7704,78 @@
7368
  "node": ">= 10.0.0"
7369
  }
7370
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7371
  "node_modules/agent-base": {
7372
  "version": "6.0.2",
7373
  "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
@@ -7433,6 +7841,11 @@
7433
  "ajv": "^6.9.1"
7434
  }
7435
  },
 
 
 
 
 
7436
  "node_modules/ansi-escapes": {
7437
  "version": "4.3.2",
7438
  "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -7659,6 +8072,14 @@
7659
  "node": ">= 0.4"
7660
  }
7661
  },
 
 
 
 
 
 
 
 
7662
  "node_modules/array-tree-filter": {
7663
  "version": "2.1.0",
7664
  "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
@@ -7773,6 +8194,11 @@
7773
  "node": ">=0.10.0"
7774
  }
7775
  },
 
 
 
 
 
7776
  "node_modules/asn1.js": {
7777
  "version": "4.10.1",
7778
  "resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-4.10.1.tgz",
@@ -8146,6 +8572,15 @@
8146
  "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
8147
  "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
8148
  },
 
 
 
 
 
 
 
 
 
8149
  "node_modules/big-integer": {
8150
  "version": "1.6.52",
8151
  "resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz",
@@ -8420,6 +8855,11 @@
8420
  "node-int64": "^0.4.0"
8421
  }
8422
  },
 
 
 
 
 
8423
  "node_modules/buffer": {
8424
  "version": "4.9.2",
8425
  "resolved": "https://registry.npmmirror.com/buffer/-/buffer-4.9.2.tgz",
@@ -8430,6 +8870,14 @@
8430
  "isarray": "^1.0.0"
8431
  }
8432
  },
 
 
 
 
 
 
 
 
8433
  "node_modules/buffer-from": {
8434
  "version": "1.1.2",
8435
  "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -8504,6 +8952,58 @@
8504
  "node": ">=0.10.0"
8505
  }
8506
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8507
  "node_modules/call-bind": {
8508
  "version": "1.0.7",
8509
  "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
@@ -8584,11 +9084,40 @@
8584
  "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz",
8585
  "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg=="
8586
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8587
  "node_modules/ccount": {
8588
  "version": "2.0.1",
8589
  "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz",
8590
  "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="
8591
  },
 
 
 
 
 
 
 
 
8592
  "node_modules/chalk": {
8593
  "version": "2.4.2",
8594
  "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
@@ -8913,6 +9442,17 @@
8913
  "node": ">=12"
8914
  }
8915
  },
 
 
 
 
 
 
 
 
 
 
 
8916
  "node_modules/clsx": {
8917
  "version": "2.1.0",
8918
  "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.0.tgz",
@@ -8977,6 +9517,15 @@
8977
  "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
8978
  "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
8979
  },
 
 
 
 
 
 
 
 
 
8980
  "node_modules/colord": {
8981
  "version": "2.9.3",
8982
  "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz",
@@ -9000,6 +9549,11 @@
9000
  "node": ">= 0.8"
9001
  }
9002
  },
 
 
 
 
 
9003
  "node_modules/comma-separated-tokens": {
9004
  "version": "2.0.3",
9005
  "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
@@ -9968,6 +10522,11 @@
9968
  "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz",
9969
  "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
9970
  },
 
 
 
 
 
9971
  "node_modules/d3-color": {
9972
  "version": "3.1.0",
9973
  "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz",
@@ -10004,6 +10563,34 @@
10004
  "node": ">=12"
10005
  }
10006
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10007
  "node_modules/d3-format": {
10008
  "version": "3.1.0",
10009
  "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz",
@@ -10023,6 +10610,11 @@
10023
  "node": ">=12"
10024
  }
10025
  },
 
 
 
 
 
10026
  "node_modules/d3-path": {
10027
  "version": "3.1.0",
10028
  "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz",
@@ -10036,6 +10628,14 @@
10036
  "resolved": "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-1.0.6.tgz",
10037
  "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
10038
  },
 
 
 
 
 
 
 
 
10039
  "node_modules/d3-scale": {
10040
  "version": "4.0.2",
10041
  "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz",
@@ -10051,6 +10651,18 @@
10051
  "node": ">=12"
10052
  }
10053
  },
 
 
 
 
 
 
 
 
 
 
 
 
10054
  "node_modules/d3-scale/node_modules/d3-array": {
10055
  "version": "3.2.4",
10056
  "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz",
@@ -10155,6 +10767,26 @@
10155
  "node": ">=12"
10156
  }
10157
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10158
  "node_modules/data-uri-to-buffer": {
10159
  "version": "4.0.1",
10160
  "resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
@@ -10295,6 +10927,17 @@
10295
  "node": ">=0.10"
10296
  }
10297
  },
 
 
 
 
 
 
 
 
 
 
 
10298
  "node_modules/dedent": {
10299
  "version": "1.5.3",
10300
  "resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz",
@@ -10309,6 +10952,17 @@
10309
  }
10310
  }
10311
  },
 
 
 
 
 
 
 
 
 
 
 
10312
  "node_modules/deep-is": {
10313
  "version": "0.1.4",
10314
  "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz",
@@ -10430,6 +11084,11 @@
10430
  "node": ">=12"
10431
  }
10432
  },
 
 
 
 
 
10433
  "node_modules/define-data-property": {
10434
  "version": "1.1.4",
10435
  "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
@@ -10693,8 +11352,7 @@
10693
  "node_modules/dom-walk": {
10694
  "version": "0.1.2",
10695
  "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz",
10696
- "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==",
10697
- "dev": true
10698
  },
10699
  "node_modules/domain-browser": {
10700
  "version": "1.2.0",
@@ -10765,6 +11423,14 @@
10765
  "tslib": "^2.0.3"
10766
  }
10767
  },
 
 
 
 
 
 
 
 
10768
  "node_modules/duck": {
10769
  "version": "0.1.12",
10770
  "resolved": "https://registry.npmmirror.com/duck/-/duck-0.1.12.tgz",
@@ -10779,6 +11445,11 @@
10779
  "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
10780
  "dev": true
10781
  },
 
 
 
 
 
10782
  "node_modules/duplexify": {
10783
  "version": "4.1.2",
10784
  "resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-4.1.2.tgz",
@@ -12330,6 +13001,11 @@
12330
  "bser": "2.1.1"
12331
  }
12332
  },
 
 
 
 
 
12333
  "node_modules/fetch-blob": {
12334
  "version": "3.2.0",
12335
  "resolved": "https://registry.npmmirror.com/fetch-blob/-/fetch-blob-3.2.0.tgz",
@@ -12505,6 +13181,30 @@
12505
  "node": ">=0.10.0"
12506
  }
12507
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12508
  "node_modules/foreground-child": {
12509
  "version": "3.1.1",
12510
  "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz",
@@ -12689,6 +13389,25 @@
12689
  "node": ">= 0.6"
12690
  }
12691
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12692
  "node_modules/fs-extra": {
12693
  "version": "10.1.0",
12694
  "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -12852,6 +13571,16 @@
12852
  "resolved": "https://registry.npmmirror.com/git-hooks-list/-/git-hooks-list-3.1.0.tgz",
12853
  "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA=="
12854
  },
 
 
 
 
 
 
 
 
 
 
12855
  "node_modules/glob": {
12856
  "version": "7.2.3",
12857
  "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
@@ -12889,7 +13618,6 @@
12889
  "version": "4.4.0",
12890
  "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz",
12891
  "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
12892
- "dev": true,
12893
  "dependencies": {
12894
  "min-document": "^2.19.0",
12895
  "process": "^0.11.10"
@@ -12979,6 +13707,38 @@
12979
  "get-intrinsic": "^1.1.3"
12980
  }
12981
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12982
  "node_modules/graceful-fs": {
12983
  "version": "4.2.11",
12984
  "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -12989,6 +13749,14 @@
12989
  "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz",
12990
  "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
12991
  },
 
 
 
 
 
 
 
 
12992
  "node_modules/gzip-size": {
12993
  "version": "6.0.0",
12994
  "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
@@ -13495,6 +14263,11 @@
13495
  "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz",
13496
  "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
13497
  },
 
 
 
 
 
13498
  "node_modules/http-deceiver": {
13499
  "version": "1.2.7",
13500
  "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz",
@@ -13547,6 +14320,12 @@
13547
  "node": ">= 6"
13548
  }
13549
  },
 
 
 
 
 
 
13550
  "node_modules/human-id": {
13551
  "version": "4.1.1",
13552
  "resolved": "https://registry.npmmirror.com/human-id/-/human-id-4.1.1.tgz",
@@ -13742,6 +14521,14 @@
13742
  "node": ">=8"
13743
  }
13744
  },
 
 
 
 
 
 
 
 
13745
  "node_modules/inflight": {
13746
  "version": "1.0.6",
13747
  "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
@@ -13872,6 +14659,11 @@
13872
  "is-decimal": "^2.0.0"
13873
  }
13874
  },
 
 
 
 
 
13875
  "node_modules/is-arguments": {
13876
  "version": "1.1.1",
13877
  "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -13957,8 +14749,7 @@
13957
  "node_modules/is-buffer": {
13958
  "version": "1.1.6",
13959
  "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz",
13960
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
13961
- "dev": true
13962
  },
13963
  "node_modules/is-callable": {
13964
  "version": "1.2.7",
@@ -14107,6 +14898,11 @@
14107
  "node": ">=8"
14108
  }
14109
  },
 
 
 
 
 
14110
  "node_modules/is-generator-fn": {
14111
  "version": "2.1.0",
14112
  "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
@@ -14200,6 +14996,14 @@
14200
  "node": ">= 0.4"
14201
  }
14202
  },
 
 
 
 
 
 
 
 
14203
  "node_modules/is-path-inside": {
14204
  "version": "3.0.3",
14205
  "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz",
@@ -14563,6 +15367,14 @@
14563
  "resolved": "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
14564
  "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg=="
14565
  },
 
 
 
 
 
 
 
 
14566
  "node_modules/jest": {
14567
  "version": "29.7.0",
14568
  "resolved": "https://registry.npmmirror.com/jest/-/jest-29.7.0.tgz",
@@ -17115,6 +17927,17 @@
17115
  "node": ">=8"
17116
  }
17117
  },
 
 
 
 
 
 
 
 
 
 
 
17118
  "node_modules/keyv": {
17119
  "version": "4.5.4",
17120
  "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz",
@@ -17152,6 +17975,16 @@
17152
  "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz",
17153
  "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="
17154
  },
 
 
 
 
 
 
 
 
 
 
17155
  "node_modules/less": {
17156
  "version": "4.1.3",
17157
  "resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
@@ -17706,6 +18539,21 @@
17706
  "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
17707
  }
17708
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17709
  "node_modules/loader-runner": {
17710
  "version": "4.3.0",
17711
  "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -17755,9 +18603,7 @@
17755
  "node_modules/lodash-es": {
17756
  "version": "4.17.21",
17757
  "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
17758
- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
17759
- "dev": true,
17760
- "peer": true
17761
  },
17762
  "node_modules/lodash._reinterpolate": {
17763
  "version": "3.0.0",
@@ -17998,6 +18844,14 @@
17998
  "tslib": "^2.0.3"
17999
  }
18000
  },
 
 
 
 
 
 
 
 
18001
  "node_modules/lowlight": {
18002
  "version": "1.20.0",
18003
  "resolved": "https://registry.npmmirror.com/lowlight/-/lowlight-1.20.0.tgz",
@@ -18092,6 +18946,22 @@
18092
  "node": ">=0.10.0"
18093
  }
18094
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18095
  "node_modules/map-obj": {
18096
  "version": "4.3.0",
18097
  "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz",
@@ -18774,11 +19644,18 @@
18774
  "node": ">=6"
18775
  }
18776
  },
 
 
 
 
 
 
 
 
18777
  "node_modules/min-document": {
18778
  "version": "2.19.0",
18779
  "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
18780
  "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
18781
- "dev": true,
18782
  "dependencies": {
18783
  "dom-walk": "^0.1.0"
18784
  }
@@ -18815,8 +19692,7 @@
18815
  "node_modules/minimist": {
18816
  "version": "1.2.8",
18817
  "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
18818
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
18819
- "dev": true
18820
  },
18821
  "node_modules/minimist-options": {
18822
  "version": "4.1.0",
@@ -18874,6 +19750,41 @@
18874
  "mkdirp": "bin/cmd.js"
18875
  }
18876
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18877
  "node_modules/moment": {
18878
  "version": "2.30.1",
18879
  "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz",
@@ -18967,12 +19878,69 @@
18967
  "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==",
18968
  "dev": true
18969
  },
 
 
 
 
 
18970
  "node_modules/next-tick": {
18971
  "version": "1.1.0",
18972
  "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
18973
  "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
18974
  "dev": true
18975
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18976
  "node_modules/no-case": {
18977
  "version": "3.0.4",
18978
  "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz",
@@ -19206,6 +20174,19 @@
19206
  "node": ">=0.10.0"
19207
  }
19208
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
19209
  "node_modules/npm-run-path": {
19210
  "version": "4.0.1",
19211
  "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -19533,6 +20514,14 @@
19533
  "node": ">=6"
19534
  }
19535
  },
 
 
 
 
 
 
 
 
19536
  "node_modules/p-event": {
19537
  "version": "4.2.0",
19538
  "resolved": "https://registry.npmmirror.com/p-event/-/p-event-4.2.0.tgz",
@@ -19670,6 +20659,25 @@
19670
  "node": ">= 0.10"
19671
  }
19672
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19673
  "node_modules/parse-entities": {
19674
  "version": "4.0.1",
19675
  "resolved": "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.1.tgz",
@@ -19690,6 +20698,11 @@
19690
  "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-2.0.10.tgz",
19691
  "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
19692
  },
 
 
 
 
 
19693
  "node_modules/parse-json": {
19694
  "version": "5.2.0",
19695
  "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
@@ -19840,6 +20853,17 @@
19840
  "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
19841
  "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
19842
  },
 
 
 
 
 
 
 
 
 
 
 
19843
  "node_modules/picocolors": {
19844
  "version": "1.0.0",
19845
  "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
@@ -20056,6 +21080,17 @@
20056
  "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
20057
  "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw=="
20058
  },
 
 
 
 
 
 
 
 
 
 
 
20059
  "node_modules/posix-character-classes": {
20060
  "version": "0.1.1",
20061
  "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -20629,6 +21664,14 @@
20629
  "node": ">= 0.8.0"
20630
  }
20631
  },
 
 
 
 
 
 
 
 
20632
  "node_modules/prettier": {
20633
  "version": "3.2.4",
20634
  "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz",
@@ -20829,6 +21872,15 @@
20829
  "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz",
20830
  "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
20831
  },
 
 
 
 
 
 
 
 
 
20832
  "node_modules/punycode": {
20833
  "version": "1.4.1",
20834
  "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz",
@@ -20886,6 +21938,16 @@
20886
  "node": ">=0.6"
20887
  }
20888
  },
 
 
 
 
 
 
 
 
 
 
20889
  "node_modules/query-string": {
20890
  "version": "6.14.1",
20891
  "resolved": "https://registry.npmmirror.com/query-string/-/query-string-6.14.1.tgz",
@@ -20933,6 +21995,11 @@
20933
  "node": ">=8"
20934
  }
20935
  },
 
 
 
 
 
20936
  "node_modules/raf": {
20937
  "version": "3.4.1",
20938
  "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
@@ -21005,6 +22072,14 @@
21005
  "node": ">=0.10.0"
21006
  }
21007
  },
 
 
 
 
 
 
 
 
21008
  "node_modules/rc-cascader": {
21009
  "version": "3.20.0",
21010
  "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.20.0.tgz",
@@ -21950,6 +23025,25 @@
21950
  "resolved": "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
21951
  "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="
21952
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21953
  "node_modules/react-helmet-async": {
21954
  "version": "1.3.0",
21955
  "resolved": "https://registry.npmmirror.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
@@ -21992,6 +23086,21 @@
21992
  "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz",
21993
  "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
21994
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21995
  "node_modules/react-lifecycles-compat": {
21996
  "version": "3.0.4",
21997
  "resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
@@ -22821,6 +23930,14 @@
22821
  "node": ">=10"
22822
  }
22823
  },
 
 
 
 
 
 
 
 
22824
  "node_modules/restore-cursor": {
22825
  "version": "4.0.0",
22826
  "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz",
@@ -22998,8 +24115,7 @@
22998
  "node_modules/sax": {
22999
  "version": "1.3.0",
23000
  "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
23001
- "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==",
23002
- "optional": true
23003
  },
23004
  "node_modules/saxes": {
23005
  "version": "6.0.0",
@@ -23266,6 +24382,19 @@
23266
  "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
23267
  "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
23268
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
23269
  "node_modules/single-spa": {
23270
  "version": "5.9.5",
23271
  "resolved": "https://registry.npmmirror.com/single-spa/-/single-spa-5.9.5.tgz",
@@ -24181,6 +25310,11 @@
24181
  "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.1.tgz",
24182
  "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ=="
24183
  },
 
 
 
 
 
24184
  "node_modules/superjson": {
24185
  "version": "1.13.3",
24186
  "resolved": "https://registry.npmmirror.com/superjson/-/superjson-1.13.3.tgz",
@@ -24272,6 +25406,11 @@
24272
  "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz",
24273
  "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
24274
  },
 
 
 
 
 
24275
  "node_modules/svg-path-properties": {
24276
  "version": "1.3.0",
24277
  "resolved": "https://registry.npmmirror.com/svg-path-properties/-/svg-path-properties-1.3.0.tgz",
@@ -24517,6 +25656,71 @@
24517
  "real-require": "^0.1.0"
24518
  }
24519
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24520
  "node_modules/throttle-debounce": {
24521
  "version": "5.0.0",
24522
  "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
@@ -24603,6 +25807,14 @@
24603
  "node": ">=0.10.0"
24604
  }
24605
  },
 
 
 
 
 
 
 
 
24606
  "node_modules/to-regex": {
24607
  "version": "3.0.2",
24608
  "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz",
@@ -25387,6 +26599,17 @@
25387
  "requires-port": "^1.0.0"
25388
  }
25389
  },
 
 
 
 
 
 
 
 
 
 
 
25390
  "node_modules/use": {
25391
  "version": "3.1.1",
25392
  "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz",
@@ -26189,6 +27412,19 @@
26189
  "node": ">=10.13.0"
26190
  }
26191
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
26192
  "node_modules/whatwg-encoding": {
26193
  "version": "2.0.0",
26194
  "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
@@ -26302,6 +27538,23 @@
26302
  "node": ">= 0.4"
26303
  }
26304
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26305
  "node_modules/workerpool": {
26306
  "version": "9.1.1",
26307
  "resolved": "https://registry.npmmirror.com/workerpool/-/workerpool-9.1.1.tgz",
@@ -26426,6 +27679,17 @@
26426
  }
26427
  }
26428
  },
 
 
 
 
 
 
 
 
 
 
 
26429
  "node_modules/xml-name-validator": {
26430
  "version": "4.0.0",
26431
  "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
@@ -26435,6 +27699,31 @@
26435
  "node": ">=12"
26436
  }
26437
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26438
  "node_modules/xmlbuilder": {
26439
  "version": "10.1.1",
26440
  "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
 
9
  "@ant-design/icons": "^5.2.6",
10
  "@ant-design/pro-components": "^2.6.46",
11
  "@ant-design/pro-layout": "^7.17.16",
12
+ "@antv/g6": "^5.0.10",
13
  "@js-preview/excel": "^1.7.8",
14
  "@tanstack/react-query": "^5.40.0",
15
  "@tanstack/react-query-devtools": "^5.51.5",
 
30
  "mammoth": "^1.7.2",
31
  "rc-tween-one": "^3.0.6",
32
  "react-copy-to-clipboard": "^5.1.0",
33
+ "react-force-graph": "^1.44.4",
34
  "react-i18next": "^14.0.0",
35
  "react-markdown": "^9.0.1",
36
  "react-pdf-highlighter": "^6.1.0",
 
470
  "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.8.tgz",
471
  "integrity": "sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg=="
472
  },
473
+ "node_modules/@antv/component": {
474
+ "version": "2.0.1",
475
+ "resolved": "https://registry.npmmirror.com/@antv/component/-/component-2.0.1.tgz",
476
+ "integrity": "sha512-VldsSv2O/JNjZYenFIzmtLeC+KD2RcpNARsCLKpi04Iz26joQ3uMtnwxM5W4bd/SCJYKp+eeQeMHMAbwaNR1pw==",
477
+ "dependencies": {
478
+ "@antv/g": "^6.0.5",
479
+ "@antv/scale": "^0.4.3",
480
+ "@antv/util": "^3.3.5",
481
+ "svg-path-parser": "^1.1.0"
482
+ }
483
+ },
484
+ "node_modules/@antv/event-emitter": {
485
+ "version": "0.1.3",
486
+ "resolved": "https://registry.npmmirror.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz",
487
+ "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg=="
488
+ },
489
+ "node_modules/@antv/g": {
490
+ "version": "6.0.11",
491
+ "resolved": "https://registry.npmmirror.com/@antv/g/-/g-6.0.11.tgz",
492
+ "integrity": "sha512-Ag7HPuI8Rku4oJE830M4c3WlqoJTicgbMAVNE7NIiTmFOFxuoJs+3KgzxvynDa11IZNt6ErVeEcMUsZGWKed3Q==",
493
+ "dependencies": {
494
+ "@antv/g-camera-api": "2.0.10",
495
+ "@antv/g-dom-mutation-observer-api": "2.0.7",
496
+ "@antv/g-lite": "2.0.7",
497
+ "@antv/g-web-animations-api": "2.0.8"
498
+ }
499
+ },
500
+ "node_modules/@antv/g-camera-api": {
501
+ "version": "2.0.10",
502
+ "resolved": "https://registry.npmmirror.com/@antv/g-camera-api/-/g-camera-api-2.0.10.tgz",
503
+ "integrity": "sha512-iV3obJe0Fpij4JBCp80aOOigNdBQzSCtMGeDPj4uXN3hnmDf8lQEhx/w0owBHH1fWEpEUBLjySGhR/psg+KsZw==",
504
+ "dependencies": {
505
+ "@antv/g-lite": "2.0.7",
506
+ "@antv/util": "^3.3.5",
507
+ "gl-matrix": "^3.4.3",
508
+ "tslib": "^2.5.3"
509
+ }
510
+ },
511
+ "node_modules/@antv/g-canvas": {
512
+ "version": "2.0.9",
513
+ "resolved": "https://registry.npmmirror.com/@antv/g-canvas/-/g-canvas-2.0.9.tgz",
514
+ "integrity": "sha512-VLrGoeb2rjcXLZIC/pDYUtk9BdpILHmuZvUkTu14Afd3uyLxjD1GyVwbtgm/33gR1QB7O5rW8Ln5tecamIGWUg==",
515
+ "dependencies": {
516
+ "@antv/g-lite": "2.0.7",
517
+ "@antv/g-plugin-canvas-path-generator": "2.0.7",
518
+ "@antv/g-plugin-canvas-picker": "2.0.8",
519
+ "@antv/g-plugin-canvas-renderer": "2.0.8",
520
+ "@antv/g-plugin-dom-interaction": "2.0.7",
521
+ "@antv/g-plugin-html-renderer": "2.0.8",
522
+ "@antv/g-plugin-image-loader": "2.0.7",
523
+ "@antv/util": "^3.3.5",
524
+ "tslib": "^2.5.3"
525
+ }
526
+ },
527
+ "node_modules/@antv/g-dom-mutation-observer-api": {
528
+ "version": "2.0.7",
529
+ "resolved": "https://registry.npmmirror.com/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.7.tgz",
530
+ "integrity": "sha512-+lgWzhoyhKMBcXWx9zBV++gnpICrobGSC0VmTmLsd2spsrf9zJ45HCCsNQsF/W09W8aIEqA8MfuYlTJ269oagg==",
531
+ "dependencies": {
532
+ "@antv/g-lite": "2.0.7"
533
+ }
534
+ },
535
+ "node_modules/@antv/g-lite": {
536
+ "version": "2.0.7",
537
+ "resolved": "https://registry.npmmirror.com/@antv/g-lite/-/g-lite-2.0.7.tgz",
538
+ "integrity": "sha512-PqweHYwZz1oQDRDAmpceoOz1Wzxs7mhldaIkRnvox+3XJB1SehB0sperFcQoQgy0xKlQ0l7ydLOO7zZPZmhWcA==",
539
+ "dependencies": {
540
+ "@antv/g-math": "3.0.0",
541
+ "@antv/util": "^3.3.5",
542
+ "d3-color": "^3.1.0",
543
+ "eventemitter3": "^5.0.1",
544
+ "gl-matrix": "^3.4.3",
545
+ "rbush": "^3.0.1",
546
+ "tslib": "^2.5.3"
547
+ }
548
+ },
549
+ "node_modules/@antv/g-lite/node_modules/eventemitter3": {
550
+ "version": "5.0.1",
551
+ "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz",
552
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
553
+ },
554
+ "node_modules/@antv/g-math": {
555
+ "version": "3.0.0",
556
+ "resolved": "https://registry.npmmirror.com/@antv/g-math/-/g-math-3.0.0.tgz",
557
+ "integrity": "sha512-AkmiNIEL1vgqTPeGY2wtsMdBBqKFwF7SKSgs+D1iOS/rqYMsXdhp/HvtuQ5tx/HdawE/ZzTiicIYopc520ADZw==",
558
+ "dependencies": {
559
+ "@antv/util": "^3.3.5",
560
+ "gl-matrix": "^3.4.3",
561
+ "tslib": "^2.5.3"
562
+ }
563
+ },
564
+ "node_modules/@antv/g-plugin-canvas-path-generator": {
565
+ "version": "2.0.7",
566
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.0.7.tgz",
567
+ "integrity": "sha512-KHtze9UsPNgVr3OpxdVvquh7Q3aLMZcbGqL34l2ZmOIzn57N9BQej4bRc1VHcIxb8NetsKiQnQnFCI+QfbjiRg==",
568
+ "dependencies": {
569
+ "@antv/g-lite": "2.0.7",
570
+ "@antv/g-math": "3.0.0",
571
+ "@antv/util": "^3.3.5",
572
+ "tslib": "^2.5.3"
573
+ }
574
+ },
575
+ "node_modules/@antv/g-plugin-canvas-picker": {
576
+ "version": "2.0.8",
577
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.0.8.tgz",
578
+ "integrity": "sha512-40yBY0hEsdw8cXhQ4LBoVB4fyG1uLa/2dZnBTdAHM7BqnzpVl+EliVxyw8+ROz/4sI4MwwxtO3tP9YxLmQilhA==",
579
+ "dependencies": {
580
+ "@antv/g-lite": "2.0.7",
581
+ "@antv/g-math": "3.0.0",
582
+ "@antv/g-plugin-canvas-path-generator": "2.0.7",
583
+ "@antv/g-plugin-canvas-renderer": "2.0.8",
584
+ "@antv/util": "^3.3.5",
585
+ "gl-matrix": "^3.4.3",
586
+ "tslib": "^2.5.3"
587
+ }
588
+ },
589
+ "node_modules/@antv/g-plugin-canvas-renderer": {
590
+ "version": "2.0.8",
591
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.0.8.tgz",
592
+ "integrity": "sha512-PaKJW2QBQkK06Sar6ZSwjE/O31yWZUb3fewMoKVjxLlFG/4WNgvDoTAP1a8ZAzqYSqxV9W+nAq+qHd7DJCr6CQ==",
593
+ "dependencies": {
594
+ "@antv/g-lite": "2.0.7",
595
+ "@antv/g-math": "3.0.0",
596
+ "@antv/g-plugin-canvas-path-generator": "2.0.7",
597
+ "@antv/g-plugin-image-loader": "2.0.7",
598
+ "@antv/util": "^3.3.5",
599
+ "gl-matrix": "^3.4.3",
600
+ "tslib": "^2.5.3"
601
+ }
602
+ },
603
+ "node_modules/@antv/g-plugin-dom-interaction": {
604
+ "version": "2.0.7",
605
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.0.7.tgz",
606
+ "integrity": "sha512-THIZuPV3B7AMNRv8qAzR1aB/tAO/ueRYJ6w/aYyVnIR3JRh0Ngxm+nclqFBuau4Xq5gx8cEkZWxmMsvEwZIGUg==",
607
+ "dependencies": {
608
+ "@antv/g-lite": "2.0.7",
609
+ "tslib": "^2.5.3"
610
+ }
611
+ },
612
+ "node_modules/@antv/g-plugin-dragndrop": {
613
+ "version": "2.0.7",
614
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.7.tgz",
615
+ "integrity": "sha512-pkntpawykEYAWssyxY2vaYoQG0fLtmlXXPNxXGb2HohJcy1IWfb7CB8Ym1+ECMDMrUeW8ydIgANjWyFbtzcTHg==",
616
+ "dependencies": {
617
+ "@antv/g-lite": "2.0.7",
618
+ "@antv/util": "^3.3.5",
619
+ "tslib": "^2.5.3"
620
+ }
621
+ },
622
+ "node_modules/@antv/g-plugin-html-renderer": {
623
+ "version": "2.0.8",
624
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.0.8.tgz",
625
+ "integrity": "sha512-C89R/FWCtHmaU997J2T+5bu5OstBT8hUhilbcb/boGM7QrzxJPHzH9KK/CEtQhUU3bcQkJF+IlLQ8X07qcEndw==",
626
+ "dependencies": {
627
+ "@antv/g-lite": "2.0.7",
628
+ "@antv/util": "^3.3.5",
629
+ "gl-matrix": "^3.4.3",
630
+ "tslib": "^2.5.3"
631
+ }
632
+ },
633
+ "node_modules/@antv/g-plugin-image-loader": {
634
+ "version": "2.0.7",
635
+ "resolved": "https://registry.npmmirror.com/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.0.7.tgz",
636
+ "integrity": "sha512-c4sImX0nfuemBapZzH08q2Xko5tRtTqgDVyxhuoNv2AT14krmt4ar4rxEOq6O6sbIcohoy81hY8V8siR9ng5ow==",
637
+ "dependencies": {
638
+ "@antv/g-lite": "2.0.7",
639
+ "@antv/util": "^3.3.5",
640
+ "gl-matrix": "^3.4.3",
641
+ "tslib": "^2.5.3"
642
+ }
643
+ },
644
+ "node_modules/@antv/g-web-animations-api": {
645
+ "version": "2.0.8",
646
+ "resolved": "https://registry.npmmirror.com/@antv/g-web-animations-api/-/g-web-animations-api-2.0.8.tgz",
647
+ "integrity": "sha512-85BmmXzFcQCxe3LrwgPxlZGeybkgiLYSa+mX8M1ZCQS0JYZyhvqFxffbif0yiQU5UeD+9Wrg3iZ4qOhcLeHhuw==",
648
+ "dependencies": {
649
+ "@antv/g-lite": "2.0.7",
650
+ "@antv/util": "^3.3.5",
651
+ "tslib": "^2.5.3"
652
+ }
653
+ },
654
+ "node_modules/@antv/g6": {
655
+ "version": "5.0.10",
656
+ "resolved": "https://registry.npmmirror.com/@antv/g6/-/g6-5.0.10.tgz",
657
+ "integrity": "sha512-VXNIDLCLedWqXtoMes/0tnqfDvZX7JAUfu44cxhrICumGXoKb5Nr8x6aU+WChFQbRArSk1NFrTPF7s/GCZLWLQ==",
658
+ "dependencies": {
659
+ "@antv/component": "^2.0.1",
660
+ "@antv/event-emitter": "^0.1.3",
661
+ "@antv/g": "^6.0.10",
662
+ "@antv/g-canvas": "^2.0.8",
663
+ "@antv/g-plugin-dragndrop": "^2.0.6",
664
+ "@antv/graphlib": "^2.0.3",
665
+ "@antv/hierarchy": "^0.6.12",
666
+ "@antv/layout": "^1.2.14-beta.5",
667
+ "@antv/util": "^3.3.7",
668
+ "bubblesets-js": "^2.3.3",
669
+ "hull.js": "^1.0.6"
670
+ }
671
+ },
672
+ "node_modules/@antv/graphlib": {
673
+ "version": "2.0.3",
674
+ "resolved": "https://registry.npmmirror.com/@antv/graphlib/-/graphlib-2.0.3.tgz",
675
+ "integrity": "sha512-EtQR+DIfsYy28tumTnH560v7yIzXZq0nSgFBZh76mMiV1oHEN1L4p6JKu7IMtILH14mDqzmYYYFetYoAODoQUw==",
676
+ "dependencies": {
677
+ "@antv/event-emitter": "^0.1.3"
678
+ }
679
+ },
680
+ "node_modules/@antv/hierarchy": {
681
+ "version": "0.6.12",
682
+ "resolved": "https://registry.npmmirror.com/@antv/hierarchy/-/hierarchy-0.6.12.tgz",
683
+ "integrity": "sha512-WvWT9WYtm2SvYunm1HtzrHazvOozeP4cPFDhJWsnLzmTGMX/tNhsoCD3O+DDB3aeDY8fyM+wfZDvLv7+/4lIeA=="
684
+ },
685
+ "node_modules/@antv/layout": {
686
+ "version": "1.2.14-beta.5",
687
+ "resolved": "https://registry.npmmirror.com/@antv/layout/-/layout-1.2.14-beta.5.tgz",
688
+ "integrity": "sha512-r/twRLE2kql+jawu/qp5+7rcUH3ul6RFlLg5MGi3B/83WktMNyqOOYYHbk6T89/KWUUSPDCdvrb56BVfvLFqRQ==",
689
+ "dependencies": {
690
+ "@antv/event-emitter": "^0.1.3",
691
+ "@antv/graphlib": "^2.0.0",
692
+ "@antv/util": "^3.3.2",
693
+ "@naoak/workerize-transferable": "^0.1.0",
694
+ "comlink": "^4.4.1",
695
+ "d3-force": "^3.0.0",
696
+ "d3-force-3d": "^3.0.5",
697
+ "d3-octree": "^1.0.2",
698
+ "d3-quadtree": "^3.0.1",
699
+ "dagre": "^0.8.5",
700
+ "ml-matrix": "^6.10.4",
701
+ "tslib": "^2.5.0"
702
+ }
703
+ },
704
+ "node_modules/@antv/scale": {
705
+ "version": "0.4.16",
706
+ "resolved": "https://registry.npmmirror.com/@antv/scale/-/scale-0.4.16.tgz",
707
+ "integrity": "sha512-5wg/zB5kXHxpTV5OYwJD3ja6R8yTiqIOkjOhmpEJiowkzRlbEC/BOyMvNUq5fqFIHnMCE9woO7+c3zxEQCKPjw==",
708
+ "dependencies": {
709
+ "@antv/util": "^3.3.7",
710
+ "color-string": "^1.5.5",
711
+ "fecha": "^4.2.1"
712
+ }
713
+ },
714
+ "node_modules/@antv/util": {
715
+ "version": "3.3.7",
716
+ "resolved": "https://registry.npmmirror.com/@antv/util/-/util-3.3.7.tgz",
717
+ "integrity": "sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg==",
718
+ "dependencies": {
719
+ "fast-deep-equal": "^3.1.3",
720
+ "gl-matrix": "^3.3.0",
721
+ "tslib": "^2.3.1"
722
+ }
723
+ },
724
  "node_modules/@babel/code-frame": {
725
  "version": "7.24.6",
726
  "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.6.tgz",
 
3857
  "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==",
3858
  "dev": true
3859
  },
3860
+ "node_modules/@naoak/workerize-transferable": {
3861
+ "version": "0.1.0",
3862
+ "resolved": "https://registry.npmmirror.com/@naoak/workerize-transferable/-/workerize-transferable-0.1.0.tgz",
3863
+ "integrity": "sha512-fDLfuP71IPNP5+zSfxFb52OHgtjZvauRJWbVnpzQ7G7BjcbLjTny0OW1d3ZO806XKpLWNKmeeW3MhE0sy8iwYQ==",
3864
+ "peerDependencies": {
3865
+ "workerize-loader": "*"
3866
+ }
3867
+ },
3868
  "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
3869
  "version": "5.1.1-v1",
3870
  "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
 
4291
  "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz",
4292
  "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="
4293
  },
4294
+ "node_modules/@sindresorhus/is": {
4295
+ "version": "0.14.0",
4296
+ "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz",
4297
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
4298
+ "engines": {
4299
+ "node": ">=6"
4300
+ }
4301
+ },
4302
  "node_modules/@sinonjs/commons": {
4303
  "version": "3.0.1",
4304
  "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz",
 
4507
  "tslib": "^2.4.0"
4508
  }
4509
  },
4510
+ "node_modules/@szmarczak/http-timer": {
4511
+ "version": "1.1.2",
4512
+ "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
4513
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
4514
+ "dependencies": {
4515
+ "defer-to-connect": "^1.0.1"
4516
+ },
4517
+ "engines": {
4518
+ "node": ">=6"
4519
+ }
4520
+ },
4521
  "node_modules/@tanstack/match-sorter-utils": {
4522
  "version": "8.11.3",
4523
  "resolved": "https://registry.npmmirror.com/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.3.tgz",
 
4880
  "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
4881
  "dev": true
4882
  },
4883
+ "node_modules/@tweenjs/tween.js": {
4884
+ "version": "23.1.3",
4885
+ "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
4886
+ "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA=="
4887
+ },
4888
  "node_modules/@types/aria-query": {
4889
  "version": "5.0.4",
4890
  "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz",
 
7569
  "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
7570
  "peer": true
7571
  },
7572
+ "node_modules/3d-force-graph": {
7573
+ "version": "1.73.3",
7574
+ "resolved": "https://registry.npmmirror.com/3d-force-graph/-/3d-force-graph-1.73.3.tgz",
7575
+ "integrity": "sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==",
7576
+ "dependencies": {
7577
+ "accessor-fn": "1",
7578
+ "kapsule": "1",
7579
+ "three": ">=0.118 <1",
7580
+ "three-forcegraph": "1",
7581
+ "three-render-objects": "^1.29"
7582
+ },
7583
+ "engines": {
7584
+ "node": ">=12"
7585
+ }
7586
+ },
7587
+ "node_modules/3d-force-graph-ar": {
7588
+ "version": "1.8.4",
7589
+ "resolved": "https://registry.npmmirror.com/3d-force-graph-ar/-/3d-force-graph-ar-1.8.4.tgz",
7590
+ "integrity": "sha512-GnggtrFODQqEfkFTJeQnPvwQVcYtJ81cE5/lsFdDumLkPWB2WoHSbs5k2tSNCZVGIUsKQs5kkEGCbNDeOhueiw==",
7591
+ "dependencies": {
7592
+ "aframe-forcegraph-component": "3",
7593
+ "kapsule": "1"
7594
+ },
7595
+ "engines": {
7596
+ "node": ">=12"
7597
+ }
7598
+ },
7599
+ "node_modules/3d-force-graph-vr": {
7600
+ "version": "2.2.5",
7601
+ "resolved": "https://registry.npmmirror.com/3d-force-graph-vr/-/3d-force-graph-vr-2.2.5.tgz",
7602
+ "integrity": "sha512-Lq31Ido+QQE0iWZNmyKVcsY2rmyMJaBzRgqG/4zZUY2nOBOmf/8TQF7kHSsW564UaZtx4FvjamHyVSkenPy9BA==",
7603
+ "dependencies": {
7604
+ "accessor-fn": "1",
7605
+ "aframe": "^1.5",
7606
+ "aframe-extras": "^7.2",
7607
+ "aframe-forcegraph-component": "3",
7608
+ "kapsule": "1",
7609
+ "polished": "4"
7610
+ },
7611
+ "engines": {
7612
+ "node": ">=12"
7613
+ }
7614
+ },
7615
  "node_modules/abab": {
7616
  "version": "2.0.6",
7617
  "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz",
 
7631
  "node": ">= 0.6"
7632
  }
7633
  },
7634
+ "node_modules/accessor-fn": {
7635
+ "version": "1.5.1",
7636
+ "resolved": "https://registry.npmmirror.com/accessor-fn/-/accessor-fn-1.5.1.tgz",
7637
+ "integrity": "sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==",
7638
+ "engines": {
7639
+ "node": ">=12"
7640
+ }
7641
+ },
7642
  "node_modules/acorn": {
7643
  "version": "8.11.3",
7644
  "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
 
7704
  "node": ">= 10.0.0"
7705
  }
7706
  },
7707
+ "node_modules/aframe": {
7708
+ "version": "1.6.0",
7709
+ "resolved": "https://registry.npmmirror.com/aframe/-/aframe-1.6.0.tgz",
7710
+ "integrity": "sha512-+P1n2xKGZQbCNW4lTwfue9in2KmfAwYD/BZOU5uXKrJCTegPyUZZX/haJRR9Rb33ij+KPj3vFdwT5ALaucXTNA==",
7711
+ "dependencies": {
7712
+ "buffer": "^6.0.3",
7713
+ "debug": "^4.3.4",
7714
+ "deep-assign": "^2.0.0",
7715
+ "load-bmfont": "^1.2.3",
7716
+ "super-animejs": "^3.1.0",
7717
+ "three": "npm:[email protected]",
7718
+ "three-bmfont-text": "github:dmarcos/three-bmfont-text#eed4878795be9b3e38cf6aec6b903f56acd1f695",
7719
+ "webvr-polyfill": "^0.10.12"
7720
+ },
7721
+ "engines": {
7722
+ "node": ">= 4.6.0",
7723
+ "npm": ">= 2.15.9"
7724
+ }
7725
+ },
7726
+ "node_modules/aframe-extras": {
7727
+ "version": "7.5.0",
7728
+ "resolved": "https://registry.npmmirror.com/aframe-extras/-/aframe-extras-7.5.0.tgz",
7729
+ "integrity": "sha512-9GmDfjfq6qCzSSkvkzf82hqVkEqGVPyCU81ttlfk0yL9+mepLFmVC+Wda8DCP25jZGoY7wm33vs0QadDelnxTg==",
7730
+ "dependencies": {
7731
+ "nipplejs": "^0.10.2",
7732
+ "three": "^0.164.0",
7733
+ "three-pathfinding": "^1.3.0"
7734
+ }
7735
+ },
7736
+ "node_modules/aframe-extras/node_modules/three": {
7737
+ "version": "0.164.1",
7738
+ "resolved": "https://registry.npmmirror.com/three/-/three-0.164.1.tgz",
7739
+ "integrity": "sha512-iC/hUBbl1vzFny7f5GtqzVXYjMJKaTPxiCxXfrvVdBi1Sf+jhd1CAkitiFwC7mIBFCo3MrDLJG97yisoaWig0w=="
7740
+ },
7741
+ "node_modules/aframe-forcegraph-component": {
7742
+ "version": "3.0.8",
7743
+ "resolved": "https://registry.npmmirror.com/aframe-forcegraph-component/-/aframe-forcegraph-component-3.0.8.tgz",
7744
+ "integrity": "sha512-ir1SzOYWYVQ4wtG18QwZRR/aVeZlZDXDbcRgFxSIc8A1YB6Mz3Mh0f0zMFKE3jAq481xNgpktxMvsWGZTPi63Q==",
7745
+ "dependencies": {
7746
+ "accessor-fn": "1",
7747
+ "three-forcegraph": "1"
7748
+ }
7749
+ },
7750
+ "node_modules/aframe/node_modules/buffer": {
7751
+ "version": "6.0.3",
7752
+ "resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
7753
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
7754
+ "funding": [
7755
+ {
7756
+ "type": "github",
7757
+ "url": "https://github.com/sponsors/feross"
7758
+ },
7759
+ {
7760
+ "type": "patreon",
7761
+ "url": "https://www.patreon.com/feross"
7762
+ },
7763
+ {
7764
+ "type": "consulting",
7765
+ "url": "https://feross.org/support"
7766
+ }
7767
+ ],
7768
+ "dependencies": {
7769
+ "base64-js": "^1.3.1",
7770
+ "ieee754": "^1.2.1"
7771
+ }
7772
+ },
7773
+ "node_modules/aframe/node_modules/three": {
7774
+ "name": "super-three",
7775
+ "version": "0.164.0",
7776
+ "resolved": "https://registry.npmmirror.com/super-three/-/super-three-0.164.0.tgz",
7777
+ "integrity": "sha512-yMtOkw2hSXfIvGlwcghCbhHGsKRAmh8ksDeOo/0HI7KlEVoIYKHiYLYe9GF6QBViNwzKGpMIz77XUDRveZ4XJg=="
7778
+ },
7779
  "node_modules/agent-base": {
7780
  "version": "6.0.2",
7781
  "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
 
7841
  "ajv": "^6.9.1"
7842
  }
7843
  },
7844
+ "node_modules/an-array": {
7845
+ "version": "1.0.0",
7846
+ "resolved": "https://registry.npmmirror.com/an-array/-/an-array-1.0.0.tgz",
7847
+ "integrity": "sha512-M175GYI7RmsYu24Ok383yZQa3eveDfNnmhTe3OQ3bm70bEovz2gWenH+ST/n32M8lrwLWk74hcPds5CDRPe2wg=="
7848
+ },
7849
  "node_modules/ansi-escapes": {
7850
  "version": "4.3.2",
7851
  "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
 
8072
  "node": ">= 0.4"
8073
  }
8074
  },
8075
+ "node_modules/array-shuffle": {
8076
+ "version": "1.0.1",
8077
+ "resolved": "https://registry.npmmirror.com/array-shuffle/-/array-shuffle-1.0.1.tgz",
8078
+ "integrity": "sha512-PBqgo1Y2XWSksBzq3GFPEb798ZrW2snAcmr4drbVeF/6MT/5aBlkGJEvu5A/CzXHf4EjbHOj/ZowatjlIiVidA==",
8079
+ "engines": {
8080
+ "node": ">=0.10.0"
8081
+ }
8082
+ },
8083
  "node_modules/array-tree-filter": {
8084
  "version": "2.1.0",
8085
  "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
 
8194
  "node": ">=0.10.0"
8195
  }
8196
  },
8197
+ "node_modules/as-number": {
8198
+ "version": "1.0.0",
8199
+ "resolved": "https://registry.npmmirror.com/as-number/-/as-number-1.0.0.tgz",
8200
+ "integrity": "sha512-HkI/zLo2AbSRO4fqVkmyf3hms0bJDs3iboHqTrNuwTiCRvdYXM7HFhfhB6Dk51anV2LM/IMB83mtK9mHw4FlAg=="
8201
+ },
8202
  "node_modules/asn1.js": {
8203
  "version": "4.10.1",
8204
  "resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-4.10.1.tgz",
 
8572
  "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
8573
  "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
8574
  },
8575
+ "node_modules/bezier-js": {
8576
+ "version": "6.1.4",
8577
+ "resolved": "https://registry.npmmirror.com/bezier-js/-/bezier-js-6.1.4.tgz",
8578
+ "integrity": "sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==",
8579
+ "funding": {
8580
+ "type": "individual",
8581
+ "url": "https://github.com/Pomax/bezierjs/blob/master/FUNDING.md"
8582
+ }
8583
+ },
8584
  "node_modules/big-integer": {
8585
  "version": "1.6.52",
8586
  "resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz",
 
8855
  "node-int64": "^0.4.0"
8856
  }
8857
  },
8858
+ "node_modules/bubblesets-js": {
8859
+ "version": "2.3.3",
8860
+ "resolved": "https://registry.npmmirror.com/bubblesets-js/-/bubblesets-js-2.3.3.tgz",
8861
+ "integrity": "sha512-7++8/mcahpmJyIGY+YSPG5o2FnTIeNgVx17eoFyEjzcTblpcMd8SSUtt67MlKYlj8mIh9/aYpY+1GvPoy6pViQ=="
8862
+ },
8863
  "node_modules/buffer": {
8864
  "version": "4.9.2",
8865
  "resolved": "https://registry.npmmirror.com/buffer/-/buffer-4.9.2.tgz",
 
8870
  "isarray": "^1.0.0"
8871
  }
8872
  },
8873
+ "node_modules/buffer-equal": {
8874
+ "version": "0.0.1",
8875
+ "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz",
8876
+ "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==",
8877
+ "engines": {
8878
+ "node": ">=0.4.0"
8879
+ }
8880
+ },
8881
  "node_modules/buffer-from": {
8882
  "version": "1.1.2",
8883
  "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
 
8952
  "node": ">=0.10.0"
8953
  }
8954
  },
8955
+ "node_modules/cacheable-request": {
8956
+ "version": "6.1.0",
8957
+ "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-6.1.0.tgz",
8958
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
8959
+ "dependencies": {
8960
+ "clone-response": "^1.0.2",
8961
+ "get-stream": "^5.1.0",
8962
+ "http-cache-semantics": "^4.0.0",
8963
+ "keyv": "^3.0.0",
8964
+ "lowercase-keys": "^2.0.0",
8965
+ "normalize-url": "^4.1.0",
8966
+ "responselike": "^1.0.2"
8967
+ },
8968
+ "engines": {
8969
+ "node": ">=8"
8970
+ }
8971
+ },
8972
+ "node_modules/cacheable-request/node_modules/get-stream": {
8973
+ "version": "5.2.0",
8974
+ "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz",
8975
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
8976
+ "dependencies": {
8977
+ "pump": "^3.0.0"
8978
+ },
8979
+ "engines": {
8980
+ "node": ">=8"
8981
+ },
8982
+ "funding": {
8983
+ "url": "https://github.com/sponsors/sindresorhus"
8984
+ }
8985
+ },
8986
+ "node_modules/cacheable-request/node_modules/json-buffer": {
8987
+ "version": "3.0.0",
8988
+ "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz",
8989
+ "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
8990
+ },
8991
+ "node_modules/cacheable-request/node_modules/keyv": {
8992
+ "version": "3.1.0",
8993
+ "resolved": "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz",
8994
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
8995
+ "dependencies": {
8996
+ "json-buffer": "3.0.0"
8997
+ }
8998
+ },
8999
+ "node_modules/cacheable-request/node_modules/lowercase-keys": {
9000
+ "version": "2.0.0",
9001
+ "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
9002
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
9003
+ "engines": {
9004
+ "node": ">=8"
9005
+ }
9006
+ },
9007
  "node_modules/call-bind": {
9008
  "version": "1.0.7",
9009
  "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
 
9084
  "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz",
9085
  "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg=="
9086
  },
9087
+ "node_modules/canvas-color-tracker": {
9088
+ "version": "1.2.2",
9089
+ "resolved": "https://registry.npmmirror.com/canvas-color-tracker/-/canvas-color-tracker-1.2.2.tgz",
9090
+ "integrity": "sha512-r+u/Ft2ka4Rj274Ts4L9bhYZLuMvbuJ/yL4seP0s+Pi+i9CM0caD+Sd//yseS5EVBJ2SKSmq36h2mNYUCdmTfA==",
9091
+ "dependencies": {
9092
+ "tinycolor2": "^1.6.0"
9093
+ },
9094
+ "engines": {
9095
+ "node": ">=12"
9096
+ }
9097
+ },
9098
+ "node_modules/cardboard-vr-display": {
9099
+ "version": "1.0.19",
9100
+ "resolved": "https://registry.npmmirror.com/cardboard-vr-display/-/cardboard-vr-display-1.0.19.tgz",
9101
+ "integrity": "sha512-+MjcnWKAkb95p68elqZLDPzoiF/dGncQilLGvPBM5ZorABp/ao3lCs7nnRcYBckmuNkg1V/5rdGDKoUaCVsHzQ==",
9102
+ "dependencies": {
9103
+ "gl-preserve-state": "^1.0.0",
9104
+ "nosleep.js": "^0.7.0",
9105
+ "webvr-polyfill-dpdb": "^1.0.17"
9106
+ }
9107
+ },
9108
  "node_modules/ccount": {
9109
  "version": "2.0.1",
9110
  "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz",
9111
  "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="
9112
  },
9113
+ "node_modules/centra": {
9114
+ "version": "2.7.0",
9115
+ "resolved": "https://registry.npmmirror.com/centra/-/centra-2.7.0.tgz",
9116
+ "integrity": "sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==",
9117
+ "dependencies": {
9118
+ "follow-redirects": "^1.15.6"
9119
+ }
9120
+ },
9121
  "node_modules/chalk": {
9122
  "version": "2.4.2",
9123
  "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
 
9442
  "node": ">=12"
9443
  }
9444
  },
9445
+ "node_modules/clone-response": {
9446
+ "version": "1.0.3",
9447
+ "resolved": "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz",
9448
+ "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
9449
+ "dependencies": {
9450
+ "mimic-response": "^1.0.0"
9451
+ },
9452
+ "funding": {
9453
+ "url": "https://github.com/sponsors/sindresorhus"
9454
+ }
9455
+ },
9456
  "node_modules/clsx": {
9457
  "version": "2.1.0",
9458
  "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.0.tgz",
 
9517
  "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
9518
  "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
9519
  },
9520
+ "node_modules/color-string": {
9521
+ "version": "1.9.1",
9522
+ "resolved": "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz",
9523
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
9524
+ "dependencies": {
9525
+ "color-name": "^1.0.0",
9526
+ "simple-swizzle": "^0.2.2"
9527
+ }
9528
+ },
9529
  "node_modules/colord": {
9530
  "version": "2.9.3",
9531
  "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz",
 
9549
  "node": ">= 0.8"
9550
  }
9551
  },
9552
+ "node_modules/comlink": {
9553
+ "version": "4.4.1",
9554
+ "resolved": "https://registry.npmmirror.com/comlink/-/comlink-4.4.1.tgz",
9555
+ "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q=="
9556
+ },
9557
  "node_modules/comma-separated-tokens": {
9558
  "version": "2.0.3",
9559
  "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
 
10522
  "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz",
10523
  "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
10524
  },
10525
+ "node_modules/d3-binarytree": {
10526
+ "version": "1.0.2",
10527
+ "resolved": "https://registry.npmmirror.com/d3-binarytree/-/d3-binarytree-1.0.2.tgz",
10528
+ "integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw=="
10529
+ },
10530
  "node_modules/d3-color": {
10531
  "version": "3.1.0",
10532
  "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz",
 
10563
  "node": ">=12"
10564
  }
10565
  },
10566
+ "node_modules/d3-force": {
10567
+ "version": "3.0.0",
10568
+ "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz",
10569
+ "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
10570
+ "dependencies": {
10571
+ "d3-dispatch": "1 - 3",
10572
+ "d3-quadtree": "1 - 3",
10573
+ "d3-timer": "1 - 3"
10574
+ },
10575
+ "engines": {
10576
+ "node": ">=12"
10577
+ }
10578
+ },
10579
+ "node_modules/d3-force-3d": {
10580
+ "version": "3.0.5",
10581
+ "resolved": "https://registry.npmmirror.com/d3-force-3d/-/d3-force-3d-3.0.5.tgz",
10582
+ "integrity": "sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==",
10583
+ "dependencies": {
10584
+ "d3-binarytree": "1",
10585
+ "d3-dispatch": "1 - 3",
10586
+ "d3-octree": "1",
10587
+ "d3-quadtree": "1 - 3",
10588
+ "d3-timer": "1 - 3"
10589
+ },
10590
+ "engines": {
10591
+ "node": ">=12"
10592
+ }
10593
+ },
10594
  "node_modules/d3-format": {
10595
  "version": "3.1.0",
10596
  "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz",
 
10610
  "node": ">=12"
10611
  }
10612
  },
10613
+ "node_modules/d3-octree": {
10614
+ "version": "1.0.2",
10615
+ "resolved": "https://registry.npmmirror.com/d3-octree/-/d3-octree-1.0.2.tgz",
10616
+ "integrity": "sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA=="
10617
+ },
10618
  "node_modules/d3-path": {
10619
  "version": "3.1.0",
10620
  "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz",
 
10628
  "resolved": "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-1.0.6.tgz",
10629
  "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
10630
  },
10631
+ "node_modules/d3-quadtree": {
10632
+ "version": "3.0.1",
10633
+ "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
10634
+ "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
10635
+ "engines": {
10636
+ "node": ">=12"
10637
+ }
10638
+ },
10639
  "node_modules/d3-scale": {
10640
  "version": "4.0.2",
10641
  "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz",
 
10651
  "node": ">=12"
10652
  }
10653
  },
10654
+ "node_modules/d3-scale-chromatic": {
10655
+ "version": "3.1.0",
10656
+ "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
10657
+ "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
10658
+ "dependencies": {
10659
+ "d3-color": "1 - 3",
10660
+ "d3-interpolate": "1 - 3"
10661
+ },
10662
+ "engines": {
10663
+ "node": ">=12"
10664
+ }
10665
+ },
10666
  "node_modules/d3-scale/node_modules/d3-array": {
10667
  "version": "3.2.4",
10668
  "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz",
 
10767
  "node": ">=12"
10768
  }
10769
  },
10770
+ "node_modules/dagre": {
10771
+ "version": "0.8.5",
10772
+ "resolved": "https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz",
10773
+ "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==",
10774
+ "dependencies": {
10775
+ "graphlib": "^2.1.8",
10776
+ "lodash": "^4.17.15"
10777
+ }
10778
+ },
10779
+ "node_modules/data-joint": {
10780
+ "version": "1.3.1",
10781
+ "resolved": "https://registry.npmmirror.com/data-joint/-/data-joint-1.3.1.tgz",
10782
+ "integrity": "sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==",
10783
+ "dependencies": {
10784
+ "index-array-by": "^1.4.0"
10785
+ },
10786
+ "engines": {
10787
+ "node": ">=12"
10788
+ }
10789
+ },
10790
  "node_modules/data-uri-to-buffer": {
10791
  "version": "4.0.1",
10792
  "resolved": "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
 
10927
  "node": ">=0.10"
10928
  }
10929
  },
10930
+ "node_modules/decompress-response": {
10931
+ "version": "3.3.0",
10932
+ "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz",
10933
+ "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
10934
+ "dependencies": {
10935
+ "mimic-response": "^1.0.0"
10936
+ },
10937
+ "engines": {
10938
+ "node": ">=4"
10939
+ }
10940
+ },
10941
  "node_modules/dedent": {
10942
  "version": "1.5.3",
10943
  "resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz",
 
10952
  }
10953
  }
10954
  },
10955
+ "node_modules/deep-assign": {
10956
+ "version": "2.0.0",
10957
+ "resolved": "https://registry.npmmirror.com/deep-assign/-/deep-assign-2.0.0.tgz",
10958
+ "integrity": "sha512-2QhG3Kxulu4XIF3WL5C5x0sc/S17JLgm1SfvDfIRsR/5m7ZGmcejII7fZ2RyWhN0UWIJm0TNM/eKow6LAn3evQ==",
10959
+ "dependencies": {
10960
+ "is-obj": "^1.0.0"
10961
+ },
10962
+ "engines": {
10963
+ "node": ">=0.10.0"
10964
+ }
10965
+ },
10966
  "node_modules/deep-is": {
10967
  "version": "0.1.4",
10968
  "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz",
 
11084
  "node": ">=12"
11085
  }
11086
  },
11087
+ "node_modules/defer-to-connect": {
11088
+ "version": "1.1.3",
11089
+ "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
11090
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
11091
+ },
11092
  "node_modules/define-data-property": {
11093
  "version": "1.1.4",
11094
  "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
 
11352
  "node_modules/dom-walk": {
11353
  "version": "0.1.2",
11354
  "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz",
11355
+ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
 
11356
  },
11357
  "node_modules/domain-browser": {
11358
  "version": "1.2.0",
 
11423
  "tslib": "^2.0.3"
11424
  }
11425
  },
11426
+ "node_modules/dtype": {
11427
+ "version": "2.0.0",
11428
+ "resolved": "https://registry.npmmirror.com/dtype/-/dtype-2.0.0.tgz",
11429
+ "integrity": "sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==",
11430
+ "engines": {
11431
+ "node": ">= 0.8.0"
11432
+ }
11433
+ },
11434
  "node_modules/duck": {
11435
  "version": "0.1.12",
11436
  "resolved": "https://registry.npmmirror.com/duck/-/duck-0.1.12.tgz",
 
11445
  "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
11446
  "dev": true
11447
  },
11448
+ "node_modules/duplexer3": {
11449
+ "version": "0.1.5",
11450
+ "resolved": "https://registry.npmmirror.com/duplexer3/-/duplexer3-0.1.5.tgz",
11451
+ "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
11452
+ },
11453
  "node_modules/duplexify": {
11454
  "version": "4.1.2",
11455
  "resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-4.1.2.tgz",
 
13001
  "bser": "2.1.1"
13002
  }
13003
  },
13004
+ "node_modules/fecha": {
13005
+ "version": "4.2.3",
13006
+ "resolved": "https://registry.npmmirror.com/fecha/-/fecha-4.2.3.tgz",
13007
+ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
13008
+ },
13009
  "node_modules/fetch-blob": {
13010
  "version": "3.2.0",
13011
  "resolved": "https://registry.npmmirror.com/fetch-blob/-/fetch-blob-3.2.0.tgz",
 
13181
  "node": ">=0.10.0"
13182
  }
13183
  },
13184
+ "node_modules/force-graph": {
13185
+ "version": "1.43.5",
13186
+ "resolved": "https://registry.npmmirror.com/force-graph/-/force-graph-1.43.5.tgz",
13187
+ "integrity": "sha512-HveLELh9yhZXO/QOfaFS38vlwJZ/3sKu+jarfXzRmbmihSOH/BbRWnUvmg8wLFiYy6h4HlH4lkRfZRccHYmXgA==",
13188
+ "dependencies": {
13189
+ "@tweenjs/tween.js": "18 - 23",
13190
+ "accessor-fn": "1",
13191
+ "bezier-js": "3 - 6",
13192
+ "canvas-color-tracker": "1",
13193
+ "d3-array": "1 - 3",
13194
+ "d3-drag": "2 - 3",
13195
+ "d3-force-3d": "2 - 3",
13196
+ "d3-scale": "1 - 4",
13197
+ "d3-scale-chromatic": "1 - 3",
13198
+ "d3-selection": "2 - 3",
13199
+ "d3-zoom": "2 - 3",
13200
+ "index-array-by": "1",
13201
+ "kapsule": "^1.14",
13202
+ "lodash-es": "4"
13203
+ },
13204
+ "engines": {
13205
+ "node": ">=12"
13206
+ }
13207
+ },
13208
  "node_modules/foreground-child": {
13209
  "version": "3.1.1",
13210
  "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz",
 
13389
  "node": ">= 0.6"
13390
  }
13391
  },
13392
+ "node_modules/fromentries": {
13393
+ "version": "1.3.2",
13394
+ "resolved": "https://registry.npmmirror.com/fromentries/-/fromentries-1.3.2.tgz",
13395
+ "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
13396
+ "funding": [
13397
+ {
13398
+ "type": "github",
13399
+ "url": "https://github.com/sponsors/feross"
13400
+ },
13401
+ {
13402
+ "type": "patreon",
13403
+ "url": "https://www.patreon.com/feross"
13404
+ },
13405
+ {
13406
+ "type": "consulting",
13407
+ "url": "https://feross.org/support"
13408
+ }
13409
+ ]
13410
+ },
13411
  "node_modules/fs-extra": {
13412
  "version": "10.1.0",
13413
  "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz",
 
13571
  "resolved": "https://registry.npmmirror.com/git-hooks-list/-/git-hooks-list-3.1.0.tgz",
13572
  "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA=="
13573
  },
13574
+ "node_modules/gl-matrix": {
13575
+ "version": "3.4.3",
13576
+ "resolved": "https://registry.npmmirror.com/gl-matrix/-/gl-matrix-3.4.3.tgz",
13577
+ "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA=="
13578
+ },
13579
+ "node_modules/gl-preserve-state": {
13580
+ "version": "1.0.0",
13581
+ "resolved": "https://registry.npmmirror.com/gl-preserve-state/-/gl-preserve-state-1.0.0.tgz",
13582
+ "integrity": "sha512-zQZ25l3haD4hvgJZ6C9+s0ebdkW9y+7U2qxvGu1uWOJh8a4RU+jURIKEQhf8elIlFpMH6CrAY2tH0mYrRjet3Q=="
13583
+ },
13584
  "node_modules/glob": {
13585
  "version": "7.2.3",
13586
  "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
 
13618
  "version": "4.4.0",
13619
  "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz",
13620
  "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
 
13621
  "dependencies": {
13622
  "min-document": "^2.19.0",
13623
  "process": "^0.11.10"
 
13707
  "get-intrinsic": "^1.1.3"
13708
  }
13709
  },
13710
+ "node_modules/got": {
13711
+ "version": "9.6.0",
13712
+ "resolved": "https://registry.npmmirror.com/got/-/got-9.6.0.tgz",
13713
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
13714
+ "dependencies": {
13715
+ "@sindresorhus/is": "^0.14.0",
13716
+ "@szmarczak/http-timer": "^1.1.2",
13717
+ "cacheable-request": "^6.0.0",
13718
+ "decompress-response": "^3.3.0",
13719
+ "duplexer3": "^0.1.4",
13720
+ "get-stream": "^4.1.0",
13721
+ "lowercase-keys": "^1.0.1",
13722
+ "mimic-response": "^1.0.1",
13723
+ "p-cancelable": "^1.0.0",
13724
+ "to-readable-stream": "^1.0.0",
13725
+ "url-parse-lax": "^3.0.0"
13726
+ },
13727
+ "engines": {
13728
+ "node": ">=8.6"
13729
+ }
13730
+ },
13731
+ "node_modules/got/node_modules/get-stream": {
13732
+ "version": "4.1.0",
13733
+ "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz",
13734
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
13735
+ "dependencies": {
13736
+ "pump": "^3.0.0"
13737
+ },
13738
+ "engines": {
13739
+ "node": ">=6"
13740
+ }
13741
+ },
13742
  "node_modules/graceful-fs": {
13743
  "version": "4.2.11",
13744
  "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
 
13749
  "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz",
13750
  "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
13751
  },
13752
+ "node_modules/graphlib": {
13753
+ "version": "2.1.8",
13754
+ "resolved": "https://registry.npmmirror.com/graphlib/-/graphlib-2.1.8.tgz",
13755
+ "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
13756
+ "dependencies": {
13757
+ "lodash": "^4.17.15"
13758
+ }
13759
+ },
13760
  "node_modules/gzip-size": {
13761
  "version": "6.0.0",
13762
  "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
 
14263
  "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz",
14264
  "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
14265
  },
14266
+ "node_modules/http-cache-semantics": {
14267
+ "version": "4.1.1",
14268
+ "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
14269
+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
14270
+ },
14271
  "node_modules/http-deceiver": {
14272
  "version": "1.2.7",
14273
  "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz",
 
14320
  "node": ">= 6"
14321
  }
14322
  },
14323
+ "node_modules/hull.js": {
14324
+ "version": "1.0.6",
14325
+ "resolved": "https://registry.npmmirror.com/hull.js/-/hull.js-1.0.6.tgz",
14326
+ "integrity": "sha512-TC7e9sHYOaCVms0sn2hN7buxnaGfcl9h5EPVoVX9DTPoMpqQiS9bf3tmGDgiNaMVHBD91RAvWjCxrJ5Jx8BI5A==",
14327
+ "deprecated": "This package is not maintained anymore on npmjs.com, please use GitHub URL to fetch the latest version. See the package homepage for instructions."
14328
+ },
14329
  "node_modules/human-id": {
14330
  "version": "4.1.1",
14331
  "resolved": "https://registry.npmmirror.com/human-id/-/human-id-4.1.1.tgz",
 
14521
  "node": ">=8"
14522
  }
14523
  },
14524
+ "node_modules/index-array-by": {
14525
+ "version": "1.4.2",
14526
+ "resolved": "https://registry.npmmirror.com/index-array-by/-/index-array-by-1.4.2.tgz",
14527
+ "integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==",
14528
+ "engines": {
14529
+ "node": ">=12"
14530
+ }
14531
+ },
14532
  "node_modules/inflight": {
14533
  "version": "1.0.6",
14534
  "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
 
14659
  "is-decimal": "^2.0.0"
14660
  }
14661
  },
14662
+ "node_modules/is-any-array": {
14663
+ "version": "2.0.1",
14664
+ "resolved": "https://registry.npmmirror.com/is-any-array/-/is-any-array-2.0.1.tgz",
14665
+ "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ=="
14666
+ },
14667
  "node_modules/is-arguments": {
14668
  "version": "1.1.1",
14669
  "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz",
 
14749
  "node_modules/is-buffer": {
14750
  "version": "1.1.6",
14751
  "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz",
14752
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
 
14753
  },
14754
  "node_modules/is-callable": {
14755
  "version": "1.2.7",
 
14898
  "node": ">=8"
14899
  }
14900
  },
14901
+ "node_modules/is-function": {
14902
+ "version": "1.0.2",
14903
+ "resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz",
14904
+ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
14905
+ },
14906
  "node_modules/is-generator-fn": {
14907
  "version": "2.1.0",
14908
  "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
 
14996
  "node": ">= 0.4"
14997
  }
14998
  },
14999
+ "node_modules/is-obj": {
15000
+ "version": "1.0.1",
15001
+ "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz",
15002
+ "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
15003
+ "engines": {
15004
+ "node": ">=0.10.0"
15005
+ }
15006
+ },
15007
  "node_modules/is-path-inside": {
15008
  "version": "3.0.3",
15009
  "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz",
 
15367
  "resolved": "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz",
15368
  "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg=="
15369
  },
15370
+ "node_modules/jerrypick": {
15371
+ "version": "1.1.1",
15372
+ "resolved": "https://registry.npmmirror.com/jerrypick/-/jerrypick-1.1.1.tgz",
15373
+ "integrity": "sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==",
15374
+ "engines": {
15375
+ "node": ">=12"
15376
+ }
15377
+ },
15378
  "node_modules/jest": {
15379
  "version": "29.7.0",
15380
  "resolved": "https://registry.npmmirror.com/jest/-/jest-29.7.0.tgz",
 
17927
  "node": ">=8"
17928
  }
17929
  },
17930
+ "node_modules/kapsule": {
17931
+ "version": "1.14.5",
17932
+ "resolved": "https://registry.npmmirror.com/kapsule/-/kapsule-1.14.5.tgz",
17933
+ "integrity": "sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==",
17934
+ "dependencies": {
17935
+ "lodash-es": "4"
17936
+ },
17937
+ "engines": {
17938
+ "node": ">=12"
17939
+ }
17940
+ },
17941
  "node_modules/keyv": {
17942
  "version": "4.5.4",
17943
  "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz",
 
17975
  "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz",
17976
  "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="
17977
  },
17978
+ "node_modules/layout-bmfont-text": {
17979
+ "version": "1.3.4",
17980
+ "resolved": "https://registry.npmmirror.com/layout-bmfont-text/-/layout-bmfont-text-1.3.4.tgz",
17981
+ "integrity": "sha512-mceomHZ8W7pSKQhTdLvOe1Im4n37u8xa5Gr0J3KPCHRMO/9o7+goWIOzZcUUd+Xgzy3+22bvoIQ0OaN3LRtgaw==",
17982
+ "dependencies": {
17983
+ "as-number": "^1.0.0",
17984
+ "word-wrapper": "^1.0.7",
17985
+ "xtend": "^4.0.0"
17986
+ }
17987
+ },
17988
  "node_modules/less": {
17989
  "version": "4.1.3",
17990
  "resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
 
18539
  "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
18540
  }
18541
  },
18542
+ "node_modules/load-bmfont": {
18543
+ "version": "1.4.2",
18544
+ "resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.2.tgz",
18545
+ "integrity": "sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==",
18546
+ "dependencies": {
18547
+ "buffer-equal": "0.0.1",
18548
+ "mime": "^1.3.4",
18549
+ "parse-bmfont-ascii": "^1.0.3",
18550
+ "parse-bmfont-binary": "^1.0.5",
18551
+ "parse-bmfont-xml": "^1.1.4",
18552
+ "phin": "^3.7.1",
18553
+ "xhr": "^2.0.1",
18554
+ "xtend": "^4.0.0"
18555
+ }
18556
+ },
18557
  "node_modules/loader-runner": {
18558
  "version": "4.3.0",
18559
  "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
 
18603
  "node_modules/lodash-es": {
18604
  "version": "4.17.21",
18605
  "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
18606
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
 
 
18607
  },
18608
  "node_modules/lodash._reinterpolate": {
18609
  "version": "3.0.0",
 
18844
  "tslib": "^2.0.3"
18845
  }
18846
  },
18847
+ "node_modules/lowercase-keys": {
18848
+ "version": "1.0.1",
18849
+ "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
18850
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
18851
+ "engines": {
18852
+ "node": ">=0.10.0"
18853
+ }
18854
+ },
18855
  "node_modules/lowlight": {
18856
  "version": "1.20.0",
18857
  "resolved": "https://registry.npmmirror.com/lowlight/-/lowlight-1.20.0.tgz",
 
18946
  "node": ">=0.10.0"
18947
  }
18948
  },
18949
+ "node_modules/map-limit": {
18950
+ "version": "0.0.1",
18951
+ "resolved": "https://registry.npmmirror.com/map-limit/-/map-limit-0.0.1.tgz",
18952
+ "integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==",
18953
+ "dependencies": {
18954
+ "once": "~1.3.0"
18955
+ }
18956
+ },
18957
+ "node_modules/map-limit/node_modules/once": {
18958
+ "version": "1.3.3",
18959
+ "resolved": "https://registry.npmmirror.com/once/-/once-1.3.3.tgz",
18960
+ "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==",
18961
+ "dependencies": {
18962
+ "wrappy": "1"
18963
+ }
18964
+ },
18965
  "node_modules/map-obj": {
18966
  "version": "4.3.0",
18967
  "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz",
 
19644
  "node": ">=6"
19645
  }
19646
  },
19647
+ "node_modules/mimic-response": {
19648
+ "version": "1.0.1",
19649
+ "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz",
19650
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
19651
+ "engines": {
19652
+ "node": ">=4"
19653
+ }
19654
+ },
19655
  "node_modules/min-document": {
19656
  "version": "2.19.0",
19657
  "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
19658
  "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
 
19659
  "dependencies": {
19660
  "dom-walk": "^0.1.0"
19661
  }
 
19692
  "node_modules/minimist": {
19693
  "version": "1.2.8",
19694
  "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
19695
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
 
19696
  },
19697
  "node_modules/minimist-options": {
19698
  "version": "4.1.0",
 
19750
  "mkdirp": "bin/cmd.js"
19751
  }
19752
  },
19753
+ "node_modules/ml-array-max": {
19754
+ "version": "1.2.4",
19755
+ "resolved": "https://registry.npmmirror.com/ml-array-max/-/ml-array-max-1.2.4.tgz",
19756
+ "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==",
19757
+ "dependencies": {
19758
+ "is-any-array": "^2.0.0"
19759
+ }
19760
+ },
19761
+ "node_modules/ml-array-min": {
19762
+ "version": "1.2.3",
19763
+ "resolved": "https://registry.npmmirror.com/ml-array-min/-/ml-array-min-1.2.3.tgz",
19764
+ "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==",
19765
+ "dependencies": {
19766
+ "is-any-array": "^2.0.0"
19767
+ }
19768
+ },
19769
+ "node_modules/ml-array-rescale": {
19770
+ "version": "1.3.7",
19771
+ "resolved": "https://registry.npmmirror.com/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz",
19772
+ "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==",
19773
+ "dependencies": {
19774
+ "is-any-array": "^2.0.0",
19775
+ "ml-array-max": "^1.2.4",
19776
+ "ml-array-min": "^1.2.3"
19777
+ }
19778
+ },
19779
+ "node_modules/ml-matrix": {
19780
+ "version": "6.11.1",
19781
+ "resolved": "https://registry.npmmirror.com/ml-matrix/-/ml-matrix-6.11.1.tgz",
19782
+ "integrity": "sha512-Fvp1xF1O07tt6Ux9NcnEQTei5UlqbRpvvaFZGs7l3Ij+nOaEDcmbSVtxwNa8V4IfdyFI1NLNUteroMJ1S6vcEg==",
19783
+ "dependencies": {
19784
+ "is-any-array": "^2.0.1",
19785
+ "ml-array-rescale": "^1.3.7"
19786
+ }
19787
+ },
19788
  "node_modules/moment": {
19789
  "version": "2.30.1",
19790
  "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz",
 
19878
  "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==",
19879
  "dev": true
19880
  },
19881
+ "node_modules/new-array": {
19882
+ "version": "1.0.0",
19883
+ "resolved": "https://registry.npmmirror.com/new-array/-/new-array-1.0.0.tgz",
19884
+ "integrity": "sha512-K5AyFYbuHZ4e/ti52y7k18q8UHsS78FlRd85w2Fmsd6AkuLipDihPflKC0p3PN5i8II7+uHxo+CtkLiJDfmS5A=="
19885
+ },
19886
  "node_modules/next-tick": {
19887
  "version": "1.1.0",
19888
  "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
19889
  "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
19890
  "dev": true
19891
  },
19892
+ "node_modules/ngraph.events": {
19893
+ "version": "1.2.2",
19894
+ "resolved": "https://registry.npmmirror.com/ngraph.events/-/ngraph.events-1.2.2.tgz",
19895
+ "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ=="
19896
+ },
19897
+ "node_modules/ngraph.forcelayout": {
19898
+ "version": "3.3.1",
19899
+ "resolved": "https://registry.npmmirror.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz",
19900
+ "integrity": "sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==",
19901
+ "dependencies": {
19902
+ "ngraph.events": "^1.0.0",
19903
+ "ngraph.merge": "^1.0.0",
19904
+ "ngraph.random": "^1.0.0"
19905
+ }
19906
+ },
19907
+ "node_modules/ngraph.graph": {
19908
+ "version": "20.0.1",
19909
+ "resolved": "https://registry.npmmirror.com/ngraph.graph/-/ngraph.graph-20.0.1.tgz",
19910
+ "integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==",
19911
+ "dependencies": {
19912
+ "ngraph.events": "^1.2.1"
19913
+ }
19914
+ },
19915
+ "node_modules/ngraph.merge": {
19916
+ "version": "1.0.0",
19917
+ "resolved": "https://registry.npmmirror.com/ngraph.merge/-/ngraph.merge-1.0.0.tgz",
19918
+ "integrity": "sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg=="
19919
+ },
19920
+ "node_modules/ngraph.random": {
19921
+ "version": "1.1.0",
19922
+ "resolved": "https://registry.npmmirror.com/ngraph.random/-/ngraph.random-1.1.0.tgz",
19923
+ "integrity": "sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw=="
19924
+ },
19925
+ "node_modules/nice-color-palettes": {
19926
+ "version": "3.0.0",
19927
+ "resolved": "https://registry.npmmirror.com/nice-color-palettes/-/nice-color-palettes-3.0.0.tgz",
19928
+ "integrity": "sha512-lL4AjabAAFi313tjrtmgm/bxCRzp4l3vCshojfV/ij3IPdtnRqv6Chcw+SqJUhbe7g3o3BecaqCJYUNLswGBhQ==",
19929
+ "dependencies": {
19930
+ "got": "^9.2.2",
19931
+ "map-limit": "0.0.1",
19932
+ "minimist": "^1.2.0",
19933
+ "new-array": "^1.0.0"
19934
+ },
19935
+ "bin": {
19936
+ "nice-color-palettes": "bin/index.js"
19937
+ }
19938
+ },
19939
+ "node_modules/nipplejs": {
19940
+ "version": "0.10.2",
19941
+ "resolved": "https://registry.npmmirror.com/nipplejs/-/nipplejs-0.10.2.tgz",
19942
+ "integrity": "sha512-XGxFY8C2DOtobf1fK+MXINTzkkXJLjZDDpfQhOUZf4TSytbc9s4bmA0lB9eKKM8iDivdr9NQkO7DpIQfsST+9g=="
19943
+ },
19944
  "node_modules/no-case": {
19945
  "version": "3.0.4",
19946
  "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz",
 
20174
  "node": ">=0.10.0"
20175
  }
20176
  },
20177
+ "node_modules/normalize-url": {
20178
+ "version": "4.5.1",
20179
+ "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-4.5.1.tgz",
20180
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
20181
+ "engines": {
20182
+ "node": ">=8"
20183
+ }
20184
+ },
20185
+ "node_modules/nosleep.js": {
20186
+ "version": "0.7.0",
20187
+ "resolved": "https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.7.0.tgz",
20188
+ "integrity": "sha512-Z4B1HgvzR+en62ghwZf6BwAR6x4/pjezsiMcbF9KMLh7xoscpoYhaSXfY3lLkqC68AtW+/qLJ1lzvBIj0FGaTA=="
20189
+ },
20190
  "node_modules/npm-run-path": {
20191
  "version": "4.0.1",
20192
  "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
 
20514
  "node": ">=6"
20515
  }
20516
  },
20517
+ "node_modules/p-cancelable": {
20518
+ "version": "1.1.0",
20519
+ "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz",
20520
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
20521
+ "engines": {
20522
+ "node": ">=6"
20523
+ }
20524
+ },
20525
  "node_modules/p-event": {
20526
  "version": "4.2.0",
20527
  "resolved": "https://registry.npmmirror.com/p-event/-/p-event-4.2.0.tgz",
 
20659
  "node": ">= 0.10"
20660
  }
20661
  },
20662
+ "node_modules/parse-bmfont-ascii": {
20663
+ "version": "1.0.6",
20664
+ "resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
20665
+ "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA=="
20666
+ },
20667
+ "node_modules/parse-bmfont-binary": {
20668
+ "version": "1.0.6",
20669
+ "resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
20670
+ "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA=="
20671
+ },
20672
+ "node_modules/parse-bmfont-xml": {
20673
+ "version": "1.1.6",
20674
+ "resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz",
20675
+ "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==",
20676
+ "dependencies": {
20677
+ "xml-parse-from-string": "^1.0.0",
20678
+ "xml2js": "^0.5.0"
20679
+ }
20680
+ },
20681
  "node_modules/parse-entities": {
20682
  "version": "4.0.1",
20683
  "resolved": "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.1.tgz",
 
20698
  "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-2.0.10.tgz",
20699
  "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
20700
  },
20701
+ "node_modules/parse-headers": {
20702
+ "version": "2.0.5",
20703
+ "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz",
20704
+ "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA=="
20705
+ },
20706
  "node_modules/parse-json": {
20707
  "version": "5.2.0",
20708
  "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
 
20853
  "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
20854
  "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
20855
  },
20856
+ "node_modules/phin": {
20857
+ "version": "3.7.1",
20858
+ "resolved": "https://registry.npmmirror.com/phin/-/phin-3.7.1.tgz",
20859
+ "integrity": "sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==",
20860
+ "dependencies": {
20861
+ "centra": "^2.7.0"
20862
+ },
20863
+ "engines": {
20864
+ "node": ">= 8"
20865
+ }
20866
+ },
20867
  "node_modules/picocolors": {
20868
  "version": "1.0.0",
20869
  "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
 
21080
  "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
21081
  "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw=="
21082
  },
21083
+ "node_modules/polished": {
21084
+ "version": "4.3.1",
21085
+ "resolved": "https://registry.npmmirror.com/polished/-/polished-4.3.1.tgz",
21086
+ "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==",
21087
+ "dependencies": {
21088
+ "@babel/runtime": "^7.17.8"
21089
+ },
21090
+ "engines": {
21091
+ "node": ">=10"
21092
+ }
21093
+ },
21094
  "node_modules/posix-character-classes": {
21095
  "version": "0.1.1",
21096
  "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
 
21664
  "node": ">= 0.8.0"
21665
  }
21666
  },
21667
+ "node_modules/prepend-http": {
21668
+ "version": "2.0.0",
21669
+ "resolved": "https://registry.npmmirror.com/prepend-http/-/prepend-http-2.0.0.tgz",
21670
+ "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
21671
+ "engines": {
21672
+ "node": ">=4"
21673
+ }
21674
+ },
21675
  "node_modules/prettier": {
21676
  "version": "3.2.4",
21677
  "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.2.4.tgz",
 
21872
  "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz",
21873
  "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
21874
  },
21875
+ "node_modules/pump": {
21876
+ "version": "3.0.0",
21877
+ "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz",
21878
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
21879
+ "dependencies": {
21880
+ "end-of-stream": "^1.1.0",
21881
+ "once": "^1.3.1"
21882
+ }
21883
+ },
21884
  "node_modules/punycode": {
21885
  "version": "1.4.1",
21886
  "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz",
 
21938
  "node": ">=0.6"
21939
  }
21940
  },
21941
+ "node_modules/quad-indices": {
21942
+ "version": "2.0.1",
21943
+ "resolved": "https://registry.npmmirror.com/quad-indices/-/quad-indices-2.0.1.tgz",
21944
+ "integrity": "sha512-6jtmCsEbGAh5npThXrBaubbTjPcF0rMbn57XCJVI7LkW8PUT56V+uIrRCCWCn85PSgJC9v8Pm5tnJDwmOBewvA==",
21945
+ "dependencies": {
21946
+ "an-array": "^1.0.0",
21947
+ "dtype": "^2.0.0",
21948
+ "is-buffer": "^1.0.2"
21949
+ }
21950
+ },
21951
  "node_modules/query-string": {
21952
  "version": "6.14.1",
21953
  "resolved": "https://registry.npmmirror.com/query-string/-/query-string-6.14.1.tgz",
 
21995
  "node": ">=8"
21996
  }
21997
  },
21998
+ "node_modules/quickselect": {
21999
+ "version": "2.0.0",
22000
+ "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz",
22001
+ "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
22002
+ },
22003
  "node_modules/raf": {
22004
  "version": "3.4.1",
22005
  "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
 
22072
  "node": ">=0.10.0"
22073
  }
22074
  },
22075
+ "node_modules/rbush": {
22076
+ "version": "3.0.1",
22077
+ "resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz",
22078
+ "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
22079
+ "dependencies": {
22080
+ "quickselect": "^2.0.0"
22081
+ }
22082
+ },
22083
  "node_modules/rc-cascader": {
22084
  "version": "3.20.0",
22085
  "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.20.0.tgz",
 
23025
  "resolved": "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
23026
  "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="
23027
  },
23028
+ "node_modules/react-force-graph": {
23029
+ "version": "1.44.4",
23030
+ "resolved": "https://registry.npmmirror.com/react-force-graph/-/react-force-graph-1.44.4.tgz",
23031
+ "integrity": "sha512-mi/jRKssT++kl2R1YonFi/2hpK+a1omz6AvJ/oQa++HbXrRGtxg/xo1skO04tGZ/dUbR6SqJcpoUPYHzEle9mA==",
23032
+ "dependencies": {
23033
+ "3d-force-graph": "1",
23034
+ "3d-force-graph-ar": "1",
23035
+ "3d-force-graph-vr": "2",
23036
+ "force-graph": "1",
23037
+ "prop-types": "15",
23038
+ "react-kapsule": "2"
23039
+ },
23040
+ "engines": {
23041
+ "node": ">=12"
23042
+ },
23043
+ "peerDependencies": {
23044
+ "react": "*"
23045
+ }
23046
+ },
23047
  "node_modules/react-helmet-async": {
23048
  "version": "1.3.0",
23049
  "resolved": "https://registry.npmmirror.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
 
23086
  "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz",
23087
  "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
23088
  },
23089
+ "node_modules/react-kapsule": {
23090
+ "version": "2.4.0",
23091
+ "resolved": "https://registry.npmmirror.com/react-kapsule/-/react-kapsule-2.4.0.tgz",
23092
+ "integrity": "sha512-w4Yv9CgWdj8kWGQEPNWFGJJ08dYEZHZpiaFR/DgZjCMBNqv9wus2Gy1qvHVJmJbzvAZbq6jdvFC+NYzEqAlNhQ==",
23093
+ "dependencies": {
23094
+ "fromentries": "^1.3.2",
23095
+ "jerrypick": "^1.1.1"
23096
+ },
23097
+ "engines": {
23098
+ "node": ">=12"
23099
+ },
23100
+ "peerDependencies": {
23101
+ "react": ">=16.13.1"
23102
+ }
23103
+ },
23104
  "node_modules/react-lifecycles-compat": {
23105
  "version": "3.0.4",
23106
  "resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
 
23930
  "node": ">=10"
23931
  }
23932
  },
23933
+ "node_modules/responselike": {
23934
+ "version": "1.0.2",
23935
+ "resolved": "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz",
23936
+ "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
23937
+ "dependencies": {
23938
+ "lowercase-keys": "^1.0.0"
23939
+ }
23940
+ },
23941
  "node_modules/restore-cursor": {
23942
  "version": "4.0.0",
23943
  "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz",
 
24115
  "node_modules/sax": {
24116
  "version": "1.3.0",
24117
  "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
24118
+ "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA=="
 
24119
  },
24120
  "node_modules/saxes": {
24121
  "version": "6.0.0",
 
24382
  "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
24383
  "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
24384
  },
24385
+ "node_modules/simple-swizzle": {
24386
+ "version": "0.2.2",
24387
+ "resolved": "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
24388
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
24389
+ "dependencies": {
24390
+ "is-arrayish": "^0.3.1"
24391
+ }
24392
+ },
24393
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
24394
+ "version": "0.3.2",
24395
+ "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz",
24396
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
24397
+ },
24398
  "node_modules/single-spa": {
24399
  "version": "5.9.5",
24400
  "resolved": "https://registry.npmmirror.com/single-spa/-/single-spa-5.9.5.tgz",
 
25310
  "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.1.tgz",
25311
  "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ=="
25312
  },
25313
+ "node_modules/super-animejs": {
25314
+ "version": "3.1.0",
25315
+ "resolved": "https://registry.npmmirror.com/super-animejs/-/super-animejs-3.1.0.tgz",
25316
+ "integrity": "sha512-6MFAFJDRuvwkovxQZPruuyHinTa4rgj4hNLOndjcYYhZLckoXtVRY9rJPuq8p6c/tgZJrFYEAYAfJ2/hhNtUCA=="
25317
+ },
25318
  "node_modules/superjson": {
25319
  "version": "1.13.3",
25320
  "resolved": "https://registry.npmmirror.com/superjson/-/superjson-1.13.3.tgz",
 
25406
  "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz",
25407
  "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
25408
  },
25409
+ "node_modules/svg-path-parser": {
25410
+ "version": "1.1.0",
25411
+ "resolved": "https://registry.npmmirror.com/svg-path-parser/-/svg-path-parser-1.1.0.tgz",
25412
+ "integrity": "sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A=="
25413
+ },
25414
  "node_modules/svg-path-properties": {
25415
  "version": "1.3.0",
25416
  "resolved": "https://registry.npmmirror.com/svg-path-properties/-/svg-path-properties-1.3.0.tgz",
 
25656
  "real-require": "^0.1.0"
25657
  }
25658
  },
25659
+ "node_modules/three": {
25660
+ "version": "0.167.0",
25661
+ "resolved": "https://registry.npmmirror.com/three/-/three-0.167.0.tgz",
25662
+ "integrity": "sha512-9Y1a66fpjqF3rhq7ivKTaKtjQLZ97Hj/lZ00DmZWaKHaQFH4uzYT1znwRDWQOcgMmCcOloQzo61gDmqO8l9xmA=="
25663
+ },
25664
+ "node_modules/three-bmfont-text": {
25665
+ "version": "3.0.0",
25666
+ "resolved": "git+ssh://[email protected]/dmarcos/three-bmfont-text.git#eed4878795be9b3e38cf6aec6b903f56acd1f695",
25667
+ "integrity": "sha512-5KULChxHm4qAQZx1MfEF5ADC+2PEX5Gvo2eiEiF9N4RyTNPpHPBRSpW5n8LyD8gOwC0TAdWwafoOGrqPCR1sUA==",
25668
+ "license": "MIT",
25669
+ "dependencies": {
25670
+ "array-shuffle": "^1.0.1",
25671
+ "layout-bmfont-text": "^1.2.0",
25672
+ "nice-color-palettes": "^3.0.0",
25673
+ "quad-indices": "^2.0.1"
25674
+ }
25675
+ },
25676
+ "node_modules/three-forcegraph": {
25677
+ "version": "1.41.14",
25678
+ "resolved": "https://registry.npmmirror.com/three-forcegraph/-/three-forcegraph-1.41.14.tgz",
25679
+ "integrity": "sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==",
25680
+ "dependencies": {
25681
+ "accessor-fn": "1",
25682
+ "d3-array": "1 - 3",
25683
+ "d3-force-3d": "2 - 3",
25684
+ "d3-scale": "1 - 4",
25685
+ "d3-scale-chromatic": "1 - 3",
25686
+ "data-joint": "1",
25687
+ "kapsule": "1",
25688
+ "ngraph.forcelayout": "3",
25689
+ "ngraph.graph": "20",
25690
+ "tinycolor2": "1"
25691
+ },
25692
+ "engines": {
25693
+ "node": ">=12"
25694
+ },
25695
+ "peerDependencies": {
25696
+ "three": ">=0.118.3"
25697
+ }
25698
+ },
25699
+ "node_modules/three-pathfinding": {
25700
+ "version": "1.3.0",
25701
+ "resolved": "https://registry.npmmirror.com/three-pathfinding/-/three-pathfinding-1.3.0.tgz",
25702
+ "integrity": "sha512-LKxMI3/YqdMYvt6AdE2vB6s5ueDFczt/DWoxhtPNgRsH6E0D8LMYQxz+eIrmKo0MQpDvMVzXYUMBk+b86+k97w==",
25703
+ "peerDependencies": {
25704
+ "three": "0.x.x"
25705
+ }
25706
+ },
25707
+ "node_modules/three-render-objects": {
25708
+ "version": "1.29.4",
25709
+ "resolved": "https://registry.npmmirror.com/three-render-objects/-/three-render-objects-1.29.4.tgz",
25710
+ "integrity": "sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==",
25711
+ "dependencies": {
25712
+ "@tweenjs/tween.js": "18 - 23",
25713
+ "accessor-fn": "1",
25714
+ "kapsule": "1",
25715
+ "polished": "4"
25716
+ },
25717
+ "engines": {
25718
+ "node": ">=12"
25719
+ },
25720
+ "peerDependencies": {
25721
+ "three": "*"
25722
+ }
25723
+ },
25724
  "node_modules/throttle-debounce": {
25725
  "version": "5.0.0",
25726
  "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz",
 
25807
  "node": ">=0.10.0"
25808
  }
25809
  },
25810
+ "node_modules/to-readable-stream": {
25811
+ "version": "1.0.0",
25812
+ "resolved": "https://registry.npmmirror.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
25813
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
25814
+ "engines": {
25815
+ "node": ">=6"
25816
+ }
25817
+ },
25818
  "node_modules/to-regex": {
25819
  "version": "3.0.2",
25820
  "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz",
 
26599
  "requires-port": "^1.0.0"
26600
  }
26601
  },
26602
+ "node_modules/url-parse-lax": {
26603
+ "version": "3.0.0",
26604
+ "resolved": "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
26605
+ "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
26606
+ "dependencies": {
26607
+ "prepend-http": "^2.0.0"
26608
+ },
26609
+ "engines": {
26610
+ "node": ">=4"
26611
+ }
26612
+ },
26613
  "node_modules/use": {
26614
  "version": "3.1.1",
26615
  "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz",
 
27412
  "node": ">=10.13.0"
27413
  }
27414
  },
27415
+ "node_modules/webvr-polyfill": {
27416
+ "version": "0.10.12",
27417
+ "resolved": "https://registry.npmmirror.com/webvr-polyfill/-/webvr-polyfill-0.10.12.tgz",
27418
+ "integrity": "sha512-trDJEVUQnRIVAnmImjEQ0BlL1NfuWl8+eaEdu+bs4g59c7OtETi/5tFkgEFDRaWEYwHntXs/uFF3OXZuutNGGA==",
27419
+ "dependencies": {
27420
+ "cardboard-vr-display": "^1.0.19"
27421
+ }
27422
+ },
27423
+ "node_modules/webvr-polyfill-dpdb": {
27424
+ "version": "1.0.18",
27425
+ "resolved": "https://registry.npmmirror.com/webvr-polyfill-dpdb/-/webvr-polyfill-dpdb-1.0.18.tgz",
27426
+ "integrity": "sha512-O0S1ZGEWyPvyZEkS2VbyV7mtir/NM9MNK3EuhbHPoJ8EHTky2pTXehjIl+IiDPr+Lldgx129QGt3NGly7rwRPw=="
27427
+ },
27428
  "node_modules/whatwg-encoding": {
27429
  "version": "2.0.0",
27430
  "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
 
27538
  "node": ">= 0.4"
27539
  }
27540
  },
27541
+ "node_modules/word-wrapper": {
27542
+ "version": "1.0.7",
27543
+ "resolved": "https://registry.npmmirror.com/word-wrapper/-/word-wrapper-1.0.7.tgz",
27544
+ "integrity": "sha512-VOPBFCm9b6FyYKQYfn9AVn2dQvdR/YOVFV6IBRA1TBMJWKffvhEX1af6FMGrttILs2Q9ikCRhLqkbY2weW6dOQ=="
27545
+ },
27546
+ "node_modules/workerize-loader": {
27547
+ "version": "2.0.2",
27548
+ "resolved": "https://registry.npmmirror.com/workerize-loader/-/workerize-loader-2.0.2.tgz",
27549
+ "integrity": "sha512-HoZ6XY4sHWxA2w0WpzgBwUiR3dv1oo7bS+oCwIpb6n54MclQ/7KXdXsVIChTCygyuHtVuGBO1+i3HzTt699UJQ==",
27550
+ "peer": true,
27551
+ "dependencies": {
27552
+ "loader-utils": "^2.0.0"
27553
+ },
27554
+ "peerDependencies": {
27555
+ "webpack": "*"
27556
+ }
27557
+ },
27558
  "node_modules/workerpool": {
27559
  "version": "9.1.1",
27560
  "resolved": "https://registry.npmmirror.com/workerpool/-/workerpool-9.1.1.tgz",
 
27679
  }
27680
  }
27681
  },
27682
+ "node_modules/xhr": {
27683
+ "version": "2.6.0",
27684
+ "resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz",
27685
+ "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
27686
+ "dependencies": {
27687
+ "global": "~4.4.0",
27688
+ "is-function": "^1.0.1",
27689
+ "parse-headers": "^2.0.0",
27690
+ "xtend": "^4.0.0"
27691
+ }
27692
+ },
27693
  "node_modules/xml-name-validator": {
27694
  "version": "4.0.0",
27695
  "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
 
27699
  "node": ">=12"
27700
  }
27701
  },
27702
+ "node_modules/xml-parse-from-string": {
27703
+ "version": "1.0.1",
27704
+ "resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
27705
+ "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g=="
27706
+ },
27707
+ "node_modules/xml2js": {
27708
+ "version": "0.5.0",
27709
+ "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz",
27710
+ "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
27711
+ "dependencies": {
27712
+ "sax": ">=0.6.0",
27713
+ "xmlbuilder": "~11.0.0"
27714
+ },
27715
+ "engines": {
27716
+ "node": ">=4.0.0"
27717
+ }
27718
+ },
27719
+ "node_modules/xml2js/node_modules/xmlbuilder": {
27720
+ "version": "11.0.1",
27721
+ "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
27722
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
27723
+ "engines": {
27724
+ "node": ">=4.0"
27725
+ }
27726
+ },
27727
  "node_modules/xmlbuilder": {
27728
  "version": "10.1.1",
27729
  "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
web/package.json CHANGED
@@ -20,6 +20,7 @@
20
  "@ant-design/icons": "^5.2.6",
21
  "@ant-design/pro-components": "^2.6.46",
22
  "@ant-design/pro-layout": "^7.17.16",
 
23
  "@js-preview/excel": "^1.7.8",
24
  "@tanstack/react-query": "^5.40.0",
25
  "@tanstack/react-query-devtools": "^5.51.5",
@@ -40,6 +41,7 @@
40
  "mammoth": "^1.7.2",
41
  "rc-tween-one": "^3.0.6",
42
  "react-copy-to-clipboard": "^5.1.0",
 
43
  "react-i18next": "^14.0.0",
44
  "react-markdown": "^9.0.1",
45
  "react-pdf-highlighter": "^6.1.0",
 
20
  "@ant-design/icons": "^5.2.6",
21
  "@ant-design/pro-components": "^2.6.46",
22
  "@ant-design/pro-layout": "^7.17.16",
23
+ "@antv/g6": "^5.0.10",
24
  "@js-preview/excel": "^1.7.8",
25
  "@tanstack/react-query": "^5.40.0",
26
  "@tanstack/react-query-devtools": "^5.51.5",
 
41
  "mammoth": "^1.7.2",
42
  "rc-tween-one": "^3.0.6",
43
  "react-copy-to-clipboard": "^5.1.0",
44
+ "react-force-graph": "^1.44.4",
45
  "react-i18next": "^14.0.0",
46
  "react-markdown": "^9.0.1",
47
  "react-pdf-highlighter": "^6.1.0",
web/src/pages/add-knowledge/components/knowledge-chunk/index.tsx CHANGED
@@ -182,15 +182,14 @@ const Chunk = () => {
182
  />
183
  </div>
184
  </Flex>
185
-
186
- {
187
  <section className={styles.documentPreview}>
188
  <DocumentPreview
189
  highlights={highlights}
190
  setWidthAndHeight={setWidthAndHeight}
191
  ></DocumentPreview>
192
  </section>
193
- }
194
  </Flex>
195
  </div>
196
  {chunkUpdatingVisible && (
 
182
  />
183
  </div>
184
  </Flex>
185
+ {isPdf && (
 
186
  <section className={styles.documentPreview}>
187
  <DocumentPreview
188
  highlights={highlights}
189
  setWidthAndHeight={setWidthAndHeight}
190
  ></DocumentPreview>
191
  </section>
192
+ )}
193
  </Flex>
194
  </div>
195
  {chunkUpdatingVisible && (
web/src/pages/force-graph.tsx DELETED
@@ -1,33 +0,0 @@
1
- import { memo, useState } from 'react';
2
-
3
- function compare(oldProps, newProps) {
4
- return true;
5
- }
6
-
7
- const Greeting = memo(function Greeting({ name }) {
8
- console.log('Greeting was rendered at', new Date().toLocaleTimeString());
9
- return (
10
- <h3>
11
- Hello{name && ', '}
12
- {name}!
13
- </h3>
14
- );
15
- }, compare);
16
-
17
- export default function MyApp() {
18
- const [name, setName] = useState('');
19
- const [address, setAddress] = useState('');
20
- return (
21
- <>
22
- <label>
23
- Name{': '}
24
- <input value={name} onChange={(e) => setName(e.target.value)} />
25
- </label>
26
- <label>
27
- Address{': '}
28
- <input value={address} onChange={(e) => setAddress(e.target.value)} />
29
- </label>
30
- <Greeting name={name} />
31
- </>
32
- );
33
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
web/src/pages/force-graph/constant.ts ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const nodes = [
2
+ {
3
+ type: '"ORGANIZATION"',
4
+ description:
5
+ '"厦门象屿是一家公司,其营业收入和市场占有率在2018年至2022年间有所变化。"',
6
+ source_id: '0',
7
+ id: '"厦门象屿"',
8
+ },
9
+ {
10
+ type: '"EVENT"',
11
+ description:
12
+ '"2018年是一个时间点,标志着厦门象屿营业收入和市场占有率的记录开始。"',
13
+ source_id: '0',
14
+ entity_type: '"EVENT"',
15
+ id: '"2018"',
16
+ },
17
+ {
18
+ type: '"EVENT"',
19
+ description:
20
+ '"2019年是一个时间点,厦门象屿的营业收入和市场占有率在此期间有所变化。"',
21
+ source_id: '0',
22
+ entity_type: '"EVENT"',
23
+ id: '"2019"',
24
+ },
25
+ {
26
+ type: '"EVENT"',
27
+ description:
28
+ '"2020年是一个时间点,厦门象屿的营业收入和市场占有率在此期间有所变化。"',
29
+ source_id: '0',
30
+ entity_type: '"EVENT"',
31
+ id: '"2020"',
32
+ },
33
+ {
34
+ type: '"EVENT"',
35
+ description:
36
+ '"2021年是一个时间点,厦门象屿的营业收入和市场占有率在此期间有所变化。"',
37
+ source_id: '0',
38
+ entity_type: '"EVENT"',
39
+ id: '"2021"',
40
+ },
41
+ {
42
+ type: '"EVENT"',
43
+ description:
44
+ '"2022年是一个时间点,厦门象屿的营业收入和市场占有率在此期间有所变化。"',
45
+ source_id: '0',
46
+ entity_type: '"EVENT"',
47
+ id: '"2022"',
48
+ },
49
+ {
50
+ type: '"ORGANIZATION"',
51
+ description:
52
+ '"厦门象屿股份有限公司是一家公司,中文简称为厦门象屿,外文名称为Xiamen Xiangyu Co.,Ltd.,外文名称缩写为Xiangyu,法定代表人为邓启东。"',
53
+ source_id: '1',
54
+ id: '"厦门象屿股份有限公司"',
55
+ },
56
+ {
57
+ type: '"PERSON"',
58
+ description: '"邓启东是厦门象屿股份有限公司的法定代表人。"',
59
+ source_id: '1',
60
+ entity_type: '"PERSON"',
61
+ id: '"邓启东"',
62
+ },
63
+ {
64
+ type: '"GEO"',
65
+ description: '"厦门是一个地理位置,与厦门象屿股份有限公司相关。"',
66
+ source_id: '1',
67
+ entity_type: '"GEO"',
68
+ id: '"厦门"',
69
+ },
70
+ {
71
+ type: '"PERSON"',
72
+ description:
73
+ '"廖杰 is the Board Secretary, responsible for handling board-related matters and communications."',
74
+ source_id: '2',
75
+ id: '"廖杰"',
76
+ },
77
+ {
78
+ type: '"PERSON"',
79
+ description:
80
+ '"史经洋 is the Securities Affairs Representative, responsible for handling securities-related matters and communications."',
81
+ source_id: '2',
82
+ entity_type: '"PERSON"',
83
+ id: '"史经洋"',
84
+ },
85
+ {
86
+ type: '"GEO"',
87
+ description:
88
+ '"A geographic location in Xiamen, specifically in the Free Trade Zone, where the company\'s office is situated."',
89
+ source_id: '2',
90
+ entity_type: '"GEO"',
91
+ id: '"厦门市湖里区自由贸易试验区厦门片区"',
92
+ },
93
+ {
94
+ type: '"GEO"',
95
+ description:
96
+ '"The building where the company\'s office is located, situated at Xiangyu Road, Xiamen."',
97
+ source_id: '2',
98
+ entity_type: '"GEO"',
99
+ id: '"象屿集团大厦"',
100
+ },
101
+ {
102
+ type: '"EVENT"',
103
+ description:
104
+ '"Refers to the year 2021, used for comparing financial metrics with the year 2022."',
105
+ source_id: '3',
106
+ id: '"2021年"',
107
+ },
108
+ {
109
+ type: '"EVENT"',
110
+ description:
111
+ '"Refers to the year 2022, used for presenting current financial metrics and comparing them with the year 2021."',
112
+ source_id: '3',
113
+ entity_type: '"EVENT"',
114
+ id: '"2022年"',
115
+ },
116
+ {
117
+ type: '"EVENT"',
118
+ description:
119
+ '"Indicates the focus on key financial metrics in the table, such as weighted averages and percentages."',
120
+ source_id: '3',
121
+ entity_type: '"EVENT"',
122
+ id: '"主要财务指标"',
123
+ },
124
+ ].map(({ type, ...x }) => ({ ...x }));
125
+
126
+ const edges = [
127
+ {
128
+ weight: 2.0,
129
+ description: '"厦门象屿在2018年的营业收入和市场占有率被记录。"',
130
+ source_id: '0',
131
+ source: '"厦门象屿"',
132
+ target: '"2018"',
133
+ },
134
+ {
135
+ weight: 2.0,
136
+ description: '"厦门象屿在2019年的营业收入和市场占有率有所变化。"',
137
+ source_id: '0',
138
+ source: '"厦门象屿"',
139
+ target: '"2019"',
140
+ },
141
+ {
142
+ weight: 2.0,
143
+ description: '"厦门象屿在2020年的营业收入和市场占有率有所变化。"',
144
+ source_id: '0',
145
+ source: '"厦门象屿"',
146
+ target: '"2020"',
147
+ },
148
+ {
149
+ weight: 2.0,
150
+ description: '"厦门象屿在2021年的营业收入和市场占有率有所变化。"',
151
+ source_id: '0',
152
+ source: '"厦门象屿"',
153
+ target: '"2021"',
154
+ },
155
+ {
156
+ weight: 2.0,
157
+ description: '"厦门象屿在2022年的营业收入和市场占有率有所变化。"',
158
+ source_id: '0',
159
+ source: '"厦门象屿"',
160
+ target: '"2022"',
161
+ },
162
+ {
163
+ weight: 2.0,
164
+ description: '"厦门象屿股份有限公司的法定代表人是邓启东。"',
165
+ source_id: '1',
166
+ source: '"厦门象屿股份有限公司"',
167
+ target: '"邓启东"',
168
+ },
169
+ {
170
+ weight: 2.0,
171
+ description: '"厦门象屿股份有限公���位于厦门。"',
172
+ source_id: '1',
173
+ source: '"厦门象屿股份有限公司"',
174
+ target: '"厦门"',
175
+ },
176
+ {
177
+ weight: 2.0,
178
+ description:
179
+ '"廖杰\'s office is located in the Xiangyu Group Building, indicating his workplace."',
180
+ source_id: '2',
181
+ source: '"廖杰"',
182
+ target: '"象屿集团大厦"',
183
+ },
184
+ {
185
+ weight: 2.0,
186
+ description:
187
+ '"廖杰 works in the Xiamen Free Trade Zone, a specific area within Xiamen."',
188
+ source_id: '2',
189
+ source: '"廖杰"',
190
+ target: '"厦门市湖里区自由贸易试验区厦门片区"',
191
+ },
192
+ {
193
+ weight: 2.0,
194
+ description:
195
+ '"史经洋\'s office is also located in the Xiangyu Group Building, indicating his workplace."',
196
+ source_id: '2',
197
+ source: '"史经洋"',
198
+ target: '"象屿集团大厦"',
199
+ },
200
+ {
201
+ weight: 2.0,
202
+ description:
203
+ '"史经洋 works in the Xiamen Free Trade Zone, a specific area within Xiamen."',
204
+ source_id: '2',
205
+ source: '"史经洋"',
206
+ target: '"厦门市湖里区自由贸易试验区厦门片区"',
207
+ },
208
+ {
209
+ weight: 2.0,
210
+ description:
211
+ '"The years 2021 and 2022 are related as they are used for comparing financial metrics, showing changes and adjustments over time."',
212
+ source_id: '3',
213
+ source: '"2021年"',
214
+ target: '"2022年"',
215
+ },
216
+ {
217
+ weight: 2.0,
218
+ description:
219
+ '"The \'主要财务指标\' is related to the year 2021 as it provides the basis for financial comparisons and adjustments."',
220
+ source_id: '3',
221
+ source: '"2021年"',
222
+ target: '"主要财务指标"',
223
+ },
224
+ {
225
+ weight: 2.0,
226
+ description:
227
+ '"The \'主要财务指标\' is related to the year 2022 as it presents the current financial metrics and their changes compared to 2021."',
228
+ source_id: '3',
229
+ source: '"2022年"',
230
+ target: '"主要财务指标"',
231
+ },
232
+ ];
233
+
234
+ export const graphData = {
235
+ directed: false,
236
+ multigraph: false,
237
+ graph: {},
238
+ nodes,
239
+ edges,
240
+ combos: [],
241
+ };
web/src/pages/force-graph/index.less ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ .container {
2
+ width: 100%;
3
+ height: 100%;
4
+ }
web/src/pages/force-graph/index.tsx ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Graph } from '@antv/g6';
2
+ import { useSize } from 'ahooks';
3
+ import { useEffect, useRef } from 'react';
4
+ import { graphData } from './constant';
5
+
6
+ import styles from './index.less';
7
+ import { Converter } from './util';
8
+
9
+ const converter = new Converter();
10
+
11
+ const nextData = converter.buildNodesAndCombos(
12
+ graphData.nodes,
13
+ graphData.edges,
14
+ );
15
+ console.log('🚀 ~ nextData:', nextData);
16
+
17
+ const finalData = { ...graphData, ...nextData };
18
+
19
+ const ForceGraph = () => {
20
+ const containerRef = useRef<HTMLDivElement>(null);
21
+ const size = useSize(containerRef);
22
+
23
+ const render = () => {
24
+ const graph = new Graph({
25
+ container: containerRef.current!,
26
+ autoFit: 'view',
27
+ behaviors: ['drag-element', 'drag-canvas', 'zoom-canvas'],
28
+ plugins: [
29
+ {
30
+ type: 'tooltip',
31
+ getContent: (e, items) => {
32
+ if (items.every((x) => x?.description)) {
33
+ let result = ``;
34
+ items.forEach((item) => {
35
+ if (item?.description) {
36
+ result += `<p>${item?.description}</p>`;
37
+ }
38
+ });
39
+ return result;
40
+ }
41
+ return undefined;
42
+ },
43
+ },
44
+ ],
45
+ layout: {
46
+ type: 'combo-combined',
47
+ comboPadding: 2,
48
+ },
49
+ node: {
50
+ style: {
51
+ size: 20,
52
+ labelText: (d) => d.id,
53
+ labelPadding: 20,
54
+ // labelOffsetX: 20,
55
+ labelOffsetY: 5,
56
+ },
57
+ palette: {
58
+ type: 'group',
59
+ field: (d) => d.combo,
60
+ },
61
+ },
62
+ edge: {
63
+ style: (model) => {
64
+ const { size, color } = model.data;
65
+ return {
66
+ stroke: color || '#99ADD1',
67
+ lineWidth: size || 1,
68
+ };
69
+ },
70
+ },
71
+ // data: graphData,
72
+ });
73
+
74
+ graph.setData(finalData);
75
+
76
+ graph.render();
77
+ };
78
+
79
+ useEffect(() => {
80
+ render();
81
+ }, []);
82
+
83
+ return <div ref={containerRef} className={styles.container} />;
84
+ };
85
+
86
+ export default ForceGraph;
web/src/pages/force-graph/next.tsx ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useRef } from 'react';
2
+ import { ForceGraph2D } from 'react-force-graph';
3
+ import { graphData } from './constant';
4
+
5
+ const Next = () => {
6
+ const graphRef = useRef<ForceGraph2D>();
7
+
8
+ useEffect(() => {
9
+ graphRef.current.d3Force('cluster');
10
+ }, []);
11
+
12
+ return (
13
+ <div>
14
+ <ForceGraph2D
15
+ ref={graphRef}
16
+ graphData={graphData}
17
+ nodeAutoColorBy={'type'}
18
+ nodeLabel={(node) => {
19
+ return node.id;
20
+ }}
21
+ // nodeVal={(node) => {
22
+ // return <div>xxx</div>;
23
+ // }}
24
+ // nodeVal={(node) => 100 / (node.level + 1)}
25
+ linkAutoColorBy={'type'}
26
+ nodeCanvasObjectMode={() => 'after'}
27
+ nodeCanvasObject={(node, ctx) => {
28
+ console.info(ctx);
29
+ return ctx.canvas;
30
+ }}
31
+ // nodeVal={'id'}
32
+ />
33
+ </div>
34
+ );
35
+ };
36
+
37
+ export default Next;
web/src/pages/force-graph/util.ts ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class KeyGenerator {
2
+ idx = 0;
3
+ chars: string[] = [];
4
+ constructor() {
5
+ const chars = Array(26)
6
+ .fill(1)
7
+ .map((x, idx) => String.fromCharCode(97 + idx)); // 26 char
8
+ this.chars = chars;
9
+ }
10
+ generateKey() {
11
+ const key = this.chars[this.idx];
12
+ this.idx++;
13
+ return key;
14
+ }
15
+ }
16
+
17
+ // Classify nodes based on edge relationships
18
+ export class Converter {
19
+ keyGenerator;
20
+ dict: Record<string, string> = {}; // key is node id, value is combo
21
+ constructor() {
22
+ this.keyGenerator = new KeyGenerator();
23
+ }
24
+ buildDict(edges: { source: string; target: string }[]) {
25
+ edges.forEach((x) => {
26
+ if (this.dict[x.source] && !this.dict[x.target]) {
27
+ this.dict[x.target] = this.dict[x.source];
28
+ } else if (!this.dict[x.source] && this.dict[x.target]) {
29
+ this.dict[x.source] = this.dict[x.target];
30
+ } else if (!this.dict[x.source] && !this.dict[x.target]) {
31
+ this.dict[x.source] = this.dict[x.target] =
32
+ this.keyGenerator.generateKey();
33
+ }
34
+ });
35
+ return this.dict;
36
+ }
37
+ buildNodesAndCombos(nodes: any[], edges: any[]) {
38
+ this.buildDict(edges);
39
+ const nextNodes = nodes.map((x) => ({ ...x, combo: this.dict[x.id] }));
40
+
41
+ const combos = Object.values(this.dict).reduce<any[]>((pre, cur) => {
42
+ if (pre.every((x) => x.id !== cur)) {
43
+ pre.push({
44
+ id: cur,
45
+ data: {
46
+ label: `Combo ${cur}`,
47
+ },
48
+ });
49
+ }
50
+ return pre;
51
+ }, []);
52
+
53
+ return { nodes: nextNodes, combos };
54
+ }
55
+ }