diff --git a/.github/workflows/tests-az.yml b/.github/workflows/tests-az.yml new file mode 100644 index 0000000000..6964f355a3 --- /dev/null +++ b/.github/workflows/tests-az.yml @@ -0,0 +1,109 @@ +name: Tests (Azure Test) + +on: + workflow_dispatch: + +jobs: + main: + name: Run Tests on Azure temp VM + runs-on: ubuntu-latest + + permissions: + contents: read + + steps: + - name: Launch VM on Azure + id: azlaunch + run: | + echo "Authenticating to Azure..." + az login --service-principal -u ${{ secrets.AZ_TESTS_APP_ID }} -p ${{ secrets.AZ_TESTS_PWD }} --tenant ${{ secrets.AZ_TESTS_TENANT_ID }} + echo "Creating VM..." + vminfo=$(az vm create \ + --resource-group ghaDatatrackerTests \ + --name tmpGhaVM2 \ + --image Ubuntu2204 \ + --admin-username azureuser \ + --generate-ssh-keys \ + --priority Spot \ + --size Standard_D4as_v5 \ + --max-price -1 \ + --os-disk-size-gb 30 \ + --eviction-policy Delete \ + --nic-delete-option Delete \ + --output tsv \ + --query "publicIpAddress") + echo "ipaddr=$vminfo" >> "$GITHUB_OUTPUT" + echo "VM Public IP: $vminfo" + cat ~/.ssh/id_rsa > ${{ github.workspace }}/prvkey.key + ssh-keyscan -t rsa $vminfo >> ~/.ssh/known_hosts + + - name: Remote SSH into VM + uses: appleboy/ssh-action@55dabf81b49d4120609345970c91507e2d734799 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + host: ${{ steps.azlaunch.outputs.ipaddr }} + port: 22 + username: azureuser + command_timeout: 60m + key_path: ${{ github.workspace }}/prvkey.key + envs: GITHUB_TOKEN + script_stop: true + script: | + export DEBIAN_FRONTEND=noninteractive + lsb_release -a + sudo apt-get update + sudo apt-get upgrade -y + + echo "Installing Docker..." + curl -fsSL https://get.docker.com -o get-docker.sh + sudo sh get-docker.sh + + echo "Starting Containers..." + sudo docker network create dtnet + sudo docker run -d --name db --network=dtnet ghcr.io/ietf-tools/datatracker-db:latest & + sudo docker run -d --name app --network=dtnet ghcr.io/ietf-tools/datatracker-app-base:latest sleep infinity & + wait + + echo "Cloning datatracker repo..." + sudo docker exec app git clone --depth=1 https://github.com/ietf-tools/datatracker.git . + echo "Prepare tests..." + sudo docker exec app chmod +x ./dev/tests/prepare.sh + sudo docker exec app sh ./dev/tests/prepare.sh + echo "Running checks..." + sudo docker exec app ietf/manage.py check + sudo docker exec app ietf/manage.py migrate --fake-initial + echo "Running tests..." + sudo docker exec app ietf/manage.py test -v2 --validate-html-harder --settings=settings_test + + - name: Destroy VM + resources + if: always() + shell: pwsh + run: | + echo "Destroying VM..." + az vm delete -g ghaDatatrackerTests -n tmpGhaVM2 --yes --force-deletion true + + $resourceOrderRemovalOrder = [ordered]@{ + "Microsoft.Compute/virtualMachines" = 0 + "Microsoft.Compute/disks" = 1 + "Microsoft.Network/networkInterfaces" = 2 + "Microsoft.Network/publicIpAddresses" = 3 + "Microsoft.Network/networkSecurityGroups" = 4 + "Microsoft.Network/virtualNetworks" = 5 + } + echo "Fetching remaining resources..." + $resources = az resource list --resource-group ghaDatatrackerTests | ConvertFrom-Json + + $orderedResources = $resources + | Sort-Object @{ + Expression = {$resourceOrderRemovalOrder[$_.type]} + Descending = $False + } + + echo "Deleting remaining resources..." + $orderedResources | ForEach-Object { + az resource delete --resource-group ghaDatatrackerTests --ids $_.id --verbose + } + + echo "Logout from Azure..." + az logout diff --git a/.pnp.cjs b/.pnp.cjs index a0a78d10e5..364c066720 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -33,22 +33,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { [null, {\ "packageLocation": "./",\ "packageDependencies": [\ - ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ - ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ + ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ + ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ - ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@parcel/optimizer-data-url", "npm:2.9.3"],\ - ["@parcel/transformer-inline-string", "npm:2.9.3"],\ - ["@parcel/transformer-sass", "npm:2.9.3"],\ + ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@parcel/optimizer-data-url", "npm:2.10.0"],\ + ["@parcel/transformer-inline-string", "npm:2.10.0"],\ + ["@parcel/transformer-sass", "npm:2.10.0"],\ ["@popperjs/core", "npm:2.11.8"],\ - ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\ + ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.5"],\ ["@twuni/emojify", "npm:1.0.2"],\ - ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\ + ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.0"],\ ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\ ["bootstrap-icons", "npm:1.11.1"],\ ["browser-fs-access", "npm:0.35.0"],\ @@ -56,17 +56,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["c8", "npm:8.0.1"],\ ["caniuse-lite", "npm:1.0.30001538"],\ ["d3", "npm:7.8.5"],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.1.0"],\ - ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\ + ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.15.1"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.2.0"],\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\ ["file-saver", "npm:2.0.5"],\ ["highcharts", "npm:11.1.0"],\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.5.0"],\ ["ical.js", "npm:1.5.0"],\ ["jquery", "npm:3.7.1"],\ ["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.1"],\ @@ -79,12 +79,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["moment-timezone", "npm:0.5.43"],\ ["ms", "npm:2.1.3"],\ ["murmurhash-js", "npm:1.0.0"],\ - ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.4"],\ - ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.9.3"],\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\ + ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.35.0"],\ + ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.10.0"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.7"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pug", "npm:3.0.2"],\ - ["sass", "npm:1.67.0"],\ + ["sass", "npm:1.69.4"],\ ["seedrandom", "npm:3.0.5"],\ ["select2", "npm:4.1.0-rc.0"],\ ["select2-bootstrap-5-theme", "npm:1.3.0"],\ @@ -93,9 +93,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["slugify", "npm:1.6.6"],\ ["sortablejs", "npm:1.15.0"],\ ["vanillajs-datepicker", "npm:1.3.4"],\ - ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9"],\ + ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.11"],\ ["vue", "npm:3.3.4"],\ - ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.4"],\ + ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.5"],\ ["zxcvbn", "npm:4.4.2"]\ ],\ "linkType": "SOFT"\ @@ -159,6 +159,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@babel/runtime", [\ + ["npm:7.23.2", {\ + "packageLocation": "./.yarn/cache/@babel-runtime-npm-7.23.2-d013d6cf7e-6c4df4839e.zip/node_modules/@babel/runtime/",\ + "packageDependencies": [\ + ["@babel/runtime", "npm:7.23.2"],\ + ["regenerator-runtime", "npm:0.14.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@babel/types", [\ ["npm:7.18.4", {\ "packageLocation": "./.yarn/cache/@babel-types-npm-7.18.4-758c2695f8-85df59beb9.zip/node_modules/@babel/types/",\ @@ -180,19 +190,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@css-render/plugin-bem", [\ - ["npm:0.15.10", {\ - "packageLocation": "./.yarn/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip/node_modules/@css-render/plugin-bem/",\ + ["npm:0.15.12", {\ + "packageLocation": "./.yarn/cache/@css-render-plugin-bem-npm-0.15.12-bf8b43dc1f-9fa7ddd62b.zip/node_modules/@css-render/plugin-bem/",\ "packageDependencies": [\ - ["@css-render/plugin-bem", "npm:0.15.10"]\ + ["@css-render/plugin-bem", "npm:0.15.12"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10", {\ - "packageLocation": "./.yarn/__virtual__/@css-render-plugin-bem-virtual-0147f0cc02/0/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip/node_modules/@css-render/plugin-bem/",\ + ["virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.15.12", {\ + "packageLocation": "./.yarn/__virtual__/@css-render-plugin-bem-virtual-3ee8479233/0/cache/@css-render-plugin-bem-npm-0.15.12-bf8b43dc1f-9fa7ddd62b.zip/node_modules/@css-render/plugin-bem/",\ "packageDependencies": [\ - ["@css-render/plugin-bem", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10"],\ + ["@css-render/plugin-bem", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.15.12"],\ ["@types/css-render", null],\ - ["css-render", "npm:0.15.10"]\ + ["css-render", "npm:0.15.12"]\ ],\ "packagePeers": [\ "@types/css-render",\ @@ -209,10 +219,30 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10", {\ - "packageLocation": "./.yarn/__virtual__/@css-render-vue3-ssr-virtual-2d57ce4b92/0/cache/@css-render-vue3-ssr-npm-0.15.10-b8526cc313-7977e0c440.zip/node_modules/@css-render/vue3-ssr/",\ + ["npm:0.15.12", {\ + "packageLocation": "./.yarn/cache/@css-render-vue3-ssr-npm-0.15.12-a130f4db3a-a5505ae161.zip/node_modules/@css-render/vue3-ssr/",\ + "packageDependencies": [\ + ["@css-render/vue3-ssr", "npm:0.15.12"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:07229bbf54bc488d21e48f65df3fcd2cdabd1e401dfffccce7403d04695be90e478a0d508694f896481602b0f9db804b9f384dfa051fe08e896fd18fd1fe0b6b#npm:0.15.10", {\ + "packageLocation": "./.yarn/__virtual__/@css-render-vue3-ssr-virtual-5eb3a62c1f/0/cache/@css-render-vue3-ssr-npm-0.15.10-b8526cc313-7977e0c440.zip/node_modules/@css-render/vue3-ssr/",\ + "packageDependencies": [\ + ["@css-render/vue3-ssr", "virtual:07229bbf54bc488d21e48f65df3fcd2cdabd1e401dfffccce7403d04695be90e478a0d508694f896481602b0f9db804b9f384dfa051fe08e896fd18fd1fe0b6b#npm:0.15.10"],\ + ["@types/vue", null],\ + ["vue", "npm:3.3.4"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.15.12", {\ + "packageLocation": "./.yarn/__virtual__/@css-render-vue3-ssr-virtual-f9b68b2e9d/0/cache/@css-render-vue3-ssr-npm-0.15.12-a130f4db3a-a5505ae161.zip/node_modules/@css-render/vue3-ssr/",\ "packageDependencies": [\ - ["@css-render/vue3-ssr", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10"],\ + ["@css-render/vue3-ssr", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.15.12"],\ ["@types/vue", null],\ ["vue", "npm:3.3.4"]\ ],\ @@ -438,12 +468,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-3145c9a18a/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ + ["virtual:77fce3ec74d55c7e6791631c329cf3adde374e21e618e865127f72e63efeb3376dcf7fc8217de80f5a310e81c791a72e9d099b00fd3252d5653ff68dff50c2fa#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-3663415ec2/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ + ["@eslint-community/eslint-utils", "virtual:77fce3ec74d55c7e6791631c329cf3adde374e21e618e865127f72e63efeb3376dcf7fc8217de80f5a310e81c791a72e9d099b00fd3252d5653ff68dff50c2fa#npm:4.4.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-visitor-keys", "npm:3.3.0"]\ ],\ "packagePeers": [\ @@ -488,10 +518,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@eslint/js", [\ - ["npm:8.49.0", {\ - "packageLocation": "./.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip/node_modules/@eslint/js/",\ + ["npm:8.51.0", {\ + "packageLocation": "./.yarn/cache/@eslint-js-npm-8.51.0-51f088b88b-0228bf1e1e.zip/node_modules/@eslint/js/",\ "packageDependencies": [\ - ["@eslint/js", "npm:8.49.0"]\ + ["@eslint/js", "npm:8.51.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -527,18 +557,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/bootstrap5", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-bootstrap5-npm-6.1.8-bbeae5dafc-c78ef0d62e.zip/node_modules/@fullcalendar/bootstrap5/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-bootstrap5-npm-6.1.9-ef68c3c094-1d6168fafc.zip/node_modules/@fullcalendar/bootstrap5/",\ "packageDependencies": [\ - ["@fullcalendar/bootstrap5", "npm:6.1.8"]\ + ["@fullcalendar/bootstrap5", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-bootstrap5-virtual-d0fea3107b/0/cache/@fullcalendar-bootstrap5-npm-6.1.8-bbeae5dafc-c78ef0d62e.zip/node_modules/@fullcalendar/bootstrap5/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-bootstrap5-virtual-32a9d3c1d6/0/cache/@fullcalendar-bootstrap5-npm-6.1.9-ef68c3c094-1d6168fafc.zip/node_modules/@fullcalendar/bootstrap5/",\ "packageDependencies": [\ - ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null]\ ],\ "packagePeers": [\ @@ -549,28 +579,28 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/core", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-core-npm-6.1.8-da04efa804-66c13078c9.zip/node_modules/@fullcalendar/core/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-core-npm-6.1.9-b4da84d4b8-836db3e40c.zip/node_modules/@fullcalendar/core/",\ "packageDependencies": [\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["preact", "npm:10.12.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/daygrid", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.8-3f45184389-a99441c81d.zip/node_modules/@fullcalendar/daygrid/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-6.1.9-4c0da59f84-3db55247c4.zip/node_modules/@fullcalendar/daygrid/",\ "packageDependencies": [\ - ["@fullcalendar/daygrid", "npm:6.1.8"]\ + ["@fullcalendar/daygrid", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-77be6a5058/0/cache/@fullcalendar-daygrid-npm-6.1.8-3f45184389-a99441c81d.zip/node_modules/@fullcalendar/daygrid/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-daygrid-virtual-8030f0f5bf/0/cache/@fullcalendar-daygrid-npm-6.1.9-4c0da59f84-3db55247c4.zip/node_modules/@fullcalendar/daygrid/",\ "packageDependencies": [\ - ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null]\ ],\ "packagePeers": [\ @@ -581,18 +611,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/icalendar", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-icalendar-npm-6.1.8-bee329d052-f322ce54bb.zip/node_modules/@fullcalendar/icalendar/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-icalendar-npm-6.1.9-92e390eda8-d47daf4ae0.zip/node_modules/@fullcalendar/icalendar/",\ "packageDependencies": [\ - ["@fullcalendar/icalendar", "npm:6.1.8"]\ + ["@fullcalendar/icalendar", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-icalendar-virtual-0660ccc07e/0/cache/@fullcalendar-icalendar-npm-6.1.8-bee329d052-f322ce54bb.zip/node_modules/@fullcalendar/icalendar/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-icalendar-virtual-2edf12646d/0/cache/@fullcalendar-icalendar-npm-6.1.9-92e390eda8-d47daf4ae0.zip/node_modules/@fullcalendar/icalendar/",\ "packageDependencies": [\ - ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null],\ ["@types/ical.js", null],\ ["ical.js", "npm:1.5.0"]\ @@ -607,18 +637,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/interaction", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-interaction-npm-6.1.8-6c6b6987db-3ef0da6dca.zip/node_modules/@fullcalendar/interaction/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-interaction-npm-6.1.9-f729b81a3d-787111ea6f.zip/node_modules/@fullcalendar/interaction/",\ "packageDependencies": [\ - ["@fullcalendar/interaction", "npm:6.1.8"]\ + ["@fullcalendar/interaction", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-interaction-virtual-39f9dba62d/0/cache/@fullcalendar-interaction-npm-6.1.8-6c6b6987db-3ef0da6dca.zip/node_modules/@fullcalendar/interaction/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-interaction-virtual-45406e4d3a/0/cache/@fullcalendar-interaction-npm-6.1.9-f729b81a3d-787111ea6f.zip/node_modules/@fullcalendar/interaction/",\ "packageDependencies": [\ - ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null]\ ],\ "packagePeers": [\ @@ -629,18 +659,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/list", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-list-npm-6.1.8-39b471f8da-b5c397040e.zip/node_modules/@fullcalendar/list/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-list-npm-6.1.9-f76695c5ab-978dd54b71.zip/node_modules/@fullcalendar/list/",\ "packageDependencies": [\ - ["@fullcalendar/list", "npm:6.1.8"]\ + ["@fullcalendar/list", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-list-virtual-a4f877cc68/0/cache/@fullcalendar-list-npm-6.1.8-39b471f8da-b5c397040e.zip/node_modules/@fullcalendar/list/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-list-virtual-95391a7d25/0/cache/@fullcalendar-list-npm-6.1.9-f76695c5ab-978dd54b71.zip/node_modules/@fullcalendar/list/",\ "packageDependencies": [\ - ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null]\ ],\ "packagePeers": [\ @@ -662,7 +692,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon3-virtual-2026214153/0/cache/@fullcalendar-luxon3-npm-6.1.9-d79fc8f961-25122126e2.zip/node_modules/@fullcalendar/luxon3/",\ "packageDependencies": [\ ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null],\ ["@types/luxon", null],\ ["luxon", "npm:3.4.3"]\ @@ -677,19 +707,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/timegrid", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-timegrid-npm-6.1.8-22d8c05e30-122786fd40.zip/node_modules/@fullcalendar/timegrid/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-timegrid-npm-6.1.9-b227fefa80-8c12a508f7.zip/node_modules/@fullcalendar/timegrid/",\ "packageDependencies": [\ - ["@fullcalendar/timegrid", "npm:6.1.8"]\ + ["@fullcalendar/timegrid", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-timegrid-virtual-768bdb99c1/0/cache/@fullcalendar-timegrid-npm-6.1.8-22d8c05e30-122786fd40.zip/node_modules/@fullcalendar/timegrid/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-timegrid-virtual-6658ed7986/0/cache/@fullcalendar-timegrid-npm-6.1.9-b227fefa80-8c12a508f7.zip/node_modules/@fullcalendar/timegrid/",\ "packageDependencies": [\ - ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ - ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ + ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ + ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ ["@types/fullcalendar__core", null]\ ],\ "packagePeers": [\ @@ -700,18 +730,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/vue3", [\ - ["npm:6.1.8", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-vue3-npm-6.1.8-a4963d0029-cff81d98ae.zip/node_modules/@fullcalendar/vue3/",\ + ["npm:6.1.9", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-vue3-npm-6.1.9-3c150e259d-2c1c0fbe72.zip/node_modules/@fullcalendar/vue3/",\ "packageDependencies": [\ - ["@fullcalendar/vue3", "npm:6.1.8"]\ + ["@fullcalendar/vue3", "npm:6.1.9"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-vue3-virtual-f86317f38e/0/cache/@fullcalendar-vue3-npm-6.1.8-a4963d0029-cff81d98ae.zip/node_modules/@fullcalendar/vue3/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-vue3-virtual-00c58bdbde/0/cache/@fullcalendar-vue3-npm-6.1.9-3c150e259d-2c1c0fbe72.zip/node_modules/@fullcalendar/vue3/",\ "packageDependencies": [\ - ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ + ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ ["@types/fullcalendar__core", null],\ ["@types/vue", null],\ ["vue", "npm:3.3.4"]\ @@ -879,10 +909,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-darwin-arm64-npm-2.7.11-6bf2bf934e/node_modules/@lmdb/lmdb-darwin-arm64/",\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-darwin-arm64-npm-2.8.5-a9ab00615c/node_modules/@lmdb/lmdb-darwin-arm64/",\ "packageDependencies": [\ - ["@lmdb/lmdb-darwin-arm64", "npm:2.7.11"]\ + ["@lmdb/lmdb-darwin-arm64", "npm:2.8.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -895,10 +925,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-darwin-x64-npm-2.7.11-f282673377/node_modules/@lmdb/lmdb-darwin-x64/",\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-darwin-x64-npm-2.8.5-080b8c9329/node_modules/@lmdb/lmdb-darwin-x64/",\ "packageDependencies": [\ - ["@lmdb/lmdb-darwin-x64", "npm:2.7.11"]\ + ["@lmdb/lmdb-darwin-x64", "npm:2.8.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -911,10 +941,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-linux-arm-npm-2.7.11-b0f3c42c8f/node_modules/@lmdb/lmdb-linux-arm/",\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-linux-arm-npm-2.8.5-081004004c/node_modules/@lmdb/lmdb-linux-arm/",\ "packageDependencies": [\ - ["@lmdb/lmdb-linux-arm", "npm:2.7.11"]\ + ["@lmdb/lmdb-linux-arm", "npm:2.8.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -927,10 +957,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-linux-arm64-npm-2.7.11-3dcb107756/node_modules/@lmdb/lmdb-linux-arm64/",\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-linux-arm64-npm-2.8.5-9dfda9f24f/node_modules/@lmdb/lmdb-linux-arm64/",\ "packageDependencies": [\ - ["@lmdb/lmdb-linux-arm64", "npm:2.7.11"]\ + ["@lmdb/lmdb-linux-arm64", "npm:2.8.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -943,10 +973,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-linux-x64-npm-2.7.11-f3bb75854e/node_modules/@lmdb/lmdb-linux-x64/",\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-linux-x64-npm-2.8.5-0f668ba9a7/node_modules/@lmdb/lmdb-linux-x64/",\ "packageDependencies": [\ - ["@lmdb/lmdb-linux-x64", "npm:2.7.11"]\ + ["@lmdb/lmdb-linux-x64", "npm:2.8.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -959,10 +989,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-win32-x64-npm-2.7.11-aa490eb71e/node_modules/@lmdb/lmdb-win32-x64/",\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/@lmdb-lmdb-win32-x64-npm-2.8.5-3702de4edb/node_modules/@lmdb/lmdb-win32-x64/",\ "packageDependencies": [\ - ["@lmdb/lmdb-win32-x64", "npm:2.7.11"]\ + ["@lmdb/lmdb-win32-x64", "npm:2.8.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -1129,61 +1159,61 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/bundler-default", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-bundler-default-npm-2.9.3-da108dccec-271f354e61.zip/node_modules/@parcel/bundler-default/",\ - "packageDependencies": [\ - ["@parcel/bundler-default", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/graph", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-bundler-default-npm-2.10.0-bf1aa01515-58d3619928.zip/node_modules/@parcel/bundler-default/",\ + "packageDependencies": [\ + ["@parcel/bundler-default", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/graph", "npm:3.0.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/cache", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-cache-npm-2.6.2-7c97030a45-e7b540fe10.zip/node_modules/@parcel/cache/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-cache-npm-2.10.0-37f1f83d32-209d474abd.zip/node_modules/@parcel/cache/",\ "packageDependencies": [\ - ["@parcel/cache", "npm:2.6.2"]\ + ["@parcel/cache", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-cache-npm-2.9.3-1875c3a53a-31bb356d2e.zip/node_modules/@parcel/cache/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-cache-npm-2.6.2-7c97030a45-e7b540fe10.zip/node_modules/@parcel/cache/",\ "packageDependencies": [\ - ["@parcel/cache", "npm:2.9.3"]\ + ["@parcel/cache", "npm:2.6.2"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-f3b3d44508/0/cache/@parcel-cache-npm-2.6.2-7c97030a45-e7b540fe10.zip/node_modules/@parcel/cache/",\ + ["virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-ef6118146d/0/cache/@parcel-cache-npm-2.10.0-37f1f83d32-209d474abd.zip/node_modules/@parcel/cache/",\ "packageDependencies": [\ - ["@parcel/cache", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/cache", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/fs", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ - ["@parcel/logger", "npm:2.6.2"],\ - ["@parcel/utils", "npm:2.6.2"],\ + ["@parcel/fs", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["@types/parcel__core", null],\ - ["lmdb", "npm:2.5.2"]\ + ["lmdb", "npm:2.8.5"]\ ],\ "packagePeers": [\ "@types/parcel__core"\ ],\ "linkType": "HARD"\ }],\ - ["virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-9c22134e5d/0/cache/@parcel-cache-npm-2.9.3-1875c3a53a-31bb356d2e.zip/node_modules/@parcel/cache/",\ - "packageDependencies": [\ - ["@parcel/cache", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-e54076624a/0/cache/@parcel-cache-npm-2.10.0-37f1f83d32-209d474abd.zip/node_modules/@parcel/cache/",\ + "packageDependencies": [\ + ["@parcel/cache", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["@types/parcel__core", null],\ - ["lmdb", "npm:2.7.11"]\ + ["lmdb", "npm:2.8.5"]\ ],\ "packagePeers": [\ "@parcel/core",\ @@ -1191,16 +1221,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-fff02f4fd8/0/cache/@parcel-cache-npm-2.9.3-1875c3a53a-31bb356d2e.zip/node_modules/@parcel/cache/",\ + ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-f3b3d44508/0/cache/@parcel-cache-npm-2.6.2-7c97030a45-e7b540fe10.zip/node_modules/@parcel/cache/",\ "packageDependencies": [\ - ["@parcel/cache", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ + ["@parcel/cache", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/fs", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/fs", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/logger", "npm:2.6.2"],\ + ["@parcel/utils", "npm:2.6.2"],\ ["@types/parcel__core", null],\ - ["lmdb", "npm:2.7.11"]\ + ["lmdb", "npm:2.5.2"]\ ],\ "packagePeers": [\ "@types/parcel__core"\ @@ -1209,76 +1239,77 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/codeframe", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-codeframe-npm-2.6.2-39f0ef1504-3253f42b90.zip/node_modules/@parcel/codeframe/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-codeframe-npm-2.10.0-e8aa1b4ecc-d87b17d3ce.zip/node_modules/@parcel/codeframe/",\ "packageDependencies": [\ - ["@parcel/codeframe", "npm:2.6.2"],\ + ["@parcel/codeframe", "npm:2.10.0"],\ ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-codeframe-npm-2.9.3-2580057b7a-f86a4d90eb.zip/node_modules/@parcel/codeframe/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-codeframe-npm-2.6.2-39f0ef1504-3253f42b90.zip/node_modules/@parcel/codeframe/",\ "packageDependencies": [\ - ["@parcel/codeframe", "npm:2.9.3"],\ + ["@parcel/codeframe", "npm:2.6.2"],\ ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/compressor-raw", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-compressor-raw-npm-2.9.3-be5ba2acf4-2124c347a5.zip/node_modules/@parcel/compressor-raw/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-compressor-raw-npm-2.10.0-961e5d9fe0-043fca0ecb.zip/node_modules/@parcel/compressor-raw/",\ "packageDependencies": [\ - ["@parcel/compressor-raw", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"]\ + ["@parcel/compressor-raw", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/config-default", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-config-default-npm-2.9.3-a459e67e01-61ef21351e.zip/node_modules/@parcel/config-default/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-config-default-npm-2.10.0-2a1fbdf24b-d780d05021.zip/node_modules/@parcel/config-default/",\ "packageDependencies": [\ - ["@parcel/config-default", "npm:2.9.3"]\ + ["@parcel/config-default", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:8b9ffb5b471d92e43ed44d9d4b3997be1cadcb1d0802b72e4feeb1d8632c82ed490c0f9ad36e4817250e971bef57542a4c559c6969b21f3656e8c43773148c7f#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-config-default-virtual-76a38aa321/0/cache/@parcel-config-default-npm-2.9.3-a459e67e01-61ef21351e.zip/node_modules/@parcel/config-default/",\ - "packageDependencies": [\ - ["@parcel/config-default", "virtual:8b9ffb5b471d92e43ed44d9d4b3997be1cadcb1d0802b72e4feeb1d8632c82ed490c0f9ad36e4817250e971bef57542a4c559c6969b21f3656e8c43773148c7f#npm:2.9.3"],\ - ["@parcel/bundler-default", "npm:2.9.3"],\ - ["@parcel/compressor-raw", "npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/namer-default", "npm:2.9.3"],\ - ["@parcel/optimizer-css", "npm:2.9.3"],\ - ["@parcel/optimizer-htmlnano", "npm:2.9.3"],\ - ["@parcel/optimizer-image", "virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3"],\ - ["@parcel/optimizer-svgo", "npm:2.9.3"],\ - ["@parcel/optimizer-swc", "npm:2.9.3"],\ - ["@parcel/packager-css", "npm:2.9.3"],\ - ["@parcel/packager-html", "npm:2.9.3"],\ - ["@parcel/packager-js", "npm:2.9.3"],\ - ["@parcel/packager-raw", "npm:2.9.3"],\ - ["@parcel/packager-svg", "npm:2.9.3"],\ - ["@parcel/reporter-dev-server", "npm:2.9.3"],\ - ["@parcel/resolver-default", "npm:2.9.3"],\ - ["@parcel/runtime-browser-hmr", "npm:2.9.3"],\ - ["@parcel/runtime-js", "npm:2.9.3"],\ - ["@parcel/runtime-react-refresh", "npm:2.9.3"],\ - ["@parcel/runtime-service-worker", "npm:2.9.3"],\ - ["@parcel/transformer-babel", "npm:2.9.3"],\ - ["@parcel/transformer-css", "npm:2.9.3"],\ - ["@parcel/transformer-html", "npm:2.9.3"],\ - ["@parcel/transformer-image", "virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3"],\ - ["@parcel/transformer-js", "virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3"],\ - ["@parcel/transformer-json", "npm:2.9.3"],\ - ["@parcel/transformer-postcss", "npm:2.9.3"],\ - ["@parcel/transformer-posthtml", "npm:2.9.3"],\ - ["@parcel/transformer-raw", "npm:2.9.3"],\ - ["@parcel/transformer-react-refresh-wrap", "npm:2.9.3"],\ - ["@parcel/transformer-svg", "npm:2.9.3"],\ + ["virtual:71592776e81a3a98123fea990d2adcb9a2eb4cc84ca35ac4be3a6f331fe8d1f764a124c4f9a2dad3afd35076e01667fb0ef9ccd5629fbe405b31f0d1b14a14fd#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-config-default-virtual-61dcbb3314/0/cache/@parcel-config-default-npm-2.10.0-2a1fbdf24b-d780d05021.zip/node_modules/@parcel/config-default/",\ + "packageDependencies": [\ + ["@parcel/config-default", "virtual:71592776e81a3a98123fea990d2adcb9a2eb4cc84ca35ac4be3a6f331fe8d1f764a124c4f9a2dad3afd35076e01667fb0ef9ccd5629fbe405b31f0d1b14a14fd#npm:2.10.0"],\ + ["@parcel/bundler-default", "npm:2.10.0"],\ + ["@parcel/compressor-raw", "npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/namer-default", "npm:2.10.0"],\ + ["@parcel/optimizer-css", "npm:2.10.0"],\ + ["@parcel/optimizer-htmlnano", "npm:2.10.0"],\ + ["@parcel/optimizer-image", "virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0"],\ + ["@parcel/optimizer-svgo", "npm:2.10.0"],\ + ["@parcel/optimizer-swc", "npm:2.10.0"],\ + ["@parcel/packager-css", "npm:2.10.0"],\ + ["@parcel/packager-html", "npm:2.10.0"],\ + ["@parcel/packager-js", "npm:2.10.0"],\ + ["@parcel/packager-raw", "npm:2.10.0"],\ + ["@parcel/packager-svg", "npm:2.10.0"],\ + ["@parcel/packager-wasm", "npm:2.10.0"],\ + ["@parcel/reporter-dev-server", "npm:2.10.0"],\ + ["@parcel/resolver-default", "npm:2.10.0"],\ + ["@parcel/runtime-browser-hmr", "npm:2.10.0"],\ + ["@parcel/runtime-js", "npm:2.10.0"],\ + ["@parcel/runtime-react-refresh", "npm:2.10.0"],\ + ["@parcel/runtime-service-worker", "npm:2.10.0"],\ + ["@parcel/transformer-babel", "npm:2.10.0"],\ + ["@parcel/transformer-css", "npm:2.10.0"],\ + ["@parcel/transformer-html", "npm:2.10.0"],\ + ["@parcel/transformer-image", "virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0"],\ + ["@parcel/transformer-js", "virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0"],\ + ["@parcel/transformer-json", "npm:2.10.0"],\ + ["@parcel/transformer-postcss", "npm:2.10.0"],\ + ["@parcel/transformer-posthtml", "npm:2.10.0"],\ + ["@parcel/transformer-raw", "npm:2.10.0"],\ + ["@parcel/transformer-react-refresh-wrap", "npm:2.10.0"],\ + ["@parcel/transformer-svg", "npm:2.10.0"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -1289,6 +1320,38 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/core", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-core-npm-2.10.0-59eaeeba7a-c59c2971ea.zip/node_modules/@parcel/core/",\ + "packageDependencies": [\ + ["@parcel/core", "npm:2.10.0"],\ + ["@mischnic/json-sourcemap", "npm:0.1.0"],\ + ["@parcel/cache", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/events", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/graph", "npm:3.0.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/package-manager", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/profiler", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/source-map", "npm:2.1.1"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["abortcontroller-polyfill", "npm:1.7.3"],\ + ["base-x", "npm:3.0.9"],\ + ["browserslist", "npm:4.20.3"],\ + ["clone", "npm:2.1.2"],\ + ["dotenv", "npm:7.0.0"],\ + ["dotenv-expand", "npm:5.1.0"],\ + ["json5", "npm:2.2.1"],\ + ["msgpackr", "npm:1.6.0"],\ + ["nullthrows", "npm:1.1.1"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.6.2", {\ "packageLocation": "./.yarn/cache/@parcel-core-npm-2.6.2-f04091cfa7-f550cbbd5e.zip/node_modules/@parcel/core/",\ "packageDependencies": [\ @@ -1319,54 +1382,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["semver", "npm:5.7.1"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-core-npm-2.9.3-b343ad5e82-e4ba4e0909.zip/node_modules/@parcel/core/",\ - "packageDependencies": [\ - ["@parcel/core", "npm:2.9.3"],\ - ["@mischnic/json-sourcemap", "npm:0.1.0"],\ - ["@parcel/cache", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/events", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/graph", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/package-manager", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/profiler", "npm:2.9.3"],\ - ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["abortcontroller-polyfill", "npm:1.7.3"],\ - ["base-x", "npm:3.0.9"],\ - ["browserslist", "npm:4.20.3"],\ - ["clone", "npm:2.1.2"],\ - ["dotenv", "npm:7.0.0"],\ - ["dotenv-expand", "npm:5.1.0"],\ - ["json5", "npm:2.2.1"],\ - ["msgpackr", "npm:1.6.0"],\ - ["nullthrows", "npm:1.1.1"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@parcel/diagnostic", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-diagnostic-npm-2.6.2-ad66c9d460-c20c7b12c4.zip/node_modules/@parcel/diagnostic/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-diagnostic-npm-2.10.0-1e389b369e-45c606ca52.zip/node_modules/@parcel/diagnostic/",\ "packageDependencies": [\ - ["@parcel/diagnostic", "npm:2.6.2"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ ["@mischnic/json-sourcemap", "npm:0.1.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-diagnostic-npm-2.9.3-76e1419611-5897500e3b.zip/node_modules/@parcel/diagnostic/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-diagnostic-npm-2.6.2-ad66c9d460-c20c7b12c4.zip/node_modules/@parcel/diagnostic/",\ "packageDependencies": [\ - ["@parcel/diagnostic", "npm:2.9.3"],\ + ["@parcel/diagnostic", "npm:2.6.2"],\ ["@mischnic/json-sourcemap", "npm:0.1.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -1374,46 +1405,46 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/events", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-events-npm-2.6.2-c1dc15633e-272898db0c.zip/node_modules/@parcel/events/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-events-npm-2.10.0-da42a4afa6-1d21cd4186.zip/node_modules/@parcel/events/",\ "packageDependencies": [\ - ["@parcel/events", "npm:2.6.2"]\ + ["@parcel/events", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-events-npm-2.9.3-3d50908dd1-c61ac95ce2.zip/node_modules/@parcel/events/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-events-npm-2.6.2-c1dc15633e-272898db0c.zip/node_modules/@parcel/events/",\ "packageDependencies": [\ - ["@parcel/events", "npm:2.9.3"]\ + ["@parcel/events", "npm:2.6.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/fs", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-fs-npm-2.6.2-1670f601e3-b5e324d93b.zip/node_modules/@parcel/fs/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-fs-npm-2.10.0-c959567f0f-10faae481c.zip/node_modules/@parcel/fs/",\ "packageDependencies": [\ - ["@parcel/fs", "npm:2.6.2"]\ + ["@parcel/fs", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-fs-npm-2.9.3-f6cd93298b-c9bf9ca9e6.zip/node_modules/@parcel/fs/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-fs-npm-2.6.2-1670f601e3-b5e324d93b.zip/node_modules/@parcel/fs/",\ "packageDependencies": [\ - ["@parcel/fs", "npm:2.9.3"]\ + ["@parcel/fs", "npm:2.6.2"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-cfea854226/0/cache/@parcel-fs-npm-2.6.2-1670f601e3-b5e324d93b.zip/node_modules/@parcel/fs/",\ + ["virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-eac6fac48b/0/cache/@parcel-fs-npm-2.10.0-c959567f0f-10faae481c.zip/node_modules/@parcel/fs/",\ "packageDependencies": [\ - ["@parcel/fs", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/fs", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/fs-search", "npm:2.6.2"],\ - ["@parcel/types", "npm:2.6.2"],\ - ["@parcel/utils", "npm:2.6.2"],\ - ["@parcel/watcher", "npm:2.0.5"],\ - ["@parcel/workers", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/watcher", "npm:2.0.7"],\ + ["@parcel/workers", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -1421,16 +1452,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-a74ea62351/0/cache/@parcel-fs-npm-2.9.3-f6cd93298b-c9bf9ca9e6.zip/node_modules/@parcel/fs/",\ - "packageDependencies": [\ - ["@parcel/fs", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/fs-search", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-e5737ffb6b/0/cache/@parcel-fs-npm-2.10.0-c959567f0f-10faae481c.zip/node_modules/@parcel/fs/",\ + "packageDependencies": [\ + ["@parcel/fs", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["@parcel/watcher", "npm:2.0.7"],\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -1439,16 +1470,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-e623c8b450/0/cache/@parcel-fs-npm-2.9.3-f6cd93298b-c9bf9ca9e6.zip/node_modules/@parcel/fs/",\ + ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-cfea854226/0/cache/@parcel-fs-npm-2.6.2-1670f601e3-b5e324d93b.zip/node_modules/@parcel/fs/",\ "packageDependencies": [\ - ["@parcel/fs", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ + ["@parcel/fs", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/fs-search", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/watcher", "npm:2.0.7"],\ - ["@parcel/workers", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ + ["@parcel/fs-search", "npm:2.6.2"],\ + ["@parcel/types", "npm:2.6.2"],\ + ["@parcel/utils", "npm:2.6.2"],\ + ["@parcel/watcher", "npm:2.0.5"],\ + ["@parcel/workers", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -1465,13 +1496,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["detect-libc", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-fs-search-npm-2.9.3-59171084fe/node_modules/@parcel/fs-search/",\ - "packageDependencies": [\ - ["@parcel/fs-search", "npm:2.9.3"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@parcel/graph", [\ @@ -1484,10 +1508,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-graph-npm-2.9.3-206e15e603-7fdd830928.zip/node_modules/@parcel/graph/",\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/@parcel-graph-npm-3.0.0-9001abfefc-0a9d5017f6.zip/node_modules/@parcel/graph/",\ "packageDependencies": [\ - ["@parcel/graph", "npm:2.9.3"],\ + ["@parcel/graph", "npm:3.0.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ @@ -1502,17 +1526,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["xxhash-wasm", "npm:0.4.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-hash-npm-2.9.3-a485b7951b/node_modules/@parcel/hash/",\ - "packageDependencies": [\ - ["@parcel/hash", "npm:2.9.3"],\ - ["xxhash-wasm", "npm:0.4.2"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@parcel/logger", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-logger-npm-2.10.0-41ac90e34c-52d0b5331d.zip/node_modules/@parcel/logger/",\ + "packageDependencies": [\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/events", "npm:2.10.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.6.2", {\ "packageLocation": "./.yarn/cache/@parcel-logger-npm-2.6.2-d7fe563ebb-d3536408da.zip/node_modules/@parcel/logger/",\ "packageDependencies": [\ @@ -1521,56 +1546,48 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@parcel/events", "npm:2.6.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-logger-npm-2.9.3-2a18b6c370-eb68996b7b.zip/node_modules/@parcel/logger/",\ - "packageDependencies": [\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/events", "npm:2.9.3"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@parcel/markdown-ansi", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-markdown-ansi-npm-2.6.2-16ce118d53-742c64c5db.zip/node_modules/@parcel/markdown-ansi/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-markdown-ansi-npm-2.10.0-4dd4da44f3-35e2d07ec8.zip/node_modules/@parcel/markdown-ansi/",\ "packageDependencies": [\ - ["@parcel/markdown-ansi", "npm:2.6.2"],\ + ["@parcel/markdown-ansi", "npm:2.10.0"],\ ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-markdown-ansi-npm-2.9.3-98f72ce8d0-da1fed88dd.zip/node_modules/@parcel/markdown-ansi/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-markdown-ansi-npm-2.6.2-16ce118d53-742c64c5db.zip/node_modules/@parcel/markdown-ansi/",\ "packageDependencies": [\ - ["@parcel/markdown-ansi", "npm:2.9.3"],\ + ["@parcel/markdown-ansi", "npm:2.6.2"],\ ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/namer-default", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-namer-default-npm-2.9.3-2a2acb717f-23a588ee0f.zip/node_modules/@parcel/namer-default/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-namer-default-npm-2.10.0-4b82db40fd-f2a32096d1.zip/node_modules/@parcel/namer-default/",\ "packageDependencies": [\ - ["@parcel/namer-default", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/namer-default", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/node-resolver-core", [\ - ["npm:3.0.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-node-resolver-core-npm-3.0.3-e85849af08/node_modules/@parcel/node-resolver-core/",\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/@parcel-node-resolver-core-npm-3.1.0-9c9ff3ab8b-dcdd39bc6a.zip/node_modules/@parcel/node-resolver-core/",\ "packageDependencies": [\ - ["@parcel/node-resolver-core", "npm:3.0.3"],\ + ["@parcel/node-resolver-core", "npm:3.1.0"],\ ["@mischnic/json-sourcemap", "npm:0.1.0"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"],\ ["semver", "npm:7.5.4"]\ ],\ @@ -1578,14 +1595,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-css", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-css-npm-2.9.3-dab14ff100-09cdfb8191.zip/node_modules/@parcel/optimizer-css/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-css-npm-2.10.0-dbd5825b4e-ea15989512.zip/node_modules/@parcel/optimizer-css/",\ "packageDependencies": [\ - ["@parcel/optimizer-css", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/optimizer-css", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["browserslist", "npm:4.20.3"],\ ["lightningcss", "npm:1.17.1"],\ ["nullthrows", "npm:1.1.1"]\ @@ -1594,12 +1611,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-data-url", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-data-url-npm-2.9.3-2bb13f2a2f-38823e2aa5.zip/node_modules/@parcel/optimizer-data-url/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-data-url-npm-2.10.0-700cb5aab6-ec9530be83.zip/node_modules/@parcel/optimizer-data-url/",\ "packageDependencies": [\ - ["@parcel/optimizer-data-url", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/optimizer-data-url", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["isbinaryfile", "npm:4.0.10"],\ ["mime", "npm:2.6.0"]\ ],\ @@ -1607,12 +1624,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-htmlnano", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-htmlnano-npm-2.9.3-682b0538d3-32658dd81c.zip/node_modules/@parcel/optimizer-htmlnano/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-htmlnano-npm-2.10.0-ee0243765c-1f6de13022.zip/node_modules/@parcel/optimizer-htmlnano/",\ "packageDependencies": [\ - ["@parcel/optimizer-htmlnano", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["htmlnano", "virtual:682b0538d3ef39b15922534816375f8fc9e61152acb2141851060b4f57fd8fce2e1ba748144a96d0ea51c5172e3701c211adb5d242aa55cd0ea2e483080b55c3#npm:2.0.2"],\ + ["@parcel/optimizer-htmlnano", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["htmlnano", "virtual:ee0243765cbdf501388f259b4f1148af5bb4df5c2fa392d4cf1f1d61d3475a9c15a5729ae4be6dd2e258041e618368d112e36aa7b208b01a51861aaaf92fa944#npm:2.0.2"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["svgo", "npm:2.8.0"]\ @@ -1621,22 +1638,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-image", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-optimizer-image-virtual-4140667861/node_modules/@parcel/optimizer-image/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-image-npm-2.10.0-a581b60cbd-94d5db2837.zip/node_modules/@parcel/optimizer-image/",\ "packageDependencies": [\ - ["@parcel/optimizer-image", "npm:2.9.3"]\ + ["@parcel/optimizer-image", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-optimizer-image-virtual-4140667861/node_modules/@parcel/optimizer-image/",\ - "packageDependencies": [\ - ["@parcel/optimizer-image", "virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ + ["virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-optimizer-image-virtual-9b7a1cafe7/0/cache/@parcel-optimizer-image-npm-2.10.0-a581b60cbd-94d5db2837.zip/node_modules/@parcel/optimizer-image/",\ + "packageDependencies": [\ + ["@parcel/optimizer-image", "virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -1647,79 +1665,80 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-svgo", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-svgo-npm-2.9.3-e6bd39a7c6-fd2f1a9fc6.zip/node_modules/@parcel/optimizer-svgo/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-svgo-npm-2.10.0-154d938969-7201c63222.zip/node_modules/@parcel/optimizer-svgo/",\ "packageDependencies": [\ - ["@parcel/optimizer-svgo", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/optimizer-svgo", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["svgo", "npm:2.8.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/optimizer-swc", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-swc-npm-2.9.3-9920b222d4-087012a418.zip/node_modules/@parcel/optimizer-swc/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-swc-npm-2.10.0-caf3bb9c02-1fe68ee6ff.zip/node_modules/@parcel/optimizer-swc/",\ "packageDependencies": [\ - ["@parcel/optimizer-swc", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/optimizer-swc", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@swc/core", "virtual:9920b222d44a029b78dcdc0d8ca35581261d404e5aed3bc50e557a4aad11b071a29f50ce720e44fd147d81b34d288eff368e92cedb94a7944f8ce730ba1f9759#npm:1.3.62"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@swc/core", "virtual:caf3bb9c02ae9f768ff8cb8f830dcff0d7f38e60f1817c3f155faf0af46cd208a17e673fb908c23a477f907e553fbf9eef21af5f078ed79b4c34aca3fefc5224#npm:1.3.62"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/package-manager", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-package-manager-npm-2.6.2-41edbfb7da-0c7dfce953.zip/node_modules/@parcel/package-manager/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-package-manager-npm-2.10.0-4f4a39adee-7c4a95d9df.zip/node_modules/@parcel/package-manager/",\ "packageDependencies": [\ - ["@parcel/package-manager", "npm:2.6.2"]\ + ["@parcel/package-manager", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-package-manager-npm-2.9.3-c065cee1b5-46acc905b8.zip/node_modules/@parcel/package-manager/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-package-manager-npm-2.6.2-41edbfb7da-0c7dfce953.zip/node_modules/@parcel/package-manager/",\ "packageDependencies": [\ - ["@parcel/package-manager", "npm:2.9.3"]\ + ["@parcel/package-manager", "npm:2.6.2"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-423c759aca/0/cache/@parcel-package-manager-npm-2.6.2-41edbfb7da-0c7dfce953.zip/node_modules/@parcel/package-manager/",\ + ["virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-2dbcea4ef2/0/cache/@parcel-package-manager-npm-2.10.0-4f4a39adee-7c4a95d9df.zip/node_modules/@parcel/package-manager/",\ "packageDependencies": [\ - ["@parcel/package-manager", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/package-manager", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.6.2"],\ - ["@parcel/fs", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ - ["@parcel/logger", "npm:2.6.2"],\ - ["@parcel/types", "npm:2.6.2"],\ - ["@parcel/utils", "npm:2.6.2"],\ - ["@parcel/workers", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/node-resolver-core", "npm:3.1.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/workers", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ ["@types/parcel__core", null],\ - ["semver", "npm:5.7.1"]\ + ["semver", "npm:7.5.4"]\ ],\ "packagePeers": [\ "@types/parcel__core"\ ],\ "linkType": "HARD"\ }],\ - ["virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-bbad0025e5/0/cache/@parcel-package-manager-npm-2.9.3-c065cee1b5-46acc905b8.zip/node_modules/@parcel/package-manager/",\ - "packageDependencies": [\ - ["@parcel/package-manager", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/node-resolver-core", "npm:3.0.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ + ["virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-07edc7e62f/0/cache/@parcel-package-manager-npm-2.10.0-4f4a39adee-7c4a95d9df.zip/node_modules/@parcel/package-manager/",\ + "packageDependencies": [\ + ["@parcel/package-manager", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/node-resolver-core", "npm:3.1.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ ["@types/parcel__core", null],\ ["semver", "npm:7.5.4"]\ ],\ @@ -1729,20 +1748,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-214a6d4bec/0/cache/@parcel-package-manager-npm-2.9.3-c065cee1b5-46acc905b8.zip/node_modules/@parcel/package-manager/",\ + ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-423c759aca/0/cache/@parcel-package-manager-npm-2.6.2-41edbfb7da-0c7dfce953.zip/node_modules/@parcel/package-manager/",\ "packageDependencies": [\ - ["@parcel/package-manager", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ + ["@parcel/package-manager", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/node-resolver-core", "npm:3.0.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/workers", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ + ["@parcel/diagnostic", "npm:2.6.2"],\ + ["@parcel/fs", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/logger", "npm:2.6.2"],\ + ["@parcel/types", "npm:2.6.2"],\ + ["@parcel/utils", "npm:2.6.2"],\ + ["@parcel/workers", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ ["@types/parcel__core", null],\ - ["semver", "npm:7.5.4"]\ + ["semver", "npm:5.7.1"]\ ],\ "packagePeers": [\ "@types/parcel__core"\ @@ -1751,27 +1769,27 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/packager-css", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-css-npm-2.9.3-c966dca775-725245c5d6.zip/node_modules/@parcel/packager-css/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-css-npm-2.10.0-cb31a968a8-11bf4cae4c.zip/node_modules/@parcel/packager-css/",\ "packageDependencies": [\ - ["@parcel/packager-css", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/packager-css", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/packager-html", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-html-npm-2.9.3-eb1e5ba8d3-163217c86a.zip/node_modules/@parcel/packager-html/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-html-npm-2.10.0-d6f71e7e36-8dfd86e7d6.zip/node_modules/@parcel/packager-html/",\ "packageDependencies": [\ - ["@parcel/packager-html", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/packager-html", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"]\ ],\ @@ -1779,15 +1797,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/packager-js", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-js-npm-2.9.3-27b52dc79e-db8c74ec80.zip/node_modules/@parcel/packager-js/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-js-npm-2.10.0-f84ec4cc7b-9b62598864.zip/node_modules/@parcel/packager-js/",\ "packageDependencies": [\ - ["@parcel/packager-js", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/packager-js", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["globals", "npm:13.15.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -1795,66 +1814,76 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/packager-raw", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-raw-npm-2.9.3-1adbe4f9b6-840ddac49c.zip/node_modules/@parcel/packager-raw/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-raw-npm-2.10.0-01ef1b8e3e-492fe07ae5.zip/node_modules/@parcel/packager-raw/",\ "packageDependencies": [\ - ["@parcel/packager-raw", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"]\ + ["@parcel/packager-raw", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/packager-svg", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-svg-npm-2.9.3-1e484acb3f-ff09cfdbc5.zip/node_modules/@parcel/packager-svg/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-svg-npm-2.10.0-22326715bd-f49d7f3b88.zip/node_modules/@parcel/packager-svg/",\ "packageDependencies": [\ - ["@parcel/packager-svg", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/packager-svg", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["posthtml", "npm:0.16.6"]\ ],\ "linkType": "HARD"\ }]\ ]],\ + ["@parcel/packager-wasm", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-wasm-npm-2.10.0-b1d2cd8f88-d9a13eb838.zip/node_modules/@parcel/packager-wasm/",\ + "packageDependencies": [\ + ["@parcel/packager-wasm", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@parcel/plugin", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-plugin-npm-2.6.2-d1ea2dda44-23da0fa372.zip/node_modules/@parcel/plugin/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-plugin-npm-2.10.0-efbc58a209-e13ba6e7e5.zip/node_modules/@parcel/plugin/",\ "packageDependencies": [\ - ["@parcel/plugin", "npm:2.6.2"],\ - ["@parcel/types", "npm:2.6.2"]\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-plugin-npm-2.9.3-361c994700-e9d775a4fd.zip/node_modules/@parcel/plugin/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-plugin-npm-2.6.2-d1ea2dda44-23da0fa372.zip/node_modules/@parcel/plugin/",\ "packageDependencies": [\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"]\ + ["@parcel/plugin", "npm:2.6.2"],\ + ["@parcel/types", "npm:2.6.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/profiler", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-profiler-npm-2.9.3-d11664e14b-30e988b99e.zip/node_modules/@parcel/profiler/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-profiler-npm-2.10.0-b1ba499bc1-78d545edb7.zip/node_modules/@parcel/profiler/",\ "packageDependencies": [\ - ["@parcel/profiler", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/events", "npm:2.9.3"],\ + ["@parcel/profiler", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/events", "npm:2.10.0"],\ ["chrome-trace-event", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/reporter-cli", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-reporter-cli-npm-2.9.3-d81ba5564f-f274aa2959.zip/node_modules/@parcel/reporter-cli/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-reporter-cli-npm-2.10.0-083fc2f2d6-0137a91e45.zip/node_modules/@parcel/reporter-cli/",\ "packageDependencies": [\ - ["@parcel/reporter-cli", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/reporter-cli", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["chalk", "npm:4.1.2"],\ ["term-size", "npm:2.2.1"]\ ],\ @@ -1862,23 +1891,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/reporter-dev-server", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-reporter-dev-server-npm-2.9.3-60ff1088fd-e8beff5f94.zip/node_modules/@parcel/reporter-dev-server/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-reporter-dev-server-npm-2.10.0-2f19cb846e-e72fd6ec09.zip/node_modules/@parcel/reporter-dev-server/",\ "packageDependencies": [\ - ["@parcel/reporter-dev-server", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"]\ + ["@parcel/reporter-dev-server", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/reporter-tracer", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-reporter-tracer-npm-2.9.3-80736d1c81-7922b19760.zip/node_modules/@parcel/reporter-tracer/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-reporter-tracer-npm-2.10.0-184a89e262-0f8249b998.zip/node_modules/@parcel/reporter-tracer/",\ "packageDependencies": [\ - ["@parcel/reporter-tracer", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/reporter-tracer", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["chrome-trace-event", "npm:1.0.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -1886,47 +1915,47 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/resolver-default", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-resolver-default-npm-2.9.3-f1c2ca1c12-9e14d5b9bc.zip/node_modules/@parcel/resolver-default/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-resolver-default-npm-2.10.0-ca49f01a75-c82e2d3c4b.zip/node_modules/@parcel/resolver-default/",\ "packageDependencies": [\ - ["@parcel/resolver-default", "npm:2.9.3"],\ - ["@parcel/node-resolver-core", "npm:3.0.3"],\ - ["@parcel/plugin", "npm:2.9.3"]\ + ["@parcel/resolver-default", "npm:2.10.0"],\ + ["@parcel/node-resolver-core", "npm:3.1.0"],\ + ["@parcel/plugin", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/runtime-browser-hmr", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-browser-hmr-npm-2.9.3-24c44db571-e79e827598.zip/node_modules/@parcel/runtime-browser-hmr/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-browser-hmr-npm-2.10.0-c6b7773a09-12928462c8.zip/node_modules/@parcel/runtime-browser-hmr/",\ "packageDependencies": [\ - ["@parcel/runtime-browser-hmr", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"]\ + ["@parcel/runtime-browser-hmr", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/runtime-js", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-js-npm-2.9.3-95e94e0d1e-143c3a9d9b.zip/node_modules/@parcel/runtime-js/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-js-npm-2.10.0-6b4cf1576c-3bbd64c5b9.zip/node_modules/@parcel/runtime-js/",\ "packageDependencies": [\ - ["@parcel/runtime-js", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/runtime-js", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/runtime-react-refresh", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-react-refresh-npm-2.9.3-2b78158a03-8fb9f8165e.zip/node_modules/@parcel/runtime-react-refresh/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-react-refresh-npm-2.10.0-b1f6c62bdf-dc567474a1.zip/node_modules/@parcel/runtime-react-refresh/",\ "packageDependencies": [\ - ["@parcel/runtime-react-refresh", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/runtime-react-refresh", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["react-error-overlay", "npm:6.0.9"],\ ["react-refresh", "npm:0.9.0"]\ ],\ @@ -1934,17 +1963,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/runtime-service-worker", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-service-worker-npm-2.9.3-74438ce430-e296a42e3e.zip/node_modules/@parcel/runtime-service-worker/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-service-worker-npm-2.10.0-3ca99a5366-d0bfd113b9.zip/node_modules/@parcel/runtime-service-worker/",\ "packageDependencies": [\ - ["@parcel/runtime-service-worker", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/runtime-service-worker", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ + ["@parcel/rust", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/unplugged/@parcel-rust-npm-2.10.0-99038406b0/node_modules/@parcel/rust/",\ + "packageDependencies": [\ + ["@parcel/rust", "npm:2.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@parcel/source-map", [\ ["npm:2.0.5", {\ "packageLocation": "./.yarn/unplugged/@parcel-source-map-npm-2.0.5-2444d2c092/node_modules/@parcel/source-map/",\ @@ -1964,14 +2002,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-babel", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-babel-npm-2.9.3-dbdeb9d470-4d0246290e.zip/node_modules/@parcel/transformer-babel/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-babel-npm-2.10.0-fb74ad8c73-fd64092c9c.zip/node_modules/@parcel/transformer-babel/",\ "packageDependencies": [\ - ["@parcel/transformer-babel", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/transformer-babel", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["browserslist", "npm:4.20.3"],\ ["json5", "npm:2.2.1"],\ ["nullthrows", "npm:1.1.1"],\ @@ -1981,14 +2019,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-css", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-css-npm-2.9.3-ba3985d114-aad8e32439.zip/node_modules/@parcel/transformer-css/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-css-npm-2.10.0-4fc35c8005-acc26e9b3d.zip/node_modules/@parcel/transformer-css/",\ "packageDependencies": [\ - ["@parcel/transformer-css", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/transformer-css", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["browserslist", "npm:4.20.3"],\ ["lightningcss", "npm:1.17.1"],\ ["nullthrows", "npm:1.1.1"]\ @@ -1997,13 +2035,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-html", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-html-npm-2.9.3-3ce9db1e20-77f150b568.zip/node_modules/@parcel/transformer-html/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-html-npm-2.10.0-b6d2228044-f28e0d3606.zip/node_modules/@parcel/transformer-html/",\ "packageDependencies": [\ - ["@parcel/transformer-html", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/transformer-html", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["posthtml-parser", "npm:0.10.2"],\ @@ -2015,21 +2053,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-image", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-image-npm-2.9.3-a6b435f582-554ff7c6c2.zip/node_modules/@parcel/transformer-image/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-image-npm-2.10.0-e63bd526ed-61a47d7d8e.zip/node_modules/@parcel/transformer-image/",\ "packageDependencies": [\ - ["@parcel/transformer-image", "npm:2.9.3"]\ + ["@parcel/transformer-image", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-transformer-image-virtual-beaf1f6783/0/cache/@parcel-transformer-image-npm-2.9.3-a6b435f582-554ff7c6c2.zip/node_modules/@parcel/transformer-image/",\ - "packageDependencies": [\ - ["@parcel/transformer-image", "virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ + ["virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-transformer-image-virtual-3e73171071/0/cache/@parcel-transformer-image-npm-2.10.0-e63bd526ed-61a47d7d8e.zip/node_modules/@parcel/transformer-image/",\ + "packageDependencies": [\ + ["@parcel/transformer-image", "virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ ["@types/parcel__core", null],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -2041,33 +2079,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-inline-string", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-inline-string-npm-2.9.3-4322e85564-e93463e7bb.zip/node_modules/@parcel/transformer-inline-string/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-inline-string-npm-2.10.0-44c9b349db-618c919108.zip/node_modules/@parcel/transformer-inline-string/",\ "packageDependencies": [\ - ["@parcel/transformer-inline-string", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"]\ + ["@parcel/transformer-inline-string", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-js", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-transformer-js-virtual-a14db8f6ae/node_modules/@parcel/transformer-js/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-js-npm-2.10.0-132e460926-e9944ce77c.zip/node_modules/@parcel/transformer-js/",\ "packageDependencies": [\ - ["@parcel/transformer-js", "npm:2.9.3"]\ + ["@parcel/transformer-js", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3", {\ - "packageLocation": "./.yarn/unplugged/@parcel-transformer-js-virtual-a14db8f6ae/node_modules/@parcel/transformer-js/",\ - "packageDependencies": [\ - ["@parcel/transformer-js", "virtual:76a38aa32174e798f595b16e349f8d7791ba252c603d614d166b4ccf040cf4a0393363e9f8b4fd0b3281908dbb4cfa399d1168ffe4ea014ce5d564c1d4649c1b#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-transformer-js-virtual-aab7779f34/0/cache/@parcel-transformer-js-npm-2.10.0-132e460926-e9944ce77c.zip/node_modules/@parcel/transformer-js/",\ + "packageDependencies": [\ + ["@parcel/transformer-js", "virtual:61dcbb3314ed0db4613bbccf7f920606ba09571991ce6dbf378d0f819338fde0afdb3e35306b4f7d24155236814007855a39ab7d05afaeadead37df42309ed7e#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ ["@swc/helpers", "npm:0.5.1"],\ ["@types/parcel__core", null],\ ["browserslist", "npm:4.20.3"],\ @@ -2083,25 +2122,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-json", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-json-npm-2.9.3-8b93a2737f-96e2157cfd.zip/node_modules/@parcel/transformer-json/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-json-npm-2.10.0-5525143f86-9c7aceb8e6.zip/node_modules/@parcel/transformer-json/",\ "packageDependencies": [\ - ["@parcel/transformer-json", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/transformer-json", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["json5", "npm:2.2.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-postcss", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-postcss-npm-2.9.3-0bc0ad23cc-c396c25c5a.zip/node_modules/@parcel/transformer-postcss/",\ - "packageDependencies": [\ - ["@parcel/transformer-postcss", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-postcss-npm-2.10.0-c1f60c708a-2e524bd513.zip/node_modules/@parcel/transformer-postcss/",\ + "packageDependencies": [\ + ["@parcel/transformer-postcss", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["clone", "npm:2.1.2"],\ ["nullthrows", "npm:1.1.1"],\ ["postcss-value-parser", "npm:4.2.0"],\ @@ -2111,12 +2150,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-posthtml", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-posthtml-npm-2.9.3-e8c88a24c3-58d4836900.zip/node_modules/@parcel/transformer-posthtml/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-posthtml-npm-2.10.0-31d54ed3f0-7de343f0f9.zip/node_modules/@parcel/transformer-posthtml/",\ "packageDependencies": [\ - ["@parcel/transformer-posthtml", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/transformer-posthtml", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["posthtml-parser", "npm:0.10.2"],\ @@ -2127,33 +2166,33 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-raw", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-raw-npm-2.9.3-77466dc855-b639e2f5fd.zip/node_modules/@parcel/transformer-raw/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-raw-npm-2.10.0-d7cd50f767-c7b1b9c6f7.zip/node_modules/@parcel/transformer-raw/",\ "packageDependencies": [\ - ["@parcel/transformer-raw", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"]\ + ["@parcel/transformer-raw", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-react-refresh-wrap", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.9.3-fba22031ec-aede3d82af.zip/node_modules/@parcel/transformer-react-refresh-wrap/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.10.0-4c3ddcc095-fc3163bcb0.zip/node_modules/@parcel/transformer-react-refresh-wrap/",\ "packageDependencies": [\ - ["@parcel/transformer-react-refresh-wrap", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/transformer-react-refresh-wrap", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["react-refresh", "npm:0.9.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-sass", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-sass-npm-2.9.3-234c526ad6-534eb9239f.zip/node_modules/@parcel/transformer-sass/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-sass-npm-2.10.0-6c5f188bcc-2d697077ac.zip/node_modules/@parcel/transformer-sass/",\ "packageDependencies": [\ - ["@parcel/transformer-sass", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/transformer-sass", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ ["@parcel/source-map", "npm:2.1.1"],\ ["sass", "npm:1.52.1"]\ ],\ @@ -2161,13 +2200,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-svg", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-svg-npm-2.9.3-6316a1b4cc-19cec37f9c.zip/node_modules/@parcel/transformer-svg/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-svg-npm-2.10.0-881c72cd1f-d5f55f6eee.zip/node_modules/@parcel/transformer-svg/",\ "packageDependencies": [\ - ["@parcel/transformer-svg", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/plugin", "npm:2.9.3"],\ + ["@parcel/transformer-svg", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/plugin", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["posthtml-parser", "npm:0.10.2"],\ @@ -2178,6 +2217,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/types", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-types-npm-2.10.0-270e786ba1-387aa07902.zip/node_modules/@parcel/types/",\ + "packageDependencies": [\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/cache", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["@parcel/package-manager", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["@parcel/source-map", "npm:2.1.1"],\ + ["@parcel/workers", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ + ["utility-types", "npm:3.10.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.6.2", {\ "packageLocation": "./.yarn/cache/@parcel-types-npm-2.6.2-aa1797faca-16f3c3ac36.zip/node_modules/@parcel/types/",\ "packageDependencies": [\ @@ -2191,23 +2244,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["utility-types", "npm:3.10.0"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-types-npm-2.9.3-eef76f9fa9-2a21622772.zip/node_modules/@parcel/types/",\ - "packageDependencies": [\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/cache", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["@parcel/package-manager", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/workers", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ - ["utility-types", "npm:3.10.0"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@parcel/utils", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-utils-npm-2.10.0-1f25fbc366-9f4953ff9a.zip/node_modules/@parcel/utils/",\ + "packageDependencies": [\ + ["@parcel/utils", "npm:2.10.0"],\ + ["@parcel/codeframe", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/markdown-ansi", "npm:2.10.0"],\ + ["@parcel/rust", "npm:2.10.0"],\ + ["@parcel/source-map", "npm:2.1.1"],\ + ["chalk", "npm:4.1.2"],\ + ["nullthrows", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:2.6.2", {\ "packageLocation": "./.yarn/cache/@parcel-utils-npm-2.6.2-cab87aed21-a74fdca966.zip/node_modules/@parcel/utils/",\ "packageDependencies": [\ @@ -2221,21 +2275,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-utils-npm-2.9.3-6666fec42c-4c1df52754.zip/node_modules/@parcel/utils/",\ - "packageDependencies": [\ - ["@parcel/utils", "npm:2.9.3"],\ - ["@parcel/codeframe", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/hash", "npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/markdown-ansi", "npm:2.9.3"],\ - ["@parcel/source-map", "npm:2.1.1"],\ - ["chalk", "npm:4.1.2"],\ - ["nullthrows", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@parcel/watcher", [\ @@ -2261,31 +2300,31 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/workers", [\ - ["npm:2.6.2", {\ - "packageLocation": "./.yarn/cache/@parcel-workers-npm-2.6.2-a30e38db52-92b65cd3fd.zip/node_modules/@parcel/workers/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/@parcel-workers-npm-2.10.0-7f8aa5ad5a-e8b1701b53.zip/node_modules/@parcel/workers/",\ "packageDependencies": [\ - ["@parcel/workers", "npm:2.6.2"]\ + ["@parcel/workers", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/@parcel-workers-npm-2.9.3-b0559c8ccb-d6ac6e2abf.zip/node_modules/@parcel/workers/",\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/@parcel-workers-npm-2.6.2-a30e38db52-92b65cd3fd.zip/node_modules/@parcel/workers/",\ "packageDependencies": [\ - ["@parcel/workers", "npm:2.9.3"]\ + ["@parcel/workers", "npm:2.6.2"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-fa9718ade0/0/cache/@parcel-workers-npm-2.6.2-a30e38db52-92b65cd3fd.zip/node_modules/@parcel/workers/",\ + ["virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-2fd2d815f8/0/cache/@parcel-workers-npm-2.10.0-7f8aa5ad5a-e8b1701b53.zip/node_modules/@parcel/workers/",\ "packageDependencies": [\ - ["@parcel/workers", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ + ["@parcel/workers", "virtual:270e786ba124f493b75e4cd9a08f7491010f97327e0fcf0c93872db7e85ab335c548e71e39c548e3ecd0ddd319719697b172c5c43cd0b75c1948a8e82873b962#npm:2.10.0"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.6.2"],\ - ["@parcel/logger", "npm:2.6.2"],\ - ["@parcel/types", "npm:2.6.2"],\ - ["@parcel/utils", "npm:2.6.2"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/profiler", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["@types/parcel__core", null],\ - ["chrome-trace-event", "npm:1.0.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "packagePeers": [\ @@ -2293,16 +2332,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-a726b8dab9/0/cache/@parcel-workers-npm-2.9.3-b0559c8ccb-d6ac6e2abf.zip/node_modules/@parcel/workers/",\ - "packageDependencies": [\ - ["@parcel/workers", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/profiler", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-5aa58b2681/0/cache/@parcel-workers-npm-2.10.0-7f8aa5ad5a-e8b1701b53.zip/node_modules/@parcel/workers/",\ + "packageDependencies": [\ + ["@parcel/workers", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/profiler", "npm:2.10.0"],\ + ["@parcel/types", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["@types/parcel__core", null],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -2312,17 +2351,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-00b61ac0d5/0/cache/@parcel-workers-npm-2.9.3-b0559c8ccb-d6ac6e2abf.zip/node_modules/@parcel/workers/",\ + ["virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-fa9718ade0/0/cache/@parcel-workers-npm-2.6.2-a30e38db52-92b65cd3fd.zip/node_modules/@parcel/workers/",\ "packageDependencies": [\ - ["@parcel/workers", "virtual:eef76f9fa9a588b8c892c493e6d851511aea6315c558ec074869cea35c69731f4489ed7c976fb55873d3f05e6ad5a0ad010792d1d87f51f47b52fc5dc26251b7#npm:2.9.3"],\ + ["@parcel/workers", "virtual:aa1797faca4a934b86d07dfa52e0db4db288b85fed415e745782ef9bd4bd39771970f9017a79cb7ed092d23d2539cea12a1cec949dfa0bb86e0fda2290caa70e#npm:2.6.2"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/profiler", "npm:2.9.3"],\ - ["@parcel/types", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["@parcel/diagnostic", "npm:2.6.2"],\ + ["@parcel/logger", "npm:2.6.2"],\ + ["@parcel/types", "npm:2.6.2"],\ + ["@parcel/utils", "npm:2.6.2"],\ ["@types/parcel__core", null],\ + ["chrome-trace-event", "npm:1.0.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "packagePeers": [\ @@ -2357,17 +2396,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@rollup/pluginutils", [\ - ["npm:5.0.4", {\ - "packageLocation": "./.yarn/cache/@rollup-pluginutils-npm-5.0.4-344c94a032-893d5805ac.zip/node_modules/@rollup/pluginutils/",\ + ["npm:5.0.5", {\ + "packageLocation": "./.yarn/cache/@rollup-pluginutils-npm-5.0.5-cfa8fafc53-dcd4d6e3cb.zip/node_modules/@rollup/pluginutils/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "npm:5.0.4"]\ + ["@rollup/pluginutils", "npm:5.0.5"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4", {\ - "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-72dfe81051/0/cache/@rollup-pluginutils-npm-5.0.4-344c94a032-893d5805ac.zip/node_modules/@rollup/pluginutils/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.5", {\ + "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-9173e115a7/0/cache/@rollup-pluginutils-npm-5.0.5-cfa8fafc53-dcd4d6e3cb.zip/node_modules/@rollup/pluginutils/",\ "packageDependencies": [\ - ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\ + ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.5"],\ ["@types/estree", "npm:1.0.0"],\ ["@types/rollup", null],\ ["estree-walker", "npm:2.0.2"],\ @@ -2389,10 +2428,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0", {\ - "packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-0c74a59d49/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\ + ["virtual:c902a8d1d11dd34ee7f7648077b48b959e6723fe684e99968d7e8c7b195a007900ac0290074641f9d2ed5797dad844cdb897c4c6de1b44897449ec92f70b817f#npm:2.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-b3857f99f1/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\ "packageDependencies": [\ - ["@sidvind/better-ajv-errors", "virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0"],\ + ["@sidvind/better-ajv-errors", "virtual:c902a8d1d11dd34ee7f7648077b48b959e6723fe684e99968d7e8c7b195a007900ac0290074641f9d2ed5797dad844cdb897c4c6de1b44897449ec92f70b817f#npm:2.0.0"],\ ["@babel/code-frame", "npm:7.16.7"],\ ["@types/ajv", null],\ ["ajv", "npm:8.11.0"],\ @@ -2407,16 +2446,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ]],\ ["@swc/core", [\ ["npm:1.3.62", {\ - "packageLocation": "./.yarn/unplugged/@swc-core-virtual-099ac47628/node_modules/@swc/core/",\ + "packageLocation": "./.yarn/unplugged/@swc-core-virtual-fa54a417e9/node_modules/@swc/core/",\ "packageDependencies": [\ ["@swc/core", "npm:1.3.62"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:9920b222d44a029b78dcdc0d8ca35581261d404e5aed3bc50e557a4aad11b071a29f50ce720e44fd147d81b34d288eff368e92cedb94a7944f8ce730ba1f9759#npm:1.3.62", {\ - "packageLocation": "./.yarn/unplugged/@swc-core-virtual-099ac47628/node_modules/@swc/core/",\ + ["virtual:caf3bb9c02ae9f768ff8cb8f830dcff0d7f38e60f1817c3f155faf0af46cd208a17e673fb908c23a477f907e553fbf9eef21af5f078ed79b4c34aca3fefc5224#npm:1.3.62", {\ + "packageLocation": "./.yarn/unplugged/@swc-core-virtual-fa54a417e9/node_modules/@swc/core/",\ "packageDependencies": [\ - ["@swc/core", "virtual:9920b222d44a029b78dcdc0d8ca35581261d404e5aed3bc50e557a4aad11b071a29f50ce720e44fd147d81b34d288eff368e92cedb94a7944f8ce730ba1f9759#npm:1.3.62"],\ + ["@swc/core", "virtual:caf3bb9c02ae9f768ff8cb8f830dcff0d7f38e60f1817c3f155faf0af46cd208a17e673fb908c23a477f907e553fbf9eef21af5f078ed79b4c34aca3fefc5224#npm:1.3.62"],\ ["@swc/core-darwin-arm64", "npm:1.3.62"],\ ["@swc/core-darwin-x64", "npm:1.3.62"],\ ["@swc/core-linux-arm-gnueabihf", "npm:1.3.62"],\ @@ -2592,10 +2631,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@types/katex", [\ - ["npm:0.14.0", {\ - "packageLocation": "./.yarn/cache/@types-katex-npm-0.14.0-acd5bc3e87-330e0d0337.zip/node_modules/@types/katex/",\ + ["npm:0.16.5", {\ + "packageLocation": "./.yarn/cache/@types-katex-npm-0.16.5-ff9336f176-a1ce22cd87.zip/node_modules/@types/katex/",\ "packageDependencies": [\ - ["@types/katex", "npm:0.14.0"]\ + ["@types/katex", "npm:0.16.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -2607,13 +2646,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/lodash", "npm:4.14.182"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.14.200", {\ + "packageLocation": "./.yarn/cache/@types-lodash-npm-4.14.200-8559f51fce-6471f8bb5d.zip/node_modules/@types/lodash/",\ + "packageDependencies": [\ + ["@types/lodash", "npm:4.14.200"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@types/lodash-es", [\ - ["npm:4.17.6", {\ - "packageLocation": "./.yarn/cache/@types-lodash-es-npm-4.17.6-fd5abbdc74-9bd239dd52.zip/node_modules/@types/lodash-es/",\ + ["npm:4.17.10", {\ + "packageLocation": "./.yarn/cache/@types-lodash-es-npm-4.17.10-a7dae21818-129e9dde83.zip/node_modules/@types/lodash-es/",\ "packageDependencies": [\ - ["@types/lodash-es", "npm:4.17.6"],\ + ["@types/lodash-es", "npm:4.17.10"],\ ["@types/lodash", "npm:4.14.182"]\ ],\ "linkType": "HARD"\ @@ -2638,20 +2684,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vitejs/plugin-vue", [\ - ["npm:4.3.4", {\ - "packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip/node_modules/@vitejs/plugin-vue/",\ + ["npm:4.4.0", {\ + "packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-4.4.0-c33d65c6f6-37b6987951.zip/node_modules/@vitejs/plugin-vue/",\ "packageDependencies": [\ - ["@vitejs/plugin-vue", "npm:4.3.4"]\ + ["@vitejs/plugin-vue", "npm:4.4.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-d66cb5aa6a/0/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip/node_modules/@vitejs/plugin-vue/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-6c0c604c2e/0/cache/@vitejs-plugin-vue-npm-4.4.0-c33d65c6f6-37b6987951.zip/node_modules/@vitejs/plugin-vue/",\ "packageDependencies": [\ - ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\ + ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.0"],\ ["@types/vite", null],\ ["@types/vue", null],\ - ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9"],\ + ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.11"],\ ["vue", "npm:3.3.4"]\ ],\ "packagePeers": [\ @@ -3119,10 +3165,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["async-validator", [\ - ["npm:4.1.1", {\ - "packageLocation": "./.yarn/cache/async-validator-npm-4.1.1-470b8d5b59-88590ab8ad.zip/node_modules/async-validator/",\ + ["npm:4.2.5", {\ + "packageLocation": "./.yarn/cache/async-validator-npm-4.2.5-4d61110c66-3e3d891a2e.zip/node_modules/async-validator/",\ "packageDependencies": [\ - ["async-validator", "npm:4.1.1"]\ + ["async-validator", "npm:4.2.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -3613,6 +3659,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["csstype", "npm:3.0.11"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:0.15.12", {\ + "packageLocation": "./.yarn/cache/css-render-npm-0.15.12-ff93ab2bdd-80265c5055.zip/node_modules/css-render/",\ + "packageDependencies": [\ + ["css-render", "npm:0.15.12"],\ + ["@emotion/hash", "npm:0.8.0"],\ + ["csstype", "npm:3.0.11"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["css-select", [\ @@ -4055,28 +4110,29 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["date-fns", [\ - ["npm:2.28.0", {\ - "packageLocation": "./.yarn/cache/date-fns-npm-2.28.0-c19c5add1b-a0516b2e4f.zip/node_modules/date-fns/",\ + ["npm:2.30.0", {\ + "packageLocation": "./.yarn/cache/date-fns-npm-2.30.0-895c790e0f-f7be015232.zip/node_modules/date-fns/",\ "packageDependencies": [\ - ["date-fns", "npm:2.28.0"]\ + ["date-fns", "npm:2.30.0"],\ + ["@babel/runtime", "npm:7.23.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["date-fns-tz", [\ - ["npm:1.3.3", {\ - "packageLocation": "./.yarn/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip/node_modules/date-fns-tz/",\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/date-fns-tz-npm-2.0.0-9b7996f292-a6553603a9.zip/node_modules/date-fns-tz/",\ "packageDependencies": [\ - ["date-fns-tz", "npm:1.3.3"]\ + ["date-fns-tz", "npm:2.0.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:1.3.3", {\ - "packageLocation": "./.yarn/__virtual__/date-fns-tz-virtual-5ed5d687a0/0/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip/node_modules/date-fns-tz/",\ + ["virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:2.0.0", {\ + "packageLocation": "./.yarn/__virtual__/date-fns-tz-virtual-b19bed24ca/0/cache/date-fns-tz-npm-2.0.0-9b7996f292-a6553603a9.zip/node_modules/date-fns-tz/",\ "packageDependencies": [\ - ["date-fns-tz", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:1.3.3"],\ + ["date-fns-tz", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:2.0.0"],\ ["@types/date-fns", null],\ - ["date-fns", "npm:2.28.0"]\ + ["date-fns", "npm:2.30.0"]\ ],\ "packagePeers": [\ "@types/date-fns",\ @@ -4246,6 +4302,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["detect-libc", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/detect-libc-npm-2.0.2-03afa59137-2b2cd3649b.zip/node_modules/detect-libc/",\ + "packageDependencies": [\ + ["detect-libc", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["doctrine", [\ @@ -4630,14 +4693,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint", [\ - ["npm:8.49.0", {\ - "packageLocation": "./.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip/node_modules/eslint/",\ + ["npm:8.51.0", {\ + "packageLocation": "./.yarn/cache/eslint-npm-8.51.0-77fce3ec74-214fa5d1fc.zip/node_modules/eslint/",\ "packageDependencies": [\ - ["eslint", "npm:8.49.0"],\ - ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ + ["eslint", "npm:8.51.0"],\ + ["@eslint-community/eslint-utils", "virtual:77fce3ec74d55c7e6791631c329cf3adde374e21e618e865127f72e63efeb3376dcf7fc8217de80f5a310e81c791a72e9d099b00fd3252d5653ff68dff50c2fa#npm:4.4.0"],\ ["@eslint-community/regexpp", "npm:4.8.0"],\ ["@eslint/eslintrc", "npm:2.1.2"],\ - ["@eslint/js", "npm:8.49.0"],\ + ["@eslint/js", "npm:8.51.0"],\ ["@humanwhocodes/config-array", "npm:0.11.11"],\ ["@humanwhocodes/module-importer", "npm:1.0.1"],\ ["@nodelib/fs.walk", "npm:1.2.8"],\ @@ -4691,9 +4754,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/eslint-plugin-import", null],\ ["@types/eslint-plugin-n", null],\ ["@types/eslint-plugin-promise", null],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.2.0"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"]\ ],\ "packagePeers": [\ @@ -4740,7 +4803,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/typescript-eslint__parser", null],\ ["@typescript-eslint/parser", null],\ ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-import-resolver-node", "npm:0.3.7"],\ ["eslint-import-resolver-typescript", null],\ ["eslint-import-resolver-webpack", null]\ @@ -4761,19 +4824,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint-plugin-cypress", [\ - ["npm:2.14.0", {\ - "packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.14.0-4d90862e1d-3fa118a757.zip/node_modules/eslint-plugin-cypress/",\ + ["npm:2.15.1", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip/node_modules/eslint-plugin-cypress/",\ "packageDependencies": [\ - ["eslint-plugin-cypress", "npm:2.14.0"]\ + ["eslint-plugin-cypress", "npm:2.15.1"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-57ccfb2b3e/0/cache/eslint-plugin-cypress-npm-2.14.0-4d90862e1d-3fa118a757.zip/node_modules/eslint-plugin-cypress/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.15.1", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-33ce75aabf/0/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip/node_modules/eslint-plugin-cypress/",\ "packageDependencies": [\ - ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\ + ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.15.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["globals", "npm:13.21.0"]\ ],\ "packagePeers": [\ @@ -4796,7 +4859,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-utils", "npm:2.1.0"],\ ["regexpp", "npm:3.2.0"]\ ],\ @@ -4815,14 +4878,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-es-x-virtual-276ea3759f/0/cache/eslint-plugin-es-x-npm-7.1.0-35735e8bbc-a19924313c.zip/node_modules/eslint-plugin-es-x/",\ + ["virtual:990a558e2898625aeb04d5e4d99c65569b456f1205bf2f887fd96310a4f502e48e83c1c993f5a46d1cb27cf7bf7d2b513e2850b2c2df904e744e7d8325464673#npm:7.1.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-es-x-virtual-c166cb743f/0/cache/eslint-plugin-es-x-npm-7.1.0-35735e8bbc-a19924313c.zip/node_modules/eslint-plugin-es-x/",\ "packageDependencies": [\ - ["eslint-plugin-es-x", "virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0"],\ - ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ + ["eslint-plugin-es-x", "virtual:990a558e2898625aeb04d5e4d99c65569b456f1205bf2f887fd96310a4f502e48e83c1c993f5a46d1cb27cf7bf7d2b513e2850b2c2df904e744e7d8325464673#npm:7.1.0"],\ + ["@eslint-community/eslint-utils", "virtual:77fce3ec74d55c7e6791631c329cf3adde374e21e618e865127f72e63efeb3376dcf7fc8217de80f5a310e81c791a72e9d099b00fd3252d5653ff68dff50c2fa#npm:4.4.0"],\ ["@eslint-community/regexpp", "npm:4.5.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"]\ + ["eslint", "npm:8.51.0"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4852,7 +4915,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["array.prototype.flatmap", "npm:1.3.1"],\ ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ ["doctrine", "npm:2.1.0"],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-import-resolver-node", "npm:0.3.7"],\ ["eslint-module-utils", "virtual:ef2ff17f0affe5aeeb05f2e27f2212e975bb78d898c026b74cc62e05a17de36abb35a54f0831f2ff5fced26e6128bfc2c0cf332f7c60149823619b008d0ea480#npm:2.8.0"],\ ["has", "npm:1.0.3"],\ @@ -4875,22 +4938,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint-plugin-n", [\ - ["npm:16.1.0", {\ - "packageLocation": "./.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip/node_modules/eslint-plugin-n/",\ + ["npm:16.2.0", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-n-npm-16.2.0-b2b8355312-124ba4f418.zip/node_modules/eslint-plugin-n/",\ "packageDependencies": [\ - ["eslint-plugin-n", "npm:16.1.0"]\ + ["eslint-plugin-n", "npm:16.2.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-9781ae938b/0/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip/node_modules/eslint-plugin-n/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.2.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-n-virtual-990a558e28/0/cache/eslint-plugin-n-npm-16.2.0-b2b8355312-124ba4f418.zip/node_modules/eslint-plugin-n/",\ "packageDependencies": [\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ - ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.2.0"],\ + ["@eslint-community/eslint-utils", "virtual:77fce3ec74d55c7e6791631c329cf3adde374e21e618e865127f72e63efeb3376dcf7fc8217de80f5a310e81c791a72e9d099b00fd3252d5653ff68dff50c2fa#npm:4.4.0"],\ ["@types/eslint", null],\ ["builtins", "npm:5.0.1"],\ - ["eslint", "npm:8.49.0"],\ - ["eslint-plugin-es-x", "virtual:9781ae938be7131b5685249f65c2d227d13395e62123d3b23a131614e18b016978a73fff3ac8d9c3709f25fa05a3e0f4cdf798416576354013fb49b6cd33487d#npm:7.1.0"],\ + ["eslint", "npm:8.51.0"],\ + ["eslint-plugin-es-x", "virtual:990a558e2898625aeb04d5e4d99c65569b456f1205bf2f887fd96310a4f502e48e83c1c993f5a46d1cb27cf7bf7d2b513e2850b2c2df904e744e7d8325464673#npm:7.1.0"],\ ["get-tsconfig", "npm:4.7.2"],\ ["ignore", "npm:5.2.4"],\ ["is-core-module", "npm:2.12.1"],\ @@ -4918,7 +4981,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\ ["eslint-utils", "npm:2.1.0"],\ ["ignore", "npm:5.2.0"],\ @@ -4946,7 +5009,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"]\ + ["eslint", "npm:8.51.0"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4967,9 +5030,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-e39e5d6bef/0/cache/eslint-plugin-vue-npm-9.17.0-c32115eab8-2ef53a0387.zip/node_modules/eslint-plugin-vue/",\ "packageDependencies": [\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\ - ["@eslint-community/eslint-utils", "virtual:1b802e43a1d6cfd4888588e031e9b9539c10922666207f02b37e1572beffa71b5952c5b88bdcc1e2ff0080ea3baa9b39a63225d9ea667488d5ab782bed5718c7#npm:4.4.0"],\ + ["@eslint-community/eslint-utils", "virtual:77fce3ec74d55c7e6791631c329cf3adde374e21e618e865127f72e63efeb3376dcf7fc8217de80f5a310e81c791a72e9d099b00fd3252d5653ff68dff50c2fa#npm:4.4.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["natural-compare", "npm:1.4.0"],\ ["nth-check", "npm:2.1.1"],\ ["postcss-selector-parser", "npm:6.0.13"],\ @@ -5644,10 +5707,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["highlight.js", [\ - ["npm:11.5.1", {\ - "packageLocation": "./.yarn/cache/highlight.js-npm-11.5.1-0fb1167640-bff556101d.zip/node_modules/highlight.js/",\ + ["npm:11.9.0", {\ + "packageLocation": "./.yarn/cache/highlight.js-npm-11.9.0-ec99f7b12f-4043d31c5d.zip/node_modules/highlight.js/",\ "packageDependencies": [\ - ["highlight.js", "npm:11.5.1"]\ + ["highlight.js", "npm:11.9.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -5662,23 +5725,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["html-validate", [\ - ["npm:8.4.0", {\ - "packageLocation": "./.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip/node_modules/html-validate/",\ + ["npm:8.5.0", {\ + "packageLocation": "./.yarn/cache/html-validate-npm-8.5.0-a5c06a51e6-38ef4c832e.zip/node_modules/html-validate/",\ "packageDependencies": [\ - ["html-validate", "npm:8.4.0"]\ + ["html-validate", "npm:8.5.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0", {\ - "packageLocation": "./.yarn/__virtual__/html-validate-virtual-baa02fb51e/0/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip/node_modules/html-validate/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.5.0", {\ + "packageLocation": "./.yarn/__virtual__/html-validate-virtual-c902a8d1d1/0/cache/html-validate-npm-8.5.0-a5c06a51e6-38ef4c832e.zip/node_modules/html-validate/",\ "packageDependencies": [\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.5.0"],\ ["@babel/code-frame", "npm:7.16.7"],\ ["@html-validate/stylish", "npm:4.1.0"],\ - ["@sidvind/better-ajv-errors", "virtual:baa02fb51e75f1f03e1ff0c1be104192da948332a9fd904d571b0b912d6ac16a98b4b63cb9465421728b6af4a1bb50f995b9b5018f7f90329de80b4a8ff40be4#npm:2.0.0"],\ + ["@sidvind/better-ajv-errors", "virtual:c902a8d1d11dd34ee7f7648077b48b959e6723fe684e99968d7e8c7b195a007900ac0290074641f9d2ed5797dad844cdb897c4c6de1b44897449ec92f70b817f#npm:2.0.0"],\ ["@types/jest", null],\ ["@types/jest-diff", null],\ ["@types/jest-snapshot", null],\ + ["@types/vitest", null],\ ["ajv", "npm:8.11.0"],\ ["deepmerge", "npm:4.2.2"],\ ["glob", "npm:10.2.4"],\ @@ -5689,15 +5753,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["kleur", "npm:4.1.4"],\ ["minimist", "npm:1.2.6"],\ ["prompts", "npm:2.4.2"],\ - ["semver", "npm:7.3.7"]\ + ["semver", "npm:7.3.7"],\ + ["vitest", null]\ ],\ "packagePeers": [\ "@types/jest-diff",\ "@types/jest-snapshot",\ "@types/jest",\ + "@types/vitest",\ "jest-diff",\ "jest-snapshot",\ - "jest"\ + "jest",\ + "vitest"\ ],\ "linkType": "HARD"\ }]\ @@ -5710,10 +5777,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:682b0538d3ef39b15922534816375f8fc9e61152acb2141851060b4f57fd8fce2e1ba748144a96d0ea51c5172e3701c211adb5d242aa55cd0ea2e483080b55c3#npm:2.0.2", {\ - "packageLocation": "./.yarn/__virtual__/htmlnano-virtual-3ab33bcaef/0/cache/htmlnano-npm-2.0.2-a89803bfeb-41f9e0c0e5.zip/node_modules/htmlnano/",\ + ["virtual:ee0243765cbdf501388f259b4f1148af5bb4df5c2fa392d4cf1f1d61d3475a9c15a5729ae4be6dd2e258041e618368d112e36aa7b208b01a51861aaaf92fa944#npm:2.0.2", {\ + "packageLocation": "./.yarn/__virtual__/htmlnano-virtual-cd24a048c0/0/cache/htmlnano-npm-2.0.2-a89803bfeb-41f9e0c0e5.zip/node_modules/htmlnano/",\ "packageDependencies": [\ - ["htmlnano", "virtual:682b0538d3ef39b15922534816375f8fc9e61152acb2141851060b4f57fd8fce2e1ba748144a96d0ea51c5172e3701c211adb5d242aa55cd0ea2e483080b55c3#npm:2.0.2"],\ + ["htmlnano", "virtual:ee0243765cbdf501388f259b4f1148af5bb4df5c2fa392d4cf1f1d61d3475a9c15a5729ae4be6dd2e258041e618368d112e36aa7b208b01a51861aaaf92fa944#npm:2.0.2"],\ ["@types/cssnano", null],\ ["@types/postcss", null],\ ["@types/purgecss", null],\ @@ -6630,21 +6697,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.7.11", {\ - "packageLocation": "./.yarn/unplugged/lmdb-npm-2.7.11-464a53df83/node_modules/lmdb/",\ - "packageDependencies": [\ - ["lmdb", "npm:2.7.11"],\ - ["@lmdb/lmdb-darwin-arm64", "npm:2.7.11"],\ - ["@lmdb/lmdb-darwin-x64", "npm:2.7.11"],\ - ["@lmdb/lmdb-linux-arm", "npm:2.7.11"],\ - ["@lmdb/lmdb-linux-arm64", "npm:2.7.11"],\ - ["@lmdb/lmdb-linux-x64", "npm:2.7.11"],\ - ["@lmdb/lmdb-win32-x64", "npm:2.7.11"],\ - ["msgpackr", "npm:1.8.5"],\ - ["node-addon-api", "npm:4.3.0"],\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/unplugged/lmdb-npm-2.8.5-e5fdd937dd/node_modules/lmdb/",\ + "packageDependencies": [\ + ["lmdb", "npm:2.8.5"],\ + ["@lmdb/lmdb-darwin-arm64", "npm:2.8.5"],\ + ["@lmdb/lmdb-darwin-x64", "npm:2.8.5"],\ + ["@lmdb/lmdb-linux-arm", "npm:2.8.5"],\ + ["@lmdb/lmdb-linux-arm64", "npm:2.8.5"],\ + ["@lmdb/lmdb-linux-x64", "npm:2.8.5"],\ + ["@lmdb/lmdb-win32-x64", "npm:2.8.5"],\ + ["msgpackr", "npm:1.9.9"],\ + ["node-addon-api", "npm:6.1.0"],\ ["node-gyp", "npm:9.0.0"],\ - ["node-gyp-build-optional-packages", "npm:5.0.6"],\ - ["ordered-binary", "npm:1.4.0"],\ + ["node-gyp-build-optional-packages", "npm:5.1.1"],\ + ["ordered-binary", "npm:1.4.1"],\ ["weak-lru-cache", "npm:1.2.2"]\ ],\ "linkType": "HARD"\ @@ -6974,10 +7041,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.8.5", {\ - "packageLocation": "./.yarn/cache/msgpackr-npm-1.8.5-ae4e94d720-baa6d94fb6.zip/node_modules/msgpackr/",\ + ["npm:1.9.9", {\ + "packageLocation": "./.yarn/cache/msgpackr-npm-1.9.9-75b366d55f-b63182d99f.zip/node_modules/msgpackr/",\ "packageDependencies": [\ - ["msgpackr", "npm:1.8.5"],\ + ["msgpackr", "npm:1.9.9"],\ ["msgpackr-extract", "npm:3.0.2"]\ ],\ "linkType": "HARD"\ @@ -7025,37 +7092,37 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["naive-ui", [\ - ["npm:2.34.4", {\ - "packageLocation": "./.yarn/cache/naive-ui-npm-2.34.4-00b9952d24-0e91d9208e.zip/node_modules/naive-ui/",\ + ["npm:2.35.0", {\ + "packageLocation": "./.yarn/cache/naive-ui-npm-2.35.0-2bb3f5a46d-53239b8cbe.zip/node_modules/naive-ui/",\ "packageDependencies": [\ - ["naive-ui", "npm:2.34.4"]\ + ["naive-ui", "npm:2.35.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.4", {\ - "packageLocation": "./.yarn/__virtual__/naive-ui-virtual-81189c7143/0/cache/naive-ui-npm-2.34.4-00b9952d24-0e91d9208e.zip/node_modules/naive-ui/",\ - "packageDependencies": [\ - ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.4"],\ - ["@css-render/plugin-bem", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10"],\ - ["@css-render/vue3-ssr", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10"],\ - ["@types/katex", "npm:0.14.0"],\ - ["@types/lodash", "npm:4.14.182"],\ - ["@types/lodash-es", "npm:4.17.6"],\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.35.0", {\ + "packageLocation": "./.yarn/__virtual__/naive-ui-virtual-d5901c8fe9/0/cache/naive-ui-npm-2.35.0-2bb3f5a46d-53239b8cbe.zip/node_modules/naive-ui/",\ + "packageDependencies": [\ + ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.35.0"],\ + ["@css-render/plugin-bem", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.15.12"],\ + ["@css-render/vue3-ssr", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.15.12"],\ + ["@types/katex", "npm:0.16.5"],\ + ["@types/lodash", "npm:4.14.200"],\ + ["@types/lodash-es", "npm:4.17.10"],\ ["@types/vue", null],\ - ["async-validator", "npm:4.1.1"],\ - ["css-render", "npm:0.15.10"],\ - ["date-fns", "npm:2.28.0"],\ - ["date-fns-tz", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:1.3.3"],\ + ["async-validator", "npm:4.2.5"],\ + ["css-render", "npm:0.15.12"],\ + ["date-fns", "npm:2.30.0"],\ + ["date-fns-tz", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:2.0.0"],\ ["evtd", "npm:0.2.4"],\ - ["highlight.js", "npm:11.5.1"],\ + ["highlight.js", "npm:11.9.0"],\ ["lodash", "npm:4.17.21"],\ ["lodash-es", "npm:4.17.21"],\ ["seemly", "npm:0.3.6"],\ ["treemate", "npm:0.3.11"],\ - ["vdirs", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.1.8"],\ - ["vooks", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.2.12"],\ + ["vdirs", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.1.8"],\ + ["vooks", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.2.12"],\ ["vue", "npm:3.3.4"],\ - ["vueuc", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.4.51"]\ + ["vueuc", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.4.51"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -7114,6 +7181,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["node-gyp", "npm:9.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/unplugged/node-addon-api-npm-6.1.0-634c545b39/node_modules/node-addon-api/",\ + "packageDependencies": [\ + ["node-addon-api", "npm:6.1.0"],\ + ["node-gyp", "npm:9.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["node-gyp", [\ @@ -7159,17 +7234,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:5.0.6", {\ - "packageLocation": "./.yarn/cache/node-gyp-build-optional-packages-npm-5.0.6-e687ca7fe8-080656ae27.zip/node_modules/node-gyp-build-optional-packages/",\ + ["npm:5.0.7", {\ + "packageLocation": "./.yarn/cache/node-gyp-build-optional-packages-npm-5.0.7-40f21a5d68-bcb4537af1.zip/node_modules/node-gyp-build-optional-packages/",\ "packageDependencies": [\ - ["node-gyp-build-optional-packages", "npm:5.0.6"]\ + ["node-gyp-build-optional-packages", "npm:5.0.7"]\ ],\ "linkType": "HARD"\ }],\ - ["npm:5.0.7", {\ - "packageLocation": "./.yarn/cache/node-gyp-build-optional-packages-npm-5.0.7-40f21a5d68-bcb4537af1.zip/node_modules/node-gyp-build-optional-packages/",\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/node-gyp-build-optional-packages-npm-5.1.1-ff11e179dd-f3cb197862.zip/node_modules/node-gyp-build-optional-packages/",\ "packageDependencies": [\ - ["node-gyp-build-optional-packages", "npm:5.0.7"]\ + ["node-gyp-build-optional-packages", "npm:5.1.1"],\ + ["detect-libc", "npm:2.0.2"]\ ],\ "linkType": "HARD"\ }]\ @@ -7361,10 +7437,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.4.0", {\ - "packageLocation": "./.yarn/cache/ordered-binary-npm-1.4.0-1319bac199-951fecb400.zip/node_modules/ordered-binary/",\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/ordered-binary-npm-1.4.1-9ad6b7c6b5-274940b4ef.zip/node_modules/ordered-binary/",\ "packageDependencies": [\ - ["ordered-binary", "npm:1.4.0"]\ + ["ordered-binary", "npm:1.4.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -7400,28 +7476,28 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["parcel", [\ - ["npm:2.9.3", {\ - "packageLocation": "./.yarn/cache/parcel-npm-2.9.3-33db24662f-d9b9c0083f.zip/node_modules/parcel/",\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/parcel-npm-2.10.0-8e794fc289-fe25ddcf2d.zip/node_modules/parcel/",\ "packageDependencies": [\ - ["parcel", "npm:2.9.3"]\ + ["parcel", "npm:2.10.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.9.3", {\ - "packageLocation": "./.yarn/__virtual__/parcel-virtual-8b9ffb5b47/0/cache/parcel-npm-2.9.3-33db24662f-d9b9c0083f.zip/node_modules/parcel/",\ - "packageDependencies": [\ - ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.9.3"],\ - ["@parcel/config-default", "virtual:8b9ffb5b471d92e43ed44d9d4b3997be1cadcb1d0802b72e4feeb1d8632c82ed490c0f9ad36e4817250e971bef57542a4c559c6969b21f3656e8c43773148c7f#npm:2.9.3"],\ - ["@parcel/core", "npm:2.9.3"],\ - ["@parcel/diagnostic", "npm:2.9.3"],\ - ["@parcel/events", "npm:2.9.3"],\ - ["@parcel/fs", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/logger", "npm:2.9.3"],\ - ["@parcel/package-manager", "virtual:b343ad5e82ae43a5371ef526d26f5282ba433795366dfabc05f623d5d686c21c439265330c2a02c006fc56a66deb59f0ca81d8c6e1639d3af2ebf54dd304f27f#npm:2.9.3"],\ - ["@parcel/reporter-cli", "npm:2.9.3"],\ - ["@parcel/reporter-dev-server", "npm:2.9.3"],\ - ["@parcel/reporter-tracer", "npm:2.9.3"],\ - ["@parcel/utils", "npm:2.9.3"],\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.10.0", {\ + "packageLocation": "./.yarn/__virtual__/parcel-virtual-71592776e8/0/cache/parcel-npm-2.10.0-8e794fc289-fe25ddcf2d.zip/node_modules/parcel/",\ + "packageDependencies": [\ + ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.10.0"],\ + ["@parcel/config-default", "virtual:71592776e81a3a98123fea990d2adcb9a2eb4cc84ca35ac4be3a6f331fe8d1f764a124c4f9a2dad3afd35076e01667fb0ef9ccd5629fbe405b31f0d1b14a14fd#npm:2.10.0"],\ + ["@parcel/core", "npm:2.10.0"],\ + ["@parcel/diagnostic", "npm:2.10.0"],\ + ["@parcel/events", "npm:2.10.0"],\ + ["@parcel/fs", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/logger", "npm:2.10.0"],\ + ["@parcel/package-manager", "virtual:59eaeeba7a5d21408bb7b40531b36a88648baa29ed841afea77b484ce4124f400b3aed2f6c7b6598bebbcce34fe625391a4c262c0e17b5a4f9e1ebbf693fa69b#npm:2.10.0"],\ + ["@parcel/reporter-cli", "npm:2.10.0"],\ + ["@parcel/reporter-dev-server", "npm:2.10.0"],\ + ["@parcel/reporter-tracer", "npm:2.10.0"],\ + ["@parcel/utils", "npm:2.10.0"],\ ["@types/parcel__core", null],\ ["chalk", "npm:4.1.2"],\ ["commander", "npm:7.2.0"],\ @@ -7531,17 +7607,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["pinia", [\ - ["npm:2.1.6", {\ - "packageLocation": "./.yarn/cache/pinia-npm-2.1.6-e0a07396ee-4e881e590c.zip/node_modules/pinia/",\ + ["npm:2.1.7", {\ + "packageLocation": "./.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip/node_modules/pinia/",\ "packageDependencies": [\ - ["pinia", "npm:2.1.6"]\ + ["pinia", "npm:2.1.7"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6", {\ - "packageLocation": "./.yarn/__virtual__/pinia-virtual-de554bf1d1/0/cache/pinia-npm-2.1.6-e0a07396ee-4e881e590c.zip/node_modules/pinia/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.7", {\ + "packageLocation": "./.yarn/__virtual__/pinia-virtual-cf6f7439ee/0/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip/node_modules/pinia/",\ "packageDependencies": [\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.7"],\ ["@types/typescript", null],\ ["@types/vue", null],\ ["@types/vue__composition-api", null],\ @@ -7549,7 +7625,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@vue/devtools-api", "npm:6.5.0"],\ ["typescript", null],\ ["vue", "npm:3.3.4"],\ - ["vue-demi", "virtual:de554bf1d104f9221148406424834a12640f5b745a790aaa466b8628aa7cb6ad88fd12f5887cbd44a0f77b628866ed0931b52ee1d324804f909f07ccba45e09d#npm:0.14.5"]\ + ["vue-demi", "virtual:cf6f7439ee76dfd2e7f8f2565ae847d76901434fc49c65702190cdf3d1c61e61c701a5c45b514c4bdeacb8f4bcac9c8a98bd4db3d0bc8e403d9e8db2cf14372a#npm:0.14.5"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -7578,7 +7654,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/vue", null],\ ["@types/vue__composition-api", null],\ ["@vue/composition-api", null],\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.7"],\ ["vue", "npm:3.3.4"],\ ["vue-demi", "virtual:f56fcf19bbebc2ada1b28955da8cc216b1e9a569a1a7337d2d1926c1ebd1bc7a5bd91aedae1d05c15c8562f33caf7c59bd3020a667340f6bdc6a7b13fc2ba847#npm:0.12.5"]\ ],\ @@ -7962,6 +8038,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["regenerator-runtime", "npm:0.13.9"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:0.14.0", {\ + "packageLocation": "./.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip/node_modules/regenerator-runtime/",\ + "packageDependencies": [\ + ["regenerator-runtime", "npm:0.14.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["regexp.prototype.flags", [\ @@ -8115,22 +8198,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./",\ "packageDependencies": [\ ["root-workspace-0b6124", "workspace:."],\ - ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/core", "npm:6.1.8"],\ - ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ + ["@fullcalendar/bootstrap5", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/core", "npm:6.1.9"],\ + ["@fullcalendar/daygrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/icalendar", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/interaction", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/list", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ ["@fullcalendar/luxon3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ - ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.8"],\ - ["@parcel/optimizer-data-url", "npm:2.9.3"],\ - ["@parcel/transformer-inline-string", "npm:2.9.3"],\ - ["@parcel/transformer-sass", "npm:2.9.3"],\ + ["@fullcalendar/timegrid", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.9"],\ + ["@parcel/optimizer-data-url", "npm:2.10.0"],\ + ["@parcel/transformer-inline-string", "npm:2.10.0"],\ + ["@parcel/transformer-sass", "npm:2.10.0"],\ ["@popperjs/core", "npm:2.11.8"],\ - ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.4"],\ + ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.5"],\ ["@twuni/emojify", "npm:1.0.2"],\ - ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.3.4"],\ + ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.0"],\ ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.3.2"],\ ["bootstrap-icons", "npm:1.11.1"],\ ["browser-fs-access", "npm:0.35.0"],\ @@ -8138,17 +8221,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["c8", "npm:8.0.1"],\ ["caniuse-lite", "npm:1.0.30001538"],\ ["d3", "npm:7.8.5"],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.1.0"],\ - ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.14.0"],\ + ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.15.1"],\ ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.28.1"],\ - ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.1.0"],\ + ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:16.2.0"],\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.17.0"],\ ["file-saver", "npm:2.0.5"],\ ["highcharts", "npm:11.1.0"],\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.4.0"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:8.5.0"],\ ["ical.js", "npm:1.5.0"],\ ["jquery", "npm:3.7.1"],\ ["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.1"],\ @@ -8161,12 +8244,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["moment-timezone", "npm:0.5.43"],\ ["ms", "npm:2.1.3"],\ ["murmurhash-js", "npm:1.0.0"],\ - ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.4"],\ - ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.9.3"],\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.6"],\ + ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.35.0"],\ + ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.10.0"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.1.7"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pug", "npm:3.0.2"],\ - ["sass", "npm:1.67.0"],\ + ["sass", "npm:1.69.4"],\ ["seedrandom", "npm:3.0.5"],\ ["select2", "npm:4.1.0-rc.0"],\ ["select2-bootstrap-5-theme", "npm:1.3.0"],\ @@ -8175,9 +8258,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["slugify", "npm:1.6.6"],\ ["sortablejs", "npm:1.15.0"],\ ["vanillajs-datepicker", "npm:1.3.4"],\ - ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9"],\ + ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.11"],\ ["vue", "npm:3.3.4"],\ - ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.4"],\ + ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.5"],\ ["zxcvbn", "npm:4.4.2"]\ ],\ "linkType": "SOFT"\ @@ -8263,10 +8346,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.67.0", {\ - "packageLocation": "./.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip/node_modules/sass/",\ + ["npm:1.69.4", {\ + "packageLocation": "./.yarn/cache/sass-npm-1.69.4-bea57e4b30-ed5558445b.zip/node_modules/sass/",\ "packageDependencies": [\ - ["sass", "npm:1.67.0"],\ + ["sass", "npm:1.69.4"],\ ["chokidar", "npm:3.5.3"],\ ["immutable", "npm:4.0.0"],\ ["source-map-js", "npm:1.0.2"]\ @@ -9009,10 +9092,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.1.8", {\ - "packageLocation": "./.yarn/__virtual__/vdirs-virtual-f8bc1954b7/0/cache/vdirs-npm-0.1.8-59a32a98d6-a7be8ccad3.zip/node_modules/vdirs/",\ + ["virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.1.8", {\ + "packageLocation": "./.yarn/__virtual__/vdirs-virtual-35aac8a6c6/0/cache/vdirs-npm-0.1.8-59a32a98d6-a7be8ccad3.zip/node_modules/vdirs/",\ "packageDependencies": [\ - ["vdirs", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.1.8"],\ + ["vdirs", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.1.8"],\ ["@types/vue", null],\ ["evtd", "npm:0.2.3"],\ ["vue", "npm:3.3.4"]\ @@ -9025,17 +9108,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["vite", [\ - ["npm:4.4.9", {\ - "packageLocation": "./.yarn/cache/vite-npm-4.4.9-e845c1bbf8-c511024cea.zip/node_modules/vite/",\ + ["npm:4.4.11", {\ + "packageLocation": "./.yarn/cache/vite-npm-4.4.11-e7ab057df9-c22145c838.zip/node_modules/vite/",\ "packageDependencies": [\ - ["vite", "npm:4.4.9"]\ + ["vite", "npm:4.4.11"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-81c46be283/0/cache/vite-npm-4.4.9-e845c1bbf8-c511024cea.zip/node_modules/vite/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.11", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-6db9baa143/0/cache/vite-npm-4.4.11-e7ab057df9-c22145c838.zip/node_modules/vite/",\ "packageDependencies": [\ - ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.9"],\ + ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.4.11"],\ ["@types/less", null],\ ["@types/lightningcss", null],\ ["@types/node", null],\ @@ -9049,7 +9132,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lightningcss", null],\ ["postcss", "npm:8.4.27"],\ ["rollup", "npm:3.28.0"],\ - ["sass", "npm:1.67.0"],\ + ["sass", "npm:1.69.4"],\ ["stylus", null],\ ["sugarss", null],\ ["terser", null]\ @@ -9089,10 +9172,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.2.12", {\ - "packageLocation": "./.yarn/__virtual__/vooks-virtual-6071501f22/0/cache/vooks-npm-0.2.12-0d1a2d856b-e6841ec5b6.zip/node_modules/vooks/",\ + ["virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.2.12", {\ + "packageLocation": "./.yarn/__virtual__/vooks-virtual-f099143e8a/0/cache/vooks-npm-0.2.12-0d1a2d856b-e6841ec5b6.zip/node_modules/vooks/",\ "packageDependencies": [\ - ["vooks", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.2.12"],\ + ["vooks", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.2.12"],\ ["@types/vue", null],\ ["evtd", "npm:0.2.3"],\ ["vue", "npm:3.3.4"]\ @@ -9127,16 +9210,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "SOFT"\ }],\ ["npm:0.14.5", {\ - "packageLocation": "./.yarn/unplugged/vue-demi-virtual-da71df09c0/node_modules/vue-demi/",\ + "packageLocation": "./.yarn/unplugged/vue-demi-virtual-b0e571907e/node_modules/vue-demi/",\ "packageDependencies": [\ ["vue-demi", "npm:0.14.5"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:de554bf1d104f9221148406424834a12640f5b745a790aaa466b8628aa7cb6ad88fd12f5887cbd44a0f77b628866ed0931b52ee1d324804f909f07ccba45e09d#npm:0.14.5", {\ - "packageLocation": "./.yarn/unplugged/vue-demi-virtual-da71df09c0/node_modules/vue-demi/",\ + ["virtual:cf6f7439ee76dfd2e7f8f2565ae847d76901434fc49c65702190cdf3d1c61e61c701a5c45b514c4bdeacb8f4bcac9c8a98bd4db3d0bc8e403d9e8db2cf14372a#npm:0.14.5", {\ + "packageLocation": "./.yarn/unplugged/vue-demi-virtual-b0e571907e/node_modules/vue-demi/",\ "packageDependencies": [\ - ["vue-demi", "virtual:de554bf1d104f9221148406424834a12640f5b745a790aaa466b8628aa7cb6ad88fd12f5887cbd44a0f77b628866ed0931b52ee1d324804f909f07ccba45e09d#npm:0.14.5"],\ + ["vue-demi", "virtual:cf6f7439ee76dfd2e7f8f2565ae847d76901434fc49c65702190cdf3d1c61e61c701a5c45b514c4bdeacb8f4bcac9c8a98bd4db3d0bc8e403d9e8db2cf14372a#npm:0.14.5"],\ ["@types/vue", null],\ ["@types/vue__composition-api", null],\ ["@vue/composition-api", null],\ @@ -9182,7 +9265,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["vue-eslint-parser", "virtual:e39e5d6bef7a93bd3b21c5c9ba6ef825c92fc73c8d9c9e01699e1dc11e40fd3bc150ba16509e2cf59495cb098c32b2e4a85c0c21802fddeffc3208b01f4f5a16#npm:9.3.1"],\ ["@types/eslint", null],\ ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ - ["eslint", "npm:8.49.0"],\ + ["eslint", "npm:8.51.0"],\ ["eslint-scope", "npm:7.1.1"],\ ["eslint-visitor-keys", "npm:3.3.0"],\ ["espree", "npm:9.3.2"],\ @@ -9198,17 +9281,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["vue-router", [\ - ["npm:4.2.4", {\ - "packageLocation": "./.yarn/cache/vue-router-npm-4.2.4-59b21f5c05-9fe1fc11b6.zip/node_modules/vue-router/",\ + ["npm:4.2.5", {\ + "packageLocation": "./.yarn/cache/vue-router-npm-4.2.5-3479f41e41-2449db4f3a.zip/node_modules/vue-router/",\ "packageDependencies": [\ - ["vue-router", "npm:4.2.4"]\ + ["vue-router", "npm:4.2.5"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.4", {\ - "packageLocation": "./.yarn/__virtual__/vue-router-virtual-0b2b7d54bc/0/cache/vue-router-npm-4.2.4-59b21f5c05-9fe1fc11b6.zip/node_modules/vue-router/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.5", {\ + "packageLocation": "./.yarn/__virtual__/vue-router-virtual-2017aa030a/0/cache/vue-router-npm-4.2.5-3479f41e41-2449db4f3a.zip/node_modules/vue-router/",\ "packageDependencies": [\ - ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.4"],\ + ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.2.5"],\ ["@types/vue", null],\ ["@vue/devtools-api", "npm:6.5.0"],\ ["vue", "npm:3.3.4"]\ @@ -9228,18 +9311,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.4.51", {\ - "packageLocation": "./.yarn/__virtual__/vueuc-virtual-6919f03c55/0/cache/vueuc-npm-0.4.51-794074113f-7969659fac.zip/node_modules/vueuc/",\ + ["virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.4.51", {\ + "packageLocation": "./.yarn/__virtual__/vueuc-virtual-07229bbf54/0/cache/vueuc-npm-0.4.51-794074113f-7969659fac.zip/node_modules/vueuc/",\ "packageDependencies": [\ - ["vueuc", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.4.51"],\ - ["@css-render/vue3-ssr", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.15.10"],\ + ["vueuc", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.4.51"],\ + ["@css-render/vue3-ssr", "virtual:07229bbf54bc488d21e48f65df3fcd2cdabd1e401dfffccce7403d04695be90e478a0d508694f896481602b0f9db804b9f384dfa051fe08e896fd18fd1fe0b6b#npm:0.15.10"],\ ["@juggle/resize-observer", "npm:3.3.1"],\ ["@types/vue", null],\ ["css-render", "npm:0.15.10"],\ ["evtd", "npm:0.2.4"],\ ["seemly", "npm:0.3.6"],\ - ["vdirs", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.1.8"],\ - ["vooks", "virtual:81189c71433f62c4ac273c448aeecf3ed7301d64e33ff7c34d03262f85581d3b354bb215f71d406ed51f0027815a19a544f8843ca4c1f8ddaea140bb6c10966f#npm:0.2.12"],\ + ["vdirs", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.1.8"],\ + ["vooks", "virtual:d5901c8fe9a0c32ef9bd30914b8624afdd53ad520846726499200f014090a72c0a1d5e3737654e39af21acf7bf6f0993bedc3c908b3b8804daa47faed23d0085#npm:0.2.12"],\ ["vue", "npm:3.3.4"]\ ],\ "packagePeers": [\ diff --git a/.yarn/cache/@babel-runtime-npm-7.23.2-d013d6cf7e-6c4df4839e.zip b/.yarn/cache/@babel-runtime-npm-7.23.2-d013d6cf7e-6c4df4839e.zip new file mode 100644 index 0000000000..f0d4497857 Binary files /dev/null and b/.yarn/cache/@babel-runtime-npm-7.23.2-d013d6cf7e-6c4df4839e.zip differ diff --git a/.yarn/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip b/.yarn/cache/@css-render-plugin-bem-npm-0.15.12-bf8b43dc1f-9fa7ddd62b.zip similarity index 61% rename from .yarn/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip rename to .yarn/cache/@css-render-plugin-bem-npm-0.15.12-bf8b43dc1f-9fa7ddd62b.zip index 7df7772871..7145fae118 100644 Binary files a/.yarn/cache/@css-render-plugin-bem-npm-0.15.10-41ccecaa2f-cbab72a7b5.zip and b/.yarn/cache/@css-render-plugin-bem-npm-0.15.12-bf8b43dc1f-9fa7ddd62b.zip differ diff --git a/.yarn/cache/@css-render-vue3-ssr-npm-0.15.12-a130f4db3a-a5505ae161.zip b/.yarn/cache/@css-render-vue3-ssr-npm-0.15.12-a130f4db3a-a5505ae161.zip new file mode 100644 index 0000000000..0e75f8a4c7 Binary files /dev/null and b/.yarn/cache/@css-render-vue3-ssr-npm-0.15.12-a130f4db3a-a5505ae161.zip differ diff --git a/.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip b/.yarn/cache/@eslint-js-npm-8.51.0-51f088b88b-0228bf1e1e.zip similarity index 70% rename from .yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip rename to .yarn/cache/@eslint-js-npm-8.51.0-51f088b88b-0228bf1e1e.zip index f0acb5bec4..0cae34e698 100644 Binary files a/.yarn/cache/@eslint-js-npm-8.49.0-e8f6510b47-a6601807c8.zip and b/.yarn/cache/@eslint-js-npm-8.51.0-51f088b88b-0228bf1e1e.zip differ diff --git a/.yarn/cache/@fullcalendar-bootstrap5-npm-6.1.8-bbeae5dafc-c78ef0d62e.zip b/.yarn/cache/@fullcalendar-bootstrap5-npm-6.1.9-ef68c3c094-1d6168fafc.zip similarity index 60% rename from .yarn/cache/@fullcalendar-bootstrap5-npm-6.1.8-bbeae5dafc-c78ef0d62e.zip rename to .yarn/cache/@fullcalendar-bootstrap5-npm-6.1.9-ef68c3c094-1d6168fafc.zip index bed7f5330b..22a51e35a1 100644 Binary files a/.yarn/cache/@fullcalendar-bootstrap5-npm-6.1.8-bbeae5dafc-c78ef0d62e.zip and b/.yarn/cache/@fullcalendar-bootstrap5-npm-6.1.9-ef68c3c094-1d6168fafc.zip differ diff --git a/.yarn/cache/@fullcalendar-core-npm-6.1.8-da04efa804-66c13078c9.zip b/.yarn/cache/@fullcalendar-core-npm-6.1.8-da04efa804-66c13078c9.zip deleted file mode 100644 index a6503c93c2..0000000000 Binary files a/.yarn/cache/@fullcalendar-core-npm-6.1.8-da04efa804-66c13078c9.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-core-npm-6.1.9-b4da84d4b8-836db3e40c.zip b/.yarn/cache/@fullcalendar-core-npm-6.1.9-b4da84d4b8-836db3e40c.zip new file mode 100644 index 0000000000..4e27bfed69 Binary files /dev/null and b/.yarn/cache/@fullcalendar-core-npm-6.1.9-b4da84d4b8-836db3e40c.zip differ diff --git a/.yarn/cache/@fullcalendar-daygrid-npm-6.1.8-3f45184389-a99441c81d.zip b/.yarn/cache/@fullcalendar-daygrid-npm-6.1.8-3f45184389-a99441c81d.zip deleted file mode 100644 index 1e4016e010..0000000000 Binary files a/.yarn/cache/@fullcalendar-daygrid-npm-6.1.8-3f45184389-a99441c81d.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-daygrid-npm-6.1.9-4c0da59f84-3db55247c4.zip b/.yarn/cache/@fullcalendar-daygrid-npm-6.1.9-4c0da59f84-3db55247c4.zip new file mode 100644 index 0000000000..5a0ad27421 Binary files /dev/null and b/.yarn/cache/@fullcalendar-daygrid-npm-6.1.9-4c0da59f84-3db55247c4.zip differ diff --git a/.yarn/cache/@fullcalendar-icalendar-npm-6.1.8-bee329d052-f322ce54bb.zip b/.yarn/cache/@fullcalendar-icalendar-npm-6.1.9-92e390eda8-d47daf4ae0.zip similarity index 65% rename from .yarn/cache/@fullcalendar-icalendar-npm-6.1.8-bee329d052-f322ce54bb.zip rename to .yarn/cache/@fullcalendar-icalendar-npm-6.1.9-92e390eda8-d47daf4ae0.zip index 0a8eeadfda..804279cbb4 100644 Binary files a/.yarn/cache/@fullcalendar-icalendar-npm-6.1.8-bee329d052-f322ce54bb.zip and b/.yarn/cache/@fullcalendar-icalendar-npm-6.1.9-92e390eda8-d47daf4ae0.zip differ diff --git a/.yarn/cache/@fullcalendar-interaction-npm-6.1.8-6c6b6987db-3ef0da6dca.zip b/.yarn/cache/@fullcalendar-interaction-npm-6.1.8-6c6b6987db-3ef0da6dca.zip deleted file mode 100644 index 41d39d3879..0000000000 Binary files a/.yarn/cache/@fullcalendar-interaction-npm-6.1.8-6c6b6987db-3ef0da6dca.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-interaction-npm-6.1.9-f729b81a3d-787111ea6f.zip b/.yarn/cache/@fullcalendar-interaction-npm-6.1.9-f729b81a3d-787111ea6f.zip new file mode 100644 index 0000000000..43132b57e8 Binary files /dev/null and b/.yarn/cache/@fullcalendar-interaction-npm-6.1.9-f729b81a3d-787111ea6f.zip differ diff --git a/.yarn/cache/@fullcalendar-list-npm-6.1.8-39b471f8da-b5c397040e.zip b/.yarn/cache/@fullcalendar-list-npm-6.1.8-39b471f8da-b5c397040e.zip deleted file mode 100644 index bec4ca38b3..0000000000 Binary files a/.yarn/cache/@fullcalendar-list-npm-6.1.8-39b471f8da-b5c397040e.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-list-npm-6.1.9-f76695c5ab-978dd54b71.zip b/.yarn/cache/@fullcalendar-list-npm-6.1.9-f76695c5ab-978dd54b71.zip new file mode 100644 index 0000000000..177ec564d1 Binary files /dev/null and b/.yarn/cache/@fullcalendar-list-npm-6.1.9-f76695c5ab-978dd54b71.zip differ diff --git a/.yarn/cache/@fullcalendar-timegrid-npm-6.1.8-22d8c05e30-122786fd40.zip b/.yarn/cache/@fullcalendar-timegrid-npm-6.1.9-b227fefa80-8c12a508f7.zip similarity index 77% rename from .yarn/cache/@fullcalendar-timegrid-npm-6.1.8-22d8c05e30-122786fd40.zip rename to .yarn/cache/@fullcalendar-timegrid-npm-6.1.9-b227fefa80-8c12a508f7.zip index bd56e31f00..5d92af9ff1 100644 Binary files a/.yarn/cache/@fullcalendar-timegrid-npm-6.1.8-22d8c05e30-122786fd40.zip and b/.yarn/cache/@fullcalendar-timegrid-npm-6.1.9-b227fefa80-8c12a508f7.zip differ diff --git a/.yarn/cache/@fullcalendar-vue3-npm-6.1.8-a4963d0029-cff81d98ae.zip b/.yarn/cache/@fullcalendar-vue3-npm-6.1.9-3c150e259d-2c1c0fbe72.zip similarity index 79% rename from .yarn/cache/@fullcalendar-vue3-npm-6.1.8-a4963d0029-cff81d98ae.zip rename to .yarn/cache/@fullcalendar-vue3-npm-6.1.9-3c150e259d-2c1c0fbe72.zip index cf345ff23d..0ca254a0d6 100644 Binary files a/.yarn/cache/@fullcalendar-vue3-npm-6.1.8-a4963d0029-cff81d98ae.zip and b/.yarn/cache/@fullcalendar-vue3-npm-6.1.9-3c150e259d-2c1c0fbe72.zip differ diff --git a/.yarn/cache/@lmdb-lmdb-darwin-arm64-npm-2.7.11-6bf2bf934e-8.zip b/.yarn/cache/@lmdb-lmdb-darwin-arm64-npm-2.7.11-6bf2bf934e-8.zip deleted file mode 100644 index 3ba64234ef..0000000000 Binary files a/.yarn/cache/@lmdb-lmdb-darwin-arm64-npm-2.7.11-6bf2bf934e-8.zip and /dev/null differ diff --git a/.yarn/cache/@lmdb-lmdb-darwin-arm64-npm-2.8.5-a9ab00615c-8.zip b/.yarn/cache/@lmdb-lmdb-darwin-arm64-npm-2.8.5-a9ab00615c-8.zip new file mode 100644 index 0000000000..6df931b4af Binary files /dev/null and b/.yarn/cache/@lmdb-lmdb-darwin-arm64-npm-2.8.5-a9ab00615c-8.zip differ diff --git a/.yarn/cache/@lmdb-lmdb-darwin-x64-npm-2.7.11-f282673377-8.zip b/.yarn/cache/@lmdb-lmdb-darwin-x64-npm-2.7.11-f282673377-8.zip deleted file mode 100644 index 49bdca5ae0..0000000000 Binary files a/.yarn/cache/@lmdb-lmdb-darwin-x64-npm-2.7.11-f282673377-8.zip and /dev/null differ diff --git a/.yarn/cache/@lmdb-lmdb-darwin-x64-npm-2.8.5-080b8c9329-8.zip b/.yarn/cache/@lmdb-lmdb-darwin-x64-npm-2.8.5-080b8c9329-8.zip new file mode 100644 index 0000000000..db77cafaea Binary files /dev/null and b/.yarn/cache/@lmdb-lmdb-darwin-x64-npm-2.8.5-080b8c9329-8.zip differ diff --git a/.yarn/cache/@lmdb-lmdb-linux-arm64-npm-2.7.11-3dcb107756-8.zip b/.yarn/cache/@lmdb-lmdb-linux-arm64-npm-2.7.11-3dcb107756-8.zip deleted file mode 100644 index 78c16d860c..0000000000 Binary files a/.yarn/cache/@lmdb-lmdb-linux-arm64-npm-2.7.11-3dcb107756-8.zip and /dev/null differ diff --git a/.yarn/cache/@lmdb-lmdb-linux-arm64-npm-2.8.5-9dfda9f24f-8.zip b/.yarn/cache/@lmdb-lmdb-linux-arm64-npm-2.8.5-9dfda9f24f-8.zip new file mode 100644 index 0000000000..d4522df85e Binary files /dev/null and b/.yarn/cache/@lmdb-lmdb-linux-arm64-npm-2.8.5-9dfda9f24f-8.zip differ diff --git a/.yarn/cache/@lmdb-lmdb-linux-x64-npm-2.7.11-f3bb75854e-8.zip b/.yarn/cache/@lmdb-lmdb-linux-x64-npm-2.7.11-f3bb75854e-8.zip deleted file mode 100644 index 0cb386d340..0000000000 Binary files a/.yarn/cache/@lmdb-lmdb-linux-x64-npm-2.7.11-f3bb75854e-8.zip and /dev/null differ diff --git a/.yarn/cache/@lmdb-lmdb-linux-x64-npm-2.8.5-0f668ba9a7-8.zip b/.yarn/cache/@lmdb-lmdb-linux-x64-npm-2.8.5-0f668ba9a7-8.zip new file mode 100644 index 0000000000..8820ec421f Binary files /dev/null and b/.yarn/cache/@lmdb-lmdb-linux-x64-npm-2.8.5-0f668ba9a7-8.zip differ diff --git a/.yarn/cache/@lmdb-lmdb-win32-x64-npm-2.7.11-aa490eb71e-8.zip b/.yarn/cache/@lmdb-lmdb-win32-x64-npm-2.7.11-aa490eb71e-8.zip deleted file mode 100644 index 10409fa77e..0000000000 Binary files a/.yarn/cache/@lmdb-lmdb-win32-x64-npm-2.7.11-aa490eb71e-8.zip and /dev/null differ diff --git a/.yarn/cache/@lmdb-lmdb-win32-x64-npm-2.8.5-3702de4edb-8.zip b/.yarn/cache/@lmdb-lmdb-win32-x64-npm-2.8.5-3702de4edb-8.zip new file mode 100644 index 0000000000..201d7cb1f1 Binary files /dev/null and b/.yarn/cache/@lmdb-lmdb-win32-x64-npm-2.8.5-3702de4edb-8.zip differ diff --git a/.yarn/cache/@parcel-bundler-default-npm-2.10.0-bf1aa01515-58d3619928.zip b/.yarn/cache/@parcel-bundler-default-npm-2.10.0-bf1aa01515-58d3619928.zip new file mode 100644 index 0000000000..302219eaa0 Binary files /dev/null and b/.yarn/cache/@parcel-bundler-default-npm-2.10.0-bf1aa01515-58d3619928.zip differ diff --git a/.yarn/cache/@parcel-bundler-default-npm-2.9.3-da108dccec-271f354e61.zip b/.yarn/cache/@parcel-bundler-default-npm-2.9.3-da108dccec-271f354e61.zip deleted file mode 100644 index ce1830b187..0000000000 Binary files a/.yarn/cache/@parcel-bundler-default-npm-2.9.3-da108dccec-271f354e61.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-cache-npm-2.10.0-37f1f83d32-209d474abd.zip b/.yarn/cache/@parcel-cache-npm-2.10.0-37f1f83d32-209d474abd.zip new file mode 100644 index 0000000000..271d9d3f6f Binary files /dev/null and b/.yarn/cache/@parcel-cache-npm-2.10.0-37f1f83d32-209d474abd.zip differ diff --git a/.yarn/cache/@parcel-cache-npm-2.9.3-1875c3a53a-31bb356d2e.zip b/.yarn/cache/@parcel-cache-npm-2.9.3-1875c3a53a-31bb356d2e.zip deleted file mode 100644 index b1a4afd12f..0000000000 Binary files a/.yarn/cache/@parcel-cache-npm-2.9.3-1875c3a53a-31bb356d2e.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-codeframe-npm-2.10.0-e8aa1b4ecc-d87b17d3ce.zip b/.yarn/cache/@parcel-codeframe-npm-2.10.0-e8aa1b4ecc-d87b17d3ce.zip new file mode 100644 index 0000000000..9058e68333 Binary files /dev/null and b/.yarn/cache/@parcel-codeframe-npm-2.10.0-e8aa1b4ecc-d87b17d3ce.zip differ diff --git a/.yarn/cache/@parcel-codeframe-npm-2.9.3-2580057b7a-f86a4d90eb.zip b/.yarn/cache/@parcel-codeframe-npm-2.9.3-2580057b7a-f86a4d90eb.zip deleted file mode 100644 index 5d341a35aa..0000000000 Binary files a/.yarn/cache/@parcel-codeframe-npm-2.9.3-2580057b7a-f86a4d90eb.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-compressor-raw-npm-2.9.3-be5ba2acf4-2124c347a5.zip b/.yarn/cache/@parcel-compressor-raw-npm-2.10.0-961e5d9fe0-043fca0ecb.zip similarity index 54% rename from .yarn/cache/@parcel-compressor-raw-npm-2.9.3-be5ba2acf4-2124c347a5.zip rename to .yarn/cache/@parcel-compressor-raw-npm-2.10.0-961e5d9fe0-043fca0ecb.zip index ace0bf6e50..e6333b4084 100644 Binary files a/.yarn/cache/@parcel-compressor-raw-npm-2.9.3-be5ba2acf4-2124c347a5.zip and b/.yarn/cache/@parcel-compressor-raw-npm-2.10.0-961e5d9fe0-043fca0ecb.zip differ diff --git a/.yarn/cache/@parcel-config-default-npm-2.10.0-2a1fbdf24b-d780d05021.zip b/.yarn/cache/@parcel-config-default-npm-2.10.0-2a1fbdf24b-d780d05021.zip new file mode 100644 index 0000000000..d5a1840883 Binary files /dev/null and b/.yarn/cache/@parcel-config-default-npm-2.10.0-2a1fbdf24b-d780d05021.zip differ diff --git a/.yarn/cache/@parcel-config-default-npm-2.9.3-a459e67e01-61ef21351e.zip b/.yarn/cache/@parcel-config-default-npm-2.9.3-a459e67e01-61ef21351e.zip deleted file mode 100644 index 206f55e21f..0000000000 Binary files a/.yarn/cache/@parcel-config-default-npm-2.9.3-a459e67e01-61ef21351e.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-core-npm-2.10.0-59eaeeba7a-c59c2971ea.zip b/.yarn/cache/@parcel-core-npm-2.10.0-59eaeeba7a-c59c2971ea.zip new file mode 100644 index 0000000000..95a14ae902 Binary files /dev/null and b/.yarn/cache/@parcel-core-npm-2.10.0-59eaeeba7a-c59c2971ea.zip differ diff --git a/.yarn/cache/@parcel-core-npm-2.9.3-b343ad5e82-e4ba4e0909.zip b/.yarn/cache/@parcel-core-npm-2.9.3-b343ad5e82-e4ba4e0909.zip deleted file mode 100644 index 28e4d01127..0000000000 Binary files a/.yarn/cache/@parcel-core-npm-2.9.3-b343ad5e82-e4ba4e0909.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-diagnostic-npm-2.9.3-76e1419611-5897500e3b.zip b/.yarn/cache/@parcel-diagnostic-npm-2.10.0-1e389b369e-45c606ca52.zip similarity index 91% rename from .yarn/cache/@parcel-diagnostic-npm-2.9.3-76e1419611-5897500e3b.zip rename to .yarn/cache/@parcel-diagnostic-npm-2.10.0-1e389b369e-45c606ca52.zip index 9066887d29..c16d0b42f4 100644 Binary files a/.yarn/cache/@parcel-diagnostic-npm-2.9.3-76e1419611-5897500e3b.zip and b/.yarn/cache/@parcel-diagnostic-npm-2.10.0-1e389b369e-45c606ca52.zip differ diff --git a/.yarn/cache/@parcel-events-npm-2.9.3-3d50908dd1-c61ac95ce2.zip b/.yarn/cache/@parcel-events-npm-2.10.0-da42a4afa6-1d21cd4186.zip similarity index 82% rename from .yarn/cache/@parcel-events-npm-2.9.3-3d50908dd1-c61ac95ce2.zip rename to .yarn/cache/@parcel-events-npm-2.10.0-da42a4afa6-1d21cd4186.zip index e2d0e7244d..cf89807381 100644 Binary files a/.yarn/cache/@parcel-events-npm-2.9.3-3d50908dd1-c61ac95ce2.zip and b/.yarn/cache/@parcel-events-npm-2.10.0-da42a4afa6-1d21cd4186.zip differ diff --git a/.yarn/cache/@parcel-fs-npm-2.10.0-c959567f0f-10faae481c.zip b/.yarn/cache/@parcel-fs-npm-2.10.0-c959567f0f-10faae481c.zip new file mode 100644 index 0000000000..0062d48c08 Binary files /dev/null and b/.yarn/cache/@parcel-fs-npm-2.10.0-c959567f0f-10faae481c.zip differ diff --git a/.yarn/cache/@parcel-fs-npm-2.9.3-f6cd93298b-c9bf9ca9e6.zip b/.yarn/cache/@parcel-fs-npm-2.9.3-f6cd93298b-c9bf9ca9e6.zip deleted file mode 100644 index a5075f12e1..0000000000 Binary files a/.yarn/cache/@parcel-fs-npm-2.9.3-f6cd93298b-c9bf9ca9e6.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-fs-search-npm-2.9.3-59171084fe-6e7df35cc2.zip b/.yarn/cache/@parcel-fs-search-npm-2.9.3-59171084fe-6e7df35cc2.zip deleted file mode 100644 index 2fecc86b27..0000000000 Binary files a/.yarn/cache/@parcel-fs-search-npm-2.9.3-59171084fe-6e7df35cc2.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-graph-npm-2.9.3-206e15e603-7fdd830928.zip b/.yarn/cache/@parcel-graph-npm-2.9.3-206e15e603-7fdd830928.zip deleted file mode 100644 index f1b4558963..0000000000 Binary files a/.yarn/cache/@parcel-graph-npm-2.9.3-206e15e603-7fdd830928.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-graph-npm-3.0.0-9001abfefc-0a9d5017f6.zip b/.yarn/cache/@parcel-graph-npm-3.0.0-9001abfefc-0a9d5017f6.zip new file mode 100644 index 0000000000..164f2ff077 Binary files /dev/null and b/.yarn/cache/@parcel-graph-npm-3.0.0-9001abfefc-0a9d5017f6.zip differ diff --git a/.yarn/cache/@parcel-hash-npm-2.9.3-a485b7951b-d5329116c5.zip b/.yarn/cache/@parcel-hash-npm-2.9.3-a485b7951b-d5329116c5.zip deleted file mode 100644 index da92ff9fba..0000000000 Binary files a/.yarn/cache/@parcel-hash-npm-2.9.3-a485b7951b-d5329116c5.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-logger-npm-2.9.3-2a18b6c370-eb68996b7b.zip b/.yarn/cache/@parcel-logger-npm-2.10.0-41ac90e34c-52d0b5331d.zip similarity index 76% rename from .yarn/cache/@parcel-logger-npm-2.9.3-2a18b6c370-eb68996b7b.zip rename to .yarn/cache/@parcel-logger-npm-2.10.0-41ac90e34c-52d0b5331d.zip index 8fce0fe114..d7df80c7bf 100644 Binary files a/.yarn/cache/@parcel-logger-npm-2.9.3-2a18b6c370-eb68996b7b.zip and b/.yarn/cache/@parcel-logger-npm-2.10.0-41ac90e34c-52d0b5331d.zip differ diff --git a/.yarn/cache/@parcel-markdown-ansi-npm-2.9.3-98f72ce8d0-da1fed88dd.zip b/.yarn/cache/@parcel-markdown-ansi-npm-2.10.0-4dd4da44f3-35e2d07ec8.zip similarity index 64% rename from .yarn/cache/@parcel-markdown-ansi-npm-2.9.3-98f72ce8d0-da1fed88dd.zip rename to .yarn/cache/@parcel-markdown-ansi-npm-2.10.0-4dd4da44f3-35e2d07ec8.zip index 690f7a1d05..f5a836e3cc 100644 Binary files a/.yarn/cache/@parcel-markdown-ansi-npm-2.9.3-98f72ce8d0-da1fed88dd.zip and b/.yarn/cache/@parcel-markdown-ansi-npm-2.10.0-4dd4da44f3-35e2d07ec8.zip differ diff --git a/.yarn/cache/@parcel-namer-default-npm-2.9.3-2a2acb717f-23a588ee0f.zip b/.yarn/cache/@parcel-namer-default-npm-2.10.0-4b82db40fd-f2a32096d1.zip similarity index 80% rename from .yarn/cache/@parcel-namer-default-npm-2.9.3-2a2acb717f-23a588ee0f.zip rename to .yarn/cache/@parcel-namer-default-npm-2.10.0-4b82db40fd-f2a32096d1.zip index 4b0ed29e0c..46d6a52498 100644 Binary files a/.yarn/cache/@parcel-namer-default-npm-2.9.3-2a2acb717f-23a588ee0f.zip and b/.yarn/cache/@parcel-namer-default-npm-2.10.0-4b82db40fd-f2a32096d1.zip differ diff --git a/.yarn/cache/@parcel-node-resolver-core-npm-3.0.3-e85849af08-871f09066f.zip b/.yarn/cache/@parcel-node-resolver-core-npm-3.0.3-e85849af08-871f09066f.zip deleted file mode 100644 index 93bf444ee6..0000000000 Binary files a/.yarn/cache/@parcel-node-resolver-core-npm-3.0.3-e85849af08-871f09066f.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-node-resolver-core-npm-3.1.0-9c9ff3ab8b-dcdd39bc6a.zip b/.yarn/cache/@parcel-node-resolver-core-npm-3.1.0-9c9ff3ab8b-dcdd39bc6a.zip new file mode 100644 index 0000000000..33ee38431b Binary files /dev/null and b/.yarn/cache/@parcel-node-resolver-core-npm-3.1.0-9c9ff3ab8b-dcdd39bc6a.zip differ diff --git a/.yarn/cache/@parcel-optimizer-css-npm-2.9.3-dab14ff100-09cdfb8191.zip b/.yarn/cache/@parcel-optimizer-css-npm-2.10.0-dbd5825b4e-ea15989512.zip similarity index 80% rename from .yarn/cache/@parcel-optimizer-css-npm-2.9.3-dab14ff100-09cdfb8191.zip rename to .yarn/cache/@parcel-optimizer-css-npm-2.10.0-dbd5825b4e-ea15989512.zip index ebb8b0bef8..9956afb109 100644 Binary files a/.yarn/cache/@parcel-optimizer-css-npm-2.9.3-dab14ff100-09cdfb8191.zip and b/.yarn/cache/@parcel-optimizer-css-npm-2.10.0-dbd5825b4e-ea15989512.zip differ diff --git a/.yarn/cache/@parcel-optimizer-data-url-npm-2.9.3-2bb13f2a2f-38823e2aa5.zip b/.yarn/cache/@parcel-optimizer-data-url-npm-2.10.0-700cb5aab6-ec9530be83.zip similarity index 65% rename from .yarn/cache/@parcel-optimizer-data-url-npm-2.9.3-2bb13f2a2f-38823e2aa5.zip rename to .yarn/cache/@parcel-optimizer-data-url-npm-2.10.0-700cb5aab6-ec9530be83.zip index ee523fb00b..39c8d2b426 100644 Binary files a/.yarn/cache/@parcel-optimizer-data-url-npm-2.9.3-2bb13f2a2f-38823e2aa5.zip and b/.yarn/cache/@parcel-optimizer-data-url-npm-2.10.0-700cb5aab6-ec9530be83.zip differ diff --git a/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.9.3-682b0538d3-32658dd81c.zip b/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.10.0-ee0243765c-1f6de13022.zip similarity index 83% rename from .yarn/cache/@parcel-optimizer-htmlnano-npm-2.9.3-682b0538d3-32658dd81c.zip rename to .yarn/cache/@parcel-optimizer-htmlnano-npm-2.10.0-ee0243765c-1f6de13022.zip index 56e3ff3dc7..7b7bff73e7 100644 Binary files a/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.9.3-682b0538d3-32658dd81c.zip and b/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.10.0-ee0243765c-1f6de13022.zip differ diff --git a/.yarn/cache/@parcel-optimizer-image-npm-2.10.0-a581b60cbd-94d5db2837.zip b/.yarn/cache/@parcel-optimizer-image-npm-2.10.0-a581b60cbd-94d5db2837.zip new file mode 100644 index 0000000000..df6e165df9 Binary files /dev/null and b/.yarn/cache/@parcel-optimizer-image-npm-2.10.0-a581b60cbd-94d5db2837.zip differ diff --git a/.yarn/cache/@parcel-optimizer-image-npm-2.9.3-f742dd90da-5053b27244.zip b/.yarn/cache/@parcel-optimizer-image-npm-2.9.3-f742dd90da-5053b27244.zip deleted file mode 100644 index b020787027..0000000000 Binary files a/.yarn/cache/@parcel-optimizer-image-npm-2.9.3-f742dd90da-5053b27244.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-optimizer-svgo-npm-2.9.3-e6bd39a7c6-fd2f1a9fc6.zip b/.yarn/cache/@parcel-optimizer-svgo-npm-2.10.0-154d938969-7201c63222.zip similarity index 70% rename from .yarn/cache/@parcel-optimizer-svgo-npm-2.9.3-e6bd39a7c6-fd2f1a9fc6.zip rename to .yarn/cache/@parcel-optimizer-svgo-npm-2.10.0-154d938969-7201c63222.zip index 992a20a8d4..ba2a5ca11a 100644 Binary files a/.yarn/cache/@parcel-optimizer-svgo-npm-2.9.3-e6bd39a7c6-fd2f1a9fc6.zip and b/.yarn/cache/@parcel-optimizer-svgo-npm-2.10.0-154d938969-7201c63222.zip differ diff --git a/.yarn/cache/@parcel-optimizer-swc-npm-2.9.3-9920b222d4-087012a418.zip b/.yarn/cache/@parcel-optimizer-swc-npm-2.10.0-caf3bb9c02-1fe68ee6ff.zip similarity index 77% rename from .yarn/cache/@parcel-optimizer-swc-npm-2.9.3-9920b222d4-087012a418.zip rename to .yarn/cache/@parcel-optimizer-swc-npm-2.10.0-caf3bb9c02-1fe68ee6ff.zip index 30b1736ee7..ac83217658 100644 Binary files a/.yarn/cache/@parcel-optimizer-swc-npm-2.9.3-9920b222d4-087012a418.zip and b/.yarn/cache/@parcel-optimizer-swc-npm-2.10.0-caf3bb9c02-1fe68ee6ff.zip differ diff --git a/.yarn/cache/@parcel-package-manager-npm-2.10.0-4f4a39adee-7c4a95d9df.zip b/.yarn/cache/@parcel-package-manager-npm-2.10.0-4f4a39adee-7c4a95d9df.zip new file mode 100644 index 0000000000..77ba89e562 Binary files /dev/null and b/.yarn/cache/@parcel-package-manager-npm-2.10.0-4f4a39adee-7c4a95d9df.zip differ diff --git a/.yarn/cache/@parcel-package-manager-npm-2.9.3-c065cee1b5-46acc905b8.zip b/.yarn/cache/@parcel-package-manager-npm-2.9.3-c065cee1b5-46acc905b8.zip deleted file mode 100644 index c692d483bb..0000000000 Binary files a/.yarn/cache/@parcel-package-manager-npm-2.9.3-c065cee1b5-46acc905b8.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-packager-css-npm-2.9.3-c966dca775-725245c5d6.zip b/.yarn/cache/@parcel-packager-css-npm-2.10.0-cb31a968a8-11bf4cae4c.zip similarity index 86% rename from .yarn/cache/@parcel-packager-css-npm-2.9.3-c966dca775-725245c5d6.zip rename to .yarn/cache/@parcel-packager-css-npm-2.10.0-cb31a968a8-11bf4cae4c.zip index cd6cf154cb..71fc7e92a4 100644 Binary files a/.yarn/cache/@parcel-packager-css-npm-2.9.3-c966dca775-725245c5d6.zip and b/.yarn/cache/@parcel-packager-css-npm-2.10.0-cb31a968a8-11bf4cae4c.zip differ diff --git a/.yarn/cache/@parcel-packager-html-npm-2.10.0-d6f71e7e36-8dfd86e7d6.zip b/.yarn/cache/@parcel-packager-html-npm-2.10.0-d6f71e7e36-8dfd86e7d6.zip new file mode 100644 index 0000000000..d3c871d581 Binary files /dev/null and b/.yarn/cache/@parcel-packager-html-npm-2.10.0-d6f71e7e36-8dfd86e7d6.zip differ diff --git a/.yarn/cache/@parcel-packager-html-npm-2.9.3-eb1e5ba8d3-163217c86a.zip b/.yarn/cache/@parcel-packager-html-npm-2.9.3-eb1e5ba8d3-163217c86a.zip deleted file mode 100644 index 9ba449f4c2..0000000000 Binary files a/.yarn/cache/@parcel-packager-html-npm-2.9.3-eb1e5ba8d3-163217c86a.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-packager-js-npm-2.10.0-f84ec4cc7b-9b62598864.zip b/.yarn/cache/@parcel-packager-js-npm-2.10.0-f84ec4cc7b-9b62598864.zip new file mode 100644 index 0000000000..9084795b65 Binary files /dev/null and b/.yarn/cache/@parcel-packager-js-npm-2.10.0-f84ec4cc7b-9b62598864.zip differ diff --git a/.yarn/cache/@parcel-packager-js-npm-2.9.3-27b52dc79e-db8c74ec80.zip b/.yarn/cache/@parcel-packager-js-npm-2.9.3-27b52dc79e-db8c74ec80.zip deleted file mode 100644 index 313f64a2bb..0000000000 Binary files a/.yarn/cache/@parcel-packager-js-npm-2.9.3-27b52dc79e-db8c74ec80.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-packager-raw-npm-2.9.3-1adbe4f9b6-840ddac49c.zip b/.yarn/cache/@parcel-packager-raw-npm-2.10.0-01ef1b8e3e-492fe07ae5.zip similarity index 60% rename from .yarn/cache/@parcel-packager-raw-npm-2.9.3-1adbe4f9b6-840ddac49c.zip rename to .yarn/cache/@parcel-packager-raw-npm-2.10.0-01ef1b8e3e-492fe07ae5.zip index ef5c37d00c..132ebb4043 100644 Binary files a/.yarn/cache/@parcel-packager-raw-npm-2.9.3-1adbe4f9b6-840ddac49c.zip and b/.yarn/cache/@parcel-packager-raw-npm-2.10.0-01ef1b8e3e-492fe07ae5.zip differ diff --git a/.yarn/cache/@parcel-packager-svg-npm-2.9.3-1e484acb3f-ff09cfdbc5.zip b/.yarn/cache/@parcel-packager-svg-npm-2.10.0-22326715bd-f49d7f3b88.zip similarity index 80% rename from .yarn/cache/@parcel-packager-svg-npm-2.9.3-1e484acb3f-ff09cfdbc5.zip rename to .yarn/cache/@parcel-packager-svg-npm-2.10.0-22326715bd-f49d7f3b88.zip index 3bee212d0b..c3031c1920 100644 Binary files a/.yarn/cache/@parcel-packager-svg-npm-2.9.3-1e484acb3f-ff09cfdbc5.zip and b/.yarn/cache/@parcel-packager-svg-npm-2.10.0-22326715bd-f49d7f3b88.zip differ diff --git a/.yarn/cache/@parcel-packager-wasm-npm-2.10.0-b1d2cd8f88-d9a13eb838.zip b/.yarn/cache/@parcel-packager-wasm-npm-2.10.0-b1d2cd8f88-d9a13eb838.zip new file mode 100644 index 0000000000..2cde1a739e Binary files /dev/null and b/.yarn/cache/@parcel-packager-wasm-npm-2.10.0-b1d2cd8f88-d9a13eb838.zip differ diff --git a/.yarn/cache/@parcel-plugin-npm-2.9.3-361c994700-e9d775a4fd.zip b/.yarn/cache/@parcel-plugin-npm-2.10.0-efbc58a209-e13ba6e7e5.zip similarity index 76% rename from .yarn/cache/@parcel-plugin-npm-2.9.3-361c994700-e9d775a4fd.zip rename to .yarn/cache/@parcel-plugin-npm-2.10.0-efbc58a209-e13ba6e7e5.zip index 22ab6259bd..0c18974840 100644 Binary files a/.yarn/cache/@parcel-plugin-npm-2.9.3-361c994700-e9d775a4fd.zip and b/.yarn/cache/@parcel-plugin-npm-2.10.0-efbc58a209-e13ba6e7e5.zip differ diff --git a/.yarn/cache/@parcel-profiler-npm-2.9.3-d11664e14b-30e988b99e.zip b/.yarn/cache/@parcel-profiler-npm-2.10.0-b1ba499bc1-78d545edb7.zip similarity index 87% rename from .yarn/cache/@parcel-profiler-npm-2.9.3-d11664e14b-30e988b99e.zip rename to .yarn/cache/@parcel-profiler-npm-2.10.0-b1ba499bc1-78d545edb7.zip index 911739da21..7a39442c82 100644 Binary files a/.yarn/cache/@parcel-profiler-npm-2.9.3-d11664e14b-30e988b99e.zip and b/.yarn/cache/@parcel-profiler-npm-2.10.0-b1ba499bc1-78d545edb7.zip differ diff --git a/.yarn/cache/@parcel-reporter-cli-npm-2.10.0-083fc2f2d6-0137a91e45.zip b/.yarn/cache/@parcel-reporter-cli-npm-2.10.0-083fc2f2d6-0137a91e45.zip new file mode 100644 index 0000000000..cafce4c242 Binary files /dev/null and b/.yarn/cache/@parcel-reporter-cli-npm-2.10.0-083fc2f2d6-0137a91e45.zip differ diff --git a/.yarn/cache/@parcel-reporter-cli-npm-2.9.3-d81ba5564f-f274aa2959.zip b/.yarn/cache/@parcel-reporter-cli-npm-2.9.3-d81ba5564f-f274aa2959.zip deleted file mode 100644 index 9deacdcd8d..0000000000 Binary files a/.yarn/cache/@parcel-reporter-cli-npm-2.9.3-d81ba5564f-f274aa2959.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-reporter-dev-server-npm-2.10.0-2f19cb846e-e72fd6ec09.zip b/.yarn/cache/@parcel-reporter-dev-server-npm-2.10.0-2f19cb846e-e72fd6ec09.zip new file mode 100644 index 0000000000..655d45cf19 Binary files /dev/null and b/.yarn/cache/@parcel-reporter-dev-server-npm-2.10.0-2f19cb846e-e72fd6ec09.zip differ diff --git a/.yarn/cache/@parcel-reporter-dev-server-npm-2.9.3-60ff1088fd-e8beff5f94.zip b/.yarn/cache/@parcel-reporter-dev-server-npm-2.9.3-60ff1088fd-e8beff5f94.zip deleted file mode 100644 index a2682877ba..0000000000 Binary files a/.yarn/cache/@parcel-reporter-dev-server-npm-2.9.3-60ff1088fd-e8beff5f94.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-reporter-tracer-npm-2.9.3-80736d1c81-7922b19760.zip b/.yarn/cache/@parcel-reporter-tracer-npm-2.10.0-184a89e262-0f8249b998.zip similarity index 75% rename from .yarn/cache/@parcel-reporter-tracer-npm-2.9.3-80736d1c81-7922b19760.zip rename to .yarn/cache/@parcel-reporter-tracer-npm-2.10.0-184a89e262-0f8249b998.zip index aca70fb110..533f83cc16 100644 Binary files a/.yarn/cache/@parcel-reporter-tracer-npm-2.9.3-80736d1c81-7922b19760.zip and b/.yarn/cache/@parcel-reporter-tracer-npm-2.10.0-184a89e262-0f8249b998.zip differ diff --git a/.yarn/cache/@parcel-resolver-default-npm-2.10.0-ca49f01a75-c82e2d3c4b.zip b/.yarn/cache/@parcel-resolver-default-npm-2.10.0-ca49f01a75-c82e2d3c4b.zip new file mode 100644 index 0000000000..39ac48c80c Binary files /dev/null and b/.yarn/cache/@parcel-resolver-default-npm-2.10.0-ca49f01a75-c82e2d3c4b.zip differ diff --git a/.yarn/cache/@parcel-resolver-default-npm-2.9.3-f1c2ca1c12-9e14d5b9bc.zip b/.yarn/cache/@parcel-resolver-default-npm-2.9.3-f1c2ca1c12-9e14d5b9bc.zip deleted file mode 100644 index a528e6f607..0000000000 Binary files a/.yarn/cache/@parcel-resolver-default-npm-2.9.3-f1c2ca1c12-9e14d5b9bc.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.10.0-c6b7773a09-12928462c8.zip b/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.10.0-c6b7773a09-12928462c8.zip new file mode 100644 index 0000000000..7f1d968b8a Binary files /dev/null and b/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.10.0-c6b7773a09-12928462c8.zip differ diff --git a/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.9.3-24c44db571-e79e827598.zip b/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.9.3-24c44db571-e79e827598.zip deleted file mode 100644 index 65a4b7dd71..0000000000 Binary files a/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.9.3-24c44db571-e79e827598.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-runtime-js-npm-2.10.0-6b4cf1576c-3bbd64c5b9.zip b/.yarn/cache/@parcel-runtime-js-npm-2.10.0-6b4cf1576c-3bbd64c5b9.zip new file mode 100644 index 0000000000..10fc3360d3 Binary files /dev/null and b/.yarn/cache/@parcel-runtime-js-npm-2.10.0-6b4cf1576c-3bbd64c5b9.zip differ diff --git a/.yarn/cache/@parcel-runtime-js-npm-2.9.3-95e94e0d1e-143c3a9d9b.zip b/.yarn/cache/@parcel-runtime-js-npm-2.9.3-95e94e0d1e-143c3a9d9b.zip deleted file mode 100644 index 1768b86987..0000000000 Binary files a/.yarn/cache/@parcel-runtime-js-npm-2.9.3-95e94e0d1e-143c3a9d9b.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-runtime-react-refresh-npm-2.10.0-b1f6c62bdf-dc567474a1.zip b/.yarn/cache/@parcel-runtime-react-refresh-npm-2.10.0-b1f6c62bdf-dc567474a1.zip new file mode 100644 index 0000000000..75e403b9dd Binary files /dev/null and b/.yarn/cache/@parcel-runtime-react-refresh-npm-2.10.0-b1f6c62bdf-dc567474a1.zip differ diff --git a/.yarn/cache/@parcel-runtime-react-refresh-npm-2.9.3-2b78158a03-8fb9f8165e.zip b/.yarn/cache/@parcel-runtime-react-refresh-npm-2.9.3-2b78158a03-8fb9f8165e.zip deleted file mode 100644 index f5932b769e..0000000000 Binary files a/.yarn/cache/@parcel-runtime-react-refresh-npm-2.9.3-2b78158a03-8fb9f8165e.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-runtime-service-worker-npm-2.9.3-74438ce430-e296a42e3e.zip b/.yarn/cache/@parcel-runtime-service-worker-npm-2.10.0-3ca99a5366-d0bfd113b9.zip similarity index 86% rename from .yarn/cache/@parcel-runtime-service-worker-npm-2.9.3-74438ce430-e296a42e3e.zip rename to .yarn/cache/@parcel-runtime-service-worker-npm-2.10.0-3ca99a5366-d0bfd113b9.zip index 478d52942f..8602ad88a3 100644 Binary files a/.yarn/cache/@parcel-runtime-service-worker-npm-2.9.3-74438ce430-e296a42e3e.zip and b/.yarn/cache/@parcel-runtime-service-worker-npm-2.10.0-3ca99a5366-d0bfd113b9.zip differ diff --git a/.yarn/cache/@parcel-transformer-js-npm-2.9.3-06fac1651a-c262307651.zip b/.yarn/cache/@parcel-rust-npm-2.10.0-99038406b0-466a78d27d.zip similarity index 73% rename from .yarn/cache/@parcel-transformer-js-npm-2.9.3-06fac1651a-c262307651.zip rename to .yarn/cache/@parcel-rust-npm-2.10.0-99038406b0-466a78d27d.zip index 2396852b2f..22f9773a93 100644 Binary files a/.yarn/cache/@parcel-transformer-js-npm-2.9.3-06fac1651a-c262307651.zip and b/.yarn/cache/@parcel-rust-npm-2.10.0-99038406b0-466a78d27d.zip differ diff --git a/.yarn/cache/@parcel-transformer-babel-npm-2.9.3-dbdeb9d470-4d0246290e.zip b/.yarn/cache/@parcel-transformer-babel-npm-2.10.0-fb74ad8c73-fd64092c9c.zip similarity index 96% rename from .yarn/cache/@parcel-transformer-babel-npm-2.9.3-dbdeb9d470-4d0246290e.zip rename to .yarn/cache/@parcel-transformer-babel-npm-2.10.0-fb74ad8c73-fd64092c9c.zip index ffd5fc6095..df186d3d17 100644 Binary files a/.yarn/cache/@parcel-transformer-babel-npm-2.9.3-dbdeb9d470-4d0246290e.zip and b/.yarn/cache/@parcel-transformer-babel-npm-2.10.0-fb74ad8c73-fd64092c9c.zip differ diff --git a/.yarn/cache/@parcel-transformer-css-npm-2.10.0-4fc35c8005-acc26e9b3d.zip b/.yarn/cache/@parcel-transformer-css-npm-2.10.0-4fc35c8005-acc26e9b3d.zip new file mode 100644 index 0000000000..9ad2a3992a Binary files /dev/null and b/.yarn/cache/@parcel-transformer-css-npm-2.10.0-4fc35c8005-acc26e9b3d.zip differ diff --git a/.yarn/cache/@parcel-transformer-css-npm-2.9.3-ba3985d114-aad8e32439.zip b/.yarn/cache/@parcel-transformer-css-npm-2.9.3-ba3985d114-aad8e32439.zip deleted file mode 100644 index c77fbcbd50..0000000000 Binary files a/.yarn/cache/@parcel-transformer-css-npm-2.9.3-ba3985d114-aad8e32439.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-transformer-html-npm-2.9.3-3ce9db1e20-77f150b568.zip b/.yarn/cache/@parcel-transformer-html-npm-2.10.0-b6d2228044-f28e0d3606.zip similarity index 78% rename from .yarn/cache/@parcel-transformer-html-npm-2.9.3-3ce9db1e20-77f150b568.zip rename to .yarn/cache/@parcel-transformer-html-npm-2.10.0-b6d2228044-f28e0d3606.zip index 0224472077..5a84fa37da 100644 Binary files a/.yarn/cache/@parcel-transformer-html-npm-2.9.3-3ce9db1e20-77f150b568.zip and b/.yarn/cache/@parcel-transformer-html-npm-2.10.0-b6d2228044-f28e0d3606.zip differ diff --git a/.yarn/cache/@parcel-transformer-image-npm-2.9.3-a6b435f582-554ff7c6c2.zip b/.yarn/cache/@parcel-transformer-image-npm-2.10.0-e63bd526ed-61a47d7d8e.zip similarity index 86% rename from .yarn/cache/@parcel-transformer-image-npm-2.9.3-a6b435f582-554ff7c6c2.zip rename to .yarn/cache/@parcel-transformer-image-npm-2.10.0-e63bd526ed-61a47d7d8e.zip index a44124bbc0..18ec9cbd62 100644 Binary files a/.yarn/cache/@parcel-transformer-image-npm-2.9.3-a6b435f582-554ff7c6c2.zip and b/.yarn/cache/@parcel-transformer-image-npm-2.10.0-e63bd526ed-61a47d7d8e.zip differ diff --git a/.yarn/cache/@parcel-transformer-inline-string-npm-2.9.3-4322e85564-e93463e7bb.zip b/.yarn/cache/@parcel-transformer-inline-string-npm-2.10.0-44c9b349db-618c919108.zip similarity index 56% rename from .yarn/cache/@parcel-transformer-inline-string-npm-2.9.3-4322e85564-e93463e7bb.zip rename to .yarn/cache/@parcel-transformer-inline-string-npm-2.10.0-44c9b349db-618c919108.zip index d7db92ab49..636b8cafdc 100644 Binary files a/.yarn/cache/@parcel-transformer-inline-string-npm-2.9.3-4322e85564-e93463e7bb.zip and b/.yarn/cache/@parcel-transformer-inline-string-npm-2.10.0-44c9b349db-618c919108.zip differ diff --git a/.yarn/cache/@parcel-transformer-js-npm-2.10.0-132e460926-e9944ce77c.zip b/.yarn/cache/@parcel-transformer-js-npm-2.10.0-132e460926-e9944ce77c.zip new file mode 100644 index 0000000000..ff6263c541 Binary files /dev/null and b/.yarn/cache/@parcel-transformer-js-npm-2.10.0-132e460926-e9944ce77c.zip differ diff --git a/.yarn/cache/@parcel-transformer-json-npm-2.9.3-8b93a2737f-96e2157cfd.zip b/.yarn/cache/@parcel-transformer-json-npm-2.10.0-5525143f86-9c7aceb8e6.zip similarity index 61% rename from .yarn/cache/@parcel-transformer-json-npm-2.9.3-8b93a2737f-96e2157cfd.zip rename to .yarn/cache/@parcel-transformer-json-npm-2.10.0-5525143f86-9c7aceb8e6.zip index 5e79e7d9a6..e821a47649 100644 Binary files a/.yarn/cache/@parcel-transformer-json-npm-2.9.3-8b93a2737f-96e2157cfd.zip and b/.yarn/cache/@parcel-transformer-json-npm-2.10.0-5525143f86-9c7aceb8e6.zip differ diff --git a/.yarn/cache/@parcel-transformer-postcss-npm-2.9.3-0bc0ad23cc-c396c25c5a.zip b/.yarn/cache/@parcel-transformer-postcss-npm-2.10.0-c1f60c708a-2e524bd513.zip similarity index 53% rename from .yarn/cache/@parcel-transformer-postcss-npm-2.9.3-0bc0ad23cc-c396c25c5a.zip rename to .yarn/cache/@parcel-transformer-postcss-npm-2.10.0-c1f60c708a-2e524bd513.zip index 8269f91a1f..5e78f70b2d 100644 Binary files a/.yarn/cache/@parcel-transformer-postcss-npm-2.9.3-0bc0ad23cc-c396c25c5a.zip and b/.yarn/cache/@parcel-transformer-postcss-npm-2.10.0-c1f60c708a-2e524bd513.zip differ diff --git a/.yarn/cache/@parcel-transformer-posthtml-npm-2.9.3-e8c88a24c3-58d4836900.zip b/.yarn/cache/@parcel-transformer-posthtml-npm-2.10.0-31d54ed3f0-7de343f0f9.zip similarity index 77% rename from .yarn/cache/@parcel-transformer-posthtml-npm-2.9.3-e8c88a24c3-58d4836900.zip rename to .yarn/cache/@parcel-transformer-posthtml-npm-2.10.0-31d54ed3f0-7de343f0f9.zip index 46ffbe3625..5228dc9af8 100644 Binary files a/.yarn/cache/@parcel-transformer-posthtml-npm-2.9.3-e8c88a24c3-58d4836900.zip and b/.yarn/cache/@parcel-transformer-posthtml-npm-2.10.0-31d54ed3f0-7de343f0f9.zip differ diff --git a/.yarn/cache/@parcel-transformer-raw-npm-2.9.3-77466dc855-b639e2f5fd.zip b/.yarn/cache/@parcel-transformer-raw-npm-2.10.0-d7cd50f767-c7b1b9c6f7.zip similarity index 56% rename from .yarn/cache/@parcel-transformer-raw-npm-2.9.3-77466dc855-b639e2f5fd.zip rename to .yarn/cache/@parcel-transformer-raw-npm-2.10.0-d7cd50f767-c7b1b9c6f7.zip index 7abf082f34..3c536f6417 100644 Binary files a/.yarn/cache/@parcel-transformer-raw-npm-2.9.3-77466dc855-b639e2f5fd.zip and b/.yarn/cache/@parcel-transformer-raw-npm-2.10.0-d7cd50f767-c7b1b9c6f7.zip differ diff --git a/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.9.3-fba22031ec-aede3d82af.zip b/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.10.0-4c3ddcc095-fc3163bcb0.zip similarity index 80% rename from .yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.9.3-fba22031ec-aede3d82af.zip rename to .yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.10.0-4c3ddcc095-fc3163bcb0.zip index edf9dba87a..67e2da6e22 100644 Binary files a/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.9.3-fba22031ec-aede3d82af.zip and b/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.10.0-4c3ddcc095-fc3163bcb0.zip differ diff --git a/.yarn/cache/@parcel-transformer-sass-npm-2.10.0-6c5f188bcc-2d697077ac.zip b/.yarn/cache/@parcel-transformer-sass-npm-2.10.0-6c5f188bcc-2d697077ac.zip new file mode 100644 index 0000000000..3caad5c9a7 Binary files /dev/null and b/.yarn/cache/@parcel-transformer-sass-npm-2.10.0-6c5f188bcc-2d697077ac.zip differ diff --git a/.yarn/cache/@parcel-transformer-sass-npm-2.9.3-234c526ad6-534eb9239f.zip b/.yarn/cache/@parcel-transformer-sass-npm-2.9.3-234c526ad6-534eb9239f.zip deleted file mode 100644 index 6cefc33296..0000000000 Binary files a/.yarn/cache/@parcel-transformer-sass-npm-2.9.3-234c526ad6-534eb9239f.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-transformer-svg-npm-2.9.3-6316a1b4cc-19cec37f9c.zip b/.yarn/cache/@parcel-transformer-svg-npm-2.10.0-881c72cd1f-d5f55f6eee.zip similarity index 56% rename from .yarn/cache/@parcel-transformer-svg-npm-2.9.3-6316a1b4cc-19cec37f9c.zip rename to .yarn/cache/@parcel-transformer-svg-npm-2.10.0-881c72cd1f-d5f55f6eee.zip index 797a3ace1e..b6ef15207c 100644 Binary files a/.yarn/cache/@parcel-transformer-svg-npm-2.9.3-6316a1b4cc-19cec37f9c.zip and b/.yarn/cache/@parcel-transformer-svg-npm-2.10.0-881c72cd1f-d5f55f6eee.zip differ diff --git a/.yarn/cache/@parcel-types-npm-2.10.0-270e786ba1-387aa07902.zip b/.yarn/cache/@parcel-types-npm-2.10.0-270e786ba1-387aa07902.zip new file mode 100644 index 0000000000..59297ef889 Binary files /dev/null and b/.yarn/cache/@parcel-types-npm-2.10.0-270e786ba1-387aa07902.zip differ diff --git a/.yarn/cache/@parcel-types-npm-2.9.3-eef76f9fa9-2a21622772.zip b/.yarn/cache/@parcel-types-npm-2.9.3-eef76f9fa9-2a21622772.zip deleted file mode 100644 index 72eafa066d..0000000000 Binary files a/.yarn/cache/@parcel-types-npm-2.9.3-eef76f9fa9-2a21622772.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-utils-npm-2.10.0-1f25fbc366-9f4953ff9a.zip b/.yarn/cache/@parcel-utils-npm-2.10.0-1f25fbc366-9f4953ff9a.zip new file mode 100644 index 0000000000..5162312f75 Binary files /dev/null and b/.yarn/cache/@parcel-utils-npm-2.10.0-1f25fbc366-9f4953ff9a.zip differ diff --git a/.yarn/cache/@parcel-utils-npm-2.9.3-6666fec42c-4c1df52754.zip b/.yarn/cache/@parcel-utils-npm-2.9.3-6666fec42c-4c1df52754.zip deleted file mode 100644 index 9d55b87c6e..0000000000 Binary files a/.yarn/cache/@parcel-utils-npm-2.9.3-6666fec42c-4c1df52754.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-workers-npm-2.9.3-b0559c8ccb-d6ac6e2abf.zip b/.yarn/cache/@parcel-workers-npm-2.10.0-7f8aa5ad5a-e8b1701b53.zip similarity index 64% rename from .yarn/cache/@parcel-workers-npm-2.9.3-b0559c8ccb-d6ac6e2abf.zip rename to .yarn/cache/@parcel-workers-npm-2.10.0-7f8aa5ad5a-e8b1701b53.zip index c23318245a..d3e73822e5 100644 Binary files a/.yarn/cache/@parcel-workers-npm-2.9.3-b0559c8ccb-d6ac6e2abf.zip and b/.yarn/cache/@parcel-workers-npm-2.10.0-7f8aa5ad5a-e8b1701b53.zip differ diff --git a/.yarn/cache/@rollup-pluginutils-npm-5.0.4-344c94a032-893d5805ac.zip b/.yarn/cache/@rollup-pluginutils-npm-5.0.5-cfa8fafc53-dcd4d6e3cb.zip similarity index 88% rename from .yarn/cache/@rollup-pluginutils-npm-5.0.4-344c94a032-893d5805ac.zip rename to .yarn/cache/@rollup-pluginutils-npm-5.0.5-cfa8fafc53-dcd4d6e3cb.zip index f928960cbf..91a5a69139 100644 Binary files a/.yarn/cache/@rollup-pluginutils-npm-5.0.4-344c94a032-893d5805ac.zip and b/.yarn/cache/@rollup-pluginutils-npm-5.0.5-cfa8fafc53-dcd4d6e3cb.zip differ diff --git a/.yarn/cache/@types-katex-npm-0.14.0-acd5bc3e87-330e0d0337.zip b/.yarn/cache/@types-katex-npm-0.14.0-acd5bc3e87-330e0d0337.zip deleted file mode 100644 index 79825772d5..0000000000 Binary files a/.yarn/cache/@types-katex-npm-0.14.0-acd5bc3e87-330e0d0337.zip and /dev/null differ diff --git a/.yarn/cache/@types-katex-npm-0.16.5-ff9336f176-a1ce22cd87.zip b/.yarn/cache/@types-katex-npm-0.16.5-ff9336f176-a1ce22cd87.zip new file mode 100644 index 0000000000..92aafc4818 Binary files /dev/null and b/.yarn/cache/@types-katex-npm-0.16.5-ff9336f176-a1ce22cd87.zip differ diff --git a/.yarn/cache/@types-lodash-es-npm-4.17.10-a7dae21818-129e9dde83.zip b/.yarn/cache/@types-lodash-es-npm-4.17.10-a7dae21818-129e9dde83.zip new file mode 100644 index 0000000000..d0043c3a60 Binary files /dev/null and b/.yarn/cache/@types-lodash-es-npm-4.17.10-a7dae21818-129e9dde83.zip differ diff --git a/.yarn/cache/@types-lodash-es-npm-4.17.6-fd5abbdc74-9bd239dd52.zip b/.yarn/cache/@types-lodash-es-npm-4.17.6-fd5abbdc74-9bd239dd52.zip deleted file mode 100644 index 3bd29bcbad..0000000000 Binary files a/.yarn/cache/@types-lodash-es-npm-4.17.6-fd5abbdc74-9bd239dd52.zip and /dev/null differ diff --git a/.yarn/cache/@types-lodash-npm-4.14.200-8559f51fce-6471f8bb5d.zip b/.yarn/cache/@types-lodash-npm-4.14.200-8559f51fce-6471f8bb5d.zip new file mode 100644 index 0000000000..ae8b2ba4c0 Binary files /dev/null and b/.yarn/cache/@types-lodash-npm-4.14.200-8559f51fce-6471f8bb5d.zip differ diff --git a/.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip b/.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip deleted file mode 100644 index b1ce0622c2..0000000000 Binary files a/.yarn/cache/@vitejs-plugin-vue-npm-4.3.4-0e0b5c48a9-95bf6c85c0.zip and /dev/null differ diff --git a/.yarn/cache/@vitejs-plugin-vue-npm-4.4.0-c33d65c6f6-37b6987951.zip b/.yarn/cache/@vitejs-plugin-vue-npm-4.4.0-c33d65c6f6-37b6987951.zip new file mode 100644 index 0000000000..96bb8b3013 Binary files /dev/null and b/.yarn/cache/@vitejs-plugin-vue-npm-4.4.0-c33d65c6f6-37b6987951.zip differ diff --git a/.yarn/cache/async-validator-npm-4.1.1-470b8d5b59-88590ab8ad.zip b/.yarn/cache/async-validator-npm-4.1.1-470b8d5b59-88590ab8ad.zip deleted file mode 100644 index 71730f2e23..0000000000 Binary files a/.yarn/cache/async-validator-npm-4.1.1-470b8d5b59-88590ab8ad.zip and /dev/null differ diff --git a/.yarn/cache/async-validator-npm-4.2.5-4d61110c66-3e3d891a2e.zip b/.yarn/cache/async-validator-npm-4.2.5-4d61110c66-3e3d891a2e.zip new file mode 100644 index 0000000000..36bedd6286 Binary files /dev/null and b/.yarn/cache/async-validator-npm-4.2.5-4d61110c66-3e3d891a2e.zip differ diff --git a/.yarn/cache/css-render-npm-0.15.12-ff93ab2bdd-80265c5055.zip b/.yarn/cache/css-render-npm-0.15.12-ff93ab2bdd-80265c5055.zip new file mode 100644 index 0000000000..a23ef5e7b9 Binary files /dev/null and b/.yarn/cache/css-render-npm-0.15.12-ff93ab2bdd-80265c5055.zip differ diff --git a/.yarn/cache/date-fns-npm-2.28.0-c19c5add1b-a0516b2e4f.zip b/.yarn/cache/date-fns-npm-2.28.0-c19c5add1b-a0516b2e4f.zip deleted file mode 100644 index 1e88493b72..0000000000 Binary files a/.yarn/cache/date-fns-npm-2.28.0-c19c5add1b-a0516b2e4f.zip and /dev/null differ diff --git a/.yarn/cache/date-fns-npm-2.30.0-895c790e0f-f7be015232.zip b/.yarn/cache/date-fns-npm-2.30.0-895c790e0f-f7be015232.zip new file mode 100644 index 0000000000..f51ffd3ec9 Binary files /dev/null and b/.yarn/cache/date-fns-npm-2.30.0-895c790e0f-f7be015232.zip differ diff --git a/.yarn/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip b/.yarn/cache/date-fns-tz-npm-2.0.0-9b7996f292-a6553603a9.zip similarity index 56% rename from .yarn/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip rename to .yarn/cache/date-fns-tz-npm-2.0.0-9b7996f292-a6553603a9.zip index 856e44240d..337d3f2fd4 100644 Binary files a/.yarn/cache/date-fns-tz-npm-1.3.3-4b42de3dcf-52111dffb4.zip and b/.yarn/cache/date-fns-tz-npm-2.0.0-9b7996f292-a6553603a9.zip differ diff --git a/.yarn/cache/detect-libc-npm-2.0.2-03afa59137-2b2cd3649b.zip b/.yarn/cache/detect-libc-npm-2.0.2-03afa59137-2b2cd3649b.zip new file mode 100644 index 0000000000..1db92146ba Binary files /dev/null and b/.yarn/cache/detect-libc-npm-2.0.2-03afa59137-2b2cd3649b.zip differ diff --git a/.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip b/.yarn/cache/eslint-npm-8.51.0-77fce3ec74-214fa5d1fc.zip similarity index 79% rename from .yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip rename to .yarn/cache/eslint-npm-8.51.0-77fce3ec74-214fa5d1fc.zip index 352a7a1594..997dda7f1a 100644 Binary files a/.yarn/cache/eslint-npm-8.49.0-1b802e43a1-4dfe257e1e.zip and b/.yarn/cache/eslint-npm-8.51.0-77fce3ec74-214fa5d1fc.zip differ diff --git a/.yarn/cache/eslint-plugin-cypress-npm-2.14.0-4d90862e1d-3fa118a757.zip b/.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip similarity index 80% rename from .yarn/cache/eslint-plugin-cypress-npm-2.14.0-4d90862e1d-3fa118a757.zip rename to .yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip index df90e603ba..13724ec234 100644 Binary files a/.yarn/cache/eslint-plugin-cypress-npm-2.14.0-4d90862e1d-3fa118a757.zip and b/.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip differ diff --git a/.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip b/.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip deleted file mode 100644 index 3fcacfa6d9..0000000000 Binary files a/.yarn/cache/eslint-plugin-n-npm-16.1.0-d4092716f8-6b70bf8eec.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-n-npm-16.2.0-b2b8355312-124ba4f418.zip b/.yarn/cache/eslint-plugin-n-npm-16.2.0-b2b8355312-124ba4f418.zip new file mode 100644 index 0000000000..12357638c9 Binary files /dev/null and b/.yarn/cache/eslint-plugin-n-npm-16.2.0-b2b8355312-124ba4f418.zip differ diff --git a/.yarn/cache/highlight.js-npm-11.5.1-0fb1167640-bff556101d.zip b/.yarn/cache/highlight.js-npm-11.5.1-0fb1167640-bff556101d.zip deleted file mode 100644 index efbd98ed5d..0000000000 Binary files a/.yarn/cache/highlight.js-npm-11.5.1-0fb1167640-bff556101d.zip and /dev/null differ diff --git a/.yarn/cache/highlight.js-npm-11.9.0-ec99f7b12f-4043d31c5d.zip b/.yarn/cache/highlight.js-npm-11.9.0-ec99f7b12f-4043d31c5d.zip new file mode 100644 index 0000000000..7a740063fa Binary files /dev/null and b/.yarn/cache/highlight.js-npm-11.9.0-ec99f7b12f-4043d31c5d.zip differ diff --git a/.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip b/.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip deleted file mode 100644 index 13733464b0..0000000000 Binary files a/.yarn/cache/html-validate-npm-8.4.0-4d1a9d1021-5a063e3bb0.zip and /dev/null differ diff --git a/.yarn/cache/html-validate-npm-8.5.0-a5c06a51e6-38ef4c832e.zip b/.yarn/cache/html-validate-npm-8.5.0-a5c06a51e6-38ef4c832e.zip new file mode 100644 index 0000000000..876a2e14a7 Binary files /dev/null and b/.yarn/cache/html-validate-npm-8.5.0-a5c06a51e6-38ef4c832e.zip differ diff --git a/.yarn/cache/lmdb-npm-2.7.11-464a53df83-44f9c7ea07.zip b/.yarn/cache/lmdb-npm-2.8.5-e5fdd937dd-b1ec76650d.zip similarity index 63% rename from .yarn/cache/lmdb-npm-2.7.11-464a53df83-44f9c7ea07.zip rename to .yarn/cache/lmdb-npm-2.8.5-e5fdd937dd-b1ec76650d.zip index 7198b68e3a..1fe6a6f48d 100644 Binary files a/.yarn/cache/lmdb-npm-2.7.11-464a53df83-44f9c7ea07.zip and b/.yarn/cache/lmdb-npm-2.8.5-e5fdd937dd-b1ec76650d.zip differ diff --git a/.yarn/cache/msgpackr-npm-1.8.5-ae4e94d720-baa6d94fb6.zip b/.yarn/cache/msgpackr-npm-1.8.5-ae4e94d720-baa6d94fb6.zip deleted file mode 100644 index 6ea6775514..0000000000 Binary files a/.yarn/cache/msgpackr-npm-1.8.5-ae4e94d720-baa6d94fb6.zip and /dev/null differ diff --git a/.yarn/cache/msgpackr-npm-1.9.9-75b366d55f-b63182d99f.zip b/.yarn/cache/msgpackr-npm-1.9.9-75b366d55f-b63182d99f.zip new file mode 100644 index 0000000000..ce927778aa Binary files /dev/null and b/.yarn/cache/msgpackr-npm-1.9.9-75b366d55f-b63182d99f.zip differ diff --git a/.yarn/cache/naive-ui-npm-2.34.4-00b9952d24-0e91d9208e.zip b/.yarn/cache/naive-ui-npm-2.35.0-2bb3f5a46d-53239b8cbe.zip similarity index 56% rename from .yarn/cache/naive-ui-npm-2.34.4-00b9952d24-0e91d9208e.zip rename to .yarn/cache/naive-ui-npm-2.35.0-2bb3f5a46d-53239b8cbe.zip index 529a7dd80a..79503fb7af 100644 Binary files a/.yarn/cache/naive-ui-npm-2.34.4-00b9952d24-0e91d9208e.zip and b/.yarn/cache/naive-ui-npm-2.35.0-2bb3f5a46d-53239b8cbe.zip differ diff --git a/.yarn/cache/node-addon-api-npm-6.1.0-634c545b39-3a539510e6.zip b/.yarn/cache/node-addon-api-npm-6.1.0-634c545b39-3a539510e6.zip new file mode 100644 index 0000000000..012df449c0 Binary files /dev/null and b/.yarn/cache/node-addon-api-npm-6.1.0-634c545b39-3a539510e6.zip differ diff --git a/.yarn/cache/node-gyp-build-optional-packages-npm-5.0.6-e687ca7fe8-080656ae27.zip b/.yarn/cache/node-gyp-build-optional-packages-npm-5.0.6-e687ca7fe8-080656ae27.zip deleted file mode 100644 index 49bbcb4450..0000000000 Binary files a/.yarn/cache/node-gyp-build-optional-packages-npm-5.0.6-e687ca7fe8-080656ae27.zip and /dev/null differ diff --git a/.yarn/cache/node-gyp-build-optional-packages-npm-5.1.1-ff11e179dd-f3cb197862.zip b/.yarn/cache/node-gyp-build-optional-packages-npm-5.1.1-ff11e179dd-f3cb197862.zip new file mode 100644 index 0000000000..840821996d Binary files /dev/null and b/.yarn/cache/node-gyp-build-optional-packages-npm-5.1.1-ff11e179dd-f3cb197862.zip differ diff --git a/.yarn/cache/ordered-binary-npm-1.4.0-1319bac199-951fecb400.zip b/.yarn/cache/ordered-binary-npm-1.4.1-9ad6b7c6b5-274940b4ef.zip similarity index 63% rename from .yarn/cache/ordered-binary-npm-1.4.0-1319bac199-951fecb400.zip rename to .yarn/cache/ordered-binary-npm-1.4.1-9ad6b7c6b5-274940b4ef.zip index a12082346c..35ea485c2b 100644 Binary files a/.yarn/cache/ordered-binary-npm-1.4.0-1319bac199-951fecb400.zip and b/.yarn/cache/ordered-binary-npm-1.4.1-9ad6b7c6b5-274940b4ef.zip differ diff --git a/.yarn/cache/parcel-npm-2.10.0-8e794fc289-fe25ddcf2d.zip b/.yarn/cache/parcel-npm-2.10.0-8e794fc289-fe25ddcf2d.zip new file mode 100644 index 0000000000..018a98c3b8 Binary files /dev/null and b/.yarn/cache/parcel-npm-2.10.0-8e794fc289-fe25ddcf2d.zip differ diff --git a/.yarn/cache/parcel-npm-2.9.3-33db24662f-d9b9c0083f.zip b/.yarn/cache/parcel-npm-2.9.3-33db24662f-d9b9c0083f.zip deleted file mode 100644 index e06294ddc3..0000000000 Binary files a/.yarn/cache/parcel-npm-2.9.3-33db24662f-d9b9c0083f.zip and /dev/null differ diff --git a/.yarn/cache/pinia-npm-2.1.6-e0a07396ee-4e881e590c.zip b/.yarn/cache/pinia-npm-2.1.6-e0a07396ee-4e881e590c.zip deleted file mode 100644 index 3bb2c9e117..0000000000 Binary files a/.yarn/cache/pinia-npm-2.1.6-e0a07396ee-4e881e590c.zip and /dev/null differ diff --git a/.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip b/.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip new file mode 100644 index 0000000000..352e0a2f9f Binary files /dev/null and b/.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip differ diff --git a/.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip b/.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip new file mode 100644 index 0000000000..743dca6a4e Binary files /dev/null and b/.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip differ diff --git a/.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip b/.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip deleted file mode 100644 index fbec960e0d..0000000000 Binary files a/.yarn/cache/sass-npm-1.67.0-d0fceb9574-9e7566e8b7.zip and /dev/null differ diff --git a/.yarn/cache/sass-npm-1.69.4-bea57e4b30-ed5558445b.zip b/.yarn/cache/sass-npm-1.69.4-bea57e4b30-ed5558445b.zip new file mode 100644 index 0000000000..e9db6b0c8c Binary files /dev/null and b/.yarn/cache/sass-npm-1.69.4-bea57e4b30-ed5558445b.zip differ diff --git a/.yarn/cache/vite-npm-4.4.11-e7ab057df9-c22145c838.zip b/.yarn/cache/vite-npm-4.4.11-e7ab057df9-c22145c838.zip new file mode 100644 index 0000000000..ed02fabbc7 Binary files /dev/null and b/.yarn/cache/vite-npm-4.4.11-e7ab057df9-c22145c838.zip differ diff --git a/.yarn/cache/vite-npm-4.4.9-e845c1bbf8-c511024cea.zip b/.yarn/cache/vite-npm-4.4.9-e845c1bbf8-c511024cea.zip deleted file mode 100644 index 96494b7e01..0000000000 Binary files a/.yarn/cache/vite-npm-4.4.9-e845c1bbf8-c511024cea.zip and /dev/null differ diff --git a/.yarn/cache/vue-router-npm-4.2.4-59b21f5c05-9fe1fc11b6.zip b/.yarn/cache/vue-router-npm-4.2.4-59b21f5c05-9fe1fc11b6.zip deleted file mode 100644 index 086d7230bc..0000000000 Binary files a/.yarn/cache/vue-router-npm-4.2.4-59b21f5c05-9fe1fc11b6.zip and /dev/null differ diff --git a/.yarn/cache/vue-router-npm-4.2.5-3479f41e41-2449db4f3a.zip b/.yarn/cache/vue-router-npm-4.2.5-3479f41e41-2449db4f3a.zip new file mode 100644 index 0000000000..930757dd0b Binary files /dev/null and b/.yarn/cache/vue-router-npm-4.2.5-3479f41e41-2449db4f3a.zip differ diff --git a/dev/coverage-action/package-lock.json b/dev/coverage-action/package-lock.json index 15647bce10..864cfdbed8 100644 --- a/dev/coverage-action/package-lock.json +++ b/dev/coverage-action/package-lock.json @@ -10,19 +10,19 @@ "license": "BSD-3-Clause", "dependencies": { "@actions/core": "1.10.1", - "@actions/github": "5.1.1", + "@actions/github": "6.0.0", "chart.js": "3.5.1", "chartjs-node-canvas": "4.1.6", "lodash": "4.17.21", "luxon": "3.4.3" }, "devDependencies": { - "eslint": "8.49.0", + "eslint": "8.51.0", "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.1.1", - "npm-check-updates": "16.13.2" + "npm-check-updates": "16.14.6" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -44,22 +44,23 @@ } }, "node_modules/@actions/github": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", - "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", + "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", "dependencies": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" } }, "node_modules/@actions/http-client": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", - "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz", + "integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==", "dependencies": { - "tunnel": "^0.0.6" + "tunnel": "^0.0.6", + "undici": "^5.25.4" } }, "node_modules/@colors/colors": { @@ -120,14 +121,22 @@ } }, "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "engines": { + "node": ">=14" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", @@ -421,104 +430,123 @@ } }, "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dependencies": { - "@octokit/types": "^6.0.3" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.1.tgz", + "integrity": "sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.0.0", + "@octokit/request": "^8.0.2", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.1.tgz", + "integrity": "sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA==", "dependencies": { - "@octokit/types": "^6.0.3", + "@octokit/types": "^12.0.0", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", + "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/request": "^8.0.1", + "@octokit/types": "^12.0.0", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", - "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.0.0.tgz", + "integrity": "sha512-PclQ6JGMTE9iUStpzMkwLCISFn/wDeRjkZFIKALpvJQNBGwDoYYi2fFvuHwssoQ1rXI5mfh6jgTgWuddeUzfWw==" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", - "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.0.0.tgz", + "integrity": "sha512-oIJzCpttmBTlEhBmRvb+b9rlnGpmFgDtZ0bB6nq39qIod6A5DP+7RkVLMOixIgRCYSHDTeayWqmiJ2SZ6xgfdw==", "dependencies": { - "@octokit/types": "^6.34.0" + "@octokit/types": "^12.0.0" + }, + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=2" + "@octokit/core": ">=5" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", - "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.0.1.tgz", + "integrity": "sha512-fgS6HPkPvJiz8CCliewLyym9qAx0RZ/LKh3sATaPfM41y/O2wQ4Z9MrdYeGPVh04wYmHFmWiGlKPC7jWVtZXQA==", "dependencies": { - "@octokit/types": "^6.34.0", - "deprecation": "^2.3.1" + "@octokit/types": "^12.0.0" + }, + "engines": { + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": ">=5" } }, "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "version": "8.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.4.tgz", + "integrity": "sha512-M0aaFfpGPEKrg7XoA/gwgRvc9MSXHRO2Ioki1qrPDbl1e9YhjIwVoHE7HIKmv/m3idzldj//xBujcFNqGX6ENA==", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", + "@octokit/endpoint": "^9.0.0", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", + "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", "dependencies": { - "@octokit/types": "^6.0.3", + "@octokit/types": "^12.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "6.34.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", - "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.0.0.tgz", + "integrity": "sha512-EzD434aHTFifGudYAygnFlS1Tl6KhbTynEWELQXIbTY8Msvb5nEqTZIm7sbPEt4mQYLZwu3zPKVdeIrw0g7ovg==", "dependencies": { - "@octokit/openapi-types": "^11.2.0" + "@octokit/openapi-types": "^19.0.0" } }, "node_modules/@pkgjs/parseargs": { @@ -946,9 +974,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "node_modules/boxen": { "version": "7.0.2", @@ -1765,15 +1793,15 @@ } }, "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -2399,9 +2427,9 @@ } }, "node_modules/fp-and-or": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz", - "integrity": "sha512-wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.4.tgz", + "integrity": "sha512-+yRYRhpnFPWXSly/6V4Lw9IfOV26uu30kynGJ03PW+MnjOEQe45RZ141QcS0aJehYBYA50GfCDnsRbFJdhssRw==", "dev": true, "engines": { "node": ">=10" @@ -3356,9 +3384,9 @@ "dev": true }, "node_modules/jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -3997,9 +4025,9 @@ } }, "node_modules/npm-check-updates": { - "version": "16.13.2", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.13.2.tgz", - "integrity": "sha512-0pQI+k1y0JVwenB2gBc69tXFYfkckSVrNrlcn7TIrZfis4LnfdzakY/LYzZKt/lx37edN2isk3d2Zw4csptu/w==", + "version": "16.14.6", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.6.tgz", + "integrity": "sha512-sJ6w4AmSDP7YzBXah94Ul2JhiIbjBDfx9XYgib15um2wtiQkOyjE7Lov3MNUSQ84Ry7T81mE4ynMbl/mGbK4HQ==", "dev": true, "dependencies": { "chalk": "^5.3.0", @@ -4007,7 +4035,7 @@ "commander": "^10.0.1", "fast-memoize": "^2.5.2", "find-up": "5.0.0", - "fp-and-or": "^0.1.3", + "fp-and-or": "^0.1.4", "get-stdin": "^8.0.0", "globby": "^11.0.4", "hosted-git-info": "^5.1.0", @@ -4025,11 +4053,12 @@ "prompts-ncu": "^3.0.0", "rc-config-loader": "^4.1.3", "remote-git-tags": "^3.0.0", - "rimraf": "^5.0.1", + "rimraf": "^5.0.5", "semver": "^7.5.4", "semver-utils": "^1.1.4", "source-map-support": "^0.5.21", - "spawn-please": "^2.0.1", + "spawn-please": "^2.0.2", + "strip-ansi": "^7.1.0", "strip-json-comments": "^5.0.1", "untildify": "^4.0.0", "update-notifier": "^6.0.2" @@ -4042,6 +4071,18 @@ "node": ">=14.14" } }, + "node_modules/npm-check-updates/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/npm-check-updates/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -4064,19 +4105,19 @@ } }, "node_modules/npm-check-updates/node_modules/glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -4101,24 +4142,24 @@ } }, "node_modules/npm-check-updates/node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/npm-check-updates/node_modules/rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, "dependencies": { - "glob": "^10.2.5" + "glob": "^10.3.7" }, "bin": { - "rimraf": "dist/cjs/src/bin.js" + "rimraf": "dist/esm/bin.mjs" }, "engines": { "node": ">=14" @@ -4127,6 +4168,21 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm-check-updates/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/npm-check-updates/node_modules/strip-json-comments": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz", @@ -5299,9 +5355,9 @@ } }, "node_modules/spawn-please": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.1.tgz", - "integrity": "sha512-W+cFbZR2q2mMTfjz5ZGvhBAiX+e/zczFCNlbS9mxiSdYswBXwUuBUT+a0urH+xZZa8f/bs0mXHyZsZHR9hKogA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.2.tgz", + "integrity": "sha512-KM8coezO6ISQ89c1BzyWNtcn2V2kAVtwIXd3cN/V5a0xPYc1F/vydrRc01wsKFEQ/p+V1a4sw4z2yMITIXrgGw==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3" @@ -5653,6 +5709,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici": { + "version": "5.26.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.4.tgz", + "integrity": "sha512-OG+QOf0fTLtazL9P9X7yqWxQ+Z0395Wk6DSkyTxtaq3wQEjIroVe7Y4asCX/vcCxYpNGMnwz8F0qbRYUoaQVMw==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, "node_modules/unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", @@ -6089,22 +6156,23 @@ } }, "@actions/github": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", - "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", + "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", "requires": { - "@actions/http-client": "^2.0.1", - "@octokit/core": "^3.6.0", - "@octokit/plugin-paginate-rest": "^2.17.0", - "@octokit/plugin-rest-endpoint-methods": "^5.13.0" + "@actions/http-client": "^2.2.0", + "@octokit/core": "^5.0.1", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" } }, "@actions/http-client": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", - "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.0.tgz", + "integrity": "sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==", "requires": { - "tunnel": "^0.0.6" + "tunnel": "^0.0.6", + "undici": "^5.25.4" } }, "@colors/colors": { @@ -6147,11 +6215,16 @@ } }, "@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true }, + "@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==" + }, "@humanwhocodes/config-array": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", @@ -6368,98 +6441,93 @@ } }, "@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "requires": { - "@octokit/types": "^6.0.3" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==" }, "@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "requires": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.1.tgz", + "integrity": "sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==", + "requires": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.0.0", + "@octokit/request": "^8.0.2", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" } }, "@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.1.tgz", + "integrity": "sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA==", "requires": { - "@octokit/types": "^6.0.3", + "@octokit/types": "^12.0.0", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" } }, "@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", + "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", "requires": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", + "@octokit/request": "^8.0.1", + "@octokit/types": "^12.0.0", "universal-user-agent": "^6.0.0" } }, "@octokit/openapi-types": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", - "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.0.0.tgz", + "integrity": "sha512-PclQ6JGMTE9iUStpzMkwLCISFn/wDeRjkZFIKALpvJQNBGwDoYYi2fFvuHwssoQ1rXI5mfh6jgTgWuddeUzfWw==" }, "@octokit/plugin-paginate-rest": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", - "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.0.0.tgz", + "integrity": "sha512-oIJzCpttmBTlEhBmRvb+b9rlnGpmFgDtZ0bB6nq39qIod6A5DP+7RkVLMOixIgRCYSHDTeayWqmiJ2SZ6xgfdw==", "requires": { - "@octokit/types": "^6.34.0" + "@octokit/types": "^12.0.0" } }, "@octokit/plugin-rest-endpoint-methods": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", - "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.0.1.tgz", + "integrity": "sha512-fgS6HPkPvJiz8CCliewLyym9qAx0RZ/LKh3sATaPfM41y/O2wQ4Z9MrdYeGPVh04wYmHFmWiGlKPC7jWVtZXQA==", "requires": { - "@octokit/types": "^6.34.0", - "deprecation": "^2.3.1" + "@octokit/types": "^12.0.0" } }, "@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "version": "8.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.4.tgz", + "integrity": "sha512-M0aaFfpGPEKrg7XoA/gwgRvc9MSXHRO2Ioki1qrPDbl1e9YhjIwVoHE7HIKmv/m3idzldj//xBujcFNqGX6ENA==", "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", + "@octokit/endpoint": "^9.0.0", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", + "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", "requires": { - "@octokit/types": "^6.0.3", + "@octokit/types": "^12.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" } }, "@octokit/types": { - "version": "6.34.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", - "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.0.0.tgz", + "integrity": "sha512-EzD434aHTFifGudYAygnFlS1Tl6KhbTynEWELQXIbTY8Msvb5nEqTZIm7sbPEt4mQYLZwu3zPKVdeIrw0g7ovg==", "requires": { - "@octokit/openapi-types": "^11.2.0" + "@octokit/openapi-types": "^19.0.0" } }, "@pkgjs/parseargs": { @@ -6777,9 +6845,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, "boxen": { "version": "7.0.2", @@ -7373,15 +7441,15 @@ "dev": true }, "eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -7837,9 +7905,9 @@ "dev": true }, "fp-and-or": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz", - "integrity": "sha512-wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.4.tgz", + "integrity": "sha512-+yRYRhpnFPWXSly/6V4Lw9IfOV26uu30kynGJ03PW+MnjOEQe45RZ141QcS0aJehYBYA50GfCDnsRbFJdhssRw==", "dev": true }, "fs-minipass": { @@ -8511,9 +8579,9 @@ "dev": true }, "jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", @@ -8988,9 +9056,9 @@ } }, "npm-check-updates": { - "version": "16.13.2", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.13.2.tgz", - "integrity": "sha512-0pQI+k1y0JVwenB2gBc69tXFYfkckSVrNrlcn7TIrZfis4LnfdzakY/LYzZKt/lx37edN2isk3d2Zw4csptu/w==", + "version": "16.14.6", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.14.6.tgz", + "integrity": "sha512-sJ6w4AmSDP7YzBXah94Ul2JhiIbjBDfx9XYgib15um2wtiQkOyjE7Lov3MNUSQ84Ry7T81mE4ynMbl/mGbK4HQ==", "dev": true, "requires": { "chalk": "^5.3.0", @@ -8998,7 +9066,7 @@ "commander": "^10.0.1", "fast-memoize": "^2.5.2", "find-up": "5.0.0", - "fp-and-or": "^0.1.3", + "fp-and-or": "^0.1.4", "get-stdin": "^8.0.0", "globby": "^11.0.4", "hosted-git-info": "^5.1.0", @@ -9016,16 +9084,23 @@ "prompts-ncu": "^3.0.0", "rc-config-loader": "^4.1.3", "remote-git-tags": "^3.0.0", - "rimraf": "^5.0.1", + "rimraf": "^5.0.5", "semver": "^7.5.4", "semver-utils": "^1.1.4", "source-map-support": "^0.5.21", - "spawn-please": "^2.0.1", + "spawn-please": "^2.0.2", + "strip-ansi": "^7.1.0", "strip-json-comments": "^5.0.1", "untildify": "^4.0.0", "update-notifier": "^6.0.2" }, "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -9042,16 +9117,16 @@ "dev": true }, "glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "requires": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" } }, "minimatch": { @@ -9064,18 +9139,27 @@ } }, "minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true }, "rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "dev": true, + "requires": { + "glob": "^10.3.7" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { - "glob": "^10.2.5" + "ansi-regex": "^6.0.1" } }, "strip-json-comments": { @@ -9898,9 +9982,9 @@ } }, "spawn-please": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.1.tgz", - "integrity": "sha512-W+cFbZR2q2mMTfjz5ZGvhBAiX+e/zczFCNlbS9mxiSdYswBXwUuBUT+a0urH+xZZa8f/bs0mXHyZsZHR9hKogA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/spawn-please/-/spawn-please-2.0.2.tgz", + "integrity": "sha512-KM8coezO6ISQ89c1BzyWNtcn2V2kAVtwIXd3cN/V5a0xPYc1F/vydrRc01wsKFEQ/p+V1a4sw4z2yMITIXrgGw==", "dev": true, "requires": { "cross-spawn": "^7.0.3" @@ -10174,6 +10258,14 @@ "which-boxed-primitive": "^1.0.2" } }, + "undici": { + "version": "5.26.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.4.tgz", + "integrity": "sha512-OG+QOf0fTLtazL9P9X7yqWxQ+Z0395Wk6DSkyTxtaq3wQEjIroVe7Y4asCX/vcCxYpNGMnwz8F0qbRYUoaQVMw==", + "requires": { + "@fastify/busboy": "^2.0.0" + } + }, "unique-filename": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", diff --git a/dev/coverage-action/package.json b/dev/coverage-action/package.json index 83b644f218..8089553881 100644 --- a/dev/coverage-action/package.json +++ b/dev/coverage-action/package.json @@ -7,18 +7,18 @@ "license": "BSD-3-Clause", "dependencies": { "@actions/core": "1.10.1", - "@actions/github": "5.1.1", + "@actions/github": "6.0.0", "chart.js": "3.5.1", "chartjs-node-canvas": "4.1.6", "lodash": "4.17.21", "luxon": "3.4.3" }, "devDependencies": { - "eslint": "8.49.0", + "eslint": "8.51.0", "eslint-config-standard": "17.1.0", "eslint-plugin-import": "2.28.1", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.1.1", - "npm-check-updates": "16.13.2" + "npm-check-updates": "16.14.6" } } diff --git a/dev/deploy-to-container/package-lock.json b/dev/deploy-to-container/package-lock.json index 966d785e31..a41ea00e20 100644 --- a/dev/deploy-to-container/package-lock.json +++ b/dev/deploy-to-container/package-lock.json @@ -6,9 +6,9 @@ "": { "name": "deploy-to-container", "dependencies": { - "dockerode": "^3.3.5", + "dockerode": "^4.0.0", "fs-extra": "^11.1.1", - "nanoid": "5.0.1", + "nanoid": "5.0.2", "nanoid-dictionary": "5.0.0-beta.1", "slugify": "1.6.6", "tar": "^6.2.0", @@ -81,9 +81,9 @@ } }, "node_modules/buildcheck": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", - "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true, "engines": { "node": ">=10.0.0" @@ -124,14 +124,14 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/cpu-features": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", - "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", + "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "hasInstallScript": true, "optional": true, "dependencies": { - "buildcheck": "0.0.3", - "nan": "^2.15.0" + "buildcheck": "~0.0.6", + "nan": "^2.17.0" }, "engines": { "node": ">=10.0.0" @@ -154,26 +154,26 @@ } }, "node_modules/docker-modem": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.5.tgz", - "integrity": "sha512-x1E6jxWdtoK3+ifAUWj4w5egPdTDGBpesSCErm+aKET5BnnEOvDtTP6GxcnMB1zZiv2iQ0qJZvJie+1wfIRg6Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.1.tgz", + "integrity": "sha512-vqrE/nrweCyzmCpVpdFRC41qS+tfTF+IoUKlTZr52O82urbUqdfyJBGWMvT01pYUprWepLr8IkyVTEWJKRTQSg==", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", - "ssh2": "^1.4.0" + "ssh2": "^1.11.0" }, "engines": { "node": ">= 8.0" } }, "node_modules/dockerode": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.0.tgz", + "integrity": "sha512-3LF7/3MPz5+9RsUo91rD0MCcx0yxjC9bnbtgtVjOLKyKxlZSJ7/Kk3OPAgARlwlWHqXwAGYhmkAHYx7IwD0tJQ==", "dependencies": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^3.0.0", + "docker-modem": "^5.0.0", "tar-fs": "~2.0.1" }, "engines": { @@ -331,15 +331,15 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, "node_modules/nanoid": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.1.tgz", - "integrity": "sha512-vWeVtV5Cw68aML/QaZvqN/3QQXc6fBfIieAlu05m7FZW2Dgb+3f0xc0TTxuJW+7u30t7iSDTV/j3kVI0oJqIfQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.2.tgz", + "integrity": "sha512-2ustYUX1R2rL/Br5B/FMhi8d5/QzvkJ912rBYxskcpu0myTHzSZfTr1LAS2Sm7jxRUObRrSBFoyzwAhL49aVSg==", "funding": [ { "type": "github", @@ -434,20 +434,20 @@ "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, "node_modules/ssh2": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", - "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", + "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", "hasInstallScript": true, "dependencies": { - "asn1": "^0.2.4", + "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2" }, "engines": { "node": ">=10.16.0" }, "optionalDependencies": { - "cpu-features": "~0.0.4", - "nan": "^2.16.0" + "cpu-features": "~0.0.8", + "nan": "^2.17.0" } }, "node_modules/string_decoder": { @@ -692,9 +692,9 @@ } }, "buildcheck": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", - "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true }, "chownr": { @@ -726,13 +726,13 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "cpu-features": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", - "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", + "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "optional": true, "requires": { - "buildcheck": "0.0.3", - "nan": "^2.15.0" + "buildcheck": "~0.0.6", + "nan": "^2.17.0" } }, "debug": { @@ -744,23 +744,23 @@ } }, "docker-modem": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.5.tgz", - "integrity": "sha512-x1E6jxWdtoK3+ifAUWj4w5egPdTDGBpesSCErm+aKET5BnnEOvDtTP6GxcnMB1zZiv2iQ0qJZvJie+1wfIRg6Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.1.tgz", + "integrity": "sha512-vqrE/nrweCyzmCpVpdFRC41qS+tfTF+IoUKlTZr52O82urbUqdfyJBGWMvT01pYUprWepLr8IkyVTEWJKRTQSg==", "requires": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", - "ssh2": "^1.4.0" + "ssh2": "^1.11.0" } }, "dockerode": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.0.tgz", + "integrity": "sha512-3LF7/3MPz5+9RsUo91rD0MCcx0yxjC9bnbtgtVjOLKyKxlZSJ7/Kk3OPAgARlwlWHqXwAGYhmkAHYx7IwD0tJQ==", "requires": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^3.0.0", + "docker-modem": "^5.0.0", "tar-fs": "~2.0.1" } }, @@ -872,15 +872,15 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, "nanoid": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.1.tgz", - "integrity": "sha512-vWeVtV5Cw68aML/QaZvqN/3QQXc6fBfIieAlu05m7FZW2Dgb+3f0xc0TTxuJW+7u30t7iSDTV/j3kVI0oJqIfQ==" + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.2.tgz", + "integrity": "sha512-2ustYUX1R2rL/Br5B/FMhi8d5/QzvkJ912rBYxskcpu0myTHzSZfTr1LAS2Sm7jxRUObRrSBFoyzwAhL49aVSg==" }, "nanoid-dictionary": { "version": "5.0.0-beta.1", @@ -940,14 +940,14 @@ "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, "ssh2": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", - "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", + "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", "requires": { - "asn1": "^0.2.4", + "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2", - "cpu-features": "~0.0.4", - "nan": "^2.16.0" + "cpu-features": "~0.0.8", + "nan": "^2.17.0" } }, "string_decoder": { diff --git a/dev/deploy-to-container/package.json b/dev/deploy-to-container/package.json index 6c308f9d2a..e9b1c3546a 100644 --- a/dev/deploy-to-container/package.json +++ b/dev/deploy-to-container/package.json @@ -2,9 +2,9 @@ "name": "deploy-to-container", "type": "module", "dependencies": { - "dockerode": "^3.3.5", + "dockerode": "^4.0.0", "fs-extra": "^11.1.1", - "nanoid": "5.0.1", + "nanoid": "5.0.2", "nanoid-dictionary": "5.0.0-beta.1", "slugify": "1.6.6", "tar": "^6.2.0", diff --git a/dev/diff/package-lock.json b/dev/diff/package-lock.json index ce1ed4dee8..a816cd012c 100644 --- a/dev/diff/package-lock.json +++ b/dev/diff/package-lock.json @@ -7,7 +7,7 @@ "name": "diff", "dependencies": { "chalk": "^5.3.0", - "dockerode": "^3.3.5", + "dockerode": "^4.0.0", "enquirer": "^2.4.1", "extract-zip": "^2.0.1", "fs-extra": "^11.1.1", @@ -159,9 +159,9 @@ } }, "node_modules/buildcheck": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", - "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true, "engines": { "node": ">=10.0.0" @@ -318,14 +318,14 @@ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/cpu-features": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", - "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", + "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "hasInstallScript": true, "optional": true, "dependencies": { - "buildcheck": "0.0.3", - "nan": "^2.15.0" + "buildcheck": "~0.0.6", + "nan": "^2.17.0" }, "engines": { "node": ">=10.0.0" @@ -381,26 +381,26 @@ } }, "node_modules/docker-modem": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.5.tgz", - "integrity": "sha512-x1E6jxWdtoK3+ifAUWj4w5egPdTDGBpesSCErm+aKET5BnnEOvDtTP6GxcnMB1zZiv2iQ0qJZvJie+1wfIRg6Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.1.tgz", + "integrity": "sha512-vqrE/nrweCyzmCpVpdFRC41qS+tfTF+IoUKlTZr52O82urbUqdfyJBGWMvT01pYUprWepLr8IkyVTEWJKRTQSg==", "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", - "ssh2": "^1.4.0" + "ssh2": "^1.11.0" }, "engines": { "node": ">= 8.0" } }, "node_modules/dockerode": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.0.tgz", + "integrity": "sha512-3LF7/3MPz5+9RsUo91rD0MCcx0yxjC9bnbtgtVjOLKyKxlZSJ7/Kk3OPAgARlwlWHqXwAGYhmkAHYx7IwD0tJQ==", "dependencies": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^3.0.0", + "docker-modem": "^5.0.0", "tar-fs": "~2.0.1" }, "engines": { @@ -930,9 +930,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, "node_modules/normalize-url": { @@ -1144,20 +1144,20 @@ "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, "node_modules/ssh2": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", - "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", + "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", "hasInstallScript": true, "dependencies": { - "asn1": "^0.2.4", + "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2" }, "engines": { "node": ">=10.16.0" }, "optionalDependencies": { - "cpu-features": "~0.0.4", - "nan": "^2.16.0" + "cpu-features": "~0.0.8", + "nan": "^2.17.0" } }, "node_modules/string_decoder": { @@ -1473,9 +1473,9 @@ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" }, "buildcheck": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", - "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true }, "cacheable-lookup": { @@ -1583,13 +1583,13 @@ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "cpu-features": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", - "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", + "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "optional": true, "requires": { - "buildcheck": "0.0.3", - "nan": "^2.15.0" + "buildcheck": "~0.0.6", + "nan": "^2.17.0" } }, "debug": { @@ -1621,23 +1621,23 @@ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, "docker-modem": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.5.tgz", - "integrity": "sha512-x1E6jxWdtoK3+ifAUWj4w5egPdTDGBpesSCErm+aKET5BnnEOvDtTP6GxcnMB1zZiv2iQ0qJZvJie+1wfIRg6Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.1.tgz", + "integrity": "sha512-vqrE/nrweCyzmCpVpdFRC41qS+tfTF+IoUKlTZr52O82urbUqdfyJBGWMvT01pYUprWepLr8IkyVTEWJKRTQSg==", "requires": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", - "ssh2": "^1.4.0" + "ssh2": "^1.11.0" } }, "dockerode": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.5.tgz", - "integrity": "sha512-/0YNa3ZDNeLr/tSckmD69+Gq+qVNhvKfAHNeZJBnp7EOP6RGKV8ORrJHkUn20So5wU+xxT7+1n5u8PjHbfjbSA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.0.tgz", + "integrity": "sha512-3LF7/3MPz5+9RsUo91rD0MCcx0yxjC9bnbtgtVjOLKyKxlZSJ7/Kk3OPAgARlwlWHqXwAGYhmkAHYx7IwD0tJQ==", "requires": { "@balena/dockerignore": "^1.0.2", - "docker-modem": "^3.0.0", + "docker-modem": "^5.0.0", "tar-fs": "~2.0.1" } }, @@ -1997,9 +1997,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, "normalize-url": { @@ -2136,14 +2136,14 @@ "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==" }, "ssh2": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", - "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.14.0.tgz", + "integrity": "sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==", "requires": { - "asn1": "^0.2.4", + "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2", - "cpu-features": "~0.0.4", - "nan": "^2.16.0" + "cpu-features": "~0.0.8", + "nan": "^2.17.0" } }, "string_decoder": { diff --git a/dev/diff/package.json b/dev/diff/package.json index 12dc55e1c8..98e1c844a7 100644 --- a/dev/diff/package.json +++ b/dev/diff/package.json @@ -3,7 +3,7 @@ "type": "module", "dependencies": { "chalk": "^5.3.0", - "dockerode": "^3.3.5", + "dockerode": "^4.0.0", "enquirer": "^2.4.1", "extract-zip": "^2.0.1", "fs-extra": "^11.1.1", diff --git a/ietf/doc/models.py b/ietf/doc/models.py index e35eb12612..15e882e710 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -676,39 +676,59 @@ def __str__(self): return u"%s %s %s" % (self.source.name, self.relationship.name.lower(), self.target.name) def is_downref(self): - - if self.source.type.slug!='draft' or self.relationship.slug not in ['refnorm','refold','refunk']: + if self.source.type.slug != "draft" or self.relationship.slug not in [ + "refnorm", + "refold", + "refunk", + ]: return None state = self.source.get_state() - if state and state.slug == 'rfc': + if state and state.slug == "rfc": source_lvl = self.source.std_level.slug if self.source.std_level else None elif self.source.intended_std_level: source_lvl = self.source.intended_std_level.slug else: source_lvl = None - if source_lvl not in ['bcp','ps','ds','std']: + if source_lvl not in ["bcp", "ps", "ds", "std", "unkn"]: return None - if self.target.document.get_state().slug == 'rfc': + if self.target.document.get_state().slug == "rfc": if not self.target.document.std_level: - target_lvl = 'unkn' + target_lvl = "unkn" else: target_lvl = self.target.document.std_level.slug else: if not self.target.document.intended_std_level: - target_lvl = 'unkn' + target_lvl = "unkn" else: target_lvl = self.target.document.intended_std_level.slug - rank = { 'ps':1, 'ds':2, 'std':3, 'bcp':3 } + if self.relationship.slug not in ["refnorm", "refunk"]: + return None + + if source_lvl in ["inf", "exp"]: + return None - if ( target_lvl not in rank ) or ( rank[target_lvl] < rank[source_lvl] ): - if self.relationship.slug == 'refnorm' and target_lvl!='unkn': - return "Downref" - else: - return "Possible Downref" + pos_downref = ( + "Downref" if self.relationship.slug != "refunk" else "Possible Downref" + ) + + if source_lvl in ["bcp", "ps", "ds", "std"] and target_lvl in ["inf", "exp"]: + return pos_downref + + if source_lvl == "ds" and target_lvl == "ps": + return pos_downref + + if source_lvl == "std" and target_lvl in ["ps", "ds"]: + return pos_downref + + if source_lvl not in ["inf", "exp"] and target_lvl == "unkn": + return "Possible Downref" + + if source_lvl == "unkn" and target_lvl in ["ps", "ds"]: + return "Possible Downref" return None diff --git a/ietf/doc/tests_conflict_review.py b/ietf/doc/tests_conflict_review.py index 8ad0f9beda..1b4b8eefa0 100644 --- a/ietf/doc/tests_conflict_review.py +++ b/ietf/doc/tests_conflict_review.py @@ -466,54 +466,78 @@ def setUp(self): super().setUp() ConflictReviewFactory(name='conflict-review-imaginary-irtf-submission',review_of=IndividualDraftFactory(name='draft-imaginary-irtf-submission',stream_id='irtf'),notify='notifyme@example.net') -class ConflictReviewIrtfStateTests(TestCase): +class ConflictReviewStreamStateTests(TestCase): - def start_review(self, role, kwargs=None): - doc = RgDraftFactory() + def start_review(self, stream, role, kwargs=None): + doc = RgDraftFactory() if stream=='irtf' else IndividualDraftFactory(stream=StreamName.objects.get(slug='ise')) url = urlreverse('ietf.doc.views_conflict_review.start_review', kwargs=dict(name=doc.name)) login_testing_unauthorized(self, role, url) - r = self.client.post(url, kwargs) self.assertEqual(r.status_code, 302) - self.assertEqual(doc.get_state('draft-stream-irtf').slug, 'iesg-rev') + self.assertEqual(doc.get_state('draft-stream-'+stream).slug, 'iesg-rev') - def test_start_review_as_secretary(self): + def test_start_irtf_review_as_secretary(self): ad_strpk = str(Person.objects.get(name='Areað Irector').pk) state_strpk = str(State.objects.get(used=True, slug='needshep', type__slug='conflrev').pk) - self.start_review('secretary', kwargs=dict(ad=ad_strpk, create_in_state=state_strpk)) + self.start_review('irtf', 'secretary', kwargs=dict(ad=ad_strpk, create_in_state=state_strpk)) - def test_start_review_as_stream_owner(self): - self.start_review('irtf-chair') + def test_start_ise_review_as_secretary(self): + ad_strpk = str(Person.objects.get(name='Areað Irector').pk) + state_strpk = str(State.objects.get(used=True, slug='needshep', type__slug='conflrev').pk) + self.start_review('ise', 'secretary', kwargs=dict(ad=ad_strpk, create_in_state=state_strpk)) - def close_review(self, close_type, role): - doc = RgDraftFactory() + def test_start_irtf_review_as_stream_owner(self): + self.start_review('irtf', 'irtf-chair') + + def test_start_ise_review_as_stream_owner(self): + self.start_review('ise', 'ise-chair') + + def close_review(self, close_type, stream, role): + doc = RgDraftFactory() if stream=='irtf' else IndividualDraftFactory(stream=StreamName.objects.get(slug='ise')) review = ConflictReviewFactory(review_of=doc) url = urlreverse('ietf.doc.views_conflict_review.change_state', kwargs=dict(name=review.name)) login_testing_unauthorized(self, role, url) - strpk = str(State.objects.get(used=True, slug=close_type, type__slug='conflrev').pk) r = self.client.post(url, dict(review_state=strpk)) self.assertEqual(r.status_code, 302) - self.assertEqual(doc.get_state('draft-stream-irtf').slug, 'chair-w') + self.assertEqual(doc.get_state('draft-stream-'+stream).slug, 'chair-w' if stream=='irtf' else 'ise-rev') self.assertIn(DocTagName.objects.get(pk='iesg-com'), doc.tags.all()) - def test_close_review_reqnopub_as_secretary(self): - self.close_review('appr-reqnopub-sent', 'secretary') + def test_close_irtf_review_reqnopub_as_secretary(self): + self.close_review('appr-reqnopub-sent', 'irtf', 'secretary') + + def test_close_ise_review_reqnopub_as_secretary(self): + self.close_review('appr-reqnopub-sent', 'ise', 'secretary') + + def test_close_irtf_review_noprob_as_secretary(self): + self.close_review('appr-noprob-sent', 'irtf', 'secretary') + + def test_close_ise_review_noprob_as_secretary(self): + self.close_review('appr-noprob-sent', 'ise', 'secretary') + + def test_close_irtf_review_withdraw_as_secretary(self): + self.close_review('withdraw', 'irtf', 'secretary') + + def test_close_ise_review_withdraw_as_secretary(self): + self.close_review('withdraw', 'ise', 'secretary') + + def test_close_irtf_review_dead_as_secretary(self): + self.close_review('dead', 'irtf', 'secretary') - def test_close_review_noprob_as_secretary(self): - self.close_review('appr-noprob-sent', 'secretary') + def test_close_ise_review_dead_as_secretary(self): + self.close_review('dead', 'ise', 'secretary') - def test_close_review_withdraw_as_secretary(self): - self.close_review('withdraw', 'secretary') + def test_close_irtf_review_withdraw_as_ad(self): + self.close_review('withdraw', 'irtf', 'ad') - def test_close_review_dead_as_secretary(self): - self.close_review('dead', 'secretary') + def test_close_ise_review_withdraw_as_ad(self): + self.close_review('withdraw', 'ise', 'ad') - def test_close_review_withdraw_as_ad(self): - self.close_review('withdraw', 'ad') + def test_close_irtf_review_dead_as_ad(self): + self.close_review('dead', 'irtf', 'ad') - def test_close_review_dead_as_ad(self): - self.close_review('dead', 'ad') + def test_close_ise_review_dead_as_ad(self): + self.close_review('dead', 'ise', 'ad') def test_approve_review(self): doc = RgDraftFactory() diff --git a/ietf/doc/tests_models.py b/ietf/doc/tests_models.py new file mode 100644 index 0000000000..419574c094 --- /dev/null +++ b/ietf/doc/tests_models.py @@ -0,0 +1,113 @@ +# Copyright The IETF Trust 2016-2023, All Rights Reserved +# -*- coding: utf-8 -*- + +import itertools + +from ietf.doc.factories import WgRfcFactory +from ietf.doc.models import RelatedDocument +from ietf.utils.test_utils import TestCase + + +class RelatedDocumentTests(TestCase): + def test_is_downref(self): + rfcs = [ + WgRfcFactory(std_level_id=lvl) + for lvl in ["inf", "exp", "bcp", "ps", "ds", "std", "unkn"] + ] + + result_matrix = { + # source + "inf": { + "inf": None, # target + "exp": None, # target + "bcp": None, # target + "ps": None, # target + "ds": None, # target + "std": None, # target + "unkn": None, # target + }, + # source + "exp": { + "inf": None, # target + "exp": None, # target + "bcp": None, # target + "ps": None, # target + "ds": None, # target + "std": None, # target + "unkn": None, # target + }, + # source + "bcp": { + "inf": "Downref", # target + "exp": "Downref", # target + "bcp": None, # target + "ps": None, # target + "ds": None, # target + "std": None, # target + "unkn": "Possible Downref", # target + }, + # source + "ps": { + "inf": "Downref", # target + "exp": "Downref", # target + "bcp": None, # target + "ps": None, # target + "ds": None, # target + "std": None, # target + "unkn": "Possible Downref", # target + }, + # source + "ds": { + "inf": "Downref", # target + "exp": "Downref", # target + "bcp": None, # target + "ps": "Downref", # target + "ds": None, # target + "std": None, # target + "unkn": "Possible Downref", # target + }, + # source + "std": { + "inf": "Downref", # target + "exp": "Downref", # target + "bcp": None, # target + "ps": "Downref", # target + "ds": "Downref", # target + "std": None, # target + "unkn": "Possible Downref", # target + }, + # source + "unkn": { + "inf": None, # target + "exp": None, # target + "bcp": None, # target + "ps": "Possible Downref", # target + "ds": "Possible Downref", # target + "std": None, # target + "unkn": "Possible Downref", # target + }, + } + + for rel in ["refnorm", "refinfo", "refunk", "refold"]: + for source, target in itertools.product(rfcs, rfcs): + ref = RelatedDocument.objects.create( + source=source, + target=target.docalias.first(), + relationship_id=rel, + ) + + result = ref.is_downref() + + desired_result = ( + result_matrix[source.std_level_id][target.std_level_id] + if ref.relationship.slug in ["refnorm", "refunk"] + else None + ) + if ( + ref.relationship.slug == "refunk" + and desired_result is not None + and not desired_result.startswith("Possible") + ): + desired_result = f"Possible {desired_result}" + + self.assertEqual(desired_result, result) diff --git a/ietf/doc/views_conflict_review.py b/ietf/doc/views_conflict_review.py index 197892ba86..7d939ec984 100644 --- a/ietf/doc/views_conflict_review.py +++ b/ietf/doc/views_conflict_review.py @@ -99,8 +99,7 @@ def change_state(request, name, option=None): if new_state.slug in ["appr-reqnopub-sent", "appr-noprob-sent", "withdraw", "dead"]: doc = review.related_that_doc("conflrev")[0].document - if doc.stream_id == "irtf": - close_review_irtf_state(doc, login) + update_stream_state(doc, login, 'chair-w' if doc.stream_id=='irtf' else 'ise-rev', 'iesg-com') return redirect('ietf.doc.views_doc.document_main', name=review.name) else: @@ -367,8 +366,7 @@ def approve_conflict_review(request, name): c.save() doc = review.related_that_doc("conflrev")[0].document - if doc.stream_id == "irtf": - close_review_irtf_state(doc, login) + update_stream_state(doc, login, 'chair-w' if doc.stream_id=='irtf' else 'ise-rev', 'iesg-com') return HttpResponseRedirect(review.get_absolute_url()) @@ -503,8 +501,7 @@ def start_review_as_secretariat(request, name): send_conflict_review_started_email(request, conflict_review) - if doc_to_review.stream_id == 'irtf': - start_review_irtf_state(doc_to_review, login) + update_stream_state(doc_to_review, login, 'iesg-rev') return HttpResponseRedirect(conflict_review.get_absolute_url()) else: @@ -540,8 +537,7 @@ def start_review_as_stream_owner(request, name): send_conflict_review_started_email(request, conflict_review) - if doc_to_review.stream_id == 'irtf': - start_review_irtf_state(doc_to_review, login) + update_stream_state(doc_to_review, login, 'iesg-rev') return HttpResponseRedirect(conflict_review.get_absolute_url()) else: @@ -558,25 +554,21 @@ def start_review_as_stream_owner(request, name): }, ) -def start_review_irtf_state(doc, by): - prev_state = doc.get_state('draft-stream-irtf') - new_state = State.objects.get(type_id='draft-stream-irtf', slug='iesg-rev') +def update_stream_state(doc, by, state, tag=None): + statetype = 'draft-stream-' + doc.stream_id + prev_state = doc.get_state(statetype) + new_state = State.objects.get(type_id=statetype, slug=state) + if tag: + prev_tags = set(doc.tags.all()) + new_tags = set(DocTagName.objects.filter(pk=tag)) if new_state != prev_state: doc.set_state(new_state) events = [] - events.append(add_state_change_event(doc, by, prev_state, new_state)) - doc.save_with_history(events) - -def close_review_irtf_state(doc, by): - prev_state = doc.get_state("draft-stream-irtf") - new_state = State.objects.get(type_id="draft-stream-irtf", slug="chair-w") - prev_tags = set(doc.tags.all()) - new_tags = set(DocTagName.objects.filter(pk="iesg-com")) - - if new_state != prev_state: - doc.set_state(new_state) - doc.tags.clear() - doc.tags.set(new_tags) - events = [add_state_change_event(doc, by, prev_state, new_state, prev_tags, new_tags)] + if tag: + doc.tags.clear() + doc.tags.set(new_tags) + events.append(add_state_change_event(doc, by, prev_state, new_state, prev_tags, new_tags)) + else: + events.append(add_state_change_event(doc, by, prev_state, new_state)) doc.save_with_history(events) diff --git a/ietf/mailtrigger/migrations/0004_slides_approved.py b/ietf/mailtrigger/migrations/0004_slides_approved.py new file mode 100644 index 0000000000..6376e80021 --- /dev/null +++ b/ietf/mailtrigger/migrations/0004_slides_approved.py @@ -0,0 +1,27 @@ +# Copyright The IETF Trust 2023, All Rights Reserved + +from django.db import migrations + +def forward(apps, schema_editor): + MailTrigger = apps.get_model("mailtrigger", "MailTrigger") + Recipient = apps.get_model("mailtrigger", "Recipient") + mt = MailTrigger.objects.create( + slug="slides_approved", + desc="Recipients when slides are approved for a given session", + ) + mt.to.add(Recipient.objects.get(slug="slides_proposer")) + mt.cc.add(Recipient.objects.get(slug="group_chairs")) + +def reverse(apps, schema_editor): + MailTrigger = apps.get_model("mailtrigger", "MailTrigger") + mt = MailTrigger.objects.get(pk="slides_approved") + mt.delete() + +class Migration(migrations.Migration): + dependencies = [ + ("mailtrigger", "0003_ballot_approved_charter"), + ] + + operations = [ + migrations.RunPython(forward, reverse) + ] diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 9609fad3df..c45caa10e1 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -6394,6 +6394,7 @@ def test_approve_proposed_slides(self): self.assertIsNone(submission.doc) r = self.client.get(url) self.assertEqual(r.status_code,200) + empty_outbox() r = self.client.post(url,dict(title='different title',approve='approve')) self.assertEqual(r.status_code,302) self.assertEqual(SlideSubmission.objects.filter(status__slug = 'pending').count(), 0) @@ -6406,6 +6407,9 @@ def test_approve_proposed_slides(self): r = self.client.get(url) self.assertEqual(r.status_code, 200) self.assertRegex(r.content.decode(), r"These\s+slides\s+have\s+already\s+been\s+approved") + self.assertEqual(len(outbox), 1) + self.assertIn(submission.submitter.email_address(), outbox[0]['To']) + self.assertIn('Slides approved', outbox[0]['Subject']) def test_approve_proposed_slides_multisession_apply_one(self): submission = SlideSubmissionFactory(session__meeting__type_id='ietf') diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 331f15ad56..c23569f0b2 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -4555,6 +4555,15 @@ def approve_proposed_slides(request, slidesubmission_id, num): submission.status = SlideSubmissionStatusName.objects.get(slug='approved') submission.doc = doc submission.save() + (to, cc) = gather_address_lists('slides_approved', group=submission.session.group, proposer=submission.submitter).as_strings() + subject = f"Slides approved for {submission.session.meeting} : {submission.session.group.acronym}{' : '+submission.session.name if submission.session.name else ''}" + body = render_to_string("meeting/slides_approved.txt", { + "to": to, + "cc": cc, + "submission": submission, + "settings": settings, + }) + send_mail_text(request, to, None, subject, body, cc=cc) return redirect('ietf.meeting.views.session_details',num=num,acronym=acronym) elif request.POST.get('disapprove'): # Errors in processing a submit request sometimes result diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json index e71fe08a79..d105e8c61c 100644 --- a/ietf/name/fixtures/names.json +++ b/ietf/name/fixtures/names.json @@ -5588,6 +5588,19 @@ "model": "mailtrigger.mailtrigger", "pk": "session_scheduled" }, + { + "fields": { + "cc": [ + "group_chairs" + ], + "desc": "Recipients when slides are approved for a given session", + "to": [ + "slides_proposer" + ] + }, + "model": "mailtrigger.mailtrigger", + "pk": "slides_approved" + }, { "fields": { "cc": [ diff --git a/ietf/secr/areas/__init__.py b/ietf/secr/areas/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ietf/secr/areas/forms.py b/ietf/secr/areas/forms.py deleted file mode 100644 index 2a34408ad4..0000000000 --- a/ietf/secr/areas/forms.py +++ /dev/null @@ -1,49 +0,0 @@ -from django import forms - -from ietf.person.models import Person, Email - -import re - -STATE_CHOICES = ( - (1, 'Active'), - (2, 'Concluded') -) - - - -class AreaDirectorForm(forms.Form): - ad_name = forms.CharField(max_length=100,label='Name',help_text="To see a list of people type the first name, or last name, or both.") - #login = forms.EmailField(max_length=75,help_text="This should be the person's primary email address.") - #email = forms.ChoiceField(help_text="This should be the person's primary email address.") - email = forms.CharField(help_text="Select the email address to associate with this AD Role") - - # set css class=name-autocomplete for name field (to provide select list) - def __init__(self, *args, **kwargs): - super(AreaDirectorForm, self).__init__(*args, **kwargs) - self.fields['ad_name'].widget.attrs['class'] = 'name-autocomplete' - self.fields['email'].widget = forms.Select(choices=[]) - - def clean_ad_name(self): - name = self.cleaned_data.get('ad_name', '') - # check for tag within parenthesis to ensure name was selected from the list - m = re.search(r'\((\d+)\)', name) - if not name or not m: - raise forms.ValidationError("You must select an entry from the list!") - try: - id = m.group(1) - person = Person.objects.get(id=id) - except Person.DoesNotExist: - raise forms.ValidationError("ERROR finding Person with ID: %s" % id) - return person - - def clean_email(self): - # this ChoiceField gets populated by javascript so skip regular validation - # which raises an error - email = self.cleaned_data['email'] - if not email: - raise forms.ValidationError("You must select an email. If none are listed you'll need to add one first.") - try: - obj = Email.objects.get(address=email) - except Email.DoesNotExist: - raise forms.ValidationError("Can't find this email.") - return obj diff --git a/ietf/secr/areas/tests.py b/ietf/secr/areas/tests.py deleted file mode 100644 index f7341dfa9e..0000000000 --- a/ietf/secr/areas/tests.py +++ /dev/null @@ -1,34 +0,0 @@ -from django.urls import reverse - -from ietf.group.factories import GroupFactory, GroupEventFactory -from ietf.group.models import Group, GroupEvent -from ietf.person.models import Person -from ietf.utils.test_utils import TestCase - - -SECR_USER='secretary' - -def augment_data(): - system = Person.objects.get(name="(System)") - area = Group.objects.get(acronym='farfut') - GroupEvent.objects.create(group=area, - type='started', - by=system) - -class SecrAreasTestCase(TestCase): - def test_main(self): - "Main Test" - GroupFactory(type_id='area') - url = reverse('ietf.secr.areas.views.list_areas') - self.client.login(username="secretary", password="secretary+password") - response = self.client.get(url) - self.assertEqual(response.status_code, 200) - - def test_view(self): - "View Test" - area = GroupEventFactory(type='started',group__type_id='area').group - url = reverse('ietf.secr.areas.views.view', kwargs={'name':area.acronym}) - self.client.login(username="secretary", password="secretary+password") - response = self.client.get(url) - self.assertEqual(response.status_code, 200) - diff --git a/ietf/secr/areas/urls.py b/ietf/secr/areas/urls.py deleted file mode 100644 index cbb9a4a2f3..0000000000 --- a/ietf/secr/areas/urls.py +++ /dev/null @@ -1,12 +0,0 @@ - -from ietf.secr.areas import views -from ietf.utils.urls import url - -urlpatterns = [ - url(r'^$', views.list_areas), - url(r'^getemails', views.getemails), - url(r'^getpeople', views.getpeople), - url(r'^(?P[A-Za-z0-9.-]+)/$', views.view), - url(r'^(?P[A-Za-z0-9.-]+)/people/$', views.people), - url(r'^(?P[A-Za-z0-9.-]+)/people/modify/$', views.modify), -] diff --git a/ietf/secr/areas/views.py b/ietf/secr/areas/views.py deleted file mode 100644 index 9d016699c6..0000000000 --- a/ietf/secr/areas/views.py +++ /dev/null @@ -1,205 +0,0 @@ -import json - -from django.contrib import messages -from django.http import HttpResponse, HttpResponseBadRequest -from django.shortcuts import render, get_object_or_404, redirect - -from ietf.group.models import Group, GroupEvent, Role -from ietf.group.utils import save_group_in_history -from ietf.ietfauth.utils import role_required -from ietf.person.models import Person -from ietf.secr.areas.forms import AreaDirectorForm - -# -------------------------------------------------- -# AJAX FUNCTIONS -# -------------------------------------------------- -def getpeople(request): - """ - Ajax function to find people. Takes one or two terms (ignores rest) and - returns JSON format response: first name, last name, primary email, tag - """ - result = [] - term = request.GET.get('term','') - - qs = Person.objects.filter(name__icontains=term) - for item in qs: - full = '%s - (%s)' % (item.name,item.id) - result.append(full) - - return HttpResponse(json.dumps(result), content_type='application/javascript') - -def getemails(request): - """ - Ajax function to get emails for given Person Id. Used for adding Area ADs. - returns JSON format response: [{id:email, value:email},...] - """ - - results=[] - id = request.GET.get('id','') - person = Person.objects.get(id=id) - for item in person.email_set.filter(active=True): - d = {'id': item.address, 'value': item.address} - results.append(d) - - return HttpResponse(json.dumps(results), content_type='application/javascript') - -# -------------------------------------------------- -# STANDARD VIEW FUNCTIONS -# -------------------------------------------------- - - -@role_required('Secretariat') -def list_areas(request): - """ - List IETF Areas - - **Templates:** - - * ``areas/list.html`` - - **Template Variables:** - - * results - - """ - - results = Group.objects.filter(type="area").order_by('name') - - return render(request, 'areas/list.html', { 'results': results} ) - -@role_required('Secretariat') -def people(request, name): - """ - Edit People associated with Areas, Area Directors. - - # Legacy ------------------ - When a new Director is first added they get a user_level of 4, read-only. - Then, when Director is made active (Enable Voting) user_level = 1. - - # New --------------------- - First Director's are assigned the Role 'pre-ad' Incoming Area director - Then they get 'ad' role - - **Templates:** - - * ``areas/people.html`` - - **Template Variables:** - - * directors, area - - """ - area = get_object_or_404(Group, type='area', acronym=name) - - if request.method == 'POST': - if request.POST.get('submit', '') == "Add": - form = AreaDirectorForm(request.POST) - if form.is_valid(): - email = form.cleaned_data['email'] - person = form.cleaned_data['ad_name'] - - # save group - save_group_in_history(area) - - # create role - Role.objects.create(name_id='pre-ad',group=area,email=email,person=person) - - if not email.origin or email.origin == person.user.username: - email.origin = "role: %s %s" % (area.acronym, 'pre-ad') - email.save() - - messages.success(request, 'New Area Director added successfully!') - return redirect('ietf.secr.areas.views.view', name=name) - else: - return HttpResponseBadRequest('Invalid action') - else: - form = AreaDirectorForm() - - directors = area.role_set.filter(name__slug__in=('ad','pre-ad')) - return render(request, 'areas/people.html', { - 'area': area, - 'form': form, - 'directors': directors}, - ) - -@role_required('Secretariat') -def modify(request, name): - """ - Handle state changes of Area Directors (enable voting, retire) - # Legacy -------------------------- - Enable Voting actions - - user_level = 1 - - create TelechatUser object - Per requirements, the Retire button shall perform the following DB updates - - update iesg_login row, user_level = 2 (per Matt Feb 7, 2011) - - remove telechat_user row (to revoke voting rights) - - update IETFWG(groups) set area_director = TBD - - remove area_director row - # New ------------------------------ - Enable Voting: change Role from 'pre-ad' to 'ad' - Retire: save in history, delete role record, set group assn to TBD - - **Templates:** - - * none - - Redirects to view page on success. - """ - - area = get_object_or_404(Group, type='area', acronym=name) - - # should only get here with POST method - if request.method == 'POST': - # setup common request variables - tag = request.POST.get('tag', '') - person = Person.objects.get(id=tag) - - # save group - save_group_in_history(area) - - # handle retire request - if request.POST.get('submit', '') == "Retire": - role = Role.objects.get(group=area,name__in=('ad','pre-ad'),person=person) - role.delete() - - # update groups that have this AD as primary AD - Role.objects.filter(name__in=('ad','pre-ad'),person=person,group__type='wg',group__state__in=('active','bof')).delete() - - messages.success(request, 'The Area Director has been retired successfully!') - - # handle voting request - if request.POST.get('submit', '') == "Enable Voting": - role = Role.objects.get(group=area,name__slug='pre-ad',person=person) - role.name_id = 'ad' - role.save() - - messages.success(request, 'Voting rights have been granted successfully!') - - return redirect('ietf.secr.areas.views.view', name=name) - -@role_required('Secretariat') -def view(request, name): - """ - View Area information. - - **Templates:** - - * ``areas/view.html`` - - **Template Variables:** - - * area, directors - - """ - area = get_object_or_404(Group, type='area', acronym=name) - try: - area.start_date = area.groupevent_set.order_by('time')[0].time - area.concluded_date = area.groupevent_set.get(type='concluded').time - except GroupEvent.DoesNotExist: - pass - directors = area.role_set.filter(name__slug__in=('ad','pre-ad')) - - return render(request, 'areas/view.html', { - 'area': area, - 'directors': directors}, - ) diff --git a/ietf/secr/console/__init__.py b/ietf/secr/console/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ietf/secr/console/tests.py b/ietf/secr/console/tests.py deleted file mode 100644 index 9de5707955..0000000000 --- a/ietf/secr/console/tests.py +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright The IETF Trust 2013-2020, All Rights Reserved -# -*- coding: utf-8 -*- - - -""" -This file demonstrates two different styles of tests (one doctest and one -unittest). These will both pass when you run "manage.py test". - -Replace these with more appropriate tests for your application. -""" - -from ietf.utils.test_utils import TestCase - -class SimpleTest(TestCase): - def test_basic_addition(self): - """ - Tests that 1 + 1 always equals 2. - """ - self.assertEqual(1 + 1, 2) - -__test__ = {"doctest": """ -Another way to test that 1 + 1 is equal to 2. - ->>> 1 + 1 == 2 -True -"""} - diff --git a/ietf/secr/console/urls.py b/ietf/secr/console/urls.py deleted file mode 100644 index 5c76a6867f..0000000000 --- a/ietf/secr/console/urls.py +++ /dev/null @@ -1,7 +0,0 @@ - -from ietf.secr.console import views -from ietf.utils.urls import url - -urlpatterns = [ - url(r'^$', views.main), -] diff --git a/ietf/secr/console/views.py b/ietf/secr/console/views.py deleted file mode 100644 index 9e582fd089..0000000000 --- a/ietf/secr/console/views.py +++ /dev/null @@ -1,17 +0,0 @@ - -from django.shortcuts import render - -from ietf.doc.models import DocEvent -from ietf.ietfauth.utils import role_required - -@role_required('Secretariat') -def main(request): - ''' - Main view for the Console - ''' - - latest_docevent = DocEvent.objects.all().order_by('-time')[0] - - return render(request, 'console/main.html', { - 'latest_docevent': latest_docevent}, - ) diff --git a/ietf/secr/meetings/blue_sheets.py b/ietf/secr/meetings/blue_sheets.py deleted file mode 100644 index 6175541212..0000000000 --- a/ietf/secr/meetings/blue_sheets.py +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright The IETF Trust 2013-2020, All Rights Reserved -# -*- coding: utf-8 -*- - - -import io - -from django.conf import settings -from django.utils.encoding import force_bytes - -r''' -RTF quick reference (from Word2007RTFSpec9.doc): -\fs24 : sets the font size to 24 half points -\header : header on all pages -\headerf : header on first page only -\pard : resets any previous paragraph formatting -\plain : resets any previous character formatting -\qr : right-aligned -\tqc : centered tab -\tqr : flush-right tab -\tx : tab position in twips (1440/inch) from the left margin -\nowidctlpar : no window/orphan control -\widctlpar : window/orphan control -''' - -def create_blue_sheets(meeting, groups): - file = io.open(settings.SECR_BLUE_SHEET_PATH, 'wb') - - header = b'''{\\rtf1\\ansi\\ansicpg1252\\uc1 \\deff0\\deflang1033\\deflangfe1033 - {\\fonttbl{\\f0\\froman\\fcharset0\\fprq2{\\*\\panose 02020603050405020304}Times New Roman;}} - {\\colortbl;\\red0\\green0\\blue0;\\red0\\green0\\blue255;\\red0\\green255\\blue255;\\red0\\green255\\blue0; -\\red255\\green0\\blue255;\\red255\\green0\\blue0;\\red255\\green255\\blue0;\\red255\\green255\\blue255; -\\red0\\green0\\blue128;\\red0\\green128\\blue128;\\red0\\green128\\blue0;\\red128\\green0\\blue128; -\\red128\\green0\\blue0;\\red128\\green128\\blue0;\\red128\\green128\\blue128; -\\red192\\green192\\blue192;} - \\widowctrl\\ftnbj\\aenddoc\\hyphcaps0\\formshade\\viewkind1\\viewscale100\\pgbrdrhead\\pgbrdrfoot - \\fet0\\sectd \\pgnrestart\\linex0\\endnhere\\titlepg\\sectdefaultcl''' - - file.write(header) - - for group in groups: - group_header = b''' {\\header \\pard\\plain \\s15\\nowidctlpar\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\adjustright \\fs20\\cgrid - { Mailing List: %s \\tab\\tab Meeting # %s %s (%s) \\par } - \\pard \\s15\\nowidctlpar\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\adjustright - {\\b\\fs24 - \\par - \\par \\tab The NOTE WELL statement applies to this meeting. Participants acknowledge that these attendance records will be made available to the public. - \\par - \\par NAME ORGANIZATION - \\par \\tab - \\par }} - {\\footer \\pard\\plain \\s16\\qc\\nowidctlpar\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\adjustright \\fs20\\cgrid {\\cs17 Page } - {\\field{\\*\\fldinst {\\cs17 PAGE }}} - { \\par }} - {\\headerf \\pard\\plain \\s15\\qr\\nowidctlpar\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\adjustright \\fs20\\cgrid - {\\b\\fs24 Meeting # %s %s (%s) \\par }} - {\\footerf \\pard\\plain \\s16\\qc\\nowidctlpar\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\adjustright \\fs20\\cgrid - {Page 1 \\par }} - \\pard\\plain \\qc\\nowidctlpar\\widctlpar\\adjustright \\fs20\\cgrid - {\\b\\fs32 %s IETF Working Group Roster \\par } - \\pard \\nowidctlpar\\widctlpar\\adjustright - {\\fs28 \\par Working Group Session: %s \\par \\par } -{\\b \\fs24 Mailing List: %s \\tx5300\\tab Date: ___________________ \\par \\par Chairperson:_________________________________________________________ \\par \\par } - {\\tab \\tab } -{\\par \\tab The NOTE WELL statement applies to this meeting. Participants acknowledge that these attendance records will be made available to the public. \\par -\\par\\b NAME ORGANIZATION -\\par } - \\pard \\fi-90\\li90\\nowidctlpar\\widctlpar\\adjustright - {\\fs16 -''' % (force_bytes(group.list_email), - force_bytes(meeting.number), - force_bytes(group.acronym), - force_bytes(group.type), - force_bytes(meeting.number), - force_bytes(group.acronym), - force_bytes(group.type), - force_bytes(meeting.number), - force_bytes(group.name), - force_bytes(group.list_email), - ) - - file.write(group_header) - for x in range(1,117): - line = b'''\\par %s._________________________________________________ \\tab _____________________________________________________ - \\par - ''' % force_bytes(x) - file.write(line) - - footer = b'''} -\\pard \\nowidctlpar\\widctlpar\\adjustright -{\\fs16 \\sect } -\\sectd \\pgnrestart\\linex0\\endnhere\\titlepg\\sectdefaultcl -''' - file.write(footer) - - file.write(b'\n}') - file.close() diff --git a/ietf/secr/meetings/forms.py b/ietf/secr/meetings/forms.py index 92c7514184..1be22a9d6c 100644 --- a/ietf/secr/meetings/forms.py +++ b/ietf/secr/meetings/forms.py @@ -238,17 +238,8 @@ def clean_group(self): raise forms.ValidationError("ERROR: can't change group after materials have been uploaded") return group -class UploadBlueSheetForm(forms.Form): - file = forms.FileField(help_text='example: bluesheets-84-ancp-01.pdf') - - def clean_file(self): - file = self.cleaned_data['file'] - if not re.match(r'bluesheets-\d+',file.name): - raise forms.ValidationError('Incorrect filename format') - return file class RegularSessionEditForm(forms.ModelForm): class Meta: model = Session fields = ['agenda_note'] - diff --git a/ietf/secr/meetings/tests.py b/ietf/secr/meetings/tests.py index 66b7424c66..0e51ff8ca2 100644 --- a/ietf/secr/meetings/tests.py +++ b/ietf/secr/meetings/tests.py @@ -6,9 +6,7 @@ import os import shutil -from pathlib import Path from pyquery import PyQuery -from io import StringIO import debug # pyflakes:ignore @@ -170,34 +168,6 @@ def test_edit_meeting(self): [cn.slug for cn in meeting.group_conflict_types.all()], post_data['group_conflict_types'], ) - - def test_blue_sheets_upload(self): - "Test Bluesheets" - meeting = make_meeting_test_data() - (Path(settings.SECR_PROCEEDINGS_DIR) / str(meeting.number) / 'bluesheets').mkdir(parents=True) - - url = reverse('ietf.secr.meetings.views.blue_sheet',kwargs={'meeting_id':meeting.number}) - self.client.login(username="secretary", password="secretary+password") - response = self.client.get(url) - self.assertEqual(response.status_code, 200) - - # test upload - group = Group.objects.filter(type='wg',state='active').first() - file = StringIO('dummy bluesheet') - file.name = "bluesheets-%s-%s.pdf" % (meeting.number,group.acronym) - files = {'file':file} - response = self.client.post(url, files) - self.assertEqual(response.status_code, 302) - path = os.path.join(settings.SECR_PROCEEDINGS_DIR,str(meeting.number),'bluesheets') - self.assertEqual(len(os.listdir(path)),1) - - def test_blue_sheets_generate(self): - meeting = make_meeting_test_data() - url = reverse('ietf.secr.meetings.views.blue_sheet_generate',kwargs={'meeting_id':meeting.number}) - self.client.login(username="secretary", password="secretary+password") - response = self.client.post(url) - self.assertEqual(response.status_code, 302) - self.assertTrue(os.path.exists(self.bluesheet_path)) def test_notifications(self): "Test Notifications" diff --git a/ietf/secr/meetings/urls.py b/ietf/secr/meetings/urls.py index 96c61d47b4..cc51bb0584 100644 --- a/ietf/secr/meetings/urls.py +++ b/ietf/secr/meetings/urls.py @@ -7,10 +7,7 @@ url(r'^$', views.main), url(r'^add/$', views.add), # url(r'^ajax/get-times/(?P\d{1,6})/(?P\d)/$', views.ajax_get_times), # Not in use - url(r'^blue_sheet/$', views.blue_sheet_redirect), url(r'^(?P\d{1,6})/$', views.view), - url(r'^(?P\d{1,6})/blue_sheet/$', views.blue_sheet), - url(r'^(?P\d{1,6})/blue_sheet/generate/$', views.blue_sheet_generate), url(r'^(?P\d{1,6})/edit/$', views.edit_meeting), url(r'^(?P\d{1,6})/notifications/$', views.notifications), url(r'^(?P\d{1,6})/(?P[A-Za-z0-9_\-]+)/$', views.rooms), diff --git a/ietf/secr/meetings/views.py b/ietf/secr/meetings/views.py index 60fd61b467..8afcf5a11e 100644 --- a/ietf/secr/meetings/views.py +++ b/ietf/secr/meetings/views.py @@ -2,8 +2,6 @@ # -*- coding: utf-8 -*- import datetime -import os -import time from django.conf import settings from django.contrib import messages @@ -21,17 +19,16 @@ from ietf.meeting.forms import duration_string from ietf.meeting.helpers import get_meeting, make_materials_directories, populate_important_dates from ietf.meeting.models import Meeting, Session, Room, TimeSlot, SchedTimeSessAssignment, Schedule, SchedulingEvent -from ietf.meeting.utils import add_event_info_to_session_qs, handle_upload_file +from ietf.meeting.utils import add_event_info_to_session_qs from ietf.name.models import SessionStatusName from ietf.group.models import Group, GroupEvent -from ietf.secr.meetings.blue_sheets import create_blue_sheets from ietf.secr.meetings.forms import ( BaseMeetingRoomFormSet, MeetingModelForm, MeetingSelectForm, MeetingRoomForm, MiscSessionForm, TimeSlotForm, RegularSessionEditForm, - UploadBlueSheetForm, MeetingRoomOptionsForm ) + MeetingRoomOptionsForm ) from ietf.secr.sreq.views import get_initial_session from ietf.secr.utils.meeting import get_session, get_timeslot from ietf.mailtrigger.utils import gather_address_lists -from ietf.utils.timezone import date_today, make_aware +from ietf.utils.timezone import make_aware # prep for agenda changes @@ -256,72 +253,6 @@ def add(request): 'form': form}, ) -@role_required('Secretariat') -def blue_sheet(request, meeting_id): - ''' - Blue Sheet view. The user can generate blue sheets or upload scanned bluesheets - ''' - meeting = get_object_or_404(Meeting, number=meeting_id) - url = settings.SECR_BLUE_SHEET_URL - blank_sheets_path = settings.SECR_BLUE_SHEET_PATH - try: - last_run = time.ctime(os.stat(blank_sheets_path).st_ctime) - except OSError: - last_run = None - uploaded_sheets_path = os.path.join(settings.SECR_PROCEEDINGS_DIR,meeting.number,'bluesheets') - uploaded_files = sorted(os.listdir(uploaded_sheets_path)) - - if request.method == 'POST': - form = UploadBlueSheetForm(request.POST,request.FILES) - if form.is_valid(): - file = request.FILES['file'] - save_error = handle_upload_file(file,file.name,meeting,'bluesheets') - if save_error: - form.add_error(None, save_error) - else: - messages.success(request, 'File Uploaded') - return redirect('ietf.secr.meetings.views.blue_sheet', meeting_id=meeting.number) - else: - form = UploadBlueSheetForm() - - return render(request, 'meetings/blue_sheet.html', { - 'meeting': meeting, - 'url': url, - 'form': form, - 'last_run': last_run, - 'uploaded_files': uploaded_files}, - ) - -@role_required('Secretariat') -def blue_sheet_generate(request, meeting_id): - ''' - Generate bluesheets - ''' - meeting = get_object_or_404(Meeting, number=meeting_id) - - if request.method == "POST": - groups = Group.objects.filter( - type__in=['wg','rg','ag','rag','program'], - session__timeslotassignments__schedule__in=[meeting.schedule, meeting.schedule.base if meeting.schedule else None]).order_by('acronym') - create_blue_sheets(meeting, groups) - - messages.success(request, 'Blue Sheets generated') - return redirect('ietf.secr.meetings.views.blue_sheet', meeting_id=meeting.number) - -@role_required('Secretariat') -def blue_sheet_redirect(request): - ''' - This is the generic blue sheet URL. It gets the next IETF meeting and redirects - to the meeting specific URL. - ''' - today = date_today() - qs = Meeting.objects.filter(date__gt=today,type='ietf').order_by('date') - if qs: - meeting = qs[0] - else: - meeting = Meeting.objects.filter(type='ietf').order_by('-date')[0] - return redirect('ietf.secr.meetings.views.blue_sheet', meeting_id=meeting.number) - @role_required('Secretariat') def edit_meeting(request, meeting_id): ''' diff --git a/ietf/secr/templates/areas/list.html b/ietf/secr/templates/areas/list.html deleted file mode 100644 index 0d9946efc3..0000000000 --- a/ietf/secr/templates/areas/list.html +++ /dev/null @@ -1,42 +0,0 @@ -{% extends "base_site.html" %} -{% load static %} -{% block title %}Areas{% endblock %} - -{% block extrahead %}{{ block.super }} - -{% endblock %} - -{% block breadcrumbs %}{{ block.super }} - » Areas -{% endblock %} - -{% block content %} - -
-

Areas

- - - - - - - - - - {% for item in results %} - - - - - - {% endfor %} - -
NameAcronymStatus
{{ item.name }}{{ item.acronym }}{{ item.state }}
- -
-
    -
-
-
- -{% endblock %} diff --git a/ietf/secr/templates/areas/people.html b/ietf/secr/templates/areas/people.html deleted file mode 100644 index 168089f52c..0000000000 --- a/ietf/secr/templates/areas/people.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends "base_site.html" %} -{% load static %} -{% block title %}Areas - People{% endblock %} - -{% block extrahead %}{{ block.super }} - -{% endblock %} - -{% block breadcrumbs %}{{ block.super }} - » Areas - » {{ area.acronym }} - » People -{% endblock %} - -{% block content %} - -
-

Area Directors ({{ area.acronym }})

- - {% for director in directors %} - {% csrf_token %} - - - - - {% endif %} - - - - {% endfor %} -
{{ director.person.name }}{% if director.name.slug == "ad" %} - Voting Enabled - {% else %} -
- - - -
-
    -
  • -
-
-
- -{% endblock %} \ No newline at end of file diff --git a/ietf/secr/templates/areas/view.html b/ietf/secr/templates/areas/view.html deleted file mode 100644 index 2bcb9619c9..0000000000 --- a/ietf/secr/templates/areas/view.html +++ /dev/null @@ -1,50 +0,0 @@ -{% extends "base_site.html" %} -{% load static %} -{% block title %}Areas - View{% endblock %} - -{% block extrahead %}{{ block.super }} - -{% endblock %} - -{% block breadcrumbs %}{{ block.super }} - » Areas - » {{ area.acronym }} -{% endblock %} - -{% block content %} - -
-

Area - View

- - - - - - - - - - -
Area Acronym:{{ area.acronym }}
Area Name:{{ area.name }}
Status:{{ area.state }}
Start Date:{{ area.start_date|date:"Y-m-d" }}
Concluded Date:{{ area.concluded_date|date:"Y-m-d" }}
Last Modified Date:{{ area.time|date:"Y-m-d" }}
Comments:{{ area.comments}}
- - - -
-
    - -
  • -
  • -
-
-
- -{% endblock %} diff --git a/ietf/secr/templates/console/main.html b/ietf/secr/templates/console/main.html deleted file mode 100644 index 5aadefc558..0000000000 --- a/ietf/secr/templates/console/main.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "base_site.html" %} - -{% block title %}Console{% endblock %} - -{% block breadcrumbs %}{{ block.super }} - » Console -{% endblock %} - -{% block content %} - -
-

Console

- - - - - -
Latest DocEvent{{ latest_docevent }}
- -
- -{% endblock %} diff --git a/ietf/secr/templates/main.html b/ietf/secr/templates/main.html index 455895c76d..42d6e8f6a1 100644 --- a/ietf/secr/templates/main.html +++ b/ietf/secr/templates/main.html @@ -14,13 +14,11 @@

IESG

IDs and WGs Process

@@ -31,15 +29,9 @@

Meetings and Proceedings

- - -

IPR

- + diff --git a/ietf/secr/templates/meetings/blue_sheet.html b/ietf/secr/templates/meetings/blue_sheet.html deleted file mode 100644 index 9bda80f2ed..0000000000 --- a/ietf/secr/templates/meetings/blue_sheet.html +++ /dev/null @@ -1,48 +0,0 @@ -{% extends "base_site.html" %} -{% load static %} - -{% block title %}Meetings - Blue Sheet{% endblock %} - -{% block extrahead %}{{ block.super }} - -{% endblock %} - -{% block breadcrumbs %}{{ block.super }} - » Meetings - » {{ meeting.number }} - » Blue Sheets -{% endblock %} - -{% block content %} - -
-

IETF {{ meeting.number }} - Blue Sheet

- -

Use this to generate blue sheets for meeting sessions.

-
    -
  • -
    {% csrf_token %} - -
    -   Last run: - {% if last_run %} - {{ last_run }} - {% else %} - Never - {% endif %} -
  • -
-

Use this to download the blue sheets from the server.

-
    -
  • - -
  • -
- -
-

- Use the session details page for a group to upload scanned bluesheets. The session details pages for a group can be reached from the meeting's materials page. -

-
- -{% endblock %} diff --git a/ietf/secr/templates/meetings/view.html b/ietf/secr/templates/meetings/view.html index d54346dae2..89bd8f7e03 100644 --- a/ietf/secr/templates/meetings/view.html +++ b/ietf/secr/templates/meetings/view.html @@ -37,7 +37,6 @@

IETF {{ meeting.number }} - View

  • -
  • diff --git a/ietf/secr/templates/rolodex/view.html b/ietf/secr/templates/rolodex/view.html index 73d1c3f58b..d1a78cfaa5 100644 --- a/ietf/secr/templates/rolodex/view.html +++ b/ietf/secr/templates/rolodex/view.html @@ -44,7 +44,7 @@

    Roles

    {{ role.name }} {% if role.group.type.slug == "area" %} - {{ role.group.acronym }}{% if role.group.state.slug == "conclude" %} (concluded){% endif %} + {{ role.group.acronym }}{% if role.group.state.slug == "conclude" %} (concluded){% endif %} {% else %} {{ role.group.acronym }}{% if role.group.state.slug == "conclude" %} (concluded){% endif %} {% endif %} diff --git a/ietf/secr/urls.py b/ietf/secr/urls.py index e5d3c19c34..0ce14a449a 100644 --- a/ietf/secr/urls.py +++ b/ietf/secr/urls.py @@ -4,8 +4,6 @@ urlpatterns = [ re_path(r'^$', TemplateView.as_view(template_name='main.html')), re_path(r'^announcement/', include('ietf.secr.announcement.urls')), - re_path(r'^areas/', include('ietf.secr.areas.urls')), - re_path(r'^console/', include('ietf.secr.console.urls')), re_path(r'^meetings/', include('ietf.secr.meetings.urls')), re_path(r'^rolodex/', include('ietf.secr.rolodex.urls')), re_path(r'^sreq/', include('ietf.secr.sreq.urls')), diff --git a/ietf/settings.py b/ietf/settings.py index d0b5ac5e24..34076f3299 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -488,7 +488,6 @@ def skip_unreadable_post(record): 'ietf.utils', # IETF Secretariat apps 'ietf.secr.announcement', - 'ietf.secr.areas', 'ietf.secr.meetings', 'ietf.secr.rolodex', 'ietf.secr.sreq', diff --git a/ietf/static/css/custom-bs-import.scss b/ietf/static/css/custom-bs-import.scss new file mode 100644 index 0000000000..e124b56875 --- /dev/null +++ b/ietf/static/css/custom-bs-import.scss @@ -0,0 +1,55 @@ +@import "bootstrap/scss/functions"; + +// Enable negative margin classes. +$enable-negative-margins: true; + +// Don't add carets to dropdowns by default. +// $enable-caret: false; + +$popover-max-width: 100%; + +// Override default fonts + +$font-family-sans-serif: "Inter", +system-ui, +-apple-system, +"Segoe UI", +Roboto, +"Helvetica Neue", +"Noto Sans", +"Liberation Sans", +Arial, +sans-serif, +"Apple Color Emoji", +"Segoe UI Emoji", +"Segoe UI Symbol", +"Noto Color Emoji"; +$font-family-monospace: "Noto Sans Mono", +SFMono-Regular, +Menlo, +Monaco, +Consolas, +"Liberation Mono", +"Courier New", +monospace; + +// Enable color modes +$color-mode-type: data; + +@import "bootstrap/scss/variables"; +@import "bootstrap/scss/variables-dark"; + +$h1-font-size: $font-size-base * 2.2; +$h2-font-size: $font-size-base * 1.8; +$h3-font-size: $font-size-base * 1.6; +$h4-font-size: $font-size-base * 1.4; +$h5-font-size: $font-size-base * 1.2; +$h6-font-size: $font-size-base; + +@import "bootstrap/scss/maps"; +@import "bootstrap/scss/mixins"; +@import "bootstrap/scss/utilities"; +@import "bootstrap/scss/root"; + + + diff --git a/ietf/static/css/datepicker.scss b/ietf/static/css/datepicker.scss index 4e2655b3fd..88f9e835fd 100644 --- a/ietf/static/css/datepicker.scss +++ b/ietf/static/css/datepicker.scss @@ -1,13 +1,4 @@ -@import "bootstrap/scss/functions"; - -// Enable color modes -$color-mode-type: data; - -@import "bootstrap/scss/variables"; -@import "bootstrap/scss/variables-dark"; -@import "bootstrap/scss/maps"; -@import "bootstrap/scss/mixins"; -@import "bootstrap/scss/root"; +@import "custom-bs-import"; // FIXME: color.scale doesn't seem to work with CSS variables, so avoid those:` $dp-cell-focus-background-color: $dropdown-link-hover-bg !default; diff --git a/ietf/static/css/document_html.scss b/ietf/static/css/document_html.scss index d34cae4ac1..0b5a70f124 100644 --- a/ietf/static/css/document_html.scss +++ b/ietf/static/css/document_html.scss @@ -1,41 +1,9 @@ @use "sass:map"; -$font-family-sans-serif: "Inter", -system-ui, --apple-system, -"Segoe UI", -Roboto, -"Helvetica Neue", -"Noto Sans", -"Liberation Sans", -Arial, -sans-serif, -"Apple Color Emoji", -"Segoe UI Emoji", -"Segoe UI Symbol", -"Noto Color Emoji"; -$font-family-monospace: "Noto Sans Mono", -SFMono-Regular, -Menlo, -Monaco, -Consolas, -"Liberation Mono", -"Courier New", -monospace; - -@import "bootstrap/scss/functions"; - -// Enable color modes -$color-mode-type: data; - -@import "bootstrap/scss/variables"; -@import "bootstrap/scss/variables-dark"; -@import "bootstrap/scss/maps"; -@import "bootstrap/scss/mixins"; -@import "bootstrap/scss/utilities"; -@import "bootstrap/scss/root"; +@import "custom-bs-import"; // Layout & components +// Only import what we need: @import "bootstrap/scss/reboot"; @import "bootstrap/scss/type"; // @import "bootstrap/scss/images"; diff --git a/ietf/static/css/document_html_txt.scss b/ietf/static/css/document_html_txt.scss index a75c491d26..6650cf3340 100644 --- a/ietf/static/css/document_html_txt.scss +++ b/ietf/static/css/document_html_txt.scss @@ -69,7 +69,7 @@ figure { blockquote { @include margin-paragraph; // margin: var(--paragraph); padding-left: calc(2ch - 2px); - border-left: 2px solid darkgrey; + border-left: 2px solid var(--bs-border-color); } /* Header junk */ @@ -374,7 +374,7 @@ thead, tfoot { border-bottom-style: double; } td, th { - border: 1px solid inherit; + border: 1px solid var(--bs-border-color); // padding: var(--half-line) 1ch; padding-top: var(--half-line); padding-right: 1ch; diff --git a/ietf/static/css/highcharts.scss b/ietf/static/css/highcharts.scss new file mode 100644 index 0000000000..c556f4e118 --- /dev/null +++ b/ietf/static/css/highcharts.scss @@ -0,0 +1 @@ +@import "npm:highcharts/css/highcharts.css"; diff --git a/ietf/static/css/ietf.scss b/ietf/static/css/ietf.scss index 06a0de80b2..2e21279900 100644 --- a/ietf/static/css/ietf.scss +++ b/ietf/static/css/ietf.scss @@ -1,61 +1,9 @@ @use "sass:map"; -@import "bootstrap/scss/functions"; - -// Enable negative margin classes. -$enable-negative-margins: true; - -// Don't add carets to dropdowns by default. -// $enable-caret: false; - -$popover-max-width: 100%; - -// Override default fonts - -$font-family-sans-serif: "Inter", -system-ui, --apple-system, -"Segoe UI", -Roboto, -"Helvetica Neue", -"Noto Sans", -"Liberation Sans", -Arial, -sans-serif, -"Apple Color Emoji", -"Segoe UI Emoji", -"Segoe UI Symbol", -"Noto Color Emoji"; -$font-family-monospace: "Noto Sans Mono", -SFMono-Regular, -Menlo, -Monaco, -Consolas, -"Liberation Mono", -"Courier New", -monospace; - -// Enable color modes -$color-mode-type: data; - -// Only import what we need: - -@import "bootstrap/scss/variables"; -@import "bootstrap/scss/variables-dark"; - -$h1-font-size: $font-size-base * 2.2; -$h2-font-size: $font-size-base * 1.8; -$h3-font-size: $font-size-base * 1.6; -$h4-font-size: $font-size-base * 1.4; -$h5-font-size: $font-size-base * 1.2; -$h6-font-size: $font-size-base; - -@import "bootstrap/scss/maps"; -@import "bootstrap/scss/mixins"; -@import "bootstrap/scss/utilities"; -@import "bootstrap/scss/root"; +@import "custom-bs-import"; // Layout & components +// Only import what we need: @import "bootstrap/scss/reboot"; @import "bootstrap/scss/type"; @import "bootstrap/scss/images"; @@ -205,8 +153,8 @@ pre { --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg}; --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y}; --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow}; - --#{$prefix}dropdown-link-color: #{$dropdown-link-color}; - --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color}; + --#{$prefix}dropdown-link-color: #{$nav-link-color}; + --#{$prefix}dropdown-link-hover-color: #{$nav-link-hover-color}; --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg}; --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color}; --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg}; @@ -351,7 +299,7 @@ th, .axis path, .axis line { fill: none; - stroke: black; + stroke: var(--bs-body-color); } .axis.y path, @@ -368,7 +316,7 @@ th, } .bar text { - fill: black; + fill: var(--bs-body-color); dominant-baseline: central; pointer-events: none; } @@ -407,7 +355,7 @@ th, } .ballot-icon table .my { - border: calc(2 * $table-border-width) solid #000; + border: calc(2 * $table-border-width) solid var(--bs-emphasis-color); } // See https://getbootstrap.com/docs/5.1/customize/color/#all-colors @@ -614,7 +562,7 @@ td.position-empty { } .edit-meeting-schedule .edit-grid .day-label .swap-days:hover { - color: #666; + color: var(--bs-secondary-color); } .edit-meeting-schedule #swap-days-modal .modal-body label { @@ -646,15 +594,15 @@ td.position-empty { } .edit-meeting-schedule .edit-grid .time-header .time-label.would-violate-hint { - background-color: #ffe0e0; - outline: #ffe0e0 solid 0.4em; + background-color: var(--bs-danger-bg-subtle); + outline: var(--bs-danger-bg-subtle) solid 0.4em; } .edit-meeting-schedule .edit-grid .time-header .time-label span { display: inline-block; width: 100%; text-align: center; - color: #444444; + color: var(--bs-secondary-color); } .edit-meeting-schedule .edit-grid .timeslots { @@ -666,7 +614,7 @@ td.position-empty { .edit-meeting-schedule .edit-grid .timeslot { position: relative; display: inline-block; - background-color: #f4f4f4; + background-color: var(--bs-secondary-bg); height: 100%; overflow: hidden; } @@ -679,7 +627,7 @@ td.position-empty { width: 100%; align-items: center; justify-content: center; - color: #999; + color: var(--bs-tertiary-color); } .edit-meeting-schedule .edit-grid .timeslot .drop-target { @@ -696,22 +644,22 @@ td.position-empty { } .edit-meeting-schedule .edit-grid .timeslot.overfull { - border-right: 0.3em dashed #f55000; + border-right: 0.3em dashed var(--bs-danger); /* cut-off illusion */ } .edit-meeting-schedule .edit-grid .timeslot.would-violate-hint { - background-color: #ffe0e0; - outline: #ffe0e0 solid 0.4em; + background-color: var(--bs-danger-bg-subtle); + outline: var(--bs-danger-bg-subtle) solid 0.4em; } .edit-meeting-schedule .edit-grid .timeslot.would-violate-hint.dropping { - background-color: #ccb3b3; + background-color: var(--bs-danger); } .edit-meeting-schedule .constraints .encircled, .edit-meeting-schedule .formatted-constraints .encircled { - border: 1px solid #000; + border: 1px solid var( --bs-body-color); border-radius: 1em; padding: 0 0.3em; text-align: center; @@ -724,7 +672,7 @@ td.position-empty { /* sessions */ .edit-meeting-schedule .session { - background-color: #fff; + background-color: var(--bs-body-bg); margin: 0.2em; padding-right: 0.2em; padding-left: 0.5em; @@ -736,15 +684,15 @@ td.position-empty { .edit-meeting-schedule .session.selected { cursor: grabbing; - outline: #0000ff solid 0.2em; - /* blue, width matches margin on .session */ + outline: var(--bs-primary) solid 0.2em; + /* width matches margin on .session */ z-index: 2; /* render above timeslot outlines */ } .edit-meeting-schedule .session.other-session-selected { - outline: #00008b solid 0.2em; - /* darkblue, width matches margin on .session */ + outline: var(--bs-info) solid 0.2em; + /* width matches margin on .session */ z-index: 2; /* render above timeslot outlines */ } @@ -755,7 +703,7 @@ td.position-empty { .edit-meeting-schedule .session.readonly { cursor: default; - background-color: #ddd; + background-color: var(--bs-dark-bg-subtle); } .edit-meeting-schedule .session.hidden-parent * { @@ -769,13 +717,12 @@ td.position-empty { } .edit-meeting-schedule .session.highlight { - outline-color: #ff8c00; - /* darkorange */ - background-color: #f3f3f3; + outline-color: var(--bs-warning); + background-color: var(--bs-light); } .edit-meeting-schedule .session.would-violate-hint { - outline: 0.3em solid #F55000; + outline: 0.3em solid var(--bs-danger); z-index: 1; /* raise up so the outline is not overdrawn */ } @@ -797,6 +744,7 @@ td.position-empty { .edit-meeting-schedule .edit-grid, .edit-meeting-schedule .session { + // Removing this font-family style causes selenium tests to fail :-( font-family: arial, helvetica, sans-serif; font-size: 11px; } @@ -868,9 +816,9 @@ td.position-empty { bottom: 0; left: 0; width: 100%; - border-top: 0.2em solid #ccc; + border-top: 0.2em solid var(--bs-border-color); margin-bottom: 2em; - background-color: #fff; + background-color: var(--bs-body-bg); opacity: 0.95; z-index: 5; /* raise above edit-grid items */ @@ -885,7 +833,7 @@ td.position-empty { min-height: 4em; max-height: 13em; overflow-y: auto; - background-color: #f4f4f4; + background-color: var(--bs-secondary-bg); } .edit-meeting-schedule .unassigned-sessions.dropping { @@ -942,7 +890,7 @@ td.position-empty { font-weight: normal; margin-right: 1em; padding: 0 1em; - border: 0.1em solid #eee; + border: 0.1em solid var(--bs-border-color); cursor: pointer; } @@ -1008,7 +956,7 @@ td.position-empty { } .edit-meeting-timeslots-and-misc-sessions .room-row { - border-bottom: 1px solid #ccc; + border-bottom: 1px solid var(--bs-border-color); // height: 20px; display: flex; cursor: pointer; @@ -1028,13 +976,13 @@ td.position-empty { } .edit-meeting-timeslots-and-misc-sessions .timeline.hover { - background: radial-gradient(#999 1px, transparent 1px); + background: radial-gradient(var(--bs-tertiary-color) 1px, transparent 1px); background-size: 20px 20px; } .edit-meeting-timeslots-and-misc-sessions .timeline.selected.hover, .edit-meeting-timeslots-and-misc-sessions .timeline.selected { - background: radial-gradient(#999 2px, transparent 2px); + background: radial-gradient(var(--bs-tertiary-color) 2px, transparent 2px); background-size: 20px 20px; } @@ -1050,8 +998,8 @@ td.position-empty { white-space: nowrap; cursor: pointer; padding-left: 0.2em; - border-left: 1px solid #999; - border-right: 1px solid #999; + border-left: 1px solid var(--bs-border-color); + border-right: 1px solid var(--bs-border-color); } .edit-meeting-timeslots-and-misc-sessions .timeslot:hover { @@ -1071,10 +1019,10 @@ td.position-empty { bottom: 0; left: 0; width: 100%; - border-top: 0.2em solid #ccc; + border-top: 0.2em solid var(--bs-border-color); padding-top: 0.2em; margin-bottom: 2em; - background-color: #fff; + background-color: var(--bs-body-bg); opacity: 0.95; } @@ -1122,7 +1070,7 @@ td.position-empty { } .timeslot-edit .tstable div.timeslot { - border: #000000 solid 1px; + border: var(--bs-body-color) solid 1px; border-radius: 0.5em; padding: 0.5em; } @@ -1152,7 +1100,7 @@ td.position-empty { } .timeslot-edit .tstable .tstype_unavail { - background-color: #666; + background-color: var(--bs-secondary-color); } .timeslot-edit .official-use-warning { diff --git a/ietf/static/css/list.scss b/ietf/static/css/list.scss index 142013c3dd..595bf360d5 100644 --- a/ietf/static/css/list.scss +++ b/ietf/static/css/list.scss @@ -1,11 +1,4 @@ -// Import bootstrap helpers -@import "bootstrap/scss/functions"; - -// Enable color modes -$color-mode-type: data; - -@import "bootstrap/scss/variables"; -@import "bootstrap/scss/variables-dark"; +@import "custom-bs-import"; table .sort { cursor: pointer; diff --git a/ietf/static/css/select2.scss b/ietf/static/css/select2.scss index ab53c228eb..c8e3da7adc 100644 --- a/ietf/static/css/select2.scss +++ b/ietf/static/css/select2.scss @@ -1,13 +1,4 @@ -@import "bootstrap/scss/functions"; - -// Enable color modes -$color-mode-type: data; - -@import "bootstrap/scss/variables"; -@import "bootstrap/scss/variables-dark"; -@import "bootstrap/scss/maps"; -@import "bootstrap/scss/mixins"; -@import "bootstrap/scss/root"; +@import "custom-bs-import"; // FIXME: bs-5.3.0 workaround from https://github.com/apalfrey/select2-bootstrap-5-theme/issues/75#issuecomment-1573265695 $s2bs5-border-color: $border-color; diff --git a/ietf/static/js/highcharts.js b/ietf/static/js/highcharts.js index 0b99f87a59..268f96e50f 100644 --- a/ietf/static/js/highcharts.js +++ b/ietf/static/js/highcharts.js @@ -13,17 +13,9 @@ Highcharts_Accessibility(Highcharts); Highcharts_Sunburst(Highcharts); Highcharts.setOptions({ - // use colors from https://colorbrewer2.org/#type=qualitative&scheme=Paired&n=12 - colors: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', - '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', - '#ffff99', '#b15928' - ], chart: { height: "100%", - style: { - fontFamily: getComputedStyle(document.body) - .getPropertyValue('--bs-body-font-family') - } + styledMode: true, }, credits: { enabled: false diff --git a/ietf/static/js/highstock.js b/ietf/static/js/highstock.js index e1965acb62..15ddb5ef9c 100644 --- a/ietf/static/js/highstock.js +++ b/ietf/static/js/highstock.js @@ -10,4 +10,13 @@ Highcharts_Offline_Exporting(Highcharts); Highcharts_Export_Data(Highcharts); Highcharts_Accessibility(Highcharts); +Highcharts.setOptions({ + chart: { + styledMode: true, + }, + credits: { + enabled: false + }, +}); + window.Highcharts = Highcharts; diff --git a/ietf/static/js/list.js b/ietf/static/js/list.js index 5e4b8d76a3..d7e9dc944b 100644 --- a/ietf/static/js/list.js +++ b/ietf/static/js/list.js @@ -14,7 +14,8 @@ function text_sort(a, b, options) { // sort by text content return prep(a, options).localeCompare(prep(b, options), "en", { sensitivity: "base", - ignorePunctuation: true + ignorePunctuation: true, + numeric: true }); } diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index 3950cdc04d..0b48dae2a9 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -42,7 +42,7 @@ from ietf.utils.draft import PlaintextDraft from ietf.utils.text import normalize_text from ietf.utils.timezone import date_today -from ietf.utils.xmldraft import XMLDraft, XMLParseError +from ietf.utils.xmldraft import InvalidXMLError, XMLDraft, XMLParseError class SubmissionBaseUploadForm(forms.Form): @@ -168,6 +168,11 @@ def cleanup(): # called when context exited, even in case of exception try: xml_draft = XMLDraft(tfn) + except InvalidXMLError: + raise forms.ValidationError( + "The uploaded file is not valid XML. Please make sure you are uploading the correct file.", + code="invalid_xml_error", + ) except XMLParseError as e: msgs = format_messages('xml', e, e.parser_msgs()) raise forms.ValidationError(msgs, code="xml_parse_error") @@ -537,8 +542,7 @@ def cleanup(): # called when context exited, even in case of exception bytes = txt_file.read() txt_file.seek(0) try: - text = bytes.decode(self.file_info['txt'].charset) - # + text = bytes.decode(PlainParser.encoding) self.parsed_draft = PlaintextDraft(text, txt_file.name) if self.filename == None: self.filename = self.parsed_draft.filename @@ -649,7 +653,7 @@ def clean_txt(self): txt_file.seek(0) bytes = txt_file.read() try: - text = bytes.decode(self.file_info["txt"].charset) + text = bytes.decode(PlainParser.encoding) parsed_draft = PlaintextDraft(text, txt_file.name) self._extracted_filenames_and_revisions["txt"] = (parsed_draft.filename, parsed_draft.revision) except (UnicodeDecodeError, LookupError) as e: diff --git a/ietf/submit/parsers/base.py b/ietf/submit/parsers/base.py index 679798cc4e..d38ab1d7b8 100644 --- a/ietf/submit/parsers/base.py +++ b/ietf/submit/parsers/base.py @@ -1,20 +1,19 @@ -# Copyright The IETF Trust 2011-2020, All Rights Reserved +# Copyright The IETF Trust 2011-2023, All Rights Reserved # -*- coding: utf-8 -*- import re -import debug # pyflakes:ignore +import debug # pyflakes:ignore -from typing import List, Optional # pyflakes:ignore +from typing import List, Optional # pyflakes:ignore from django.conf import settings from django.template.defaultfilters import filesizeformat -from ietf.utils.mime import get_mime_type from ietf.utils.timezone import date_today -class MetaData(object): +class MetaData: rev = None name = None group = None @@ -25,7 +24,8 @@ class MetaData(object): document_date = None authors = None -class ParseInfo(object): + +class ParseInfo: """Collect errors from a parse""" def __init__(self): @@ -46,9 +46,9 @@ def add_warning(self, warning_type, warning_str): self.warnings[warning_type] = warn_list + [warning_str] -class FileParser(object): - ext = None # type: Optional[str] - mimetypes = [] # type: List[str] +class FileParser: + ext: Optional[str] = None + encoding = "utf8" def __init__(self, fd): self.fd = fd @@ -58,35 +58,49 @@ def __init__(self, fd): # no other file parsing is recommended def critical_parse(self): self.parse_invalid_chars_in_filename() - self.parse_max_size(); + self.parse_max_size() self.parse_filename_extension() - self.parse_file_type() + self.validate_encoding() self.parsed_info.metadata.submission_date = date_today() return self.parsed_info def parse_invalid_chars_in_filename(self): name = self.fd.name - regexp = re.compile(r'&|\|\/|;|\*|\s|\$') + regexp = re.compile(r"&|\\|/|;|\*|\s|\$") chars = regexp.findall(name) if chars: - self.parsed_info.add_error('Invalid characters were found in the name of the file which was just submitted: %s' % ', '.join(set(chars))) + self.parsed_info.add_error( + "Invalid characters were found in the name of the file which was just submitted: %s" + % ", ".join(set(chars)) + ) def parse_max_size(self): max_size = settings.IDSUBMIT_MAX_DRAFT_SIZE[self.ext] if self.fd.size > max_size: - self.parsed_info.add_error('File size is larger than the permitted maximum of %s' % filesizeformat(max_size)) + self.parsed_info.add_error( + "File size is larger than the permitted maximum of %s" + % filesizeformat(max_size) + ) self.parsed_info.metadata.file_size = self.fd.size def parse_filename_extension(self): - if not self.fd.name.lower().endswith('.'+self.ext): - self.parsed_info.add_error('Expected the %s file to have extension ".%s", found the name "%s"' % (self.ext.upper(), self.ext, self.fd.name)) - - def parse_file_type(self): - self.fd.file.seek(0) - content = self.fd.file.read(64*1024) - mimetype, charset = get_mime_type(content) - if not mimetype in self.mimetypes: - self.parsed_info.add_error('Expected an %s file of type "%s", found one of type "%s"' % (self.ext.upper(), '" or "'.join(self.mimetypes), mimetype)) - self.parsed_info.mimetype = mimetype - self.parsed_info.charset = charset - \ No newline at end of file + if not self.fd.name.lower().endswith("." + self.ext): + self.parsed_info.add_error( + 'Expected the %s file to have extension ".%s", found the name "%s"' + % (self.ext.upper(), self.ext, self.fd.name) + ) + + def validate_encoding(self): + self.fd.seek(0) + bytes = self.fd.read() + try: + bytes.decode(self.encoding) + except UnicodeDecodeError as err: + invalid_bytes = bytes[err.start : err.end] + self.parsed_info.add_error( + "Invalid {} byte(s) starting at byte {}: [{}]".format( + err.encoding, + err.start + 1, + ", ".join(f"0x{b:x}" for b in invalid_bytes) + ) + ) diff --git a/ietf/submit/parsers/plain_parser.py b/ietf/submit/parsers/plain_parser.py index a3338e35a3..091179d992 100644 --- a/ietf/submit/parsers/plain_parser.py +++ b/ietf/submit/parsers/plain_parser.py @@ -10,7 +10,6 @@ class PlainParser(FileParser): ext = 'txt' - mimetypes = ['text/plain', ] def __init__(self, fd): super(PlainParser, self).__init__(fd) @@ -19,54 +18,41 @@ def __init__(self, fd): # no other file parsing is recommended def critical_parse(self): super(PlainParser, self).critical_parse() - self.check_file_charset() self.parse_name() return self.parsed_info - def check_file_charset(self): - charset = self.parsed_info.charset - if not charset in ['us-ascii', 'utf-8',]: - self.parsed_info.add_error('A plain text ASCII document is required. ' - 'Found an unexpected encoding: "%s". ' - 'You probably have one or more non-ascii characters in your file.' % charset - ) - if self.fd.charset and charset != self.fd.charset: - self.parsed_info.add_error("Unexpected charset mismatch: upload: %s, libmagic: %s" % (self.fd.charset, charset)) - - def parse_name(self): self.fd.file.seek(0) draftre = re.compile(r'(draft-\S+)') revisionre = re.compile(r'.*-(\d+)$') limit = 80 - if self.parsed_info.charset in ['us-ascii', 'utf-8']: - while limit: - limit -= 1 - try: - line = self.fd.readline().decode(self.parsed_info.charset) - except UnicodeDecodeError: - return - match = draftre.search(line) - if not match: - continue - name = match.group(1) - name = re.sub(r'^[^\w]+', '', name) - name = re.sub(r'[^\w]+$', '', name) - name = re.sub(r'\.txt$', '', name) - extra_chars = re.sub(r'[0-9a-z\-]', '', name) - if extra_chars: - if len(extra_chars) == 1: - self.parsed_info.add_error(('The document name on the first page, "%s", contains a disallowed character with byte code: %s ' % (name, ord(extra_chars[0]))) + - '(see https://www.ietf.org/id-info/guidelines.html#naming for details).') - else: - self.parsed_info.add_error(('The document name on the first page, "%s", contains disallowed characters with byte codes: %s ' % (name, (', '.join([ str(ord(c)) for c in extra_chars] )))) + - '(see https://www.ietf.org/id-info/guidelines.html#naming for details).') - match_revision = revisionre.match(name) - if match_revision: - self.parsed_info.metadata.rev = match_revision.group(1) - else: - self.parsed_info.add_error('The name found on the first page of the document does not contain a revision: "%s"' % (name,)) - name = re.sub(r'-\d+$', '', name) - self.parsed_info.metadata.name = name + while limit: + limit -= 1 + try: + line = self.fd.readline().decode(self.encoding) + except UnicodeDecodeError: return + match = draftre.search(line) + if not match: + continue + name = match.group(1) + name = re.sub(r'^[^\w]+', '', name) + name = re.sub(r'[^\w]+$', '', name) + name = re.sub(r'\.txt$', '', name) + extra_chars = re.sub(r'[0-9a-z\-]', '', name) + if extra_chars: + if len(extra_chars) == 1: + self.parsed_info.add_error(('The document name on the first page, "%s", contains a disallowed character with byte code: %s ' % (name, ord(extra_chars[0]))) + + '(see https://www.ietf.org/id-info/guidelines.html#naming for details).') + else: + self.parsed_info.add_error(('The document name on the first page, "%s", contains disallowed characters with byte codes: %s ' % (name, (', '.join([ str(ord(c)) for c in extra_chars] )))) + + '(see https://www.ietf.org/id-info/guidelines.html#naming for details).') + match_revision = revisionre.match(name) + if match_revision: + self.parsed_info.metadata.rev = match_revision.group(1) + else: + self.parsed_info.add_error('The name found on the first page of the document does not contain a revision: "%s"' % (name,)) + name = re.sub(r'-\d+$', '', name) + self.parsed_info.metadata.name = name + return self.parsed_info.add_error('The first page of the document does not contain a legitimate name that starts with draft-*') diff --git a/ietf/submit/parsers/tests.py b/ietf/submit/parsers/tests.py new file mode 100644 index 0000000000..9ab529a2fe --- /dev/null +++ b/ietf/submit/parsers/tests.py @@ -0,0 +1,78 @@ +# Copyright The IETF Trust 2023, All Rights Reserved + + +from django.core.files.uploadedfile import SimpleUploadedFile +from django.test.utils import override_settings + +from ietf.utils.test_utils import TestCase + +from .base import FileParser + + +@override_settings(IDSUBMIT_MAX_DRAFT_SIZE={"txt": 100}) +class FileParserTests(TestCase): + class MyParser(FileParser): + """Test parser class (FileParser is not usable on its own)""" + + ext = "txt" + + def test_invalid_encoding(self): + fp = self.MyParser( + SimpleUploadedFile( + name="valid-name.txt", + content=b"This is not valid utf-8 -> \xfe", + content_type="text/plain", + ) + ) + parse_info = fp.critical_parse() + self.assertEqual(len(parse_info.errors), 1) + self.assertIn("Invalid utf-8 byte(s)", parse_info.errors[0]) + self.assertIn("0xfe", parse_info.errors[0]) + + def test_file_too_big(self): + fp = self.MyParser( + SimpleUploadedFile( + name="valid-name.txt", + content=b"1" + b"ten chars!" * 10, # exceeds max size of 100 + content_type="text/plain", + ) + ) + parse_info = fp.critical_parse() + self.assertEqual(len(parse_info.errors), 1) + self.assertIn("File size is larger", parse_info.errors[0]) + + def test_wrong_extension(self): + fp = self.MyParser( + SimpleUploadedFile( + name="invalid-ext.xml", + content=b"This is fine", + content_type="text/plain", + ) + ) + parse_info = fp.critical_parse() + self.assertEqual(len(parse_info.errors), 1) + self.assertIn("Expected the TXT file to have extension", parse_info.errors[0]) + + def test_invalid_char_in_filename(self): + # Can't test "/" in the filename because SimpleUploadedFile treats it as a path separator + for invalid_char in r"&\;*$ ": + uploaded_file = SimpleUploadedFile( + name="invalid" + invalid_char + "name.txt", + content=b"This is fine", + content_type="text/plain", + ) + fp = self.MyParser(uploaded_file) + parse_info = fp.critical_parse() + self.assertEqual( + len(parse_info.errors), 1, f"{invalid_char} should trigger 1 error" + ) + self.assertIn( + "Invalid characters were found", + parse_info.errors[0], + f"{invalid_char} is an invalid char", + ) + self.assertIn( + f": {invalid_char}", + parse_info.errors[0], + f"{invalid_char} is the invalid char", + ) diff --git a/ietf/submit/parsers/xml_parser.py b/ietf/submit/parsers/xml_parser.py index 674646e103..8068579926 100644 --- a/ietf/submit/parsers/xml_parser.py +++ b/ietf/submit/parsers/xml_parser.py @@ -3,7 +3,6 @@ class XMLParser(FileParser): ext = 'xml' - mimetypes = ['application/xml', 'text/xml', ] # If some error is found after this method invocation # no other file parsing is recommended diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index 0d5626edc5..572d7bda91 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -1700,7 +1700,6 @@ def test_submit_bad_file_txt(self): r, q, m = self.submit_bad_file("some name", ["txt"]) self.assertIn('Invalid characters were found in the name', m) self.assertIn('Expected the TXT file to have extension ".txt"', m) - self.assertIn('Expected an TXT file of type "text/plain"', m) self.assertIn('document does not contain a legitimate name', m) def test_submit_bad_doc_name(self): @@ -1718,7 +1717,6 @@ def test_submit_bad_file_xml(self): r, q, m = self.submit_bad_file("some name", ["xml"]) self.assertIn('Invalid characters were found in the name', m) self.assertIn('Expected the XML file to have extension ".xml"', m) - self.assertIn('Expected an XML file of type "application/xml"', m) def test_submit_file_in_archive(self): name = "draft-authorname-testing-file-exists" @@ -3123,6 +3121,20 @@ def test_replaces_field(self): ) self.assertFalse(form.is_valid()) + def test_invalid_xml(self): + """Test error message for invalid XML""" + not_xml = SimpleUploadedFile( + name="not-xml.xml", + content=b"this is not xml at all", + content_type="application/xml", + ) + form = SubmissionBaseUploadForm(RequestFactory().post('/some/url'), files={"xml": not_xml}) + self.assertFalse(form.is_valid()) + self.assertFormError( + form, + "xml", + "The uploaded file is not valid XML. Please make sure you are uploading the correct file.", + ) class AsyncSubmissionTests(BaseSubmitTestCase): """Tests of async submission-related tasks""" diff --git a/ietf/templates/base/menu.html b/ietf/templates/base/menu.html index 2f88aadca8..693a33bd8f 100644 --- a/ietf/templates/base/menu.html +++ b/ietf/templates/base/menu.html @@ -22,7 +22,7 @@ {% if flavor == 'top' %}
  • {% endif %} {% wg_menu flavor %}
  • - Other @@ -31,19 +31,19 @@ {% if flavor == 'top' %}
  • {% endif %}
  • New work
  • - Chartering groups
  • - BOFs
  • - BOF Requests @@ -51,13 +51,13 @@ {% if flavor == 'top' %}
  • {% endif %}
  • Other groups
  • - Concluded groups
  • - Non-WG lists @@ -81,32 +81,32 @@
  • {% endif %}
  • - Search
  • - Recent I-Ds
  • - I-D submission
  • - IESG dashboard
  • {% if user and user.is_authenticated %}
  • - My tracked docs @@ -114,7 +114,7 @@ {% if user|has_role:"Area Director,Secretariat" %} {% if flavor == 'top' %}
  • {% endif %}
  • - RFC status changes @@ -122,7 +122,7 @@ {% endif %} {% if flavor == 'top' %}
  • {% endif %}
  • - IRSG ballot status @@ -131,14 +131,14 @@ {% if flavor == 'top' %}
  • {% endif %}
  • Manage
  • - Approve an I-D
  • {% for g in user|docman_groups %}
  • - {{ g.acronym }} {{ g.type.slug }} docs @@ -146,7 +146,7 @@ {% endfor %} {% for g in user|matman_groups %}
  • - {{ g.acronym }} {{ g.type.slug }} meetings @@ -163,7 +163,7 @@
  • {% for g in user|managed_review_groups %}
  • - {{ g.acronym }} reviews @@ -180,7 +180,7 @@
  • {% for nomcom in nomcoms %}
  • - {{ nomcom|capfirst }} @@ -196,25 +196,25 @@ RFC streams
  • - IAB
  • - IRTF
  • - ISE
  • - Editorial @@ -240,43 +240,43 @@
  • {% endif %}
  • - Agenda
  • - Materials
  • - Floor plan
  • - Registration
  • - Important dates
  • - Request a session
  • - Session requests @@ -291,7 +291,7 @@
  • {% endif %}
  • - Upcoming meetings @@ -306,13 +306,13 @@
  • {% endif %}
  • - Past meetings
  • - Meeting proceedings @@ -338,56 +338,56 @@
  • {% endif %}
  • - IPR disclosures
  • - Liaison statements
  • - IESG agenda
  • - NomComs
  • - Downref registry
  • - Statistics
  • - - Tutorials - -
  • -
  • - API Help
  • - Release notes @@ -418,7 +412,7 @@
  • {% endif %}
  • - diff --git a/ietf/templates/base/menu_user.html b/ietf/templates/base/menu_user.html index 9e6bbde56a..e731307f2b 100644 --- a/ietf/templates/base/menu_user.html +++ b/ietf/templates/base/menu_user.html @@ -23,7 +23,7 @@ {% url 'django.contrib.auth.views.logout' as logout_url %} {% if request.get_full_path == logout_url %}
  • - Sign in @@ -34,14 +34,14 @@
  • {% csrf_token %} -
  • - Account info @@ -49,35 +49,35 @@
  • {% if user and user.person %}
  • - Public profile page
  • {% endif %}
  • - Preferences
  • - API keys
  • - Change password
  • - Change username @@ -85,21 +85,21 @@
  • {% else %}
  • - Sign in
  • - Password reset
  • - Preferences @@ -109,7 +109,7 @@ {% endif %} {% if not request.user.is_authenticated %}
  • - New account @@ -117,7 +117,7 @@ {% endif %} {% if user|has_role:"Reviewer" %}
  • - My reviews @@ -127,31 +127,31 @@ {% if flavor == "top" %}
  • {% endif %}
  • AD dashboard
  • - My docs
  • - Next telechat
  • - Discusses
  • - Milestone review
  • - Last Call docs @@ -163,31 +163,31 @@ IETF secretariat
  • - Telechat dates
  • - Management items
  • - Milestones
  • - Sync discrepancies
  • - Account allowlist @@ -202,7 +202,7 @@ IANA
  • - Sync discrepancies @@ -217,7 +217,7 @@ RFC Editor
  • - Sync discrepancies diff --git a/ietf/templates/base/menu_wg.html b/ietf/templates/base/menu_wg.html index 3ab7ca399b..09fef8c7b0 100644 --- a/ietf/templates/base/menu_wg.html +++ b/ietf/templates/base/menu_wg.html @@ -3,7 +3,7 @@ {% origin %} {% for p in parents %}
  • - {{ p.short_name }} diff --git a/ietf/templates/doc/document_draft.html b/ietf/templates/doc/document_draft.html index 77eedea761..09cab69208 100644 --- a/ietf/templates/doc/document_draft.html +++ b/ietf/templates/doc/document_draft.html @@ -173,11 +173,11 @@ {% endif %} - {% if doc.stream_id == 'ietf' or doc.stream_id == 'ise' or doc.stream_id == 'irtf' or doc.stream_id == 'editorial' %} + {% if doc.stream_id == 'ietf' or doc.stream_id == 'ise' or doc.stream_id == 'irtf' or doc.stream_id == 'editorial' or doc.stream_id == 'iab' %} - Document shepherd + {% if doc.stream_id == 'iab' %}IAB shepherd{% else %}Document shepherd{% endif %} {% if can_edit_stream_info and not snapshot %} @@ -698,14 +698,14 @@
{% if user.is_authenticated %} - Untrack - @@ -714,14 +714,14 @@ {% endif %} {% if user.review_teams %} - Remove review wishes - diff --git a/ietf/templates/doc/document_html.html b/ietf/templates/doc/document_html.html index b1c54ce73b..97272bb050 100644 --- a/ietf/templates/doc/document_html.html +++ b/ietf/templates/doc/document_html.html @@ -51,7 +51,7 @@ {% analytical_body_top %} -