├── .gitignore ├── .vscode └── settings.json ├── README.md ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── sites └── stc ├── .eslintrc.json ├── .gitignore ├── README.md ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _meta.json ├── blog │ ├── _meta.json │ └── this-week-in-stc │ │ ├── _meta.json │ │ ├── frequency-change.mdx │ │ ├── week-1.mdx │ │ ├── week-10.mdx │ │ ├── week-11.mdx │ │ ├── week-12.mdx │ │ ├── week-13.mdx │ │ ├── week-14.mdx │ │ ├── week-15.mdx │ │ ├── week-16.mdx │ │ ├── week-17.mdx │ │ ├── week-18.mdx │ │ ├── week-19.mdx │ │ ├── week-2.mdx │ │ ├── week-20.mdx │ │ ├── week-21.mdx │ │ ├── week-22.mdx │ │ ├── week-23.mdx │ │ ├── week-3.mdx │ │ ├── week-4.mdx │ │ ├── week-5.mdx │ │ ├── week-6.mdx │ │ ├── week-7.mdx │ │ ├── week-8.mdx │ │ └── week-9.mdx ├── docs │ ├── _meta.json │ ├── contributing.mdx │ ├── getting-started.mdx │ └── roadmap.mdx └── index.mdx ├── public ├── favicon.ico └── images │ └── this-week-in-stc │ ├── 1 │ └── contributors.png │ ├── 2 │ └── contributors.png │ ├── 3 │ └── contributors.png │ ├── 4 │ └── contributors.png │ ├── 5 │ └── contributors.png │ ├── 6 │ └── contributors.png │ ├── 7 │ └── contributors.png │ ├── 8 │ └── contributors.png │ ├── 9 │ └── contributors.png │ ├── 10 │ └── contributors.png │ ├── 11 │ └── contributors.png │ ├── 12 │ └── contributors.png │ ├── 13 │ └── contributors.png │ ├── 14 │ └── contributors.png │ ├── 15 │ └── contributors.png │ ├── 16 │ └── contributors.png │ ├── 17 │ └── contributors.png │ ├── 18 │ └── contributors.png │ ├── 19 │ └── contributors.png │ ├── 20 │ └── contributors.png │ ├── 21 │ └── contributors.png │ ├── 22 │ └── contributors.png │ └── 23 │ ├── contributors.png │ └── lsp.png ├── styles.css ├── theme.config.js └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | .next 2 | .yarn/ 3 | node_modules 4 | .DS_Store 5 | .env 6 | # custom binaries 7 | .bin -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true 3 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # oss-docs 2 | 3 | Documentation for open-source projects of Dudy. 4 | 5 | - stc: https://stc.dudy.dev -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | importers: 4 | 5 | sites/stc: 6 | specifiers: 7 | '@types/node': 17.0.24 8 | '@types/react': 18.0.5 9 | '@types/react-dom': 18.0.1 10 | '@vercel/analytics': ^0.1.5 11 | autoprefixer: ^10.4.4 12 | chart.js: 4.1.2 13 | chartjs-adapter-date-fns: 3.0.0 14 | date-fns: 2.29.3 15 | eslint: 8.13.0 16 | eslint-config-next: 12.1.5 17 | next: 13.0.6 18 | nextra: 2.0.1 19 | nextra-theme-docs: 2.0.1 20 | postcss: ^8.4.12 21 | react: ^18.0.0 22 | react-chartjs-2: 5.2.0 23 | react-dom: ^18.0.0 24 | tailwindcss: ^3.0.24 25 | typescript: 4.6.3 26 | dependencies: 27 | '@vercel/analytics': 0.1.5_react@18.2.0 28 | chart.js: 4.1.2 29 | chartjs-adapter-date-fns: 3.0.0_kluv2ktejb2igagp3yc56zuwiy 30 | date-fns: 2.29.3 31 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y 32 | nextra: 2.0.1_6jx7hpii6hgsrmhxgqrmo3277u 33 | nextra-theme-docs: 2.0.1_6jx7hpii6hgsrmhxgqrmo3277u 34 | react: 18.2.0 35 | react-chartjs-2: 5.2.0_mfjxiilvrceiwtanada6fxhije 36 | react-dom: 18.2.0_react@18.2.0 37 | devDependencies: 38 | '@types/node': 17.0.24 39 | '@types/react': 18.0.5 40 | '@types/react-dom': 18.0.1 41 | autoprefixer: 10.4.13_postcss@8.4.19 42 | eslint: 8.13.0 43 | eslint-config-next: 12.1.5_maiyzn3gept4r2nx7swmqdeu4a 44 | postcss: 8.4.19 45 | tailwindcss: 3.2.4_postcss@8.4.19 46 | typescript: 4.6.3 47 | 48 | packages: 49 | 50 | /@babel/runtime-corejs3/7.20.1: 51 | resolution: {integrity: sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==} 52 | engines: {node: '>=6.9.0'} 53 | dependencies: 54 | core-js-pure: 3.26.1 55 | regenerator-runtime: 0.13.11 56 | dev: true 57 | 58 | /@babel/runtime/7.20.1: 59 | resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} 60 | engines: {node: '>=6.9.0'} 61 | dependencies: 62 | regenerator-runtime: 0.13.11 63 | dev: true 64 | 65 | /@babel/runtime/7.20.6: 66 | resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==} 67 | engines: {node: '>=6.9.0'} 68 | dependencies: 69 | regenerator-runtime: 0.13.11 70 | dev: false 71 | 72 | /@eslint/eslintrc/1.3.3: 73 | resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} 74 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 75 | dependencies: 76 | ajv: 6.12.6 77 | debug: 4.3.4 78 | espree: 9.4.1 79 | globals: 13.18.0 80 | ignore: 5.2.0 81 | import-fresh: 3.3.0 82 | js-yaml: 4.1.0 83 | minimatch: 3.1.2 84 | strip-json-comments: 3.1.1 85 | transitivePeerDependencies: 86 | - supports-color 87 | dev: true 88 | 89 | /@headlessui/react/1.7.4_biqbaboplfbrettd7655fr4n2y: 90 | resolution: {integrity: sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==} 91 | engines: {node: '>=10'} 92 | peerDependencies: 93 | react: ^16 || ^17 || ^18 94 | react-dom: ^16 || ^17 || ^18 95 | dependencies: 96 | client-only: 0.0.1 97 | react: 18.2.0 98 | react-dom: 18.2.0_react@18.2.0 99 | dev: false 100 | 101 | /@humanwhocodes/config-array/0.9.5: 102 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 103 | engines: {node: '>=10.10.0'} 104 | dependencies: 105 | '@humanwhocodes/object-schema': 1.2.1 106 | debug: 4.3.4 107 | minimatch: 3.1.2 108 | transitivePeerDependencies: 109 | - supports-color 110 | dev: true 111 | 112 | /@humanwhocodes/object-schema/1.2.1: 113 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 114 | dev: true 115 | 116 | /@kurkle/color/0.3.2: 117 | resolution: {integrity: sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==} 118 | dev: false 119 | 120 | /@mdx-js/mdx/2.1.5: 121 | resolution: {integrity: sha512-zEG0lt+Bl/r5U6e0TOS7qDbsXICtemfAPquxWFsMbdzrvlWaqMGemLl+sjVpqlyaaiCiGVQBSGdCk0t1qXjkQg==} 122 | dependencies: 123 | '@types/estree-jsx': 1.0.0 124 | '@types/mdx': 2.0.3 125 | estree-util-build-jsx: 2.2.0 126 | estree-util-is-identifier-name: 2.0.1 127 | estree-util-to-js: 1.1.0 128 | estree-walker: 3.0.1 129 | hast-util-to-estree: 2.1.0 130 | markdown-extensions: 1.1.1 131 | periscopic: 3.0.4 132 | remark-mdx: 2.1.5 133 | remark-parse: 10.0.1 134 | remark-rehype: 10.1.0 135 | unified: 10.1.2 136 | unist-util-position-from-estree: 1.1.1 137 | unist-util-stringify-position: 3.0.2 138 | unist-util-visit: 4.1.1 139 | vfile: 5.3.6 140 | transitivePeerDependencies: 141 | - supports-color 142 | dev: false 143 | 144 | /@mdx-js/react/2.1.5_react@18.2.0: 145 | resolution: {integrity: sha512-3Az1I6SAWA9R38rYjz5rXBrGKeZhq96CSSyQtqY+maPj8stBsoUH5pNcmIixuGkufYsh8F5+ka2CVPo2fycWZw==} 146 | peerDependencies: 147 | react: '>=16' 148 | dependencies: 149 | '@types/mdx': 2.0.3 150 | '@types/react': 18.0.5 151 | react: 18.2.0 152 | dev: false 153 | 154 | /@napi-rs/simple-git-android-arm-eabi/0.1.8: 155 | resolution: {integrity: sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==} 156 | engines: {node: '>= 10'} 157 | cpu: [arm] 158 | os: [android] 159 | requiresBuild: true 160 | dev: false 161 | optional: true 162 | 163 | /@napi-rs/simple-git-android-arm64/0.1.8: 164 | resolution: {integrity: sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==} 165 | engines: {node: '>= 10'} 166 | cpu: [arm64] 167 | os: [android] 168 | requiresBuild: true 169 | dev: false 170 | optional: true 171 | 172 | /@napi-rs/simple-git-darwin-arm64/0.1.8: 173 | resolution: {integrity: sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==} 174 | engines: {node: '>= 10'} 175 | cpu: [arm64] 176 | os: [darwin] 177 | requiresBuild: true 178 | dev: false 179 | optional: true 180 | 181 | /@napi-rs/simple-git-darwin-x64/0.1.8: 182 | resolution: {integrity: sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==} 183 | engines: {node: '>= 10'} 184 | cpu: [x64] 185 | os: [darwin] 186 | requiresBuild: true 187 | dev: false 188 | optional: true 189 | 190 | /@napi-rs/simple-git-linux-arm-gnueabihf/0.1.8: 191 | resolution: {integrity: sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==} 192 | engines: {node: '>= 10'} 193 | cpu: [arm] 194 | os: [linux] 195 | requiresBuild: true 196 | dev: false 197 | optional: true 198 | 199 | /@napi-rs/simple-git-linux-arm64-gnu/0.1.8: 200 | resolution: {integrity: sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==} 201 | engines: {node: '>= 10'} 202 | cpu: [arm64] 203 | os: [linux] 204 | requiresBuild: true 205 | dev: false 206 | optional: true 207 | 208 | /@napi-rs/simple-git-linux-arm64-musl/0.1.8: 209 | resolution: {integrity: sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==} 210 | engines: {node: '>= 10'} 211 | cpu: [arm64] 212 | os: [linux] 213 | requiresBuild: true 214 | dev: false 215 | optional: true 216 | 217 | /@napi-rs/simple-git-linux-x64-gnu/0.1.8: 218 | resolution: {integrity: sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==} 219 | engines: {node: '>= 10'} 220 | cpu: [x64] 221 | os: [linux] 222 | requiresBuild: true 223 | dev: false 224 | optional: true 225 | 226 | /@napi-rs/simple-git-linux-x64-musl/0.1.8: 227 | resolution: {integrity: sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==} 228 | engines: {node: '>= 10'} 229 | cpu: [x64] 230 | os: [linux] 231 | requiresBuild: true 232 | dev: false 233 | optional: true 234 | 235 | /@napi-rs/simple-git-win32-arm64-msvc/0.1.8: 236 | resolution: {integrity: sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==} 237 | engines: {node: '>= 10'} 238 | cpu: [arm64] 239 | os: [win32] 240 | requiresBuild: true 241 | dev: false 242 | optional: true 243 | 244 | /@napi-rs/simple-git-win32-x64-msvc/0.1.8: 245 | resolution: {integrity: sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==} 246 | engines: {node: '>= 10'} 247 | cpu: [x64] 248 | os: [win32] 249 | requiresBuild: true 250 | dev: false 251 | optional: true 252 | 253 | /@napi-rs/simple-git/0.1.8: 254 | resolution: {integrity: sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==} 255 | engines: {node: '>= 10'} 256 | optionalDependencies: 257 | '@napi-rs/simple-git-android-arm-eabi': 0.1.8 258 | '@napi-rs/simple-git-android-arm64': 0.1.8 259 | '@napi-rs/simple-git-darwin-arm64': 0.1.8 260 | '@napi-rs/simple-git-darwin-x64': 0.1.8 261 | '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.8 262 | '@napi-rs/simple-git-linux-arm64-gnu': 0.1.8 263 | '@napi-rs/simple-git-linux-arm64-musl': 0.1.8 264 | '@napi-rs/simple-git-linux-x64-gnu': 0.1.8 265 | '@napi-rs/simple-git-linux-x64-musl': 0.1.8 266 | '@napi-rs/simple-git-win32-arm64-msvc': 0.1.8 267 | '@napi-rs/simple-git-win32-x64-msvc': 0.1.8 268 | dev: false 269 | 270 | /@next/env/13.0.6: 271 | resolution: {integrity: sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ==} 272 | 273 | /@next/eslint-plugin-next/12.1.5: 274 | resolution: {integrity: sha512-Cnb8ERC5bNKBFrnMH6203sp/b0Y78QRx1XsFu+86oBtDBmQmOFoHu7teQjHm69ER73XKK3aGaeoLiXacHoUFsg==} 275 | dependencies: 276 | glob: 7.1.7 277 | dev: true 278 | 279 | /@next/swc-android-arm-eabi/13.0.6: 280 | resolution: {integrity: sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw==} 281 | engines: {node: '>= 10'} 282 | cpu: [arm] 283 | os: [android] 284 | requiresBuild: true 285 | optional: true 286 | 287 | /@next/swc-android-arm64/13.0.6: 288 | resolution: {integrity: sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ==} 289 | engines: {node: '>= 10'} 290 | cpu: [arm64] 291 | os: [android] 292 | requiresBuild: true 293 | optional: true 294 | 295 | /@next/swc-darwin-arm64/13.0.6: 296 | resolution: {integrity: sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg==} 297 | engines: {node: '>= 10'} 298 | cpu: [arm64] 299 | os: [darwin] 300 | requiresBuild: true 301 | optional: true 302 | 303 | /@next/swc-darwin-x64/13.0.6: 304 | resolution: {integrity: sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ==} 305 | engines: {node: '>= 10'} 306 | cpu: [x64] 307 | os: [darwin] 308 | requiresBuild: true 309 | optional: true 310 | 311 | /@next/swc-freebsd-x64/13.0.6: 312 | resolution: {integrity: sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w==} 313 | engines: {node: '>= 10'} 314 | cpu: [x64] 315 | os: [freebsd] 316 | requiresBuild: true 317 | optional: true 318 | 319 | /@next/swc-linux-arm-gnueabihf/13.0.6: 320 | resolution: {integrity: sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ==} 321 | engines: {node: '>= 10'} 322 | cpu: [arm] 323 | os: [linux] 324 | requiresBuild: true 325 | optional: true 326 | 327 | /@next/swc-linux-arm64-gnu/13.0.6: 328 | resolution: {integrity: sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q==} 329 | engines: {node: '>= 10'} 330 | cpu: [arm64] 331 | os: [linux] 332 | requiresBuild: true 333 | optional: true 334 | 335 | /@next/swc-linux-arm64-musl/13.0.6: 336 | resolution: {integrity: sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A==} 337 | engines: {node: '>= 10'} 338 | cpu: [arm64] 339 | os: [linux] 340 | requiresBuild: true 341 | optional: true 342 | 343 | /@next/swc-linux-x64-gnu/13.0.6: 344 | resolution: {integrity: sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw==} 345 | engines: {node: '>= 10'} 346 | cpu: [x64] 347 | os: [linux] 348 | requiresBuild: true 349 | optional: true 350 | 351 | /@next/swc-linux-x64-musl/13.0.6: 352 | resolution: {integrity: sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA==} 353 | engines: {node: '>= 10'} 354 | cpu: [x64] 355 | os: [linux] 356 | requiresBuild: true 357 | optional: true 358 | 359 | /@next/swc-win32-arm64-msvc/13.0.6: 360 | resolution: {integrity: sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw==} 361 | engines: {node: '>= 10'} 362 | cpu: [arm64] 363 | os: [win32] 364 | requiresBuild: true 365 | optional: true 366 | 367 | /@next/swc-win32-ia32-msvc/13.0.6: 368 | resolution: {integrity: sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg==} 369 | engines: {node: '>= 10'} 370 | cpu: [ia32] 371 | os: [win32] 372 | requiresBuild: true 373 | optional: true 374 | 375 | /@next/swc-win32-x64-msvc/13.0.6: 376 | resolution: {integrity: sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ==} 377 | engines: {node: '>= 10'} 378 | cpu: [x64] 379 | os: [win32] 380 | requiresBuild: true 381 | optional: true 382 | 383 | /@nodelib/fs.scandir/2.1.5: 384 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 385 | engines: {node: '>= 8'} 386 | dependencies: 387 | '@nodelib/fs.stat': 2.0.5 388 | run-parallel: 1.2.0 389 | dev: true 390 | 391 | /@nodelib/fs.stat/2.0.5: 392 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 393 | engines: {node: '>= 8'} 394 | dev: true 395 | 396 | /@nodelib/fs.walk/1.2.8: 397 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 398 | engines: {node: '>= 8'} 399 | dependencies: 400 | '@nodelib/fs.scandir': 2.1.5 401 | fastq: 1.13.0 402 | dev: true 403 | 404 | /@popperjs/core/2.11.6: 405 | resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} 406 | dev: false 407 | 408 | /@reach/skip-nav/0.17.0_biqbaboplfbrettd7655fr4n2y: 409 | resolution: {integrity: sha512-wkkpQK3ffczzGHis6TaUvpOabuAL9n9Kh5vr4h56XPIJP3X77VcHUDk7MK3HbV1mTgamGxc9Hbd1sXKSWLu3yA==} 410 | peerDependencies: 411 | react: ^16.8.0 || 17.x 412 | react-dom: ^16.8.0 || 17.x 413 | dependencies: 414 | '@reach/utils': 0.17.0_biqbaboplfbrettd7655fr4n2y 415 | react: 18.2.0 416 | react-dom: 18.2.0_react@18.2.0 417 | tslib: 2.4.1 418 | dev: false 419 | 420 | /@reach/utils/0.17.0_biqbaboplfbrettd7655fr4n2y: 421 | resolution: {integrity: sha512-M5y8fCBbrWeIsxedgcSw6oDlAMQDkl5uv3VnMVJ7guwpf4E48Xlh1v66z/1BgN/WYe2y8mB/ilFD2nysEfdGeA==} 422 | peerDependencies: 423 | react: ^16.8.0 || 17.x 424 | react-dom: ^16.8.0 || 17.x 425 | dependencies: 426 | react: 18.2.0 427 | react-dom: 18.2.0_react@18.2.0 428 | tiny-warning: 1.0.3 429 | tslib: 2.4.1 430 | dev: false 431 | 432 | /@rushstack/eslint-patch/1.0.8: 433 | resolution: {integrity: sha512-ZK5v4bJwgXldAUA8r3q9YKfCwOqoHTK/ZqRjSeRXQrBXWouoPnS4MQtgC4AXGiiBuUu5wxrRgTlv0ktmM4P1Aw==} 434 | dev: true 435 | 436 | /@swc/helpers/0.4.14: 437 | resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} 438 | dependencies: 439 | tslib: 2.4.1 440 | 441 | /@types/acorn/4.0.6: 442 | resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} 443 | dependencies: 444 | '@types/estree': 1.0.0 445 | dev: false 446 | 447 | /@types/debug/4.1.7: 448 | resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} 449 | dependencies: 450 | '@types/ms': 0.7.31 451 | dev: false 452 | 453 | /@types/estree-jsx/1.0.0: 454 | resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} 455 | dependencies: 456 | '@types/estree': 1.0.0 457 | dev: false 458 | 459 | /@types/estree/1.0.0: 460 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} 461 | dev: false 462 | 463 | /@types/hast/2.3.4: 464 | resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} 465 | dependencies: 466 | '@types/unist': 2.0.6 467 | dev: false 468 | 469 | /@types/json5/0.0.29: 470 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 471 | dev: true 472 | 473 | /@types/mdast/3.0.10: 474 | resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} 475 | dependencies: 476 | '@types/unist': 2.0.6 477 | dev: false 478 | 479 | /@types/mdx/2.0.3: 480 | resolution: {integrity: sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==} 481 | dev: false 482 | 483 | /@types/ms/0.7.31: 484 | resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} 485 | dev: false 486 | 487 | /@types/node/17.0.24: 488 | resolution: {integrity: sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==} 489 | dev: true 490 | 491 | /@types/prop-types/15.7.5: 492 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 493 | 494 | /@types/react-dom/18.0.1: 495 | resolution: {integrity: sha512-jCwTXvHtRLiyVvKm9aEdHXs8rflVOGd5Sl913JZrPshfXjn8NYsTNZOz70bCsA31IR0TOqwi3ad+X4tSCBoMTw==} 496 | dependencies: 497 | '@types/react': 18.0.5 498 | dev: true 499 | 500 | /@types/react/18.0.5: 501 | resolution: {integrity: sha512-UPxNGInDCIKlfqBrm8LDXYWNfLHwIdisWcsH5GpMyGjhEDLFgTtlRBaoWuCua9HcyuE0rMkmAeZ3FXV1pYLIYQ==} 502 | dependencies: 503 | '@types/prop-types': 15.7.5 504 | '@types/scheduler': 0.16.2 505 | csstype: 3.1.1 506 | 507 | /@types/scheduler/0.16.2: 508 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} 509 | 510 | /@types/unist/2.0.6: 511 | resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} 512 | dev: false 513 | 514 | /@typescript-eslint/parser/5.10.1_jzhokl4shvj5szf5bgr66kln2a: 515 | resolution: {integrity: sha512-GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA==} 516 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 517 | peerDependencies: 518 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 519 | typescript: '*' 520 | peerDependenciesMeta: 521 | typescript: 522 | optional: true 523 | dependencies: 524 | '@typescript-eslint/scope-manager': 5.10.1 525 | '@typescript-eslint/types': 5.10.1 526 | '@typescript-eslint/typescript-estree': 5.10.1_typescript@4.6.3 527 | debug: 4.3.4 528 | eslint: 8.13.0 529 | typescript: 4.6.3 530 | transitivePeerDependencies: 531 | - supports-color 532 | dev: true 533 | 534 | /@typescript-eslint/scope-manager/5.10.1: 535 | resolution: {integrity: sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg==} 536 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 537 | dependencies: 538 | '@typescript-eslint/types': 5.10.1 539 | '@typescript-eslint/visitor-keys': 5.10.1 540 | dev: true 541 | 542 | /@typescript-eslint/types/5.10.1: 543 | resolution: {integrity: sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q==} 544 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 545 | dev: true 546 | 547 | /@typescript-eslint/typescript-estree/5.10.1_typescript@4.6.3: 548 | resolution: {integrity: sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ==} 549 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 550 | peerDependencies: 551 | typescript: '*' 552 | peerDependenciesMeta: 553 | typescript: 554 | optional: true 555 | dependencies: 556 | '@typescript-eslint/types': 5.10.1 557 | '@typescript-eslint/visitor-keys': 5.10.1 558 | debug: 4.3.4 559 | globby: 11.1.0 560 | is-glob: 4.0.3 561 | semver: 7.3.8 562 | tsutils: 3.21.0_typescript@4.6.3 563 | typescript: 4.6.3 564 | transitivePeerDependencies: 565 | - supports-color 566 | dev: true 567 | 568 | /@typescript-eslint/visitor-keys/5.10.1: 569 | resolution: {integrity: sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ==} 570 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 571 | dependencies: 572 | '@typescript-eslint/types': 5.10.1 573 | eslint-visitor-keys: 3.3.0 574 | dev: true 575 | 576 | /@vercel/analytics/0.1.5_react@18.2.0: 577 | resolution: {integrity: sha512-/k9N8Ea3Yc5A52GlkjzUEbi2vE/izClrOf++ryBkxEfrZM/OZwtHkdNw/QExZ1h/B67RCZLK7bCOnKKrhG7gTg==} 578 | peerDependencies: 579 | react: ^16.8||^17||^18 580 | dependencies: 581 | react: 18.2.0 582 | dev: false 583 | 584 | /acorn-jsx/5.3.2_acorn@8.8.1: 585 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 586 | peerDependencies: 587 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 588 | dependencies: 589 | acorn: 8.8.1 590 | 591 | /acorn-node/1.8.2: 592 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} 593 | dependencies: 594 | acorn: 7.4.1 595 | acorn-walk: 7.2.0 596 | xtend: 4.0.2 597 | dev: true 598 | 599 | /acorn-walk/7.2.0: 600 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 601 | engines: {node: '>=0.4.0'} 602 | dev: true 603 | 604 | /acorn/7.4.1: 605 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 606 | engines: {node: '>=0.4.0'} 607 | hasBin: true 608 | dev: true 609 | 610 | /acorn/8.8.1: 611 | resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} 612 | engines: {node: '>=0.4.0'} 613 | hasBin: true 614 | 615 | /ajv/6.12.6: 616 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 617 | dependencies: 618 | fast-deep-equal: 3.1.3 619 | fast-json-stable-stringify: 2.1.0 620 | json-schema-traverse: 0.4.1 621 | uri-js: 4.4.1 622 | dev: true 623 | 624 | /ansi-regex/5.0.1: 625 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 626 | engines: {node: '>=8'} 627 | dev: true 628 | 629 | /ansi-styles/3.2.1: 630 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 631 | engines: {node: '>=4'} 632 | dependencies: 633 | color-convert: 1.9.3 634 | dev: false 635 | 636 | /ansi-styles/4.3.0: 637 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 638 | engines: {node: '>=8'} 639 | dependencies: 640 | color-convert: 2.0.1 641 | dev: true 642 | 643 | /anymatch/3.1.2: 644 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 645 | engines: {node: '>= 8'} 646 | dependencies: 647 | normalize-path: 3.0.0 648 | picomatch: 2.3.1 649 | dev: true 650 | 651 | /arch/2.2.0: 652 | resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} 653 | dev: false 654 | 655 | /arg/1.0.0: 656 | resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==} 657 | dev: false 658 | 659 | /arg/5.0.2: 660 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 661 | dev: true 662 | 663 | /argparse/1.0.10: 664 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 665 | dependencies: 666 | sprintf-js: 1.0.3 667 | dev: false 668 | 669 | /argparse/2.0.1: 670 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 671 | dev: true 672 | 673 | /aria-query/4.2.2: 674 | resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} 675 | engines: {node: '>=6.0'} 676 | dependencies: 677 | '@babel/runtime': 7.20.1 678 | '@babel/runtime-corejs3': 7.20.1 679 | dev: true 680 | 681 | /array-includes/3.1.6: 682 | resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} 683 | engines: {node: '>= 0.4'} 684 | dependencies: 685 | call-bind: 1.0.2 686 | define-properties: 1.1.4 687 | es-abstract: 1.20.4 688 | get-intrinsic: 1.1.3 689 | is-string: 1.0.7 690 | dev: true 691 | 692 | /array-union/2.1.0: 693 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 694 | engines: {node: '>=8'} 695 | dev: true 696 | 697 | /array.prototype.flat/1.3.1: 698 | resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} 699 | engines: {node: '>= 0.4'} 700 | dependencies: 701 | call-bind: 1.0.2 702 | define-properties: 1.1.4 703 | es-abstract: 1.20.4 704 | es-shim-unscopables: 1.0.0 705 | dev: true 706 | 707 | /array.prototype.flatmap/1.3.1: 708 | resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} 709 | engines: {node: '>= 0.4'} 710 | dependencies: 711 | call-bind: 1.0.2 712 | define-properties: 1.1.4 713 | es-abstract: 1.20.4 714 | es-shim-unscopables: 1.0.0 715 | dev: true 716 | 717 | /ast-types-flow/0.0.7: 718 | resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} 719 | dev: true 720 | 721 | /astring/1.8.3: 722 | resolution: {integrity: sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==} 723 | hasBin: true 724 | dev: false 725 | 726 | /autoprefixer/10.4.13_postcss@8.4.19: 727 | resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} 728 | engines: {node: ^10 || ^12 || >=14} 729 | hasBin: true 730 | peerDependencies: 731 | postcss: ^8.1.0 732 | dependencies: 733 | browserslist: 4.21.4 734 | caniuse-lite: 1.0.30001434 735 | fraction.js: 4.2.0 736 | normalize-range: 0.1.2 737 | picocolors: 1.0.0 738 | postcss: 8.4.19 739 | postcss-value-parser: 4.2.0 740 | dev: true 741 | 742 | /axe-core/4.5.2: 743 | resolution: {integrity: sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==} 744 | engines: {node: '>=4'} 745 | dev: true 746 | 747 | /axobject-query/2.2.0: 748 | resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} 749 | dev: true 750 | 751 | /bail/2.0.2: 752 | resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 753 | dev: false 754 | 755 | /balanced-match/1.0.2: 756 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 757 | dev: true 758 | 759 | /binary-extensions/2.2.0: 760 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 761 | engines: {node: '>=8'} 762 | dev: true 763 | 764 | /brace-expansion/1.1.11: 765 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 766 | dependencies: 767 | balanced-match: 1.0.2 768 | concat-map: 0.0.1 769 | dev: true 770 | 771 | /braces/3.0.2: 772 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 773 | engines: {node: '>=8'} 774 | dependencies: 775 | fill-range: 7.0.1 776 | dev: true 777 | 778 | /browserslist/4.21.4: 779 | resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} 780 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 781 | hasBin: true 782 | dependencies: 783 | caniuse-lite: 1.0.30001436 784 | electron-to-chromium: 1.4.284 785 | node-releases: 2.0.6 786 | update-browserslist-db: 1.0.10_browserslist@4.21.4 787 | dev: true 788 | 789 | /call-bind/1.0.2: 790 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 791 | dependencies: 792 | function-bind: 1.1.1 793 | get-intrinsic: 1.1.3 794 | dev: true 795 | 796 | /callsites/3.1.0: 797 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 798 | engines: {node: '>=6'} 799 | dev: true 800 | 801 | /camelcase-css/2.0.1: 802 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 803 | engines: {node: '>= 6'} 804 | dev: true 805 | 806 | /caniuse-lite/1.0.30001434: 807 | resolution: {integrity: sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==} 808 | dev: true 809 | 810 | /caniuse-lite/1.0.30001436: 811 | resolution: {integrity: sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==} 812 | 813 | /ccount/2.0.1: 814 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 815 | dev: false 816 | 817 | /chalk/2.3.0: 818 | resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} 819 | engines: {node: '>=4'} 820 | dependencies: 821 | ansi-styles: 3.2.1 822 | escape-string-regexp: 1.0.5 823 | supports-color: 4.5.0 824 | dev: false 825 | 826 | /chalk/4.1.2: 827 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 828 | engines: {node: '>=10'} 829 | dependencies: 830 | ansi-styles: 4.3.0 831 | supports-color: 7.2.0 832 | dev: true 833 | 834 | /character-entities-html4/2.1.0: 835 | resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 836 | dev: false 837 | 838 | /character-entities-legacy/3.0.0: 839 | resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 840 | dev: false 841 | 842 | /character-entities/2.0.2: 843 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 844 | dev: false 845 | 846 | /character-reference-invalid/2.0.1: 847 | resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} 848 | dev: false 849 | 850 | /chart.js/4.1.2: 851 | resolution: {integrity: sha512-9L1w6WLPq6ztiWVVOYtDtpo0CUsBKDWPrUEdwChAyzczaikqeSwNKEv3QpJ7EO4ICcLSi6UDVhgvcnUhRJidRA==} 852 | engines: {pnpm: ^7.0.0} 853 | dependencies: 854 | '@kurkle/color': 0.3.2 855 | dev: false 856 | 857 | /chartjs-adapter-date-fns/3.0.0_kluv2ktejb2igagp3yc56zuwiy: 858 | resolution: {integrity: sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==} 859 | peerDependencies: 860 | chart.js: '>=2.8.0' 861 | date-fns: '>=2.0.0' 862 | dependencies: 863 | chart.js: 4.1.2 864 | date-fns: 2.29.3 865 | dev: false 866 | 867 | /chokidar/3.5.3: 868 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 869 | engines: {node: '>= 8.10.0'} 870 | dependencies: 871 | anymatch: 3.1.2 872 | braces: 3.0.2 873 | glob-parent: 5.1.2 874 | is-binary-path: 2.1.0 875 | is-glob: 4.0.3 876 | normalize-path: 3.0.0 877 | readdirp: 3.6.0 878 | optionalDependencies: 879 | fsevents: 2.3.2 880 | dev: true 881 | 882 | /client-only/0.0.1: 883 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 884 | 885 | /clipboardy/1.2.2: 886 | resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==} 887 | engines: {node: '>=4'} 888 | dependencies: 889 | arch: 2.2.0 890 | execa: 0.8.0 891 | dev: false 892 | 893 | /clsx/1.2.1: 894 | resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} 895 | engines: {node: '>=6'} 896 | dev: false 897 | 898 | /color-convert/1.9.3: 899 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 900 | dependencies: 901 | color-name: 1.1.3 902 | dev: false 903 | 904 | /color-convert/2.0.1: 905 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 906 | engines: {node: '>=7.0.0'} 907 | dependencies: 908 | color-name: 1.1.4 909 | dev: true 910 | 911 | /color-name/1.1.3: 912 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 913 | dev: false 914 | 915 | /color-name/1.1.4: 916 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 917 | dev: true 918 | 919 | /comma-separated-tokens/2.0.3: 920 | resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 921 | dev: false 922 | 923 | /compute-scroll-into-view/1.0.20: 924 | resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} 925 | dev: false 926 | 927 | /concat-map/0.0.1: 928 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 929 | dev: true 930 | 931 | /core-js-pure/3.26.1: 932 | resolution: {integrity: sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==} 933 | requiresBuild: true 934 | dev: true 935 | 936 | /cross-spawn/5.1.0: 937 | resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} 938 | dependencies: 939 | lru-cache: 4.1.5 940 | shebang-command: 1.2.0 941 | which: 1.3.1 942 | dev: false 943 | 944 | /cross-spawn/7.0.3: 945 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 946 | engines: {node: '>= 8'} 947 | dependencies: 948 | path-key: 3.1.1 949 | shebang-command: 2.0.0 950 | which: 2.0.2 951 | dev: true 952 | 953 | /cssesc/3.0.0: 954 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 955 | engines: {node: '>=4'} 956 | hasBin: true 957 | dev: true 958 | 959 | /csstype/3.1.1: 960 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} 961 | 962 | /damerau-levenshtein/1.0.8: 963 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 964 | dev: true 965 | 966 | /date-fns/2.29.3: 967 | resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} 968 | engines: {node: '>=0.11'} 969 | dev: false 970 | 971 | /debug/2.6.9: 972 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 973 | peerDependencies: 974 | supports-color: '*' 975 | peerDependenciesMeta: 976 | supports-color: 977 | optional: true 978 | dependencies: 979 | ms: 2.0.0 980 | dev: true 981 | 982 | /debug/3.2.7: 983 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 984 | peerDependencies: 985 | supports-color: '*' 986 | peerDependenciesMeta: 987 | supports-color: 988 | optional: true 989 | dependencies: 990 | ms: 2.1.3 991 | dev: true 992 | 993 | /debug/4.3.4: 994 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 995 | engines: {node: '>=6.0'} 996 | peerDependencies: 997 | supports-color: '*' 998 | peerDependenciesMeta: 999 | supports-color: 1000 | optional: true 1001 | dependencies: 1002 | ms: 2.1.2 1003 | 1004 | /decode-named-character-reference/1.0.2: 1005 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 1006 | dependencies: 1007 | character-entities: 2.0.2 1008 | dev: false 1009 | 1010 | /deep-is/0.1.4: 1011 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1012 | dev: true 1013 | 1014 | /define-properties/1.1.4: 1015 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1016 | engines: {node: '>= 0.4'} 1017 | dependencies: 1018 | has-property-descriptors: 1.0.0 1019 | object-keys: 1.1.1 1020 | dev: true 1021 | 1022 | /defined/1.0.1: 1023 | resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} 1024 | dev: true 1025 | 1026 | /dequal/2.0.3: 1027 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1028 | engines: {node: '>=6'} 1029 | dev: false 1030 | 1031 | /detective/5.2.1: 1032 | resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} 1033 | engines: {node: '>=0.8.0'} 1034 | hasBin: true 1035 | dependencies: 1036 | acorn-node: 1.8.2 1037 | defined: 1.0.1 1038 | minimist: 1.2.7 1039 | dev: true 1040 | 1041 | /didyoumean/1.2.2: 1042 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 1043 | dev: true 1044 | 1045 | /diff/5.1.0: 1046 | resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} 1047 | engines: {node: '>=0.3.1'} 1048 | dev: false 1049 | 1050 | /dir-glob/3.0.1: 1051 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1052 | engines: {node: '>=8'} 1053 | dependencies: 1054 | path-type: 4.0.0 1055 | dev: true 1056 | 1057 | /dlv/1.1.3: 1058 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1059 | dev: true 1060 | 1061 | /doctrine/2.1.0: 1062 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1063 | engines: {node: '>=0.10.0'} 1064 | dependencies: 1065 | esutils: 2.0.3 1066 | dev: true 1067 | 1068 | /doctrine/3.0.0: 1069 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1070 | engines: {node: '>=6.0.0'} 1071 | dependencies: 1072 | esutils: 2.0.3 1073 | dev: true 1074 | 1075 | /electron-to-chromium/1.4.284: 1076 | resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} 1077 | dev: true 1078 | 1079 | /emoji-regex/9.2.2: 1080 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1081 | dev: true 1082 | 1083 | /es-abstract/1.20.4: 1084 | resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} 1085 | engines: {node: '>= 0.4'} 1086 | dependencies: 1087 | call-bind: 1.0.2 1088 | es-to-primitive: 1.2.1 1089 | function-bind: 1.1.1 1090 | function.prototype.name: 1.1.5 1091 | get-intrinsic: 1.1.3 1092 | get-symbol-description: 1.0.0 1093 | has: 1.0.3 1094 | has-property-descriptors: 1.0.0 1095 | has-symbols: 1.0.3 1096 | internal-slot: 1.0.3 1097 | is-callable: 1.2.7 1098 | is-negative-zero: 2.0.2 1099 | is-regex: 1.1.4 1100 | is-shared-array-buffer: 1.0.2 1101 | is-string: 1.0.7 1102 | is-weakref: 1.0.2 1103 | object-inspect: 1.12.2 1104 | object-keys: 1.1.1 1105 | object.assign: 4.1.4 1106 | regexp.prototype.flags: 1.4.3 1107 | safe-regex-test: 1.0.0 1108 | string.prototype.trimend: 1.0.6 1109 | string.prototype.trimstart: 1.0.6 1110 | unbox-primitive: 1.0.2 1111 | dev: true 1112 | 1113 | /es-shim-unscopables/1.0.0: 1114 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1115 | dependencies: 1116 | has: 1.0.3 1117 | dev: true 1118 | 1119 | /es-to-primitive/1.2.1: 1120 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1121 | engines: {node: '>= 0.4'} 1122 | dependencies: 1123 | is-callable: 1.2.7 1124 | is-date-object: 1.0.5 1125 | is-symbol: 1.0.4 1126 | dev: true 1127 | 1128 | /escalade/3.1.1: 1129 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1130 | engines: {node: '>=6'} 1131 | dev: true 1132 | 1133 | /escape-string-regexp/1.0.5: 1134 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1135 | engines: {node: '>=0.8.0'} 1136 | dev: false 1137 | 1138 | /escape-string-regexp/4.0.0: 1139 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1140 | engines: {node: '>=10'} 1141 | dev: true 1142 | 1143 | /escape-string-regexp/5.0.0: 1144 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1145 | engines: {node: '>=12'} 1146 | dev: false 1147 | 1148 | /eslint-config-next/12.1.5_maiyzn3gept4r2nx7swmqdeu4a: 1149 | resolution: {integrity: sha512-P+DCt5ti63KhC0qNLzrAmPcwRGq8pYqgcf/NNr1E+WjCrMkWdCAXkIANTquo+kcO1adR2k1lTo5GCrNUtKy4hQ==} 1150 | peerDependencies: 1151 | eslint: ^7.23.0 || ^8.0.0 1152 | next: '>=10.2.0' 1153 | typescript: '>=3.3.1' 1154 | peerDependenciesMeta: 1155 | typescript: 1156 | optional: true 1157 | dependencies: 1158 | '@next/eslint-plugin-next': 12.1.5 1159 | '@rushstack/eslint-patch': 1.0.8 1160 | '@typescript-eslint/parser': 5.10.1_jzhokl4shvj5szf5bgr66kln2a 1161 | eslint: 8.13.0 1162 | eslint-import-resolver-node: 0.3.4 1163 | eslint-import-resolver-typescript: 2.4.0_wyuo32abvxbalznpwet2hqmmxq 1164 | eslint-plugin-import: 2.25.2_vyqqexwtoj2vixpuv6m7naplae 1165 | eslint-plugin-jsx-a11y: 6.5.1_eslint@8.13.0 1166 | eslint-plugin-react: 7.29.1_eslint@8.13.0 1167 | eslint-plugin-react-hooks: 4.3.0_eslint@8.13.0 1168 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y 1169 | typescript: 4.6.3 1170 | transitivePeerDependencies: 1171 | - eslint-import-resolver-webpack 1172 | - supports-color 1173 | dev: true 1174 | 1175 | /eslint-import-resolver-node/0.3.4: 1176 | resolution: {integrity: sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==} 1177 | dependencies: 1178 | debug: 2.6.9 1179 | resolve: 1.22.1 1180 | transitivePeerDependencies: 1181 | - supports-color 1182 | dev: true 1183 | 1184 | /eslint-import-resolver-node/0.3.6: 1185 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1186 | dependencies: 1187 | debug: 3.2.7 1188 | resolve: 1.22.1 1189 | transitivePeerDependencies: 1190 | - supports-color 1191 | dev: true 1192 | 1193 | /eslint-import-resolver-typescript/2.4.0_wyuo32abvxbalznpwet2hqmmxq: 1194 | resolution: {integrity: sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==} 1195 | engines: {node: '>=4'} 1196 | peerDependencies: 1197 | eslint: '*' 1198 | eslint-plugin-import: '*' 1199 | dependencies: 1200 | debug: 4.3.4 1201 | eslint: 8.13.0 1202 | eslint-plugin-import: 2.25.2_vyqqexwtoj2vixpuv6m7naplae 1203 | glob: 7.2.3 1204 | is-glob: 4.0.3 1205 | resolve: 1.22.1 1206 | tsconfig-paths: 3.14.1 1207 | transitivePeerDependencies: 1208 | - supports-color 1209 | dev: true 1210 | 1211 | /eslint-module-utils/2.7.4_a6zubicmkaqb4f3pffu2olfnca: 1212 | resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} 1213 | engines: {node: '>=4'} 1214 | peerDependencies: 1215 | '@typescript-eslint/parser': '*' 1216 | eslint: '*' 1217 | eslint-import-resolver-node: '*' 1218 | eslint-import-resolver-typescript: '*' 1219 | eslint-import-resolver-webpack: '*' 1220 | peerDependenciesMeta: 1221 | '@typescript-eslint/parser': 1222 | optional: true 1223 | eslint: 1224 | optional: true 1225 | eslint-import-resolver-node: 1226 | optional: true 1227 | eslint-import-resolver-typescript: 1228 | optional: true 1229 | eslint-import-resolver-webpack: 1230 | optional: true 1231 | dependencies: 1232 | '@typescript-eslint/parser': 5.10.1_jzhokl4shvj5szf5bgr66kln2a 1233 | debug: 3.2.7 1234 | eslint: 8.13.0 1235 | eslint-import-resolver-node: 0.3.6 1236 | eslint-import-resolver-typescript: 2.4.0_wyuo32abvxbalznpwet2hqmmxq 1237 | transitivePeerDependencies: 1238 | - supports-color 1239 | dev: true 1240 | 1241 | /eslint-plugin-import/2.25.2_vyqqexwtoj2vixpuv6m7naplae: 1242 | resolution: {integrity: sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==} 1243 | engines: {node: '>=4'} 1244 | peerDependencies: 1245 | '@typescript-eslint/parser': '*' 1246 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1247 | peerDependenciesMeta: 1248 | '@typescript-eslint/parser': 1249 | optional: true 1250 | dependencies: 1251 | '@typescript-eslint/parser': 5.10.1_jzhokl4shvj5szf5bgr66kln2a 1252 | array-includes: 3.1.6 1253 | array.prototype.flat: 1.3.1 1254 | debug: 2.6.9 1255 | doctrine: 2.1.0 1256 | eslint: 8.13.0 1257 | eslint-import-resolver-node: 0.3.6 1258 | eslint-module-utils: 2.7.4_a6zubicmkaqb4f3pffu2olfnca 1259 | has: 1.0.3 1260 | is-core-module: 2.11.0 1261 | is-glob: 4.0.3 1262 | minimatch: 3.1.2 1263 | object.values: 1.1.6 1264 | resolve: 1.22.1 1265 | tsconfig-paths: 3.14.1 1266 | transitivePeerDependencies: 1267 | - eslint-import-resolver-typescript 1268 | - eslint-import-resolver-webpack 1269 | - supports-color 1270 | dev: true 1271 | 1272 | /eslint-plugin-jsx-a11y/6.5.1_eslint@8.13.0: 1273 | resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} 1274 | engines: {node: '>=4.0'} 1275 | peerDependencies: 1276 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1277 | dependencies: 1278 | '@babel/runtime': 7.20.1 1279 | aria-query: 4.2.2 1280 | array-includes: 3.1.6 1281 | ast-types-flow: 0.0.7 1282 | axe-core: 4.5.2 1283 | axobject-query: 2.2.0 1284 | damerau-levenshtein: 1.0.8 1285 | emoji-regex: 9.2.2 1286 | eslint: 8.13.0 1287 | has: 1.0.3 1288 | jsx-ast-utils: 3.3.3 1289 | language-tags: 1.0.5 1290 | minimatch: 3.1.2 1291 | dev: true 1292 | 1293 | /eslint-plugin-react-hooks/4.3.0_eslint@8.13.0: 1294 | resolution: {integrity: sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==} 1295 | engines: {node: '>=10'} 1296 | peerDependencies: 1297 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1298 | dependencies: 1299 | eslint: 8.13.0 1300 | dev: true 1301 | 1302 | /eslint-plugin-react/7.29.1_eslint@8.13.0: 1303 | resolution: {integrity: sha512-WtzRpHMhsOX05ZrkyaaqmLl2uXGqmYooCfBxftJKlkYdsltiufGgfU7uuoHwR2lBam2Kh/EIVID4aU9e3kbCMA==} 1304 | engines: {node: '>=4'} 1305 | peerDependencies: 1306 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1307 | dependencies: 1308 | array-includes: 3.1.6 1309 | array.prototype.flatmap: 1.3.1 1310 | doctrine: 2.1.0 1311 | eslint: 8.13.0 1312 | estraverse: 5.3.0 1313 | jsx-ast-utils: 3.3.3 1314 | minimatch: 3.1.2 1315 | object.entries: 1.1.6 1316 | object.fromentries: 2.0.6 1317 | object.hasown: 1.1.2 1318 | object.values: 1.1.6 1319 | prop-types: 15.8.1 1320 | resolve: 2.0.0-next.4 1321 | semver: 6.3.0 1322 | string.prototype.matchall: 4.0.8 1323 | dev: true 1324 | 1325 | /eslint-scope/7.1.1: 1326 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1327 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1328 | dependencies: 1329 | esrecurse: 4.3.0 1330 | estraverse: 5.3.0 1331 | dev: true 1332 | 1333 | /eslint-utils/3.0.0_eslint@8.13.0: 1334 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1335 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1336 | peerDependencies: 1337 | eslint: '>=5' 1338 | dependencies: 1339 | eslint: 8.13.0 1340 | eslint-visitor-keys: 2.1.0 1341 | dev: true 1342 | 1343 | /eslint-visitor-keys/2.1.0: 1344 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1345 | engines: {node: '>=10'} 1346 | dev: true 1347 | 1348 | /eslint-visitor-keys/3.3.0: 1349 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1350 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1351 | dev: true 1352 | 1353 | /eslint/8.13.0: 1354 | resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==} 1355 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1356 | hasBin: true 1357 | dependencies: 1358 | '@eslint/eslintrc': 1.3.3 1359 | '@humanwhocodes/config-array': 0.9.5 1360 | ajv: 6.12.6 1361 | chalk: 4.1.2 1362 | cross-spawn: 7.0.3 1363 | debug: 4.3.4 1364 | doctrine: 3.0.0 1365 | escape-string-regexp: 4.0.0 1366 | eslint-scope: 7.1.1 1367 | eslint-utils: 3.0.0_eslint@8.13.0 1368 | eslint-visitor-keys: 3.3.0 1369 | espree: 9.4.1 1370 | esquery: 1.4.0 1371 | esutils: 2.0.3 1372 | fast-deep-equal: 3.1.3 1373 | file-entry-cache: 6.0.1 1374 | functional-red-black-tree: 1.0.1 1375 | glob-parent: 6.0.2 1376 | globals: 13.18.0 1377 | ignore: 5.2.0 1378 | import-fresh: 3.3.0 1379 | imurmurhash: 0.1.4 1380 | is-glob: 4.0.3 1381 | js-yaml: 4.1.0 1382 | json-stable-stringify-without-jsonify: 1.0.1 1383 | levn: 0.4.1 1384 | lodash.merge: 4.6.2 1385 | minimatch: 3.1.2 1386 | natural-compare: 1.4.0 1387 | optionator: 0.9.1 1388 | regexpp: 3.2.0 1389 | strip-ansi: 6.0.1 1390 | strip-json-comments: 3.1.1 1391 | text-table: 0.2.0 1392 | v8-compile-cache: 2.3.0 1393 | transitivePeerDependencies: 1394 | - supports-color 1395 | dev: true 1396 | 1397 | /espree/9.4.1: 1398 | resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} 1399 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1400 | dependencies: 1401 | acorn: 8.8.1 1402 | acorn-jsx: 5.3.2_acorn@8.8.1 1403 | eslint-visitor-keys: 3.3.0 1404 | dev: true 1405 | 1406 | /esprima/4.0.1: 1407 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1408 | engines: {node: '>=4'} 1409 | hasBin: true 1410 | dev: false 1411 | 1412 | /esquery/1.4.0: 1413 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1414 | engines: {node: '>=0.10'} 1415 | dependencies: 1416 | estraverse: 5.3.0 1417 | dev: true 1418 | 1419 | /esrecurse/4.3.0: 1420 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1421 | engines: {node: '>=4.0'} 1422 | dependencies: 1423 | estraverse: 5.3.0 1424 | dev: true 1425 | 1426 | /estraverse/5.3.0: 1427 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1428 | engines: {node: '>=4.0'} 1429 | dev: true 1430 | 1431 | /estree-util-attach-comments/2.1.0: 1432 | resolution: {integrity: sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==} 1433 | dependencies: 1434 | '@types/estree': 1.0.0 1435 | dev: false 1436 | 1437 | /estree-util-build-jsx/2.2.0: 1438 | resolution: {integrity: sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==} 1439 | dependencies: 1440 | '@types/estree-jsx': 1.0.0 1441 | estree-util-is-identifier-name: 2.0.1 1442 | estree-walker: 3.0.1 1443 | dev: false 1444 | 1445 | /estree-util-is-identifier-name/1.1.0: 1446 | resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==} 1447 | dev: false 1448 | 1449 | /estree-util-is-identifier-name/2.0.1: 1450 | resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==} 1451 | dev: false 1452 | 1453 | /estree-util-to-js/1.1.0: 1454 | resolution: {integrity: sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==} 1455 | dependencies: 1456 | '@types/estree-jsx': 1.0.0 1457 | astring: 1.8.3 1458 | source-map: 0.7.4 1459 | dev: false 1460 | 1461 | /estree-util-value-to-estree/1.3.0: 1462 | resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} 1463 | engines: {node: '>=12.0.0'} 1464 | dependencies: 1465 | is-plain-obj: 3.0.0 1466 | dev: false 1467 | 1468 | /estree-util-visit/1.2.0: 1469 | resolution: {integrity: sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==} 1470 | dependencies: 1471 | '@types/estree-jsx': 1.0.0 1472 | '@types/unist': 2.0.6 1473 | dev: false 1474 | 1475 | /estree-walker/3.0.1: 1476 | resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==} 1477 | dev: false 1478 | 1479 | /esutils/2.0.3: 1480 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1481 | engines: {node: '>=0.10.0'} 1482 | dev: true 1483 | 1484 | /execa/0.8.0: 1485 | resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} 1486 | engines: {node: '>=4'} 1487 | dependencies: 1488 | cross-spawn: 5.1.0 1489 | get-stream: 3.0.0 1490 | is-stream: 1.1.0 1491 | npm-run-path: 2.0.2 1492 | p-finally: 1.0.0 1493 | signal-exit: 3.0.7 1494 | strip-eof: 1.0.0 1495 | dev: false 1496 | 1497 | /extend-shallow/2.0.1: 1498 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 1499 | engines: {node: '>=0.10.0'} 1500 | dependencies: 1501 | is-extendable: 0.1.1 1502 | dev: false 1503 | 1504 | /extend/3.0.2: 1505 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 1506 | dev: false 1507 | 1508 | /fast-deep-equal/3.1.3: 1509 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1510 | dev: true 1511 | 1512 | /fast-glob/3.2.12: 1513 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1514 | engines: {node: '>=8.6.0'} 1515 | dependencies: 1516 | '@nodelib/fs.stat': 2.0.5 1517 | '@nodelib/fs.walk': 1.2.8 1518 | glob-parent: 5.1.2 1519 | merge2: 1.4.1 1520 | micromatch: 4.0.5 1521 | dev: true 1522 | 1523 | /fast-json-stable-stringify/2.1.0: 1524 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1525 | dev: true 1526 | 1527 | /fast-levenshtein/2.0.6: 1528 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1529 | dev: true 1530 | 1531 | /fastq/1.13.0: 1532 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1533 | dependencies: 1534 | reusify: 1.0.4 1535 | dev: true 1536 | 1537 | /file-entry-cache/6.0.1: 1538 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1539 | engines: {node: ^10.12.0 || >=12.0.0} 1540 | dependencies: 1541 | flat-cache: 3.0.4 1542 | dev: true 1543 | 1544 | /fill-range/7.0.1: 1545 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1546 | engines: {node: '>=8'} 1547 | dependencies: 1548 | to-regex-range: 5.0.1 1549 | dev: true 1550 | 1551 | /flat-cache/3.0.4: 1552 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1553 | engines: {node: ^10.12.0 || >=12.0.0} 1554 | dependencies: 1555 | flatted: 3.2.7 1556 | rimraf: 3.0.2 1557 | dev: true 1558 | 1559 | /flatted/3.2.7: 1560 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1561 | dev: true 1562 | 1563 | /flexsearch/0.7.31: 1564 | resolution: {integrity: sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==} 1565 | dev: false 1566 | 1567 | /focus-visible/5.2.0: 1568 | resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} 1569 | dev: false 1570 | 1571 | /fraction.js/4.2.0: 1572 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} 1573 | dev: true 1574 | 1575 | /fs.realpath/1.0.0: 1576 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1577 | dev: true 1578 | 1579 | /fsevents/2.3.2: 1580 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1581 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1582 | os: [darwin] 1583 | requiresBuild: true 1584 | dev: true 1585 | optional: true 1586 | 1587 | /function-bind/1.1.1: 1588 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1589 | dev: true 1590 | 1591 | /function.prototype.name/1.1.5: 1592 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1593 | engines: {node: '>= 0.4'} 1594 | dependencies: 1595 | call-bind: 1.0.2 1596 | define-properties: 1.1.4 1597 | es-abstract: 1.20.4 1598 | functions-have-names: 1.2.3 1599 | dev: true 1600 | 1601 | /functional-red-black-tree/1.0.1: 1602 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1603 | dev: true 1604 | 1605 | /functions-have-names/1.2.3: 1606 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1607 | dev: true 1608 | 1609 | /get-intrinsic/1.1.3: 1610 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} 1611 | dependencies: 1612 | function-bind: 1.1.1 1613 | has: 1.0.3 1614 | has-symbols: 1.0.3 1615 | dev: true 1616 | 1617 | /get-stream/3.0.0: 1618 | resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} 1619 | engines: {node: '>=4'} 1620 | dev: false 1621 | 1622 | /get-symbol-description/1.0.0: 1623 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1624 | engines: {node: '>= 0.4'} 1625 | dependencies: 1626 | call-bind: 1.0.2 1627 | get-intrinsic: 1.1.3 1628 | dev: true 1629 | 1630 | /git-up/7.0.0: 1631 | resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} 1632 | dependencies: 1633 | is-ssh: 1.4.0 1634 | parse-url: 8.1.0 1635 | dev: false 1636 | 1637 | /git-url-parse/13.1.0: 1638 | resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==} 1639 | dependencies: 1640 | git-up: 7.0.0 1641 | dev: false 1642 | 1643 | /github-slugger/1.5.0: 1644 | resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} 1645 | dev: false 1646 | 1647 | /glob-parent/5.1.2: 1648 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1649 | engines: {node: '>= 6'} 1650 | dependencies: 1651 | is-glob: 4.0.3 1652 | dev: true 1653 | 1654 | /glob-parent/6.0.2: 1655 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1656 | engines: {node: '>=10.13.0'} 1657 | dependencies: 1658 | is-glob: 4.0.3 1659 | dev: true 1660 | 1661 | /glob/7.1.7: 1662 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 1663 | dependencies: 1664 | fs.realpath: 1.0.0 1665 | inflight: 1.0.6 1666 | inherits: 2.0.4 1667 | minimatch: 3.1.2 1668 | once: 1.4.0 1669 | path-is-absolute: 1.0.1 1670 | dev: true 1671 | 1672 | /glob/7.2.3: 1673 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1674 | dependencies: 1675 | fs.realpath: 1.0.0 1676 | inflight: 1.0.6 1677 | inherits: 2.0.4 1678 | minimatch: 3.1.2 1679 | once: 1.4.0 1680 | path-is-absolute: 1.0.1 1681 | dev: true 1682 | 1683 | /globals/13.18.0: 1684 | resolution: {integrity: sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==} 1685 | engines: {node: '>=8'} 1686 | dependencies: 1687 | type-fest: 0.20.2 1688 | dev: true 1689 | 1690 | /globby/11.1.0: 1691 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1692 | engines: {node: '>=10'} 1693 | dependencies: 1694 | array-union: 2.1.0 1695 | dir-glob: 3.0.1 1696 | fast-glob: 3.2.12 1697 | ignore: 5.2.0 1698 | merge2: 1.4.1 1699 | slash: 3.0.0 1700 | dev: true 1701 | 1702 | /graceful-fs/4.2.10: 1703 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1704 | dev: false 1705 | 1706 | /gray-matter/4.0.3: 1707 | resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} 1708 | engines: {node: '>=6.0'} 1709 | dependencies: 1710 | js-yaml: 3.14.1 1711 | kind-of: 6.0.3 1712 | section-matter: 1.0.0 1713 | strip-bom-string: 1.0.0 1714 | dev: false 1715 | 1716 | /has-bigints/1.0.2: 1717 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1718 | dev: true 1719 | 1720 | /has-flag/2.0.0: 1721 | resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} 1722 | engines: {node: '>=0.10.0'} 1723 | dev: false 1724 | 1725 | /has-flag/4.0.0: 1726 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1727 | engines: {node: '>=8'} 1728 | dev: true 1729 | 1730 | /has-property-descriptors/1.0.0: 1731 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1732 | dependencies: 1733 | get-intrinsic: 1.1.3 1734 | dev: true 1735 | 1736 | /has-symbols/1.0.3: 1737 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1738 | engines: {node: '>= 0.4'} 1739 | dev: true 1740 | 1741 | /has-tostringtag/1.0.0: 1742 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1743 | engines: {node: '>= 0.4'} 1744 | dependencies: 1745 | has-symbols: 1.0.3 1746 | dev: true 1747 | 1748 | /has/1.0.3: 1749 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1750 | engines: {node: '>= 0.4.0'} 1751 | dependencies: 1752 | function-bind: 1.1.1 1753 | dev: true 1754 | 1755 | /hast-util-to-estree/2.1.0: 1756 | resolution: {integrity: sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==} 1757 | dependencies: 1758 | '@types/estree': 1.0.0 1759 | '@types/estree-jsx': 1.0.0 1760 | '@types/hast': 2.3.4 1761 | '@types/unist': 2.0.6 1762 | comma-separated-tokens: 2.0.3 1763 | estree-util-attach-comments: 2.1.0 1764 | estree-util-is-identifier-name: 2.0.1 1765 | hast-util-whitespace: 2.0.0 1766 | mdast-util-mdx-expression: 1.3.1 1767 | mdast-util-mdxjs-esm: 1.3.0 1768 | property-information: 6.2.0 1769 | space-separated-tokens: 2.0.2 1770 | style-to-object: 0.3.0 1771 | unist-util-position: 4.0.3 1772 | zwitch: 2.0.4 1773 | transitivePeerDependencies: 1774 | - supports-color 1775 | dev: false 1776 | 1777 | /hast-util-to-string/1.0.4: 1778 | resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==} 1779 | dev: false 1780 | 1781 | /hast-util-whitespace/2.0.0: 1782 | resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} 1783 | dev: false 1784 | 1785 | /ignore/5.2.0: 1786 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1787 | engines: {node: '>= 4'} 1788 | dev: true 1789 | 1790 | /import-fresh/3.3.0: 1791 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1792 | engines: {node: '>=6'} 1793 | dependencies: 1794 | parent-module: 1.0.1 1795 | resolve-from: 4.0.0 1796 | dev: true 1797 | 1798 | /imurmurhash/0.1.4: 1799 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1800 | engines: {node: '>=0.8.19'} 1801 | dev: true 1802 | 1803 | /inflight/1.0.6: 1804 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1805 | dependencies: 1806 | once: 1.4.0 1807 | wrappy: 1.0.2 1808 | dev: true 1809 | 1810 | /inherits/2.0.4: 1811 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1812 | dev: true 1813 | 1814 | /inline-style-parser/0.1.1: 1815 | resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} 1816 | dev: false 1817 | 1818 | /internal-slot/1.0.3: 1819 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1820 | engines: {node: '>= 0.4'} 1821 | dependencies: 1822 | get-intrinsic: 1.1.3 1823 | has: 1.0.3 1824 | side-channel: 1.0.4 1825 | dev: true 1826 | 1827 | /intersection-observer/0.12.2: 1828 | resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} 1829 | dev: false 1830 | 1831 | /is-alphabetical/2.0.1: 1832 | resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} 1833 | dev: false 1834 | 1835 | /is-alphanumerical/2.0.1: 1836 | resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} 1837 | dependencies: 1838 | is-alphabetical: 2.0.1 1839 | is-decimal: 2.0.1 1840 | dev: false 1841 | 1842 | /is-bigint/1.0.4: 1843 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1844 | dependencies: 1845 | has-bigints: 1.0.2 1846 | dev: true 1847 | 1848 | /is-binary-path/2.1.0: 1849 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1850 | engines: {node: '>=8'} 1851 | dependencies: 1852 | binary-extensions: 2.2.0 1853 | dev: true 1854 | 1855 | /is-boolean-object/1.1.2: 1856 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1857 | engines: {node: '>= 0.4'} 1858 | dependencies: 1859 | call-bind: 1.0.2 1860 | has-tostringtag: 1.0.0 1861 | dev: true 1862 | 1863 | /is-buffer/2.0.5: 1864 | resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} 1865 | engines: {node: '>=4'} 1866 | dev: false 1867 | 1868 | /is-callable/1.2.7: 1869 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1870 | engines: {node: '>= 0.4'} 1871 | dev: true 1872 | 1873 | /is-core-module/2.11.0: 1874 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1875 | dependencies: 1876 | has: 1.0.3 1877 | dev: true 1878 | 1879 | /is-date-object/1.0.5: 1880 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1881 | engines: {node: '>= 0.4'} 1882 | dependencies: 1883 | has-tostringtag: 1.0.0 1884 | dev: true 1885 | 1886 | /is-decimal/2.0.1: 1887 | resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} 1888 | dev: false 1889 | 1890 | /is-extendable/0.1.1: 1891 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 1892 | engines: {node: '>=0.10.0'} 1893 | dev: false 1894 | 1895 | /is-extglob/2.1.1: 1896 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1897 | engines: {node: '>=0.10.0'} 1898 | dev: true 1899 | 1900 | /is-glob/4.0.3: 1901 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1902 | engines: {node: '>=0.10.0'} 1903 | dependencies: 1904 | is-extglob: 2.1.1 1905 | dev: true 1906 | 1907 | /is-hexadecimal/2.0.1: 1908 | resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} 1909 | dev: false 1910 | 1911 | /is-negative-zero/2.0.2: 1912 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1913 | engines: {node: '>= 0.4'} 1914 | dev: true 1915 | 1916 | /is-number-object/1.0.7: 1917 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1918 | engines: {node: '>= 0.4'} 1919 | dependencies: 1920 | has-tostringtag: 1.0.0 1921 | dev: true 1922 | 1923 | /is-number/7.0.0: 1924 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1925 | engines: {node: '>=0.12.0'} 1926 | dev: true 1927 | 1928 | /is-plain-obj/3.0.0: 1929 | resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} 1930 | engines: {node: '>=10'} 1931 | dev: false 1932 | 1933 | /is-plain-obj/4.1.0: 1934 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1935 | engines: {node: '>=12'} 1936 | dev: false 1937 | 1938 | /is-reference/3.0.0: 1939 | resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==} 1940 | dependencies: 1941 | '@types/estree': 1.0.0 1942 | dev: false 1943 | 1944 | /is-regex/1.1.4: 1945 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1946 | engines: {node: '>= 0.4'} 1947 | dependencies: 1948 | call-bind: 1.0.2 1949 | has-tostringtag: 1.0.0 1950 | dev: true 1951 | 1952 | /is-shared-array-buffer/1.0.2: 1953 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1954 | dependencies: 1955 | call-bind: 1.0.2 1956 | dev: true 1957 | 1958 | /is-ssh/1.4.0: 1959 | resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} 1960 | dependencies: 1961 | protocols: 2.0.1 1962 | dev: false 1963 | 1964 | /is-stream/1.1.0: 1965 | resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} 1966 | engines: {node: '>=0.10.0'} 1967 | dev: false 1968 | 1969 | /is-string/1.0.7: 1970 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1971 | engines: {node: '>= 0.4'} 1972 | dependencies: 1973 | has-tostringtag: 1.0.0 1974 | dev: true 1975 | 1976 | /is-symbol/1.0.4: 1977 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1978 | engines: {node: '>= 0.4'} 1979 | dependencies: 1980 | has-symbols: 1.0.3 1981 | dev: true 1982 | 1983 | /is-weakref/1.0.2: 1984 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1985 | dependencies: 1986 | call-bind: 1.0.2 1987 | dev: true 1988 | 1989 | /isexe/2.0.0: 1990 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1991 | 1992 | /js-tokens/4.0.0: 1993 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1994 | 1995 | /js-yaml/3.14.1: 1996 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1997 | hasBin: true 1998 | dependencies: 1999 | argparse: 1.0.10 2000 | esprima: 4.0.1 2001 | dev: false 2002 | 2003 | /js-yaml/4.1.0: 2004 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2005 | hasBin: true 2006 | dependencies: 2007 | argparse: 2.0.1 2008 | dev: true 2009 | 2010 | /json-schema-traverse/0.4.1: 2011 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2012 | dev: true 2013 | 2014 | /json-stable-stringify-without-jsonify/1.0.1: 2015 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2016 | dev: true 2017 | 2018 | /json5/1.0.1: 2019 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2020 | hasBin: true 2021 | dependencies: 2022 | minimist: 1.2.7 2023 | dev: true 2024 | 2025 | /jsonc-parser/3.2.0: 2026 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 2027 | dev: false 2028 | 2029 | /jsx-ast-utils/3.3.3: 2030 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} 2031 | engines: {node: '>=4.0'} 2032 | dependencies: 2033 | array-includes: 3.1.6 2034 | object.assign: 4.1.4 2035 | dev: true 2036 | 2037 | /kind-of/6.0.3: 2038 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 2039 | engines: {node: '>=0.10.0'} 2040 | dev: false 2041 | 2042 | /kleur/4.1.5: 2043 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 2044 | engines: {node: '>=6'} 2045 | dev: false 2046 | 2047 | /language-subtag-registry/0.3.22: 2048 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 2049 | dev: true 2050 | 2051 | /language-tags/1.0.5: 2052 | resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} 2053 | dependencies: 2054 | language-subtag-registry: 0.3.22 2055 | dev: true 2056 | 2057 | /levn/0.4.1: 2058 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2059 | engines: {node: '>= 0.8.0'} 2060 | dependencies: 2061 | prelude-ls: 1.2.1 2062 | type-check: 0.4.0 2063 | dev: true 2064 | 2065 | /lilconfig/2.0.6: 2066 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} 2067 | engines: {node: '>=10'} 2068 | dev: true 2069 | 2070 | /lodash.merge/4.6.2: 2071 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2072 | dev: true 2073 | 2074 | /longest-streak/3.1.0: 2075 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 2076 | dev: false 2077 | 2078 | /loose-envify/1.4.0: 2079 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2080 | hasBin: true 2081 | dependencies: 2082 | js-tokens: 4.0.0 2083 | 2084 | /lru-cache/4.1.5: 2085 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} 2086 | dependencies: 2087 | pseudomap: 1.0.2 2088 | yallist: 2.1.2 2089 | dev: false 2090 | 2091 | /lru-cache/6.0.0: 2092 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2093 | engines: {node: '>=10'} 2094 | dependencies: 2095 | yallist: 4.0.0 2096 | dev: true 2097 | 2098 | /markdown-extensions/1.1.1: 2099 | resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} 2100 | engines: {node: '>=0.10.0'} 2101 | dev: false 2102 | 2103 | /markdown-table/3.0.3: 2104 | resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} 2105 | dev: false 2106 | 2107 | /match-sorter/6.3.1: 2108 | resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} 2109 | dependencies: 2110 | '@babel/runtime': 7.20.6 2111 | remove-accents: 0.4.2 2112 | dev: false 2113 | 2114 | /mdast-util-definitions/5.1.1: 2115 | resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==} 2116 | dependencies: 2117 | '@types/mdast': 3.0.10 2118 | '@types/unist': 2.0.6 2119 | unist-util-visit: 4.1.1 2120 | dev: false 2121 | 2122 | /mdast-util-find-and-replace/2.2.1: 2123 | resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==} 2124 | dependencies: 2125 | escape-string-regexp: 5.0.0 2126 | unist-util-is: 5.1.1 2127 | unist-util-visit-parents: 5.1.1 2128 | dev: false 2129 | 2130 | /mdast-util-from-markdown/1.2.0: 2131 | resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==} 2132 | dependencies: 2133 | '@types/mdast': 3.0.10 2134 | '@types/unist': 2.0.6 2135 | decode-named-character-reference: 1.0.2 2136 | mdast-util-to-string: 3.1.0 2137 | micromark: 3.1.0 2138 | micromark-util-decode-numeric-character-reference: 1.0.0 2139 | micromark-util-decode-string: 1.0.2 2140 | micromark-util-normalize-identifier: 1.0.0 2141 | micromark-util-symbol: 1.0.1 2142 | micromark-util-types: 1.0.2 2143 | unist-util-stringify-position: 3.0.2 2144 | uvu: 0.5.6 2145 | transitivePeerDependencies: 2146 | - supports-color 2147 | dev: false 2148 | 2149 | /mdast-util-gfm-autolink-literal/1.0.2: 2150 | resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} 2151 | dependencies: 2152 | '@types/mdast': 3.0.10 2153 | ccount: 2.0.1 2154 | mdast-util-find-and-replace: 2.2.1 2155 | micromark-util-character: 1.1.0 2156 | dev: false 2157 | 2158 | /mdast-util-gfm-footnote/1.0.1: 2159 | resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} 2160 | dependencies: 2161 | '@types/mdast': 3.0.10 2162 | mdast-util-to-markdown: 1.3.0 2163 | micromark-util-normalize-identifier: 1.0.0 2164 | dev: false 2165 | 2166 | /mdast-util-gfm-strikethrough/1.0.2: 2167 | resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} 2168 | dependencies: 2169 | '@types/mdast': 3.0.10 2170 | mdast-util-to-markdown: 1.3.0 2171 | dev: false 2172 | 2173 | /mdast-util-gfm-table/1.0.6: 2174 | resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==} 2175 | dependencies: 2176 | '@types/mdast': 3.0.10 2177 | markdown-table: 3.0.3 2178 | mdast-util-from-markdown: 1.2.0 2179 | mdast-util-to-markdown: 1.3.0 2180 | transitivePeerDependencies: 2181 | - supports-color 2182 | dev: false 2183 | 2184 | /mdast-util-gfm-task-list-item/1.0.1: 2185 | resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} 2186 | dependencies: 2187 | '@types/mdast': 3.0.10 2188 | mdast-util-to-markdown: 1.3.0 2189 | dev: false 2190 | 2191 | /mdast-util-gfm/2.0.1: 2192 | resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==} 2193 | dependencies: 2194 | mdast-util-from-markdown: 1.2.0 2195 | mdast-util-gfm-autolink-literal: 1.0.2 2196 | mdast-util-gfm-footnote: 1.0.1 2197 | mdast-util-gfm-strikethrough: 1.0.2 2198 | mdast-util-gfm-table: 1.0.6 2199 | mdast-util-gfm-task-list-item: 1.0.1 2200 | mdast-util-to-markdown: 1.3.0 2201 | transitivePeerDependencies: 2202 | - supports-color 2203 | dev: false 2204 | 2205 | /mdast-util-mdx-expression/1.3.1: 2206 | resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==} 2207 | dependencies: 2208 | '@types/estree-jsx': 1.0.0 2209 | '@types/hast': 2.3.4 2210 | '@types/mdast': 3.0.10 2211 | mdast-util-from-markdown: 1.2.0 2212 | mdast-util-to-markdown: 1.3.0 2213 | transitivePeerDependencies: 2214 | - supports-color 2215 | dev: false 2216 | 2217 | /mdast-util-mdx-jsx/2.1.0: 2218 | resolution: {integrity: sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==} 2219 | dependencies: 2220 | '@types/estree-jsx': 1.0.0 2221 | '@types/hast': 2.3.4 2222 | '@types/mdast': 3.0.10 2223 | ccount: 2.0.1 2224 | mdast-util-to-markdown: 1.3.0 2225 | parse-entities: 4.0.0 2226 | stringify-entities: 4.0.3 2227 | unist-util-remove-position: 4.0.1 2228 | unist-util-stringify-position: 3.0.2 2229 | vfile-message: 3.1.3 2230 | dev: false 2231 | 2232 | /mdast-util-mdx/2.0.0: 2233 | resolution: {integrity: sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==} 2234 | dependencies: 2235 | mdast-util-mdx-expression: 1.3.1 2236 | mdast-util-mdx-jsx: 2.1.0 2237 | mdast-util-mdxjs-esm: 1.3.0 2238 | transitivePeerDependencies: 2239 | - supports-color 2240 | dev: false 2241 | 2242 | /mdast-util-mdxjs-esm/1.3.0: 2243 | resolution: {integrity: sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==} 2244 | dependencies: 2245 | '@types/estree-jsx': 1.0.0 2246 | '@types/hast': 2.3.4 2247 | '@types/mdast': 3.0.10 2248 | mdast-util-from-markdown: 1.2.0 2249 | mdast-util-to-markdown: 1.3.0 2250 | transitivePeerDependencies: 2251 | - supports-color 2252 | dev: false 2253 | 2254 | /mdast-util-to-hast/12.2.4: 2255 | resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==} 2256 | dependencies: 2257 | '@types/hast': 2.3.4 2258 | '@types/mdast': 3.0.10 2259 | mdast-util-definitions: 5.1.1 2260 | micromark-util-sanitize-uri: 1.1.0 2261 | trim-lines: 3.0.1 2262 | unist-builder: 3.0.0 2263 | unist-util-generated: 2.0.0 2264 | unist-util-position: 4.0.3 2265 | unist-util-visit: 4.1.1 2266 | dev: false 2267 | 2268 | /mdast-util-to-markdown/1.3.0: 2269 | resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==} 2270 | dependencies: 2271 | '@types/mdast': 3.0.10 2272 | '@types/unist': 2.0.6 2273 | longest-streak: 3.1.0 2274 | mdast-util-to-string: 3.1.0 2275 | micromark-util-decode-string: 1.0.2 2276 | unist-util-visit: 4.1.1 2277 | zwitch: 2.0.4 2278 | dev: false 2279 | 2280 | /mdast-util-to-string/3.1.0: 2281 | resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} 2282 | dev: false 2283 | 2284 | /merge2/1.4.1: 2285 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2286 | engines: {node: '>= 8'} 2287 | dev: true 2288 | 2289 | /micromark-core-commonmark/1.0.6: 2290 | resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} 2291 | dependencies: 2292 | decode-named-character-reference: 1.0.2 2293 | micromark-factory-destination: 1.0.0 2294 | micromark-factory-label: 1.0.2 2295 | micromark-factory-space: 1.0.0 2296 | micromark-factory-title: 1.0.2 2297 | micromark-factory-whitespace: 1.0.0 2298 | micromark-util-character: 1.1.0 2299 | micromark-util-chunked: 1.0.0 2300 | micromark-util-classify-character: 1.0.0 2301 | micromark-util-html-tag-name: 1.1.0 2302 | micromark-util-normalize-identifier: 1.0.0 2303 | micromark-util-resolve-all: 1.0.0 2304 | micromark-util-subtokenize: 1.0.2 2305 | micromark-util-symbol: 1.0.1 2306 | micromark-util-types: 1.0.2 2307 | uvu: 0.5.6 2308 | dev: false 2309 | 2310 | /micromark-extension-gfm-autolink-literal/1.0.3: 2311 | resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} 2312 | dependencies: 2313 | micromark-util-character: 1.1.0 2314 | micromark-util-sanitize-uri: 1.1.0 2315 | micromark-util-symbol: 1.0.1 2316 | micromark-util-types: 1.0.2 2317 | uvu: 0.5.6 2318 | dev: false 2319 | 2320 | /micromark-extension-gfm-footnote/1.0.4: 2321 | resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} 2322 | dependencies: 2323 | micromark-core-commonmark: 1.0.6 2324 | micromark-factory-space: 1.0.0 2325 | micromark-util-character: 1.1.0 2326 | micromark-util-normalize-identifier: 1.0.0 2327 | micromark-util-sanitize-uri: 1.1.0 2328 | micromark-util-symbol: 1.0.1 2329 | micromark-util-types: 1.0.2 2330 | uvu: 0.5.6 2331 | dev: false 2332 | 2333 | /micromark-extension-gfm-strikethrough/1.0.4: 2334 | resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} 2335 | dependencies: 2336 | micromark-util-chunked: 1.0.0 2337 | micromark-util-classify-character: 1.0.0 2338 | micromark-util-resolve-all: 1.0.0 2339 | micromark-util-symbol: 1.0.1 2340 | micromark-util-types: 1.0.2 2341 | uvu: 0.5.6 2342 | dev: false 2343 | 2344 | /micromark-extension-gfm-table/1.0.5: 2345 | resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} 2346 | dependencies: 2347 | micromark-factory-space: 1.0.0 2348 | micromark-util-character: 1.1.0 2349 | micromark-util-symbol: 1.0.1 2350 | micromark-util-types: 1.0.2 2351 | uvu: 0.5.6 2352 | dev: false 2353 | 2354 | /micromark-extension-gfm-tagfilter/1.0.1: 2355 | resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} 2356 | dependencies: 2357 | micromark-util-types: 1.0.2 2358 | dev: false 2359 | 2360 | /micromark-extension-gfm-task-list-item/1.0.3: 2361 | resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} 2362 | dependencies: 2363 | micromark-factory-space: 1.0.0 2364 | micromark-util-character: 1.1.0 2365 | micromark-util-symbol: 1.0.1 2366 | micromark-util-types: 1.0.2 2367 | uvu: 0.5.6 2368 | dev: false 2369 | 2370 | /micromark-extension-gfm/2.0.1: 2371 | resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} 2372 | dependencies: 2373 | micromark-extension-gfm-autolink-literal: 1.0.3 2374 | micromark-extension-gfm-footnote: 1.0.4 2375 | micromark-extension-gfm-strikethrough: 1.0.4 2376 | micromark-extension-gfm-table: 1.0.5 2377 | micromark-extension-gfm-tagfilter: 1.0.1 2378 | micromark-extension-gfm-task-list-item: 1.0.3 2379 | micromark-util-combine-extensions: 1.0.0 2380 | micromark-util-types: 1.0.2 2381 | dev: false 2382 | 2383 | /micromark-extension-mdx-expression/1.0.3: 2384 | resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==} 2385 | dependencies: 2386 | micromark-factory-mdx-expression: 1.0.6 2387 | micromark-factory-space: 1.0.0 2388 | micromark-util-character: 1.1.0 2389 | micromark-util-events-to-acorn: 1.2.0 2390 | micromark-util-symbol: 1.0.1 2391 | micromark-util-types: 1.0.2 2392 | uvu: 0.5.6 2393 | dev: false 2394 | 2395 | /micromark-extension-mdx-jsx/1.0.3: 2396 | resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==} 2397 | dependencies: 2398 | '@types/acorn': 4.0.6 2399 | estree-util-is-identifier-name: 2.0.1 2400 | micromark-factory-mdx-expression: 1.0.6 2401 | micromark-factory-space: 1.0.0 2402 | micromark-util-character: 1.1.0 2403 | micromark-util-symbol: 1.0.1 2404 | micromark-util-types: 1.0.2 2405 | uvu: 0.5.6 2406 | vfile-message: 3.1.3 2407 | dev: false 2408 | 2409 | /micromark-extension-mdx-md/1.0.0: 2410 | resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==} 2411 | dependencies: 2412 | micromark-util-types: 1.0.2 2413 | dev: false 2414 | 2415 | /micromark-extension-mdxjs-esm/1.0.3: 2416 | resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==} 2417 | dependencies: 2418 | micromark-core-commonmark: 1.0.6 2419 | micromark-util-character: 1.1.0 2420 | micromark-util-events-to-acorn: 1.2.0 2421 | micromark-util-symbol: 1.0.1 2422 | micromark-util-types: 1.0.2 2423 | unist-util-position-from-estree: 1.1.1 2424 | uvu: 0.5.6 2425 | vfile-message: 3.1.3 2426 | dev: false 2427 | 2428 | /micromark-extension-mdxjs/1.0.0: 2429 | resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==} 2430 | dependencies: 2431 | acorn: 8.8.1 2432 | acorn-jsx: 5.3.2_acorn@8.8.1 2433 | micromark-extension-mdx-expression: 1.0.3 2434 | micromark-extension-mdx-jsx: 1.0.3 2435 | micromark-extension-mdx-md: 1.0.0 2436 | micromark-extension-mdxjs-esm: 1.0.3 2437 | micromark-util-combine-extensions: 1.0.0 2438 | micromark-util-types: 1.0.2 2439 | dev: false 2440 | 2441 | /micromark-factory-destination/1.0.0: 2442 | resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} 2443 | dependencies: 2444 | micromark-util-character: 1.1.0 2445 | micromark-util-symbol: 1.0.1 2446 | micromark-util-types: 1.0.2 2447 | dev: false 2448 | 2449 | /micromark-factory-label/1.0.2: 2450 | resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} 2451 | dependencies: 2452 | micromark-util-character: 1.1.0 2453 | micromark-util-symbol: 1.0.1 2454 | micromark-util-types: 1.0.2 2455 | uvu: 0.5.6 2456 | dev: false 2457 | 2458 | /micromark-factory-mdx-expression/1.0.6: 2459 | resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==} 2460 | dependencies: 2461 | micromark-factory-space: 1.0.0 2462 | micromark-util-character: 1.1.0 2463 | micromark-util-events-to-acorn: 1.2.0 2464 | micromark-util-symbol: 1.0.1 2465 | micromark-util-types: 1.0.2 2466 | unist-util-position-from-estree: 1.1.1 2467 | uvu: 0.5.6 2468 | vfile-message: 3.1.3 2469 | dev: false 2470 | 2471 | /micromark-factory-space/1.0.0: 2472 | resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} 2473 | dependencies: 2474 | micromark-util-character: 1.1.0 2475 | micromark-util-types: 1.0.2 2476 | dev: false 2477 | 2478 | /micromark-factory-title/1.0.2: 2479 | resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} 2480 | dependencies: 2481 | micromark-factory-space: 1.0.0 2482 | micromark-util-character: 1.1.0 2483 | micromark-util-symbol: 1.0.1 2484 | micromark-util-types: 1.0.2 2485 | uvu: 0.5.6 2486 | dev: false 2487 | 2488 | /micromark-factory-whitespace/1.0.0: 2489 | resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} 2490 | dependencies: 2491 | micromark-factory-space: 1.0.0 2492 | micromark-util-character: 1.1.0 2493 | micromark-util-symbol: 1.0.1 2494 | micromark-util-types: 1.0.2 2495 | dev: false 2496 | 2497 | /micromark-util-character/1.1.0: 2498 | resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} 2499 | dependencies: 2500 | micromark-util-symbol: 1.0.1 2501 | micromark-util-types: 1.0.2 2502 | dev: false 2503 | 2504 | /micromark-util-chunked/1.0.0: 2505 | resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} 2506 | dependencies: 2507 | micromark-util-symbol: 1.0.1 2508 | dev: false 2509 | 2510 | /micromark-util-classify-character/1.0.0: 2511 | resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} 2512 | dependencies: 2513 | micromark-util-character: 1.1.0 2514 | micromark-util-symbol: 1.0.1 2515 | micromark-util-types: 1.0.2 2516 | dev: false 2517 | 2518 | /micromark-util-combine-extensions/1.0.0: 2519 | resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} 2520 | dependencies: 2521 | micromark-util-chunked: 1.0.0 2522 | micromark-util-types: 1.0.2 2523 | dev: false 2524 | 2525 | /micromark-util-decode-numeric-character-reference/1.0.0: 2526 | resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} 2527 | dependencies: 2528 | micromark-util-symbol: 1.0.1 2529 | dev: false 2530 | 2531 | /micromark-util-decode-string/1.0.2: 2532 | resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} 2533 | dependencies: 2534 | decode-named-character-reference: 1.0.2 2535 | micromark-util-character: 1.1.0 2536 | micromark-util-decode-numeric-character-reference: 1.0.0 2537 | micromark-util-symbol: 1.0.1 2538 | dev: false 2539 | 2540 | /micromark-util-encode/1.0.1: 2541 | resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} 2542 | dev: false 2543 | 2544 | /micromark-util-events-to-acorn/1.2.0: 2545 | resolution: {integrity: sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==} 2546 | dependencies: 2547 | '@types/acorn': 4.0.6 2548 | '@types/estree': 1.0.0 2549 | estree-util-visit: 1.2.0 2550 | micromark-util-types: 1.0.2 2551 | uvu: 0.5.6 2552 | vfile-location: 4.0.1 2553 | vfile-message: 3.1.3 2554 | dev: false 2555 | 2556 | /micromark-util-html-tag-name/1.1.0: 2557 | resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} 2558 | dev: false 2559 | 2560 | /micromark-util-normalize-identifier/1.0.0: 2561 | resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} 2562 | dependencies: 2563 | micromark-util-symbol: 1.0.1 2564 | dev: false 2565 | 2566 | /micromark-util-resolve-all/1.0.0: 2567 | resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} 2568 | dependencies: 2569 | micromark-util-types: 1.0.2 2570 | dev: false 2571 | 2572 | /micromark-util-sanitize-uri/1.1.0: 2573 | resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} 2574 | dependencies: 2575 | micromark-util-character: 1.1.0 2576 | micromark-util-encode: 1.0.1 2577 | micromark-util-symbol: 1.0.1 2578 | dev: false 2579 | 2580 | /micromark-util-subtokenize/1.0.2: 2581 | resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} 2582 | dependencies: 2583 | micromark-util-chunked: 1.0.0 2584 | micromark-util-symbol: 1.0.1 2585 | micromark-util-types: 1.0.2 2586 | uvu: 0.5.6 2587 | dev: false 2588 | 2589 | /micromark-util-symbol/1.0.1: 2590 | resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} 2591 | dev: false 2592 | 2593 | /micromark-util-types/1.0.2: 2594 | resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} 2595 | dev: false 2596 | 2597 | /micromark/3.1.0: 2598 | resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} 2599 | dependencies: 2600 | '@types/debug': 4.1.7 2601 | debug: 4.3.4 2602 | decode-named-character-reference: 1.0.2 2603 | micromark-core-commonmark: 1.0.6 2604 | micromark-factory-space: 1.0.0 2605 | micromark-util-character: 1.1.0 2606 | micromark-util-chunked: 1.0.0 2607 | micromark-util-combine-extensions: 1.0.0 2608 | micromark-util-decode-numeric-character-reference: 1.0.0 2609 | micromark-util-encode: 1.0.1 2610 | micromark-util-normalize-identifier: 1.0.0 2611 | micromark-util-resolve-all: 1.0.0 2612 | micromark-util-sanitize-uri: 1.1.0 2613 | micromark-util-subtokenize: 1.0.2 2614 | micromark-util-symbol: 1.0.1 2615 | micromark-util-types: 1.0.2 2616 | uvu: 0.5.6 2617 | transitivePeerDependencies: 2618 | - supports-color 2619 | dev: false 2620 | 2621 | /micromatch/4.0.5: 2622 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2623 | engines: {node: '>=8.6'} 2624 | dependencies: 2625 | braces: 3.0.2 2626 | picomatch: 2.3.1 2627 | dev: true 2628 | 2629 | /minimatch/3.1.2: 2630 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2631 | dependencies: 2632 | brace-expansion: 1.1.11 2633 | dev: true 2634 | 2635 | /minimist/1.2.7: 2636 | resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} 2637 | dev: true 2638 | 2639 | /mri/1.2.0: 2640 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 2641 | engines: {node: '>=4'} 2642 | dev: false 2643 | 2644 | /ms/2.0.0: 2645 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2646 | dev: true 2647 | 2648 | /ms/2.1.2: 2649 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2650 | 2651 | /ms/2.1.3: 2652 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2653 | dev: true 2654 | 2655 | /nanoid/3.3.4: 2656 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2657 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2658 | hasBin: true 2659 | 2660 | /natural-compare/1.4.0: 2661 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2662 | dev: true 2663 | 2664 | /next-seo/5.15.0_6jx7hpii6hgsrmhxgqrmo3277u: 2665 | resolution: {integrity: sha512-LGbcY91yDKGMb7YI+28n3g+RuChUkt6pXNpa8FkfKkEmNiJkeRDEXTnnjVtwT9FmMhG6NH8qwHTelGrlYm9rgg==} 2666 | peerDependencies: 2667 | next: ^8.1.1-canary.54 || >=9.0.0 2668 | react: '>=16.0.0' 2669 | react-dom: '>=16.0.0' 2670 | dependencies: 2671 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y 2672 | react: 18.2.0 2673 | react-dom: 18.2.0_react@18.2.0 2674 | dev: false 2675 | 2676 | /next-themes/0.2.1_6jx7hpii6hgsrmhxgqrmo3277u: 2677 | resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} 2678 | peerDependencies: 2679 | next: '*' 2680 | react: '*' 2681 | react-dom: '*' 2682 | dependencies: 2683 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y 2684 | react: 18.2.0 2685 | react-dom: 18.2.0_react@18.2.0 2686 | dev: false 2687 | 2688 | /next/13.0.6_biqbaboplfbrettd7655fr4n2y: 2689 | resolution: {integrity: sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA==} 2690 | engines: {node: '>=14.6.0'} 2691 | hasBin: true 2692 | peerDependencies: 2693 | fibers: '>= 3.1.0' 2694 | node-sass: ^6.0.0 || ^7.0.0 2695 | react: ^18.2.0 2696 | react-dom: ^18.2.0 2697 | sass: ^1.3.0 2698 | peerDependenciesMeta: 2699 | fibers: 2700 | optional: true 2701 | node-sass: 2702 | optional: true 2703 | sass: 2704 | optional: true 2705 | dependencies: 2706 | '@next/env': 13.0.6 2707 | '@swc/helpers': 0.4.14 2708 | caniuse-lite: 1.0.30001436 2709 | postcss: 8.4.14 2710 | react: 18.2.0 2711 | react-dom: 18.2.0_react@18.2.0 2712 | styled-jsx: 5.1.0_react@18.2.0 2713 | optionalDependencies: 2714 | '@next/swc-android-arm-eabi': 13.0.6 2715 | '@next/swc-android-arm64': 13.0.6 2716 | '@next/swc-darwin-arm64': 13.0.6 2717 | '@next/swc-darwin-x64': 13.0.6 2718 | '@next/swc-freebsd-x64': 13.0.6 2719 | '@next/swc-linux-arm-gnueabihf': 13.0.6 2720 | '@next/swc-linux-arm64-gnu': 13.0.6 2721 | '@next/swc-linux-arm64-musl': 13.0.6 2722 | '@next/swc-linux-x64-gnu': 13.0.6 2723 | '@next/swc-linux-x64-musl': 13.0.6 2724 | '@next/swc-win32-arm64-msvc': 13.0.6 2725 | '@next/swc-win32-ia32-msvc': 13.0.6 2726 | '@next/swc-win32-x64-msvc': 13.0.6 2727 | transitivePeerDependencies: 2728 | - '@babel/core' 2729 | - babel-plugin-macros 2730 | 2731 | /nextra-theme-docs/2.0.1_6jx7hpii6hgsrmhxgqrmo3277u: 2732 | resolution: {integrity: sha512-vrxSQjfG5hcWXd0foVUgRu1T9rD+dQdVnKzJhpEG+ncAIYTT/o7GajvYUEPPZMYvvZwehmNIUhSTDN9unnVsxw==} 2733 | peerDependencies: 2734 | next: '>=9.5.3' 2735 | react: '>=16.13.1' 2736 | react-dom: '>=16.13.1' 2737 | dependencies: 2738 | '@headlessui/react': 1.7.4_biqbaboplfbrettd7655fr4n2y 2739 | '@mdx-js/react': 2.1.5_react@18.2.0 2740 | '@popperjs/core': 2.11.6 2741 | '@reach/skip-nav': 0.17.0_biqbaboplfbrettd7655fr4n2y 2742 | clsx: 1.2.1 2743 | flexsearch: 0.7.31 2744 | focus-visible: 5.2.0 2745 | git-url-parse: 13.1.0 2746 | github-slugger: 1.5.0 2747 | intersection-observer: 0.12.2 2748 | match-sorter: 6.3.1 2749 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y 2750 | next-seo: 5.15.0_6jx7hpii6hgsrmhxgqrmo3277u 2751 | next-themes: 0.2.1_6jx7hpii6hgsrmhxgqrmo3277u 2752 | react: 18.2.0 2753 | react-dom: 18.2.0_react@18.2.0 2754 | scroll-into-view-if-needed: 2.2.31 2755 | dev: false 2756 | 2757 | /nextra/2.0.1_6jx7hpii6hgsrmhxgqrmo3277u: 2758 | resolution: {integrity: sha512-IOBwqMREnadxGryNHvwr3sZuD90uyaTxCWi9yxDB56UndsLBTulKwXNIOdW1FV+vKTbSGpz89wNe665Moli7Kw==} 2759 | peerDependencies: 2760 | next: '>=9.5.3' 2761 | react: '>=16.13.1' 2762 | react-dom: '>=16.13.1' 2763 | dependencies: 2764 | '@mdx-js/mdx': 2.1.5 2765 | '@napi-rs/simple-git': 0.1.8 2766 | github-slugger: 1.5.0 2767 | graceful-fs: 4.2.10 2768 | gray-matter: 4.0.3 2769 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y 2770 | react: 18.2.0 2771 | react-dom: 18.2.0_react@18.2.0 2772 | rehype-mdx-title: 1.0.0 2773 | rehype-pretty-code: 0.2.4_shiki@0.10.1 2774 | remark-gfm: 3.0.1 2775 | remark-reading-time: 2.0.1 2776 | shiki: 0.10.1 2777 | slash: 3.0.0 2778 | title: 3.5.3 2779 | unist-util-visit: 4.1.1 2780 | transitivePeerDependencies: 2781 | - supports-color 2782 | dev: false 2783 | 2784 | /node-releases/2.0.6: 2785 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} 2786 | dev: true 2787 | 2788 | /normalize-path/3.0.0: 2789 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2790 | engines: {node: '>=0.10.0'} 2791 | dev: true 2792 | 2793 | /normalize-range/0.1.2: 2794 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 2795 | engines: {node: '>=0.10.0'} 2796 | dev: true 2797 | 2798 | /npm-run-path/2.0.2: 2799 | resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} 2800 | engines: {node: '>=4'} 2801 | dependencies: 2802 | path-key: 2.0.1 2803 | dev: false 2804 | 2805 | /object-assign/4.1.1: 2806 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2807 | engines: {node: '>=0.10.0'} 2808 | dev: true 2809 | 2810 | /object-hash/3.0.0: 2811 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 2812 | engines: {node: '>= 6'} 2813 | dev: true 2814 | 2815 | /object-inspect/1.12.2: 2816 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 2817 | dev: true 2818 | 2819 | /object-keys/1.1.1: 2820 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2821 | engines: {node: '>= 0.4'} 2822 | dev: true 2823 | 2824 | /object.assign/4.1.4: 2825 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 2826 | engines: {node: '>= 0.4'} 2827 | dependencies: 2828 | call-bind: 1.0.2 2829 | define-properties: 1.1.4 2830 | has-symbols: 1.0.3 2831 | object-keys: 1.1.1 2832 | dev: true 2833 | 2834 | /object.entries/1.1.6: 2835 | resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} 2836 | engines: {node: '>= 0.4'} 2837 | dependencies: 2838 | call-bind: 1.0.2 2839 | define-properties: 1.1.4 2840 | es-abstract: 1.20.4 2841 | dev: true 2842 | 2843 | /object.fromentries/2.0.6: 2844 | resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} 2845 | engines: {node: '>= 0.4'} 2846 | dependencies: 2847 | call-bind: 1.0.2 2848 | define-properties: 1.1.4 2849 | es-abstract: 1.20.4 2850 | dev: true 2851 | 2852 | /object.hasown/1.1.2: 2853 | resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} 2854 | dependencies: 2855 | define-properties: 1.1.4 2856 | es-abstract: 1.20.4 2857 | dev: true 2858 | 2859 | /object.values/1.1.6: 2860 | resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} 2861 | engines: {node: '>= 0.4'} 2862 | dependencies: 2863 | call-bind: 1.0.2 2864 | define-properties: 1.1.4 2865 | es-abstract: 1.20.4 2866 | dev: true 2867 | 2868 | /once/1.4.0: 2869 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2870 | dependencies: 2871 | wrappy: 1.0.2 2872 | dev: true 2873 | 2874 | /optionator/0.9.1: 2875 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2876 | engines: {node: '>= 0.8.0'} 2877 | dependencies: 2878 | deep-is: 0.1.4 2879 | fast-levenshtein: 2.0.6 2880 | levn: 0.4.1 2881 | prelude-ls: 1.2.1 2882 | type-check: 0.4.0 2883 | word-wrap: 1.2.3 2884 | dev: true 2885 | 2886 | /p-finally/1.0.0: 2887 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 2888 | engines: {node: '>=4'} 2889 | dev: false 2890 | 2891 | /parent-module/1.0.1: 2892 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2893 | engines: {node: '>=6'} 2894 | dependencies: 2895 | callsites: 3.1.0 2896 | dev: true 2897 | 2898 | /parse-entities/4.0.0: 2899 | resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==} 2900 | dependencies: 2901 | '@types/unist': 2.0.6 2902 | character-entities: 2.0.2 2903 | character-entities-legacy: 3.0.0 2904 | character-reference-invalid: 2.0.1 2905 | decode-named-character-reference: 1.0.2 2906 | is-alphanumerical: 2.0.1 2907 | is-decimal: 2.0.1 2908 | is-hexadecimal: 2.0.1 2909 | dev: false 2910 | 2911 | /parse-numeric-range/1.3.0: 2912 | resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} 2913 | dev: false 2914 | 2915 | /parse-path/7.0.0: 2916 | resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} 2917 | dependencies: 2918 | protocols: 2.0.1 2919 | dev: false 2920 | 2921 | /parse-url/8.1.0: 2922 | resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} 2923 | dependencies: 2924 | parse-path: 7.0.0 2925 | dev: false 2926 | 2927 | /path-is-absolute/1.0.1: 2928 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2929 | engines: {node: '>=0.10.0'} 2930 | dev: true 2931 | 2932 | /path-key/2.0.1: 2933 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 2934 | engines: {node: '>=4'} 2935 | dev: false 2936 | 2937 | /path-key/3.1.1: 2938 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2939 | engines: {node: '>=8'} 2940 | dev: true 2941 | 2942 | /path-parse/1.0.7: 2943 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2944 | dev: true 2945 | 2946 | /path-type/4.0.0: 2947 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2948 | engines: {node: '>=8'} 2949 | dev: true 2950 | 2951 | /periscopic/3.0.4: 2952 | resolution: {integrity: sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==} 2953 | dependencies: 2954 | estree-walker: 3.0.1 2955 | is-reference: 3.0.0 2956 | dev: false 2957 | 2958 | /picocolors/1.0.0: 2959 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2960 | 2961 | /picomatch/2.3.1: 2962 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2963 | engines: {node: '>=8.6'} 2964 | dev: true 2965 | 2966 | /pify/2.3.0: 2967 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2968 | engines: {node: '>=0.10.0'} 2969 | dev: true 2970 | 2971 | /postcss-import/14.1.0_postcss@8.4.19: 2972 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} 2973 | engines: {node: '>=10.0.0'} 2974 | peerDependencies: 2975 | postcss: ^8.0.0 2976 | dependencies: 2977 | postcss: 8.4.19 2978 | postcss-value-parser: 4.2.0 2979 | read-cache: 1.0.0 2980 | resolve: 1.22.1 2981 | dev: true 2982 | 2983 | /postcss-js/4.0.0_postcss@8.4.19: 2984 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} 2985 | engines: {node: ^12 || ^14 || >= 16} 2986 | peerDependencies: 2987 | postcss: ^8.3.3 2988 | dependencies: 2989 | camelcase-css: 2.0.1 2990 | postcss: 8.4.19 2991 | dev: true 2992 | 2993 | /postcss-load-config/3.1.4_postcss@8.4.19: 2994 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 2995 | engines: {node: '>= 10'} 2996 | peerDependencies: 2997 | postcss: '>=8.0.9' 2998 | ts-node: '>=9.0.0' 2999 | peerDependenciesMeta: 3000 | postcss: 3001 | optional: true 3002 | ts-node: 3003 | optional: true 3004 | dependencies: 3005 | lilconfig: 2.0.6 3006 | postcss: 8.4.19 3007 | yaml: 1.10.2 3008 | dev: true 3009 | 3010 | /postcss-nested/6.0.0_postcss@8.4.19: 3011 | resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} 3012 | engines: {node: '>=12.0'} 3013 | peerDependencies: 3014 | postcss: ^8.2.14 3015 | dependencies: 3016 | postcss: 8.4.19 3017 | postcss-selector-parser: 6.0.11 3018 | dev: true 3019 | 3020 | /postcss-selector-parser/6.0.11: 3021 | resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} 3022 | engines: {node: '>=4'} 3023 | dependencies: 3024 | cssesc: 3.0.0 3025 | util-deprecate: 1.0.2 3026 | dev: true 3027 | 3028 | /postcss-value-parser/4.2.0: 3029 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 3030 | dev: true 3031 | 3032 | /postcss/8.4.14: 3033 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 3034 | engines: {node: ^10 || ^12 || >=14} 3035 | dependencies: 3036 | nanoid: 3.3.4 3037 | picocolors: 1.0.0 3038 | source-map-js: 1.0.2 3039 | 3040 | /postcss/8.4.19: 3041 | resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} 3042 | engines: {node: ^10 || ^12 || >=14} 3043 | dependencies: 3044 | nanoid: 3.3.4 3045 | picocolors: 1.0.0 3046 | source-map-js: 1.0.2 3047 | dev: true 3048 | 3049 | /prelude-ls/1.2.1: 3050 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 3051 | engines: {node: '>= 0.8.0'} 3052 | dev: true 3053 | 3054 | /prop-types/15.8.1: 3055 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 3056 | dependencies: 3057 | loose-envify: 1.4.0 3058 | object-assign: 4.1.1 3059 | react-is: 16.13.1 3060 | dev: true 3061 | 3062 | /property-information/6.2.0: 3063 | resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} 3064 | dev: false 3065 | 3066 | /protocols/2.0.1: 3067 | resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} 3068 | dev: false 3069 | 3070 | /pseudomap/1.0.2: 3071 | resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} 3072 | dev: false 3073 | 3074 | /punycode/2.1.1: 3075 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 3076 | engines: {node: '>=6'} 3077 | dev: true 3078 | 3079 | /queue-microtask/1.2.3: 3080 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3081 | dev: true 3082 | 3083 | /quick-lru/5.1.1: 3084 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 3085 | engines: {node: '>=10'} 3086 | dev: true 3087 | 3088 | /react-chartjs-2/5.2.0_mfjxiilvrceiwtanada6fxhije: 3089 | resolution: {integrity: sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==} 3090 | peerDependencies: 3091 | chart.js: ^4.1.1 3092 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 3093 | dependencies: 3094 | chart.js: 4.1.2 3095 | react: 18.2.0 3096 | dev: false 3097 | 3098 | /react-dom/18.2.0_react@18.2.0: 3099 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 3100 | peerDependencies: 3101 | react: ^18.2.0 3102 | dependencies: 3103 | loose-envify: 1.4.0 3104 | react: 18.2.0 3105 | scheduler: 0.23.0 3106 | 3107 | /react-is/16.13.1: 3108 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 3109 | dev: true 3110 | 3111 | /react/18.2.0: 3112 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 3113 | engines: {node: '>=0.10.0'} 3114 | dependencies: 3115 | loose-envify: 1.4.0 3116 | 3117 | /read-cache/1.0.0: 3118 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 3119 | dependencies: 3120 | pify: 2.3.0 3121 | dev: true 3122 | 3123 | /readdirp/3.6.0: 3124 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 3125 | engines: {node: '>=8.10.0'} 3126 | dependencies: 3127 | picomatch: 2.3.1 3128 | dev: true 3129 | 3130 | /reading-time/1.5.0: 3131 | resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} 3132 | dev: false 3133 | 3134 | /regenerator-runtime/0.13.11: 3135 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} 3136 | 3137 | /regexp.prototype.flags/1.4.3: 3138 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 3139 | engines: {node: '>= 0.4'} 3140 | dependencies: 3141 | call-bind: 1.0.2 3142 | define-properties: 1.1.4 3143 | functions-have-names: 1.2.3 3144 | dev: true 3145 | 3146 | /regexpp/3.2.0: 3147 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 3148 | engines: {node: '>=8'} 3149 | dev: true 3150 | 3151 | /rehype-mdx-title/1.0.0: 3152 | resolution: {integrity: sha512-5B/53Y+KQHm4/nrE6pIIPc9Ie2fbPMCLs8WwMGYWWHr+5g3TkmEijRkr8TGYHULtc+C7bOoPR8LIF5DpGROIDg==} 3153 | engines: {node: '>=12.2.0'} 3154 | dependencies: 3155 | estree-util-is-identifier-name: 1.1.0 3156 | hast-util-to-string: 1.0.4 3157 | unist-util-visit: 2.0.3 3158 | dev: false 3159 | 3160 | /rehype-pretty-code/0.2.4_shiki@0.10.1: 3161 | resolution: {integrity: sha512-vbqwIa4cNwRaVur9caUw/b0jOQR88Svrs9c9RaQoogvbBxs5X9bWrSe5oFypaRTTq2cpZ45YzJQ7UUPO76LMKA==} 3162 | engines: {node: ^12.16.0 || >=13.2.0} 3163 | peerDependencies: 3164 | shiki: '*' 3165 | dependencies: 3166 | parse-numeric-range: 1.3.0 3167 | shiki: 0.10.1 3168 | dev: false 3169 | 3170 | /remark-gfm/3.0.1: 3171 | resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} 3172 | dependencies: 3173 | '@types/mdast': 3.0.10 3174 | mdast-util-gfm: 2.0.1 3175 | micromark-extension-gfm: 2.0.1 3176 | unified: 10.1.2 3177 | transitivePeerDependencies: 3178 | - supports-color 3179 | dev: false 3180 | 3181 | /remark-mdx/2.1.5: 3182 | resolution: {integrity: sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==} 3183 | dependencies: 3184 | mdast-util-mdx: 2.0.0 3185 | micromark-extension-mdxjs: 1.0.0 3186 | transitivePeerDependencies: 3187 | - supports-color 3188 | dev: false 3189 | 3190 | /remark-parse/10.0.1: 3191 | resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} 3192 | dependencies: 3193 | '@types/mdast': 3.0.10 3194 | mdast-util-from-markdown: 1.2.0 3195 | unified: 10.1.2 3196 | transitivePeerDependencies: 3197 | - supports-color 3198 | dev: false 3199 | 3200 | /remark-reading-time/2.0.1: 3201 | resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==} 3202 | dependencies: 3203 | estree-util-is-identifier-name: 2.0.1 3204 | estree-util-value-to-estree: 1.3.0 3205 | reading-time: 1.5.0 3206 | unist-util-visit: 3.1.0 3207 | dev: false 3208 | 3209 | /remark-rehype/10.1.0: 3210 | resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} 3211 | dependencies: 3212 | '@types/hast': 2.3.4 3213 | '@types/mdast': 3.0.10 3214 | mdast-util-to-hast: 12.2.4 3215 | unified: 10.1.2 3216 | dev: false 3217 | 3218 | /remove-accents/0.4.2: 3219 | resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} 3220 | dev: false 3221 | 3222 | /resolve-from/4.0.0: 3223 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 3224 | engines: {node: '>=4'} 3225 | dev: true 3226 | 3227 | /resolve/1.22.1: 3228 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 3229 | hasBin: true 3230 | dependencies: 3231 | is-core-module: 2.11.0 3232 | path-parse: 1.0.7 3233 | supports-preserve-symlinks-flag: 1.0.0 3234 | dev: true 3235 | 3236 | /resolve/2.0.0-next.4: 3237 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} 3238 | hasBin: true 3239 | dependencies: 3240 | is-core-module: 2.11.0 3241 | path-parse: 1.0.7 3242 | supports-preserve-symlinks-flag: 1.0.0 3243 | dev: true 3244 | 3245 | /reusify/1.0.4: 3246 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3247 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3248 | dev: true 3249 | 3250 | /rimraf/3.0.2: 3251 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3252 | hasBin: true 3253 | dependencies: 3254 | glob: 7.2.3 3255 | dev: true 3256 | 3257 | /run-parallel/1.2.0: 3258 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3259 | dependencies: 3260 | queue-microtask: 1.2.3 3261 | dev: true 3262 | 3263 | /sade/1.8.1: 3264 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 3265 | engines: {node: '>=6'} 3266 | dependencies: 3267 | mri: 1.2.0 3268 | dev: false 3269 | 3270 | /safe-regex-test/1.0.0: 3271 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 3272 | dependencies: 3273 | call-bind: 1.0.2 3274 | get-intrinsic: 1.1.3 3275 | is-regex: 1.1.4 3276 | dev: true 3277 | 3278 | /scheduler/0.23.0: 3279 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 3280 | dependencies: 3281 | loose-envify: 1.4.0 3282 | 3283 | /scroll-into-view-if-needed/2.2.31: 3284 | resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} 3285 | dependencies: 3286 | compute-scroll-into-view: 1.0.20 3287 | dev: false 3288 | 3289 | /section-matter/1.0.0: 3290 | resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} 3291 | engines: {node: '>=4'} 3292 | dependencies: 3293 | extend-shallow: 2.0.1 3294 | kind-of: 6.0.3 3295 | dev: false 3296 | 3297 | /semver/6.3.0: 3298 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 3299 | hasBin: true 3300 | dev: true 3301 | 3302 | /semver/7.3.8: 3303 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 3304 | engines: {node: '>=10'} 3305 | hasBin: true 3306 | dependencies: 3307 | lru-cache: 6.0.0 3308 | dev: true 3309 | 3310 | /shebang-command/1.2.0: 3311 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 3312 | engines: {node: '>=0.10.0'} 3313 | dependencies: 3314 | shebang-regex: 1.0.0 3315 | dev: false 3316 | 3317 | /shebang-command/2.0.0: 3318 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3319 | engines: {node: '>=8'} 3320 | dependencies: 3321 | shebang-regex: 3.0.0 3322 | dev: true 3323 | 3324 | /shebang-regex/1.0.0: 3325 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 3326 | engines: {node: '>=0.10.0'} 3327 | dev: false 3328 | 3329 | /shebang-regex/3.0.0: 3330 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3331 | engines: {node: '>=8'} 3332 | dev: true 3333 | 3334 | /shiki/0.10.1: 3335 | resolution: {integrity: sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==} 3336 | dependencies: 3337 | jsonc-parser: 3.2.0 3338 | vscode-oniguruma: 1.7.0 3339 | vscode-textmate: 5.2.0 3340 | dev: false 3341 | 3342 | /side-channel/1.0.4: 3343 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 3344 | dependencies: 3345 | call-bind: 1.0.2 3346 | get-intrinsic: 1.1.3 3347 | object-inspect: 1.12.2 3348 | dev: true 3349 | 3350 | /signal-exit/3.0.7: 3351 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3352 | dev: false 3353 | 3354 | /slash/3.0.0: 3355 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3356 | engines: {node: '>=8'} 3357 | 3358 | /source-map-js/1.0.2: 3359 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 3360 | engines: {node: '>=0.10.0'} 3361 | 3362 | /source-map/0.7.4: 3363 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 3364 | engines: {node: '>= 8'} 3365 | dev: false 3366 | 3367 | /space-separated-tokens/2.0.2: 3368 | resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 3369 | dev: false 3370 | 3371 | /sprintf-js/1.0.3: 3372 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 3373 | dev: false 3374 | 3375 | /string.prototype.matchall/4.0.8: 3376 | resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} 3377 | dependencies: 3378 | call-bind: 1.0.2 3379 | define-properties: 1.1.4 3380 | es-abstract: 1.20.4 3381 | get-intrinsic: 1.1.3 3382 | has-symbols: 1.0.3 3383 | internal-slot: 1.0.3 3384 | regexp.prototype.flags: 1.4.3 3385 | side-channel: 1.0.4 3386 | dev: true 3387 | 3388 | /string.prototype.trimend/1.0.6: 3389 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 3390 | dependencies: 3391 | call-bind: 1.0.2 3392 | define-properties: 1.1.4 3393 | es-abstract: 1.20.4 3394 | dev: true 3395 | 3396 | /string.prototype.trimstart/1.0.6: 3397 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 3398 | dependencies: 3399 | call-bind: 1.0.2 3400 | define-properties: 1.1.4 3401 | es-abstract: 1.20.4 3402 | dev: true 3403 | 3404 | /stringify-entities/4.0.3: 3405 | resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} 3406 | dependencies: 3407 | character-entities-html4: 2.1.0 3408 | character-entities-legacy: 3.0.0 3409 | dev: false 3410 | 3411 | /strip-ansi/6.0.1: 3412 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3413 | engines: {node: '>=8'} 3414 | dependencies: 3415 | ansi-regex: 5.0.1 3416 | dev: true 3417 | 3418 | /strip-bom-string/1.0.0: 3419 | resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} 3420 | engines: {node: '>=0.10.0'} 3421 | dev: false 3422 | 3423 | /strip-bom/3.0.0: 3424 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3425 | engines: {node: '>=4'} 3426 | dev: true 3427 | 3428 | /strip-eof/1.0.0: 3429 | resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} 3430 | engines: {node: '>=0.10.0'} 3431 | dev: false 3432 | 3433 | /strip-json-comments/3.1.1: 3434 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3435 | engines: {node: '>=8'} 3436 | dev: true 3437 | 3438 | /style-to-object/0.3.0: 3439 | resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} 3440 | dependencies: 3441 | inline-style-parser: 0.1.1 3442 | dev: false 3443 | 3444 | /styled-jsx/5.1.0_react@18.2.0: 3445 | resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==} 3446 | engines: {node: '>= 12.0.0'} 3447 | peerDependencies: 3448 | '@babel/core': '*' 3449 | babel-plugin-macros: '*' 3450 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 3451 | peerDependenciesMeta: 3452 | '@babel/core': 3453 | optional: true 3454 | babel-plugin-macros: 3455 | optional: true 3456 | dependencies: 3457 | client-only: 0.0.1 3458 | react: 18.2.0 3459 | 3460 | /supports-color/4.5.0: 3461 | resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} 3462 | engines: {node: '>=4'} 3463 | dependencies: 3464 | has-flag: 2.0.0 3465 | dev: false 3466 | 3467 | /supports-color/7.2.0: 3468 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3469 | engines: {node: '>=8'} 3470 | dependencies: 3471 | has-flag: 4.0.0 3472 | dev: true 3473 | 3474 | /supports-preserve-symlinks-flag/1.0.0: 3475 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3476 | engines: {node: '>= 0.4'} 3477 | dev: true 3478 | 3479 | /tailwindcss/3.2.4_postcss@8.4.19: 3480 | resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==} 3481 | engines: {node: '>=12.13.0'} 3482 | hasBin: true 3483 | peerDependencies: 3484 | postcss: ^8.0.9 3485 | dependencies: 3486 | arg: 5.0.2 3487 | chokidar: 3.5.3 3488 | color-name: 1.1.4 3489 | detective: 5.2.1 3490 | didyoumean: 1.2.2 3491 | dlv: 1.1.3 3492 | fast-glob: 3.2.12 3493 | glob-parent: 6.0.2 3494 | is-glob: 4.0.3 3495 | lilconfig: 2.0.6 3496 | micromatch: 4.0.5 3497 | normalize-path: 3.0.0 3498 | object-hash: 3.0.0 3499 | picocolors: 1.0.0 3500 | postcss: 8.4.19 3501 | postcss-import: 14.1.0_postcss@8.4.19 3502 | postcss-js: 4.0.0_postcss@8.4.19 3503 | postcss-load-config: 3.1.4_postcss@8.4.19 3504 | postcss-nested: 6.0.0_postcss@8.4.19 3505 | postcss-selector-parser: 6.0.11 3506 | postcss-value-parser: 4.2.0 3507 | quick-lru: 5.1.1 3508 | resolve: 1.22.1 3509 | transitivePeerDependencies: 3510 | - ts-node 3511 | dev: true 3512 | 3513 | /text-table/0.2.0: 3514 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3515 | dev: true 3516 | 3517 | /tiny-warning/1.0.3: 3518 | resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} 3519 | dev: false 3520 | 3521 | /title/3.5.3: 3522 | resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==} 3523 | hasBin: true 3524 | dependencies: 3525 | arg: 1.0.0 3526 | chalk: 2.3.0 3527 | clipboardy: 1.2.2 3528 | titleize: 1.0.0 3529 | dev: false 3530 | 3531 | /titleize/1.0.0: 3532 | resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} 3533 | engines: {node: '>=0.10.0'} 3534 | dev: false 3535 | 3536 | /to-regex-range/5.0.1: 3537 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3538 | engines: {node: '>=8.0'} 3539 | dependencies: 3540 | is-number: 7.0.0 3541 | dev: true 3542 | 3543 | /trim-lines/3.0.1: 3544 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 3545 | dev: false 3546 | 3547 | /trough/2.1.0: 3548 | resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} 3549 | dev: false 3550 | 3551 | /tsconfig-paths/3.14.1: 3552 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3553 | dependencies: 3554 | '@types/json5': 0.0.29 3555 | json5: 1.0.1 3556 | minimist: 1.2.7 3557 | strip-bom: 3.0.0 3558 | dev: true 3559 | 3560 | /tslib/1.14.1: 3561 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3562 | dev: true 3563 | 3564 | /tslib/2.4.1: 3565 | resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} 3566 | 3567 | /tsutils/3.21.0_typescript@4.6.3: 3568 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3569 | engines: {node: '>= 6'} 3570 | peerDependencies: 3571 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3572 | dependencies: 3573 | tslib: 1.14.1 3574 | typescript: 4.6.3 3575 | dev: true 3576 | 3577 | /type-check/0.4.0: 3578 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3579 | engines: {node: '>= 0.8.0'} 3580 | dependencies: 3581 | prelude-ls: 1.2.1 3582 | dev: true 3583 | 3584 | /type-fest/0.20.2: 3585 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3586 | engines: {node: '>=10'} 3587 | dev: true 3588 | 3589 | /typescript/4.6.3: 3590 | resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} 3591 | engines: {node: '>=4.2.0'} 3592 | hasBin: true 3593 | dev: true 3594 | 3595 | /unbox-primitive/1.0.2: 3596 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3597 | dependencies: 3598 | call-bind: 1.0.2 3599 | has-bigints: 1.0.2 3600 | has-symbols: 1.0.3 3601 | which-boxed-primitive: 1.0.2 3602 | dev: true 3603 | 3604 | /unified/10.1.2: 3605 | resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} 3606 | dependencies: 3607 | '@types/unist': 2.0.6 3608 | bail: 2.0.2 3609 | extend: 3.0.2 3610 | is-buffer: 2.0.5 3611 | is-plain-obj: 4.1.0 3612 | trough: 2.1.0 3613 | vfile: 5.3.6 3614 | dev: false 3615 | 3616 | /unist-builder/3.0.0: 3617 | resolution: {integrity: sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==} 3618 | dependencies: 3619 | '@types/unist': 2.0.6 3620 | dev: false 3621 | 3622 | /unist-util-generated/2.0.0: 3623 | resolution: {integrity: sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==} 3624 | dev: false 3625 | 3626 | /unist-util-is/4.1.0: 3627 | resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} 3628 | dev: false 3629 | 3630 | /unist-util-is/5.1.1: 3631 | resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} 3632 | dev: false 3633 | 3634 | /unist-util-position-from-estree/1.1.1: 3635 | resolution: {integrity: sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==} 3636 | dependencies: 3637 | '@types/unist': 2.0.6 3638 | dev: false 3639 | 3640 | /unist-util-position/4.0.3: 3641 | resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==} 3642 | dependencies: 3643 | '@types/unist': 2.0.6 3644 | dev: false 3645 | 3646 | /unist-util-remove-position/4.0.1: 3647 | resolution: {integrity: sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==} 3648 | dependencies: 3649 | '@types/unist': 2.0.6 3650 | unist-util-visit: 4.1.1 3651 | dev: false 3652 | 3653 | /unist-util-stringify-position/3.0.2: 3654 | resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} 3655 | dependencies: 3656 | '@types/unist': 2.0.6 3657 | dev: false 3658 | 3659 | /unist-util-visit-parents/3.1.1: 3660 | resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} 3661 | dependencies: 3662 | '@types/unist': 2.0.6 3663 | unist-util-is: 4.1.0 3664 | dev: false 3665 | 3666 | /unist-util-visit-parents/4.1.1: 3667 | resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} 3668 | dependencies: 3669 | '@types/unist': 2.0.6 3670 | unist-util-is: 5.1.1 3671 | dev: false 3672 | 3673 | /unist-util-visit-parents/5.1.1: 3674 | resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==} 3675 | dependencies: 3676 | '@types/unist': 2.0.6 3677 | unist-util-is: 5.1.1 3678 | dev: false 3679 | 3680 | /unist-util-visit/2.0.3: 3681 | resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} 3682 | dependencies: 3683 | '@types/unist': 2.0.6 3684 | unist-util-is: 4.1.0 3685 | unist-util-visit-parents: 3.1.1 3686 | dev: false 3687 | 3688 | /unist-util-visit/3.1.0: 3689 | resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} 3690 | dependencies: 3691 | '@types/unist': 2.0.6 3692 | unist-util-is: 5.1.1 3693 | unist-util-visit-parents: 4.1.1 3694 | dev: false 3695 | 3696 | /unist-util-visit/4.1.1: 3697 | resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==} 3698 | dependencies: 3699 | '@types/unist': 2.0.6 3700 | unist-util-is: 5.1.1 3701 | unist-util-visit-parents: 5.1.1 3702 | dev: false 3703 | 3704 | /update-browserslist-db/1.0.10_browserslist@4.21.4: 3705 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 3706 | hasBin: true 3707 | peerDependencies: 3708 | browserslist: '>= 4.21.0' 3709 | dependencies: 3710 | browserslist: 4.21.4 3711 | escalade: 3.1.1 3712 | picocolors: 1.0.0 3713 | dev: true 3714 | 3715 | /uri-js/4.4.1: 3716 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3717 | dependencies: 3718 | punycode: 2.1.1 3719 | dev: true 3720 | 3721 | /util-deprecate/1.0.2: 3722 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3723 | dev: true 3724 | 3725 | /uvu/0.5.6: 3726 | resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} 3727 | engines: {node: '>=8'} 3728 | hasBin: true 3729 | dependencies: 3730 | dequal: 2.0.3 3731 | diff: 5.1.0 3732 | kleur: 4.1.5 3733 | sade: 1.8.1 3734 | dev: false 3735 | 3736 | /v8-compile-cache/2.3.0: 3737 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 3738 | dev: true 3739 | 3740 | /vfile-location/4.0.1: 3741 | resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==} 3742 | dependencies: 3743 | '@types/unist': 2.0.6 3744 | vfile: 5.3.6 3745 | dev: false 3746 | 3747 | /vfile-message/3.1.3: 3748 | resolution: {integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==} 3749 | dependencies: 3750 | '@types/unist': 2.0.6 3751 | unist-util-stringify-position: 3.0.2 3752 | dev: false 3753 | 3754 | /vfile/5.3.6: 3755 | resolution: {integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==} 3756 | dependencies: 3757 | '@types/unist': 2.0.6 3758 | is-buffer: 2.0.5 3759 | unist-util-stringify-position: 3.0.2 3760 | vfile-message: 3.1.3 3761 | dev: false 3762 | 3763 | /vscode-oniguruma/1.7.0: 3764 | resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} 3765 | dev: false 3766 | 3767 | /vscode-textmate/5.2.0: 3768 | resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==} 3769 | dev: false 3770 | 3771 | /which-boxed-primitive/1.0.2: 3772 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3773 | dependencies: 3774 | is-bigint: 1.0.4 3775 | is-boolean-object: 1.1.2 3776 | is-number-object: 1.0.7 3777 | is-string: 1.0.7 3778 | is-symbol: 1.0.4 3779 | dev: true 3780 | 3781 | /which/1.3.1: 3782 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 3783 | hasBin: true 3784 | dependencies: 3785 | isexe: 2.0.0 3786 | dev: false 3787 | 3788 | /which/2.0.2: 3789 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3790 | engines: {node: '>= 8'} 3791 | hasBin: true 3792 | dependencies: 3793 | isexe: 2.0.0 3794 | dev: true 3795 | 3796 | /word-wrap/1.2.3: 3797 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3798 | engines: {node: '>=0.10.0'} 3799 | dev: true 3800 | 3801 | /wrappy/1.0.2: 3802 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3803 | dev: true 3804 | 3805 | /xtend/4.0.2: 3806 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 3807 | engines: {node: '>=0.4'} 3808 | dev: true 3809 | 3810 | /yallist/2.1.2: 3811 | resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} 3812 | dev: false 3813 | 3814 | /yallist/4.0.0: 3815 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3816 | dev: true 3817 | 3818 | /yaml/1.10.2: 3819 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3820 | engines: {node: '>= 6'} 3821 | dev: true 3822 | 3823 | /zwitch/2.0.4: 3824 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 3825 | dev: false 3826 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "sites/*" 3 | -------------------------------------------------------------------------------- /sites/stc/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /sites/stc/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /sites/stc/README.md: -------------------------------------------------------------------------------- 1 | # DevMap 2 | 3 | 개발자를 위한 로드맵입니다. 4 | -------------------------------------------------------------------------------- /sites/stc/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | swcMinify: true, 5 | }; 6 | 7 | const withNextra = require("nextra")({ 8 | theme: "nextra-theme-docs", 9 | themeConfig: "./theme.config.js", 10 | flexsearch: { 11 | codeblocks: false, 12 | }, 13 | unstable_staticImage: true, 14 | }); 15 | module.exports = withNextra(nextConfig); 16 | -------------------------------------------------------------------------------- /sites/stc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stc", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev -p 30001", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@vercel/analytics": "^0.1.5", 13 | "chart.js": "4.1.2", 14 | "chartjs-adapter-date-fns": "3.0.0", 15 | "date-fns": "2.29.3", 16 | "next": "13.0.6", 17 | "nextra": "2.0.1", 18 | "nextra-theme-docs": "2.0.1", 19 | "react": "^18.0.0", 20 | "react-chartjs-2": "5.2.0", 21 | "react-dom": "^18.0.0" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "17.0.24", 25 | "@types/react": "18.0.5", 26 | "@types/react-dom": "18.0.1", 27 | "autoprefixer": "^10.4.4", 28 | "eslint": "8.13.0", 29 | "eslint-config-next": "12.1.5", 30 | "postcss": "^8.4.12", 31 | "tailwindcss": "^3.0.24", 32 | "typescript": "4.6.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /sites/stc/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import "nextra-theme-docs/style.css"; 2 | 3 | import { Analytics } from "@vercel/analytics/react"; 4 | import { NextPage } from "next"; 5 | import { AppProps } from "next/app"; 6 | import { ReactElement, ReactNode } from "react"; 7 | 8 | // https://nextjs.org/docs/basic-features/layouts#with-typescript 9 | 10 | export type NextPageWithLayout = NextPage & { 11 | getLayout?: (page: ReactElement) => ReactNode; 12 | }; 13 | 14 | type AppPropsWithLayout = AppProps & { 15 | Component: NextPageWithLayout; 16 | }; 17 | 18 | export default function Nextra({ Component, pageProps }: AppPropsWithLayout) { 19 | const getLayout = Component.getLayout ?? ((page) => page); 20 | 21 | return getLayout( 22 | <> 23 | 24 | 25 | 26 | ); 27 | } 28 | -------------------------------------------------------------------------------- /sites/stc/pages/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "index": { 3 | "title": "Introduction", 4 | "type": "page", 5 | "hidden": true 6 | }, 7 | "docs": { 8 | "title": "Docs", 9 | "type": "page" 10 | }, 11 | "blog": { 12 | "title": "Blog", 13 | "type": "page" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "this-week-in-stc": "Status updates" 3 | } 4 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "frequency-change": "Frequency change", 3 | "week-23": "Week 23", 4 | "week-22": "Week 22", 5 | "week-21": "Week 21", 6 | "week-20": "Week 20", 7 | "week-19": "Week 19", 8 | "week-18": "Week 18", 9 | "week-17": "Week 17", 10 | "week-16": "Week 16", 11 | "week-15": "Week 15", 12 | "week-14": "Week 14", 13 | "week-13": "Week 13", 14 | "week-12": "Week 12", 15 | "week-11": "Week 11", 16 | "week-10": "Week 10", 17 | "week-9": "Week 9", 18 | "week-8": "Week 8", 19 | "week-7": "Week 7", 20 | "week-6": "Week 6", 21 | "week-5": "Week 5", 22 | "week-4": "Week 4", 23 | "week-3": "Week 3", 24 | "week-2": "Week 2", 25 | "week-1": "Week 1" 26 | } 27 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/frequency-change.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Change to the frequency of update posts" 3 | date: 2023/4/23 4 | description: "We are changing weekly blog post to monthly blog post." 5 | author: kdy1 6 | --- 7 | 8 | We are changing weekly blog post to monthly blog post. 9 | This is because we are going to focus on large tasks, which do not have much progress every week. 10 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-1.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 1' 3 | date: 2022/11/13 4 | description: 'The first status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | I'm going to provide a weekly update for the status of [stc][]. 9 | This is the first post. 10 | 11 | --- 12 | 13 | ## TL;DR; 14 | 15 | Stats: 16 | 17 | ``` 18 | { 19 | required_error: 5155 => 4463, 20 | matched_error: 4711 => 5421, 21 | extra_error: 1983 => 999, 22 | panic: 103 => 89, 23 | } 24 | ``` 25 | 26 | This is the diff for [the last commit on November, 6](https://github.com/dudykr/stc/blob/c1e5e0949368f26d2453ed7420aea35edc405507/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on November, 13](https://github.com/dudykr/stc/blob/b451a2921766755bf94199f38489addd1d692897/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 27 | 28 | ## Contributions 29 | 30 | Many people contributed to stc, either by contributing developer time or financially. 31 | 32 | ![Contributors](/images/this-week-in-stc/1/contributors.png) 33 | 34 | This is a screenshot for 1 month because this is the first update. 35 | 36 | ## Noticeable changes 37 | 38 | - [#284](https://github.com/dudykr/stc/pull/284): Make `fix()` shallow. 39 | 40 | This improve performance by margin. 41 | `Type` of `stc` has some invariants to make it easier to handle. 42 | One example of the invariants is that a union cannot include a union as an element, because it causes lots of troubles with the pattern matching of Rust. 43 | There's a function named `fix`, which ensures that a type satisfies all of the invariants. 44 | But previously, it was recursive and it was a costly operation. 45 | It's now shallow and it does not recurse into `Union` nor `Intersection`. 46 | Performance gain is noticeable. 47 | The test execution with a x**debug build** previously took 1m 45s, but it now takes 1m 20s. 48 | 49 | - [#275](https://github.com/dudykr/stc/pull/275): Determine project structure for LSP. 50 | 51 | My plan is to provide a LSP for TypeScript after fixing all type inference bugs. 52 | I want to make it testable, so I tried various structures. 53 | While triage, I found a project structure which is testable. 54 | I decided to use the `examples` directory of cargo to create a LSP binary which can be used for testing. 55 | Basically, this structure allows **using exactly same code** for testing environment and the release build of stc LSP. 56 | 57 | Special thanks to Deno because I referred to the structure of Deno lsp a lot. 58 | 59 | - [#245](https://github.com/dudykr/stc/pull/245): Update swc. 60 | 61 | This is one of the tasks I wanted to do, but postponed due to the time. 62 | Divy helped a lot, and I managed to update swc crates. 63 | This introduced some regressions, but those are all fixed at the moment. 64 | 65 | - [#227](https://github.com/dudykr/stc/pull/227): Fix stack overflow of module loader. 66 | 67 | This patch fixes the issue which blocked people from trying stc on their own project. 68 | `stc` could verify a huge TypeScript module if it does not have an import, but this patch reduces the restrictions for real-world project further. 69 | 70 | --- 71 | 72 | [stc]: https://github.com/dudykr/stc 73 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-10.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 10' 3 | date: 2023/1/22 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4291 => 4248, 17 | matched_error: 5814 => 5826, 18 | extra_error: 1118 => 929, 19 | panic: 29 => 20, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/fcf2e3c58eca78aa46fdbe4c16435225b9a2a663/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 1/22](https://github.com/dudykr/stc/blob/5442585ceda0487cb40307a24523b0c96d833d8e/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | We changed the way we count the number of errors to make it represent the actual progress more closely. 25 | 26 | ## Contributions 27 | 28 | ![Contributors](/images/this-week-in-stc/10/contributors.png) 29 | 30 | There were lots of Contributions this week. 31 | Thank you! 32 | 33 | ## Noticable changes 34 | 35 | ### builtin update ([#528](https://github.com/dudykr/stc/pull/528)) 36 | 37 | We updated the builtin types to the latest version. 38 | 39 | ### `csstype` ([#521](https://github.com/dudykr/stc/pull/521)) 40 | 41 | `stc` now can process `csstype` package without a false positive. 42 | 43 | --- 44 | 45 | [stc]: https://github.com/dudykr/stc 46 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-11.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 11' 3 | date: 2023/1/29 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4248 => 4183, 17 | matched_error: 5826 => 5891, 18 | extra_error: 929 => 825, 19 | panic: 20 => 18, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/5442585ceda0487cb40307a24523b0c96d833d8e/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 1/29](https://github.com/dudykr/stc/blob/14d5ac24b3c4324d6384ae5d207f4fef9e3ae1fb/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/11/contributors.png) 28 | 29 | Thank you, everyone! 30 | 31 | [stc]:https://github.com/dudykr/stc 32 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-12.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 12" 3 | date: 2023/2/5 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 5891 => 5881, 17 | Bad (required): 4183 => 4193, 18 | Bad (excess): 825 => 714, 19 | Bad (panic): 18, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/14d5ac24b3c4324d6384ae5d207f4fef9e3ae1fb/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 2/5](https://github.com/dudykr/stc/blob/8ea5b02590550cdd7d1e6cbf53a54bc719be99a2/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). I took vacation this week, so there was a lot of progress. 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/12/contributors.png) 28 | 29 | There was one contributor this week, but he's a long-term contributor and he contributed a lot of code. Thank you! 30 | 31 | ## Noticable changes 32 | 33 | ### Change of the testing strategy 34 | 35 | I'm working to split the official conformance test suite from `tsc` into smaller unit tests. Once it's finished, progress will be much faster. 36 | 37 | [stc]: https://github.com/dudykr/stc 38 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-13.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 13" 3 | date: 2023/2/12 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 5881 => 5912, 17 | Bad (required): 4193 => 4162, 18 | Bad (excess): 714 => 638, 19 | Bad (panic): 18, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/8ea5b02590550cdd7d1e6cbf53a54bc719be99a2/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 2/12](https://github.com/dudykr/stc/blob/b5f1cf11908d89b2a82854249e6f296a0cb5109a/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/13/contributors.png) 28 | 29 | There were so many contributions this week! 30 | Thank you, everyone! 31 | 32 | ## Noticable changes 33 | 34 | All works were about making stc more compatible with tsc, i.e. making type inference more correct. 35 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-14.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 14" 3 | date: 2023/2/19 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 5912 => 5995, 17 | Bad (required): 4162 => 3753, 18 | Bad (excess): 638 => 927, 19 | Bad (panic): 18 => 228, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/b5f1cf11908d89b2a82854249e6f296a0cb5109a/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 2/19](https://github.com/dudykr/stc/blob/ad91d8ac2936f9befb8dbffb43a687b77402318c/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | The `Bad (panic)` and `Bad (excess)` regressed because we enabled multi-file tests, but the loader for testing is not fully-featured and panics if it does not know how to load a depdendency. 25 | 26 | ## Contributions 27 | 28 | ![Contributors](/images/this-week-in-stc/14/contributors.png) 29 | 30 | Just like last week, there were lots of contributors. Thank you! 31 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-15.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 15" 3 | date: 2023/2/26 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 5995 => 6023, 17 | Bad (required): 3753 => 3788, 18 | Bad (excess): 927 => 1105, 19 | Bad (panic): 228 => 100, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/ad91d8ac2936f9befb8dbffb43a687b77402318c/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 2/26](https://github.com/dudykr/stc/blob/24599a0028bc1089a940a73df1049a2125cf8d12/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | Although I (@kdy1) went a vacation this week, there were many progress thanks to contributors. 25 | 26 | ## Contributions 27 | 28 | ![Contributors](/images/this-week-in-stc/15/contributors.png) 29 | 30 | There were lots of contributors. Thank you! 31 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-16.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 16" 3 | date: 2023/3/5 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6023 => 6135, 17 | Bad (required): 3788 => 3866, 18 | Bad (excess): 1105 => 867, 19 | Bad (panic): 100 => 105, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/24599a0028bc1089a940a73df1049a2125cf8d12/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 3/5](https://github.com/dudykr/stc/blob/1fa615e2f3dce751ba0b371ff5cb6122f306c254/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | 26 | ## Noticable changes 27 | 28 | ### Test suite update ([#785](https://github.com/dudykr/stc/pull/785)) 29 | 30 | We update the test suite to the latest version, and that's why all numbers in the stats got bigger. 31 | 32 | ### Lots of refactoring 33 | 34 | We did lots of refactoring this week, to make the further development easier. 35 | 36 | 37 | ## Contributions 38 | 39 | ![Contributors](/images/this-week-in-stc/16/contributors.png) 40 | 41 | There were lots of contributors. Thank you! 42 | 43 | 44 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-17.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 17" 3 | date: 2023/3/12 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6135 => 6161, 17 | Bad (required): 3866 => 3840, 18 | Bad (excess): 867 => 847, 19 | Bad (panic): 105 => 107, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/1fa615e2f3dce751ba0b371ff5cb6122f306c254/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 3/12](https://github.com/dudykr/stc/blob/b918d5e0a9cf1a1b1d1cc6e1ff028ba40795817d/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | There was no many progress this work, but still some progress. 26 | 27 | ## Contributions 28 | 29 | ![Contributors](/images/this-week-in-stc/17/contributors.png) 30 | 31 | There were lots of contributors. Thank you! 32 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-18.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 18" 3 | date: 2023/3/19 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6161 => 6248, 17 | Bad (required): 3840 => 3753, 18 | Bad (excess): 847 => 703, 19 | Bad (panic): 107 => 105, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/b918d5e0a9cf1a1b1d1cc6e1ff028ba40795817d/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 3/19](https://github.com/dudykr/stc/blob/6e52c07298905c8507729b7500d6262c28ef6004/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | The stats were drastically improved mainly because there are so many rules that have already been implemented. 26 | **A test passes only when all relevant rules are implemented.** 27 | 28 | ## Contributions 29 | 30 | ![Contributors](/images/this-week-in-stc/18/contributors.png) 31 | 32 | Thank you all! 33 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-19.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 19" 3 | date: 2023/3/26 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6248 => 6295, 17 | Bad (required): 3753 => 3739, 18 | Bad (excess): 703 => 820, 19 | Bad (panic): 105 => 107, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/6e52c07298905c8507729b7500d6262c28ef6004/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 3/26](https://github.com/dudykr/stc/blob/0cdf38b9358728c3ac592baf2bbedc31c507be6f/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | Stats regressed because we updated SWC and now the tests for auto-accoessors are marked as extra errors (`Unimplemented`). 26 | 27 | ## Noticable changes 28 | 29 | ### SWC update ([#846](https://github.com/dudykr/stc/pull/846)) 30 | 31 | The previous version of SWC did not support auto-accoessors, but we updated SWC to the latest at the time of authoring PR and now it's parsed. 32 | 33 | ## Contributions 34 | 35 | ![Contributors](/images/this-week-in-stc/19/contributors.png) 36 | 37 | Thank you all! 38 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-2.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 2' 3 | date: 2022/11/20 4 | description: 'The second status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the second status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | { 16 | required_error: 4463 => 4350, 17 | matched_error: 5421 => 5534, 18 | extra_error: 999 => 1051, 19 | panic: 89 => 77, 20 | } 21 | ``` 22 | 23 | This is the diff for [the last commit on November, 13](https://github.com/dudykr/stc/blob/b451a2921766755bf94199f38489addd1d692897/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on November, 20](https://github.com/dudykr/stc/blob/c897b03cf317a385d5ff0d90a3cd52f399af0a3f/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 24 | 25 | `extra_error` means a false positive. In other words, it's the number of incorrect errors `stc` emits while it should not. 26 | Reducing it is the primary focus, but it was increased because I fixed lots of panics. 27 | If the analyzer panics while analyzing a test case, the stat becomes 28 | 29 | ```rust 30 | Stats { 31 | required_error: required_error, 32 | matched_error: 0, 33 | extra_error: 0, 34 | panic: 1 35 | } 36 | ``` 37 | 38 | When the panic is fixed, the analyzer may emit errors, and some of them are wrong. 39 | 40 | ## Contributions 41 | 42 | ![Contributors](/images/this-week-in-stc/2/contributors.png) 43 | 44 | 45 | There were some contributors this week. 46 | 47 | ## Noticeable changes 48 | 49 | - [#315](https://github.com/dudykr/stc/pull/315): Groundwork for RAII-based context for errors. 50 | 51 | Debugging [stc][] is a very difficult task. 52 | To help debugging, [stc][] emits some context information for each errors. 53 | 54 | It looks like the below. 55 | 56 | ``` 57 | x context: 58 | | lhs = number; 59 | | rhs = true; 60 | | context: `fail!()` called from assign/mod.rs:1840 61 | | LHS (final): number; 62 | | RHS (final): true; 63 | | WrongArgType { 64 | | span: Span { 65 | | lo: BytePos( 66 | | 941, 67 | | ), 68 | | hi: BytePos( 69 | | 945, 70 | | ), 71 | | ctxt: #0, 72 | | }, 73 | | inner: AssignFailed { 74 | | span: Span { 75 | | lo: BytePos( 76 | | 941, 77 | | ), 78 | | hi: BytePos( 79 | | 945, 80 | | ), 81 | | ctxt: #0, 82 | | }, 83 | | cause: [], 84 | | }, 85 | | } 86 | ,-[$DIR/tests/conformance/types/union/unionTypeConstructSignatures.ts:15:1] 87 | 15 | new unionOfDifferentReturnType1(true); // error in type of parameter 88 | : ^^^^ 89 | `---- 90 | ``` 91 | 92 | Previously, these contexts are added by calling `.context` method on the `Result` or the `Error` type, like 93 | 94 | ```rust 95 | return Err(ErrorKind::AssignFailed { 96 | span, 97 | left: box to.clone(), 98 | right: box rhs.clone(), 99 | right_ident: opts.right_ident_span, 100 | cause: vec![], 101 | } 102 | .context({ 103 | format!( 104 | "`fail!()` called from assign/mod.rs:{}\nLHS (final): {}\nRHS (final): {}", 105 | line!(), 106 | dump_type_as_string(&self.cm, to), 107 | dump_type_as_string(&self.cm, rhs) 108 | ) 109 | })) 110 | ``` 111 | 112 | But this is problematic because it does not attach additional context if I simply add `?` operator to an expression. 113 | 114 | I found a better solution. 115 | Once migration is done, it will look like 116 | 117 | ```rust 118 | let _ctx = ctx!(format!("convert_type_to_type_lit: {:?}", ty)); 119 | 120 | let ty = self.normalize(Some(span), ty, NormalizeTypeOpts { ..Default::default() })?; 121 | 122 | call_other()?; 123 | ``` 124 | 125 | instead of 126 | 127 | ```rust 128 | let ty = self.normalize(Some(span), ty, NormalizeTypeOpts { ..Default::default() }) 129 | .with_context(|| format!("convert_type_to_type_lit: {:?}", ty)); 130 | 131 | call_other().with_context(|| format!("convert_type_to_type_lit: {:?}", ty))?; 132 | ``` 133 | 134 | which is too verbose. 135 | 136 | Additionally, this allows tracking errors directly reported. 137 | In previous version there were no concept of stack. 138 | So there was no way to add full context to errors generated from the current code path. 139 | The new version will allow faster debugging. 140 | 141 | [stc]: https://github.com/dudykr/stc 142 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-20.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 20" 3 | date: 2023/4/2 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6295 => 6315, 17 | Bad (required): 3739 => 3719, 18 | Bad (excess): 820 => 772, 19 | Bad (panic): 107 => 106, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/0cdf38b9358728c3ac592baf2bbedc31c507be6f/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 4/2](https://github.com/dudykr/stc/blob/e8cf60f9aa3fafb41cbf8261d6b82e60b4ce40f4/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | Although I (`@kdy1`) was very busy, I and the contributors managed to fix some bugs. 26 | Actually, I'm working on a new log viewer project for stc. 27 | It will take some time, but I'm sure that it will make the development of stc much easier. 28 | 29 | ## Contributions 30 | 31 | ![Contributors](/images/this-week-in-stc/20/contributors.png) 32 | 33 | Thank you! 34 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-21.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 21" 3 | date: 2023/4/9 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6315 => 6326, 17 | Bad (required): 3719 => 3708, 18 | Bad (excess): 772, 19 | Bad (panic): 106 => 73, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/e8cf60f9aa3fafb41cbf8261d6b82e60b4ce40f4/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 4/9](https://github.com/dudykr/stc/blob/82a663b6d6773023969416dcfe84de0cac5f5bd3/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | We fixed lots of excess errors, but the number regressed while fixing panics. 25 | 26 | ## Contributions 27 | 28 | ![Contributors](/images/this-week-in-stc/21/contributors.png) 29 | 30 | Thank you! 31 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-22.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 22" 3 | date: 2023/4/16 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | Matched: 6326 => 6356, 17 | Bad (required): 3708 => 3678, 18 | Bad (excess): 772 => 744, 19 | Bad (panic): 73 => 72, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/82a663b6d6773023969416dcfe84de0cac5f5bd3/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 4/16](https://github.com/dudykr/stc/blob/dce9791936c6488a187fc988d51361b327fe189d/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | I (`@kdy1`) was too busy because of swc, so I couldn't work on stc a lot. 25 | 26 | ## Contributions 27 | 28 | ![Contributors](/images/this-week-in-stc/22/contributors.png) 29 | 30 | Thank you! 31 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-23.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "This week in stc, 23" 3 | date: 2023/4/16 4 | description: "The status update for stc" 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc](https://github.com/dudykr/stc), the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | ``` 13 | Stats { 14 | Matched: 6356 => 6377, 15 | Bad (required): 3678 => 3658, 16 | Bad (excess): 766, 17 | Bad (panic): 74, 18 | } 19 | ``` 20 | 21 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/dce9791936c6488a187fc988d51361b327fe189d/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 4/23](https://github.com/dudykr/stc/blob/18624b68e031b617b1e697705b1059273a6e7d8a/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 22 | The stats regressed because we updated our test suite to match the latest version of TypeScript. 23 | 24 | # Noticable changes 25 | 26 | ## Language server 27 | 28 | ![Screenshot](/images/this-week-in-stc/23/lsp.png) 29 | 30 | We are working on a language server for stc. It is still in early stage, and the main goal is to help us to debug the type checker. 31 | 32 | ## Contributions 33 | 34 | ![Contributors](/images/this-week-in-stc/23/contributors.png) 35 | 36 | Thank you! 37 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-3.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 3' 3 | date: 2022/11/27 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4350 => 4338, 17 | matched_error: 5534 => 5546, 18 | extra_error: 1051 => 991, 19 | panic: 77 => 74, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/c897b03cf317a385d5ff0d90a3cd52f399af0a3f/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on November, 27](https://github.com/dudykr/stc/blob/41b76af273b27a172b6f8e50d7ea36f1bf0eda46/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/3/contributors.png) 28 | 29 | 30 | There were one contributor this week. 31 | I took a vacation and I went on a trip, so I didn't have lots of time to do stc work. 32 | 33 | ## Noticeable changes 34 | 35 | There was no noticable change this week. 36 | 37 | [stc]: https://github.com/dudykr/stc 38 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-4.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 4' 3 | date: 2022/12/04 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4338 => 4301, 17 | matched_error: 5546 => 5583, 18 | extra_error: 991 => 869, 19 | panic: 74, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/41b76af273b27a172b6f8e50d7ea36f1bf0eda46/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on December, 4](https://github.com/dudykr/stc/blob/d8b1673e3f145af6a0cb3eb896b02a6798e87df5/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/4/contributors.png) 28 | 29 | 30 | There were one contributor this week. 31 | 32 | ## Noticeable changes 33 | 34 | There was no noticable change this week. 35 | All PRs were steady jobs. 36 | 37 | [stc]: https://github.com/dudykr/stc 38 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-5.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 5' 3 | date: 2022/12/11 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4301 => 4294, 17 | matched_error: 5583 => 5590, 18 | extra_error: 869 => 817, 19 | panic: 74, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/d8b1673e3f145af6a0cb3eb896b02a6798e87df5/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on December, 11](https://github.com/dudykr/stc/blob/23dd114529f10c5d645887c055cd396d1bfe7b11/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/5/contributors.png) 28 | 29 | 30 | There were two contributors this week. 31 | 32 | ## Noticeable changes 33 | 34 | There was no noticable change this week. 35 | All PRs were steady jobs. 36 | 37 | [stc]: https://github.com/dudykr/stc 38 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-6.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 6' 3 | date: 2022/12/18 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4294 => 4270, 17 | matched_error: 5590 => 5614, 18 | extra_error: 817 => 761, 19 | panic: 74, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/23dd114529f10c5d645887c055cd396d1bfe7b11/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on December, 11](https://github.com/dudykr/stc/blob/d6dc481fd29c9e6e93e268dbd4f11a7b3883a6d2/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/6/contributors.png) 28 | 29 | There were lots of contributors this week. 30 | Thank you! 31 | 32 | ## Noticeable change 33 | 34 | There were no noticable change, but I'm working on [#414: Ignore wrong test refs](https://github.com/dudykr/stc/pull/414), which makes the testing system stricter. I expect a productivity boost from it. 35 | 36 | [stc]: https://github.com/dudykr/stc 37 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-7.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 7' 3 | date: 2023/1/1 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | Note that preivous status update was skipped, because I was too busy. 10 | 11 | ## TL;DR; 12 | 13 | Stats: 14 | 15 | ``` 16 | Stats { 17 | required_error: 4270 => 4245, 18 | matched_error: 5614 => 5629, 19 | extra_error: 761 => 743, 20 | panic: 74 => 72, 21 | } 22 | ``` 23 | 24 | Note: This is the change of two weeks. 25 | 26 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/d6dc481fd29c9e6e93e268dbd4f11a7b3883a6d2/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 1/1](https://github.com/dudykr/stc/blob/977a433daae8d5dd51312e2c8921912008396b17/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) 27 | 28 | ## Contributions 29 | 30 | ![Contributors](/images/this-week-in-stc/7/contributors.png) 31 | 32 | There were more contributors previous week, but GitHub does not provide the data for the previous week. 33 | Thank you, everyone! 34 | 35 | --- 36 | 37 | [stc]: https://github.com/dudykr/stc 38 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-8.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 8' 3 | date: 2023/1/8 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4245 => 4237, 17 | matched_error: 5639 => 5647, 18 | extra_error: 743 => 735, 19 | panic: 72 => 71, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/977a433daae8d5dd51312e2c8921912008396b17/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 1/8](https://github.com/dudykr/stc/blob/b021e8958481fedb12c648f070963b59ccb28128/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | 25 | ## Contributions 26 | 27 | ![Contributors](/images/this-week-in-stc/8/contributors.png) 28 | 29 | There were 3 contributors this week. 30 | Thank you! 31 | 32 | --- 33 | 34 | [stc]: https://github.com/dudykr/stc 35 | -------------------------------------------------------------------------------- /sites/stc/pages/blog/this-week-in-stc/week-9.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'This week in stc, 9' 3 | date: 2023/1/15 4 | description: 'The status update for stc' 5 | author: kdy1 6 | --- 7 | 8 | This is the status update for [stc][], the new TypeScript type checker written in Rust. 9 | 10 | ## TL;DR; 11 | 12 | Stats: 13 | 14 | ``` 15 | Stats { 16 | required_error: 4237 => 4291, 17 | matched_error: 5647 => 5814, 18 | extra_error: 735 => 1118, 19 | panic: 71 => 29, 20 | } 21 | ``` 22 | 23 | This is the diff for [the commit used for previous status update](https://github.com/dudykr/stc/blob/b021e8958481fedb12c648f070963b59ccb28128/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug) and [the last commit on 1/15](https://github.com/dudykr/stc/blob/fcf2e3c58eca78aa46fdbe4c16435225b9a2a663/crates/stc_ts_type_checker/tests/tsc-stats.rust-debug). 24 | We changed the way we count the number of errors to make it represent the actual progress more closely. 25 | 26 | ## Contributions 27 | 28 | ![Contributors](/images/this-week-in-stc/9/contributors.png) 29 | 30 | There were lots of Contributions this week. 31 | Thank you! 32 | 33 | ## Noticable changes 34 | 35 | ### Change the way we count errors ([#487](https://github.com/dudykr/stc/pull/487)) 36 | 37 | There are matrix tests in the test suite of `tsc`. 38 | Those tests have one input, but have multiple results, depending on the directives like `@target: es5, es2015, esnext`. 39 | Previously, we counted them as one test. 40 | But we now count the matrix tests, which has multiple result, once per the result. 41 | That's the main reason why the number of `extra_error` increased. 42 | 43 | 44 | ### Remove panic ([#468](https://github.com/dudykr/stc/pull/468), [#493](https://github.com/dudykr/stc/pull/493)) 45 | 46 | We replaced `panic!` calls with `Unimplemented` errors to make the stats more accurate. 47 | 48 | 49 | 50 | --- 51 | 52 | [stc]: https://github.com/dudykr/stc 53 | -------------------------------------------------------------------------------- /sites/stc/pages/docs/_meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "getting-started": "Getting Started", 3 | "roadmap": "Roadmap", 4 | "contributing": "Contributing" 5 | } 6 | -------------------------------------------------------------------------------- /sites/stc/pages/docs/contributing.mdx: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | ## Configuring development environment 4 | 5 | 1. Clone stc. 6 | 2. Run `yarn` in the cloned directory. 7 | 3. (mac only) Install `zld` 8 | 9 | ```sh 10 | brew install michaeleisel/zld/zld 11 | ``` 12 | 13 | ## Testing system 14 | 15 | If the filename of a test case file described below starts with `.`, it means it's ignored. 16 | 17 | ## Project structure 18 | 19 | ### crates/stc_ts_file_analyzer 20 | 21 | Frequently used scripts: 22 | 23 | - `./scripts/fast.sh` 24 | 25 | If no argument is specified, this runs all `base` tests declared in the file analyzer crate. 26 | This script is fast, so you can run it frequently. 27 | 28 | **Note**: This command does not enable logging because it's too verbose. 29 | 30 | --- 31 | 32 | - `./scripts/base.sh` 33 | 34 | If no argument is specified, this runs all `base` tests declared in the file analyzer crate. 35 | This command is slow, so it's recommended to use it like 36 | 37 | ```bash 38 | ./scripts/base.sh pass_only_tests__pass_only__conformance__types__tuple__variadicTuples1__3_ts 39 | ``` 40 | 41 | You can get the test name by invoking `./scripts/fast.sh`, `./scripts/test.sh` (from stc_ts_type_checker), or `./scripts/check.sh` (from stc_ts_type_checker). 42 | 43 | --- 44 | 45 | - `./scripts/auto-unignore.sh` 46 | 47 | This command can be used to select a task to work on, or verify that your change make more `pass-only`/`errors` tests pass. 48 | 49 | **Note**: This command does not enable logging because it's too verbose. 50 | 51 | #### tests/base.rs 52 | 53 | This test file declares 5 testing systems, `pass`, `pass-only`, `errors`, `tsc`, and `visualize`. 54 | You should prefer shell scripts in `scripts` directory over direct `cargo test` invokation. 55 | 56 | #### tests/pass-only 57 | 58 | Any TypeScript file in this directory will be evaluated, and the test systme will ensure that `stc` doesn't emit any error. 59 | 60 | #### tests/pass 61 | 62 | Any TypeScript file in this directory will be evaluated, the test systme will ensure that `stc` doesn't emit any error, and the type of expressions are printed to a `.swc-stderr` file. 63 | 64 | #### tests/errors 65 | 66 | Any TypeScript file in this directory will be evaluated, and the test systme will ensure that `stc` emit at least one error. 67 | In future, we will check the error message as well. 68 | 69 | #### tests/tsc 70 | 71 | Any TypeScript file in this directory will be evaluated, and the result will be compared with the official TypeScript compiler. 72 | 73 | #### tests/visualize 74 | 75 | Any TypeScript file in this directory will be evaluated, and the type of expressions are printed to a `.swc-stderr` file. 76 | 77 | ### crates/stc_ts_type_checker 78 | 79 | - `./scripts/check.sh` 80 | 81 | You can invoke this script to run all conformance tests, and update stats. 82 | 83 | **Note**: This command invokes base tests described above, and aborts if it fails. 84 | 85 | --- 86 | 87 | - `./scripts/test.sh` 88 | 89 | You can invoke single conformance test case by using `./scripts/test.sh` from `./crates/stc_ts_type_checker`. 90 | 91 | ```bash 92 | ./scripts/test.sh staticIndexSignature 93 | ``` 94 | 95 | will run conformance tests which have `staticIndexSignature` in their test name. 96 | 97 | **Note**: This command invokes base tests described above, and aborts if it fails. 98 | 99 | #### tests/tsc.rs 100 | 101 | This test suite declares the test suite ported from the official TypeScript compiler, `tsc`. 102 | You are not expected to run this test via `cargo test` directly, and instead you should use `./scripts/test.sh` or `./scripts/check.sh`. 103 | 104 | ## Workflows 105 | 106 | Regardless of the workflow you choose, you should run `./scripts/check.sh` when you are done. 107 | 108 | ### Using unit test (in file analyzer) 109 | 110 | You can run 111 | 112 | ```bash 113 | ./scripts/auto-unignore.sh 114 | ``` 115 | 116 | to get list of tasks to work on. 117 | Select one test input file from the terminal, and reanme it to not have `.` as prefix in their filename. 118 | 119 | e.g. 120 | 121 | - `.foo/1.ts` => `foo/1.ts` 122 | - `foo/.1.ts` => `foo/1.ts` 123 | 124 | Then, you can run 125 | 126 | ```bash 127 | ./scripts/fast.sh 128 | ``` 129 | 130 | to run the tests in a timely manner, or 131 | 132 | ```bash 133 | ./scripts/base.sh $test_name 134 | ``` 135 | 136 | to get log messages. 137 | 138 | ### Using conformance test suite 139 | 140 | First, you should find a erroneous test case. 141 | Typically, you can find one by running `./scripts/check.sh` from `./crates/stc_ts_type_checker`. 142 | It will print enormous amount of log. 143 | You should focus on false-positives. 144 | Each error will contain lots of information required for debugging, with `context:` prefix. 145 | 146 | If you want, you can copy the file to `./crates/stc_ts_file_analyzer/tests/...` and run `./scripts/fast.sh` from the file analyzer. 147 | It's recommended to reduce the test input as much as possible, because `stc` prints enormous amount of log messages in a debug build. 148 | 149 | Otherwise, you can use `./scripts/test.sh` from `./crates/stc_ts_type_checker` to run a single test case. 150 | As `./scripts/test.sh` prints log messags, debugging will be easier. 151 | 152 | ### Finding test cases with specific excessive errors 153 | 154 | You can run `./scripts/errors/find-extra.sh TS2322` from `./crates/stc_ts_type_checker` to find all false-positive `TS2322` errors. 155 | 156 | ## Debugging tips 157 | 158 | ### Rustdoc 159 | 160 | You can look at [the rustdoc for `Analyzer`](https://rustdoc.stc.dudy.dev/stc_ts_file_analyzer/analyzer/struct.Analyzer.html) to get list of implemented operations. 161 | 162 | ### Debugging with vscode Debugger 163 | 164 | Please copy `.vscode/launch.template.json` and rename it to `.vscode/launch.json`. 165 | 166 | In `launch.json`, you can pass the path of the `.ts` file you want to check to the `args` field. 167 | Then, you can run the type checker with debugger from the debugger panel. 168 | 169 | ### `print_backtrace()` 170 | 171 | If you think some code should not be invoked but seems like it's invoked, you can use `print_backtrace()`. 172 | It will print the stack trace of the current thread. 173 | Note that it will automatically exclude useless items from the stack trace. 174 | 175 | ### Matching over `Type` 176 | 177 | To avoid performance drop caused by cloning, `stc` uses `Type::Arc` to share memory. 178 | But there's a downside for this - you have to call `normalize()` while matching. 179 | 180 | e.g. 181 | 182 | ```rust 183 | match ty.normalize() { 184 | } 185 | ``` 186 | 187 | Note that this is different from `self.normalize(ty)` of `Analyzer`, which is used to expand special types like references, queries, mapped, etc.. 188 | 189 | ### Finding problematic code 190 | 191 | Look at the `context:` in the error output, and search it from repository using substring of the context. 192 | e.g. `tried to assign to a template type` means the error comes from [analyzer/assign/mod.rs#L2208](https://github.com/dudykr/stc/blob/1c73ce5fa87ec789ead108c5c6876e8089b1e5de/crates/stc_ts_file_analyzer/src/analyzer/assign/mod.rs#L2208) 193 | 194 | ## Troubleshooting 195 | 196 | ### Windows - `unstable on this platform` 197 | 198 | In case if you're using Windows and getting an error 199 | 200 | ```sh 201 | error: `-Csplit-debuginfo=unpacked` is unstable on this platform 202 | ``` 203 | 204 | as a workaround you can try using [WSL](https://learn.microsoft.com/en-us/windows/wsl/). 205 | 206 | ### `failed to execute command` 207 | 208 | If you're getting something like 209 | 210 | ```sh 211 | --- stderr 212 | thread 'main' panicked at 'failed to execute command: No such file or directory (os error 2)', /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/tikv-jemalloc-sys-0.5.2+5.3.0-patched/build.rs:326:19 213 | ``` 214 | 215 | try running `apt-get install make`. ([related issue](https://github.com/gnzlbg/jemallocator/issues/148#issuecomment-619373613)) 216 | -------------------------------------------------------------------------------- /sites/stc/pages/docs/getting-started.mdx: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | ## Installation 4 | -------------------------------------------------------------------------------- /sites/stc/pages/docs/roadmap.mdx: -------------------------------------------------------------------------------- 1 | # Roadmap to the alpha 2 | 3 | `(*)` in title means it's subject to change. 4 | 5 | 6 | ## Goals regarding `tsc` 7 | 8 | As there's no specification of TypeScript, the stc team will treat `tsc` as the specification. 9 | It means if the behavior of `tsc` and `stc` is different, `stc` will be fixed to match `tsc`, unless explicitly stated in this document. 10 | 11 | ## Plans 12 | 13 | ### A new language server 14 | 15 | This is the primary goal, and once this is ready, the alpha will be released. 16 | 17 | For this, 18 | 19 | - the inference of types should be correct 20 | - there should be no false-positive errors 21 | - typings should be loaded correctly 22 | 23 | ### Only `isolatedModules: true` 24 | 25 | Ref: https://www.typescriptlang.org/tsconfig#isolatedModules 26 | 27 | This is required for proper parallelization. `const enums` are fine if they are imported using module syntax, but **TypeScript namespaces cannot be analyzed in parallel**. 28 | 29 | ### Better error message 30 | 31 | ### Better language server 32 | 33 | ### (*) A compiler for typings 34 | 35 | - This is subject to change. 36 | 37 | Many typing packages, including `@types/node`, cannot be analyzed in parallel because they use `namespace` and globals. 38 | So we can use only one thread for each typing package. 39 | But actually, this operation is easily cachable, and I expect the effect of caching to be significant. 40 | So I think it's worth it to provide a pre-compile API for typing packages. -------------------------------------------------------------------------------- /sites/stc/pages/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: "STC: Speedy type checker" 3 | --- 4 | 5 | import { useSSG } from 'nextra/ssg' 6 | import { Chart as ChartJS, Colors, LinearScale, TimeScale, PointElement, LineElement, Title, Tooltip, Legend } from 'chart.js' 7 | import 'chartjs-adapter-date-fns' 8 | import { Line } from 'react-chartjs-2' 9 | 10 | export const normalizeJson = (string) => { 11 | // REFER: see https://stackoverflow.com/a/60708762 12 | return string.replace(/[\s\n\r\t]/gs, '').replace(/,([}\]])/gs, '$1') 13 | .replace(/([,{\[]|)(?:("|'|)([\w_\- ]+)\2:|)("|'|)(.*?)\4([,}\]])/gs, (str, start, q1, index, q2, item, end) => { 14 | item = item.replace(/"/gsi, '').trim() 15 | if (index) { index = '"'+index.replace(/"/gsi, '').trim() + '"' } 16 | if (!item.match(/^[0-9]+(\.[0-9]+|)$/) && !['true','false'].includes(item)) { item = '"' + item + '"' } 17 | if (index) { return start + index + ':' + item + end } 18 | return start + item + end 19 | }) 20 | } 21 | 22 | export const getCommits = async (ghToken, owner, repo, filename) => { 23 | if (!ghToken || !ghToken.length) { 24 | throw new Error('Github API token missing! Please configure it with the environment variable GITHUB_TOKEN') 25 | } 26 | let commitsPromises = Array(5).fill(null).map(async (_, i) => { 27 | const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/commits?path=${filename}&since=2022-11-11T00:00:00Z&per_page=20&page=${i + 1}`, { 28 | headers: { 29 | 'Authorization': `token ${ghToken}`, 30 | }, 31 | }) 32 | return await response.json() 33 | }) 34 | 35 | const json = (await Promise.all(commitsPromises)).reduce((acc, curr) => acc.concat(curr)) 36 | return json 37 | } 38 | 39 | export const getStats = async (ghToken, owner, repo, filename) => { 40 | const commits = await getCommits(ghToken, owner, repo, filename) 41 | const versionFetchers = commits.map(commit => fetch(`https://raw.githubusercontent.com/${owner}/${repo}/${commit.sha}/${filename}`)) 42 | const allVersions = await Promise.all(versionFetchers) 43 | const rawStats = await Promise.all(allVersions.map(r => r.text())) 44 | const stats = rawStats.map((statText, index) => { 45 | const stringifiedJson = statText.replace('Stats ', '') 46 | const stat = JSON.parse(normalizeJson(stringifiedJson)) 47 | return { 48 | ...stat, 49 | date: commits[index].commit.author.date, 50 | } 51 | }) 52 | return stats 53 | } 54 | 55 | export const getChartableStats = async (ghToken, owner, repo, filename) => { 56 | const options = { 57 | responsive: true, 58 | maintainAspectRatio: false, 59 | spanGaps: true, 60 | showLine: true, 61 | scales: { 62 | x: { 63 | type: 'time', 64 | time: { 65 | unit: 'week', 66 | }, 67 | }, 68 | }, 69 | plugins: { 70 | legend: { 71 | position: 'top' 72 | }, 73 | title: { 74 | display: false, 75 | text: 'STC Development Progress' 76 | }, 77 | } 78 | } 79 | 80 | const stats = await getStats(ghToken, owner, repo, filename) 81 | 82 | const data = { 83 | datasets: [ 84 | { 85 | label: 'Required', 86 | data: stats.map((s) => { 87 | return { 88 | x: s.date, 89 | y: s.required_error, 90 | } 91 | }), 92 | borderColor: '#57A0E5', 93 | backgroundColor: '#57A0E5', 94 | }, 95 | { 96 | label: 'Matched', 97 | data: stats.map((s) => { 98 | return { 99 | x: s.date, 100 | y: s.matched_error, 101 | } 102 | }), 103 | borderColor: '#9268F6', 104 | backgroundColor: '#9268F6', 105 | }, 106 | { 107 | label: 'Extra', 108 | data: stats.map((s) => { 109 | return { 110 | x: s.date, 111 | y: s.extra_error, 112 | } 113 | }), 114 | borderColor: '#6DBEBF', 115 | backgroundColor: '#6DBEBF', 116 | }, 117 | { 118 | label: 'Panic', 119 | data: stats.map((s) => { 120 | return { 121 | x: s.date, 122 | y: s.panic, 123 | } 124 | }), 125 | borderColor: '#ED6D85', 126 | backgroundColor: '#ED6D85', 127 | }, 128 | ] 129 | } 130 | 131 | return { 132 | options, 133 | data, 134 | } 135 | } 136 | 137 | export const getStaticProps = async ({ params }) => { 138 | const ghToken = process.env.GITHUB_TOKEN 139 | const owner = 'dudykr' 140 | const repo = 'stc' 141 | const filename = 'crates/stc_ts_type_checker/tests/tsc-stats.rust-debug' 142 | const data = await getChartableStats(ghToken, owner, repo, filename) 143 | return { 144 | props: { 145 | // We add an `ssg` field to the page props, 146 | // which will be provided to the Nextra `useSSG` hook. 147 | ssg: { 148 | content: btoa(JSON.stringify(data)), 149 | }, 150 | }, 151 | // The page will be considered as stale and regenerated every 1 hour. 152 | revalidate: 60 * 60, 153 | } 154 | } 155 | 156 | export const Stats = () => { 157 | ChartJS.register( 158 | LinearScale, 159 | TimeScale, 160 | PointElement, 161 | LineElement, 162 | Title, 163 | Tooltip, 164 | Legend 165 | ) 166 | // Get the data from SSG, and render it as a component. 167 | const { content } = useSSG() 168 | const { options, data } = JSON.parse(decodeURIComponent(escape(atob(content)))) 169 | return 170 | } 171 | 172 | The fastest TypeScript type checker written in Rust. 173 | 174 | ## Status 175 | 176 | `stc` is under active development. 177 | To provide an estimate of the progress, we provide historical statistics. 178 | 179 | 180 | 181 | 182 | - Required means a true negative, which is a type error that is not reported by `stc`. 183 | 184 | - Matched means a true positive, which is a type error that is reported by `stc` and correct. 185 | 186 | - Extra means a false positive. In other words, it's the number of incorrect errors `stc` emits while it should not. 187 | 188 | - Panic means the analyzer panicked while validating input files, due to a logic bug. 189 | -------------------------------------------------------------------------------- /sites/stc/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/favicon.ico -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/1/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/1/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/10/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/10/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/11/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/11/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/12/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/12/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/13/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/13/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/14/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/14/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/15/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/15/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/16/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/16/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/17/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/17/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/18/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/18/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/19/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/19/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/2/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/2/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/20/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/20/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/21/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/21/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/22/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/22/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/23/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/23/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/23/lsp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/23/lsp.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/3/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/3/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/4/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/4/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/5/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/5/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/6/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/6/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/7/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/7/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/8/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/8/contributors.png -------------------------------------------------------------------------------- /sites/stc/public/images/this-week-in-stc/9/contributors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dudykr/oss-docs/0e0a79085afdc903fb5484d955e8b92ea4913cd3/sites/stc/public/images/this-week-in-stc/9/contributors.png -------------------------------------------------------------------------------- /sites/stc/styles.css: -------------------------------------------------------------------------------- 1 | @tailwind utilities; 2 | 3 | .docs-search > span { 4 | width: 100%; 5 | } 6 | 7 | .algolia-autocomplete .algolia-docsearch-suggestion--category-header span { 8 | display: inline-block; 9 | } 10 | .algolia-autocomplete .ds-dropdown-menu { 11 | width: 500px; 12 | min-width: 300px; 13 | max-width: calc(100vw - 50px); 14 | } 15 | 16 | [data-reach-skip-link] { 17 | @apply sr-only; 18 | } 19 | 20 | [data-reach-skip-link]:focus { 21 | @apply not-sr-only fixed top-0 z-50 ml-6 mt-2 bg-white px-6 py-2 text-lg outline-none focus:ring; 22 | } 23 | 24 | code { 25 | @apply text-sm; 26 | } 27 | 28 | .prism-code.language-diff .inserted.prefix, 29 | .prism-code.language-diff .deleted.prefix { 30 | user-select: none; 31 | @apply opacity-30; 32 | } 33 | 34 | .prism-code.language-diff .inserted.line { 35 | @apply text-green-600; 36 | } 37 | .prism-code.language-diff .deleted.line { 38 | @apply text-red-600; 39 | } 40 | 41 | /* Hack to make the TOC links look better by adjusting kerning */ 42 | article > main + div a.font-semibold { 43 | font-weight: 500; 44 | letter-spacing: -0.01rem; 45 | } 46 | 47 | .dark .invert-on-dark { 48 | filter: invert(1) brightness(1.8); 49 | } 50 | 51 | .dark .docs-container select { 52 | background: rgba(17, 17, 17, 1); 53 | } 54 | -------------------------------------------------------------------------------- /sites/stc/theme.config.js: -------------------------------------------------------------------------------- 1 | import { useConfig } from "nextra-theme-docs"; 2 | 3 | const Head = () => { 4 | const { frontMatter, title } = useConfig(); 5 | return ( 6 | <> 7 | 8 | {/* Favicons, meta */} 9 | 14 | 20 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 43 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 66 | 67 | ); 68 | }; 69 | /** @type import('nextra-theme-docs').DocsThemeConfig */ 70 | export default { 71 | project: { 72 | link: "https://github.com/dudykr/stc", 73 | }, 74 | editLink: { 75 | text: "Edit this page on GitHub", 76 | }, 77 | docsRepositoryBase: "https://github.com/dudykr/oss-docs/blob/main", 78 | useNextSeoProps() { 79 | return { 80 | titleTemplate: "%s – stc", 81 | }; 82 | }, 83 | toc: { 84 | float: true, 85 | }, 86 | head: , 87 | logo: () => ( 88 | <> 89 | 90 | stc 91 | 92 | 93 | ), 94 | footer: { 95 | text: () => ( 96 | <> 97 | {`MIT ${new Date().getFullYear()} © Dudy.`} 98 | 99 | ), 100 | }, 101 | 102 | navigation:{ 103 | prev:true,next:true, 104 | } 105 | , 106 | 107 | }; 108 | -------------------------------------------------------------------------------- /sites/stc/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2015", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true, 17 | "baseUrl": ".", 18 | "paths": { 19 | "~/*": ["*"] 20 | } 21 | }, 22 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 23 | "exclude": ["node_modules"] 24 | } 25 | --------------------------------------------------------------------------------