mafzaal commited on
Commit
2dde49f
·
1 Parent(s): 47bd0d6

Added markdown support

Browse files
app/frontend/package-lock.json CHANGED
@@ -23,7 +23,10 @@
23
  "lucide-react": "^0.487.0",
24
  "react": "^18.2.0",
25
  "react-dom": "^18.2.0",
 
26
  "react-scripts": "5.0.1",
 
 
27
  "tailwind-merge": "^3.2.0",
28
  "uuid": "^9.0.1",
29
  "web-vitals": "^2.1.4"
@@ -4582,6 +4585,15 @@
4582
  "@types/node": "*"
4583
  }
4584
  },
 
 
 
 
 
 
 
 
 
4585
  "node_modules/@types/eslint": {
4586
  "version": "8.56.12",
4587
  "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz",
@@ -4608,6 +4620,15 @@
4608
  "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
4609
  "license": "MIT"
4610
  },
 
 
 
 
 
 
 
 
 
4611
  "node_modules/@types/express": {
4612
  "version": "4.17.21",
4613
  "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
@@ -4653,6 +4674,15 @@
4653
  "@types/node": "*"
4654
  }
4655
  },
 
 
 
 
 
 
 
 
 
4656
  "node_modules/@types/html-minifier-terser": {
4657
  "version": "6.1.0",
4658
  "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
@@ -4752,12 +4782,27 @@
4752
  "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
4753
  "license": "MIT"
4754
  },
 
 
 
 
 
 
 
 
 
4755
  "node_modules/@types/mime": {
4756
  "version": "1.3.5",
4757
  "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
4758
  "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
4759
  "license": "MIT"
4760
  },
 
 
 
 
 
 
4761
  "node_modules/@types/node": {
4762
  "version": "22.14.1",
4763
  "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz",
@@ -4914,6 +4959,12 @@
4914
  "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
4915
  "license": "MIT"
4916
  },
 
 
 
 
 
 
4917
  "node_modules/@types/ws": {
4918
  "version": "8.18.1",
4919
  "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
@@ -6217,6 +6268,16 @@
6217
  "@babel/core": "^7.0.0-0"
6218
  }
6219
  },
 
 
 
 
 
 
 
 
 
 
6220
  "node_modules/balanced-match": {
6221
  "version": "1.0.2",
6222
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -6563,6 +6624,16 @@
6563
  "node": ">=4"
6564
  }
6565
  },
 
 
 
 
 
 
 
 
 
 
6566
  "node_modules/chalk": {
6567
  "version": "4.1.2",
6568
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -6588,6 +6659,46 @@
6588
  "node": ">=10"
6589
  }
6590
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6591
  "node_modules/check-types": {
6592
  "version": "11.2.3",
6593
  "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz",
@@ -6856,6 +6967,16 @@
6856
  "node": ">= 0.8"
6857
  }
6858
  },
 
 
 
 
 
 
 
 
 
 
6859
  "node_modules/commander": {
6860
  "version": "8.3.0",
6861
  "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
@@ -7544,6 +7665,19 @@
7544
  "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==",
7545
  "license": "MIT"
7546
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
7547
  "node_modules/dedent": {
7548
  "version": "0.7.0",
7549
  "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -7742,6 +7876,19 @@
7742
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
7743
  "license": "MIT"
7744
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
7745
  "node_modules/didyoumean": {
7746
  "version": "1.2.2",
7747
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -8922,6 +9069,16 @@
8922
  "node": ">=4.0"
8923
  }
8924
  },
 
 
 
 
 
 
 
 
 
 
8925
  "node_modules/estree-walker": {
8926
  "version": "1.0.1",
8927
  "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
@@ -9069,6 +9226,12 @@
9069
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
9070
  "license": "MIT"
9071
  },
 
 
 
 
 
 
9072
  "node_modules/fast-deep-equal": {
9073
  "version": "3.1.3",
9074
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -9140,6 +9303,19 @@
9140
  "reusify": "^1.0.4"
9141
  }
9142
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
9143
  "node_modules/faye-websocket": {
9144
  "version": "0.11.4",
9145
  "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
@@ -9520,6 +9696,14 @@
9520
  "node": ">= 6"
9521
  }
9522
  },
 
 
 
 
 
 
 
 
9523
  "node_modules/forwarded": {
9524
  "version": "0.2.0",
9525
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -9997,6 +10181,121 @@
9997
  "node": ">= 0.4"
9998
  }
9999
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10000
  "node_modules/he": {
10001
  "version": "1.2.0",
10002
  "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -10006,6 +10305,21 @@
10006
  "he": "bin/he"
10007
  }
10008
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10009
  "node_modules/hoopy": {
10010
  "version": "0.1.4",
10011
  "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
@@ -10118,6 +10432,16 @@
10118
  "node": ">=12"
10119
  }
10120
  },
 
 
 
 
 
 
 
 
 
 
10121
  "node_modules/html-webpack-plugin": {
10122
  "version": "5.6.3",
10123
  "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz",
@@ -10417,6 +10741,12 @@
10417
  "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
10418
  "license": "ISC"
10419
  },
 
 
 
 
 
 
10420
  "node_modules/internal-slot": {
10421
  "version": "1.1.0",
10422
  "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
@@ -10440,6 +10770,30 @@
10440
  "node": ">= 10"
10441
  }
10442
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10443
  "node_modules/is-arguments": {
10444
  "version": "1.2.0",
10445
  "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
@@ -10601,6 +10955,16 @@
10601
  "url": "https://github.com/sponsors/ljharb"
10602
  }
10603
  },
 
 
 
 
 
 
 
 
 
 
10604
  "node_modules/is-docker": {
10605
  "version": "2.2.1",
10606
  "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
@@ -10688,6 +11052,16 @@
10688
  "node": ">=0.10.0"
10689
  }
10690
  },
 
 
 
 
 
 
 
 
 
 
10691
  "node_modules/is-map": {
10692
  "version": "2.0.3",
10693
  "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
@@ -13459,6 +13833,16 @@
13459
  "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
13460
  "license": "MIT"
13461
  },
 
 
 
 
 
 
 
 
 
 
13462
  "node_modules/loose-envify": {
13463
  "version": "1.4.0",
13464
  "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -13480,6 +13864,20 @@
13480
  "tslib": "^2.0.3"
13481
  }
13482
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13483
  "node_modules/lru-cache": {
13484
  "version": "5.1.1",
13485
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -13549,6 +13947,16 @@
13549
  "tmpl": "1.0.5"
13550
  }
13551
  },
 
 
 
 
 
 
 
 
 
 
13552
  "node_modules/math-intrinsics": {
13553
  "version": "1.1.0",
13554
  "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -13558,46 +13966,328 @@
13558
  "node": ">= 0.4"
13559
  }
13560
  },
13561
- "node_modules/mdn-data": {
13562
- "version": "2.0.4",
13563
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
13564
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
13565
- "license": "CC0-1.0"
13566
- },
13567
- "node_modules/media-typer": {
13568
- "version": "0.3.0",
13569
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
13570
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
13571
  "license": "MIT",
13572
- "engines": {
13573
- "node": ">= 0.6"
13574
- }
13575
- },
13576
- "node_modules/memfs": {
13577
- "version": "3.5.3",
13578
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
13579
- "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
13580
- "license": "Unlicense",
13581
  "dependencies": {
13582
- "fs-monkey": "^1.0.4"
 
 
 
13583
  },
13584
- "engines": {
13585
- "node": ">= 4.0.0"
 
13586
  }
13587
  },
13588
- "node_modules/merge-descriptors": {
13589
- "version": "1.0.3",
13590
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
13591
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
13592
  "license": "MIT",
 
 
 
13593
  "funding": {
13594
  "url": "https://github.com/sponsors/sindresorhus"
13595
  }
13596
  },
13597
- "node_modules/merge-stream": {
13598
- "version": "2.0.0",
13599
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
13600
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13601
  "license": "MIT"
13602
  },
13603
  "node_modules/merge2": {
@@ -13618,6 +14308,569 @@
13618
  "node": ">= 0.6"
13619
  }
13620
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13621
  "node_modules/micromatch": {
13622
  "version": "4.0.8",
13623
  "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
@@ -14256,6 +15509,31 @@
14256
  "node": ">=6"
14257
  }
14258
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14259
  "node_modules/parse-json": {
14260
  "version": "5.2.0",
14261
  "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -15856,6 +17134,15 @@
15856
  "url": "https://github.com/chalk/ansi-styles?sponsor=1"
15857
  }
15858
  },
 
 
 
 
 
 
 
 
 
15859
  "node_modules/process-nextick-args": {
15860
  "version": "2.0.1",
15861
  "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -15901,6 +17188,16 @@
15901
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
15902
  "license": "MIT"
15903
  },
 
 
 
 
 
 
 
 
 
 
15904
  "node_modules/proxy-addr": {
15905
  "version": "2.0.7",
15906
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -16221,6 +17518,33 @@
16221
  "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
16222
  "license": "MIT"
16223
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16224
  "node_modules/react-refresh": {
16225
  "version": "0.11.0",
16226
  "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
@@ -16372,6 +17696,23 @@
16372
  }
16373
  }
16374
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16375
  "node_modules/read-cache": {
16376
  "version": "1.0.0",
16377
  "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -16454,6 +17795,122 @@
16454
  "url": "https://github.com/sponsors/ljharb"
16455
  }
16456
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16457
  "node_modules/regenerate": {
16458
  "version": "1.4.2",
16459
  "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
@@ -16569,6 +18026,72 @@
16569
  "node": ">= 0.10"
16570
  }
16571
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16572
  "node_modules/renderkid": {
16573
  "version": "3.0.0",
16574
  "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
@@ -17486,6 +19009,16 @@
17486
  "deprecated": "Please use @jridgewell/sourcemap-codec instead",
17487
  "license": "MIT"
17488
  },
 
 
 
 
 
 
 
 
 
 
17489
  "node_modules/spdy": {
17490
  "version": "4.0.2",
17491
  "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
@@ -17854,6 +19387,20 @@
17854
  "url": "https://github.com/sponsors/ljharb"
17855
  }
17856
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17857
  "node_modules/stringify-object": {
17858
  "version": "3.3.0",
17859
  "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
@@ -17960,6 +19507,24 @@
17960
  "webpack": "^5.0.0"
17961
  }
17962
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17963
  "node_modules/stylehacks": {
17964
  "version": "5.1.1",
17965
  "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",
@@ -18555,6 +20120,26 @@
18555
  "node": ">=8"
18556
  }
18557
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18558
  "node_modules/tryer": {
18559
  "version": "1.0.1",
18560
  "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
@@ -18840,6 +20425,37 @@
18840
  "node": ">=4"
18841
  }
18842
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18843
  "node_modules/unique-string": {
18844
  "version": "2.0.0",
18845
  "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
@@ -18852,6 +20468,74 @@
18852
  "node": ">=8"
18853
  }
18854
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18855
  "node_modules/universalify": {
18856
  "version": "2.0.1",
18857
  "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -19056,6 +20740,34 @@
19056
  "node": ">= 0.8"
19057
  }
19058
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19059
  "node_modules/w3c-hr-time": {
19060
  "version": "1.0.2",
19061
  "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
@@ -19930,6 +21642,15 @@
19930
  "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
19931
  "license": "MIT"
19932
  },
 
 
 
 
 
 
 
 
 
19933
  "node_modules/y18n": {
19934
  "version": "5.0.8",
19935
  "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -19992,6 +21713,16 @@
19992
  "funding": {
19993
  "url": "https://github.com/sponsors/sindresorhus"
19994
  }
 
 
 
 
 
 
 
 
 
 
19995
  }
19996
  }
19997
  }
 
23
  "lucide-react": "^0.487.0",
24
  "react": "^18.2.0",
25
  "react-dom": "^18.2.0",
26
+ "react-markdown": "^10.1.0",
27
  "react-scripts": "5.0.1",
28
+ "react-syntax-highlighter": "^15.6.1",
29
+ "remark-gfm": "^4.0.1",
30
  "tailwind-merge": "^3.2.0",
31
  "uuid": "^9.0.1",
32
  "web-vitals": "^2.1.4"
 
4585
  "@types/node": "*"
4586
  }
4587
  },
4588
+ "node_modules/@types/debug": {
4589
+ "version": "4.1.12",
4590
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
4591
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
4592
+ "license": "MIT",
4593
+ "dependencies": {
4594
+ "@types/ms": "*"
4595
+ }
4596
+ },
4597
  "node_modules/@types/eslint": {
4598
  "version": "8.56.12",
4599
  "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz",
 
4620
  "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
4621
  "license": "MIT"
4622
  },
4623
+ "node_modules/@types/estree-jsx": {
4624
+ "version": "1.0.5",
4625
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz",
4626
+ "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==",
4627
+ "license": "MIT",
4628
+ "dependencies": {
4629
+ "@types/estree": "*"
4630
+ }
4631
+ },
4632
  "node_modules/@types/express": {
4633
  "version": "4.17.21",
4634
  "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
 
4674
  "@types/node": "*"
4675
  }
4676
  },
4677
+ "node_modules/@types/hast": {
4678
+ "version": "3.0.4",
4679
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
4680
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
4681
+ "license": "MIT",
4682
+ "dependencies": {
4683
+ "@types/unist": "*"
4684
+ }
4685
+ },
4686
  "node_modules/@types/html-minifier-terser": {
4687
  "version": "6.1.0",
4688
  "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
 
4782
  "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
4783
  "license": "MIT"
4784
  },
4785
+ "node_modules/@types/mdast": {
4786
+ "version": "4.0.4",
4787
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
4788
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
4789
+ "license": "MIT",
4790
+ "dependencies": {
4791
+ "@types/unist": "*"
4792
+ }
4793
+ },
4794
  "node_modules/@types/mime": {
4795
  "version": "1.3.5",
4796
  "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
4797
  "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
4798
  "license": "MIT"
4799
  },
4800
+ "node_modules/@types/ms": {
4801
+ "version": "2.1.0",
4802
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
4803
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
4804
+ "license": "MIT"
4805
+ },
4806
  "node_modules/@types/node": {
4807
  "version": "22.14.1",
4808
  "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz",
 
4959
  "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
4960
  "license": "MIT"
4961
  },
4962
+ "node_modules/@types/unist": {
4963
+ "version": "3.0.3",
4964
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
4965
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
4966
+ "license": "MIT"
4967
+ },
4968
  "node_modules/@types/ws": {
4969
  "version": "8.18.1",
4970
  "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
 
6268
  "@babel/core": "^7.0.0-0"
6269
  }
6270
  },
6271
+ "node_modules/bail": {
6272
+ "version": "2.0.2",
6273
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
6274
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
6275
+ "license": "MIT",
6276
+ "funding": {
6277
+ "type": "github",
6278
+ "url": "https://github.com/sponsors/wooorm"
6279
+ }
6280
+ },
6281
  "node_modules/balanced-match": {
6282
  "version": "1.0.2",
6283
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 
6624
  "node": ">=4"
6625
  }
6626
  },
6627
+ "node_modules/ccount": {
6628
+ "version": "2.0.1",
6629
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
6630
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
6631
+ "license": "MIT",
6632
+ "funding": {
6633
+ "type": "github",
6634
+ "url": "https://github.com/sponsors/wooorm"
6635
+ }
6636
+ },
6637
  "node_modules/chalk": {
6638
  "version": "4.1.2",
6639
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
 
6659
  "node": ">=10"
6660
  }
6661
  },
6662
+ "node_modules/character-entities": {
6663
+ "version": "2.0.2",
6664
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
6665
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
6666
+ "license": "MIT",
6667
+ "funding": {
6668
+ "type": "github",
6669
+ "url": "https://github.com/sponsors/wooorm"
6670
+ }
6671
+ },
6672
+ "node_modules/character-entities-html4": {
6673
+ "version": "2.1.0",
6674
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
6675
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
6676
+ "license": "MIT",
6677
+ "funding": {
6678
+ "type": "github",
6679
+ "url": "https://github.com/sponsors/wooorm"
6680
+ }
6681
+ },
6682
+ "node_modules/character-entities-legacy": {
6683
+ "version": "3.0.0",
6684
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
6685
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
6686
+ "license": "MIT",
6687
+ "funding": {
6688
+ "type": "github",
6689
+ "url": "https://github.com/sponsors/wooorm"
6690
+ }
6691
+ },
6692
+ "node_modules/character-reference-invalid": {
6693
+ "version": "2.0.1",
6694
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
6695
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
6696
+ "license": "MIT",
6697
+ "funding": {
6698
+ "type": "github",
6699
+ "url": "https://github.com/sponsors/wooorm"
6700
+ }
6701
+ },
6702
  "node_modules/check-types": {
6703
  "version": "11.2.3",
6704
  "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz",
 
6967
  "node": ">= 0.8"
6968
  }
6969
  },
6970
+ "node_modules/comma-separated-tokens": {
6971
+ "version": "2.0.3",
6972
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
6973
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
6974
+ "license": "MIT",
6975
+ "funding": {
6976
+ "type": "github",
6977
+ "url": "https://github.com/sponsors/wooorm"
6978
+ }
6979
+ },
6980
  "node_modules/commander": {
6981
  "version": "8.3.0",
6982
  "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
 
7665
  "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==",
7666
  "license": "MIT"
7667
  },
7668
+ "node_modules/decode-named-character-reference": {
7669
+ "version": "1.1.0",
7670
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz",
7671
+ "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==",
7672
+ "license": "MIT",
7673
+ "dependencies": {
7674
+ "character-entities": "^2.0.0"
7675
+ },
7676
+ "funding": {
7677
+ "type": "github",
7678
+ "url": "https://github.com/sponsors/wooorm"
7679
+ }
7680
+ },
7681
  "node_modules/dedent": {
7682
  "version": "0.7.0",
7683
  "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
 
7876
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
7877
  "license": "MIT"
7878
  },
7879
+ "node_modules/devlop": {
7880
+ "version": "1.1.0",
7881
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
7882
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
7883
+ "license": "MIT",
7884
+ "dependencies": {
7885
+ "dequal": "^2.0.0"
7886
+ },
7887
+ "funding": {
7888
+ "type": "github",
7889
+ "url": "https://github.com/sponsors/wooorm"
7890
+ }
7891
+ },
7892
  "node_modules/didyoumean": {
7893
  "version": "1.2.2",
7894
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
 
9069
  "node": ">=4.0"
9070
  }
9071
  },
9072
+ "node_modules/estree-util-is-identifier-name": {
9073
+ "version": "3.0.0",
9074
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
9075
+ "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
9076
+ "license": "MIT",
9077
+ "funding": {
9078
+ "type": "opencollective",
9079
+ "url": "https://opencollective.com/unified"
9080
+ }
9081
+ },
9082
  "node_modules/estree-walker": {
9083
  "version": "1.0.1",
9084
  "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
 
9226
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
9227
  "license": "MIT"
9228
  },
9229
+ "node_modules/extend": {
9230
+ "version": "3.0.2",
9231
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
9232
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
9233
+ "license": "MIT"
9234
+ },
9235
  "node_modules/fast-deep-equal": {
9236
  "version": "3.1.3",
9237
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 
9303
  "reusify": "^1.0.4"
9304
  }
9305
  },
9306
+ "node_modules/fault": {
9307
+ "version": "1.0.4",
9308
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
9309
+ "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
9310
+ "license": "MIT",
9311
+ "dependencies": {
9312
+ "format": "^0.2.0"
9313
+ },
9314
+ "funding": {
9315
+ "type": "github",
9316
+ "url": "https://github.com/sponsors/wooorm"
9317
+ }
9318
+ },
9319
  "node_modules/faye-websocket": {
9320
  "version": "0.11.4",
9321
  "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
 
9696
  "node": ">= 6"
9697
  }
9698
  },
9699
+ "node_modules/format": {
9700
+ "version": "0.2.2",
9701
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
9702
+ "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==",
9703
+ "engines": {
9704
+ "node": ">=0.4.x"
9705
+ }
9706
+ },
9707
  "node_modules/forwarded": {
9708
  "version": "0.2.0",
9709
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
 
10181
  "node": ">= 0.4"
10182
  }
10183
  },
10184
+ "node_modules/hast-util-parse-selector": {
10185
+ "version": "2.2.5",
10186
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",
10187
+ "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==",
10188
+ "license": "MIT",
10189
+ "funding": {
10190
+ "type": "opencollective",
10191
+ "url": "https://opencollective.com/unified"
10192
+ }
10193
+ },
10194
+ "node_modules/hast-util-to-jsx-runtime": {
10195
+ "version": "2.3.6",
10196
+ "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
10197
+ "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==",
10198
+ "license": "MIT",
10199
+ "dependencies": {
10200
+ "@types/estree": "^1.0.0",
10201
+ "@types/hast": "^3.0.0",
10202
+ "@types/unist": "^3.0.0",
10203
+ "comma-separated-tokens": "^2.0.0",
10204
+ "devlop": "^1.0.0",
10205
+ "estree-util-is-identifier-name": "^3.0.0",
10206
+ "hast-util-whitespace": "^3.0.0",
10207
+ "mdast-util-mdx-expression": "^2.0.0",
10208
+ "mdast-util-mdx-jsx": "^3.0.0",
10209
+ "mdast-util-mdxjs-esm": "^2.0.0",
10210
+ "property-information": "^7.0.0",
10211
+ "space-separated-tokens": "^2.0.0",
10212
+ "style-to-js": "^1.0.0",
10213
+ "unist-util-position": "^5.0.0",
10214
+ "vfile-message": "^4.0.0"
10215
+ },
10216
+ "funding": {
10217
+ "type": "opencollective",
10218
+ "url": "https://opencollective.com/unified"
10219
+ }
10220
+ },
10221
+ "node_modules/hast-util-whitespace": {
10222
+ "version": "3.0.0",
10223
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
10224
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
10225
+ "license": "MIT",
10226
+ "dependencies": {
10227
+ "@types/hast": "^3.0.0"
10228
+ },
10229
+ "funding": {
10230
+ "type": "opencollective",
10231
+ "url": "https://opencollective.com/unified"
10232
+ }
10233
+ },
10234
+ "node_modules/hastscript": {
10235
+ "version": "6.0.0",
10236
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz",
10237
+ "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==",
10238
+ "license": "MIT",
10239
+ "dependencies": {
10240
+ "@types/hast": "^2.0.0",
10241
+ "comma-separated-tokens": "^1.0.0",
10242
+ "hast-util-parse-selector": "^2.0.0",
10243
+ "property-information": "^5.0.0",
10244
+ "space-separated-tokens": "^1.0.0"
10245
+ },
10246
+ "funding": {
10247
+ "type": "opencollective",
10248
+ "url": "https://opencollective.com/unified"
10249
+ }
10250
+ },
10251
+ "node_modules/hastscript/node_modules/@types/hast": {
10252
+ "version": "2.3.10",
10253
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
10254
+ "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
10255
+ "license": "MIT",
10256
+ "dependencies": {
10257
+ "@types/unist": "^2"
10258
+ }
10259
+ },
10260
+ "node_modules/hastscript/node_modules/@types/unist": {
10261
+ "version": "2.0.11",
10262
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
10263
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
10264
+ "license": "MIT"
10265
+ },
10266
+ "node_modules/hastscript/node_modules/comma-separated-tokens": {
10267
+ "version": "1.0.8",
10268
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
10269
+ "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==",
10270
+ "license": "MIT",
10271
+ "funding": {
10272
+ "type": "github",
10273
+ "url": "https://github.com/sponsors/wooorm"
10274
+ }
10275
+ },
10276
+ "node_modules/hastscript/node_modules/property-information": {
10277
+ "version": "5.6.0",
10278
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
10279
+ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
10280
+ "license": "MIT",
10281
+ "dependencies": {
10282
+ "xtend": "^4.0.0"
10283
+ },
10284
+ "funding": {
10285
+ "type": "github",
10286
+ "url": "https://github.com/sponsors/wooorm"
10287
+ }
10288
+ },
10289
+ "node_modules/hastscript/node_modules/space-separated-tokens": {
10290
+ "version": "1.1.5",
10291
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
10292
+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
10293
+ "license": "MIT",
10294
+ "funding": {
10295
+ "type": "github",
10296
+ "url": "https://github.com/sponsors/wooorm"
10297
+ }
10298
+ },
10299
  "node_modules/he": {
10300
  "version": "1.2.0",
10301
  "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
 
10305
  "he": "bin/he"
10306
  }
10307
  },
10308
+ "node_modules/highlight.js": {
10309
+ "version": "10.7.3",
10310
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
10311
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
10312
+ "license": "BSD-3-Clause",
10313
+ "engines": {
10314
+ "node": "*"
10315
+ }
10316
+ },
10317
+ "node_modules/highlightjs-vue": {
10318
+ "version": "1.0.0",
10319
+ "resolved": "https://registry.npmjs.org/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz",
10320
+ "integrity": "sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==",
10321
+ "license": "CC0-1.0"
10322
+ },
10323
  "node_modules/hoopy": {
10324
  "version": "0.1.4",
10325
  "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
 
10432
  "node": ">=12"
10433
  }
10434
  },
10435
+ "node_modules/html-url-attributes": {
10436
+ "version": "3.0.1",
10437
+ "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
10438
+ "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==",
10439
+ "license": "MIT",
10440
+ "funding": {
10441
+ "type": "opencollective",
10442
+ "url": "https://opencollective.com/unified"
10443
+ }
10444
+ },
10445
  "node_modules/html-webpack-plugin": {
10446
  "version": "5.6.3",
10447
  "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz",
 
10741
  "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
10742
  "license": "ISC"
10743
  },
10744
+ "node_modules/inline-style-parser": {
10745
+ "version": "0.2.4",
10746
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz",
10747
+ "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==",
10748
+ "license": "MIT"
10749
+ },
10750
  "node_modules/internal-slot": {
10751
  "version": "1.1.0",
10752
  "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
 
10770
  "node": ">= 10"
10771
  }
10772
  },
10773
+ "node_modules/is-alphabetical": {
10774
+ "version": "2.0.1",
10775
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
10776
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
10777
+ "license": "MIT",
10778
+ "funding": {
10779
+ "type": "github",
10780
+ "url": "https://github.com/sponsors/wooorm"
10781
+ }
10782
+ },
10783
+ "node_modules/is-alphanumerical": {
10784
+ "version": "2.0.1",
10785
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
10786
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
10787
+ "license": "MIT",
10788
+ "dependencies": {
10789
+ "is-alphabetical": "^2.0.0",
10790
+ "is-decimal": "^2.0.0"
10791
+ },
10792
+ "funding": {
10793
+ "type": "github",
10794
+ "url": "https://github.com/sponsors/wooorm"
10795
+ }
10796
+ },
10797
  "node_modules/is-arguments": {
10798
  "version": "1.2.0",
10799
  "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
 
10955
  "url": "https://github.com/sponsors/ljharb"
10956
  }
10957
  },
10958
+ "node_modules/is-decimal": {
10959
+ "version": "2.0.1",
10960
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
10961
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
10962
+ "license": "MIT",
10963
+ "funding": {
10964
+ "type": "github",
10965
+ "url": "https://github.com/sponsors/wooorm"
10966
+ }
10967
+ },
10968
  "node_modules/is-docker": {
10969
  "version": "2.2.1",
10970
  "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
 
11052
  "node": ">=0.10.0"
11053
  }
11054
  },
11055
+ "node_modules/is-hexadecimal": {
11056
+ "version": "2.0.1",
11057
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
11058
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
11059
+ "license": "MIT",
11060
+ "funding": {
11061
+ "type": "github",
11062
+ "url": "https://github.com/sponsors/wooorm"
11063
+ }
11064
+ },
11065
  "node_modules/is-map": {
11066
  "version": "2.0.3",
11067
  "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
 
13833
  "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
13834
  "license": "MIT"
13835
  },
13836
+ "node_modules/longest-streak": {
13837
+ "version": "3.1.0",
13838
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
13839
+ "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
13840
+ "license": "MIT",
13841
+ "funding": {
13842
+ "type": "github",
13843
+ "url": "https://github.com/sponsors/wooorm"
13844
+ }
13845
+ },
13846
  "node_modules/loose-envify": {
13847
  "version": "1.4.0",
13848
  "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
 
13864
  "tslib": "^2.0.3"
13865
  }
13866
  },
13867
+ "node_modules/lowlight": {
13868
+ "version": "1.20.0",
13869
+ "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz",
13870
+ "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==",
13871
+ "license": "MIT",
13872
+ "dependencies": {
13873
+ "fault": "^1.0.0",
13874
+ "highlight.js": "~10.7.0"
13875
+ },
13876
+ "funding": {
13877
+ "type": "github",
13878
+ "url": "https://github.com/sponsors/wooorm"
13879
+ }
13880
+ },
13881
  "node_modules/lru-cache": {
13882
  "version": "5.1.1",
13883
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
 
13947
  "tmpl": "1.0.5"
13948
  }
13949
  },
13950
+ "node_modules/markdown-table": {
13951
+ "version": "3.0.4",
13952
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
13953
+ "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
13954
+ "license": "MIT",
13955
+ "funding": {
13956
+ "type": "github",
13957
+ "url": "https://github.com/sponsors/wooorm"
13958
+ }
13959
+ },
13960
  "node_modules/math-intrinsics": {
13961
  "version": "1.1.0",
13962
  "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
 
13966
  "node": ">= 0.4"
13967
  }
13968
  },
13969
+ "node_modules/mdast-util-find-and-replace": {
13970
+ "version": "3.0.2",
13971
+ "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
13972
+ "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
 
 
 
 
 
 
13973
  "license": "MIT",
 
 
 
 
 
 
 
 
 
13974
  "dependencies": {
13975
+ "@types/mdast": "^4.0.0",
13976
+ "escape-string-regexp": "^5.0.0",
13977
+ "unist-util-is": "^6.0.0",
13978
+ "unist-util-visit-parents": "^6.0.0"
13979
  },
13980
+ "funding": {
13981
+ "type": "opencollective",
13982
+ "url": "https://opencollective.com/unified"
13983
  }
13984
  },
13985
+ "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": {
13986
+ "version": "5.0.0",
13987
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
13988
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
13989
  "license": "MIT",
13990
+ "engines": {
13991
+ "node": ">=12"
13992
+ },
13993
  "funding": {
13994
  "url": "https://github.com/sponsors/sindresorhus"
13995
  }
13996
  },
13997
+ "node_modules/mdast-util-from-markdown": {
13998
+ "version": "2.0.2",
13999
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
14000
+ "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
14001
+ "license": "MIT",
14002
+ "dependencies": {
14003
+ "@types/mdast": "^4.0.0",
14004
+ "@types/unist": "^3.0.0",
14005
+ "decode-named-character-reference": "^1.0.0",
14006
+ "devlop": "^1.0.0",
14007
+ "mdast-util-to-string": "^4.0.0",
14008
+ "micromark": "^4.0.0",
14009
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
14010
+ "micromark-util-decode-string": "^2.0.0",
14011
+ "micromark-util-normalize-identifier": "^2.0.0",
14012
+ "micromark-util-symbol": "^2.0.0",
14013
+ "micromark-util-types": "^2.0.0",
14014
+ "unist-util-stringify-position": "^4.0.0"
14015
+ },
14016
+ "funding": {
14017
+ "type": "opencollective",
14018
+ "url": "https://opencollective.com/unified"
14019
+ }
14020
+ },
14021
+ "node_modules/mdast-util-gfm": {
14022
+ "version": "3.1.0",
14023
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
14024
+ "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
14025
+ "license": "MIT",
14026
+ "dependencies": {
14027
+ "mdast-util-from-markdown": "^2.0.0",
14028
+ "mdast-util-gfm-autolink-literal": "^2.0.0",
14029
+ "mdast-util-gfm-footnote": "^2.0.0",
14030
+ "mdast-util-gfm-strikethrough": "^2.0.0",
14031
+ "mdast-util-gfm-table": "^2.0.0",
14032
+ "mdast-util-gfm-task-list-item": "^2.0.0",
14033
+ "mdast-util-to-markdown": "^2.0.0"
14034
+ },
14035
+ "funding": {
14036
+ "type": "opencollective",
14037
+ "url": "https://opencollective.com/unified"
14038
+ }
14039
+ },
14040
+ "node_modules/mdast-util-gfm-autolink-literal": {
14041
+ "version": "2.0.1",
14042
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
14043
+ "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
14044
+ "license": "MIT",
14045
+ "dependencies": {
14046
+ "@types/mdast": "^4.0.0",
14047
+ "ccount": "^2.0.0",
14048
+ "devlop": "^1.0.0",
14049
+ "mdast-util-find-and-replace": "^3.0.0",
14050
+ "micromark-util-character": "^2.0.0"
14051
+ },
14052
+ "funding": {
14053
+ "type": "opencollective",
14054
+ "url": "https://opencollective.com/unified"
14055
+ }
14056
+ },
14057
+ "node_modules/mdast-util-gfm-footnote": {
14058
+ "version": "2.1.0",
14059
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
14060
+ "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
14061
+ "license": "MIT",
14062
+ "dependencies": {
14063
+ "@types/mdast": "^4.0.0",
14064
+ "devlop": "^1.1.0",
14065
+ "mdast-util-from-markdown": "^2.0.0",
14066
+ "mdast-util-to-markdown": "^2.0.0",
14067
+ "micromark-util-normalize-identifier": "^2.0.0"
14068
+ },
14069
+ "funding": {
14070
+ "type": "opencollective",
14071
+ "url": "https://opencollective.com/unified"
14072
+ }
14073
+ },
14074
+ "node_modules/mdast-util-gfm-strikethrough": {
14075
+ "version": "2.0.0",
14076
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
14077
+ "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
14078
+ "license": "MIT",
14079
+ "dependencies": {
14080
+ "@types/mdast": "^4.0.0",
14081
+ "mdast-util-from-markdown": "^2.0.0",
14082
+ "mdast-util-to-markdown": "^2.0.0"
14083
+ },
14084
+ "funding": {
14085
+ "type": "opencollective",
14086
+ "url": "https://opencollective.com/unified"
14087
+ }
14088
+ },
14089
+ "node_modules/mdast-util-gfm-table": {
14090
+ "version": "2.0.0",
14091
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
14092
+ "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
14093
+ "license": "MIT",
14094
+ "dependencies": {
14095
+ "@types/mdast": "^4.0.0",
14096
+ "devlop": "^1.0.0",
14097
+ "markdown-table": "^3.0.0",
14098
+ "mdast-util-from-markdown": "^2.0.0",
14099
+ "mdast-util-to-markdown": "^2.0.0"
14100
+ },
14101
+ "funding": {
14102
+ "type": "opencollective",
14103
+ "url": "https://opencollective.com/unified"
14104
+ }
14105
+ },
14106
+ "node_modules/mdast-util-gfm-task-list-item": {
14107
+ "version": "2.0.0",
14108
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
14109
+ "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
14110
+ "license": "MIT",
14111
+ "dependencies": {
14112
+ "@types/mdast": "^4.0.0",
14113
+ "devlop": "^1.0.0",
14114
+ "mdast-util-from-markdown": "^2.0.0",
14115
+ "mdast-util-to-markdown": "^2.0.0"
14116
+ },
14117
+ "funding": {
14118
+ "type": "opencollective",
14119
+ "url": "https://opencollective.com/unified"
14120
+ }
14121
+ },
14122
+ "node_modules/mdast-util-mdx-expression": {
14123
+ "version": "2.0.1",
14124
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
14125
+ "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==",
14126
+ "license": "MIT",
14127
+ "dependencies": {
14128
+ "@types/estree-jsx": "^1.0.0",
14129
+ "@types/hast": "^3.0.0",
14130
+ "@types/mdast": "^4.0.0",
14131
+ "devlop": "^1.0.0",
14132
+ "mdast-util-from-markdown": "^2.0.0",
14133
+ "mdast-util-to-markdown": "^2.0.0"
14134
+ },
14135
+ "funding": {
14136
+ "type": "opencollective",
14137
+ "url": "https://opencollective.com/unified"
14138
+ }
14139
+ },
14140
+ "node_modules/mdast-util-mdx-jsx": {
14141
+ "version": "3.2.0",
14142
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz",
14143
+ "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==",
14144
+ "license": "MIT",
14145
+ "dependencies": {
14146
+ "@types/estree-jsx": "^1.0.0",
14147
+ "@types/hast": "^3.0.0",
14148
+ "@types/mdast": "^4.0.0",
14149
+ "@types/unist": "^3.0.0",
14150
+ "ccount": "^2.0.0",
14151
+ "devlop": "^1.1.0",
14152
+ "mdast-util-from-markdown": "^2.0.0",
14153
+ "mdast-util-to-markdown": "^2.0.0",
14154
+ "parse-entities": "^4.0.0",
14155
+ "stringify-entities": "^4.0.0",
14156
+ "unist-util-stringify-position": "^4.0.0",
14157
+ "vfile-message": "^4.0.0"
14158
+ },
14159
+ "funding": {
14160
+ "type": "opencollective",
14161
+ "url": "https://opencollective.com/unified"
14162
+ }
14163
+ },
14164
+ "node_modules/mdast-util-mdxjs-esm": {
14165
+ "version": "2.0.1",
14166
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
14167
+ "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
14168
+ "license": "MIT",
14169
+ "dependencies": {
14170
+ "@types/estree-jsx": "^1.0.0",
14171
+ "@types/hast": "^3.0.0",
14172
+ "@types/mdast": "^4.0.0",
14173
+ "devlop": "^1.0.0",
14174
+ "mdast-util-from-markdown": "^2.0.0",
14175
+ "mdast-util-to-markdown": "^2.0.0"
14176
+ },
14177
+ "funding": {
14178
+ "type": "opencollective",
14179
+ "url": "https://opencollective.com/unified"
14180
+ }
14181
+ },
14182
+ "node_modules/mdast-util-phrasing": {
14183
+ "version": "4.1.0",
14184
+ "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
14185
+ "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
14186
+ "license": "MIT",
14187
+ "dependencies": {
14188
+ "@types/mdast": "^4.0.0",
14189
+ "unist-util-is": "^6.0.0"
14190
+ },
14191
+ "funding": {
14192
+ "type": "opencollective",
14193
+ "url": "https://opencollective.com/unified"
14194
+ }
14195
+ },
14196
+ "node_modules/mdast-util-to-hast": {
14197
+ "version": "13.2.0",
14198
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz",
14199
+ "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==",
14200
+ "license": "MIT",
14201
+ "dependencies": {
14202
+ "@types/hast": "^3.0.0",
14203
+ "@types/mdast": "^4.0.0",
14204
+ "@ungap/structured-clone": "^1.0.0",
14205
+ "devlop": "^1.0.0",
14206
+ "micromark-util-sanitize-uri": "^2.0.0",
14207
+ "trim-lines": "^3.0.0",
14208
+ "unist-util-position": "^5.0.0",
14209
+ "unist-util-visit": "^5.0.0",
14210
+ "vfile": "^6.0.0"
14211
+ },
14212
+ "funding": {
14213
+ "type": "opencollective",
14214
+ "url": "https://opencollective.com/unified"
14215
+ }
14216
+ },
14217
+ "node_modules/mdast-util-to-markdown": {
14218
+ "version": "2.1.2",
14219
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
14220
+ "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
14221
+ "license": "MIT",
14222
+ "dependencies": {
14223
+ "@types/mdast": "^4.0.0",
14224
+ "@types/unist": "^3.0.0",
14225
+ "longest-streak": "^3.0.0",
14226
+ "mdast-util-phrasing": "^4.0.0",
14227
+ "mdast-util-to-string": "^4.0.0",
14228
+ "micromark-util-classify-character": "^2.0.0",
14229
+ "micromark-util-decode-string": "^2.0.0",
14230
+ "unist-util-visit": "^5.0.0",
14231
+ "zwitch": "^2.0.0"
14232
+ },
14233
+ "funding": {
14234
+ "type": "opencollective",
14235
+ "url": "https://opencollective.com/unified"
14236
+ }
14237
+ },
14238
+ "node_modules/mdast-util-to-string": {
14239
+ "version": "4.0.0",
14240
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
14241
+ "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
14242
+ "license": "MIT",
14243
+ "dependencies": {
14244
+ "@types/mdast": "^4.0.0"
14245
+ },
14246
+ "funding": {
14247
+ "type": "opencollective",
14248
+ "url": "https://opencollective.com/unified"
14249
+ }
14250
+ },
14251
+ "node_modules/mdn-data": {
14252
+ "version": "2.0.4",
14253
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
14254
+ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
14255
+ "license": "CC0-1.0"
14256
+ },
14257
+ "node_modules/media-typer": {
14258
+ "version": "0.3.0",
14259
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
14260
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
14261
+ "license": "MIT",
14262
+ "engines": {
14263
+ "node": ">= 0.6"
14264
+ }
14265
+ },
14266
+ "node_modules/memfs": {
14267
+ "version": "3.5.3",
14268
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
14269
+ "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
14270
+ "license": "Unlicense",
14271
+ "dependencies": {
14272
+ "fs-monkey": "^1.0.4"
14273
+ },
14274
+ "engines": {
14275
+ "node": ">= 4.0.0"
14276
+ }
14277
+ },
14278
+ "node_modules/merge-descriptors": {
14279
+ "version": "1.0.3",
14280
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
14281
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
14282
+ "license": "MIT",
14283
+ "funding": {
14284
+ "url": "https://github.com/sponsors/sindresorhus"
14285
+ }
14286
+ },
14287
+ "node_modules/merge-stream": {
14288
+ "version": "2.0.0",
14289
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
14290
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
14291
  "license": "MIT"
14292
  },
14293
  "node_modules/merge2": {
 
14308
  "node": ">= 0.6"
14309
  }
14310
  },
14311
+ "node_modules/micromark": {
14312
+ "version": "4.0.2",
14313
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz",
14314
+ "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==",
14315
+ "funding": [
14316
+ {
14317
+ "type": "GitHub Sponsors",
14318
+ "url": "https://github.com/sponsors/unifiedjs"
14319
+ },
14320
+ {
14321
+ "type": "OpenCollective",
14322
+ "url": "https://opencollective.com/unified"
14323
+ }
14324
+ ],
14325
+ "license": "MIT",
14326
+ "dependencies": {
14327
+ "@types/debug": "^4.0.0",
14328
+ "debug": "^4.0.0",
14329
+ "decode-named-character-reference": "^1.0.0",
14330
+ "devlop": "^1.0.0",
14331
+ "micromark-core-commonmark": "^2.0.0",
14332
+ "micromark-factory-space": "^2.0.0",
14333
+ "micromark-util-character": "^2.0.0",
14334
+ "micromark-util-chunked": "^2.0.0",
14335
+ "micromark-util-combine-extensions": "^2.0.0",
14336
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
14337
+ "micromark-util-encode": "^2.0.0",
14338
+ "micromark-util-normalize-identifier": "^2.0.0",
14339
+ "micromark-util-resolve-all": "^2.0.0",
14340
+ "micromark-util-sanitize-uri": "^2.0.0",
14341
+ "micromark-util-subtokenize": "^2.0.0",
14342
+ "micromark-util-symbol": "^2.0.0",
14343
+ "micromark-util-types": "^2.0.0"
14344
+ }
14345
+ },
14346
+ "node_modules/micromark-core-commonmark": {
14347
+ "version": "2.0.3",
14348
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz",
14349
+ "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==",
14350
+ "funding": [
14351
+ {
14352
+ "type": "GitHub Sponsors",
14353
+ "url": "https://github.com/sponsors/unifiedjs"
14354
+ },
14355
+ {
14356
+ "type": "OpenCollective",
14357
+ "url": "https://opencollective.com/unified"
14358
+ }
14359
+ ],
14360
+ "license": "MIT",
14361
+ "dependencies": {
14362
+ "decode-named-character-reference": "^1.0.0",
14363
+ "devlop": "^1.0.0",
14364
+ "micromark-factory-destination": "^2.0.0",
14365
+ "micromark-factory-label": "^2.0.0",
14366
+ "micromark-factory-space": "^2.0.0",
14367
+ "micromark-factory-title": "^2.0.0",
14368
+ "micromark-factory-whitespace": "^2.0.0",
14369
+ "micromark-util-character": "^2.0.0",
14370
+ "micromark-util-chunked": "^2.0.0",
14371
+ "micromark-util-classify-character": "^2.0.0",
14372
+ "micromark-util-html-tag-name": "^2.0.0",
14373
+ "micromark-util-normalize-identifier": "^2.0.0",
14374
+ "micromark-util-resolve-all": "^2.0.0",
14375
+ "micromark-util-subtokenize": "^2.0.0",
14376
+ "micromark-util-symbol": "^2.0.0",
14377
+ "micromark-util-types": "^2.0.0"
14378
+ }
14379
+ },
14380
+ "node_modules/micromark-extension-gfm": {
14381
+ "version": "3.0.0",
14382
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
14383
+ "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
14384
+ "license": "MIT",
14385
+ "dependencies": {
14386
+ "micromark-extension-gfm-autolink-literal": "^2.0.0",
14387
+ "micromark-extension-gfm-footnote": "^2.0.0",
14388
+ "micromark-extension-gfm-strikethrough": "^2.0.0",
14389
+ "micromark-extension-gfm-table": "^2.0.0",
14390
+ "micromark-extension-gfm-tagfilter": "^2.0.0",
14391
+ "micromark-extension-gfm-task-list-item": "^2.0.0",
14392
+ "micromark-util-combine-extensions": "^2.0.0",
14393
+ "micromark-util-types": "^2.0.0"
14394
+ },
14395
+ "funding": {
14396
+ "type": "opencollective",
14397
+ "url": "https://opencollective.com/unified"
14398
+ }
14399
+ },
14400
+ "node_modules/micromark-extension-gfm-autolink-literal": {
14401
+ "version": "2.1.0",
14402
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
14403
+ "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
14404
+ "license": "MIT",
14405
+ "dependencies": {
14406
+ "micromark-util-character": "^2.0.0",
14407
+ "micromark-util-sanitize-uri": "^2.0.0",
14408
+ "micromark-util-symbol": "^2.0.0",
14409
+ "micromark-util-types": "^2.0.0"
14410
+ },
14411
+ "funding": {
14412
+ "type": "opencollective",
14413
+ "url": "https://opencollective.com/unified"
14414
+ }
14415
+ },
14416
+ "node_modules/micromark-extension-gfm-footnote": {
14417
+ "version": "2.1.0",
14418
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
14419
+ "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
14420
+ "license": "MIT",
14421
+ "dependencies": {
14422
+ "devlop": "^1.0.0",
14423
+ "micromark-core-commonmark": "^2.0.0",
14424
+ "micromark-factory-space": "^2.0.0",
14425
+ "micromark-util-character": "^2.0.0",
14426
+ "micromark-util-normalize-identifier": "^2.0.0",
14427
+ "micromark-util-sanitize-uri": "^2.0.0",
14428
+ "micromark-util-symbol": "^2.0.0",
14429
+ "micromark-util-types": "^2.0.0"
14430
+ },
14431
+ "funding": {
14432
+ "type": "opencollective",
14433
+ "url": "https://opencollective.com/unified"
14434
+ }
14435
+ },
14436
+ "node_modules/micromark-extension-gfm-strikethrough": {
14437
+ "version": "2.1.0",
14438
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
14439
+ "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
14440
+ "license": "MIT",
14441
+ "dependencies": {
14442
+ "devlop": "^1.0.0",
14443
+ "micromark-util-chunked": "^2.0.0",
14444
+ "micromark-util-classify-character": "^2.0.0",
14445
+ "micromark-util-resolve-all": "^2.0.0",
14446
+ "micromark-util-symbol": "^2.0.0",
14447
+ "micromark-util-types": "^2.0.0"
14448
+ },
14449
+ "funding": {
14450
+ "type": "opencollective",
14451
+ "url": "https://opencollective.com/unified"
14452
+ }
14453
+ },
14454
+ "node_modules/micromark-extension-gfm-table": {
14455
+ "version": "2.1.1",
14456
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
14457
+ "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
14458
+ "license": "MIT",
14459
+ "dependencies": {
14460
+ "devlop": "^1.0.0",
14461
+ "micromark-factory-space": "^2.0.0",
14462
+ "micromark-util-character": "^2.0.0",
14463
+ "micromark-util-symbol": "^2.0.0",
14464
+ "micromark-util-types": "^2.0.0"
14465
+ },
14466
+ "funding": {
14467
+ "type": "opencollective",
14468
+ "url": "https://opencollective.com/unified"
14469
+ }
14470
+ },
14471
+ "node_modules/micromark-extension-gfm-tagfilter": {
14472
+ "version": "2.0.0",
14473
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
14474
+ "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
14475
+ "license": "MIT",
14476
+ "dependencies": {
14477
+ "micromark-util-types": "^2.0.0"
14478
+ },
14479
+ "funding": {
14480
+ "type": "opencollective",
14481
+ "url": "https://opencollective.com/unified"
14482
+ }
14483
+ },
14484
+ "node_modules/micromark-extension-gfm-task-list-item": {
14485
+ "version": "2.1.0",
14486
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
14487
+ "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
14488
+ "license": "MIT",
14489
+ "dependencies": {
14490
+ "devlop": "^1.0.0",
14491
+ "micromark-factory-space": "^2.0.0",
14492
+ "micromark-util-character": "^2.0.0",
14493
+ "micromark-util-symbol": "^2.0.0",
14494
+ "micromark-util-types": "^2.0.0"
14495
+ },
14496
+ "funding": {
14497
+ "type": "opencollective",
14498
+ "url": "https://opencollective.com/unified"
14499
+ }
14500
+ },
14501
+ "node_modules/micromark-factory-destination": {
14502
+ "version": "2.0.1",
14503
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
14504
+ "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
14505
+ "funding": [
14506
+ {
14507
+ "type": "GitHub Sponsors",
14508
+ "url": "https://github.com/sponsors/unifiedjs"
14509
+ },
14510
+ {
14511
+ "type": "OpenCollective",
14512
+ "url": "https://opencollective.com/unified"
14513
+ }
14514
+ ],
14515
+ "license": "MIT",
14516
+ "dependencies": {
14517
+ "micromark-util-character": "^2.0.0",
14518
+ "micromark-util-symbol": "^2.0.0",
14519
+ "micromark-util-types": "^2.0.0"
14520
+ }
14521
+ },
14522
+ "node_modules/micromark-factory-label": {
14523
+ "version": "2.0.1",
14524
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
14525
+ "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
14526
+ "funding": [
14527
+ {
14528
+ "type": "GitHub Sponsors",
14529
+ "url": "https://github.com/sponsors/unifiedjs"
14530
+ },
14531
+ {
14532
+ "type": "OpenCollective",
14533
+ "url": "https://opencollective.com/unified"
14534
+ }
14535
+ ],
14536
+ "license": "MIT",
14537
+ "dependencies": {
14538
+ "devlop": "^1.0.0",
14539
+ "micromark-util-character": "^2.0.0",
14540
+ "micromark-util-symbol": "^2.0.0",
14541
+ "micromark-util-types": "^2.0.0"
14542
+ }
14543
+ },
14544
+ "node_modules/micromark-factory-space": {
14545
+ "version": "2.0.1",
14546
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
14547
+ "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
14548
+ "funding": [
14549
+ {
14550
+ "type": "GitHub Sponsors",
14551
+ "url": "https://github.com/sponsors/unifiedjs"
14552
+ },
14553
+ {
14554
+ "type": "OpenCollective",
14555
+ "url": "https://opencollective.com/unified"
14556
+ }
14557
+ ],
14558
+ "license": "MIT",
14559
+ "dependencies": {
14560
+ "micromark-util-character": "^2.0.0",
14561
+ "micromark-util-types": "^2.0.0"
14562
+ }
14563
+ },
14564
+ "node_modules/micromark-factory-title": {
14565
+ "version": "2.0.1",
14566
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
14567
+ "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
14568
+ "funding": [
14569
+ {
14570
+ "type": "GitHub Sponsors",
14571
+ "url": "https://github.com/sponsors/unifiedjs"
14572
+ },
14573
+ {
14574
+ "type": "OpenCollective",
14575
+ "url": "https://opencollective.com/unified"
14576
+ }
14577
+ ],
14578
+ "license": "MIT",
14579
+ "dependencies": {
14580
+ "micromark-factory-space": "^2.0.0",
14581
+ "micromark-util-character": "^2.0.0",
14582
+ "micromark-util-symbol": "^2.0.0",
14583
+ "micromark-util-types": "^2.0.0"
14584
+ }
14585
+ },
14586
+ "node_modules/micromark-factory-whitespace": {
14587
+ "version": "2.0.1",
14588
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
14589
+ "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
14590
+ "funding": [
14591
+ {
14592
+ "type": "GitHub Sponsors",
14593
+ "url": "https://github.com/sponsors/unifiedjs"
14594
+ },
14595
+ {
14596
+ "type": "OpenCollective",
14597
+ "url": "https://opencollective.com/unified"
14598
+ }
14599
+ ],
14600
+ "license": "MIT",
14601
+ "dependencies": {
14602
+ "micromark-factory-space": "^2.0.0",
14603
+ "micromark-util-character": "^2.0.0",
14604
+ "micromark-util-symbol": "^2.0.0",
14605
+ "micromark-util-types": "^2.0.0"
14606
+ }
14607
+ },
14608
+ "node_modules/micromark-util-character": {
14609
+ "version": "2.1.1",
14610
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
14611
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
14612
+ "funding": [
14613
+ {
14614
+ "type": "GitHub Sponsors",
14615
+ "url": "https://github.com/sponsors/unifiedjs"
14616
+ },
14617
+ {
14618
+ "type": "OpenCollective",
14619
+ "url": "https://opencollective.com/unified"
14620
+ }
14621
+ ],
14622
+ "license": "MIT",
14623
+ "dependencies": {
14624
+ "micromark-util-symbol": "^2.0.0",
14625
+ "micromark-util-types": "^2.0.0"
14626
+ }
14627
+ },
14628
+ "node_modules/micromark-util-chunked": {
14629
+ "version": "2.0.1",
14630
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
14631
+ "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
14632
+ "funding": [
14633
+ {
14634
+ "type": "GitHub Sponsors",
14635
+ "url": "https://github.com/sponsors/unifiedjs"
14636
+ },
14637
+ {
14638
+ "type": "OpenCollective",
14639
+ "url": "https://opencollective.com/unified"
14640
+ }
14641
+ ],
14642
+ "license": "MIT",
14643
+ "dependencies": {
14644
+ "micromark-util-symbol": "^2.0.0"
14645
+ }
14646
+ },
14647
+ "node_modules/micromark-util-classify-character": {
14648
+ "version": "2.0.1",
14649
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
14650
+ "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
14651
+ "funding": [
14652
+ {
14653
+ "type": "GitHub Sponsors",
14654
+ "url": "https://github.com/sponsors/unifiedjs"
14655
+ },
14656
+ {
14657
+ "type": "OpenCollective",
14658
+ "url": "https://opencollective.com/unified"
14659
+ }
14660
+ ],
14661
+ "license": "MIT",
14662
+ "dependencies": {
14663
+ "micromark-util-character": "^2.0.0",
14664
+ "micromark-util-symbol": "^2.0.0",
14665
+ "micromark-util-types": "^2.0.0"
14666
+ }
14667
+ },
14668
+ "node_modules/micromark-util-combine-extensions": {
14669
+ "version": "2.0.1",
14670
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
14671
+ "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
14672
+ "funding": [
14673
+ {
14674
+ "type": "GitHub Sponsors",
14675
+ "url": "https://github.com/sponsors/unifiedjs"
14676
+ },
14677
+ {
14678
+ "type": "OpenCollective",
14679
+ "url": "https://opencollective.com/unified"
14680
+ }
14681
+ ],
14682
+ "license": "MIT",
14683
+ "dependencies": {
14684
+ "micromark-util-chunked": "^2.0.0",
14685
+ "micromark-util-types": "^2.0.0"
14686
+ }
14687
+ },
14688
+ "node_modules/micromark-util-decode-numeric-character-reference": {
14689
+ "version": "2.0.2",
14690
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
14691
+ "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
14692
+ "funding": [
14693
+ {
14694
+ "type": "GitHub Sponsors",
14695
+ "url": "https://github.com/sponsors/unifiedjs"
14696
+ },
14697
+ {
14698
+ "type": "OpenCollective",
14699
+ "url": "https://opencollective.com/unified"
14700
+ }
14701
+ ],
14702
+ "license": "MIT",
14703
+ "dependencies": {
14704
+ "micromark-util-symbol": "^2.0.0"
14705
+ }
14706
+ },
14707
+ "node_modules/micromark-util-decode-string": {
14708
+ "version": "2.0.1",
14709
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
14710
+ "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
14711
+ "funding": [
14712
+ {
14713
+ "type": "GitHub Sponsors",
14714
+ "url": "https://github.com/sponsors/unifiedjs"
14715
+ },
14716
+ {
14717
+ "type": "OpenCollective",
14718
+ "url": "https://opencollective.com/unified"
14719
+ }
14720
+ ],
14721
+ "license": "MIT",
14722
+ "dependencies": {
14723
+ "decode-named-character-reference": "^1.0.0",
14724
+ "micromark-util-character": "^2.0.0",
14725
+ "micromark-util-decode-numeric-character-reference": "^2.0.0",
14726
+ "micromark-util-symbol": "^2.0.0"
14727
+ }
14728
+ },
14729
+ "node_modules/micromark-util-encode": {
14730
+ "version": "2.0.1",
14731
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
14732
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
14733
+ "funding": [
14734
+ {
14735
+ "type": "GitHub Sponsors",
14736
+ "url": "https://github.com/sponsors/unifiedjs"
14737
+ },
14738
+ {
14739
+ "type": "OpenCollective",
14740
+ "url": "https://opencollective.com/unified"
14741
+ }
14742
+ ],
14743
+ "license": "MIT"
14744
+ },
14745
+ "node_modules/micromark-util-html-tag-name": {
14746
+ "version": "2.0.1",
14747
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
14748
+ "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
14749
+ "funding": [
14750
+ {
14751
+ "type": "GitHub Sponsors",
14752
+ "url": "https://github.com/sponsors/unifiedjs"
14753
+ },
14754
+ {
14755
+ "type": "OpenCollective",
14756
+ "url": "https://opencollective.com/unified"
14757
+ }
14758
+ ],
14759
+ "license": "MIT"
14760
+ },
14761
+ "node_modules/micromark-util-normalize-identifier": {
14762
+ "version": "2.0.1",
14763
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
14764
+ "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
14765
+ "funding": [
14766
+ {
14767
+ "type": "GitHub Sponsors",
14768
+ "url": "https://github.com/sponsors/unifiedjs"
14769
+ },
14770
+ {
14771
+ "type": "OpenCollective",
14772
+ "url": "https://opencollective.com/unified"
14773
+ }
14774
+ ],
14775
+ "license": "MIT",
14776
+ "dependencies": {
14777
+ "micromark-util-symbol": "^2.0.0"
14778
+ }
14779
+ },
14780
+ "node_modules/micromark-util-resolve-all": {
14781
+ "version": "2.0.1",
14782
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
14783
+ "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
14784
+ "funding": [
14785
+ {
14786
+ "type": "GitHub Sponsors",
14787
+ "url": "https://github.com/sponsors/unifiedjs"
14788
+ },
14789
+ {
14790
+ "type": "OpenCollective",
14791
+ "url": "https://opencollective.com/unified"
14792
+ }
14793
+ ],
14794
+ "license": "MIT",
14795
+ "dependencies": {
14796
+ "micromark-util-types": "^2.0.0"
14797
+ }
14798
+ },
14799
+ "node_modules/micromark-util-sanitize-uri": {
14800
+ "version": "2.0.1",
14801
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
14802
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
14803
+ "funding": [
14804
+ {
14805
+ "type": "GitHub Sponsors",
14806
+ "url": "https://github.com/sponsors/unifiedjs"
14807
+ },
14808
+ {
14809
+ "type": "OpenCollective",
14810
+ "url": "https://opencollective.com/unified"
14811
+ }
14812
+ ],
14813
+ "license": "MIT",
14814
+ "dependencies": {
14815
+ "micromark-util-character": "^2.0.0",
14816
+ "micromark-util-encode": "^2.0.0",
14817
+ "micromark-util-symbol": "^2.0.0"
14818
+ }
14819
+ },
14820
+ "node_modules/micromark-util-subtokenize": {
14821
+ "version": "2.1.0",
14822
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz",
14823
+ "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==",
14824
+ "funding": [
14825
+ {
14826
+ "type": "GitHub Sponsors",
14827
+ "url": "https://github.com/sponsors/unifiedjs"
14828
+ },
14829
+ {
14830
+ "type": "OpenCollective",
14831
+ "url": "https://opencollective.com/unified"
14832
+ }
14833
+ ],
14834
+ "license": "MIT",
14835
+ "dependencies": {
14836
+ "devlop": "^1.0.0",
14837
+ "micromark-util-chunked": "^2.0.0",
14838
+ "micromark-util-symbol": "^2.0.0",
14839
+ "micromark-util-types": "^2.0.0"
14840
+ }
14841
+ },
14842
+ "node_modules/micromark-util-symbol": {
14843
+ "version": "2.0.1",
14844
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
14845
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
14846
+ "funding": [
14847
+ {
14848
+ "type": "GitHub Sponsors",
14849
+ "url": "https://github.com/sponsors/unifiedjs"
14850
+ },
14851
+ {
14852
+ "type": "OpenCollective",
14853
+ "url": "https://opencollective.com/unified"
14854
+ }
14855
+ ],
14856
+ "license": "MIT"
14857
+ },
14858
+ "node_modules/micromark-util-types": {
14859
+ "version": "2.0.2",
14860
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
14861
+ "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
14862
+ "funding": [
14863
+ {
14864
+ "type": "GitHub Sponsors",
14865
+ "url": "https://github.com/sponsors/unifiedjs"
14866
+ },
14867
+ {
14868
+ "type": "OpenCollective",
14869
+ "url": "https://opencollective.com/unified"
14870
+ }
14871
+ ],
14872
+ "license": "MIT"
14873
+ },
14874
  "node_modules/micromatch": {
14875
  "version": "4.0.8",
14876
  "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
 
15509
  "node": ">=6"
15510
  }
15511
  },
15512
+ "node_modules/parse-entities": {
15513
+ "version": "4.0.2",
15514
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
15515
+ "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
15516
+ "license": "MIT",
15517
+ "dependencies": {
15518
+ "@types/unist": "^2.0.0",
15519
+ "character-entities-legacy": "^3.0.0",
15520
+ "character-reference-invalid": "^2.0.0",
15521
+ "decode-named-character-reference": "^1.0.0",
15522
+ "is-alphanumerical": "^2.0.0",
15523
+ "is-decimal": "^2.0.0",
15524
+ "is-hexadecimal": "^2.0.0"
15525
+ },
15526
+ "funding": {
15527
+ "type": "github",
15528
+ "url": "https://github.com/sponsors/wooorm"
15529
+ }
15530
+ },
15531
+ "node_modules/parse-entities/node_modules/@types/unist": {
15532
+ "version": "2.0.11",
15533
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
15534
+ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
15535
+ "license": "MIT"
15536
+ },
15537
  "node_modules/parse-json": {
15538
  "version": "5.2.0",
15539
  "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
 
17134
  "url": "https://github.com/chalk/ansi-styles?sponsor=1"
17135
  }
17136
  },
17137
+ "node_modules/prismjs": {
17138
+ "version": "1.30.0",
17139
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
17140
+ "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
17141
+ "license": "MIT",
17142
+ "engines": {
17143
+ "node": ">=6"
17144
+ }
17145
+ },
17146
  "node_modules/process-nextick-args": {
17147
  "version": "2.0.1",
17148
  "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
 
17188
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
17189
  "license": "MIT"
17190
  },
17191
+ "node_modules/property-information": {
17192
+ "version": "7.0.0",
17193
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.0.0.tgz",
17194
+ "integrity": "sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==",
17195
+ "license": "MIT",
17196
+ "funding": {
17197
+ "type": "github",
17198
+ "url": "https://github.com/sponsors/wooorm"
17199
+ }
17200
+ },
17201
  "node_modules/proxy-addr": {
17202
  "version": "2.0.7",
17203
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
 
17518
  "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
17519
  "license": "MIT"
17520
  },
17521
+ "node_modules/react-markdown": {
17522
+ "version": "10.1.0",
17523
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz",
17524
+ "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==",
17525
+ "license": "MIT",
17526
+ "dependencies": {
17527
+ "@types/hast": "^3.0.0",
17528
+ "@types/mdast": "^4.0.0",
17529
+ "devlop": "^1.0.0",
17530
+ "hast-util-to-jsx-runtime": "^2.0.0",
17531
+ "html-url-attributes": "^3.0.0",
17532
+ "mdast-util-to-hast": "^13.0.0",
17533
+ "remark-parse": "^11.0.0",
17534
+ "remark-rehype": "^11.0.0",
17535
+ "unified": "^11.0.0",
17536
+ "unist-util-visit": "^5.0.0",
17537
+ "vfile": "^6.0.0"
17538
+ },
17539
+ "funding": {
17540
+ "type": "opencollective",
17541
+ "url": "https://opencollective.com/unified"
17542
+ },
17543
+ "peerDependencies": {
17544
+ "@types/react": ">=18",
17545
+ "react": ">=18"
17546
+ }
17547
+ },
17548
  "node_modules/react-refresh": {
17549
  "version": "0.11.0",
17550
  "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
 
17696
  }
17697
  }
17698
  },
17699
+ "node_modules/react-syntax-highlighter": {
17700
+ "version": "15.6.1",
17701
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz",
17702
+ "integrity": "sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==",
17703
+ "license": "MIT",
17704
+ "dependencies": {
17705
+ "@babel/runtime": "^7.3.1",
17706
+ "highlight.js": "^10.4.1",
17707
+ "highlightjs-vue": "^1.0.0",
17708
+ "lowlight": "^1.17.0",
17709
+ "prismjs": "^1.27.0",
17710
+ "refractor": "^3.6.0"
17711
+ },
17712
+ "peerDependencies": {
17713
+ "react": ">= 0.14.0"
17714
+ }
17715
+ },
17716
  "node_modules/read-cache": {
17717
  "version": "1.0.0",
17718
  "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
 
17795
  "url": "https://github.com/sponsors/ljharb"
17796
  }
17797
  },
17798
+ "node_modules/refractor": {
17799
+ "version": "3.6.0",
17800
+ "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz",
17801
+ "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==",
17802
+ "license": "MIT",
17803
+ "dependencies": {
17804
+ "hastscript": "^6.0.0",
17805
+ "parse-entities": "^2.0.0",
17806
+ "prismjs": "~1.27.0"
17807
+ },
17808
+ "funding": {
17809
+ "type": "github",
17810
+ "url": "https://github.com/sponsors/wooorm"
17811
+ }
17812
+ },
17813
+ "node_modules/refractor/node_modules/character-entities": {
17814
+ "version": "1.2.4",
17815
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
17816
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
17817
+ "license": "MIT",
17818
+ "funding": {
17819
+ "type": "github",
17820
+ "url": "https://github.com/sponsors/wooorm"
17821
+ }
17822
+ },
17823
+ "node_modules/refractor/node_modules/character-entities-legacy": {
17824
+ "version": "1.1.4",
17825
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
17826
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
17827
+ "license": "MIT",
17828
+ "funding": {
17829
+ "type": "github",
17830
+ "url": "https://github.com/sponsors/wooorm"
17831
+ }
17832
+ },
17833
+ "node_modules/refractor/node_modules/character-reference-invalid": {
17834
+ "version": "1.1.4",
17835
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
17836
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
17837
+ "license": "MIT",
17838
+ "funding": {
17839
+ "type": "github",
17840
+ "url": "https://github.com/sponsors/wooorm"
17841
+ }
17842
+ },
17843
+ "node_modules/refractor/node_modules/is-alphabetical": {
17844
+ "version": "1.0.4",
17845
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
17846
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
17847
+ "license": "MIT",
17848
+ "funding": {
17849
+ "type": "github",
17850
+ "url": "https://github.com/sponsors/wooorm"
17851
+ }
17852
+ },
17853
+ "node_modules/refractor/node_modules/is-alphanumerical": {
17854
+ "version": "1.0.4",
17855
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
17856
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
17857
+ "license": "MIT",
17858
+ "dependencies": {
17859
+ "is-alphabetical": "^1.0.0",
17860
+ "is-decimal": "^1.0.0"
17861
+ },
17862
+ "funding": {
17863
+ "type": "github",
17864
+ "url": "https://github.com/sponsors/wooorm"
17865
+ }
17866
+ },
17867
+ "node_modules/refractor/node_modules/is-decimal": {
17868
+ "version": "1.0.4",
17869
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
17870
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
17871
+ "license": "MIT",
17872
+ "funding": {
17873
+ "type": "github",
17874
+ "url": "https://github.com/sponsors/wooorm"
17875
+ }
17876
+ },
17877
+ "node_modules/refractor/node_modules/is-hexadecimal": {
17878
+ "version": "1.0.4",
17879
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
17880
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
17881
+ "license": "MIT",
17882
+ "funding": {
17883
+ "type": "github",
17884
+ "url": "https://github.com/sponsors/wooorm"
17885
+ }
17886
+ },
17887
+ "node_modules/refractor/node_modules/parse-entities": {
17888
+ "version": "2.0.0",
17889
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
17890
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
17891
+ "license": "MIT",
17892
+ "dependencies": {
17893
+ "character-entities": "^1.0.0",
17894
+ "character-entities-legacy": "^1.0.0",
17895
+ "character-reference-invalid": "^1.0.0",
17896
+ "is-alphanumerical": "^1.0.0",
17897
+ "is-decimal": "^1.0.0",
17898
+ "is-hexadecimal": "^1.0.0"
17899
+ },
17900
+ "funding": {
17901
+ "type": "github",
17902
+ "url": "https://github.com/sponsors/wooorm"
17903
+ }
17904
+ },
17905
+ "node_modules/refractor/node_modules/prismjs": {
17906
+ "version": "1.27.0",
17907
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
17908
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==",
17909
+ "license": "MIT",
17910
+ "engines": {
17911
+ "node": ">=6"
17912
+ }
17913
+ },
17914
  "node_modules/regenerate": {
17915
  "version": "1.4.2",
17916
  "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
 
18026
  "node": ">= 0.10"
18027
  }
18028
  },
18029
+ "node_modules/remark-gfm": {
18030
+ "version": "4.0.1",
18031
+ "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
18032
+ "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
18033
+ "license": "MIT",
18034
+ "dependencies": {
18035
+ "@types/mdast": "^4.0.0",
18036
+ "mdast-util-gfm": "^3.0.0",
18037
+ "micromark-extension-gfm": "^3.0.0",
18038
+ "remark-parse": "^11.0.0",
18039
+ "remark-stringify": "^11.0.0",
18040
+ "unified": "^11.0.0"
18041
+ },
18042
+ "funding": {
18043
+ "type": "opencollective",
18044
+ "url": "https://opencollective.com/unified"
18045
+ }
18046
+ },
18047
+ "node_modules/remark-parse": {
18048
+ "version": "11.0.0",
18049
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
18050
+ "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
18051
+ "license": "MIT",
18052
+ "dependencies": {
18053
+ "@types/mdast": "^4.0.0",
18054
+ "mdast-util-from-markdown": "^2.0.0",
18055
+ "micromark-util-types": "^2.0.0",
18056
+ "unified": "^11.0.0"
18057
+ },
18058
+ "funding": {
18059
+ "type": "opencollective",
18060
+ "url": "https://opencollective.com/unified"
18061
+ }
18062
+ },
18063
+ "node_modules/remark-rehype": {
18064
+ "version": "11.1.2",
18065
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
18066
+ "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
18067
+ "license": "MIT",
18068
+ "dependencies": {
18069
+ "@types/hast": "^3.0.0",
18070
+ "@types/mdast": "^4.0.0",
18071
+ "mdast-util-to-hast": "^13.0.0",
18072
+ "unified": "^11.0.0",
18073
+ "vfile": "^6.0.0"
18074
+ },
18075
+ "funding": {
18076
+ "type": "opencollective",
18077
+ "url": "https://opencollective.com/unified"
18078
+ }
18079
+ },
18080
+ "node_modules/remark-stringify": {
18081
+ "version": "11.0.0",
18082
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
18083
+ "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
18084
+ "license": "MIT",
18085
+ "dependencies": {
18086
+ "@types/mdast": "^4.0.0",
18087
+ "mdast-util-to-markdown": "^2.0.0",
18088
+ "unified": "^11.0.0"
18089
+ },
18090
+ "funding": {
18091
+ "type": "opencollective",
18092
+ "url": "https://opencollective.com/unified"
18093
+ }
18094
+ },
18095
  "node_modules/renderkid": {
18096
  "version": "3.0.0",
18097
  "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
 
19009
  "deprecated": "Please use @jridgewell/sourcemap-codec instead",
19010
  "license": "MIT"
19011
  },
19012
+ "node_modules/space-separated-tokens": {
19013
+ "version": "2.0.2",
19014
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
19015
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
19016
+ "license": "MIT",
19017
+ "funding": {
19018
+ "type": "github",
19019
+ "url": "https://github.com/sponsors/wooorm"
19020
+ }
19021
+ },
19022
  "node_modules/spdy": {
19023
  "version": "4.0.2",
19024
  "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
 
19387
  "url": "https://github.com/sponsors/ljharb"
19388
  }
19389
  },
19390
+ "node_modules/stringify-entities": {
19391
+ "version": "4.0.4",
19392
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
19393
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
19394
+ "license": "MIT",
19395
+ "dependencies": {
19396
+ "character-entities-html4": "^2.0.0",
19397
+ "character-entities-legacy": "^3.0.0"
19398
+ },
19399
+ "funding": {
19400
+ "type": "github",
19401
+ "url": "https://github.com/sponsors/wooorm"
19402
+ }
19403
+ },
19404
  "node_modules/stringify-object": {
19405
  "version": "3.3.0",
19406
  "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
 
19507
  "webpack": "^5.0.0"
19508
  }
19509
  },
19510
+ "node_modules/style-to-js": {
19511
+ "version": "1.1.16",
19512
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz",
19513
+ "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==",
19514
+ "license": "MIT",
19515
+ "dependencies": {
19516
+ "style-to-object": "1.0.8"
19517
+ }
19518
+ },
19519
+ "node_modules/style-to-object": {
19520
+ "version": "1.0.8",
19521
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz",
19522
+ "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==",
19523
+ "license": "MIT",
19524
+ "dependencies": {
19525
+ "inline-style-parser": "0.2.4"
19526
+ }
19527
+ },
19528
  "node_modules/stylehacks": {
19529
  "version": "5.1.1",
19530
  "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",
 
20120
  "node": ">=8"
20121
  }
20122
  },
20123
+ "node_modules/trim-lines": {
20124
+ "version": "3.0.1",
20125
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
20126
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
20127
+ "license": "MIT",
20128
+ "funding": {
20129
+ "type": "github",
20130
+ "url": "https://github.com/sponsors/wooorm"
20131
+ }
20132
+ },
20133
+ "node_modules/trough": {
20134
+ "version": "2.2.0",
20135
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
20136
+ "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
20137
+ "license": "MIT",
20138
+ "funding": {
20139
+ "type": "github",
20140
+ "url": "https://github.com/sponsors/wooorm"
20141
+ }
20142
+ },
20143
  "node_modules/tryer": {
20144
  "version": "1.0.1",
20145
  "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
 
20425
  "node": ">=4"
20426
  }
20427
  },
20428
+ "node_modules/unified": {
20429
+ "version": "11.0.5",
20430
+ "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
20431
+ "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
20432
+ "license": "MIT",
20433
+ "dependencies": {
20434
+ "@types/unist": "^3.0.0",
20435
+ "bail": "^2.0.0",
20436
+ "devlop": "^1.0.0",
20437
+ "extend": "^3.0.0",
20438
+ "is-plain-obj": "^4.0.0",
20439
+ "trough": "^2.0.0",
20440
+ "vfile": "^6.0.0"
20441
+ },
20442
+ "funding": {
20443
+ "type": "opencollective",
20444
+ "url": "https://opencollective.com/unified"
20445
+ }
20446
+ },
20447
+ "node_modules/unified/node_modules/is-plain-obj": {
20448
+ "version": "4.1.0",
20449
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
20450
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
20451
+ "license": "MIT",
20452
+ "engines": {
20453
+ "node": ">=12"
20454
+ },
20455
+ "funding": {
20456
+ "url": "https://github.com/sponsors/sindresorhus"
20457
+ }
20458
+ },
20459
  "node_modules/unique-string": {
20460
  "version": "2.0.0",
20461
  "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
 
20468
  "node": ">=8"
20469
  }
20470
  },
20471
+ "node_modules/unist-util-is": {
20472
+ "version": "6.0.0",
20473
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
20474
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
20475
+ "license": "MIT",
20476
+ "dependencies": {
20477
+ "@types/unist": "^3.0.0"
20478
+ },
20479
+ "funding": {
20480
+ "type": "opencollective",
20481
+ "url": "https://opencollective.com/unified"
20482
+ }
20483
+ },
20484
+ "node_modules/unist-util-position": {
20485
+ "version": "5.0.0",
20486
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
20487
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
20488
+ "license": "MIT",
20489
+ "dependencies": {
20490
+ "@types/unist": "^3.0.0"
20491
+ },
20492
+ "funding": {
20493
+ "type": "opencollective",
20494
+ "url": "https://opencollective.com/unified"
20495
+ }
20496
+ },
20497
+ "node_modules/unist-util-stringify-position": {
20498
+ "version": "4.0.0",
20499
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
20500
+ "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
20501
+ "license": "MIT",
20502
+ "dependencies": {
20503
+ "@types/unist": "^3.0.0"
20504
+ },
20505
+ "funding": {
20506
+ "type": "opencollective",
20507
+ "url": "https://opencollective.com/unified"
20508
+ }
20509
+ },
20510
+ "node_modules/unist-util-visit": {
20511
+ "version": "5.0.0",
20512
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
20513
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
20514
+ "license": "MIT",
20515
+ "dependencies": {
20516
+ "@types/unist": "^3.0.0",
20517
+ "unist-util-is": "^6.0.0",
20518
+ "unist-util-visit-parents": "^6.0.0"
20519
+ },
20520
+ "funding": {
20521
+ "type": "opencollective",
20522
+ "url": "https://opencollective.com/unified"
20523
+ }
20524
+ },
20525
+ "node_modules/unist-util-visit-parents": {
20526
+ "version": "6.0.1",
20527
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
20528
+ "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
20529
+ "license": "MIT",
20530
+ "dependencies": {
20531
+ "@types/unist": "^3.0.0",
20532
+ "unist-util-is": "^6.0.0"
20533
+ },
20534
+ "funding": {
20535
+ "type": "opencollective",
20536
+ "url": "https://opencollective.com/unified"
20537
+ }
20538
+ },
20539
  "node_modules/universalify": {
20540
  "version": "2.0.1",
20541
  "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
 
20740
  "node": ">= 0.8"
20741
  }
20742
  },
20743
+ "node_modules/vfile": {
20744
+ "version": "6.0.3",
20745
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
20746
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
20747
+ "license": "MIT",
20748
+ "dependencies": {
20749
+ "@types/unist": "^3.0.0",
20750
+ "vfile-message": "^4.0.0"
20751
+ },
20752
+ "funding": {
20753
+ "type": "opencollective",
20754
+ "url": "https://opencollective.com/unified"
20755
+ }
20756
+ },
20757
+ "node_modules/vfile-message": {
20758
+ "version": "4.0.2",
20759
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
20760
+ "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
20761
+ "license": "MIT",
20762
+ "dependencies": {
20763
+ "@types/unist": "^3.0.0",
20764
+ "unist-util-stringify-position": "^4.0.0"
20765
+ },
20766
+ "funding": {
20767
+ "type": "opencollective",
20768
+ "url": "https://opencollective.com/unified"
20769
+ }
20770
+ },
20771
  "node_modules/w3c-hr-time": {
20772
  "version": "1.0.2",
20773
  "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
 
21642
  "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
21643
  "license": "MIT"
21644
  },
21645
+ "node_modules/xtend": {
21646
+ "version": "4.0.2",
21647
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
21648
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
21649
+ "license": "MIT",
21650
+ "engines": {
21651
+ "node": ">=0.4"
21652
+ }
21653
+ },
21654
  "node_modules/y18n": {
21655
  "version": "5.0.8",
21656
  "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
 
21713
  "funding": {
21714
  "url": "https://github.com/sponsors/sindresorhus"
21715
  }
21716
+ },
21717
+ "node_modules/zwitch": {
21718
+ "version": "2.0.4",
21719
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
21720
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
21721
+ "license": "MIT",
21722
+ "funding": {
21723
+ "type": "github",
21724
+ "url": "https://github.com/sponsors/wooorm"
21725
+ }
21726
  }
21727
  }
21728
  }
app/frontend/package.json CHANGED
@@ -18,7 +18,10 @@
18
  "lucide-react": "^0.487.0",
19
  "react": "^18.2.0",
20
  "react-dom": "^18.2.0",
 
21
  "react-scripts": "5.0.1",
 
 
22
  "tailwind-merge": "^3.2.0",
23
  "uuid": "^9.0.1",
24
  "web-vitals": "^2.1.4"
 
18
  "lucide-react": "^0.487.0",
19
  "react": "^18.2.0",
20
  "react-dom": "^18.2.0",
21
+ "react-markdown": "^10.1.0",
22
  "react-scripts": "5.0.1",
23
+ "react-syntax-highlighter": "^15.6.1",
24
+ "remark-gfm": "^4.0.1",
25
  "tailwind-merge": "^3.2.0",
26
  "uuid": "^9.0.1",
27
  "web-vitals": "^2.1.4"
app/frontend/src/components/Chat.js CHANGED
@@ -1,5 +1,10 @@
1
  import React, { useState, useRef, useEffect } from 'react';
2
  import axios from 'axios';
 
 
 
 
 
3
  import { Button } from './ui/button';
4
  import { Input } from './ui/input';
5
 
@@ -9,6 +14,7 @@ const Chat = ({ sessionId, docDescription, suggestedQuestions, selectedQuestion,
9
  const [isLoading, setIsLoading] = useState(false);
10
  const messagesEndRef = useRef(null);
11
  const inputRef = useRef(null);
 
12
 
13
  const scrollToBottom = () => {
14
  messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
@@ -74,6 +80,73 @@ const Chat = ({ sessionId, docDescription, suggestedQuestions, selectedQuestion,
74
  }
75
  };
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  return (
78
  <div className="flex h-[600px] flex-col rounded-lg border border-border bg-card/50 transition-colors duration-300">
79
  <div className="flex-1 overflow-y-auto p-4">
@@ -113,7 +186,13 @@ const Chat = ({ sessionId, docDescription, suggestedQuestions, selectedQuestion,
113
  ? '⚠️'
114
  : '🤖'}
115
  </span>
116
- <div className="text-sm">{message.text}</div>
 
 
 
 
 
 
117
  </div>
118
  </div>
119
  ))
 
1
  import React, { useState, useRef, useEffect } from 'react';
2
  import axios from 'axios';
3
+ import ReactMarkdown from 'react-markdown';
4
+ import remarkGfm from 'remark-gfm';
5
+ import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
6
+ import { oneLight, oneDark } from 'react-syntax-highlighter/dist/esm/styles/prism';
7
+ import { useTheme } from './ui/theme-provider';
8
  import { Button } from './ui/button';
9
  import { Input } from './ui/input';
10
 
 
14
  const [isLoading, setIsLoading] = useState(false);
15
  const messagesEndRef = useRef(null);
16
  const inputRef = useRef(null);
17
+ const { theme } = useTheme();
18
 
19
  const scrollToBottom = () => {
20
  messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
 
80
  }
81
  };
82
 
83
+ // Component for rendering markdown with custom styles
84
+ const MarkdownContent = ({ content }) => (
85
+ <ReactMarkdown
86
+ remarkPlugins={[remarkGfm]}
87
+ components={{
88
+ p: ({ node, ...props }) => <p className="mb-2" {...props} />,
89
+ h1: ({ node, ...props }) => <h1 className="text-lg font-bold mb-2 mt-3" {...props} />,
90
+ h2: ({ node, ...props }) => <h2 className="text-md font-bold mb-2 mt-3" {...props} />,
91
+ h3: ({ node, ...props }) => <h3 className="text-sm font-bold mb-1 mt-2" {...props} />,
92
+ ul: ({ node, ...props }) => <ul className="list-disc pl-4 mb-2" {...props} />,
93
+ ol: ({ node, ...props }) => <ol className="list-decimal pl-4 mb-2" {...props} />,
94
+ li: ({ node, ...props }) => <li className="mb-1" {...props} />,
95
+ a: ({ node, ...props }) => <a className="text-primary underline" target="_blank" rel="noopener noreferrer" {...props} />,
96
+ code: ({ node, inline, className, children, ...props }) => {
97
+ const match = /language-(\w+)/.exec(className || '');
98
+ const language = match ? match[1] : '';
99
+
100
+ return !inline ? (
101
+ <div className="rounded-md overflow-hidden my-2">
102
+ <div className="bg-secondary/70 px-3 py-1 text-xs flex justify-between items-center border-b border-border">
103
+ <span>{language || 'code'}</span>
104
+ <button
105
+ onClick={() => {
106
+ navigator.clipboard.writeText(String(children).replace(/\n$/, ''));
107
+ }}
108
+ className="px-2 py-0.5 text-xs hover:bg-secondary rounded"
109
+ title="Copy code"
110
+ >
111
+ 📋 Copy
112
+ </button>
113
+ </div>
114
+ <SyntaxHighlighter
115
+ style={theme === 'dark' ? oneDark : oneLight}
116
+ language={language || 'text'}
117
+ PreTag="div"
118
+ customStyle={{
119
+ margin: 0,
120
+ padding: '0.75rem',
121
+ fontSize: '0.8rem',
122
+ borderRadius: '0 0 0.375rem 0.375rem',
123
+ }}
124
+ {...props}
125
+ >
126
+ {String(children).replace(/\n$/, '')}
127
+ </SyntaxHighlighter>
128
+ </div>
129
+ ) : (
130
+ <code className="px-1 py-0.5 bg-secondary rounded text-xs font-mono" {...props}>
131
+ {children}
132
+ </code>
133
+ );
134
+ },
135
+ pre: ({ node, ...props }) => <div className="my-2" {...props} />,
136
+ blockquote: ({ node, ...props }) => <blockquote className="border-l-2 border-primary/20 pl-2 italic my-2" {...props} />,
137
+ table: ({ node, ...props }) => <div className="overflow-x-auto my-2"><table className="border-collapse w-full" {...props} /></div>,
138
+ thead: ({ node, ...props }) => <thead className="bg-secondary/30" {...props} />,
139
+ tbody: ({ node, ...props }) => <tbody {...props} />,
140
+ tr: ({ node, ...props }) => <tr className="border-b border-border" {...props} />,
141
+ th: ({ node, ...props }) => <th className="p-1.5 text-left text-xs font-medium" {...props} />,
142
+ td: ({ node, ...props }) => <td className="p-1.5 text-xs" {...props} />,
143
+ img: ({ node, ...props }) => <img className="max-w-full h-auto rounded my-2" {...props} />
144
+ }}
145
+ >
146
+ {content}
147
+ </ReactMarkdown>
148
+ );
149
+
150
  return (
151
  <div className="flex h-[600px] flex-col rounded-lg border border-border bg-card/50 transition-colors duration-300">
152
  <div className="flex-1 overflow-y-auto p-4">
 
186
  ? '⚠️'
187
  : '🤖'}
188
  </span>
189
+ <div className={`text-sm ${message.sender === 'ai' ? 'markdown-content' : ''}`}>
190
+ {message.sender === 'user' ? (
191
+ message.text
192
+ ) : (
193
+ <MarkdownContent content={message.text} />
194
+ )}
195
+ </div>
196
  </div>
197
  </div>
198
  ))
app/frontend/src/globals.css CHANGED
@@ -112,4 +112,57 @@
112
  .animate-loading {
113
  animation: loading 1s infinite ease-in-out;
114
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  }
 
112
  .animate-loading {
113
  animation: loading 1s infinite ease-in-out;
114
  }
115
+
116
+ /* Markdown content styles */
117
+ .markdown-content {
118
+ line-height: 1.6;
119
+ }
120
+
121
+ .markdown-content pre {
122
+ position: relative;
123
+ }
124
+
125
+ .markdown-content code {
126
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
127
+ }
128
+
129
+ /* Syntax highlighting for code blocks */
130
+ .markdown-content pre code {
131
+ display: block;
132
+ padding: 1rem;
133
+ overflow-x: auto;
134
+ border-radius: 0.375rem;
135
+ }
136
+
137
+ /* Specific element styles */
138
+ .markdown-content h1,
139
+ .markdown-content h2,
140
+ .markdown-content h3,
141
+ .markdown-content h4 {
142
+ font-weight: 600;
143
+ line-height: 1.25;
144
+ }
145
+
146
+ .markdown-content strong {
147
+ font-weight: 600;
148
+ }
149
+
150
+ .markdown-content hr {
151
+ @apply my-4 border-t border-border;
152
+ }
153
+
154
+ .markdown-content a {
155
+ @apply text-primary font-medium hover:underline;
156
+ }
157
+
158
+ .markdown-content table {
159
+ width: 100%;
160
+ table-layout: fixed;
161
+ overflow: hidden;
162
+ }
163
+
164
+ .markdown-content img {
165
+ max-width: 100%;
166
+ height: auto;
167
+ }
168
  }