msc-viewer.meta

Issues/PRs archive for MTRNord/msc-viewer
git clone git://archive.git.mtrnord.blog/MTRNord/msc-viewer.meta.git
Log | Files | Refs

18.diff (48297B)


      1 diff --git a/package-lock.json b/package-lock.json
      2 index d698390..6d75807 100644
      3 --- a/package-lock.json
      4 +++ b/package-lock.json
      5 @@ -12,7 +12,7 @@
      6                  "@astrojs/node": "^7.0.1",
      7                  "@astrojs/tailwind": "^5.0.3",
      8                  "@webcomponents/template-shadowroot": "^0.2.1",
      9 -                "astro": "^4.0.6",
     10 +                "astro": "^4.1.1",
     11                  "diff2html": "^3.4.46",
     12                  "lit": "^2.8.0",
     13                  "marked": "^11.0.1",
     14 @@ -572,6 +572,15 @@
     15              "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz",
     16              "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA=="
     17          },
     18 +        "node_modules/@emnapi/runtime": {
     19 +            "version": "0.44.0",
     20 +            "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz",
     21 +            "integrity": "sha512-ZX/etZEZw8DR7zAB1eVQT40lNo0jeqpb6dCgOvctB6FIQ5PoXfMuNY8+ayQfu8tNQbAB8gQWSSJupR8NxeiZXw==",
     22 +            "optional": true,
     23 +            "dependencies": {
     24 +                "tslib": "^2.4.0"
     25 +            }
     26 +        },
     27          "node_modules/@esbuild/android-arm": {
     28              "version": "0.19.8",
     29              "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.8.tgz",
     30 @@ -902,6 +911,437 @@
     31                  "node": ">=12"
     32              }
     33          },
     34 +        "node_modules/@img/sharp-darwin-arm64": {
     35 +            "version": "0.33.1",
     36 +            "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.1.tgz",
     37 +            "integrity": "sha512-esr2BZ1x0bo+wl7Gx2hjssYhjrhUsD88VQulI0FrG8/otRQUOxLWHMBd1Y1qo2Gfg2KUvXNpT0ASnV9BzJCexw==",
     38 +            "cpu": [
     39 +                "arm64"
     40 +            ],
     41 +            "optional": true,
     42 +            "os": [
     43 +                "darwin"
     44 +            ],
     45 +            "engines": {
     46 +                "glibc": ">=2.26",
     47 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
     48 +                "npm": ">=9.6.5",
     49 +                "pnpm": ">=7.1.0",
     50 +                "yarn": ">=3.2.0"
     51 +            },
     52 +            "funding": {
     53 +                "url": "https://opencollective.com/libvips"
     54 +            },
     55 +            "optionalDependencies": {
     56 +                "@img/sharp-libvips-darwin-arm64": "1.0.0"
     57 +            }
     58 +        },
     59 +        "node_modules/@img/sharp-darwin-x64": {
     60 +            "version": "0.33.1",
     61 +            "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.1.tgz",
     62 +            "integrity": "sha512-YrnuB3bXuWdG+hJlXtq7C73lF8ampkhU3tMxg5Hh+E7ikxbUVOU9nlNtVTloDXz6pRHt2y2oKJq7DY/yt+UXYw==",
     63 +            "cpu": [
     64 +                "x64"
     65 +            ],
     66 +            "optional": true,
     67 +            "os": [
     68 +                "darwin"
     69 +            ],
     70 +            "engines": {
     71 +                "glibc": ">=2.26",
     72 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
     73 +                "npm": ">=9.6.5",
     74 +                "pnpm": ">=7.1.0",
     75 +                "yarn": ">=3.2.0"
     76 +            },
     77 +            "funding": {
     78 +                "url": "https://opencollective.com/libvips"
     79 +            },
     80 +            "optionalDependencies": {
     81 +                "@img/sharp-libvips-darwin-x64": "1.0.0"
     82 +            }
     83 +        },
     84 +        "node_modules/@img/sharp-libvips-darwin-arm64": {
     85 +            "version": "1.0.0",
     86 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.0.tgz",
     87 +            "integrity": "sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw==",
     88 +            "cpu": [
     89 +                "arm64"
     90 +            ],
     91 +            "optional": true,
     92 +            "os": [
     93 +                "darwin"
     94 +            ],
     95 +            "engines": {
     96 +                "macos": ">=11",
     97 +                "npm": ">=9.6.5",
     98 +                "pnpm": ">=7.1.0",
     99 +                "yarn": ">=3.2.0"
    100 +            },
    101 +            "funding": {
    102 +                "url": "https://opencollective.com/libvips"
    103 +            }
    104 +        },
    105 +        "node_modules/@img/sharp-libvips-darwin-x64": {
    106 +            "version": "1.0.0",
    107 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.0.tgz",
    108 +            "integrity": "sha512-dD9OznTlHD6aovRswaPNEy8dKtSAmNo4++tO7uuR4o5VxbVAOoEQ1uSmN4iFAdQneTHws1lkTZeiXPrcCkh6IA==",
    109 +            "cpu": [
    110 +                "x64"
    111 +            ],
    112 +            "optional": true,
    113 +            "os": [
    114 +                "darwin"
    115 +            ],
    116 +            "engines": {
    117 +                "macos": ">=10.13",
    118 +                "npm": ">=9.6.5",
    119 +                "pnpm": ">=7.1.0",
    120 +                "yarn": ">=3.2.0"
    121 +            },
    122 +            "funding": {
    123 +                "url": "https://opencollective.com/libvips"
    124 +            }
    125 +        },
    126 +        "node_modules/@img/sharp-libvips-linux-arm": {
    127 +            "version": "1.0.0",
    128 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.0.tgz",
    129 +            "integrity": "sha512-VwgD2eEikDJUk09Mn9Dzi1OW2OJFRQK+XlBTkUNmAWPrtj8Ly0yq05DFgu1VCMx2/DqCGQVi5A1dM9hTmxf3uw==",
    130 +            "cpu": [
    131 +                "arm"
    132 +            ],
    133 +            "optional": true,
    134 +            "os": [
    135 +                "linux"
    136 +            ],
    137 +            "engines": {
    138 +                "glibc": ">=2.28",
    139 +                "npm": ">=9.6.5",
    140 +                "pnpm": ">=7.1.0",
    141 +                "yarn": ">=3.2.0"
    142 +            },
    143 +            "funding": {
    144 +                "url": "https://opencollective.com/libvips"
    145 +            }
    146 +        },
    147 +        "node_modules/@img/sharp-libvips-linux-arm64": {
    148 +            "version": "1.0.0",
    149 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.0.tgz",
    150 +            "integrity": "sha512-xTYThiqEZEZc0PRU90yVtM3KE7lw1bKdnDQ9kCTHWbqWyHOe4NpPOtMGy27YnN51q0J5dqRrvicfPbALIOeAZA==",
    151 +            "cpu": [
    152 +                "arm64"
    153 +            ],
    154 +            "optional": true,
    155 +            "os": [
    156 +                "linux"
    157 +            ],
    158 +            "engines": {
    159 +                "glibc": ">=2.26",
    160 +                "npm": ">=9.6.5",
    161 +                "pnpm": ">=7.1.0",
    162 +                "yarn": ">=3.2.0"
    163 +            },
    164 +            "funding": {
    165 +                "url": "https://opencollective.com/libvips"
    166 +            }
    167 +        },
    168 +        "node_modules/@img/sharp-libvips-linux-s390x": {
    169 +            "version": "1.0.0",
    170 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.0.tgz",
    171 +            "integrity": "sha512-o9E46WWBC6JsBlwU4QyU9578G77HBDT1NInd+aERfxeOPbk0qBZHgoDsQmA2v9TbqJRWzoBPx1aLOhprBMgPjw==",
    172 +            "cpu": [
    173 +                "s390x"
    174 +            ],
    175 +            "optional": true,
    176 +            "os": [
    177 +                "linux"
    178 +            ],
    179 +            "engines": {
    180 +                "glibc": ">=2.28",
    181 +                "npm": ">=9.6.5",
    182 +                "pnpm": ">=7.1.0",
    183 +                "yarn": ">=3.2.0"
    184 +            },
    185 +            "funding": {
    186 +                "url": "https://opencollective.com/libvips"
    187 +            }
    188 +        },
    189 +        "node_modules/@img/sharp-libvips-linux-x64": {
    190 +            "version": "1.0.0",
    191 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.0.tgz",
    192 +            "integrity": "sha512-naldaJy4hSVhWBgEjfdBY85CAa4UO+W1nx6a1sWStHZ7EUfNiuBTTN2KUYT5dH1+p/xij1t2QSXfCiFJoC5S/Q==",
    193 +            "cpu": [
    194 +                "x64"
    195 +            ],
    196 +            "optional": true,
    197 +            "os": [
    198 +                "linux"
    199 +            ],
    200 +            "engines": {
    201 +                "glibc": ">=2.26",
    202 +                "npm": ">=9.6.5",
    203 +                "pnpm": ">=7.1.0",
    204 +                "yarn": ">=3.2.0"
    205 +            },
    206 +            "funding": {
    207 +                "url": "https://opencollective.com/libvips"
    208 +            }
    209 +        },
    210 +        "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
    211 +            "version": "1.0.0",
    212 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.0.tgz",
    213 +            "integrity": "sha512-OdorplCyvmSAPsoJLldtLh3nLxRrkAAAOHsGWGDYfN0kh730gifK+UZb3dWORRa6EusNqCTjfXV4GxvgJ/nPDQ==",
    214 +            "cpu": [
    215 +                "arm64"
    216 +            ],
    217 +            "optional": true,
    218 +            "os": [
    219 +                "linux"
    220 +            ],
    221 +            "engines": {
    222 +                "musl": ">=1.2.2",
    223 +                "npm": ">=9.6.5",
    224 +                "pnpm": ">=7.1.0",
    225 +                "yarn": ">=3.2.0"
    226 +            },
    227 +            "funding": {
    228 +                "url": "https://opencollective.com/libvips"
    229 +            }
    230 +        },
    231 +        "node_modules/@img/sharp-libvips-linuxmusl-x64": {
    232 +            "version": "1.0.0",
    233 +            "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.0.tgz",
    234 +            "integrity": "sha512-FW8iK6rJrg+X2jKD0Ajhjv6y74lToIBEvkZhl42nZt563FfxkCYacrXZtd+q/sRQDypQLzY5WdLkVTbJoPyqNg==",
    235 +            "cpu": [
    236 +                "x64"
    237 +            ],
    238 +            "optional": true,
    239 +            "os": [
    240 +                "linux"
    241 +            ],
    242 +            "engines": {
    243 +                "musl": ">=1.2.2",
    244 +                "npm": ">=9.6.5",
    245 +                "pnpm": ">=7.1.0",
    246 +                "yarn": ">=3.2.0"
    247 +            },
    248 +            "funding": {
    249 +                "url": "https://opencollective.com/libvips"
    250 +            }
    251 +        },
    252 +        "node_modules/@img/sharp-linux-arm": {
    253 +            "version": "0.33.1",
    254 +            "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.1.tgz",
    255 +            "integrity": "sha512-Ii4X1vnzzI4j0+cucsrYA5ctrzU9ciXERfJR633S2r39CiD8npqH2GMj63uFZRCFt3E687IenAdbwIpQOJ5BNA==",
    256 +            "cpu": [
    257 +                "arm"
    258 +            ],
    259 +            "optional": true,
    260 +            "os": [
    261 +                "linux"
    262 +            ],
    263 +            "engines": {
    264 +                "glibc": ">=2.28",
    265 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    266 +                "npm": ">=9.6.5",
    267 +                "pnpm": ">=7.1.0",
    268 +                "yarn": ">=3.2.0"
    269 +            },
    270 +            "funding": {
    271 +                "url": "https://opencollective.com/libvips"
    272 +            },
    273 +            "optionalDependencies": {
    274 +                "@img/sharp-libvips-linux-arm": "1.0.0"
    275 +            }
    276 +        },
    277 +        "node_modules/@img/sharp-linux-arm64": {
    278 +            "version": "0.33.1",
    279 +            "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.1.tgz",
    280 +            "integrity": "sha512-59B5GRO2d5N3tIfeGHAbJps7cLpuWEQv/8ySd9109ohQ3kzyCACENkFVAnGPX00HwPTQcaBNF7HQYEfZyZUFfw==",
    281 +            "cpu": [
    282 +                "arm64"
    283 +            ],
    284 +            "optional": true,
    285 +            "os": [
    286 +                "linux"
    287 +            ],
    288 +            "engines": {
    289 +                "glibc": ">=2.26",
    290 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    291 +                "npm": ">=9.6.5",
    292 +                "pnpm": ">=7.1.0",
    293 +                "yarn": ">=3.2.0"
    294 +            },
    295 +            "funding": {
    296 +                "url": "https://opencollective.com/libvips"
    297 +            },
    298 +            "optionalDependencies": {
    299 +                "@img/sharp-libvips-linux-arm64": "1.0.0"
    300 +            }
    301 +        },
    302 +        "node_modules/@img/sharp-linux-s390x": {
    303 +            "version": "0.33.1",
    304 +            "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.1.tgz",
    305 +            "integrity": "sha512-tRGrb2pHnFUXpOAj84orYNxHADBDIr0J7rrjwQrTNMQMWA4zy3StKmMvwsI7u3dEZcgwuMMooIIGWEWOjnmG8A==",
    306 +            "cpu": [
    307 +                "s390x"
    308 +            ],
    309 +            "optional": true,
    310 +            "os": [
    311 +                "linux"
    312 +            ],
    313 +            "engines": {
    314 +                "glibc": ">=2.28",
    315 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    316 +                "npm": ">=9.6.5",
    317 +                "pnpm": ">=7.1.0",
    318 +                "yarn": ">=3.2.0"
    319 +            },
    320 +            "funding": {
    321 +                "url": "https://opencollective.com/libvips"
    322 +            },
    323 +            "optionalDependencies": {
    324 +                "@img/sharp-libvips-linux-s390x": "1.0.0"
    325 +            }
    326 +        },
    327 +        "node_modules/@img/sharp-linux-x64": {
    328 +            "version": "0.33.1",
    329 +            "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.1.tgz",
    330 +            "integrity": "sha512-4y8osC0cAc1TRpy02yn5omBeloZZwS62fPZ0WUAYQiLhSFSpWJfY/gMrzKzLcHB9ulUV6ExFiu2elMaixKDbeg==",
    331 +            "cpu": [
    332 +                "x64"
    333 +            ],
    334 +            "optional": true,
    335 +            "os": [
    336 +                "linux"
    337 +            ],
    338 +            "engines": {
    339 +                "glibc": ">=2.26",
    340 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    341 +                "npm": ">=9.6.5",
    342 +                "pnpm": ">=7.1.0",
    343 +                "yarn": ">=3.2.0"
    344 +            },
    345 +            "funding": {
    346 +                "url": "https://opencollective.com/libvips"
    347 +            },
    348 +            "optionalDependencies": {
    349 +                "@img/sharp-libvips-linux-x64": "1.0.0"
    350 +            }
    351 +        },
    352 +        "node_modules/@img/sharp-linuxmusl-arm64": {
    353 +            "version": "0.33.1",
    354 +            "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.1.tgz",
    355 +            "integrity": "sha512-D3lV6clkqIKUizNS8K6pkuCKNGmWoKlBGh5p0sLO2jQERzbakhu4bVX1Gz+RS4vTZBprKlWaf+/Rdp3ni2jLfA==",
    356 +            "cpu": [
    357 +                "arm64"
    358 +            ],
    359 +            "optional": true,
    360 +            "os": [
    361 +                "linux"
    362 +            ],
    363 +            "engines": {
    364 +                "musl": ">=1.2.2",
    365 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    366 +                "npm": ">=9.6.5",
    367 +                "pnpm": ">=7.1.0",
    368 +                "yarn": ">=3.2.0"
    369 +            },
    370 +            "funding": {
    371 +                "url": "https://opencollective.com/libvips"
    372 +            },
    373 +            "optionalDependencies": {
    374 +                "@img/sharp-libvips-linuxmusl-arm64": "1.0.0"
    375 +            }
    376 +        },
    377 +        "node_modules/@img/sharp-linuxmusl-x64": {
    378 +            "version": "0.33.1",
    379 +            "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.1.tgz",
    380 +            "integrity": "sha512-LOGKNu5w8uu1evVqUAUKTix2sQu1XDRIYbsi5Q0c/SrXhvJ4QyOx+GaajxmOg5PZSsSnCYPSmhjHHsRBx06/wQ==",
    381 +            "cpu": [
    382 +                "x64"
    383 +            ],
    384 +            "optional": true,
    385 +            "os": [
    386 +                "linux"
    387 +            ],
    388 +            "engines": {
    389 +                "musl": ">=1.2.2",
    390 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    391 +                "npm": ">=9.6.5",
    392 +                "pnpm": ">=7.1.0",
    393 +                "yarn": ">=3.2.0"
    394 +            },
    395 +            "funding": {
    396 +                "url": "https://opencollective.com/libvips"
    397 +            },
    398 +            "optionalDependencies": {
    399 +                "@img/sharp-libvips-linuxmusl-x64": "1.0.0"
    400 +            }
    401 +        },
    402 +        "node_modules/@img/sharp-wasm32": {
    403 +            "version": "0.33.1",
    404 +            "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.1.tgz",
    405 +            "integrity": "sha512-vWI/sA+0p+92DLkpAMb5T6I8dg4z2vzCUnp8yvxHlwBpzN8CIcO3xlSXrLltSvK6iMsVMNswAv+ub77rsf25lA==",
    406 +            "cpu": [
    407 +                "wasm32"
    408 +            ],
    409 +            "optional": true,
    410 +            "dependencies": {
    411 +                "@emnapi/runtime": "^0.44.0"
    412 +            },
    413 +            "engines": {
    414 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    415 +                "npm": ">=9.6.5",
    416 +                "pnpm": ">=7.1.0",
    417 +                "yarn": ">=3.2.0"
    418 +            },
    419 +            "funding": {
    420 +                "url": "https://opencollective.com/libvips"
    421 +            }
    422 +        },
    423 +        "node_modules/@img/sharp-win32-ia32": {
    424 +            "version": "0.33.1",
    425 +            "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.1.tgz",
    426 +            "integrity": "sha512-/xhYkylsKL05R+NXGJc9xr2Tuw6WIVl2lubFJaFYfW4/MQ4J+dgjIo/T4qjNRizrqs/szF/lC9a5+updmY9jaQ==",
    427 +            "cpu": [
    428 +                "ia32"
    429 +            ],
    430 +            "optional": true,
    431 +            "os": [
    432 +                "win32"
    433 +            ],
    434 +            "engines": {
    435 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    436 +                "npm": ">=9.6.5",
    437 +                "pnpm": ">=7.1.0",
    438 +                "yarn": ">=3.2.0"
    439 +            },
    440 +            "funding": {
    441 +                "url": "https://opencollective.com/libvips"
    442 +            }
    443 +        },
    444 +        "node_modules/@img/sharp-win32-x64": {
    445 +            "version": "0.33.1",
    446 +            "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.1.tgz",
    447 +            "integrity": "sha512-XaM69X0n6kTEsp9tVYYLhXdg7Qj32vYJlAKRutxUsm1UlgQNx6BOhHwZPwukCGXBU2+tH87ip2eV1I/E8MQnZg==",
    448 +            "cpu": [
    449 +                "x64"
    450 +            ],
    451 +            "optional": true,
    452 +            "os": [
    453 +                "win32"
    454 +            ],
    455 +            "engines": {
    456 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
    457 +                "npm": ">=9.6.5",
    458 +                "pnpm": ">=7.1.0",
    459 +                "yarn": ">=3.2.0"
    460 +            },
    461 +            "funding": {
    462 +                "url": "https://opencollective.com/libvips"
    463 +            }
    464 +        },
    465          "node_modules/@jridgewell/gen-mapping": {
    466              "version": "0.3.3",
    467              "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
    468 @@ -1509,6 +1949,14 @@
    469              "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
    470              "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
    471          },
    472 +        "node_modules/aria-query": {
    473 +            "version": "5.3.0",
    474 +            "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
    475 +            "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
    476 +            "dependencies": {
    477 +                "dequal": "^2.0.3"
    478 +            }
    479 +        },
    480          "node_modules/array-iterate": {
    481              "version": "2.0.1",
    482              "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz",
    483 @@ -1519,9 +1967,9 @@
    484              }
    485          },
    486          "node_modules/astro": {
    487 -            "version": "4.0.6",
    488 -            "resolved": "https://registry.npmjs.org/astro/-/astro-4.0.6.tgz",
    489 -            "integrity": "sha512-P7CfFqWKzkJozzF6IoOC6qoI2ONndV8P3ULhGDgMiXPL7xVkWI5haTBSpyrcjBx643tVXspIRsSV/v+Cx+CjGw==",
    490 +            "version": "4.1.1",
    491 +            "resolved": "https://registry.npmjs.org/astro/-/astro-4.1.1.tgz",
    492 +            "integrity": "sha512-p/S1Ns4+yVh2lEsFW9hkJNRbnPfFWZ+1Wv7DSR3mDnabgCs49T7EbvOy8YIlLo0gtPAjI+b+4OEKRsxtBay2aA==",
    493              "dependencies": {
    494                  "@astrojs/compiler": "^2.3.4",
    495                  "@astrojs/internal-helpers": "0.2.1",
    496 @@ -1535,6 +1983,8 @@
    497                  "@babel/types": "^7.23.3",
    498                  "@types/babel__core": "^7.20.4",
    499                  "acorn": "^8.11.2",
    500 +                "aria-query": "^5.3.0",
    501 +                "axobject-query": "^4.0.0",
    502                  "boxen": "^7.1.1",
    503                  "chokidar": "^3.5.3",
    504                  "ci-info": "^4.0.0",
    505 @@ -1564,7 +2014,7 @@
    506                  "mime": "^3.0.0",
    507                  "ora": "^7.0.1",
    508                  "p-limit": "^5.0.0",
    509 -                "p-queue": "^7.4.1",
    510 +                "p-queue": "^8.0.1",
    511                  "path-to-regexp": "^6.2.1",
    512                  "preferred-pm": "^3.1.2",
    513                  "probe-image-size": "^7.2.3",
    514 @@ -1579,7 +2029,7 @@
    515                  "tsconfck": "^3.0.0",
    516                  "unist-util-visit": "^5.0.0",
    517                  "vfile": "^6.0.1",
    518 -                "vite": "^5.0.0",
    519 +                "vite": "^5.0.10",
    520                  "vitefu": "^0.2.5",
    521                  "which-pm": "^2.1.1",
    522                  "yargs-parser": "^21.1.1",
    523 @@ -1593,7 +2043,7 @@
    524                  "npm": ">=6.14.0"
    525              },
    526              "optionalDependencies": {
    527 -                "sharp": "^0.32.5"
    528 +                "sharp": "^0.33.1"
    529              }
    530          },
    531          "node_modules/autoprefixer": {
    532 @@ -1632,11 +2082,13 @@
    533                  "postcss": "^8.1.0"
    534              }
    535          },
    536 -        "node_modules/b4a": {
    537 -            "version": "1.6.4",
    538 -            "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
    539 -            "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
    540 -            "optional": true
    541 +        "node_modules/axobject-query": {
    542 +            "version": "4.0.0",
    543 +            "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
    544 +            "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
    545 +            "dependencies": {
    546 +                "dequal": "^2.0.3"
    547 +            }
    548          },
    549          "node_modules/bail": {
    550              "version": "2.0.2",
    551 @@ -1934,12 +2386,6 @@
    552                  "fsevents": "~2.3.2"
    553              }
    554          },
    555 -        "node_modules/chownr": {
    556 -            "version": "1.1.4",
    557 -            "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
    558 -            "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
    559 -            "optional": true
    560 -        },
    561          "node_modules/ci-info": {
    562              "version": "4.0.0",
    563              "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
    564 @@ -2256,30 +2702,6 @@
    565                  "url": "https://github.com/sponsors/wooorm"
    566              }
    567          },
    568 -        "node_modules/decompress-response": {
    569 -            "version": "6.0.0",
    570 -            "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
    571 -            "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
    572 -            "optional": true,
    573 -            "dependencies": {
    574 -                "mimic-response": "^3.1.0"
    575 -            },
    576 -            "engines": {
    577 -                "node": ">=10"
    578 -            },
    579 -            "funding": {
    580 -                "url": "https://github.com/sponsors/sindresorhus"
    581 -            }
    582 -        },
    583 -        "node_modules/deep-extend": {
    584 -            "version": "0.6.0",
    585 -            "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
    586 -            "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
    587 -            "optional": true,
    588 -            "engines": {
    589 -                "node": ">=4.0.0"
    590 -            }
    591 -        },
    592          "node_modules/depd": {
    593              "version": "2.0.0",
    594              "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
    595 @@ -2420,15 +2842,6 @@
    596                  "node": ">= 0.8"
    597              }
    598          },
    599 -        "node_modules/end-of-stream": {
    600 -            "version": "1.4.4",
    601 -            "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
    602 -            "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
    603 -            "optional": true,
    604 -            "dependencies": {
    605 -                "once": "^1.4.0"
    606 -            }
    607 -        },
    608          "node_modules/enhanced-resolve": {
    609              "version": "5.15.0",
    610              "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
    611 @@ -2569,15 +2982,6 @@
    612                  "url": "https://github.com/sindresorhus/execa?sponsor=1"
    613              }
    614          },
    615 -        "node_modules/expand-template": {
    616 -            "version": "2.0.3",
    617 -            "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
    618 -            "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
    619 -            "optional": true,
    620 -            "engines": {
    621 -                "node": ">=6"
    622 -            }
    623 -        },
    624          "node_modules/extend": {
    625              "version": "3.0.2",
    626              "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
    627 @@ -2594,12 +2998,6 @@
    628                  "node": ">=0.10.0"
    629              }
    630          },
    631 -        "node_modules/fast-fifo": {
    632 -            "version": "1.3.2",
    633 -            "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
    634 -            "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
    635 -            "optional": true
    636 -        },
    637          "node_modules/fast-glob": {
    638              "version": "3.3.2",
    639              "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
    640 @@ -2719,12 +3117,6 @@
    641                  "node": ">= 0.6"
    642              }
    643          },
    644 -        "node_modules/fs-constants": {
    645 -            "version": "1.0.0",
    646 -            "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
    647 -            "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
    648 -            "optional": true
    649 -        },
    650          "node_modules/fs.realpath": {
    651              "version": "1.0.0",
    652              "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
    653 @@ -2789,12 +3181,6 @@
    654                  "url": "https://github.com/sponsors/sindresorhus"
    655              }
    656          },
    657 -        "node_modules/github-from-package": {
    658 -            "version": "0.0.0",
    659 -            "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
    660 -            "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
    661 -            "optional": true
    662 -        },
    663          "node_modules/github-slugger": {
    664              "version": "2.0.0",
    665              "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
    666 @@ -3158,12 +3544,6 @@
    667              "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
    668              "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
    669          },
    670 -        "node_modules/ini": {
    671 -            "version": "1.3.8",
    672 -            "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
    673 -            "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
    674 -            "optional": true
    675 -        },
    676          "node_modules/is-arrayish": {
    677              "version": "0.3.2",
    678              "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
    679 @@ -4397,18 +4777,6 @@
    680                  "url": "https://github.com/sponsors/sindresorhus"
    681              }
    682          },
    683 -        "node_modules/mimic-response": {
    684 -            "version": "3.1.0",
    685 -            "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
    686 -            "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
    687 -            "optional": true,
    688 -            "engines": {
    689 -                "node": ">=10"
    690 -            },
    691 -            "funding": {
    692 -                "url": "https://github.com/sponsors/sindresorhus"
    693 -            }
    694 -        },
    695          "node_modules/minimatch": {
    696              "version": "3.1.2",
    697              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
    698 @@ -4420,15 +4788,6 @@
    699                  "node": "*"
    700              }
    701          },
    702 -        "node_modules/minimist": {
    703 -            "version": "1.2.8",
    704 -            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
    705 -            "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
    706 -            "optional": true,
    707 -            "funding": {
    708 -                "url": "https://github.com/sponsors/ljharb"
    709 -            }
    710 -        },
    711          "node_modules/mkdirp": {
    712              "version": "0.3.0",
    713              "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",
    714 @@ -4438,12 +4797,6 @@
    715                  "node": "*"
    716              }
    717          },
    718 -        "node_modules/mkdirp-classic": {
    719 -            "version": "0.5.3",
    720 -            "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
    721 -            "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
    722 -            "optional": true
    723 -        },
    724          "node_modules/ms": {
    725              "version": "2.1.2",
    726              "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
    727 @@ -4481,12 +4834,6 @@
    728                  "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
    729              }
    730          },
    731 -        "node_modules/napi-build-utils": {
    732 -            "version": "1.0.2",
    733 -            "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
    734 -            "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
    735 -            "optional": true
    736 -        },
    737          "node_modules/needle": {
    738              "version": "2.9.1",
    739              "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
    740 @@ -4523,24 +4870,6 @@
    741                  "url": "https://opencollective.com/unified"
    742              }
    743          },
    744 -        "node_modules/node-abi": {
    745 -            "version": "3.52.0",
    746 -            "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz",
    747 -            "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==",
    748 -            "optional": true,
    749 -            "dependencies": {
    750 -                "semver": "^7.3.5"
    751 -            },
    752 -            "engines": {
    753 -                "node": ">=10"
    754 -            }
    755 -        },
    756 -        "node_modules/node-addon-api": {
    757 -            "version": "6.1.0",
    758 -            "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
    759 -            "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
    760 -            "optional": true
    761 -        },
    762          "node_modules/node-domexception": {
    763              "version": "1.0.0",
    764              "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
    765 @@ -4790,26 +5119,26 @@
    766              }
    767          },
    768          "node_modules/p-queue": {
    769 -            "version": "7.4.1",
    770 -            "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.4.1.tgz",
    771 -            "integrity": "sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA==",
    772 +            "version": "8.0.1",
    773 +            "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz",
    774 +            "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==",
    775              "dependencies": {
    776                  "eventemitter3": "^5.0.1",
    777 -                "p-timeout": "^5.0.2"
    778 +                "p-timeout": "^6.1.2"
    779              },
    780              "engines": {
    781 -                "node": ">=12"
    782 +                "node": ">=18"
    783              },
    784              "funding": {
    785                  "url": "https://github.com/sponsors/sindresorhus"
    786              }
    787          },
    788          "node_modules/p-timeout": {
    789 -            "version": "5.1.0",
    790 -            "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz",
    791 -            "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==",
    792 +            "version": "6.1.2",
    793 +            "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz",
    794 +            "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==",
    795              "engines": {
    796 -                "node": ">=12"
    797 +                "node": ">=14.16"
    798              },
    799              "funding": {
    800                  "url": "https://github.com/sponsors/sindresorhus"
    801 @@ -5108,95 +5437,6 @@
    802              "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
    803              "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
    804          },
    805 -        "node_modules/prebuild-install": {
    806 -            "version": "7.1.1",
    807 -            "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
    808 -            "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
    809 -            "optional": true,
    810 -            "dependencies": {
    811 -                "detect-libc": "^2.0.0",
    812 -                "expand-template": "^2.0.3",
    813 -                "github-from-package": "0.0.0",
    814 -                "minimist": "^1.2.3",
    815 -                "mkdirp-classic": "^0.5.3",
    816 -                "napi-build-utils": "^1.0.1",
    817 -                "node-abi": "^3.3.0",
    818 -                "pump": "^3.0.0",
    819 -                "rc": "^1.2.7",
    820 -                "simple-get": "^4.0.0",
    821 -                "tar-fs": "^2.0.0",
    822 -                "tunnel-agent": "^0.6.0"
    823 -            },
    824 -            "bin": {
    825 -                "prebuild-install": "bin.js"
    826 -            },
    827 -            "engines": {
    828 -                "node": ">=10"
    829 -            }
    830 -        },
    831 -        "node_modules/prebuild-install/node_modules/bl": {
    832 -            "version": "4.1.0",
    833 -            "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
    834 -            "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
    835 -            "optional": true,
    836 -            "dependencies": {
    837 -                "buffer": "^5.5.0",
    838 -                "inherits": "^2.0.4",
    839 -                "readable-stream": "^3.4.0"
    840 -            }
    841 -        },
    842 -        "node_modules/prebuild-install/node_modules/buffer": {
    843 -            "version": "5.7.1",
    844 -            "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
    845 -            "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
    846 -            "funding": [
    847 -                {
    848 -                    "type": "github",
    849 -                    "url": "https://github.com/sponsors/feross"
    850 -                },
    851 -                {
    852 -                    "type": "patreon",
    853 -                    "url": "https://www.patreon.com/feross"
    854 -                },
    855 -                {
    856 -                    "type": "consulting",
    857 -                    "url": "https://feross.org/support"
    858 -                }
    859 -            ],
    860 -            "optional": true,
    861 -            "dependencies": {
    862 -                "base64-js": "^1.3.1",
    863 -                "ieee754": "^1.1.13"
    864 -            }
    865 -        },
    866 -        "node_modules/prebuild-install/node_modules/tar-fs": {
    867 -            "version": "2.1.1",
    868 -            "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
    869 -            "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
    870 -            "optional": true,
    871 -            "dependencies": {
    872 -                "chownr": "^1.1.1",
    873 -                "mkdirp-classic": "^0.5.2",
    874 -                "pump": "^3.0.0",
    875 -                "tar-stream": "^2.1.4"
    876 -            }
    877 -        },
    878 -        "node_modules/prebuild-install/node_modules/tar-stream": {
    879 -            "version": "2.2.0",
    880 -            "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
    881 -            "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
    882 -            "optional": true,
    883 -            "dependencies": {
    884 -                "bl": "^4.0.3",
    885 -                "end-of-stream": "^1.4.1",
    886 -                "fs-constants": "^1.0.0",
    887 -                "inherits": "^2.0.3",
    888 -                "readable-stream": "^3.1.1"
    889 -            },
    890 -            "engines": {
    891 -                "node": ">=6"
    892 -            }
    893 -        },
    894          "node_modules/preferred-pm": {
    895              "version": "3.1.2",
    896              "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz",
    897 @@ -5270,16 +5510,6 @@
    898                  "url": "https://github.com/sponsors/wooorm"
    899              }
    900          },
    901 -        "node_modules/pump": {
    902 -            "version": "3.0.0",
    903 -            "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
    904 -            "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
    905 -            "optional": true,
    906 -            "dependencies": {
    907 -                "end-of-stream": "^1.1.0",
    908 -                "once": "^1.3.1"
    909 -            }
    910 -        },
    911          "node_modules/queue-microtask": {
    912              "version": "1.2.3",
    913              "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
    914 @@ -5299,12 +5529,6 @@
    915                  }
    916              ]
    917          },
    918 -        "node_modules/queue-tick": {
    919 -            "version": "1.0.1",
    920 -            "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
    921 -            "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
    922 -            "optional": true
    923 -        },
    924          "node_modules/range-parser": {
    925              "version": "1.2.1",
    926              "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
    927 @@ -5313,21 +5537,6 @@
    928                  "node": ">= 0.6"
    929              }
    930          },
    931 -        "node_modules/rc": {
    932 -            "version": "1.2.8",
    933 -            "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
    934 -            "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
    935 -            "optional": true,
    936 -            "dependencies": {
    937 -                "deep-extend": "^0.6.0",
    938 -                "ini": "~1.3.0",
    939 -                "minimist": "^1.2.0",
    940 -                "strip-json-comments": "~2.0.1"
    941 -            },
    942 -            "bin": {
    943 -                "rc": "cli.js"
    944 -            }
    945 -        },
    946          "node_modules/read-cache": {
    947              "version": "1.0.0",
    948              "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
    949 @@ -6173,26 +6382,43 @@
    950              "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
    951          },
    952          "node_modules/sharp": {
    953 -            "version": "0.32.6",
    954 -            "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz",
    955 -            "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==",
    956 +            "version": "0.33.1",
    957 +            "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz",
    958 +            "integrity": "sha512-iAYUnOdTqqZDb3QjMneBKINTllCJDZ3em6WaWy7NPECM4aHncvqHRm0v0bN9nqJxMiwamv5KIdauJ6lUzKDpTQ==",
    959              "hasInstallScript": true,
    960              "optional": true,
    961              "dependencies": {
    962                  "color": "^4.2.3",
    963                  "detect-libc": "^2.0.2",
    964 -                "node-addon-api": "^6.1.0",
    965 -                "prebuild-install": "^7.1.1",
    966 -                "semver": "^7.5.4",
    967 -                "simple-get": "^4.0.1",
    968 -                "tar-fs": "^3.0.4",
    969 -                "tunnel-agent": "^0.6.0"
    970 +                "semver": "^7.5.4"
    971              },
    972              "engines": {
    973 -                "node": ">=14.15.0"
    974 +                "libvips": ">=8.15.0",
    975 +                "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
    976              },
    977              "funding": {
    978                  "url": "https://opencollective.com/libvips"
    979 +            },
    980 +            "optionalDependencies": {
    981 +                "@img/sharp-darwin-arm64": "0.33.1",
    982 +                "@img/sharp-darwin-x64": "0.33.1",
    983 +                "@img/sharp-libvips-darwin-arm64": "1.0.0",
    984 +                "@img/sharp-libvips-darwin-x64": "1.0.0",
    985 +                "@img/sharp-libvips-linux-arm": "1.0.0",
    986 +                "@img/sharp-libvips-linux-arm64": "1.0.0",
    987 +                "@img/sharp-libvips-linux-s390x": "1.0.0",
    988 +                "@img/sharp-libvips-linux-x64": "1.0.0",
    989 +                "@img/sharp-libvips-linuxmusl-arm64": "1.0.0",
    990 +                "@img/sharp-libvips-linuxmusl-x64": "1.0.0",
    991 +                "@img/sharp-linux-arm": "0.33.1",
    992 +                "@img/sharp-linux-arm64": "0.33.1",
    993 +                "@img/sharp-linux-s390x": "0.33.1",
    994 +                "@img/sharp-linux-x64": "0.33.1",
    995 +                "@img/sharp-linuxmusl-arm64": "0.33.1",
    996 +                "@img/sharp-linuxmusl-x64": "0.33.1",
    997 +                "@img/sharp-wasm32": "0.33.1",
    998 +                "@img/sharp-win32-ia32": "0.33.1",
    999 +                "@img/sharp-win32-x64": "0.33.1"
   1000              }
   1001          },
   1002          "node_modules/shebang-command": {
   1003 @@ -6233,51 +6459,6 @@
   1004                  "url": "https://github.com/sponsors/isaacs"
   1005              }
   1006          },
   1007 -        "node_modules/simple-concat": {
   1008 -            "version": "1.0.1",
   1009 -            "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
   1010 -            "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
   1011 -            "funding": [
   1012 -                {
   1013 -                    "type": "github",
   1014 -                    "url": "https://github.com/sponsors/feross"
   1015 -                },
   1016 -                {
   1017 -                    "type": "patreon",
   1018 -                    "url": "https://www.patreon.com/feross"
   1019 -                },
   1020 -                {
   1021 -                    "type": "consulting",
   1022 -                    "url": "https://feross.org/support"
   1023 -                }
   1024 -            ],
   1025 -            "optional": true
   1026 -        },
   1027 -        "node_modules/simple-get": {
   1028 -            "version": "4.0.1",
   1029 -            "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
   1030 -            "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
   1031 -            "funding": [
   1032 -                {
   1033 -                    "type": "github",
   1034 -                    "url": "https://github.com/sponsors/feross"
   1035 -                },
   1036 -                {
   1037 -                    "type": "patreon",
   1038 -                    "url": "https://www.patreon.com/feross"
   1039 -                },
   1040 -                {
   1041 -                    "type": "consulting",
   1042 -                    "url": "https://feross.org/support"
   1043 -                }
   1044 -            ],
   1045 -            "optional": true,
   1046 -            "dependencies": {
   1047 -                "decompress-response": "^6.0.0",
   1048 -                "once": "^1.3.1",
   1049 -                "simple-concat": "^1.0.0"
   1050 -            }
   1051 -        },
   1052          "node_modules/simple-swizzle": {
   1053              "version": "0.2.2",
   1054              "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
   1055 @@ -6357,16 +6538,6 @@
   1056              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
   1057              "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
   1058          },
   1059 -        "node_modules/streamx": {
   1060 -            "version": "2.15.5",
   1061 -            "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz",
   1062 -            "integrity": "sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==",
   1063 -            "optional": true,
   1064 -            "dependencies": {
   1065 -                "fast-fifo": "^1.1.0",
   1066 -                "queue-tick": "^1.0.1"
   1067 -            }
   1068 -        },
   1069          "node_modules/string_decoder": {
   1070              "version": "1.3.0",
   1071              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
   1072 @@ -6445,15 +6616,6 @@
   1073                  "url": "https://github.com/sponsors/sindresorhus"
   1074              }
   1075          },
   1076 -        "node_modules/strip-json-comments": {
   1077 -            "version": "2.0.1",
   1078 -            "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
   1079 -            "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
   1080 -            "optional": true,
   1081 -            "engines": {
   1082 -                "node": ">=0.10.0"
   1083 -            }
   1084 -        },
   1085          "node_modules/sucrase": {
   1086              "version": "3.34.0",
   1087              "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz",
   1088 @@ -6560,28 +6722,6 @@
   1089                  "node": ">=6"
   1090              }
   1091          },
   1092 -        "node_modules/tar-fs": {
   1093 -            "version": "3.0.4",
   1094 -            "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
   1095 -            "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
   1096 -            "optional": true,
   1097 -            "dependencies": {
   1098 -                "mkdirp-classic": "^0.5.2",
   1099 -                "pump": "^3.0.0",
   1100 -                "tar-stream": "^3.1.5"
   1101 -            }
   1102 -        },
   1103 -        "node_modules/tar-stream": {
   1104 -            "version": "3.1.6",
   1105 -            "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
   1106 -            "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
   1107 -            "optional": true,
   1108 -            "dependencies": {
   1109 -                "b4a": "^1.6.4",
   1110 -                "fast-fifo": "^1.2.0",
   1111 -                "streamx": "^2.15.0"
   1112 -            }
   1113 -        },
   1114          "node_modules/thenify": {
   1115              "version": "3.3.1",
   1116              "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
   1117 @@ -6675,17 +6815,11 @@
   1118                  }
   1119              }
   1120          },
   1121 -        "node_modules/tunnel-agent": {
   1122 -            "version": "0.6.0",
   1123 -            "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
   1124 -            "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
   1125 -            "optional": true,
   1126 -            "dependencies": {
   1127 -                "safe-buffer": "^5.0.1"
   1128 -            },
   1129 -            "engines": {
   1130 -                "node": "*"
   1131 -            }
   1132 +        "node_modules/tslib": {
   1133 +            "version": "2.6.2",
   1134 +            "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
   1135 +            "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
   1136 +            "optional": true
   1137          },
   1138          "node_modules/type-fest": {
   1139              "version": "2.19.0",
   1140 @@ -6930,9 +7064,9 @@
   1141              }
   1142          },
   1143          "node_modules/vite": {
   1144 -            "version": "5.0.5",
   1145 -            "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.5.tgz",
   1146 -            "integrity": "sha512-OekeWqR9Ls56f3zd4CaxzbbS11gqYkEiBtnWFFgYR2WV8oPJRRKq0mpskYy/XaoCL3L7VINDhqqOMNDiYdGvGg==",
   1147 +            "version": "5.0.11",
   1148 +            "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz",
   1149 +            "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==",
   1150              "dependencies": {
   1151                  "esbuild": "^0.19.3",
   1152                  "postcss": "^8.4.32",
   1153 diff --git a/package.json b/package.json
   1154 index 0357656..e77b1d3 100644
   1155 --- a/package.json
   1156 +++ b/package.json
   1157 @@ -15,7 +15,7 @@
   1158          "@astrojs/node": "^7.0.1",
   1159          "@astrojs/tailwind": "^5.0.3",
   1160          "@webcomponents/template-shadowroot": "^0.2.1",
   1161 -        "astro": "^4.0.6",
   1162 +        "astro": "^4.1.1",
   1163          "diff2html": "^3.4.46",
   1164          "lit": "^2.8.0",
   1165          "marked": "^11.0.1",