anotherath commited on
Commit
a7f19c4
·
1 Parent(s): 317f607

fix message ui, md

Browse files
package-lock.json CHANGED
@@ -14,6 +14,7 @@
14
  "react": "^19.2.4",
15
  "react-dom": "^19.2.4",
16
  "react-icons": "^5.6.0",
 
17
  "react-redux": "^9.2.0",
18
  "recharts": "^3.8.1",
19
  "socket.io-client": "^4.8.3"
@@ -63,6 +64,7 @@
63
  "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
64
  "dev": true,
65
  "license": "MIT",
 
66
  "dependencies": {
67
  "@babel/code-frame": "^7.29.0",
68
  "@babel/generator": "^7.29.0",
@@ -272,29 +274,6 @@
272
  "node": ">=6.9.0"
273
  }
274
  },
275
- "node_modules/@emnapi/core": {
276
- "version": "1.10.0",
277
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
278
- "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
279
- "dev": true,
280
- "license": "MIT",
281
- "optional": true,
282
- "dependencies": {
283
- "@emnapi/wasi-threads": "1.2.1",
284
- "tslib": "^2.4.0"
285
- }
286
- },
287
- "node_modules/@emnapi/runtime": {
288
- "version": "1.10.0",
289
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
290
- "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
291
- "dev": true,
292
- "license": "MIT",
293
- "optional": true,
294
- "dependencies": {
295
- "tslib": "^2.4.0"
296
- }
297
- },
298
  "node_modules/@emnapi/wasi-threads": {
299
  "version": "1.2.1",
300
  "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
@@ -1271,13 +1250,39 @@
1271
  "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
1272
  "license": "MIT"
1273
  },
 
 
 
 
 
 
 
 
 
1274
  "node_modules/@types/estree": {
1275
  "version": "1.0.8",
1276
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1277
  "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1278
- "dev": true,
1279
  "license": "MIT"
1280
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1281
  "node_modules/@types/json-schema": {
1282
  "version": "7.0.15",
1283
  "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -1285,12 +1290,27 @@
1285
  "dev": true,
1286
  "license": "MIT"
1287
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1288
  "node_modules/@types/react": {
1289
  "version": "19.2.14",
1290
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
1291
  "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
1292
- "devOptional": true,
1293
  "license": "MIT",
 
1294
  "dependencies": {
1295
  "csstype": "^3.2.2"
1296
  }
@@ -1305,12 +1325,24 @@
1305
  "@types/react": "^19.2.0"
1306
  }
1307
  },
 
 
 
 
 
 
1308
  "node_modules/@types/use-sync-external-store": {
1309
  "version": "0.0.6",
1310
  "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
1311
  "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
1312
  "license": "MIT"
1313
  },
 
 
 
 
 
 
1314
  "node_modules/@vitejs/plugin-react": {
1315
  "version": "6.0.1",
1316
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz",
@@ -1343,6 +1375,7 @@
1343
  "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
1344
  "dev": true,
1345
  "license": "MIT",
 
1346
  "bin": {
1347
  "acorn": "bin/acorn"
1348
  },
@@ -1417,6 +1450,16 @@
1417
  "proxy-from-env": "^2.1.0"
1418
  }
1419
  },
 
 
 
 
 
 
 
 
 
 
1420
  "node_modules/balanced-match": {
1421
  "version": "1.0.2",
1422
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -1468,6 +1511,7 @@
1468
  }
1469
  ],
1470
  "license": "MIT",
 
1471
  "dependencies": {
1472
  "baseline-browser-mapping": "^2.10.12",
1473
  "caniuse-lite": "^1.0.30001782",
@@ -1526,6 +1570,16 @@
1526
  ],
1527
  "license": "CC-BY-4.0"
1528
  },
 
 
 
 
 
 
 
 
 
 
1529
  "node_modules/chalk": {
1530
  "version": "4.1.2",
1531
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -1543,6 +1597,46 @@
1543
  "url": "https://github.com/chalk/chalk?sponsor=1"
1544
  }
1545
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1546
  "node_modules/clsx": {
1547
  "version": "2.1.1",
1548
  "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
@@ -1584,6 +1678,16 @@
1584
  "node": ">= 0.8"
1585
  }
1586
  },
 
 
 
 
 
 
 
 
 
 
1587
  "node_modules/concat-map": {
1588
  "version": "0.0.1",
1589
  "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -1617,7 +1721,6 @@
1617
  "version": "3.2.3",
1618
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
1619
  "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
1620
- "devOptional": true,
1621
  "license": "MIT"
1622
  },
1623
  "node_modules/d3-array": {
@@ -1764,6 +1867,19 @@
1764
  "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
1765
  "license": "MIT"
1766
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
1767
  "node_modules/deep-is": {
1768
  "version": "0.1.4",
1769
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -1780,6 +1896,15 @@
1780
  "node": ">=0.4.0"
1781
  }
1782
  },
 
 
 
 
 
 
 
 
 
1783
  "node_modules/detect-libc": {
1784
  "version": "2.1.2",
1785
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
@@ -1790,6 +1915,19 @@
1790
  "node": ">=8"
1791
  }
1792
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
1793
  "node_modules/dunder-proto": {
1794
  "version": "1.0.1",
1795
  "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -1931,6 +2069,7 @@
1931
  "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
1932
  "dev": true,
1933
  "license": "MIT",
 
1934
  "dependencies": {
1935
  "@eslint-community/eslint-utils": "^4.8.0",
1936
  "@eslint-community/regexpp": "^4.12.1",
@@ -2099,6 +2238,16 @@
2099
  "node": ">=4.0"
2100
  }
2101
  },
 
 
 
 
 
 
 
 
 
 
2102
  "node_modules/esutils": {
2103
  "version": "2.0.3",
2104
  "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -2115,6 +2264,12 @@
2115
  "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
2116
  "license": "MIT"
2117
  },
 
 
 
 
 
 
2118
  "node_modules/fast-deep-equal": {
2119
  "version": "3.1.3",
2120
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -2406,6 +2561,46 @@
2406
  "node": ">= 0.4"
2407
  }
2408
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2409
  "node_modules/hermes-estree": {
2410
  "version": "0.25.1",
2411
  "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
@@ -2423,6 +2618,16 @@
2423
  "hermes-estree": "0.25.1"
2424
  }
2425
  },
 
 
 
 
 
 
 
 
 
 
2426
  "node_modules/ignore": {
2427
  "version": "5.3.2",
2428
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -2470,6 +2675,12 @@
2470
  "node": ">=0.8.19"
2471
  }
2472
  },
 
 
 
 
 
 
2473
  "node_modules/internmap": {
2474
  "version": "2.0.3",
2475
  "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
@@ -2479,6 +2690,40 @@
2479
  "node": ">=12"
2480
  }
2481
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2482
  "node_modules/is-extglob": {
2483
  "version": "2.1.1",
2484
  "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -2502,6 +2747,28 @@
2502
  "node": ">=0.10.0"
2503
  }
2504
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2505
  "node_modules/isexe": {
2506
  "version": "2.0.0",
2507
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2894,6 +3161,16 @@
2894
  "dev": true,
2895
  "license": "MIT"
2896
  },
 
 
 
 
 
 
 
 
 
 
2897
  "node_modules/lru-cache": {
2898
  "version": "5.1.1",
2899
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -2935,73 +3212,668 @@
2935
  "node": ">= 0.4"
2936
  }
2937
  },
2938
- "node_modules/mime-db": {
2939
- "version": "1.52.0",
2940
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
2941
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
2942
  "license": "MIT",
2943
- "engines": {
2944
- "node": ">= 0.6"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2945
  }
2946
  },
2947
- "node_modules/mime-types": {
2948
- "version": "2.1.35",
2949
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
2950
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
2951
  "license": "MIT",
2952
  "dependencies": {
2953
- "mime-db": "1.52.0"
 
 
 
 
 
2954
  },
2955
- "engines": {
2956
- "node": ">= 0.6"
 
2957
  }
2958
  },
2959
- "node_modules/minimatch": {
2960
- "version": "3.1.5",
2961
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
2962
- "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
2963
- "dev": true,
2964
- "license": "ISC",
2965
  "dependencies": {
2966
- "brace-expansion": "^1.1.7"
 
 
 
 
 
 
 
 
 
 
 
2967
  },
2968
- "engines": {
2969
- "node": "*"
 
2970
  }
2971
  },
2972
- "node_modules/ms": {
2973
- "version": "2.1.3",
2974
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2975
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2976
- "license": "MIT"
 
 
 
 
 
 
 
 
 
 
 
 
2977
  },
2978
- "node_modules/nanoid": {
2979
- "version": "3.3.11",
2980
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
2981
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
2982
- "dev": true,
2983
- "funding": [
2984
- {
2985
- "type": "github",
2986
- "url": "https://github.com/sponsors/ai"
2987
- }
2988
- ],
2989
  "license": "MIT",
2990
- "bin": {
2991
- "nanoid": "bin/nanoid.cjs"
 
2992
  },
2993
- "engines": {
2994
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
 
2995
  }
2996
  },
2997
- "node_modules/natural-compare": {
2998
- "version": "1.4.0",
2999
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3000
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
3001
- "dev": true,
3002
- "license": "MIT"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3003
  },
3004
- "node_modules/node-releases": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3005
  "version": "2.0.37",
3006
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz",
3007
  "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==",
@@ -3071,6 +3943,31 @@
3071
  "node": ">=6"
3072
  }
3073
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3074
  "node_modules/path-exists": {
3075
  "version": "4.0.0",
3076
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -3104,6 +4001,7 @@
3104
  "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
3105
  "dev": true,
3106
  "license": "MIT",
 
3107
  "engines": {
3108
  "node": ">=12"
3109
  },
@@ -3150,6 +4048,16 @@
3150
  "node": ">= 0.8.0"
3151
  }
3152
  },
 
 
 
 
 
 
 
 
 
 
3153
  "node_modules/proxy-from-env": {
3154
  "version": "2.1.0",
3155
  "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
@@ -3174,6 +4082,7 @@
3174
  "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
3175
  "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
3176
  "license": "MIT",
 
3177
  "engines": {
3178
  "node": ">=0.10.0"
3179
  }
@@ -3183,6 +4092,7 @@
3183
  "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
3184
  "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
3185
  "license": "MIT",
 
3186
  "dependencies": {
3187
  "scheduler": "^0.27.0"
3188
  },
@@ -3206,11 +4116,39 @@
3206
  "license": "MIT",
3207
  "peer": true
3208
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3209
  "node_modules/react-redux": {
3210
  "version": "9.2.0",
3211
  "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
3212
  "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
3213
  "license": "MIT",
 
3214
  "dependencies": {
3215
  "@types/use-sync-external-store": "^0.0.6",
3216
  "use-sync-external-store": "^1.4.0"
@@ -3273,7 +4211,8 @@
3273
  "version": "5.0.1",
3274
  "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
3275
  "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
3276
- "license": "MIT"
 
3277
  },
3278
  "node_modules/redux-thunk": {
3279
  "version": "3.1.0",
@@ -3284,6 +4223,39 @@
3284
  "redux": "^5.0.0"
3285
  }
3286
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3287
  "node_modules/reselect": {
3288
  "version": "5.1.1",
3289
  "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
@@ -3418,6 +4390,30 @@
3418
  "node": ">=0.10.0"
3419
  }
3420
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3421
  "node_modules/strip-json-comments": {
3422
  "version": "3.1.1",
3423
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -3431,6 +4427,24 @@
3431
  "url": "https://github.com/sponsors/sindresorhus"
3432
  }
3433
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3434
  "node_modules/supports-color": {
3435
  "version": "7.2.0",
3436
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -3488,6 +4502,26 @@
3488
  "url": "https://github.com/sponsors/SuperchupuDev"
3489
  }
3490
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3491
  "node_modules/tslib": {
3492
  "version": "2.8.1",
3493
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -3509,6 +4543,93 @@
3509
  "node": ">= 0.8.0"
3510
  }
3511
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3512
  "node_modules/update-browserslist-db": {
3513
  "version": "1.2.3",
3514
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
@@ -3559,6 +4680,34 @@
3559
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
3560
  }
3561
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3562
  "node_modules/victory-vendor": {
3563
  "version": "37.3.6",
3564
  "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz",
@@ -3587,6 +4736,7 @@
3587
  "integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==",
3588
  "dev": true,
3589
  "license": "MIT",
 
3590
  "dependencies": {
3591
  "lightningcss": "^1.32.0",
3592
  "picomatch": "^4.0.4",
@@ -3740,6 +4890,7 @@
3740
  "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
3741
  "dev": true,
3742
  "license": "MIT",
 
3743
  "funding": {
3744
  "url": "https://github.com/sponsors/colinhacks"
3745
  }
@@ -3756,6 +4907,16 @@
3756
  "peerDependencies": {
3757
  "zod": "^3.25.0 || ^4.0.0"
3758
  }
 
 
 
 
 
 
 
 
 
 
3759
  }
3760
  }
3761
  }
 
14
  "react": "^19.2.4",
15
  "react-dom": "^19.2.4",
16
  "react-icons": "^5.6.0",
17
+ "react-markdown": "^10.1.0",
18
  "react-redux": "^9.2.0",
19
  "recharts": "^3.8.1",
20
  "socket.io-client": "^4.8.3"
 
64
  "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
65
  "dev": true,
66
  "license": "MIT",
67
+ "peer": true,
68
  "dependencies": {
69
  "@babel/code-frame": "^7.29.0",
70
  "@babel/generator": "^7.29.0",
 
274
  "node": ">=6.9.0"
275
  }
276
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
277
  "node_modules/@emnapi/wasi-threads": {
278
  "version": "1.2.1",
279
  "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
 
1250
  "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
1251
  "license": "MIT"
1252
  },
1253
+ "node_modules/@types/debug": {
1254
+ "version": "4.1.13",
1255
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
1256
+ "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
1257
+ "license": "MIT",
1258
+ "dependencies": {
1259
+ "@types/ms": "*"
1260
+ }
1261
+ },
1262
  "node_modules/@types/estree": {
1263
  "version": "1.0.8",
1264
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1265
  "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
 
1266
  "license": "MIT"
1267
  },
1268
+ "node_modules/@types/estree-jsx": {
1269
+ "version": "1.0.5",
1270
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
1271
+ "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
1272
+ "license": "MIT",
1273
+ "dependencies": {
1274
+ "@types/estree": "*"
1275
+ }
1276
+ },
1277
+ "node_modules/@types/hast": {
1278
+ "version": "3.0.4",
1279
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
1280
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
1281
+ "license": "MIT",
1282
+ "dependencies": {
1283
+ "@types/unist": "*"
1284
+ }
1285
+ },
1286
  "node_modules/@types/json-schema": {
1287
  "version": "7.0.15",
1288
  "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
 
1290
  "dev": true,
1291
  "license": "MIT"
1292
  },
1293
+ "node_modules/@types/mdast": {
1294
+ "version": "4.0.4",
1295
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
1296
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
1297
+ "license": "MIT",
1298
+ "dependencies": {
1299
+ "@types/unist": "*"
1300
+ }
1301
+ },
1302
+ "node_modules/@types/ms": {
1303
+ "version": "2.1.0",
1304
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
1305
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
1306
+ "license": "MIT"
1307
+ },
1308
  "node_modules/@types/react": {
1309
  "version": "19.2.14",
1310
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
1311
  "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
 
1312
  "license": "MIT",
1313
+ "peer": true,
1314
  "dependencies": {
1315
  "csstype": "^3.2.2"
1316
  }
 
1325
  "@types/react": "^19.2.0"
1326
  }
1327
  },
1328
+ "node_modules/@types/unist": {
1329
+ "version": "3.0.3",
1330
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
1331
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
1332
+ "license": "MIT"
1333
+ },
1334
  "node_modules/@types/use-sync-external-store": {
1335
  "version": "0.0.6",
1336
  "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
1337
  "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
1338
  "license": "MIT"
1339
  },
1340
+ "node_modules/@ungap/structured-clone": {
1341
+ "version": "1.3.1",
1342
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz",
1343
+ "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==",
1344
+ "license": "ISC"
1345
+ },
1346
  "node_modules/@vitejs/plugin-react": {
1347
  "version": "6.0.1",
1348
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz",
 
1375
  "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
1376
  "dev": true,
1377
  "license": "MIT",
1378
+ "peer": true,
1379
  "bin": {
1380
  "acorn": "bin/acorn"
1381
  },
 
1450
  "proxy-from-env": "^2.1.0"
1451
  }
1452
  },
1453
+ "node_modules/bail": {
1454
+ "version": "2.0.2",
1455
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
1456
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
1457
+ "license": "MIT",
1458
+ "funding": {
1459
+ "type": "github",
1460
+ "url": "https://github.com/sponsors/wooorm"
1461
+ }
1462
+ },
1463
  "node_modules/balanced-match": {
1464
  "version": "1.0.2",
1465
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 
1511
  }
1512
  ],
1513
  "license": "MIT",
1514
+ "peer": true,
1515
  "dependencies": {
1516
  "baseline-browser-mapping": "^2.10.12",
1517
  "caniuse-lite": "^1.0.30001782",
 
1570
  ],
1571
  "license": "CC-BY-4.0"
1572
  },
1573
+ "node_modules/ccount": {
1574
+ "version": "2.0.1",
1575
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
1576
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
1577
+ "license": "MIT",
1578
+ "funding": {
1579
+ "type": "github",
1580
+ "url": "https://github.com/sponsors/wooorm"
1581
+ }
1582
+ },
1583
  "node_modules/chalk": {
1584
  "version": "4.1.2",
1585
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
 
1597
  "url": "https://github.com/chalk/chalk?sponsor=1"
1598
  }
1599
  },
1600
+ "node_modules/character-entities": {
1601
+ "version": "2.0.2",
1602
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
1603
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
1604
+ "license": "MIT",
1605
+ "funding": {
1606
+ "type": "github",
1607
+ "url": "https://github.com/sponsors/wooorm"
1608
+ }
1609
+ },
1610
+ "node_modules/character-entities-html4": {
1611
+ "version": "2.1.0",
1612
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
1613
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
1614
+ "license": "MIT",
1615
+ "funding": {
1616
+ "type": "github",
1617
+ "url": "https://github.com/sponsors/wooorm"
1618
+ }
1619
+ },
1620
+ "node_modules/character-entities-legacy": {
1621
+ "version": "3.0.0",
1622
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
1623
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
1624
+ "license": "MIT",
1625
+ "funding": {
1626
+ "type": "github",
1627
+ "url": "https://github.com/sponsors/wooorm"
1628
+ }
1629
+ },
1630
+ "node_modules/character-reference-invalid": {
1631
+ "version": "2.0.1",
1632
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
1633
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
1634
+ "license": "MIT",
1635
+ "funding": {
1636
+ "type": "github",
1637
+ "url": "https://github.com/sponsors/wooorm"
1638
+ }
1639
+ },
1640
  "node_modules/clsx": {
1641
  "version": "2.1.1",
1642
  "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
 
1678
  "node": ">= 0.8"
1679
  }
1680
  },
1681
+ "node_modules/comma-separated-tokens": {
1682
+ "version": "2.0.3",
1683
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
1684
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
1685
+ "license": "MIT",
1686
+ "funding": {
1687
+ "type": "github",
1688
+ "url": "https://github.com/sponsors/wooorm"
1689
+ }
1690
+ },
1691
  "node_modules/concat-map": {
1692
  "version": "0.0.1",
1693
  "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 
1721
  "version": "3.2.3",
1722
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
1723
  "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
 
1724
  "license": "MIT"
1725
  },
1726
  "node_modules/d3-array": {
 
1867
  "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
1868
  "license": "MIT"
1869
  },
1870
+ "node_modules/decode-named-character-reference": {
1871
+ "version": "1.3.0",
1872
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz",
1873
+ "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==",
1874
+ "license": "MIT",
1875
+ "dependencies": {
1876
+ "character-entities": "^2.0.0"
1877
+ },
1878
+ "funding": {
1879
+ "type": "github",
1880
+ "url": "https://github.com/sponsors/wooorm"
1881
+ }
1882
+ },
1883
  "node_modules/deep-is": {
1884
  "version": "0.1.4",
1885
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
 
1896
  "node": ">=0.4.0"
1897
  }
1898
  },
1899
+ "node_modules/dequal": {
1900
+ "version": "2.0.3",
1901
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
1902
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
1903
+ "license": "MIT",
1904
+ "engines": {
1905
+ "node": ">=6"
1906
+ }
1907
+ },
1908
  "node_modules/detect-libc": {
1909
  "version": "2.1.2",
1910
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
 
1915
  "node": ">=8"
1916
  }
1917
  },
1918
+ "node_modules/devlop": {
1919
+ "version": "1.1.0",
1920
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
1921
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
1922
+ "license": "MIT",
1923
+ "dependencies": {
1924
+ "dequal": "^2.0.0"
1925
+ },
1926
+ "funding": {
1927
+ "type": "github",
1928
+ "url": "https://github.com/sponsors/wooorm"
1929
+ }
1930
+ },
1931
  "node_modules/dunder-proto": {
1932
  "version": "1.0.1",
1933
  "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
 
2069
  "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
2070
  "dev": true,
2071
  "license": "MIT",
2072
+ "peer": true,
2073
  "dependencies": {
2074
  "@eslint-community/eslint-utils": "^4.8.0",
2075
  "@eslint-community/regexpp": "^4.12.1",
 
2238
  "node": ">=4.0"
2239
  }
2240
  },
2241
+ "node_modules/estree-util-is-identifier-name": {
2242
+ "version": "3.0.0",
2243
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
2244
+ "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
2245
+ "license": "MIT",
2246
+ "funding": {
2247
+ "type": "opencollective",
2248
+ "url": "https://opencollective.com/unified"
2249
+ }
2250
+ },
2251
  "node_modules/esutils": {
2252
  "version": "2.0.3",
2253
  "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
 
2264
  "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
2265
  "license": "MIT"
2266
  },
2267
+ "node_modules/extend": {
2268
+ "version": "3.0.2",
2269
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
2270
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
2271
+ "license": "MIT"
2272
+ },
2273
  "node_modules/fast-deep-equal": {
2274
  "version": "3.1.3",
2275
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 
2561
  "node": ">= 0.4"
2562
  }
2563
  },
2564
+ "node_modules/hast-util-to-jsx-runtime": {
2565
+ "version": "2.3.6",
2566
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
2567
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
2568
+ "license": "MIT",
2569
+ "dependencies": {
2570
+ "@types/estree": "^1.0.0",
2571
+ "@types/hast": "^3.0.0",
2572
+ "@types/unist": "^3.0.0",
2573
+ "comma-separated-tokens": "^2.0.0",
2574
+ "devlop": "^1.0.0",
2575
+ "estree-util-is-identifier-name": "^3.0.0",
2576
+ "hast-util-whitespace": "^3.0.0",
2577
+ "mdast-util-mdx-expression": "^2.0.0",
2578
+ "mdast-util-mdx-jsx": "^3.0.0",
2579
+ "mdast-util-mdxjs-esm": "^2.0.0",
2580
+ "property-information": "^7.0.0",
2581
+ "space-separated-tokens": "^2.0.0",
2582
+ "style-to-js": "^1.0.0",
2583
+ "unist-util-position": "^5.0.0",
2584
+ "vfile-message": "^4.0.0"
2585
+ },
2586
+ "funding": {
2587
+ "type": "opencollective",
2588
+ "url": "https://opencollective.com/unified"
2589
+ }
2590
+ },
2591
+ "node_modules/hast-util-whitespace": {
2592
+ "version": "3.0.0",
2593
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
2594
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
2595
+ "license": "MIT",
2596
+ "dependencies": {
2597
+ "@types/hast": "^3.0.0"
2598
+ },
2599
+ "funding": {
2600
+ "type": "opencollective",
2601
+ "url": "https://opencollective.com/unified"
2602
+ }
2603
+ },
2604
  "node_modules/hermes-estree": {
2605
  "version": "0.25.1",
2606
  "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
 
2618
  "hermes-estree": "0.25.1"
2619
  }
2620
  },
2621
+ "node_modules/html-url-attributes": {
2622
+ "version": "3.0.1",
2623
+ "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
2624
+ "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==",
2625
+ "license": "MIT",
2626
+ "funding": {
2627
+ "type": "opencollective",
2628
+ "url": "https://opencollective.com/unified"
2629
+ }
2630
+ },
2631
  "node_modules/ignore": {
2632
  "version": "5.3.2",
2633
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
 
2675
  "node": ">=0.8.19"
2676
  }
2677
  },
2678
+ "node_modules/inline-style-parser": {
2679
+ "version": "0.2.7",
2680
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
2681
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
2682
+ "license": "MIT"
2683
+ },
2684
  "node_modules/internmap": {
2685
  "version": "2.0.3",
2686
  "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
 
2690
  "node": ">=12"
2691
  }
2692
  },
2693
+ "node_modules/is-alphabetical": {
2694
+ "version": "2.0.1",
2695
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
2696
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
2697
+ "license": "MIT",
2698
+ "funding": {
2699
+ "type": "github",
2700
+ "url": "https://github.com/sponsors/wooorm"
2701
+ }
2702
+ },
2703
+ "node_modules/is-alphanumerical": {
2704
+ "version": "2.0.1",
2705
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
2706
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
2707
+ "license": "MIT",
2708
+ "dependencies": {
2709
+ "is-alphabetical": "^2.0.0",
2710
+ "is-decimal": "^2.0.0"
2711
+ },
2712
+ "funding": {
2713
+ "type": "github",
2714
+ "url": "https://github.com/sponsors/wooorm"
2715
+ }
2716
+ },
2717
+ "node_modules/is-decimal": {
2718
+ "version": "2.0.1",
2719
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
2720
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
2721
+ "license": "MIT",
2722
+ "funding": {
2723
+ "type": "github",
2724
+ "url": "https://github.com/sponsors/wooorm"
2725
+ }
2726
+ },
2727
  "node_modules/is-extglob": {
2728
  "version": "2.1.1",
2729
  "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 
2747
  "node": ">=0.10.0"
2748
  }
2749
  },
2750
+ "node_modules/is-hexadecimal": {
2751
+ "version": "2.0.1",
2752
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
2753
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
2754
+ "license": "MIT",
2755
+ "funding": {
2756
+ "type": "github",
2757
+ "url": "https://github.com/sponsors/wooorm"
2758
+ }
2759
+ },
2760
+ "node_modules/is-plain-obj": {
2761
+ "version": "4.1.0",
2762
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
2763
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
2764
+ "license": "MIT",
2765
+ "engines": {
2766
+ "node": ">=12"
2767
+ },
2768
+ "funding": {
2769
+ "url": "https://github.com/sponsors/sindresorhus"
2770
+ }
2771
+ },
2772
  "node_modules/isexe": {
2773
  "version": "2.0.0",
2774
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
 
3161
  "dev": true,
3162
  "license": "MIT"
3163
  },
3164
+ "node_modules/longest-streak": {
3165
+ "version": "3.1.0",
3166
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
3167
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
3168
+ "license": "MIT",
3169
+ "funding": {
3170
+ "type": "github",
3171
+ "url": "https://github.com/sponsors/wooorm"
3172
+ }
3173
+ },
3174
  "node_modules/lru-cache": {
3175
  "version": "5.1.1",
3176
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
 
3212
  "node": ">= 0.4"
3213
  }
3214
  },
3215
+ "node_modules/mdast-util-from-markdown": {
3216
+ "version": "2.0.3",
3217
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz",
3218
+ "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==",
3219
  "license": "MIT",
3220
+ "dependencies": {
3221
+ "@types/mdast": "^4.0.0",
3222
+ "@types/unist": "^3.0.0",
3223
+ "decode-named-character-reference": "^1.0.0",
3224
+ "devlop": "^1.0.0",
3225
+ "mdast-util-to-string": "^4.0.0",
3226
+ "micromark": "^4.0.0",
3227
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
3228
+ "micromark-util-decode-string": "^2.0.0",
3229
+ "micromark-util-normalize-identifier": "^2.0.0",
3230
+ "micromark-util-symbol": "^2.0.0",
3231
+ "micromark-util-types": "^2.0.0",
3232
+ "unist-util-stringify-position": "^4.0.0"
3233
+ },
3234
+ "funding": {
3235
+ "type": "opencollective",
3236
+ "url": "https://opencollective.com/unified"
3237
  }
3238
  },
3239
+ "node_modules/mdast-util-mdx-expression": {
3240
+ "version": "2.0.1",
3241
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
3242
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
3243
  "license": "MIT",
3244
  "dependencies": {
3245
+ "@types/estree-jsx": "^1.0.0",
3246
+ "@types/hast": "^3.0.0",
3247
+ "@types/mdast": "^4.0.0",
3248
+ "devlop": "^1.0.0",
3249
+ "mdast-util-from-markdown": "^2.0.0",
3250
+ "mdast-util-to-markdown": "^2.0.0"
3251
  },
3252
+ "funding": {
3253
+ "type": "opencollective",
3254
+ "url": "https://opencollective.com/unified"
3255
  }
3256
  },
3257
+ "node_modules/mdast-util-mdx-jsx": {
3258
+ "version": "3.2.0",
3259
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
3260
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
3261
+ "license": "MIT",
 
3262
  "dependencies": {
3263
+ "@types/estree-jsx": "^1.0.0",
3264
+ "@types/hast": "^3.0.0",
3265
+ "@types/mdast": "^4.0.0",
3266
+ "@types/unist": "^3.0.0",
3267
+ "ccount": "^2.0.0",
3268
+ "devlop": "^1.1.0",
3269
+ "mdast-util-from-markdown": "^2.0.0",
3270
+ "mdast-util-to-markdown": "^2.0.0",
3271
+ "parse-entities": "^4.0.0",
3272
+ "stringify-entities": "^4.0.0",
3273
+ "unist-util-stringify-position": "^4.0.0",
3274
+ "vfile-message": "^4.0.0"
3275
  },
3276
+ "funding": {
3277
+ "type": "opencollective",
3278
+ "url": "https://opencollective.com/unified"
3279
  }
3280
  },
3281
+ "node_modules/mdast-util-mdxjs-esm": {
3282
+ "version": "2.0.1",
3283
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
3284
+ "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
3285
+ "license": "MIT",
3286
+ "dependencies": {
3287
+ "@types/estree-jsx": "^1.0.0",
3288
+ "@types/hast": "^3.0.0",
3289
+ "@types/mdast": "^4.0.0",
3290
+ "devlop": "^1.0.0",
3291
+ "mdast-util-from-markdown": "^2.0.0",
3292
+ "mdast-util-to-markdown": "^2.0.0"
3293
+ },
3294
+ "funding": {
3295
+ "type": "opencollective",
3296
+ "url": "https://opencollective.com/unified"
3297
+ }
3298
  },
3299
+ "node_modules/mdast-util-phrasing": {
3300
+ "version": "4.1.0",
3301
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
3302
+ "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
 
 
 
 
 
 
 
3303
  "license": "MIT",
3304
+ "dependencies": {
3305
+ "@types/mdast": "^4.0.0",
3306
+ "unist-util-is": "^6.0.0"
3307
  },
3308
+ "funding": {
3309
+ "type": "opencollective",
3310
+ "url": "https://opencollective.com/unified"
3311
  }
3312
  },
3313
+ "node_modules/mdast-util-to-hast": {
3314
+ "version": "13.2.1",
3315
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
3316
+ "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
3317
+ "license": "MIT",
3318
+ "dependencies": {
3319
+ "@types/hast": "^3.0.0",
3320
+ "@types/mdast": "^4.0.0",
3321
+ "@ungap/structured-clone": "^1.0.0",
3322
+ "devlop": "^1.0.0",
3323
+ "micromark-util-sanitize-uri": "^2.0.0",
3324
+ "trim-lines": "^3.0.0",
3325
+ "unist-util-position": "^5.0.0",
3326
+ "unist-util-visit": "^5.0.0",
3327
+ "vfile": "^6.0.0"
3328
+ },
3329
+ "funding": {
3330
+ "type": "opencollective",
3331
+ "url": "https://opencollective.com/unified"
3332
+ }
3333
  },
3334
+ "node_modules/mdast-util-to-markdown": {
3335
+ "version": "2.1.2",
3336
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
3337
+ "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
3338
+ "license": "MIT",
3339
+ "dependencies": {
3340
+ "@types/mdast": "^4.0.0",
3341
+ "@types/unist": "^3.0.0",
3342
+ "longest-streak": "^3.0.0",
3343
+ "mdast-util-phrasing": "^4.0.0",
3344
+ "mdast-util-to-string": "^4.0.0",
3345
+ "micromark-util-classify-character": "^2.0.0",
3346
+ "micromark-util-decode-string": "^2.0.0",
3347
+ "unist-util-visit": "^5.0.0",
3348
+ "zwitch": "^2.0.0"
3349
+ },
3350
+ "funding": {
3351
+ "type": "opencollective",
3352
+ "url": "https://opencollective.com/unified"
3353
+ }
3354
+ },
3355
+ "node_modules/mdast-util-to-string": {
3356
+ "version": "4.0.0",
3357
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
3358
+ "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
3359
+ "license": "MIT",
3360
+ "dependencies": {
3361
+ "@types/mdast": "^4.0.0"
3362
+ },
3363
+ "funding": {
3364
+ "type": "opencollective",
3365
+ "url": "https://opencollective.com/unified"
3366
+ }
3367
+ },
3368
+ "node_modules/micromark": {
3369
+ "version": "4.0.2",
3370
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
3371
+ "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
3372
+ "funding": [
3373
+ {
3374
+ "type": "GitHub Sponsors",
3375
+ "url": "https://github.com/sponsors/unifiedjs"
3376
+ },
3377
+ {
3378
+ "type": "OpenCollective",
3379
+ "url": "https://opencollective.com/unified"
3380
+ }
3381
+ ],
3382
+ "license": "MIT",
3383
+ "dependencies": {
3384
+ "@types/debug": "^4.0.0",
3385
+ "debug": "^4.0.0",
3386
+ "decode-named-character-reference": "^1.0.0",
3387
+ "devlop": "^1.0.0",
3388
+ "micromark-core-commonmark": "^2.0.0",
3389
+ "micromark-factory-space": "^2.0.0",
3390
+ "micromark-util-character": "^2.0.0",
3391
+ "micromark-util-chunked": "^2.0.0",
3392
+ "micromark-util-combine-extensions": "^2.0.0",
3393
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
3394
+ "micromark-util-encode": "^2.0.0",
3395
+ "micromark-util-normalize-identifier": "^2.0.0",
3396
+ "micromark-util-resolve-all": "^2.0.0",
3397
+ "micromark-util-sanitize-uri": "^2.0.0",
3398
+ "micromark-util-subtokenize": "^2.0.0",
3399
+ "micromark-util-symbol": "^2.0.0",
3400
+ "micromark-util-types": "^2.0.0"
3401
+ }
3402
+ },
3403
+ "node_modules/micromark-core-commonmark": {
3404
+ "version": "2.0.3",
3405
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
3406
+ "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
3407
+ "funding": [
3408
+ {
3409
+ "type": "GitHub Sponsors",
3410
+ "url": "https://github.com/sponsors/unifiedjs"
3411
+ },
3412
+ {
3413
+ "type": "OpenCollective",
3414
+ "url": "https://opencollective.com/unified"
3415
+ }
3416
+ ],
3417
+ "license": "MIT",
3418
+ "dependencies": {
3419
+ "decode-named-character-reference": "^1.0.0",
3420
+ "devlop": "^1.0.0",
3421
+ "micromark-factory-destination": "^2.0.0",
3422
+ "micromark-factory-label": "^2.0.0",
3423
+ "micromark-factory-space": "^2.0.0",
3424
+ "micromark-factory-title": "^2.0.0",
3425
+ "micromark-factory-whitespace": "^2.0.0",
3426
+ "micromark-util-character": "^2.0.0",
3427
+ "micromark-util-chunked": "^2.0.0",
3428
+ "micromark-util-classify-character": "^2.0.0",
3429
+ "micromark-util-html-tag-name": "^2.0.0",
3430
+ "micromark-util-normalize-identifier": "^2.0.0",
3431
+ "micromark-util-resolve-all": "^2.0.0",
3432
+ "micromark-util-subtokenize": "^2.0.0",
3433
+ "micromark-util-symbol": "^2.0.0",
3434
+ "micromark-util-types": "^2.0.0"
3435
+ }
3436
+ },
3437
+ "node_modules/micromark-factory-destination": {
3438
+ "version": "2.0.1",
3439
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
3440
+ "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
3441
+ "funding": [
3442
+ {
3443
+ "type": "GitHub Sponsors",
3444
+ "url": "https://github.com/sponsors/unifiedjs"
3445
+ },
3446
+ {
3447
+ "type": "OpenCollective",
3448
+ "url": "https://opencollective.com/unified"
3449
+ }
3450
+ ],
3451
+ "license": "MIT",
3452
+ "dependencies": {
3453
+ "micromark-util-character": "^2.0.0",
3454
+ "micromark-util-symbol": "^2.0.0",
3455
+ "micromark-util-types": "^2.0.0"
3456
+ }
3457
+ },
3458
+ "node_modules/micromark-factory-label": {
3459
+ "version": "2.0.1",
3460
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
3461
+ "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
3462
+ "funding": [
3463
+ {
3464
+ "type": "GitHub Sponsors",
3465
+ "url": "https://github.com/sponsors/unifiedjs"
3466
+ },
3467
+ {
3468
+ "type": "OpenCollective",
3469
+ "url": "https://opencollective.com/unified"
3470
+ }
3471
+ ],
3472
+ "license": "MIT",
3473
+ "dependencies": {
3474
+ "devlop": "^1.0.0",
3475
+ "micromark-util-character": "^2.0.0",
3476
+ "micromark-util-symbol": "^2.0.0",
3477
+ "micromark-util-types": "^2.0.0"
3478
+ }
3479
+ },
3480
+ "node_modules/micromark-factory-space": {
3481
+ "version": "2.0.1",
3482
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
3483
+ "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
3484
+ "funding": [
3485
+ {
3486
+ "type": "GitHub Sponsors",
3487
+ "url": "https://github.com/sponsors/unifiedjs"
3488
+ },
3489
+ {
3490
+ "type": "OpenCollective",
3491
+ "url": "https://opencollective.com/unified"
3492
+ }
3493
+ ],
3494
+ "license": "MIT",
3495
+ "dependencies": {
3496
+ "micromark-util-character": "^2.0.0",
3497
+ "micromark-util-types": "^2.0.0"
3498
+ }
3499
+ },
3500
+ "node_modules/micromark-factory-title": {
3501
+ "version": "2.0.1",
3502
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
3503
+ "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
3504
+ "funding": [
3505
+ {
3506
+ "type": "GitHub Sponsors",
3507
+ "url": "https://github.com/sponsors/unifiedjs"
3508
+ },
3509
+ {
3510
+ "type": "OpenCollective",
3511
+ "url": "https://opencollective.com/unified"
3512
+ }
3513
+ ],
3514
+ "license": "MIT",
3515
+ "dependencies": {
3516
+ "micromark-factory-space": "^2.0.0",
3517
+ "micromark-util-character": "^2.0.0",
3518
+ "micromark-util-symbol": "^2.0.0",
3519
+ "micromark-util-types": "^2.0.0"
3520
+ }
3521
+ },
3522
+ "node_modules/micromark-factory-whitespace": {
3523
+ "version": "2.0.1",
3524
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
3525
+ "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
3526
+ "funding": [
3527
+ {
3528
+ "type": "GitHub Sponsors",
3529
+ "url": "https://github.com/sponsors/unifiedjs"
3530
+ },
3531
+ {
3532
+ "type": "OpenCollective",
3533
+ "url": "https://opencollective.com/unified"
3534
+ }
3535
+ ],
3536
+ "license": "MIT",
3537
+ "dependencies": {
3538
+ "micromark-factory-space": "^2.0.0",
3539
+ "micromark-util-character": "^2.0.0",
3540
+ "micromark-util-symbol": "^2.0.0",
3541
+ "micromark-util-types": "^2.0.0"
3542
+ }
3543
+ },
3544
+ "node_modules/micromark-util-character": {
3545
+ "version": "2.1.1",
3546
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
3547
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
3548
+ "funding": [
3549
+ {
3550
+ "type": "GitHub Sponsors",
3551
+ "url": "https://github.com/sponsors/unifiedjs"
3552
+ },
3553
+ {
3554
+ "type": "OpenCollective",
3555
+ "url": "https://opencollective.com/unified"
3556
+ }
3557
+ ],
3558
+ "license": "MIT",
3559
+ "dependencies": {
3560
+ "micromark-util-symbol": "^2.0.0",
3561
+ "micromark-util-types": "^2.0.0"
3562
+ }
3563
+ },
3564
+ "node_modules/micromark-util-chunked": {
3565
+ "version": "2.0.1",
3566
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
3567
+ "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
3568
+ "funding": [
3569
+ {
3570
+ "type": "GitHub Sponsors",
3571
+ "url": "https://github.com/sponsors/unifiedjs"
3572
+ },
3573
+ {
3574
+ "type": "OpenCollective",
3575
+ "url": "https://opencollective.com/unified"
3576
+ }
3577
+ ],
3578
+ "license": "MIT",
3579
+ "dependencies": {
3580
+ "micromark-util-symbol": "^2.0.0"
3581
+ }
3582
+ },
3583
+ "node_modules/micromark-util-classify-character": {
3584
+ "version": "2.0.1",
3585
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
3586
+ "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
3587
+ "funding": [
3588
+ {
3589
+ "type": "GitHub Sponsors",
3590
+ "url": "https://github.com/sponsors/unifiedjs"
3591
+ },
3592
+ {
3593
+ "type": "OpenCollective",
3594
+ "url": "https://opencollective.com/unified"
3595
+ }
3596
+ ],
3597
+ "license": "MIT",
3598
+ "dependencies": {
3599
+ "micromark-util-character": "^2.0.0",
3600
+ "micromark-util-symbol": "^2.0.0",
3601
+ "micromark-util-types": "^2.0.0"
3602
+ }
3603
+ },
3604
+ "node_modules/micromark-util-combine-extensions": {
3605
+ "version": "2.0.1",
3606
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
3607
+ "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
3608
+ "funding": [
3609
+ {
3610
+ "type": "GitHub Sponsors",
3611
+ "url": "https://github.com/sponsors/unifiedjs"
3612
+ },
3613
+ {
3614
+ "type": "OpenCollective",
3615
+ "url": "https://opencollective.com/unified"
3616
+ }
3617
+ ],
3618
+ "license": "MIT",
3619
+ "dependencies": {
3620
+ "micromark-util-chunked": "^2.0.0",
3621
+ "micromark-util-types": "^2.0.0"
3622
+ }
3623
+ },
3624
+ "node_modules/micromark-util-decode-numeric-character-reference": {
3625
+ "version": "2.0.2",
3626
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
3627
+ "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
3628
+ "funding": [
3629
+ {
3630
+ "type": "GitHub Sponsors",
3631
+ "url": "https://github.com/sponsors/unifiedjs"
3632
+ },
3633
+ {
3634
+ "type": "OpenCollective",
3635
+ "url": "https://opencollective.com/unified"
3636
+ }
3637
+ ],
3638
+ "license": "MIT",
3639
+ "dependencies": {
3640
+ "micromark-util-symbol": "^2.0.0"
3641
+ }
3642
+ },
3643
+ "node_modules/micromark-util-decode-string": {
3644
+ "version": "2.0.1",
3645
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
3646
+ "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
3647
+ "funding": [
3648
+ {
3649
+ "type": "GitHub Sponsors",
3650
+ "url": "https://github.com/sponsors/unifiedjs"
3651
+ },
3652
+ {
3653
+ "type": "OpenCollective",
3654
+ "url": "https://opencollective.com/unified"
3655
+ }
3656
+ ],
3657
+ "license": "MIT",
3658
+ "dependencies": {
3659
+ "decode-named-character-reference": "^1.0.0",
3660
+ "micromark-util-character": "^2.0.0",
3661
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
3662
+ "micromark-util-symbol": "^2.0.0"
3663
+ }
3664
+ },
3665
+ "node_modules/micromark-util-encode": {
3666
+ "version": "2.0.1",
3667
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
3668
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
3669
+ "funding": [
3670
+ {
3671
+ "type": "GitHub Sponsors",
3672
+ "url": "https://github.com/sponsors/unifiedjs"
3673
+ },
3674
+ {
3675
+ "type": "OpenCollective",
3676
+ "url": "https://opencollective.com/unified"
3677
+ }
3678
+ ],
3679
+ "license": "MIT"
3680
+ },
3681
+ "node_modules/micromark-util-html-tag-name": {
3682
+ "version": "2.0.1",
3683
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
3684
+ "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
3685
+ "funding": [
3686
+ {
3687
+ "type": "GitHub Sponsors",
3688
+ "url": "https://github.com/sponsors/unifiedjs"
3689
+ },
3690
+ {
3691
+ "type": "OpenCollective",
3692
+ "url": "https://opencollective.com/unified"
3693
+ }
3694
+ ],
3695
+ "license": "MIT"
3696
+ },
3697
+ "node_modules/micromark-util-normalize-identifier": {
3698
+ "version": "2.0.1",
3699
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
3700
+ "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
3701
+ "funding": [
3702
+ {
3703
+ "type": "GitHub Sponsors",
3704
+ "url": "https://github.com/sponsors/unifiedjs"
3705
+ },
3706
+ {
3707
+ "type": "OpenCollective",
3708
+ "url": "https://opencollective.com/unified"
3709
+ }
3710
+ ],
3711
+ "license": "MIT",
3712
+ "dependencies": {
3713
+ "micromark-util-symbol": "^2.0.0"
3714
+ }
3715
+ },
3716
+ "node_modules/micromark-util-resolve-all": {
3717
+ "version": "2.0.1",
3718
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
3719
+ "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
3720
+ "funding": [
3721
+ {
3722
+ "type": "GitHub Sponsors",
3723
+ "url": "https://github.com/sponsors/unifiedjs"
3724
+ },
3725
+ {
3726
+ "type": "OpenCollective",
3727
+ "url": "https://opencollective.com/unified"
3728
+ }
3729
+ ],
3730
+ "license": "MIT",
3731
+ "dependencies": {
3732
+ "micromark-util-types": "^2.0.0"
3733
+ }
3734
+ },
3735
+ "node_modules/micromark-util-sanitize-uri": {
3736
+ "version": "2.0.1",
3737
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
3738
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
3739
+ "funding": [
3740
+ {
3741
+ "type": "GitHub Sponsors",
3742
+ "url": "https://github.com/sponsors/unifiedjs"
3743
+ },
3744
+ {
3745
+ "type": "OpenCollective",
3746
+ "url": "https://opencollective.com/unified"
3747
+ }
3748
+ ],
3749
+ "license": "MIT",
3750
+ "dependencies": {
3751
+ "micromark-util-character": "^2.0.0",
3752
+ "micromark-util-encode": "^2.0.0",
3753
+ "micromark-util-symbol": "^2.0.0"
3754
+ }
3755
+ },
3756
+ "node_modules/micromark-util-subtokenize": {
3757
+ "version": "2.1.0",
3758
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
3759
+ "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
3760
+ "funding": [
3761
+ {
3762
+ "type": "GitHub Sponsors",
3763
+ "url": "https://github.com/sponsors/unifiedjs"
3764
+ },
3765
+ {
3766
+ "type": "OpenCollective",
3767
+ "url": "https://opencollective.com/unified"
3768
+ }
3769
+ ],
3770
+ "license": "MIT",
3771
+ "dependencies": {
3772
+ "devlop": "^1.0.0",
3773
+ "micromark-util-chunked": "^2.0.0",
3774
+ "micromark-util-symbol": "^2.0.0",
3775
+ "micromark-util-types": "^2.0.0"
3776
+ }
3777
+ },
3778
+ "node_modules/micromark-util-symbol": {
3779
+ "version": "2.0.1",
3780
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
3781
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
3782
+ "funding": [
3783
+ {
3784
+ "type": "GitHub Sponsors",
3785
+ "url": "https://github.com/sponsors/unifiedjs"
3786
+ },
3787
+ {
3788
+ "type": "OpenCollective",
3789
+ "url": "https://opencollective.com/unified"
3790
+ }
3791
+ ],
3792
+ "license": "MIT"
3793
+ },
3794
+ "node_modules/micromark-util-types": {
3795
+ "version": "2.0.2",
3796
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
3797
+ "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
3798
+ "funding": [
3799
+ {
3800
+ "type": "GitHub Sponsors",
3801
+ "url": "https://github.com/sponsors/unifiedjs"
3802
+ },
3803
+ {
3804
+ "type": "OpenCollective",
3805
+ "url": "https://opencollective.com/unified"
3806
+ }
3807
+ ],
3808
+ "license": "MIT"
3809
+ },
3810
+ "node_modules/mime-db": {
3811
+ "version": "1.52.0",
3812
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
3813
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
3814
+ "license": "MIT",
3815
+ "engines": {
3816
+ "node": ">= 0.6"
3817
+ }
3818
+ },
3819
+ "node_modules/mime-types": {
3820
+ "version": "2.1.35",
3821
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
3822
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
3823
+ "license": "MIT",
3824
+ "dependencies": {
3825
+ "mime-db": "1.52.0"
3826
+ },
3827
+ "engines": {
3828
+ "node": ">= 0.6"
3829
+ }
3830
+ },
3831
+ "node_modules/minimatch": {
3832
+ "version": "3.1.5",
3833
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
3834
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
3835
+ "dev": true,
3836
+ "license": "ISC",
3837
+ "dependencies": {
3838
+ "brace-expansion": "^1.1.7"
3839
+ },
3840
+ "engines": {
3841
+ "node": "*"
3842
+ }
3843
+ },
3844
+ "node_modules/ms": {
3845
+ "version": "2.1.3",
3846
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
3847
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
3848
+ "license": "MIT"
3849
+ },
3850
+ "node_modules/nanoid": {
3851
+ "version": "3.3.11",
3852
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
3853
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
3854
+ "dev": true,
3855
+ "funding": [
3856
+ {
3857
+ "type": "github",
3858
+ "url": "https://github.com/sponsors/ai"
3859
+ }
3860
+ ],
3861
+ "license": "MIT",
3862
+ "bin": {
3863
+ "nanoid": "bin/nanoid.cjs"
3864
+ },
3865
+ "engines": {
3866
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
3867
+ }
3868
+ },
3869
+ "node_modules/natural-compare": {
3870
+ "version": "1.4.0",
3871
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3872
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
3873
+ "dev": true,
3874
+ "license": "MIT"
3875
+ },
3876
+ "node_modules/node-releases": {
3877
  "version": "2.0.37",
3878
  "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz",
3879
  "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==",
 
3943
  "node": ">=6"
3944
  }
3945
  },
3946
+ "node_modules/parse-entities": {
3947
+ "version": "4.0.2",
3948
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
3949
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
3950
+ "license": "MIT",
3951
+ "dependencies": {
3952
+ "@types/unist": "^2.0.0",
3953
+ "character-entities-legacy": "^3.0.0",
3954
+ "character-reference-invalid": "^2.0.0",
3955
+ "decode-named-character-reference": "^1.0.0",
3956
+ "is-alphanumerical": "^2.0.0",
3957
+ "is-decimal": "^2.0.0",
3958
+ "is-hexadecimal": "^2.0.0"
3959
+ },
3960
+ "funding": {
3961
+ "type": "github",
3962
+ "url": "https://github.com/sponsors/wooorm"
3963
+ }
3964
+ },
3965
+ "node_modules/parse-entities/node_modules/@types/unist": {
3966
+ "version": "2.0.11",
3967
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
3968
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
3969
+ "license": "MIT"
3970
+ },
3971
  "node_modules/path-exists": {
3972
  "version": "4.0.0",
3973
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
 
4001
  "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
4002
  "dev": true,
4003
  "license": "MIT",
4004
+ "peer": true,
4005
  "engines": {
4006
  "node": ">=12"
4007
  },
 
4048
  "node": ">= 0.8.0"
4049
  }
4050
  },
4051
+ "node_modules/property-information": {
4052
+ "version": "7.1.0",
4053
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
4054
+ "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
4055
+ "license": "MIT",
4056
+ "funding": {
4057
+ "type": "github",
4058
+ "url": "https://github.com/sponsors/wooorm"
4059
+ }
4060
+ },
4061
  "node_modules/proxy-from-env": {
4062
  "version": "2.1.0",
4063
  "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
 
4082
  "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
4083
  "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
4084
  "license": "MIT",
4085
+ "peer": true,
4086
  "engines": {
4087
  "node": ">=0.10.0"
4088
  }
 
4092
  "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
4093
  "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
4094
  "license": "MIT",
4095
+ "peer": true,
4096
  "dependencies": {
4097
  "scheduler": "^0.27.0"
4098
  },
 
4116
  "license": "MIT",
4117
  "peer": true
4118
  },
4119
+ "node_modules/react-markdown": {
4120
+ "version": "10.1.0",
4121
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz",
4122
+ "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==",
4123
+ "license": "MIT",
4124
+ "dependencies": {
4125
+ "@types/hast": "^3.0.0",
4126
+ "@types/mdast": "^4.0.0",
4127
+ "devlop": "^1.0.0",
4128
+ "hast-util-to-jsx-runtime": "^2.0.0",
4129
+ "html-url-attributes": "^3.0.0",
4130
+ "mdast-util-to-hast": "^13.0.0",
4131
+ "remark-parse": "^11.0.0",
4132
+ "remark-rehype": "^11.0.0",
4133
+ "unified": "^11.0.0",
4134
+ "unist-util-visit": "^5.0.0",
4135
+ "vfile": "^6.0.0"
4136
+ },
4137
+ "funding": {
4138
+ "type": "opencollective",
4139
+ "url": "https://opencollective.com/unified"
4140
+ },
4141
+ "peerDependencies": {
4142
+ "@types/react": ">=18",
4143
+ "react": ">=18"
4144
+ }
4145
+ },
4146
  "node_modules/react-redux": {
4147
  "version": "9.2.0",
4148
  "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
4149
  "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
4150
  "license": "MIT",
4151
+ "peer": true,
4152
  "dependencies": {
4153
  "@types/use-sync-external-store": "^0.0.6",
4154
  "use-sync-external-store": "^1.4.0"
 
4211
  "version": "5.0.1",
4212
  "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
4213
  "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
4214
+ "license": "MIT",
4215
+ "peer": true
4216
  },
4217
  "node_modules/redux-thunk": {
4218
  "version": "3.1.0",
 
4223
  "redux": "^5.0.0"
4224
  }
4225
  },
4226
+ "node_modules/remark-parse": {
4227
+ "version": "11.0.0",
4228
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
4229
+ "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
4230
+ "license": "MIT",
4231
+ "dependencies": {
4232
+ "@types/mdast": "^4.0.0",
4233
+ "mdast-util-from-markdown": "^2.0.0",
4234
+ "micromark-util-types": "^2.0.0",
4235
+ "unified": "^11.0.0"
4236
+ },
4237
+ "funding": {
4238
+ "type": "opencollective",
4239
+ "url": "https://opencollective.com/unified"
4240
+ }
4241
+ },
4242
+ "node_modules/remark-rehype": {
4243
+ "version": "11.1.2",
4244
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
4245
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
4246
+ "license": "MIT",
4247
+ "dependencies": {
4248
+ "@types/hast": "^3.0.0",
4249
+ "@types/mdast": "^4.0.0",
4250
+ "mdast-util-to-hast": "^13.0.0",
4251
+ "unified": "^11.0.0",
4252
+ "vfile": "^6.0.0"
4253
+ },
4254
+ "funding": {
4255
+ "type": "opencollective",
4256
+ "url": "https://opencollective.com/unified"
4257
+ }
4258
+ },
4259
  "node_modules/reselect": {
4260
  "version": "5.1.1",
4261
  "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
 
4390
  "node": ">=0.10.0"
4391
  }
4392
  },
4393
+ "node_modules/space-separated-tokens": {
4394
+ "version": "2.0.2",
4395
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
4396
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
4397
+ "license": "MIT",
4398
+ "funding": {
4399
+ "type": "github",
4400
+ "url": "https://github.com/sponsors/wooorm"
4401
+ }
4402
+ },
4403
+ "node_modules/stringify-entities": {
4404
+ "version": "4.0.4",
4405
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
4406
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
4407
+ "license": "MIT",
4408
+ "dependencies": {
4409
+ "character-entities-html4": "^2.0.0",
4410
+ "character-entities-legacy": "^3.0.0"
4411
+ },
4412
+ "funding": {
4413
+ "type": "github",
4414
+ "url": "https://github.com/sponsors/wooorm"
4415
+ }
4416
+ },
4417
  "node_modules/strip-json-comments": {
4418
  "version": "3.1.1",
4419
  "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
 
4427
  "url": "https://github.com/sponsors/sindresorhus"
4428
  }
4429
  },
4430
+ "node_modules/style-to-js": {
4431
+ "version": "1.1.21",
4432
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
4433
+ "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
4434
+ "license": "MIT",
4435
+ "dependencies": {
4436
+ "style-to-object": "1.0.14"
4437
+ }
4438
+ },
4439
+ "node_modules/style-to-object": {
4440
+ "version": "1.0.14",
4441
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
4442
+ "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
4443
+ "license": "MIT",
4444
+ "dependencies": {
4445
+ "inline-style-parser": "0.2.7"
4446
+ }
4447
+ },
4448
  "node_modules/supports-color": {
4449
  "version": "7.2.0",
4450
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 
4502
  "url": "https://github.com/sponsors/SuperchupuDev"
4503
  }
4504
  },
4505
+ "node_modules/trim-lines": {
4506
+ "version": "3.0.1",
4507
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
4508
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
4509
+ "license": "MIT",
4510
+ "funding": {
4511
+ "type": "github",
4512
+ "url": "https://github.com/sponsors/wooorm"
4513
+ }
4514
+ },
4515
+ "node_modules/trough": {
4516
+ "version": "2.2.0",
4517
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
4518
+ "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
4519
+ "license": "MIT",
4520
+ "funding": {
4521
+ "type": "github",
4522
+ "url": "https://github.com/sponsors/wooorm"
4523
+ }
4524
+ },
4525
  "node_modules/tslib": {
4526
  "version": "2.8.1",
4527
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
 
4543
  "node": ">= 0.8.0"
4544
  }
4545
  },
4546
+ "node_modules/unified": {
4547
+ "version": "11.0.5",
4548
+ "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
4549
+ "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
4550
+ "license": "MIT",
4551
+ "dependencies": {
4552
+ "@types/unist": "^3.0.0",
4553
+ "bail": "^2.0.0",
4554
+ "devlop": "^1.0.0",
4555
+ "extend": "^3.0.0",
4556
+ "is-plain-obj": "^4.0.0",
4557
+ "trough": "^2.0.0",
4558
+ "vfile": "^6.0.0"
4559
+ },
4560
+ "funding": {
4561
+ "type": "opencollective",
4562
+ "url": "https://opencollective.com/unified"
4563
+ }
4564
+ },
4565
+ "node_modules/unist-util-is": {
4566
+ "version": "6.0.1",
4567
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
4568
+ "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
4569
+ "license": "MIT",
4570
+ "dependencies": {
4571
+ "@types/unist": "^3.0.0"
4572
+ },
4573
+ "funding": {
4574
+ "type": "opencollective",
4575
+ "url": "https://opencollective.com/unified"
4576
+ }
4577
+ },
4578
+ "node_modules/unist-util-position": {
4579
+ "version": "5.0.0",
4580
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
4581
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
4582
+ "license": "MIT",
4583
+ "dependencies": {
4584
+ "@types/unist": "^3.0.0"
4585
+ },
4586
+ "funding": {
4587
+ "type": "opencollective",
4588
+ "url": "https://opencollective.com/unified"
4589
+ }
4590
+ },
4591
+ "node_modules/unist-util-stringify-position": {
4592
+ "version": "4.0.0",
4593
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
4594
+ "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
4595
+ "license": "MIT",
4596
+ "dependencies": {
4597
+ "@types/unist": "^3.0.0"
4598
+ },
4599
+ "funding": {
4600
+ "type": "opencollective",
4601
+ "url": "https://opencollective.com/unified"
4602
+ }
4603
+ },
4604
+ "node_modules/unist-util-visit": {
4605
+ "version": "5.1.0",
4606
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
4607
+ "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
4608
+ "license": "MIT",
4609
+ "dependencies": {
4610
+ "@types/unist": "^3.0.0",
4611
+ "unist-util-is": "^6.0.0",
4612
+ "unist-util-visit-parents": "^6.0.0"
4613
+ },
4614
+ "funding": {
4615
+ "type": "opencollective",
4616
+ "url": "https://opencollective.com/unified"
4617
+ }
4618
+ },
4619
+ "node_modules/unist-util-visit-parents": {
4620
+ "version": "6.0.2",
4621
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
4622
+ "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
4623
+ "license": "MIT",
4624
+ "dependencies": {
4625
+ "@types/unist": "^3.0.0",
4626
+ "unist-util-is": "^6.0.0"
4627
+ },
4628
+ "funding": {
4629
+ "type": "opencollective",
4630
+ "url": "https://opencollective.com/unified"
4631
+ }
4632
+ },
4633
  "node_modules/update-browserslist-db": {
4634
  "version": "1.2.3",
4635
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
 
4680
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
4681
  }
4682
  },
4683
+ "node_modules/vfile": {
4684
+ "version": "6.0.3",
4685
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
4686
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
4687
+ "license": "MIT",
4688
+ "dependencies": {
4689
+ "@types/unist": "^3.0.0",
4690
+ "vfile-message": "^4.0.0"
4691
+ },
4692
+ "funding": {
4693
+ "type": "opencollective",
4694
+ "url": "https://opencollective.com/unified"
4695
+ }
4696
+ },
4697
+ "node_modules/vfile-message": {
4698
+ "version": "4.0.3",
4699
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
4700
+ "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
4701
+ "license": "MIT",
4702
+ "dependencies": {
4703
+ "@types/unist": "^3.0.0",
4704
+ "unist-util-stringify-position": "^4.0.0"
4705
+ },
4706
+ "funding": {
4707
+ "type": "opencollective",
4708
+ "url": "https://opencollective.com/unified"
4709
+ }
4710
+ },
4711
  "node_modules/victory-vendor": {
4712
  "version": "37.3.6",
4713
  "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz",
 
4736
  "integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==",
4737
  "dev": true,
4738
  "license": "MIT",
4739
+ "peer": true,
4740
  "dependencies": {
4741
  "lightningcss": "^1.32.0",
4742
  "picomatch": "^4.0.4",
 
4890
  "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
4891
  "dev": true,
4892
  "license": "MIT",
4893
+ "peer": true,
4894
  "funding": {
4895
  "url": "https://github.com/sponsors/colinhacks"
4896
  }
 
4907
  "peerDependencies": {
4908
  "zod": "^3.25.0 || ^4.0.0"
4909
  }
4910
+ },
4911
+ "node_modules/zwitch": {
4912
+ "version": "2.0.4",
4913
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
4914
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
4915
+ "license": "MIT",
4916
+ "funding": {
4917
+ "type": "github",
4918
+ "url": "https://github.com/sponsors/wooorm"
4919
+ }
4920
  }
4921
  }
4922
  }
package.json CHANGED
@@ -16,6 +16,7 @@
16
  "react": "^19.2.4",
17
  "react-dom": "^19.2.4",
18
  "react-icons": "^5.6.0",
 
19
  "react-redux": "^9.2.0",
20
  "recharts": "^3.8.1",
21
  "socket.io-client": "^4.8.3"
 
16
  "react": "^19.2.4",
17
  "react-dom": "^19.2.4",
18
  "react-icons": "^5.6.0",
19
+ "react-markdown": "^10.1.0",
20
  "react-redux": "^9.2.0",
21
  "recharts": "^3.8.1",
22
  "socket.io-client": "^4.8.3"
src/components/chatarea/ChatMessages.jsx CHANGED
@@ -102,7 +102,12 @@ function ChatMessage({
102
  className="text-sm leading-relaxed"
103
  style={{ color: "var(--text-primary)" }}
104
  >
105
- {renderMessageWithMentions(msg.content, isDark, onShowProfile, msg.isBot)}
 
 
 
 
 
106
  {msg.isEdited && (
107
  <span
108
  className="ml-1 text-[10px] italic"
@@ -155,11 +160,11 @@ function ChatMessage({
155
 
156
  function TypingIndicator({ isDark, senderName = "Đang nhập" }) {
157
  return (
158
- <div className="flex items-center gap-2 px-4 py-1.5" style={{ background: "transparent" }}>
159
- <span
160
- className="text-xs italic"
161
- style={{ color: "var(--primary)" }}
162
- >
163
  {senderName} đang nhập
164
  </span>
165
  <span className="flex gap-0.5">
@@ -359,7 +364,10 @@ function ChatMessages({
359
  hasMoreMessagesRef.current
360
  ) {
361
  // DM pagination
362
- if (conversationId && !conversationId.toString().startsWith("temp-conv-")) {
 
 
 
363
  setIsLoadingMore(true);
364
  const nextPage = currentPage + 1;
365
  dispatch(
@@ -454,18 +462,30 @@ function ChatMessages({
454
  <div className="flex items-center gap-1">
455
  <div
456
  className="w-1.5 h-1.5 rounded-full animate-pulse"
457
- style={{ background: "var(--primary)", animationDelay: "0ms" }}
 
 
 
458
  />
459
  <div
460
  className="w-1.5 h-1.5 rounded-full animate-pulse"
461
- style={{ background: "var(--primary)", animationDelay: "150ms" }}
 
 
 
462
  />
463
  <div
464
  className="w-1.5 h-1.5 rounded-full animate-pulse"
465
- style={{ background: "var(--primary)", animationDelay: "300ms" }}
 
 
 
466
  />
467
  </div>
468
- <span className="text-[10px]" style={{ color: "var(--text-muted)" }}>
 
 
 
469
  Đang cập nhật...
470
  </span>
471
  </div>
 
102
  className="text-sm leading-relaxed"
103
  style={{ color: "var(--text-primary)" }}
104
  >
105
+ {renderMessageWithMentions(
106
+ msg.content,
107
+ isDark,
108
+ onShowProfile,
109
+ msg.isBot,
110
+ )}
111
  {msg.isEdited && (
112
  <span
113
  className="ml-1 text-[10px] italic"
 
160
 
161
  function TypingIndicator({ isDark, senderName = "Đang nhập" }) {
162
  return (
163
+ <div
164
+ className="flex items-center gap-2 px-4 py-1.5"
165
+ style={{ background: "transparent" }}
166
+ >
167
+ <span className="text-xs italic" style={{ color: "var(--primary)" }}>
168
  {senderName} đang nhập
169
  </span>
170
  <span className="flex gap-0.5">
 
364
  hasMoreMessagesRef.current
365
  ) {
366
  // DM pagination
367
+ if (
368
+ conversationId &&
369
+ !conversationId.toString().startsWith("temp-conv-")
370
+ ) {
371
  setIsLoadingMore(true);
372
  const nextPage = currentPage + 1;
373
  dispatch(
 
462
  <div className="flex items-center gap-1">
463
  <div
464
  className="w-1.5 h-1.5 rounded-full animate-pulse"
465
+ style={{
466
+ background: "var(--primary)",
467
+ animationDelay: "0ms",
468
+ }}
469
  />
470
  <div
471
  className="w-1.5 h-1.5 rounded-full animate-pulse"
472
+ style={{
473
+ background: "var(--primary)",
474
+ animationDelay: "150ms",
475
+ }}
476
  />
477
  <div
478
  className="w-1.5 h-1.5 rounded-full animate-pulse"
479
+ style={{
480
+ background: "var(--primary)",
481
+ animationDelay: "300ms",
482
+ }}
483
  />
484
  </div>
485
+ <span
486
+ className="text-[10px]"
487
+ style={{ color: "var(--text-muted)" }}
488
+ >
489
  Đang cập nhật...
490
  </span>
491
  </div>
src/components/chatarea/MessageContent.jsx CHANGED
@@ -1,10 +1,16 @@
1
  import { getUserColor } from "../../utils/userColor.js";
 
2
 
3
  /**
4
  * Render message content with @ mentions as styled tags
5
  * Uses a simple color hash for unknown users instead of mock data
6
  */
7
- export function renderMessageWithMentions(content, isDark, onShowProfile, isBot = false) {
 
 
 
 
 
8
  if (!content) return content;
9
 
10
  // Regex to match @username patterns (only letters, numbers, underscores - no spaces)
@@ -54,7 +60,9 @@ export function renderMessageWithMentions(content, isDark, onShowProfile, isBot
54
  // Add remaining text
55
  if (lastIndex < content.length) {
56
  parts.push(
57
- <span key={`text-end-${lastIndex}`}>{content.substring(lastIndex)}</span>,
 
 
58
  );
59
  }
60
 
 
1
  import { getUserColor } from "../../utils/userColor.js";
2
+ import ReactMarkdown from "react-markdown";
3
 
4
  /**
5
  * Render message content with @ mentions as styled tags
6
  * Uses a simple color hash for unknown users instead of mock data
7
  */
8
+ export function renderMessageWithMentions(
9
+ content,
10
+ isDark,
11
+ onShowProfile,
12
+ isBot = false,
13
+ ) {
14
  if (!content) return content;
15
 
16
  // Regex to match @username patterns (only letters, numbers, underscores - no spaces)
 
60
  // Add remaining text
61
  if (lastIndex < content.length) {
62
  parts.push(
63
+ <span key={`text-end-${lastIndex}`} className="whitespace-pre-wrap ">
64
+ <ReactMarkdown>{content.substring(lastIndex)}</ReactMarkdown>
65
+ </span>,
66
  );
67
  }
68