Vokturz commited on
Commit
97cab0c
·
1 Parent(s): ad5cef3

wip: readme files

Browse files
package.json CHANGED
@@ -19,7 +19,10 @@
19
  "path-browserify": "^1.0.1",
20
  "react": "^19.1.0",
21
  "react-dom": "^19.1.0",
 
22
  "react-scripts": "5.0.1",
 
 
23
  "typescript": "^4.9.5",
24
  "web-vitals": "^2.1.4"
25
  },
@@ -48,6 +51,7 @@
48
  ]
49
  },
50
  "devDependencies": {
 
51
  "tailwindcss": "3"
52
  }
53
  }
 
19
  "path-browserify": "^1.0.1",
20
  "react": "^19.1.0",
21
  "react-dom": "^19.1.0",
22
+ "react-markdown": "^10.1.0",
23
  "react-scripts": "5.0.1",
24
+ "react-syntax-highlighter": "^15.6.1",
25
+ "remark-gfm": "^4.0.1",
26
  "typescript": "^4.9.5",
27
  "web-vitals": "^2.1.4"
28
  },
 
51
  ]
52
  },
53
  "devDependencies": {
54
+ "@types/react-syntax-highlighter": "^15.5.13",
55
  "tailwindcss": "3"
56
  }
57
  }
pnpm-lock.yaml CHANGED
@@ -56,9 +56,18 @@ importers:
56
  react-dom:
57
  specifier: ^19.1.0
58
  version: 19.1.0(react@19.1.0)
 
 
 
59
  react-scripts:
60
  specifier: 5.0.1
61
  version: 5.0.1(@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/babel__core@7.20.5)(eslint@8.57.1)(react@19.1.0)(type-fest@0.21.3)(typescript@4.9.5)
 
 
 
 
 
 
62
  typescript:
63
  specifier: ^4.9.5
64
  version: 4.9.5
@@ -66,6 +75,9 @@ importers:
66
  specifier: ^2.1.4
67
  version: 2.1.4
68
  devDependencies:
 
 
 
69
  tailwindcss:
70
  specifier: '3'
71
  version: 3.4.17
@@ -1479,6 +1491,9 @@ packages:
1479
  '@types/connect@3.4.38':
1480
  resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
1481
 
 
 
 
1482
  '@types/eslint-scope@3.7.7':
1483
  resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
1484
 
@@ -1488,6 +1503,9 @@ packages:
1488
  '@types/eslint@9.6.1':
1489
  resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
1490
 
 
 
 
1491
  '@types/estree@0.0.39':
1492
  resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
1493
 
@@ -1506,6 +1524,12 @@ packages:
1506
  '@types/graceful-fs@4.1.9':
1507
  resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
1508
 
 
 
 
 
 
 
1509
  '@types/html-minifier-terser@6.1.0':
1510
  resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
1511
 
@@ -1533,9 +1557,15 @@ packages:
1533
  '@types/json5@0.0.29':
1534
  resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
1535
 
 
 
 
1536
  '@types/mime@1.3.5':
1537
  resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
1538
 
 
 
 
1539
  '@types/node-forge@1.3.12':
1540
  resolution: {integrity: sha512-a0ToKlRVnUw3aXKQq2F+krxZKq7B8LEQijzPn5RdFAMatARD2JX9o8FBpMXOOrjob0uc13aN+V/AXniOXW4d9A==}
1541
 
@@ -1562,6 +1592,9 @@ packages:
1562
  peerDependencies:
1563
  '@types/react': ^19.0.0
1564
 
 
 
 
1565
  '@types/react@19.1.8':
1566
  resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
1567
 
@@ -1595,6 +1628,12 @@ packages:
1595
  '@types/trusted-types@2.0.7':
1596
  resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
1597
 
 
 
 
 
 
 
1598
  '@types/ws@8.18.1':
1599
  resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
1600
 
@@ -1996,6 +2035,9 @@ packages:
1996
  babel-preset-react-app@10.1.0:
1997
  resolution: {integrity: sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==}
1998
 
 
 
 
1999
  balanced-match@1.0.2:
2000
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
2001
 
@@ -2107,6 +2149,9 @@ packages:
2107
  resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
2108
  engines: {node: '>=4'}
2109
 
 
 
 
2110
  chalk@2.4.2:
2111
  resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
2112
  engines: {node: '>=4'}
@@ -2127,6 +2172,27 @@ packages:
2127
  resolution: {integrity: sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==}
2128
  engines: {node: '>=12.20'}
2129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2130
  check-types@11.2.3:
2131
  resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==}
2132
 
@@ -2207,6 +2273,12 @@ packages:
2207
  resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
2208
  engines: {node: '>= 0.8'}
2209
 
 
 
 
 
 
 
2210
  commander@2.20.3:
2211
  resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
2212
 
@@ -2476,6 +2548,9 @@ packages:
2476
  decimal.js@10.5.0:
2477
  resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
2478
 
 
 
 
2479
  dedent@0.7.0:
2480
  resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
2481
 
@@ -2538,6 +2613,9 @@ packages:
2538
  engines: {node: '>= 4.2.1'}
2539
  hasBin: true
2540
 
 
 
 
2541
  didyoumean@1.2.2:
2542
  resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
2543
 
@@ -2737,6 +2815,10 @@ packages:
2737
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
2738
  engines: {node: '>=10'}
2739
 
 
 
 
 
2740
  escodegen@1.14.3:
2741
  resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
2742
  engines: {node: '>=4.0'}
@@ -2895,6 +2977,9 @@ packages:
2895
  resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
2896
  engines: {node: '>=4.0'}
2897
 
 
 
 
2898
  estree-walker@1.0.1:
2899
  resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
2900
 
@@ -2929,6 +3014,9 @@ packages:
2929
  resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
2930
  engines: {node: '>= 0.10.0'}
2931
 
 
 
 
2932
  fast-deep-equal@3.1.3:
2933
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
2934
 
@@ -2948,6 +3036,9 @@ packages:
2948
  fastq@1.19.1:
2949
  resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
2950
 
 
 
 
2951
  faye-websocket@0.11.4:
2952
  resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
2953
  engines: {node: '>=0.8.0'}
@@ -3047,6 +3138,10 @@ packages:
3047
  resolution: {integrity: sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==}
3048
  engines: {node: '>= 6'}
3049
 
 
 
 
 
3050
  forwarded@0.2.0:
3051
  resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
3052
  engines: {node: '>= 0.6'}
@@ -3215,10 +3310,28 @@ packages:
3215
  resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
3216
  engines: {node: '>= 0.4'}
3217
 
 
 
 
 
 
 
 
 
 
 
 
 
3218
  he@1.2.0:
3219
  resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
3220
  hasBin: true
3221
 
 
 
 
 
 
 
3222
  hoopy@0.1.4:
3223
  resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==}
3224
  engines: {node: '>= 6.0.0'}
@@ -3241,6 +3354,9 @@ packages:
3241
  engines: {node: '>=12'}
3242
  hasBin: true
3243
 
 
 
 
3244
  html-webpack-plugin@5.6.3:
3245
  resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==}
3246
  engines: {node: '>=10.13.0'}
@@ -3353,6 +3469,9 @@ packages:
3353
  ini@1.3.8:
3354
  resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
3355
 
 
 
 
3356
  internal-slot@1.1.0:
3357
  resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
3358
  engines: {node: '>= 0.4'}
@@ -3365,6 +3484,18 @@ packages:
3365
  resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
3366
  engines: {node: '>= 10'}
3367
 
 
 
 
 
 
 
 
 
 
 
 
 
3368
  is-array-buffer@3.0.5:
3369
  resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
3370
  engines: {node: '>= 0.4'}
@@ -3407,6 +3538,12 @@ packages:
3407
  resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
3408
  engines: {node: '>= 0.4'}
3409
 
 
 
 
 
 
 
3410
  is-docker@2.2.1:
3411
  resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
3412
  engines: {node: '>=8'}
@@ -3436,6 +3573,12 @@ packages:
3436
  resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
3437
  engines: {node: '>=0.10.0'}
3438
 
 
 
 
 
 
 
3439
  is-map@2.0.3:
3440
  resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
3441
  engines: {node: '>= 0.4'}
@@ -3467,6 +3610,10 @@ packages:
3467
  resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
3468
  engines: {node: '>=10'}
3469
 
 
 
 
 
3470
  is-potential-custom-element-name@1.0.1:
3471
  resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
3472
 
@@ -3925,6 +4072,9 @@ packages:
3925
  long@5.3.2:
3926
  resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
3927
 
 
 
 
3928
  loose-envify@1.4.0:
3929
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
3930
  hasBin: true
@@ -3932,6 +4082,9 @@ packages:
3932
  lower-case@2.0.2:
3933
  resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
3934
 
 
 
 
3935
  lru-cache@10.4.3:
3936
  resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
3937
 
@@ -3961,6 +4114,9 @@ packages:
3961
  makeerror@1.0.12:
3962
  resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
3963
 
 
 
 
3964
  matcher@3.0.0:
3965
  resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==}
3966
  engines: {node: '>=10'}
@@ -3969,6 +4125,51 @@ packages:
3969
  resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
3970
  engines: {node: '>= 0.4'}
3971
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3972
  mdn-data@2.0.14:
3973
  resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
3974
 
@@ -3997,6 +4198,90 @@ packages:
3997
  resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
3998
  engines: {node: '>= 0.6'}
3999
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4000
  micromatch@4.0.8:
4001
  resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
4002
  engines: {node: '>=8.6'}
@@ -4271,6 +4556,12 @@ packages:
4271
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
4272
  engines: {node: '>=6'}
4273
 
 
 
 
 
 
 
4274
  parse-json@5.2.0:
4275
  resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
4276
  engines: {node: '>=8'}
@@ -4807,6 +5098,14 @@ packages:
4807
  resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==}
4808
  engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
4809
 
 
 
 
 
 
 
 
 
4810
  process-nextick-args@2.0.1:
4811
  resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
4812
 
@@ -4823,6 +5122,12 @@ packages:
4823
  prop-types@15.8.1:
4824
  resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
4825
 
 
 
 
 
 
 
4826
  protobufjs@7.5.3:
4827
  resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==}
4828
  engines: {node: '>=12.0.0'}
@@ -4901,6 +5206,12 @@ packages:
4901
  react-is@18.3.1:
4902
  resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
4903
 
 
 
 
 
 
 
4904
  react-refresh@0.11.0:
4905
  resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==}
4906
  engines: {node: '>=0.10.0'}
@@ -4917,6 +5228,11 @@ packages:
4917
  typescript:
4918
  optional: true
4919
 
 
 
 
 
 
4920
  react@19.1.0:
4921
  resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
4922
  engines: {node: '>=0.10.0'}
@@ -4947,6 +5263,9 @@ packages:
4947
  resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
4948
  engines: {node: '>= 0.4'}
4949
 
 
 
 
4950
  regenerate-unicode-properties@10.2.0:
4951
  resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
4952
  engines: {node: '>=4'}
@@ -4979,6 +5298,18 @@ packages:
4979
  resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
4980
  engines: {node: '>= 0.10'}
4981
 
 
 
 
 
 
 
 
 
 
 
 
 
4982
  renderkid@3.0.0:
4983
  resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
4984
 
@@ -5281,6 +5612,12 @@ packages:
5281
  resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
5282
  deprecated: Please use @jridgewell/sourcemap-codec instead
5283
 
 
 
 
 
 
 
5284
  spdy-transport@3.0.0:
5285
  resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
5286
 
@@ -5371,6 +5708,9 @@ packages:
5371
  string_decoder@1.3.0:
5372
  resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
5373
 
 
 
 
5374
  stringify-object@3.3.0:
5375
  resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
5376
  engines: {node: '>=4'}
@@ -5413,6 +5753,12 @@ packages:
5413
  peerDependencies:
5414
  webpack: ^5.0.0
5415
 
 
 
 
 
 
 
5416
  stylehacks@5.1.1:
5417
  resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
5418
  engines: {node: ^10 || ^12 || >=14.0}
@@ -5563,10 +5909,16 @@ packages:
5563
  resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
5564
  engines: {node: '>=8'}
5565
 
 
 
 
5566
  triple-beam@1.4.1:
5567
  resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==}
5568
  engines: {node: '>= 14.0.0'}
5569
 
 
 
 
5570
  tryer@1.0.1:
5571
  resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==}
5572
 
@@ -5671,10 +6023,28 @@ packages:
5671
  resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
5672
  engines: {node: '>=4'}
5673
 
 
 
 
5674
  unique-string@2.0.0:
5675
  resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
5676
  engines: {node: '>=8'}
5677
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5678
  universalify@0.2.0:
5679
  resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
5680
  engines: {node: '>= 4.0.0'}
@@ -5736,6 +6106,12 @@ packages:
5736
  resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
5737
  engines: {node: '>= 0.8'}
5738
 
 
 
 
 
 
 
5739
  w3c-hr-time@1.0.2:
5740
  resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
5741
  deprecated: Use your platform's native performance.now() and performance.timeOrigin.
@@ -5981,6 +6357,10 @@ packages:
5981
  xmlchars@2.2.0:
5982
  resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
5983
 
 
 
 
 
5984
  y18n@5.0.8:
5985
  resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
5986
  engines: {node: '>=10'}
@@ -6013,6 +6393,9 @@ packages:
6013
  resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
6014
  engines: {node: '>=10'}
6015
 
 
 
 
6016
  snapshots:
6017
 
6018
  '@adobe/css-tools@4.4.3': {}
@@ -7722,6 +8105,10 @@ snapshots:
7722
  dependencies:
7723
  '@types/node': 16.18.126
7724
 
 
 
 
 
7725
  '@types/eslint-scope@3.7.7':
7726
  dependencies:
7727
  '@types/eslint': 9.6.1
@@ -7737,6 +8124,10 @@ snapshots:
7737
  '@types/estree': 1.0.8
7738
  '@types/json-schema': 7.0.15
7739
 
 
 
 
 
7740
  '@types/estree@0.0.39': {}
7741
 
7742
  '@types/estree@1.0.8': {}
@@ -7766,6 +8157,14 @@ snapshots:
7766
  dependencies:
7767
  '@types/node': 16.18.126
7768
 
 
 
 
 
 
 
 
 
7769
  '@types/html-minifier-terser@6.1.0': {}
7770
 
7771
  '@types/http-errors@2.0.5': {}
@@ -7793,8 +8192,14 @@ snapshots:
7793
 
7794
  '@types/json5@0.0.29': {}
7795
 
 
 
 
 
7796
  '@types/mime@1.3.5': {}
7797
 
 
 
7798
  '@types/node-forge@1.3.12':
7799
  dependencies:
7800
  '@types/node': 16.18.126
@@ -7815,6 +8220,10 @@ snapshots:
7815
  dependencies:
7816
  '@types/react': 19.1.8
7817
 
 
 
 
 
7818
  '@types/react@19.1.8':
7819
  dependencies:
7820
  csstype: 3.1.3
@@ -7852,6 +8261,10 @@ snapshots:
7852
 
7853
  '@types/trusted-types@2.0.7': {}
7854
 
 
 
 
 
7855
  '@types/ws@8.18.1':
7856
  dependencies:
7857
  '@types/node': 16.18.126
@@ -8382,6 +8795,8 @@ snapshots:
8382
  transitivePeerDependencies:
8383
  - supports-color
8384
 
 
 
8385
  balanced-match@1.0.2: {}
8386
 
8387
  batch@0.6.1: {}
@@ -8512,6 +8927,8 @@ snapshots:
8512
 
8513
  case-sensitive-paths-webpack-plugin@2.4.0: {}
8514
 
 
 
8515
  chalk@2.4.2:
8516
  dependencies:
8517
  ansi-styles: 3.2.1
@@ -8532,6 +8949,20 @@ snapshots:
8532
 
8533
  char-regex@2.0.2: {}
8534
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8535
  check-types@11.2.3: {}
8536
 
8537
  chokidar@3.6.0:
@@ -8616,6 +9047,10 @@ snapshots:
8616
  dependencies:
8617
  delayed-stream: 1.0.0
8618
 
 
 
 
 
8619
  commander@2.20.3: {}
8620
 
8621
  commander@4.1.1: {}
@@ -8876,6 +9311,10 @@ snapshots:
8876
 
8877
  decimal.js@10.5.0: {}
8878
 
 
 
 
 
8879
  dedent@0.7.0: {}
8880
 
8881
  deep-is@0.1.4: {}
@@ -8923,6 +9362,10 @@ snapshots:
8923
  transitivePeerDependencies:
8924
  - supports-color
8925
 
 
 
 
 
8926
  didyoumean@1.2.2: {}
8927
 
8928
  diff-sequences@27.5.1: {}
@@ -9164,6 +9607,8 @@ snapshots:
9164
 
9165
  escape-string-regexp@4.0.0: {}
9166
 
 
 
9167
  escodegen@1.14.3:
9168
  dependencies:
9169
  esprima: 4.0.1
@@ -9416,6 +9861,8 @@ snapshots:
9416
 
9417
  estraverse@5.3.0: {}
9418
 
 
 
9419
  estree-walker@1.0.1: {}
9420
 
9421
  esutils@2.0.3: {}
@@ -9483,6 +9930,8 @@ snapshots:
9483
  transitivePeerDependencies:
9484
  - supports-color
9485
 
 
 
9486
  fast-deep-equal@3.1.3: {}
9487
 
9488
  fast-glob@3.3.3:
@@ -9503,6 +9952,10 @@ snapshots:
9503
  dependencies:
9504
  reusify: 1.1.0
9505
 
 
 
 
 
9506
  faye-websocket@0.11.4:
9507
  dependencies:
9508
  websocket-driver: 0.7.4
@@ -9615,6 +10068,8 @@ snapshots:
9615
  es-set-tostringtag: 2.1.0
9616
  mime-types: 2.1.35
9617
 
 
 
9618
  forwarded@0.2.0: {}
9619
 
9620
  fraction.js@4.3.7: {}
@@ -9793,8 +10248,46 @@ snapshots:
9793
  dependencies:
9794
  function-bind: 1.1.2
9795
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9796
  he@1.2.0: {}
9797
 
 
 
 
 
9798
  hoopy@0.1.4: {}
9799
 
9800
  hpack.js@2.1.6:
@@ -9822,6 +10315,8 @@ snapshots:
9822
  relateurl: 0.2.7
9823
  terser: 5.43.1
9824
 
 
 
9825
  html-webpack-plugin@5.6.3(webpack@5.99.9):
9826
  dependencies:
9827
  '@types/html-minifier-terser': 6.1.0
@@ -9942,6 +10437,8 @@ snapshots:
9942
 
9943
  ini@1.3.8: {}
9944
 
 
 
9945
  internal-slot@1.1.0:
9946
  dependencies:
9947
  es-errors: 1.3.0
@@ -9952,6 +10449,20 @@ snapshots:
9952
 
9953
  ipaddr.js@2.2.0: {}
9954
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9955
  is-array-buffer@3.0.5:
9956
  dependencies:
9957
  call-bind: 1.0.8
@@ -10000,6 +10511,10 @@ snapshots:
10000
  call-bound: 1.0.4
10001
  has-tostringtag: 1.0.2
10002
 
 
 
 
 
10003
  is-docker@2.2.1: {}
10004
 
10005
  is-extglob@2.1.1: {}
@@ -10023,6 +10538,10 @@ snapshots:
10023
  dependencies:
10024
  is-extglob: 2.1.1
10025
 
 
 
 
 
10026
  is-map@2.0.3: {}
10027
 
10028
  is-module@1.0.0: {}
@@ -10042,6 +10561,8 @@ snapshots:
10042
 
10043
  is-plain-obj@3.0.0: {}
10044
 
 
 
10045
  is-potential-custom-element-name@1.0.1: {}
10046
 
10047
  is-regex@1.2.1:
@@ -10758,6 +11279,8 @@ snapshots:
10758
 
10759
  long@5.3.2: {}
10760
 
 
 
10761
  loose-envify@1.4.0:
10762
  dependencies:
10763
  js-tokens: 4.0.0
@@ -10766,6 +11289,11 @@ snapshots:
10766
  dependencies:
10767
  tslib: 2.8.1
10768
 
 
 
 
 
 
10769
  lru-cache@10.4.3: {}
10770
 
10771
  lru-cache@5.1.1:
@@ -10794,12 +11322,167 @@ snapshots:
10794
  dependencies:
10795
  tmpl: 1.0.5
10796
 
 
 
10797
  matcher@3.0.0:
10798
  dependencies:
10799
  escape-string-regexp: 4.0.0
10800
 
10801
  math-intrinsics@1.1.0: {}
10802
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10803
  mdn-data@2.0.14: {}
10804
 
10805
  mdn-data@2.0.4: {}
@@ -10818,6 +11501,197 @@ snapshots:
10818
 
10819
  methods@1.1.2: {}
10820
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10821
  micromatch@4.0.8:
10822
  dependencies:
10823
  braces: 3.0.3
@@ -11092,6 +11966,25 @@ snapshots:
11092
  dependencies:
11093
  callsites: 3.1.0
11094
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11095
  parse-json@5.2.0:
11096
  dependencies:
11097
  '@babel/code-frame': 7.27.1
@@ -11606,6 +12499,10 @@ snapshots:
11606
  ansi-styles: 5.2.0
11607
  react-is: 18.3.1
11608
 
 
 
 
 
11609
  process-nextick-args@2.0.1: {}
11610
 
11611
  promise@8.3.0:
@@ -11625,6 +12522,12 @@ snapshots:
11625
  object-assign: 4.1.1
11626
  react-is: 16.13.1
11627
 
 
 
 
 
 
 
11628
  protobufjs@7.5.3:
11629
  dependencies:
11630
  '@protobufjs/aspromise': 1.1.2
@@ -11734,6 +12637,24 @@ snapshots:
11734
 
11735
  react-is@18.3.1: {}
11736
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11737
  react-refresh@0.11.0: {}
11738
 
11739
  react-scripts@5.0.1(@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/babel__core@7.20.5)(eslint@8.57.1)(react@19.1.0)(type-fest@0.21.3)(typescript@4.9.5):
@@ -11823,6 +12744,16 @@ snapshots:
11823
  - webpack-hot-middleware
11824
  - webpack-plugin-serve
11825
 
 
 
 
 
 
 
 
 
 
 
11826
  react@19.1.0: {}
11827
 
11828
  read-cache@1.0.0:
@@ -11869,6 +12800,12 @@ snapshots:
11869
  get-proto: 1.0.1
11870
  which-builtin-type: 1.2.1
11871
 
 
 
 
 
 
 
11872
  regenerate-unicode-properties@10.2.0:
11873
  dependencies:
11874
  regenerate: 1.4.2
@@ -11905,6 +12842,40 @@ snapshots:
11905
 
11906
  relateurl@0.2.7: {}
11907
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11908
  renderkid@3.0.0:
11909
  dependencies:
11910
  css-select: 4.3.0
@@ -12250,6 +13221,10 @@ snapshots:
12250
 
12251
  sourcemap-codec@1.4.8: {}
12252
 
 
 
 
 
12253
  spdy-transport@3.0.0:
12254
  dependencies:
12255
  debug: 4.4.1
@@ -12380,6 +13355,11 @@ snapshots:
12380
  dependencies:
12381
  safe-buffer: 5.2.1
12382
 
 
 
 
 
 
12383
  stringify-object@3.3.0:
12384
  dependencies:
12385
  get-own-enumerable-property-symbols: 3.0.2
@@ -12412,6 +13392,14 @@ snapshots:
12412
  dependencies:
12413
  webpack: 5.99.9
12414
 
 
 
 
 
 
 
 
 
12415
  stylehacks@5.1.1(postcss@8.5.6):
12416
  dependencies:
12417
  browserslist: 4.25.1
@@ -12596,8 +13584,12 @@ snapshots:
12596
  dependencies:
12597
  punycode: 2.3.1
12598
 
 
 
12599
  triple-beam@1.4.1: {}
12600
 
 
 
12601
  tryer@1.0.1: {}
12602
 
12603
  ts-interface-checker@0.1.13: {}
@@ -12702,10 +13694,43 @@ snapshots:
12702
 
12703
  unicode-property-aliases-ecmascript@2.1.0: {}
12704
 
 
 
 
 
 
 
 
 
 
 
12705
  unique-string@2.0.0:
12706
  dependencies:
12707
  crypto-random-string: 2.0.0
12708
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12709
  universalify@0.2.0: {}
12710
 
12711
  universalify@2.0.1: {}
@@ -12758,6 +13783,16 @@ snapshots:
12758
 
12759
  vary@1.1.2: {}
12760
 
 
 
 
 
 
 
 
 
 
 
12761
  w3c-hr-time@1.0.2:
12762
  dependencies:
12763
  browser-process-hrtime: 1.0.0
@@ -13140,6 +14175,8 @@ snapshots:
13140
 
13141
  xmlchars@2.2.0: {}
13142
 
 
 
13143
  y18n@5.0.8: {}
13144
 
13145
  yallist@3.1.1: {}
@@ -13163,3 +14200,5 @@ snapshots:
13163
  yargs-parser: 20.2.9
13164
 
13165
  yocto-queue@0.1.0: {}
 
 
 
56
  react-dom:
57
  specifier: ^19.1.0
58
  version: 19.1.0(react@19.1.0)
59
+ react-markdown:
60
+ specifier: ^10.1.0
61
+ version: 10.1.0(@types/react@19.1.8)(react@19.1.0)
62
  react-scripts:
63
  specifier: 5.0.1
64
  version: 5.0.1(@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/babel__core@7.20.5)(eslint@8.57.1)(react@19.1.0)(type-fest@0.21.3)(typescript@4.9.5)
65
+ react-syntax-highlighter:
66
+ specifier: ^15.6.1
67
+ version: 15.6.1(react@19.1.0)
68
+ remark-gfm:
69
+ specifier: ^4.0.1
70
+ version: 4.0.1
71
  typescript:
72
  specifier: ^4.9.5
73
  version: 4.9.5
 
75
  specifier: ^2.1.4
76
  version: 2.1.4
77
  devDependencies:
78
+ '@types/react-syntax-highlighter':
79
+ specifier: ^15.5.13
80
+ version: 15.5.13
81
  tailwindcss:
82
  specifier: '3'
83
  version: 3.4.17
 
1491
  '@types/connect@3.4.38':
1492
  resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
1493
 
1494
+ '@types/debug@4.1.12':
1495
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
1496
+
1497
  '@types/eslint-scope@3.7.7':
1498
  resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
1499
 
 
1503
  '@types/eslint@9.6.1':
1504
  resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
1505
 
1506
+ '@types/estree-jsx@1.0.5':
1507
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
1508
+
1509
  '@types/estree@0.0.39':
1510
  resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
1511
 
 
1524
  '@types/graceful-fs@4.1.9':
1525
  resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
1526
 
1527
+ '@types/hast@2.3.10':
1528
+ resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
1529
+
1530
+ '@types/hast@3.0.4':
1531
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
1532
+
1533
  '@types/html-minifier-terser@6.1.0':
1534
  resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
1535
 
 
1557
  '@types/json5@0.0.29':
1558
  resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
1559
 
1560
+ '@types/mdast@4.0.4':
1561
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
1562
+
1563
  '@types/mime@1.3.5':
1564
  resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
1565
 
1566
+ '@types/ms@2.1.0':
1567
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
1568
+
1569
  '@types/node-forge@1.3.12':
1570
  resolution: {integrity: sha512-a0ToKlRVnUw3aXKQq2F+krxZKq7B8LEQijzPn5RdFAMatARD2JX9o8FBpMXOOrjob0uc13aN+V/AXniOXW4d9A==}
1571
 
 
1592
  peerDependencies:
1593
  '@types/react': ^19.0.0
1594
 
1595
+ '@types/react-syntax-highlighter@15.5.13':
1596
+ resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==}
1597
+
1598
  '@types/react@19.1.8':
1599
  resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
1600
 
 
1628
  '@types/trusted-types@2.0.7':
1629
  resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
1630
 
1631
+ '@types/unist@2.0.11':
1632
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
1633
+
1634
+ '@types/unist@3.0.3':
1635
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
1636
+
1637
  '@types/ws@8.18.1':
1638
  resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
1639
 
 
2035
  babel-preset-react-app@10.1.0:
2036
  resolution: {integrity: sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==}
2037
 
2038
+ bail@2.0.2:
2039
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
2040
+
2041
  balanced-match@1.0.2:
2042
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
2043
 
 
2149
  resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
2150
  engines: {node: '>=4'}
2151
 
2152
+ ccount@2.0.1:
2153
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
2154
+
2155
  chalk@2.4.2:
2156
  resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
2157
  engines: {node: '>=4'}
 
2172
  resolution: {integrity: sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==}
2173
  engines: {node: '>=12.20'}
2174
 
2175
+ character-entities-html4@2.1.0:
2176
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
2177
+
2178
+ character-entities-legacy@1.1.4:
2179
+ resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
2180
+
2181
+ character-entities-legacy@3.0.0:
2182
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
2183
+
2184
+ character-entities@1.2.4:
2185
+ resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
2186
+
2187
+ character-entities@2.0.2:
2188
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
2189
+
2190
+ character-reference-invalid@1.1.4:
2191
+ resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
2192
+
2193
+ character-reference-invalid@2.0.1:
2194
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
2195
+
2196
  check-types@11.2.3:
2197
  resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==}
2198
 
 
2273
  resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
2274
  engines: {node: '>= 0.8'}
2275
 
2276
+ comma-separated-tokens@1.0.8:
2277
+ resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
2278
+
2279
+ comma-separated-tokens@2.0.3:
2280
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
2281
+
2282
  commander@2.20.3:
2283
  resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
2284
 
 
2548
  decimal.js@10.5.0:
2549
  resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
2550
 
2551
+ decode-named-character-reference@1.2.0:
2552
+ resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
2553
+
2554
  dedent@0.7.0:
2555
  resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
2556
 
 
2613
  engines: {node: '>= 4.2.1'}
2614
  hasBin: true
2615
 
2616
+ devlop@1.1.0:
2617
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
2618
+
2619
  didyoumean@1.2.2:
2620
  resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
2621
 
 
2815
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
2816
  engines: {node: '>=10'}
2817
 
2818
+ escape-string-regexp@5.0.0:
2819
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
2820
+ engines: {node: '>=12'}
2821
+
2822
  escodegen@1.14.3:
2823
  resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
2824
  engines: {node: '>=4.0'}
 
2977
  resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
2978
  engines: {node: '>=4.0'}
2979
 
2980
+ estree-util-is-identifier-name@3.0.0:
2981
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
2982
+
2983
  estree-walker@1.0.1:
2984
  resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
2985
 
 
3014
  resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
3015
  engines: {node: '>= 0.10.0'}
3016
 
3017
+ extend@3.0.2:
3018
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
3019
+
3020
  fast-deep-equal@3.1.3:
3021
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
3022
 
 
3036
  fastq@1.19.1:
3037
  resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
3038
 
3039
+ fault@1.0.4:
3040
+ resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==}
3041
+
3042
  faye-websocket@0.11.4:
3043
  resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
3044
  engines: {node: '>=0.8.0'}
 
3138
  resolution: {integrity: sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==}
3139
  engines: {node: '>= 6'}
3140
 
3141
+ format@0.2.2:
3142
+ resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
3143
+ engines: {node: '>=0.4.x'}
3144
+
3145
  forwarded@0.2.0:
3146
  resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
3147
  engines: {node: '>= 0.6'}
 
3310
  resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
3311
  engines: {node: '>= 0.4'}
3312
 
3313
+ hast-util-parse-selector@2.2.5:
3314
+ resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==}
3315
+
3316
+ hast-util-to-jsx-runtime@2.3.6:
3317
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
3318
+
3319
+ hast-util-whitespace@3.0.0:
3320
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
3321
+
3322
+ hastscript@6.0.0:
3323
+ resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==}
3324
+
3325
  he@1.2.0:
3326
  resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
3327
  hasBin: true
3328
 
3329
+ highlight.js@10.7.3:
3330
+ resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
3331
+
3332
+ highlightjs-vue@1.0.0:
3333
+ resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==}
3334
+
3335
  hoopy@0.1.4:
3336
  resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==}
3337
  engines: {node: '>= 6.0.0'}
 
3354
  engines: {node: '>=12'}
3355
  hasBin: true
3356
 
3357
+ html-url-attributes@3.0.1:
3358
+ resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
3359
+
3360
  html-webpack-plugin@5.6.3:
3361
  resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==}
3362
  engines: {node: '>=10.13.0'}
 
3469
  ini@1.3.8:
3470
  resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
3471
 
3472
+ inline-style-parser@0.2.4:
3473
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
3474
+
3475
  internal-slot@1.1.0:
3476
  resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
3477
  engines: {node: '>= 0.4'}
 
3484
  resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
3485
  engines: {node: '>= 10'}
3486
 
3487
+ is-alphabetical@1.0.4:
3488
+ resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
3489
+
3490
+ is-alphabetical@2.0.1:
3491
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
3492
+
3493
+ is-alphanumerical@1.0.4:
3494
+ resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
3495
+
3496
+ is-alphanumerical@2.0.1:
3497
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
3498
+
3499
  is-array-buffer@3.0.5:
3500
  resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
3501
  engines: {node: '>= 0.4'}
 
3538
  resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
3539
  engines: {node: '>= 0.4'}
3540
 
3541
+ is-decimal@1.0.4:
3542
+ resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
3543
+
3544
+ is-decimal@2.0.1:
3545
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
3546
+
3547
  is-docker@2.2.1:
3548
  resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
3549
  engines: {node: '>=8'}
 
3573
  resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
3574
  engines: {node: '>=0.10.0'}
3575
 
3576
+ is-hexadecimal@1.0.4:
3577
+ resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
3578
+
3579
+ is-hexadecimal@2.0.1:
3580
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
3581
+
3582
  is-map@2.0.3:
3583
  resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
3584
  engines: {node: '>= 0.4'}
 
3610
  resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
3611
  engines: {node: '>=10'}
3612
 
3613
+ is-plain-obj@4.1.0:
3614
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
3615
+ engines: {node: '>=12'}
3616
+
3617
  is-potential-custom-element-name@1.0.1:
3618
  resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
3619
 
 
4072
  long@5.3.2:
4073
  resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
4074
 
4075
+ longest-streak@3.1.0:
4076
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
4077
+
4078
  loose-envify@1.4.0:
4079
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
4080
  hasBin: true
 
4082
  lower-case@2.0.2:
4083
  resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
4084
 
4085
+ lowlight@1.20.0:
4086
+ resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==}
4087
+
4088
  lru-cache@10.4.3:
4089
  resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
4090
 
 
4114
  makeerror@1.0.12:
4115
  resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
4116
 
4117
+ markdown-table@3.0.4:
4118
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
4119
+
4120
  matcher@3.0.0:
4121
  resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==}
4122
  engines: {node: '>=10'}
 
4125
  resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
4126
  engines: {node: '>= 0.4'}
4127
 
4128
+ mdast-util-find-and-replace@3.0.2:
4129
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
4130
+
4131
+ mdast-util-from-markdown@2.0.2:
4132
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
4133
+
4134
+ mdast-util-gfm-autolink-literal@2.0.1:
4135
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
4136
+
4137
+ mdast-util-gfm-footnote@2.1.0:
4138
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
4139
+
4140
+ mdast-util-gfm-strikethrough@2.0.0:
4141
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
4142
+
4143
+ mdast-util-gfm-table@2.0.0:
4144
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
4145
+
4146
+ mdast-util-gfm-task-list-item@2.0.0:
4147
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
4148
+
4149
+ mdast-util-gfm@3.1.0:
4150
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
4151
+
4152
+ mdast-util-mdx-expression@2.0.1:
4153
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
4154
+
4155
+ mdast-util-mdx-jsx@3.2.0:
4156
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
4157
+
4158
+ mdast-util-mdxjs-esm@2.0.1:
4159
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
4160
+
4161
+ mdast-util-phrasing@4.1.0:
4162
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
4163
+
4164
+ mdast-util-to-hast@13.2.0:
4165
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
4166
+
4167
+ mdast-util-to-markdown@2.1.2:
4168
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
4169
+
4170
+ mdast-util-to-string@4.0.0:
4171
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
4172
+
4173
  mdn-data@2.0.14:
4174
  resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
4175
 
 
4198
  resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
4199
  engines: {node: '>= 0.6'}
4200
 
4201
+ micromark-core-commonmark@2.0.3:
4202
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
4203
+
4204
+ micromark-extension-gfm-autolink-literal@2.1.0:
4205
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
4206
+
4207
+ micromark-extension-gfm-footnote@2.1.0:
4208
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
4209
+
4210
+ micromark-extension-gfm-strikethrough@2.1.0:
4211
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
4212
+
4213
+ micromark-extension-gfm-table@2.1.1:
4214
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
4215
+
4216
+ micromark-extension-gfm-tagfilter@2.0.0:
4217
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
4218
+
4219
+ micromark-extension-gfm-task-list-item@2.1.0:
4220
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
4221
+
4222
+ micromark-extension-gfm@3.0.0:
4223
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
4224
+
4225
+ micromark-factory-destination@2.0.1:
4226
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
4227
+
4228
+ micromark-factory-label@2.0.1:
4229
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
4230
+
4231
+ micromark-factory-space@2.0.1:
4232
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
4233
+
4234
+ micromark-factory-title@2.0.1:
4235
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
4236
+
4237
+ micromark-factory-whitespace@2.0.1:
4238
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
4239
+
4240
+ micromark-util-character@2.1.1:
4241
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
4242
+
4243
+ micromark-util-chunked@2.0.1:
4244
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
4245
+
4246
+ micromark-util-classify-character@2.0.1:
4247
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
4248
+
4249
+ micromark-util-combine-extensions@2.0.1:
4250
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
4251
+
4252
+ micromark-util-decode-numeric-character-reference@2.0.2:
4253
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
4254
+
4255
+ micromark-util-decode-string@2.0.1:
4256
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
4257
+
4258
+ micromark-util-encode@2.0.1:
4259
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
4260
+
4261
+ micromark-util-html-tag-name@2.0.1:
4262
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
4263
+
4264
+ micromark-util-normalize-identifier@2.0.1:
4265
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
4266
+
4267
+ micromark-util-resolve-all@2.0.1:
4268
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
4269
+
4270
+ micromark-util-sanitize-uri@2.0.1:
4271
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
4272
+
4273
+ micromark-util-subtokenize@2.1.0:
4274
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
4275
+
4276
+ micromark-util-symbol@2.0.1:
4277
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
4278
+
4279
+ micromark-util-types@2.0.2:
4280
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
4281
+
4282
+ micromark@4.0.2:
4283
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
4284
+
4285
  micromatch@4.0.8:
4286
  resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
4287
  engines: {node: '>=8.6'}
 
4556
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
4557
  engines: {node: '>=6'}
4558
 
4559
+ parse-entities@2.0.0:
4560
+ resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
4561
+
4562
+ parse-entities@4.0.2:
4563
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
4564
+
4565
  parse-json@5.2.0:
4566
  resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
4567
  engines: {node: '>=8'}
 
5098
  resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==}
5099
  engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
5100
 
5101
+ prismjs@1.27.0:
5102
+ resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==}
5103
+ engines: {node: '>=6'}
5104
+
5105
+ prismjs@1.30.0:
5106
+ resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
5107
+ engines: {node: '>=6'}
5108
+
5109
  process-nextick-args@2.0.1:
5110
  resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
5111
 
 
5122
  prop-types@15.8.1:
5123
  resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
5124
 
5125
+ property-information@5.6.0:
5126
+ resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==}
5127
+
5128
+ property-information@7.1.0:
5129
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
5130
+
5131
  protobufjs@7.5.3:
5132
  resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==}
5133
  engines: {node: '>=12.0.0'}
 
5206
  react-is@18.3.1:
5207
  resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
5208
 
5209
+ react-markdown@10.1.0:
5210
+ resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==}
5211
+ peerDependencies:
5212
+ '@types/react': '>=18'
5213
+ react: '>=18'
5214
+
5215
  react-refresh@0.11.0:
5216
  resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==}
5217
  engines: {node: '>=0.10.0'}
 
5228
  typescript:
5229
  optional: true
5230
 
5231
+ react-syntax-highlighter@15.6.1:
5232
+ resolution: {integrity: sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==}
5233
+ peerDependencies:
5234
+ react: '>= 0.14.0'
5235
+
5236
  react@19.1.0:
5237
  resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
5238
  engines: {node: '>=0.10.0'}
 
5263
  resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
5264
  engines: {node: '>= 0.4'}
5265
 
5266
+ refractor@3.6.0:
5267
+ resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==}
5268
+
5269
  regenerate-unicode-properties@10.2.0:
5270
  resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
5271
  engines: {node: '>=4'}
 
5298
  resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
5299
  engines: {node: '>= 0.10'}
5300
 
5301
+ remark-gfm@4.0.1:
5302
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
5303
+
5304
+ remark-parse@11.0.0:
5305
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
5306
+
5307
+ remark-rehype@11.1.2:
5308
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
5309
+
5310
+ remark-stringify@11.0.0:
5311
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
5312
+
5313
  renderkid@3.0.0:
5314
  resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
5315
 
 
5612
  resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
5613
  deprecated: Please use @jridgewell/sourcemap-codec instead
5614
 
5615
+ space-separated-tokens@1.1.5:
5616
+ resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
5617
+
5618
+ space-separated-tokens@2.0.2:
5619
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
5620
+
5621
  spdy-transport@3.0.0:
5622
  resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
5623
 
 
5708
  string_decoder@1.3.0:
5709
  resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
5710
 
5711
+ stringify-entities@4.0.4:
5712
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
5713
+
5714
  stringify-object@3.3.0:
5715
  resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==}
5716
  engines: {node: '>=4'}
 
5753
  peerDependencies:
5754
  webpack: ^5.0.0
5755
 
5756
+ style-to-js@1.1.17:
5757
+ resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==}
5758
+
5759
+ style-to-object@1.0.9:
5760
+ resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==}
5761
+
5762
  stylehacks@5.1.1:
5763
  resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
5764
  engines: {node: ^10 || ^12 || >=14.0}
 
5909
  resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
5910
  engines: {node: '>=8'}
5911
 
5912
+ trim-lines@3.0.1:
5913
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
5914
+
5915
  triple-beam@1.4.1:
5916
  resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==}
5917
  engines: {node: '>= 14.0.0'}
5918
 
5919
+ trough@2.2.0:
5920
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
5921
+
5922
  tryer@1.0.1:
5923
  resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==}
5924
 
 
6023
  resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
6024
  engines: {node: '>=4'}
6025
 
6026
+ unified@11.0.5:
6027
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
6028
+
6029
  unique-string@2.0.0:
6030
  resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
6031
  engines: {node: '>=8'}
6032
 
6033
+ unist-util-is@6.0.0:
6034
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
6035
+
6036
+ unist-util-position@5.0.0:
6037
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
6038
+
6039
+ unist-util-stringify-position@4.0.0:
6040
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
6041
+
6042
+ unist-util-visit-parents@6.0.1:
6043
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
6044
+
6045
+ unist-util-visit@5.0.0:
6046
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
6047
+
6048
  universalify@0.2.0:
6049
  resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
6050
  engines: {node: '>= 4.0.0'}
 
6106
  resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
6107
  engines: {node: '>= 0.8'}
6108
 
6109
+ vfile-message@4.0.2:
6110
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
6111
+
6112
+ vfile@6.0.3:
6113
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
6114
+
6115
  w3c-hr-time@1.0.2:
6116
  resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
6117
  deprecated: Use your platform's native performance.now() and performance.timeOrigin.
 
6357
  xmlchars@2.2.0:
6358
  resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
6359
 
6360
+ xtend@4.0.2:
6361
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
6362
+ engines: {node: '>=0.4'}
6363
+
6364
  y18n@5.0.8:
6365
  resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
6366
  engines: {node: '>=10'}
 
6393
  resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
6394
  engines: {node: '>=10'}
6395
 
6396
+ zwitch@2.0.4:
6397
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
6398
+
6399
  snapshots:
6400
 
6401
  '@adobe/css-tools@4.4.3': {}
 
8105
  dependencies:
8106
  '@types/node': 16.18.126
8107
 
8108
+ '@types/debug@4.1.12':
8109
+ dependencies:
8110
+ '@types/ms': 2.1.0
8111
+
8112
  '@types/eslint-scope@3.7.7':
8113
  dependencies:
8114
  '@types/eslint': 9.6.1
 
8124
  '@types/estree': 1.0.8
8125
  '@types/json-schema': 7.0.15
8126
 
8127
+ '@types/estree-jsx@1.0.5':
8128
+ dependencies:
8129
+ '@types/estree': 1.0.8
8130
+
8131
  '@types/estree@0.0.39': {}
8132
 
8133
  '@types/estree@1.0.8': {}
 
8157
  dependencies:
8158
  '@types/node': 16.18.126
8159
 
8160
+ '@types/hast@2.3.10':
8161
+ dependencies:
8162
+ '@types/unist': 2.0.11
8163
+
8164
+ '@types/hast@3.0.4':
8165
+ dependencies:
8166
+ '@types/unist': 3.0.3
8167
+
8168
  '@types/html-minifier-terser@6.1.0': {}
8169
 
8170
  '@types/http-errors@2.0.5': {}
 
8192
 
8193
  '@types/json5@0.0.29': {}
8194
 
8195
+ '@types/mdast@4.0.4':
8196
+ dependencies:
8197
+ '@types/unist': 3.0.3
8198
+
8199
  '@types/mime@1.3.5': {}
8200
 
8201
+ '@types/ms@2.1.0': {}
8202
+
8203
  '@types/node-forge@1.3.12':
8204
  dependencies:
8205
  '@types/node': 16.18.126
 
8220
  dependencies:
8221
  '@types/react': 19.1.8
8222
 
8223
+ '@types/react-syntax-highlighter@15.5.13':
8224
+ dependencies:
8225
+ '@types/react': 19.1.8
8226
+
8227
  '@types/react@19.1.8':
8228
  dependencies:
8229
  csstype: 3.1.3
 
8261
 
8262
  '@types/trusted-types@2.0.7': {}
8263
 
8264
+ '@types/unist@2.0.11': {}
8265
+
8266
+ '@types/unist@3.0.3': {}
8267
+
8268
  '@types/ws@8.18.1':
8269
  dependencies:
8270
  '@types/node': 16.18.126
 
8795
  transitivePeerDependencies:
8796
  - supports-color
8797
 
8798
+ bail@2.0.2: {}
8799
+
8800
  balanced-match@1.0.2: {}
8801
 
8802
  batch@0.6.1: {}
 
8927
 
8928
  case-sensitive-paths-webpack-plugin@2.4.0: {}
8929
 
8930
+ ccount@2.0.1: {}
8931
+
8932
  chalk@2.4.2:
8933
  dependencies:
8934
  ansi-styles: 3.2.1
 
8949
 
8950
  char-regex@2.0.2: {}
8951
 
8952
+ character-entities-html4@2.1.0: {}
8953
+
8954
+ character-entities-legacy@1.1.4: {}
8955
+
8956
+ character-entities-legacy@3.0.0: {}
8957
+
8958
+ character-entities@1.2.4: {}
8959
+
8960
+ character-entities@2.0.2: {}
8961
+
8962
+ character-reference-invalid@1.1.4: {}
8963
+
8964
+ character-reference-invalid@2.0.1: {}
8965
+
8966
  check-types@11.2.3: {}
8967
 
8968
  chokidar@3.6.0:
 
9047
  dependencies:
9048
  delayed-stream: 1.0.0
9049
 
9050
+ comma-separated-tokens@1.0.8: {}
9051
+
9052
+ comma-separated-tokens@2.0.3: {}
9053
+
9054
  commander@2.20.3: {}
9055
 
9056
  commander@4.1.1: {}
 
9311
 
9312
  decimal.js@10.5.0: {}
9313
 
9314
+ decode-named-character-reference@1.2.0:
9315
+ dependencies:
9316
+ character-entities: 2.0.2
9317
+
9318
  dedent@0.7.0: {}
9319
 
9320
  deep-is@0.1.4: {}
 
9362
  transitivePeerDependencies:
9363
  - supports-color
9364
 
9365
+ devlop@1.1.0:
9366
+ dependencies:
9367
+ dequal: 2.0.3
9368
+
9369
  didyoumean@1.2.2: {}
9370
 
9371
  diff-sequences@27.5.1: {}
 
9607
 
9608
  escape-string-regexp@4.0.0: {}
9609
 
9610
+ escape-string-regexp@5.0.0: {}
9611
+
9612
  escodegen@1.14.3:
9613
  dependencies:
9614
  esprima: 4.0.1
 
9861
 
9862
  estraverse@5.3.0: {}
9863
 
9864
+ estree-util-is-identifier-name@3.0.0: {}
9865
+
9866
  estree-walker@1.0.1: {}
9867
 
9868
  esutils@2.0.3: {}
 
9930
  transitivePeerDependencies:
9931
  - supports-color
9932
 
9933
+ extend@3.0.2: {}
9934
+
9935
  fast-deep-equal@3.1.3: {}
9936
 
9937
  fast-glob@3.3.3:
 
9952
  dependencies:
9953
  reusify: 1.1.0
9954
 
9955
+ fault@1.0.4:
9956
+ dependencies:
9957
+ format: 0.2.2
9958
+
9959
  faye-websocket@0.11.4:
9960
  dependencies:
9961
  websocket-driver: 0.7.4
 
10068
  es-set-tostringtag: 2.1.0
10069
  mime-types: 2.1.35
10070
 
10071
+ format@0.2.2: {}
10072
+
10073
  forwarded@0.2.0: {}
10074
 
10075
  fraction.js@4.3.7: {}
 
10248
  dependencies:
10249
  function-bind: 1.1.2
10250
 
10251
+ hast-util-parse-selector@2.2.5: {}
10252
+
10253
+ hast-util-to-jsx-runtime@2.3.6:
10254
+ dependencies:
10255
+ '@types/estree': 1.0.8
10256
+ '@types/hast': 3.0.4
10257
+ '@types/unist': 3.0.3
10258
+ comma-separated-tokens: 2.0.3
10259
+ devlop: 1.1.0
10260
+ estree-util-is-identifier-name: 3.0.0
10261
+ hast-util-whitespace: 3.0.0
10262
+ mdast-util-mdx-expression: 2.0.1
10263
+ mdast-util-mdx-jsx: 3.2.0
10264
+ mdast-util-mdxjs-esm: 2.0.1
10265
+ property-information: 7.1.0
10266
+ space-separated-tokens: 2.0.2
10267
+ style-to-js: 1.1.17
10268
+ unist-util-position: 5.0.0
10269
+ vfile-message: 4.0.2
10270
+ transitivePeerDependencies:
10271
+ - supports-color
10272
+
10273
+ hast-util-whitespace@3.0.0:
10274
+ dependencies:
10275
+ '@types/hast': 3.0.4
10276
+
10277
+ hastscript@6.0.0:
10278
+ dependencies:
10279
+ '@types/hast': 2.3.10
10280
+ comma-separated-tokens: 1.0.8
10281
+ hast-util-parse-selector: 2.2.5
10282
+ property-information: 5.6.0
10283
+ space-separated-tokens: 1.1.5
10284
+
10285
  he@1.2.0: {}
10286
 
10287
+ highlight.js@10.7.3: {}
10288
+
10289
+ highlightjs-vue@1.0.0: {}
10290
+
10291
  hoopy@0.1.4: {}
10292
 
10293
  hpack.js@2.1.6:
 
10315
  relateurl: 0.2.7
10316
  terser: 5.43.1
10317
 
10318
+ html-url-attributes@3.0.1: {}
10319
+
10320
  html-webpack-plugin@5.6.3(webpack@5.99.9):
10321
  dependencies:
10322
  '@types/html-minifier-terser': 6.1.0
 
10437
 
10438
  ini@1.3.8: {}
10439
 
10440
+ inline-style-parser@0.2.4: {}
10441
+
10442
  internal-slot@1.1.0:
10443
  dependencies:
10444
  es-errors: 1.3.0
 
10449
 
10450
  ipaddr.js@2.2.0: {}
10451
 
10452
+ is-alphabetical@1.0.4: {}
10453
+
10454
+ is-alphabetical@2.0.1: {}
10455
+
10456
+ is-alphanumerical@1.0.4:
10457
+ dependencies:
10458
+ is-alphabetical: 1.0.4
10459
+ is-decimal: 1.0.4
10460
+
10461
+ is-alphanumerical@2.0.1:
10462
+ dependencies:
10463
+ is-alphabetical: 2.0.1
10464
+ is-decimal: 2.0.1
10465
+
10466
  is-array-buffer@3.0.5:
10467
  dependencies:
10468
  call-bind: 1.0.8
 
10511
  call-bound: 1.0.4
10512
  has-tostringtag: 1.0.2
10513
 
10514
+ is-decimal@1.0.4: {}
10515
+
10516
+ is-decimal@2.0.1: {}
10517
+
10518
  is-docker@2.2.1: {}
10519
 
10520
  is-extglob@2.1.1: {}
 
10538
  dependencies:
10539
  is-extglob: 2.1.1
10540
 
10541
+ is-hexadecimal@1.0.4: {}
10542
+
10543
+ is-hexadecimal@2.0.1: {}
10544
+
10545
  is-map@2.0.3: {}
10546
 
10547
  is-module@1.0.0: {}
 
10561
 
10562
  is-plain-obj@3.0.0: {}
10563
 
10564
+ is-plain-obj@4.1.0: {}
10565
+
10566
  is-potential-custom-element-name@1.0.1: {}
10567
 
10568
  is-regex@1.2.1:
 
11279
 
11280
  long@5.3.2: {}
11281
 
11282
+ longest-streak@3.1.0: {}
11283
+
11284
  loose-envify@1.4.0:
11285
  dependencies:
11286
  js-tokens: 4.0.0
 
11289
  dependencies:
11290
  tslib: 2.8.1
11291
 
11292
+ lowlight@1.20.0:
11293
+ dependencies:
11294
+ fault: 1.0.4
11295
+ highlight.js: 10.7.3
11296
+
11297
  lru-cache@10.4.3: {}
11298
 
11299
  lru-cache@5.1.1:
 
11322
  dependencies:
11323
  tmpl: 1.0.5
11324
 
11325
+ markdown-table@3.0.4: {}
11326
+
11327
  matcher@3.0.0:
11328
  dependencies:
11329
  escape-string-regexp: 4.0.0
11330
 
11331
  math-intrinsics@1.1.0: {}
11332
 
11333
+ mdast-util-find-and-replace@3.0.2:
11334
+ dependencies:
11335
+ '@types/mdast': 4.0.4
11336
+ escape-string-regexp: 5.0.0
11337
+ unist-util-is: 6.0.0
11338
+ unist-util-visit-parents: 6.0.1
11339
+
11340
+ mdast-util-from-markdown@2.0.2:
11341
+ dependencies:
11342
+ '@types/mdast': 4.0.4
11343
+ '@types/unist': 3.0.3
11344
+ decode-named-character-reference: 1.2.0
11345
+ devlop: 1.1.0
11346
+ mdast-util-to-string: 4.0.0
11347
+ micromark: 4.0.2
11348
+ micromark-util-decode-numeric-character-reference: 2.0.2
11349
+ micromark-util-decode-string: 2.0.1
11350
+ micromark-util-normalize-identifier: 2.0.1
11351
+ micromark-util-symbol: 2.0.1
11352
+ micromark-util-types: 2.0.2
11353
+ unist-util-stringify-position: 4.0.0
11354
+ transitivePeerDependencies:
11355
+ - supports-color
11356
+
11357
+ mdast-util-gfm-autolink-literal@2.0.1:
11358
+ dependencies:
11359
+ '@types/mdast': 4.0.4
11360
+ ccount: 2.0.1
11361
+ devlop: 1.1.0
11362
+ mdast-util-find-and-replace: 3.0.2
11363
+ micromark-util-character: 2.1.1
11364
+
11365
+ mdast-util-gfm-footnote@2.1.0:
11366
+ dependencies:
11367
+ '@types/mdast': 4.0.4
11368
+ devlop: 1.1.0
11369
+ mdast-util-from-markdown: 2.0.2
11370
+ mdast-util-to-markdown: 2.1.2
11371
+ micromark-util-normalize-identifier: 2.0.1
11372
+ transitivePeerDependencies:
11373
+ - supports-color
11374
+
11375
+ mdast-util-gfm-strikethrough@2.0.0:
11376
+ dependencies:
11377
+ '@types/mdast': 4.0.4
11378
+ mdast-util-from-markdown: 2.0.2
11379
+ mdast-util-to-markdown: 2.1.2
11380
+ transitivePeerDependencies:
11381
+ - supports-color
11382
+
11383
+ mdast-util-gfm-table@2.0.0:
11384
+ dependencies:
11385
+ '@types/mdast': 4.0.4
11386
+ devlop: 1.1.0
11387
+ markdown-table: 3.0.4
11388
+ mdast-util-from-markdown: 2.0.2
11389
+ mdast-util-to-markdown: 2.1.2
11390
+ transitivePeerDependencies:
11391
+ - supports-color
11392
+
11393
+ mdast-util-gfm-task-list-item@2.0.0:
11394
+ dependencies:
11395
+ '@types/mdast': 4.0.4
11396
+ devlop: 1.1.0
11397
+ mdast-util-from-markdown: 2.0.2
11398
+ mdast-util-to-markdown: 2.1.2
11399
+ transitivePeerDependencies:
11400
+ - supports-color
11401
+
11402
+ mdast-util-gfm@3.1.0:
11403
+ dependencies:
11404
+ mdast-util-from-markdown: 2.0.2
11405
+ mdast-util-gfm-autolink-literal: 2.0.1
11406
+ mdast-util-gfm-footnote: 2.1.0
11407
+ mdast-util-gfm-strikethrough: 2.0.0
11408
+ mdast-util-gfm-table: 2.0.0
11409
+ mdast-util-gfm-task-list-item: 2.0.0
11410
+ mdast-util-to-markdown: 2.1.2
11411
+ transitivePeerDependencies:
11412
+ - supports-color
11413
+
11414
+ mdast-util-mdx-expression@2.0.1:
11415
+ dependencies:
11416
+ '@types/estree-jsx': 1.0.5
11417
+ '@types/hast': 3.0.4
11418
+ '@types/mdast': 4.0.4
11419
+ devlop: 1.1.0
11420
+ mdast-util-from-markdown: 2.0.2
11421
+ mdast-util-to-markdown: 2.1.2
11422
+ transitivePeerDependencies:
11423
+ - supports-color
11424
+
11425
+ mdast-util-mdx-jsx@3.2.0:
11426
+ dependencies:
11427
+ '@types/estree-jsx': 1.0.5
11428
+ '@types/hast': 3.0.4
11429
+ '@types/mdast': 4.0.4
11430
+ '@types/unist': 3.0.3
11431
+ ccount: 2.0.1
11432
+ devlop: 1.1.0
11433
+ mdast-util-from-markdown: 2.0.2
11434
+ mdast-util-to-markdown: 2.1.2
11435
+ parse-entities: 4.0.2
11436
+ stringify-entities: 4.0.4
11437
+ unist-util-stringify-position: 4.0.0
11438
+ vfile-message: 4.0.2
11439
+ transitivePeerDependencies:
11440
+ - supports-color
11441
+
11442
+ mdast-util-mdxjs-esm@2.0.1:
11443
+ dependencies:
11444
+ '@types/estree-jsx': 1.0.5
11445
+ '@types/hast': 3.0.4
11446
+ '@types/mdast': 4.0.4
11447
+ devlop: 1.1.0
11448
+ mdast-util-from-markdown: 2.0.2
11449
+ mdast-util-to-markdown: 2.1.2
11450
+ transitivePeerDependencies:
11451
+ - supports-color
11452
+
11453
+ mdast-util-phrasing@4.1.0:
11454
+ dependencies:
11455
+ '@types/mdast': 4.0.4
11456
+ unist-util-is: 6.0.0
11457
+
11458
+ mdast-util-to-hast@13.2.0:
11459
+ dependencies:
11460
+ '@types/hast': 3.0.4
11461
+ '@types/mdast': 4.0.4
11462
+ '@ungap/structured-clone': 1.3.0
11463
+ devlop: 1.1.0
11464
+ micromark-util-sanitize-uri: 2.0.1
11465
+ trim-lines: 3.0.1
11466
+ unist-util-position: 5.0.0
11467
+ unist-util-visit: 5.0.0
11468
+ vfile: 6.0.3
11469
+
11470
+ mdast-util-to-markdown@2.1.2:
11471
+ dependencies:
11472
+ '@types/mdast': 4.0.4
11473
+ '@types/unist': 3.0.3
11474
+ longest-streak: 3.1.0
11475
+ mdast-util-phrasing: 4.1.0
11476
+ mdast-util-to-string: 4.0.0
11477
+ micromark-util-classify-character: 2.0.1
11478
+ micromark-util-decode-string: 2.0.1
11479
+ unist-util-visit: 5.0.0
11480
+ zwitch: 2.0.4
11481
+
11482
+ mdast-util-to-string@4.0.0:
11483
+ dependencies:
11484
+ '@types/mdast': 4.0.4
11485
+
11486
  mdn-data@2.0.14: {}
11487
 
11488
  mdn-data@2.0.4: {}
 
11501
 
11502
  methods@1.1.2: {}
11503
 
11504
+ micromark-core-commonmark@2.0.3:
11505
+ dependencies:
11506
+ decode-named-character-reference: 1.2.0
11507
+ devlop: 1.1.0
11508
+ micromark-factory-destination: 2.0.1
11509
+ micromark-factory-label: 2.0.1
11510
+ micromark-factory-space: 2.0.1
11511
+ micromark-factory-title: 2.0.1
11512
+ micromark-factory-whitespace: 2.0.1
11513
+ micromark-util-character: 2.1.1
11514
+ micromark-util-chunked: 2.0.1
11515
+ micromark-util-classify-character: 2.0.1
11516
+ micromark-util-html-tag-name: 2.0.1
11517
+ micromark-util-normalize-identifier: 2.0.1
11518
+ micromark-util-resolve-all: 2.0.1
11519
+ micromark-util-subtokenize: 2.1.0
11520
+ micromark-util-symbol: 2.0.1
11521
+ micromark-util-types: 2.0.2
11522
+
11523
+ micromark-extension-gfm-autolink-literal@2.1.0:
11524
+ dependencies:
11525
+ micromark-util-character: 2.1.1
11526
+ micromark-util-sanitize-uri: 2.0.1
11527
+ micromark-util-symbol: 2.0.1
11528
+ micromark-util-types: 2.0.2
11529
+
11530
+ micromark-extension-gfm-footnote@2.1.0:
11531
+ dependencies:
11532
+ devlop: 1.1.0
11533
+ micromark-core-commonmark: 2.0.3
11534
+ micromark-factory-space: 2.0.1
11535
+ micromark-util-character: 2.1.1
11536
+ micromark-util-normalize-identifier: 2.0.1
11537
+ micromark-util-sanitize-uri: 2.0.1
11538
+ micromark-util-symbol: 2.0.1
11539
+ micromark-util-types: 2.0.2
11540
+
11541
+ micromark-extension-gfm-strikethrough@2.1.0:
11542
+ dependencies:
11543
+ devlop: 1.1.0
11544
+ micromark-util-chunked: 2.0.1
11545
+ micromark-util-classify-character: 2.0.1
11546
+ micromark-util-resolve-all: 2.0.1
11547
+ micromark-util-symbol: 2.0.1
11548
+ micromark-util-types: 2.0.2
11549
+
11550
+ micromark-extension-gfm-table@2.1.1:
11551
+ dependencies:
11552
+ devlop: 1.1.0
11553
+ micromark-factory-space: 2.0.1
11554
+ micromark-util-character: 2.1.1
11555
+ micromark-util-symbol: 2.0.1
11556
+ micromark-util-types: 2.0.2
11557
+
11558
+ micromark-extension-gfm-tagfilter@2.0.0:
11559
+ dependencies:
11560
+ micromark-util-types: 2.0.2
11561
+
11562
+ micromark-extension-gfm-task-list-item@2.1.0:
11563
+ dependencies:
11564
+ devlop: 1.1.0
11565
+ micromark-factory-space: 2.0.1
11566
+ micromark-util-character: 2.1.1
11567
+ micromark-util-symbol: 2.0.1
11568
+ micromark-util-types: 2.0.2
11569
+
11570
+ micromark-extension-gfm@3.0.0:
11571
+ dependencies:
11572
+ micromark-extension-gfm-autolink-literal: 2.1.0
11573
+ micromark-extension-gfm-footnote: 2.1.0
11574
+ micromark-extension-gfm-strikethrough: 2.1.0
11575
+ micromark-extension-gfm-table: 2.1.1
11576
+ micromark-extension-gfm-tagfilter: 2.0.0
11577
+ micromark-extension-gfm-task-list-item: 2.1.0
11578
+ micromark-util-combine-extensions: 2.0.1
11579
+ micromark-util-types: 2.0.2
11580
+
11581
+ micromark-factory-destination@2.0.1:
11582
+ dependencies:
11583
+ micromark-util-character: 2.1.1
11584
+ micromark-util-symbol: 2.0.1
11585
+ micromark-util-types: 2.0.2
11586
+
11587
+ micromark-factory-label@2.0.1:
11588
+ dependencies:
11589
+ devlop: 1.1.0
11590
+ micromark-util-character: 2.1.1
11591
+ micromark-util-symbol: 2.0.1
11592
+ micromark-util-types: 2.0.2
11593
+
11594
+ micromark-factory-space@2.0.1:
11595
+ dependencies:
11596
+ micromark-util-character: 2.1.1
11597
+ micromark-util-types: 2.0.2
11598
+
11599
+ micromark-factory-title@2.0.1:
11600
+ dependencies:
11601
+ micromark-factory-space: 2.0.1
11602
+ micromark-util-character: 2.1.1
11603
+ micromark-util-symbol: 2.0.1
11604
+ micromark-util-types: 2.0.2
11605
+
11606
+ micromark-factory-whitespace@2.0.1:
11607
+ dependencies:
11608
+ micromark-factory-space: 2.0.1
11609
+ micromark-util-character: 2.1.1
11610
+ micromark-util-symbol: 2.0.1
11611
+ micromark-util-types: 2.0.2
11612
+
11613
+ micromark-util-character@2.1.1:
11614
+ dependencies:
11615
+ micromark-util-symbol: 2.0.1
11616
+ micromark-util-types: 2.0.2
11617
+
11618
+ micromark-util-chunked@2.0.1:
11619
+ dependencies:
11620
+ micromark-util-symbol: 2.0.1
11621
+
11622
+ micromark-util-classify-character@2.0.1:
11623
+ dependencies:
11624
+ micromark-util-character: 2.1.1
11625
+ micromark-util-symbol: 2.0.1
11626
+ micromark-util-types: 2.0.2
11627
+
11628
+ micromark-util-combine-extensions@2.0.1:
11629
+ dependencies:
11630
+ micromark-util-chunked: 2.0.1
11631
+ micromark-util-types: 2.0.2
11632
+
11633
+ micromark-util-decode-numeric-character-reference@2.0.2:
11634
+ dependencies:
11635
+ micromark-util-symbol: 2.0.1
11636
+
11637
+ micromark-util-decode-string@2.0.1:
11638
+ dependencies:
11639
+ decode-named-character-reference: 1.2.0
11640
+ micromark-util-character: 2.1.1
11641
+ micromark-util-decode-numeric-character-reference: 2.0.2
11642
+ micromark-util-symbol: 2.0.1
11643
+
11644
+ micromark-util-encode@2.0.1: {}
11645
+
11646
+ micromark-util-html-tag-name@2.0.1: {}
11647
+
11648
+ micromark-util-normalize-identifier@2.0.1:
11649
+ dependencies:
11650
+ micromark-util-symbol: 2.0.1
11651
+
11652
+ micromark-util-resolve-all@2.0.1:
11653
+ dependencies:
11654
+ micromark-util-types: 2.0.2
11655
+
11656
+ micromark-util-sanitize-uri@2.0.1:
11657
+ dependencies:
11658
+ micromark-util-character: 2.1.1
11659
+ micromark-util-encode: 2.0.1
11660
+ micromark-util-symbol: 2.0.1
11661
+
11662
+ micromark-util-subtokenize@2.1.0:
11663
+ dependencies:
11664
+ devlop: 1.1.0
11665
+ micromark-util-chunked: 2.0.1
11666
+ micromark-util-symbol: 2.0.1
11667
+ micromark-util-types: 2.0.2
11668
+
11669
+ micromark-util-symbol@2.0.1: {}
11670
+
11671
+ micromark-util-types@2.0.2: {}
11672
+
11673
+ micromark@4.0.2:
11674
+ dependencies:
11675
+ '@types/debug': 4.1.12
11676
+ debug: 4.4.1
11677
+ decode-named-character-reference: 1.2.0
11678
+ devlop: 1.1.0
11679
+ micromark-core-commonmark: 2.0.3
11680
+ micromark-factory-space: 2.0.1
11681
+ micromark-util-character: 2.1.1
11682
+ micromark-util-chunked: 2.0.1
11683
+ micromark-util-combine-extensions: 2.0.1
11684
+ micromark-util-decode-numeric-character-reference: 2.0.2
11685
+ micromark-util-encode: 2.0.1
11686
+ micromark-util-normalize-identifier: 2.0.1
11687
+ micromark-util-resolve-all: 2.0.1
11688
+ micromark-util-sanitize-uri: 2.0.1
11689
+ micromark-util-subtokenize: 2.1.0
11690
+ micromark-util-symbol: 2.0.1
11691
+ micromark-util-types: 2.0.2
11692
+ transitivePeerDependencies:
11693
+ - supports-color
11694
+
11695
  micromatch@4.0.8:
11696
  dependencies:
11697
  braces: 3.0.3
 
11966
  dependencies:
11967
  callsites: 3.1.0
11968
 
11969
+ parse-entities@2.0.0:
11970
+ dependencies:
11971
+ character-entities: 1.2.4
11972
+ character-entities-legacy: 1.1.4
11973
+ character-reference-invalid: 1.1.4
11974
+ is-alphanumerical: 1.0.4
11975
+ is-decimal: 1.0.4
11976
+ is-hexadecimal: 1.0.4
11977
+
11978
+ parse-entities@4.0.2:
11979
+ dependencies:
11980
+ '@types/unist': 2.0.11
11981
+ character-entities-legacy: 3.0.0
11982
+ character-reference-invalid: 2.0.1
11983
+ decode-named-character-reference: 1.2.0
11984
+ is-alphanumerical: 2.0.1
11985
+ is-decimal: 2.0.1
11986
+ is-hexadecimal: 2.0.1
11987
+
11988
  parse-json@5.2.0:
11989
  dependencies:
11990
  '@babel/code-frame': 7.27.1
 
12499
  ansi-styles: 5.2.0
12500
  react-is: 18.3.1
12501
 
12502
+ prismjs@1.27.0: {}
12503
+
12504
+ prismjs@1.30.0: {}
12505
+
12506
  process-nextick-args@2.0.1: {}
12507
 
12508
  promise@8.3.0:
 
12522
  object-assign: 4.1.1
12523
  react-is: 16.13.1
12524
 
12525
+ property-information@5.6.0:
12526
+ dependencies:
12527
+ xtend: 4.0.2
12528
+
12529
+ property-information@7.1.0: {}
12530
+
12531
  protobufjs@7.5.3:
12532
  dependencies:
12533
  '@protobufjs/aspromise': 1.1.2
 
12637
 
12638
  react-is@18.3.1: {}
12639
 
12640
+ react-markdown@10.1.0(@types/react@19.1.8)(react@19.1.0):
12641
+ dependencies:
12642
+ '@types/hast': 3.0.4
12643
+ '@types/mdast': 4.0.4
12644
+ '@types/react': 19.1.8
12645
+ devlop: 1.1.0
12646
+ hast-util-to-jsx-runtime: 2.3.6
12647
+ html-url-attributes: 3.0.1
12648
+ mdast-util-to-hast: 13.2.0
12649
+ react: 19.1.0
12650
+ remark-parse: 11.0.0
12651
+ remark-rehype: 11.1.2
12652
+ unified: 11.0.5
12653
+ unist-util-visit: 5.0.0
12654
+ vfile: 6.0.3
12655
+ transitivePeerDependencies:
12656
+ - supports-color
12657
+
12658
  react-refresh@0.11.0: {}
12659
 
12660
  react-scripts@5.0.1(@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.0))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0))(@types/babel__core@7.20.5)(eslint@8.57.1)(react@19.1.0)(type-fest@0.21.3)(typescript@4.9.5):
 
12744
  - webpack-hot-middleware
12745
  - webpack-plugin-serve
12746
 
12747
+ react-syntax-highlighter@15.6.1(react@19.1.0):
12748
+ dependencies:
12749
+ '@babel/runtime': 7.27.6
12750
+ highlight.js: 10.7.3
12751
+ highlightjs-vue: 1.0.0
12752
+ lowlight: 1.20.0
12753
+ prismjs: 1.30.0
12754
+ react: 19.1.0
12755
+ refractor: 3.6.0
12756
+
12757
  react@19.1.0: {}
12758
 
12759
  read-cache@1.0.0:
 
12800
  get-proto: 1.0.1
12801
  which-builtin-type: 1.2.1
12802
 
12803
+ refractor@3.6.0:
12804
+ dependencies:
12805
+ hastscript: 6.0.0
12806
+ parse-entities: 2.0.0
12807
+ prismjs: 1.27.0
12808
+
12809
  regenerate-unicode-properties@10.2.0:
12810
  dependencies:
12811
  regenerate: 1.4.2
 
12842
 
12843
  relateurl@0.2.7: {}
12844
 
12845
+ remark-gfm@4.0.1:
12846
+ dependencies:
12847
+ '@types/mdast': 4.0.4
12848
+ mdast-util-gfm: 3.1.0
12849
+ micromark-extension-gfm: 3.0.0
12850
+ remark-parse: 11.0.0
12851
+ remark-stringify: 11.0.0
12852
+ unified: 11.0.5
12853
+ transitivePeerDependencies:
12854
+ - supports-color
12855
+
12856
+ remark-parse@11.0.0:
12857
+ dependencies:
12858
+ '@types/mdast': 4.0.4
12859
+ mdast-util-from-markdown: 2.0.2
12860
+ micromark-util-types: 2.0.2
12861
+ unified: 11.0.5
12862
+ transitivePeerDependencies:
12863
+ - supports-color
12864
+
12865
+ remark-rehype@11.1.2:
12866
+ dependencies:
12867
+ '@types/hast': 3.0.4
12868
+ '@types/mdast': 4.0.4
12869
+ mdast-util-to-hast: 13.2.0
12870
+ unified: 11.0.5
12871
+ vfile: 6.0.3
12872
+
12873
+ remark-stringify@11.0.0:
12874
+ dependencies:
12875
+ '@types/mdast': 4.0.4
12876
+ mdast-util-to-markdown: 2.1.2
12877
+ unified: 11.0.5
12878
+
12879
  renderkid@3.0.0:
12880
  dependencies:
12881
  css-select: 4.3.0
 
13221
 
13222
  sourcemap-codec@1.4.8: {}
13223
 
13224
+ space-separated-tokens@1.1.5: {}
13225
+
13226
+ space-separated-tokens@2.0.2: {}
13227
+
13228
  spdy-transport@3.0.0:
13229
  dependencies:
13230
  debug: 4.4.1
 
13355
  dependencies:
13356
  safe-buffer: 5.2.1
13357
 
13358
+ stringify-entities@4.0.4:
13359
+ dependencies:
13360
+ character-entities-html4: 2.1.0
13361
+ character-entities-legacy: 3.0.0
13362
+
13363
  stringify-object@3.3.0:
13364
  dependencies:
13365
  get-own-enumerable-property-symbols: 3.0.2
 
13392
  dependencies:
13393
  webpack: 5.99.9
13394
 
13395
+ style-to-js@1.1.17:
13396
+ dependencies:
13397
+ style-to-object: 1.0.9
13398
+
13399
+ style-to-object@1.0.9:
13400
+ dependencies:
13401
+ inline-style-parser: 0.2.4
13402
+
13403
  stylehacks@5.1.1(postcss@8.5.6):
13404
  dependencies:
13405
  browserslist: 4.25.1
 
13584
  dependencies:
13585
  punycode: 2.3.1
13586
 
13587
+ trim-lines@3.0.1: {}
13588
+
13589
  triple-beam@1.4.1: {}
13590
 
13591
+ trough@2.2.0: {}
13592
+
13593
  tryer@1.0.1: {}
13594
 
13595
  ts-interface-checker@0.1.13: {}
 
13694
 
13695
  unicode-property-aliases-ecmascript@2.1.0: {}
13696
 
13697
+ unified@11.0.5:
13698
+ dependencies:
13699
+ '@types/unist': 3.0.3
13700
+ bail: 2.0.2
13701
+ devlop: 1.1.0
13702
+ extend: 3.0.2
13703
+ is-plain-obj: 4.1.0
13704
+ trough: 2.2.0
13705
+ vfile: 6.0.3
13706
+
13707
  unique-string@2.0.0:
13708
  dependencies:
13709
  crypto-random-string: 2.0.0
13710
 
13711
+ unist-util-is@6.0.0:
13712
+ dependencies:
13713
+ '@types/unist': 3.0.3
13714
+
13715
+ unist-util-position@5.0.0:
13716
+ dependencies:
13717
+ '@types/unist': 3.0.3
13718
+
13719
+ unist-util-stringify-position@4.0.0:
13720
+ dependencies:
13721
+ '@types/unist': 3.0.3
13722
+
13723
+ unist-util-visit-parents@6.0.1:
13724
+ dependencies:
13725
+ '@types/unist': 3.0.3
13726
+ unist-util-is: 6.0.0
13727
+
13728
+ unist-util-visit@5.0.0:
13729
+ dependencies:
13730
+ '@types/unist': 3.0.3
13731
+ unist-util-is: 6.0.0
13732
+ unist-util-visit-parents: 6.0.1
13733
+
13734
  universalify@0.2.0: {}
13735
 
13736
  universalify@2.0.1: {}
 
13783
 
13784
  vary@1.1.2: {}
13785
 
13786
+ vfile-message@4.0.2:
13787
+ dependencies:
13788
+ '@types/unist': 3.0.3
13789
+ unist-util-stringify-position: 4.0.0
13790
+
13791
+ vfile@6.0.3:
13792
+ dependencies:
13793
+ '@types/unist': 3.0.3
13794
+ vfile-message: 4.0.2
13795
+
13796
  w3c-hr-time@1.0.2:
13797
  dependencies:
13798
  browser-process-hrtime: 1.0.0
 
14175
 
14176
  xmlchars@2.2.0: {}
14177
 
14178
+ xtend@4.0.2: {}
14179
+
14180
  y18n@5.0.8: {}
14181
 
14182
  yallist@3.1.1: {}
 
14200
  yargs-parser: 20.2.9
14201
 
14202
  yocto-queue@0.1.0: {}
14203
+
14204
+ zwitch@2.0.4: {}
src/App.tsx CHANGED
@@ -8,9 +8,10 @@ import { useModel } from './contexts/ModelContext'
8
  import { getModelsByPipeline } from './lib/huggingface'
9
  import ModelSelector from './components/ModelSelector'
10
  import ModelInfo from './components/ModelInfo'
 
11
 
12
  function App() {
13
- const { pipeline, setPipeline, setModels } = useModel()
14
 
15
  useEffect(() => {
16
  const fetchModels = async () => {
@@ -52,36 +53,13 @@ function App() {
52
  </div>
53
  </div>
54
 
55
- {/* Pipeline Description */}
56
- <div className="mt-4 p-4 bg-gray-50 rounded-lg">
57
- <div className="flex items-start space-x-3">
58
- <div className="flex-shrink-0">
59
- <svg
60
- className="w-5 h-5 text-blue-500 mt-0.5"
61
- fill="currentColor"
62
- viewBox="0 0 20 20"
63
- >
64
- <path
65
- fillRule="evenodd"
66
- d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"
67
- clipRule="evenodd"
68
- />
69
- </svg>
70
- </div>
71
- <div>
72
- <h3 className="text-sm font-medium text-gray-900">
73
- {pipeline === 'zero-shot-classification'
74
- ? 'Zero-Shot Classification'
75
- : 'Text-Classification'}
76
- </h3>
77
- <p className="text-sm text-gray-600 mt-1">
78
- {pipeline === 'zero-shot-classification'
79
- ? 'Classify text into custom categories without training data. Perfect for organizing content, routing messages, or analyzing feedback.'
80
- : 'Classify text into predefined categories. Ideal for sentiment analysis, spam detection, or topic categorization.'}
81
- </p>
82
- </div>
83
- </div>
84
- </div>
85
  </div>
86
  </div>
87
 
@@ -92,8 +70,6 @@ function App() {
92
  {pipeline === 'text-classification' && <TextClassification />}
93
  </div>
94
  </main>
95
-
96
- <Footer />
97
  </div>
98
  )
99
  }
 
8
  import { getModelsByPipeline } from './lib/huggingface'
9
  import ModelSelector from './components/ModelSelector'
10
  import ModelInfo from './components/ModelInfo'
11
+ import ModelReadme from './components/ModelReadme'
12
 
13
  function App() {
14
+ const { pipeline, setPipeline, setModels, modelInfo } = useModel()
15
 
16
  useEffect(() => {
17
  const fetchModels = async () => {
 
53
  </div>
54
  </div>
55
 
56
+ {modelInfo?.readme && (
57
+ <ModelReadme
58
+ readme={modelInfo.readme}
59
+ modelName={modelInfo.name}
60
+ pipeline={pipeline}
61
+ />
62
+ )}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  </div>
64
  </div>
65
 
 
70
  {pipeline === 'text-classification' && <TextClassification />}
71
  </div>
72
  </main>
 
 
73
  </div>
74
  )
75
  }
src/components/MarkdownRenderer.tsx ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import ReactMarkdown from 'react-markdown'
2
+ import remarkGfm from 'remark-gfm'
3
+ import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'
4
+ import { tomorrow } from 'react-syntax-highlighter/dist/esm/styles/prism'
5
+
6
+ interface MarkdownRendererProps {
7
+ content: string
8
+ }
9
+
10
+ const MarkdownRenderer = ({ content }: MarkdownRendererProps) => {
11
+ const cleanContent = content
12
+ .replace(/^---\s*\n.*?\n---\s*\n/s, '')
13
+ .replace(/<[^>]*>/g, '')
14
+
15
+ return (
16
+ <ReactMarkdown
17
+ remarkPlugins={[remarkGfm]}
18
+ disallowedElements={[
19
+ 'script',
20
+ 'style',
21
+ 'iframe',
22
+ 'object',
23
+ 'embed',
24
+ ]}
25
+ unwrapDisallowed={true}
26
+ components={{
27
+ code: ({ className, children, ...props }: any) => {
28
+ const match = /language-(\w+)/.exec(className || '')
29
+ const isInline = !match
30
+ return !isInline ? (
31
+ <SyntaxHighlighter
32
+ style={tomorrow}
33
+ language={match[1]}
34
+ PreTag="div"
35
+ className="rounded-md my-4"
36
+ {...props}
37
+ >
38
+ {String(children).replace(/\n$/, '')}
39
+ </SyntaxHighlighter>
40
+ ) : (
41
+ <code className="bg-gray-100 px-1 py-0.5 rounded text-sm font-mono" {...props}>
42
+ {children}
43
+ </code>
44
+ )
45
+ },
46
+ a: ({ children, href }) => (
47
+ <a
48
+ href={href}
49
+ className="text-blue-600 hover:text-blue-800 underline"
50
+ target="_blank"
51
+ rel="noopener noreferrer"
52
+ >
53
+ {children}
54
+ </a>
55
+ ),
56
+ table: ({ children }) => (
57
+ <div className="overflow-x-auto">
58
+ <table className="min-w-full divide-y divide-gray-200">
59
+ {children}
60
+ </table>
61
+ </div>
62
+ ),
63
+ thead: ({ children }) => (
64
+ <thead className="bg-gray-50">{children}</thead>
65
+ ),
66
+ tbody: ({ children }) => (
67
+ <tbody className="bg-white divide-y divide-gray-200">
68
+ {children}
69
+ </tbody>
70
+ ),
71
+ th: ({ children }) => (
72
+ <th className="px-3 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider border border-gray-300">
73
+ {children}
74
+ </th>
75
+ ),
76
+ td: ({ children }) => (
77
+ <td className="px-3 py-2 whitespace-nowrap text-sm text-gray-900 border border-gray-300">
78
+ {children}
79
+ </td>
80
+ ),
81
+ ul: ({ children }) => (
82
+ <ul className="list-disc list-inside space-y-1 ml-4 mb-4">
83
+ {children}
84
+ </ul>
85
+ ),
86
+ ol: ({ children }) => (
87
+ <ol className="list-decimal list-inside space-y-1 ml-4 mb-4">
88
+ {children}
89
+ </ol>
90
+ ),
91
+ li: ({ children }) => (
92
+ <li className="text-sm text-gray-900">{children}</li>
93
+ ),
94
+ h1: ({ children }) => (
95
+ <h1 className="text-xl font-semibold text-gray-900 mb-3 mt-4">
96
+ {children}
97
+ </h1>
98
+ ),
99
+ h2: ({ children }) => (
100
+ <h2 className="text-lg font-semibold text-gray-900 mb-2 mt-3">
101
+ {children}
102
+ </h2>
103
+ ),
104
+ h3: ({ children }) => (
105
+ <h3 className="text-base font-semibold text-gray-900 mb-2 mt-3">
106
+ {children}
107
+ </h3>
108
+ )
109
+ }}
110
+ >
111
+ {cleanContent}
112
+ </ReactMarkdown>
113
+ )
114
+ }
115
+
116
+ export default MarkdownRenderer
src/components/ModelReadme.tsx ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { FileText, ChevronDown } from 'lucide-react'
2
+ import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/react'
3
+ import MarkdownRenderer from './MarkdownRenderer'
4
+
5
+ interface ModelReadmeProps {
6
+ readme: string
7
+ pipeline: string
8
+ modelName: string
9
+ }
10
+
11
+ const ModelReadme = ({ readme, pipeline, modelName}: ModelReadmeProps) => {
12
+
13
+ return (
14
+ <div className="mt-2">
15
+ <Disclosure>
16
+ {({ open }) => (
17
+ <>
18
+ <DisclosureButton className="flex justify-between items-center w-full px-4 py-3 bg-gray-50 rounded-lg border border-gray-200 hover:bg-gray-100 transition-colors">
19
+ <div className="flex items-center text-sm text-gray-600">
20
+ <FileText className="w-4 h-4 mr-2" />
21
+ README.md
22
+ </div>
23
+ <div className="flex items-center space-x-2">
24
+ <div className="text-xs text-gray-400">
25
+ <i>{pipeline}</i> • {modelName}
26
+ </div>
27
+ <ChevronDown
28
+ className={`w-4 h-4 text-gray-400 transition-transform ${
29
+ open ? 'rotate-180' : ''
30
+ }`}
31
+ />
32
+ </div>
33
+ </DisclosureButton>
34
+ <DisclosurePanel className="px-4 py-5 bg-gray-50 rounded-b-lg border-l border-r border-b border-gray-200 max-h-[600px] overflow-y-auto">
35
+ <div className="text-sm text-gray-800">
36
+ <MarkdownRenderer content={readme} />
37
+ </div>
38
+ </DisclosurePanel>
39
+ </>
40
+ )}
41
+ </Disclosure>
42
+ </div>
43
+ )
44
+ }
45
+
46
+ export default ModelReadme
src/components/ModelSelector.tsx CHANGED
@@ -84,10 +84,10 @@ const ModelSelector: React.FC = () => {
84
  isCompatible: modelInfoResponse.isCompatible,
85
  incompatibilityReason: modelInfoResponse.incompatibilityReason,
86
  supportedQuantizations: modelInfoResponse.supportedQuantizations,
87
- baseId: modelInfoResponse.baseId
 
88
  }
89
 
90
- console.log('Fetched model info:', modelInfoResponse)
91
 
92
  setModelInfo(modelInfo)
93
  } catch (error) {
 
84
  isCompatible: modelInfoResponse.isCompatible,
85
  incompatibilityReason: modelInfoResponse.incompatibilityReason,
86
  supportedQuantizations: modelInfoResponse.supportedQuantizations,
87
+ baseId: modelInfoResponse.baseId,
88
+ readme: modelInfoResponse.readme
89
  }
90
 
 
91
 
92
  setModelInfo(modelInfo)
93
  } catch (error) {
src/lib/huggingface.ts CHANGED
@@ -53,7 +53,19 @@ const getModelInfo = async (modelName: string): Promise<ModelInfoResponse> => {
53
  return getNumericValue(a) - getNumericValue(b)
54
  })
55
 
56
- // If there's a base model, fetch its info and merge with compatibility data
 
 
 
 
 
 
 
 
 
 
 
 
57
  const baseModel = modelData.cardData?.base_model ?? modelData.modelId
58
  if (baseModel && !modelData.safetensors) {
59
  const baseModelResponse = await fetch(
@@ -68,6 +80,7 @@ const getModelInfo = async (modelName: string): Promise<ModelInfoResponse> => {
68
 
69
  if (baseModelResponse.ok) {
70
  const baseModelData: ModelInfoResponse = await baseModelResponse.json()
 
71
 
72
  return {
73
  ...baseModelData,
@@ -75,16 +88,20 @@ const getModelInfo = async (modelName: string): Promise<ModelInfoResponse> => {
75
  baseId: baseModel,
76
  isCompatible,
77
  incompatibilityReason,
78
- supportedQuantizations: uniqueSupportedQuantizations as QuantizationType[]
 
79
  }
80
  }
81
  }
82
 
 
 
83
  return {
84
  ...modelData,
85
  isCompatible,
86
  incompatibilityReason,
87
- supportedQuantizations: uniqueSupportedQuantizations as QuantizationType[]
 
88
  }
89
  }
90
 
@@ -119,10 +136,12 @@ const getModelsByPipeline = async (
119
  (model: ModelInfoResponse) =>
120
  !model.tags.includes('reranker') &&
121
  !model.id.includes('reranker') &&
122
- !model.tags.includes('sentence-transformers')
 
123
  )
124
  .slice(0, 10)
125
  }
 
126
  return models.slice(0, 10)
127
  }
128
 
@@ -152,7 +171,6 @@ function getModelSize(
152
  break
153
  }
154
 
155
- // There are 1,024 * 1,024 bytes in a megabyte
156
  const sizeInBytes = parameters * bytesPerParameter
157
  const sizeInMB = sizeInBytes / (1024 * 1024)
158
 
 
53
  return getNumericValue(a) - getNumericValue(b)
54
  })
55
 
56
+ // Fetch README content
57
+ const fetchReadme = async (modelId: string): Promise<string> => {
58
+ try {
59
+ const readmeResponse = await fetch(`https://huggingface.co/${modelId}/raw/main/README.md`)
60
+ if (readmeResponse.ok) {
61
+ return await readmeResponse.text()
62
+ }
63
+ } catch (error) {
64
+ console.warn(`Failed to fetch README for ${modelId}:`, error)
65
+ }
66
+ return ''
67
+ }
68
+
69
  const baseModel = modelData.cardData?.base_model ?? modelData.modelId
70
  if (baseModel && !modelData.safetensors) {
71
  const baseModelResponse = await fetch(
 
80
 
81
  if (baseModelResponse.ok) {
82
  const baseModelData: ModelInfoResponse = await baseModelResponse.json()
83
+ const readme = await fetchReadme(baseModel)
84
 
85
  return {
86
  ...baseModelData,
 
88
  baseId: baseModel,
89
  isCompatible,
90
  incompatibilityReason,
91
+ supportedQuantizations: uniqueSupportedQuantizations as QuantizationType[],
92
+ readme
93
  }
94
  }
95
  }
96
 
97
+ const readme = await fetchReadme(modelData.id)
98
+
99
  return {
100
  ...modelData,
101
  isCompatible,
102
  incompatibilityReason,
103
+ supportedQuantizations: uniqueSupportedQuantizations as QuantizationType[],
104
+ readme
105
  }
106
  }
107
 
 
136
  (model: ModelInfoResponse) =>
137
  !model.tags.includes('reranker') &&
138
  !model.id.includes('reranker') &&
139
+ !model.id.includes('ms-marco') &&
140
+ !model.id.includes('MiniLM')
141
  )
142
  .slice(0, 10)
143
  }
144
+
145
  return models.slice(0, 10)
146
  }
147
 
 
171
  break
172
  }
173
 
 
174
  const sizeInBytes = parameters * bytesPerParameter
175
  const sizeInMB = sizeInBytes / (1024 * 1024)
176
 
src/types.ts CHANGED
@@ -51,6 +51,7 @@ export interface ModelInfo {
51
  incompatibilityReason?: string
52
  supportedQuantizations: QuantizationType[]
53
  baseId?: string
 
54
  }
55
 
56
 
@@ -90,4 +91,5 @@ export interface ModelInfoResponse {
90
  supportedQuantizations: QuantizationType[]
91
  likes: number
92
  downloads: number
 
93
  }
 
51
  incompatibilityReason?: string
52
  supportedQuantizations: QuantizationType[]
53
  baseId?: string
54
+ readme?: string
55
  }
56
 
57
 
 
91
  supportedQuantizations: QuantizationType[]
92
  likes: number
93
  downloads: number
94
+ readme?: string
95
  }