diff --git a/.github/workflows/dev-db-nightly.yml b/.github/workflows/dev-db-nightly.yml index 838eb48de..b38691c59 100644 --- a/.github/workflows/dev-db-nightly.yml +++ b/.github/workflows/dev-db-nightly.yml @@ -39,7 +39,7 @@ jobs: build-mariadb: name: Build MariaDB Docker Images runs-on: ubuntu-latest - if: ${{ github.ref == 'refs/heads/main' && github.event.inputs.skipMariaDBBuild == 'false' }} + if: ${{ github.ref == 'refs/heads/main' && (github.event_name == 'schedule' || github.event.inputs.skipMariaDBBuild == 'false') }} permissions: contents: read packages: write @@ -210,3 +210,21 @@ jobs: push: true tags: ghcr.io/ietf-tools/datatracker-db-pg:latest,ghcr.io/ietf-tools/datatracker-db-pg:nightly-${{ steps.date.outputs.date }} provenance: false + + cleanup: + name: Remove Old Images + runs-on: ubuntu-latest + if: ${{ always() && !failure() }} + needs: [build] + permissions: + packages: write + steps: + - uses: actions/checkout@v3 + + - name: Delete Old Versions + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + cd dev/del-old-packages + npm install + node index diff --git a/.pnp.cjs b/.pnp.cjs index 46892da0d..0e5e1e98d 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -34,39 +34,39 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./",\ "packageDependencies": [\ ["@faker-js/faker", "npm:7.6.0"],\ - ["@fullcalendar/bootstrap5", "npm:5.11.3"],\ - ["@fullcalendar/core", "npm:5.11.3"],\ - ["@fullcalendar/daygrid", "npm:5.11.3"],\ - ["@fullcalendar/interaction", "npm:5.11.3"],\ - ["@fullcalendar/list", "npm:5.11.3"],\ - ["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\ - ["@fullcalendar/timegrid", "npm:5.11.3"],\ - ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\ - ["@parcel/optimizer-data-url", "npm:2.8.2"],\ - ["@parcel/transformer-inline-string", "npm:2.8.2"],\ - ["@parcel/transformer-sass", "npm:2.8.2"],\ + ["@fullcalendar/bootstrap5", "npm:5.11.4"],\ + ["@fullcalendar/core", "npm:5.11.4"],\ + ["@fullcalendar/daygrid", "npm:5.11.4"],\ + ["@fullcalendar/interaction", "npm:5.11.4"],\ + ["@fullcalendar/list", "npm:5.11.4"],\ + ["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4"],\ + ["@fullcalendar/timegrid", "npm:5.11.4"],\ + ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4"],\ + ["@parcel/optimizer-data-url", "npm:2.8.3"],\ + ["@parcel/transformer-inline-string", "npm:2.8.3"],\ + ["@parcel/transformer-sass", "npm:2.8.3"],\ ["@popperjs/core", "npm:2.11.6"],\ ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\ ["@twuni/emojify", "npm:1.0.2"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.0"],\ ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ ["bootstrap-icons", "npm:1.10.3"],\ - ["browser-fs-access", "npm:0.31.1"],\ + ["browser-fs-access", "npm:0.31.2"],\ ["browserlist", "npm:1.0.1"],\ ["c8", "npm:7.12.0"],\ - ["caniuse-lite", "npm:1.0.30001442"],\ - ["d3", "npm:7.8.0"],\ - ["eslint", "npm:8.31.0"],\ + ["caniuse-lite", "npm:1.0.30001450"],\ + ["d3", "npm:7.8.2"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.12.1"],\ - ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\ + ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\ ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\ ["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.8.0"],\ + ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.9.0"],\ ["file-saver", "npm:2.0.5"],\ - ["highcharts", "npm:10.3.2"],\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2"],\ + ["highcharts", "npm:10.3.3"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.13.1"],\ ["jquery", "npm:3.6.3"],\ ["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\ ["jquery-ui-dist", "npm:1.13.2"],\ @@ -80,11 +80,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ms", "npm:2.1.3"],\ ["murmurhash-js", "npm:1.0.0"],\ ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\ - ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.2"],\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28"],\ + ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.30"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pug", "npm:3.0.2"],\ - ["sass", "npm:1.57.1"],\ + ["sass", "npm:1.58.0"],\ ["seedrandom", "npm:3.0.5"],\ ["select2", "npm:4.1.0-rc.0"],\ ["select2-bootstrap-5-theme", "npm:1.3.0"],\ @@ -93,7 +93,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["slugify", "npm:1.6.5"],\ ["sortablejs", "npm:1.15.0"],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.5"],\ - ["vue", "npm:3.2.45"],\ + ["vue", "npm:3.2.47"],\ ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\ ["zxcvbn", "npm:4.4.2"]\ ],\ @@ -196,7 +196,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["@css-render/vue3-ssr", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.15.10"],\ ["@types/vue", null],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -260,32 +260,32 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/bootstrap5", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-bootstrap5-npm-5.11.3-3e86f39d7d-a63a500d72.zip/node_modules/@fullcalendar/bootstrap5/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-bootstrap5-npm-5.11.4-c3e252aaf4-26f838f304.zip/node_modules/@fullcalendar/bootstrap5/",\ "packageDependencies": [\ - ["@fullcalendar/bootstrap5", "npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/bootstrap5", "npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["tslib", "npm:2.4.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/common", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-common-npm-5.11.3-6268994b76-be4b365dca.zip/node_modules/@fullcalendar/common/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-common-npm-5.11.4-b6ba4b8756-8fc0e05539.zip/node_modules/@fullcalendar/common/",\ "packageDependencies": [\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["tslib", "npm:2.4.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/core", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-core-npm-5.11.3-ed98a1ea9f-2774d0fa18.zip/node_modules/@fullcalendar/core/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-core-npm-5.11.4-2234b9e7f4-11652a58dc.zip/node_modules/@fullcalendar/core/",\ "packageDependencies": [\ - ["@fullcalendar/core", "npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/core", "npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["preact", "npm:10.7.2"],\ ["tslib", "npm:2.4.0"]\ ],\ @@ -293,51 +293,51 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/daygrid", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-5.11.3-b387dff934-426b53c5bb.zip/node_modules/@fullcalendar/daygrid/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-daygrid-npm-5.11.4-821caf4780-a25d83cfe5.zip/node_modules/@fullcalendar/daygrid/",\ "packageDependencies": [\ - ["@fullcalendar/daygrid", "npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/daygrid", "npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["tslib", "npm:2.4.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/interaction", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-interaction-npm-5.11.3-15335cb10a-e8a1b49f2f.zip/node_modules/@fullcalendar/interaction/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-interaction-npm-5.11.4-ba2c965da3-88231b9254.zip/node_modules/@fullcalendar/interaction/",\ "packageDependencies": [\ - ["@fullcalendar/interaction", "npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/interaction", "npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["tslib", "npm:2.4.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/list", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-list-npm-5.11.3-6174d0e1da-976da49b12.zip/node_modules/@fullcalendar/list/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-list-npm-5.11.4-4791653eeb-e2cec5e89c.zip/node_modules/@fullcalendar/list/",\ "packageDependencies": [\ - ["@fullcalendar/list", "npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/list", "npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["tslib", "npm:2.4.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/luxon2", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-luxon2-npm-5.11.3-ccde7500a8-7533018590.zip/node_modules/@fullcalendar/luxon2/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-luxon2-npm-5.11.4-e4b0003255-503e3e32d2.zip/node_modules/@fullcalendar/luxon2/",\ "packageDependencies": [\ - ["@fullcalendar/luxon2", "npm:5.11.3"]\ + ["@fullcalendar/luxon2", "npm:5.11.4"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon2-virtual-efa9fdf749/0/cache/@fullcalendar-luxon2-npm-5.11.3-ccde7500a8-7533018590.zip/node_modules/@fullcalendar/luxon2/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-luxon2-virtual-a083616d6e/0/cache/@fullcalendar-luxon2-npm-5.11.4-e4b0003255-503e3e32d2.zip/node_modules/@fullcalendar/luxon2/",\ "packageDependencies": [\ - ["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ + ["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ ["@types/luxon", null],\ ["luxon", "npm:3.2.1"],\ ["tslib", "npm:2.4.0"]\ @@ -350,33 +350,33 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fullcalendar/timegrid", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-timegrid-npm-5.11.3-4075b09051-ce675eca7d.zip/node_modules/@fullcalendar/timegrid/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-timegrid-npm-5.11.4-64a0cfa5de-3a2fccac65.zip/node_modules/@fullcalendar/timegrid/",\ "packageDependencies": [\ - ["@fullcalendar/timegrid", "npm:5.11.3"],\ - ["@fullcalendar/common", "npm:5.11.3"],\ - ["@fullcalendar/daygrid", "npm:5.11.3"],\ + ["@fullcalendar/timegrid", "npm:5.11.4"],\ + ["@fullcalendar/common", "npm:5.11.4"],\ + ["@fullcalendar/daygrid", "npm:5.11.4"],\ ["tslib", "npm:2.4.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@fullcalendar/vue3", [\ - ["npm:5.11.3", {\ - "packageLocation": "./.yarn/cache/@fullcalendar-vue3-npm-5.11.3-047b9981f6-13a648a0c5.zip/node_modules/@fullcalendar/vue3/",\ + ["npm:5.11.4", {\ + "packageLocation": "./.yarn/cache/@fullcalendar-vue3-npm-5.11.4-adcf8ba171-3e0fc0423b.zip/node_modules/@fullcalendar/vue3/",\ "packageDependencies": [\ - ["@fullcalendar/vue3", "npm:5.11.3"]\ + ["@fullcalendar/vue3", "npm:5.11.4"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3", {\ - "packageLocation": "./.yarn/__virtual__/@fullcalendar-vue3-virtual-623c0672ef/0/cache/@fullcalendar-vue3-npm-5.11.3-047b9981f6-13a648a0c5.zip/node_modules/@fullcalendar/vue3/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4", {\ + "packageLocation": "./.yarn/__virtual__/@fullcalendar-vue3-virtual-a335aaeca0/0/cache/@fullcalendar-vue3-npm-5.11.4-adcf8ba171-3e0fc0423b.zip/node_modules/@fullcalendar/vue3/",\ "packageDependencies": [\ - ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\ - ["@fullcalendar/core", "npm:5.11.3"],\ + ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4"],\ + ["@fullcalendar/core", "npm:5.11.4"],\ ["@types/vue", null],\ ["tslib", "npm:2.4.0"],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -674,15 +674,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/bundler-default", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-bundler-default-npm-2.8.2-497641ec3a-8330a76248.zip/node_modules/@parcel/bundler-default/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-bundler-default-npm-2.8.3-b2fd23cf03-219b2be341.zip/node_modules/@parcel/bundler-default/",\ "packageDependencies": [\ - ["@parcel/bundler-default", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/graph", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/bundler-default", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/graph", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ @@ -696,37 +696,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-cache-npm-2.8.2-4957caf228-7d1c951e3f.zip/node_modules/@parcel/cache/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-cache-npm-2.8.3-7b70a160bc-cd679053d2.zip/node_modules/@parcel/cache/",\ "packageDependencies": [\ - ["@parcel/cache", "npm:2.8.2"]\ + ["@parcel/cache", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-3c8bad9556/0/cache/@parcel-cache-npm-2.8.2-4957caf228-7d1c951e3f.zip/node_modules/@parcel/cache/",\ + ["virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-f4ec14de82/0/cache/@parcel-cache-npm-2.8.3-7b70a160bc-cd679053d2.zip/node_modules/@parcel/cache/",\ "packageDependencies": [\ - ["@parcel/cache", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/fs", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@types/parcel__core", null],\ - ["lmdb", "npm:2.5.2"]\ - ],\ - "packagePeers": [\ - "@types/parcel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-860bd7931d/0/cache/@parcel-cache-npm-2.8.2-4957caf228-7d1c951e3f.zip/node_modules/@parcel/cache/",\ - "packageDependencies": [\ - ["@parcel/cache", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/fs", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/cache", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/fs", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["@types/parcel__core", null],\ ["lmdb", "npm:2.5.2"]\ ],\ @@ -736,6 +720,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ + ["virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-cache-virtual-5ef63a38ca/0/cache/@parcel-cache-npm-2.8.3-7b70a160bc-cd679053d2.zip/node_modules/@parcel/cache/",\ + "packageDependencies": [\ + ["@parcel/cache", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/core", "npm:2.6.2"],\ + ["@parcel/fs", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@types/parcel__core", null],\ + ["lmdb", "npm:2.5.2"]\ + ],\ + "packagePeers": [\ + "@types/parcel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["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": [\ @@ -762,68 +762,68 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-codeframe-npm-2.8.2-77f4dce4ad-a2638353c6.zip/node_modules/@parcel/codeframe/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-codeframe-npm-2.8.3-e5df811b95-a6e82c30e6.zip/node_modules/@parcel/codeframe/",\ "packageDependencies": [\ - ["@parcel/codeframe", "npm:2.8.2"],\ + ["@parcel/codeframe", "npm:2.8.3"],\ ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/compressor-raw", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-compressor-raw-npm-2.8.2-0d385dde76-61a1299615.zip/node_modules/@parcel/compressor-raw/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-compressor-raw-npm-2.8.3-387b54c6ce-ca3b8a4f60.zip/node_modules/@parcel/compressor-raw/",\ "packageDependencies": [\ - ["@parcel/compressor-raw", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"]\ + ["@parcel/compressor-raw", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/config-default", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-config-default-npm-2.8.2-89026bc258-035db3ab37.zip/node_modules/@parcel/config-default/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-config-default-npm-2.8.3-465d8ed464-08c700a7a2.zip/node_modules/@parcel/config-default/",\ "packageDependencies": [\ - ["@parcel/config-default", "npm:2.8.2"]\ + ["@parcel/config-default", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:7ff1d17261e888ed45770ab8af325407870f62c23cd6264c3a2830a9a45cf064c4196c0c92d06cfbc9b69b3bbe2e4c7776dce9f9d39af95141f0808c9e3cc9ec#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-config-default-virtual-a8d3e47300/0/cache/@parcel-config-default-npm-2.8.2-89026bc258-035db3ab37.zip/node_modules/@parcel/config-default/",\ + ["virtual:079004f749aaa3b41d1755e479be6fc0871d8df3c6d97e1317ea81a49502572ac0da821e08a1cc3e408b007d7607c0863e93b8975d65134412812579e6733926#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-config-default-virtual-ae79298a72/0/cache/@parcel-config-default-npm-2.8.3-465d8ed464-08c700a7a2.zip/node_modules/@parcel/config-default/",\ "packageDependencies": [\ - ["@parcel/config-default", "virtual:7ff1d17261e888ed45770ab8af325407870f62c23cd6264c3a2830a9a45cf064c4196c0c92d06cfbc9b69b3bbe2e4c7776dce9f9d39af95141f0808c9e3cc9ec#npm:2.8.2"],\ - ["@parcel/bundler-default", "npm:2.8.2"],\ - ["@parcel/compressor-raw", "npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/namer-default", "npm:2.8.2"],\ - ["@parcel/optimizer-css", "npm:2.8.2"],\ - ["@parcel/optimizer-htmlnano", "npm:2.8.2"],\ - ["@parcel/optimizer-image", "npm:2.8.2"],\ - ["@parcel/optimizer-svgo", "npm:2.8.2"],\ - ["@parcel/optimizer-terser", "npm:2.8.2"],\ - ["@parcel/packager-css", "npm:2.8.2"],\ - ["@parcel/packager-html", "npm:2.8.2"],\ - ["@parcel/packager-js", "npm:2.8.2"],\ - ["@parcel/packager-raw", "npm:2.8.2"],\ - ["@parcel/packager-svg", "npm:2.8.2"],\ - ["@parcel/reporter-dev-server", "npm:2.8.2"],\ - ["@parcel/resolver-default", "npm:2.8.2"],\ - ["@parcel/runtime-browser-hmr", "npm:2.8.2"],\ - ["@parcel/runtime-js", "npm:2.8.2"],\ - ["@parcel/runtime-react-refresh", "npm:2.8.2"],\ - ["@parcel/runtime-service-worker", "npm:2.8.2"],\ - ["@parcel/transformer-babel", "npm:2.8.2"],\ - ["@parcel/transformer-css", "npm:2.8.2"],\ - ["@parcel/transformer-html", "npm:2.8.2"],\ - ["@parcel/transformer-image", "virtual:a8d3e47300ee51a368ec8290994b964e28af6a1cbbe38a4f7a9755ee0929a36efd1109fa5eb1b35945f18ecd707c76db2ec79a9b4ff78c272d3ff1debe2b54e9#npm:2.8.2"],\ - ["@parcel/transformer-js", "virtual:a8d3e47300ee51a368ec8290994b964e28af6a1cbbe38a4f7a9755ee0929a36efd1109fa5eb1b35945f18ecd707c76db2ec79a9b4ff78c272d3ff1debe2b54e9#npm:2.8.2"],\ - ["@parcel/transformer-json", "npm:2.8.2"],\ - ["@parcel/transformer-postcss", "npm:2.8.2"],\ - ["@parcel/transformer-posthtml", "npm:2.8.2"],\ - ["@parcel/transformer-raw", "npm:2.8.2"],\ - ["@parcel/transformer-react-refresh-wrap", "npm:2.8.2"],\ - ["@parcel/transformer-svg", "npm:2.8.2"],\ + ["@parcel/config-default", "virtual:079004f749aaa3b41d1755e479be6fc0871d8df3c6d97e1317ea81a49502572ac0da821e08a1cc3e408b007d7607c0863e93b8975d65134412812579e6733926#npm:2.8.3"],\ + ["@parcel/bundler-default", "npm:2.8.3"],\ + ["@parcel/compressor-raw", "npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/namer-default", "npm:2.8.3"],\ + ["@parcel/optimizer-css", "npm:2.8.3"],\ + ["@parcel/optimizer-htmlnano", "npm:2.8.3"],\ + ["@parcel/optimizer-image", "npm:2.8.3"],\ + ["@parcel/optimizer-svgo", "npm:2.8.3"],\ + ["@parcel/optimizer-terser", "npm:2.8.3"],\ + ["@parcel/packager-css", "npm:2.8.3"],\ + ["@parcel/packager-html", "npm:2.8.3"],\ + ["@parcel/packager-js", "npm:2.8.3"],\ + ["@parcel/packager-raw", "npm:2.8.3"],\ + ["@parcel/packager-svg", "npm:2.8.3"],\ + ["@parcel/reporter-dev-server", "npm:2.8.3"],\ + ["@parcel/resolver-default", "npm:2.8.3"],\ + ["@parcel/runtime-browser-hmr", "npm:2.8.3"],\ + ["@parcel/runtime-js", "npm:2.8.3"],\ + ["@parcel/runtime-react-refresh", "npm:2.8.3"],\ + ["@parcel/runtime-service-worker", "npm:2.8.3"],\ + ["@parcel/transformer-babel", "npm:2.8.3"],\ + ["@parcel/transformer-css", "npm:2.8.3"],\ + ["@parcel/transformer-html", "npm:2.8.3"],\ + ["@parcel/transformer-image", "virtual:ae79298a72e3d9363a5f43f0758f258949d82a428fc5aadd2010735eb57aa68b76713869ce052c228d610a7413537515425856a7c357d8a318c5ae937b566246#npm:2.8.3"],\ + ["@parcel/transformer-js", "virtual:ae79298a72e3d9363a5f43f0758f258949d82a428fc5aadd2010735eb57aa68b76713869ce052c228d610a7413537515425856a7c357d8a318c5ae937b566246#npm:2.8.3"],\ + ["@parcel/transformer-json", "npm:2.8.3"],\ + ["@parcel/transformer-postcss", "npm:2.8.3"],\ + ["@parcel/transformer-posthtml", "npm:2.8.3"],\ + ["@parcel/transformer-raw", "npm:2.8.3"],\ + ["@parcel/transformer-react-refresh-wrap", "npm:2.8.3"],\ + ["@parcel/transformer-svg", "npm:2.8.3"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -865,24 +865,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-core-npm-2.8.2-7ac9ecd9f9-0c989ef087.zip/node_modules/@parcel/core/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-core-npm-2.8.3-1751106c31-68adceb1b0.zip/node_modules/@parcel/core/",\ "packageDependencies": [\ - ["@parcel/core", "npm:2.8.2"],\ + ["@parcel/core", "npm:2.8.3"],\ ["@mischnic/json-sourcemap", "npm:0.1.0"],\ - ["@parcel/cache", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/events", "npm:2.8.2"],\ - ["@parcel/fs", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/graph", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/package-manager", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/cache", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/events", "npm:2.8.3"],\ + ["@parcel/fs", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/graph", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/package-manager", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/workers", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/workers", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ ["abortcontroller-polyfill", "npm:1.7.3"],\ ["base-x", "npm:3.0.9"],\ ["browserslist", "npm:4.20.3"],\ @@ -907,10 +907,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-diagnostic-npm-2.8.2-7f2dfb035e-91ca29cce4.zip/node_modules/@parcel/diagnostic/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-diagnostic-npm-2.8.3-2e1d38a83b-c24d98a2db.zip/node_modules/@parcel/diagnostic/",\ "packageDependencies": [\ - ["@parcel/diagnostic", "npm:2.8.2"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ ["@mischnic/json-sourcemap", "npm:0.1.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -925,10 +925,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-events-npm-2.8.2-ddf12da1ba-99aad2e735.zip/node_modules/@parcel/events/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-events-npm-2.8.3-40eebe35e5-9d23c6663e.zip/node_modules/@parcel/events/",\ "packageDependencies": [\ - ["@parcel/events", "npm:2.8.2"]\ + ["@parcel/events", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ @@ -941,40 +941,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-fs-npm-2.8.2-97422ca16d-c25408fe2d.zip/node_modules/@parcel/fs/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-fs-npm-2.8.3-a413e84c2d-cc421552da.zip/node_modules/@parcel/fs/",\ "packageDependencies": [\ - ["@parcel/fs", "npm:2.8.2"]\ + ["@parcel/fs", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-c518c9b1bf/0/cache/@parcel-fs-npm-2.8.2-97422ca16d-c25408fe2d.zip/node_modules/@parcel/fs/",\ + ["virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-f882c18483/0/cache/@parcel-fs-npm-2.8.3-a413e84c2d-cc421552da.zip/node_modules/@parcel/fs/",\ "packageDependencies": [\ - ["@parcel/fs", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/fs-search", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/fs", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/fs-search", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["@parcel/watcher", "npm:2.0.7"],\ - ["@parcel/workers", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@types/parcel__core", null]\ - ],\ - "packagePeers": [\ - "@types/parcel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-4dbb1e3886/0/cache/@parcel-fs-npm-2.8.2-97422ca16d-c25408fe2d.zip/node_modules/@parcel/fs/",\ - "packageDependencies": [\ - ["@parcel/fs", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/fs-search", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/watcher", "npm:2.0.7"],\ - ["@parcel/workers", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ + ["@parcel/workers", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ ["@types/parcel__core", null]\ ],\ "packagePeers": [\ @@ -983,6 +966,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ + ["virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-fs-virtual-77e9884705/0/cache/@parcel-fs-npm-2.8.3-a413e84c2d-cc421552da.zip/node_modules/@parcel/fs/",\ + "packageDependencies": [\ + ["@parcel/fs", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/core", "npm:2.6.2"],\ + ["@parcel/fs-search", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/watcher", "npm:2.0.7"],\ + ["@parcel/workers", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@types/parcel__core", null]\ + ],\ + "packagePeers": [\ + "@types/parcel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["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": [\ @@ -1010,10 +1010,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/unplugged/@parcel-fs-search-npm-2.8.2-a3c70b64fe/node_modules/@parcel/fs-search/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/unplugged/@parcel-fs-search-npm-2.8.3-aafc0a2ad7/node_modules/@parcel/fs-search/",\ "packageDependencies": [\ - ["@parcel/fs-search", "npm:2.8.2"],\ + ["@parcel/fs-search", "npm:2.8.3"],\ ["detect-libc", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ @@ -1029,10 +1029,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-graph-npm-2.8.2-039d19c5f3-d503597911.zip/node_modules/@parcel/graph/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-graph-npm-2.8.3-15d2d4448e-ceed8445f5.zip/node_modules/@parcel/graph/",\ "packageDependencies": [\ - ["@parcel/graph", "npm:2.8.2"],\ + ["@parcel/graph", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ @@ -1048,10 +1048,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/unplugged/@parcel-hash-npm-2.8.2-4189a2e2e3/node_modules/@parcel/hash/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/unplugged/@parcel-hash-npm-2.8.3-48d5e2907f/node_modules/@parcel/hash/",\ "packageDependencies": [\ - ["@parcel/hash", "npm:2.8.2"],\ + ["@parcel/hash", "npm:2.8.3"],\ ["detect-libc", "npm:1.0.3"],\ ["xxhash-wasm", "npm:0.4.2"]\ ],\ @@ -1068,12 +1068,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-logger-npm-2.8.2-0b40fa2df8-8d9b4264cb.zip/node_modules/@parcel/logger/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-logger-npm-2.8.3-f13624d366-04fd463131.zip/node_modules/@parcel/logger/",\ "packageDependencies": [\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/events", "npm:2.8.2"]\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/events", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ @@ -1087,34 +1087,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-markdown-ansi-npm-2.8.2-3a4b50f123-aaff302f12.zip/node_modules/@parcel/markdown-ansi/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-markdown-ansi-npm-2.8.3-4b66177a38-1985f149b2.zip/node_modules/@parcel/markdown-ansi/",\ "packageDependencies": [\ - ["@parcel/markdown-ansi", "npm:2.8.2"],\ + ["@parcel/markdown-ansi", "npm:2.8.3"],\ ["chalk", "npm:4.1.2"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/namer-default", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-namer-default-npm-2.8.2-d3e74161c0-c9592f4022.zip/node_modules/@parcel/namer-default/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-namer-default-npm-2.8.3-486a772540-7c2c343446.zip/node_modules/@parcel/namer-default/",\ "packageDependencies": [\ - ["@parcel/namer-default", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/namer-default", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/node-resolver-core", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-node-resolver-core-npm-2.8.2-5629a9b021-92f0e2bf4b.zip/node_modules/@parcel/node-resolver-core/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-node-resolver-core-npm-2.8.3-40a48fa4e7-4976d3ecc9.zip/node_modules/@parcel/node-resolver-core/",\ "packageDependencies": [\ - ["@parcel/node-resolver-core", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/node-resolver-core", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"],\ ["semver", "npm:5.7.1"]\ ],\ @@ -1122,14 +1122,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-css", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-css-npm-2.8.2-6de222af5e-8298155bac.zip/node_modules/@parcel/optimizer-css/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-css-npm-2.8.3-6e7102b9ab-ffac43a2c2.zip/node_modules/@parcel/optimizer-css/",\ "packageDependencies": [\ - ["@parcel/optimizer-css", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/optimizer-css", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["browserslist", "npm:4.20.3"],\ ["lightningcss", "npm:1.17.1"],\ ["nullthrows", "npm:1.1.1"]\ @@ -1138,12 +1138,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-data-url", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-data-url-npm-2.8.2-2b95b0c045-e0966a5e18.zip/node_modules/@parcel/optimizer-data-url/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-data-url-npm-2.8.3-dd2c9afc59-5df8d88826.zip/node_modules/@parcel/optimizer-data-url/",\ "packageDependencies": [\ - ["@parcel/optimizer-data-url", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/optimizer-data-url", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["isbinaryfile", "npm:4.0.10"],\ ["mime", "npm:2.6.0"]\ ],\ @@ -1151,12 +1151,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-htmlnano", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.2-989bccf2aa-3913b51ccd.zip/node_modules/@parcel/optimizer-htmlnano/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.3-62c761ef26-ca1cab7b1e.zip/node_modules/@parcel/optimizer-htmlnano/",\ "packageDependencies": [\ - ["@parcel/optimizer-htmlnano", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["htmlnano", "virtual:989bccf2aa3cb6d741c7ce5643ed4e817accfff58f84aaf6345d18a48f60699e8de9c81c8278d6bdf8deed7d9e463b2cc20d78724ce4bd72d1bbf84cb8c02220#npm:2.0.2"],\ + ["@parcel/optimizer-htmlnano", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["htmlnano", "virtual:62c761ef265a1bb47118c5f610ff8bb4c7a43de129089ff7c8e3644d9427d7669d4e7e8fe06763510806415fe32bf491fdfbec2819a7040538b412dfe2ab9cb1#npm:2.0.2"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["svgo", "npm:2.8.0"]\ @@ -1165,42 +1165,42 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/optimizer-image", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/unplugged/@parcel-optimizer-image-npm-2.8.2-eb7453ba87/node_modules/@parcel/optimizer-image/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/unplugged/@parcel-optimizer-image-npm-2.8.3-4a1aa225b2/node_modules/@parcel/optimizer-image/",\ "packageDependencies": [\ - ["@parcel/optimizer-image", "npm:2.8.2"],\ + ["@parcel/optimizer-image", "npm:2.8.3"],\ ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/workers", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/workers", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ ["detect-libc", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/optimizer-svgo", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-svgo-npm-2.8.2-d86f49e88e-608179fb18.zip/node_modules/@parcel/optimizer-svgo/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-svgo-npm-2.8.3-b5d4af08b7-b3544c08fa.zip/node_modules/@parcel/optimizer-svgo/",\ "packageDependencies": [\ - ["@parcel/optimizer-svgo", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/optimizer-svgo", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["svgo", "npm:2.8.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/optimizer-terser", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-optimizer-terser-npm-2.8.2-8af8c43b6e-e5cc9ef648.zip/node_modules/@parcel/optimizer-terser/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-optimizer-terser-npm-2.8.3-5e561ce7db-ee1959f596.zip/node_modules/@parcel/optimizer-terser/",\ "packageDependencies": [\ - ["@parcel/optimizer-terser", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/optimizer-terser", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"],\ ["terser", "npm:5.13.1"]\ ],\ @@ -1215,43 +1215,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-package-manager-npm-2.8.2-40215edd8a-99d022d3fa.zip/node_modules/@parcel/package-manager/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-package-manager-npm-2.8.3-0dc329e43e-572a5aacfd.zip/node_modules/@parcel/package-manager/",\ "packageDependencies": [\ - ["@parcel/package-manager", "npm:2.8.2"]\ + ["@parcel/package-manager", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-50f7d94dbb/0/cache/@parcel-package-manager-npm-2.8.2-40215edd8a-99d022d3fa.zip/node_modules/@parcel/package-manager/",\ + ["virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-74c3fc2aaf/0/cache/@parcel-package-manager-npm-2.8.3-0dc329e43e-572a5aacfd.zip/node_modules/@parcel/package-manager/",\ "packageDependencies": [\ - ["@parcel/package-manager", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/fs", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/workers", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@types/parcel__core", null],\ - ["semver", "npm:5.7.1"]\ - ],\ - "packagePeers": [\ - "@types/parcel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-1690fe77c3/0/cache/@parcel-package-manager-npm-2.8.2-40215edd8a-99d022d3fa.zip/node_modules/@parcel/package-manager/",\ - "packageDependencies": [\ - ["@parcel/package-manager", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/fs", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/workers", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ + ["@parcel/package-manager", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/fs", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/workers", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ ["@types/parcel__core", null],\ ["semver", "npm:5.7.1"]\ ],\ @@ -1261,6 +1242,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ + ["virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-package-manager-virtual-563b128815/0/cache/@parcel-package-manager-npm-2.8.3-0dc329e43e-572a5aacfd.zip/node_modules/@parcel/package-manager/",\ + "packageDependencies": [\ + ["@parcel/package-manager", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/core", "npm:2.6.2"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/fs", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/workers", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@types/parcel__core", null],\ + ["semver", "npm:5.7.1"]\ + ],\ + "packagePeers": [\ + "@types/parcel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["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": [\ @@ -1282,26 +1282,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/packager-css", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-css-npm-2.8.2-63302c1b3b-18ba8e43b3.zip/node_modules/@parcel/packager-css/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-css-npm-2.8.3-c127d6c552-bb28fc9f02.zip/node_modules/@parcel/packager-css/",\ "packageDependencies": [\ - ["@parcel/packager-css", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/packager-css", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/packager-html", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-html-npm-2.8.2-b901dd589c-e4975a4869.zip/node_modules/@parcel/packager-html/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-html-npm-2.8.3-4e3da006ce-631f98fca0.zip/node_modules/@parcel/packager-html/",\ "packageDependencies": [\ - ["@parcel/packager-html", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/packager-html", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"]\ ],\ @@ -1309,15 +1309,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/packager-js", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-js-npm-2.8.2-9730c3d7a1-5c4a74e9b2.zip/node_modules/@parcel/packager-js/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-js-npm-2.8.3-3441713a0f-92ac88244b.zip/node_modules/@parcel/packager-js/",\ "packageDependencies": [\ - ["@parcel/packager-js", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/packager-js", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["globals", "npm:13.15.0"],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -1325,23 +1325,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/packager-raw", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-raw-npm-2.8.2-e7b417ac32-198984e93e.zip/node_modules/@parcel/packager-raw/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-raw-npm-2.8.3-0a1dab14a2-26236dd646.zip/node_modules/@parcel/packager-raw/",\ "packageDependencies": [\ - ["@parcel/packager-raw", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"]\ + ["@parcel/packager-raw", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/packager-svg", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-packager-svg-npm-2.8.2-a7884bf9a1-7e10546425.zip/node_modules/@parcel/packager-svg/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-packager-svg-npm-2.8.3-c3163591d4-45c966ad8e.zip/node_modules/@parcel/packager-svg/",\ "packageDependencies": [\ - ["@parcel/packager-svg", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/packager-svg", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["posthtml", "npm:0.16.6"]\ ],\ "linkType": "HARD"\ @@ -1356,23 +1356,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-plugin-npm-2.8.2-1747a062e1-5c9f0ec6ff.zip/node_modules/@parcel/plugin/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-plugin-npm-2.8.3-c228eb7640-a69ac66f5c.zip/node_modules/@parcel/plugin/",\ "packageDependencies": [\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"]\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/reporter-cli", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-reporter-cli-npm-2.8.2-57fd49365f-5ac5cbb7c3.zip/node_modules/@parcel/reporter-cli/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-reporter-cli-npm-2.8.3-d340f7fcb8-791dd4706a.zip/node_modules/@parcel/reporter-cli/",\ "packageDependencies": [\ - ["@parcel/reporter-cli", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/reporter-cli", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["chalk", "npm:4.1.2"],\ ["term-size", "npm:2.2.1"]\ ],\ @@ -1380,57 +1380,57 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/reporter-dev-server", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-reporter-dev-server-npm-2.8.2-55972e618f-1efff76ed9.zip/node_modules/@parcel/reporter-dev-server/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-reporter-dev-server-npm-2.8.3-be7051861d-329db9fd0c.zip/node_modules/@parcel/reporter-dev-server/",\ "packageDependencies": [\ - ["@parcel/reporter-dev-server", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"]\ + ["@parcel/reporter-dev-server", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/resolver-default", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-resolver-default-npm-2.8.2-f0fe8ef74c-66e0233ed6.zip/node_modules/@parcel/resolver-default/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-resolver-default-npm-2.8.3-de025989bd-40515a62c1.zip/node_modules/@parcel/resolver-default/",\ "packageDependencies": [\ - ["@parcel/resolver-default", "npm:2.8.2"],\ - ["@parcel/node-resolver-core", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"]\ + ["@parcel/resolver-default", "npm:2.8.3"],\ + ["@parcel/node-resolver-core", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/runtime-browser-hmr", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.2-bfd277b18f-64543de8cf.zip/node_modules/@parcel/runtime-browser-hmr/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.3-63941ffa5c-56c276c7b0.zip/node_modules/@parcel/runtime-browser-hmr/",\ "packageDependencies": [\ - ["@parcel/runtime-browser-hmr", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"]\ + ["@parcel/runtime-browser-hmr", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/runtime-js", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-js-npm-2.8.2-171208460f-a5c0c7d2ad.zip/node_modules/@parcel/runtime-js/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-js-npm-2.8.3-a82379279f-ee5e04f84d.zip/node_modules/@parcel/runtime-js/",\ "packageDependencies": [\ - ["@parcel/runtime-js", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/runtime-js", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/runtime-react-refresh", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-react-refresh-npm-2.8.2-2b20ac8c6d-6483b8ed55.zip/node_modules/@parcel/runtime-react-refresh/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-react-refresh-npm-2.8.3-42e337381a-327159be0c.zip/node_modules/@parcel/runtime-react-refresh/",\ "packageDependencies": [\ - ["@parcel/runtime-react-refresh", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/runtime-react-refresh", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["react-error-overlay", "npm:6.0.9"],\ ["react-refresh", "npm:0.9.0"]\ ],\ @@ -1438,12 +1438,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/runtime-service-worker", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-runtime-service-worker-npm-2.8.2-1ec24cff9d-4b52703d3b.zip/node_modules/@parcel/runtime-service-worker/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-runtime-service-worker-npm-2.8.3-426255f187-0646fee9a9.zip/node_modules/@parcel/runtime-service-worker/",\ "packageDependencies": [\ - ["@parcel/runtime-service-worker", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/runtime-service-worker", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ @@ -1468,14 +1468,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-babel", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-babel-npm-2.8.2-94dae9d0e8-4b2064aaba.zip/node_modules/@parcel/transformer-babel/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-babel-npm-2.8.3-bd1a7cae4d-a27bbe8d89.zip/node_modules/@parcel/transformer-babel/",\ "packageDependencies": [\ - ["@parcel/transformer-babel", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-babel", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["browserslist", "npm:4.20.3"],\ ["json5", "npm:2.2.1"],\ ["nullthrows", "npm:1.1.1"],\ @@ -1485,14 +1485,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-css", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-css-npm-2.8.2-283cfa7f07-d0d3121d2b.zip/node_modules/@parcel/transformer-css/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-css-npm-2.8.3-e5a36983ce-31375a1405.zip/node_modules/@parcel/transformer-css/",\ "packageDependencies": [\ - ["@parcel/transformer-css", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-css", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["browserslist", "npm:4.20.3"],\ ["lightningcss", "npm:1.17.1"],\ ["nullthrows", "npm:1.1.1"]\ @@ -1501,38 +1501,39 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-html", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-html-npm-2.8.2-998bc39b95-e3bead4866.zip/node_modules/@parcel/transformer-html/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-html-npm-2.8.3-ce9c33e277-21600a3e0a.zip/node_modules/@parcel/transformer-html/",\ "packageDependencies": [\ - ["@parcel/transformer-html", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-html", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["posthtml-parser", "npm:0.10.2"],\ ["posthtml-render", "npm:3.0.0"],\ - ["semver", "npm:5.7.1"]\ + ["semver", "npm:5.7.1"],\ + ["srcset", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-image", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-image-npm-2.8.2-c8f5d0643b-acfe6e06f3.zip/node_modules/@parcel/transformer-image/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-image-npm-2.8.3-ddf03325c2-f4b3464828.zip/node_modules/@parcel/transformer-image/",\ "packageDependencies": [\ - ["@parcel/transformer-image", "npm:2.8.2"]\ + ["@parcel/transformer-image", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:a8d3e47300ee51a368ec8290994b964e28af6a1cbbe38a4f7a9755ee0929a36efd1109fa5eb1b35945f18ecd707c76db2ec79a9b4ff78c272d3ff1debe2b54e9#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-transformer-image-virtual-b4b3db3f89/0/cache/@parcel-transformer-image-npm-2.8.2-c8f5d0643b-acfe6e06f3.zip/node_modules/@parcel/transformer-image/",\ + ["virtual:ae79298a72e3d9363a5f43f0758f258949d82a428fc5aadd2010735eb57aa68b76713869ce052c228d610a7413537515425856a7c357d8a318c5ae937b566246#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-transformer-image-virtual-007d8db0db/0/cache/@parcel-transformer-image-npm-2.8.3-ddf03325c2-f4b3464828.zip/node_modules/@parcel/transformer-image/",\ "packageDependencies": [\ - ["@parcel/transformer-image", "virtual:a8d3e47300ee51a368ec8290994b964e28af6a1cbbe38a4f7a9755ee0929a36efd1109fa5eb1b35945f18ecd707c76db2ec79a9b4ff78c272d3ff1debe2b54e9#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/workers", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ + ["@parcel/transformer-image", "virtual:ae79298a72e3d9363a5f43f0758f258949d82a428fc5aadd2010735eb57aa68b76713869ce052c228d610a7413537515425856a7c357d8a318c5ae937b566246#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/workers", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ ["@types/parcel__core", null],\ ["nullthrows", "npm:1.1.1"]\ ],\ @@ -1544,33 +1545,33 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-inline-string", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-inline-string-npm-2.8.2-3a03397064-5f6f4be447.zip/node_modules/@parcel/transformer-inline-string/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-inline-string-npm-2.8.3-6e4701a9cd-23fa279e1f.zip/node_modules/@parcel/transformer-inline-string/",\ "packageDependencies": [\ - ["@parcel/transformer-inline-string", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"]\ + ["@parcel/transformer-inline-string", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-js", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/unplugged/@parcel-transformer-js-virtual-e9a5222b61/node_modules/@parcel/transformer-js/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/unplugged/@parcel-transformer-js-virtual-b36ac6705d/node_modules/@parcel/transformer-js/",\ "packageDependencies": [\ - ["@parcel/transformer-js", "npm:2.8.2"]\ + ["@parcel/transformer-js", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:a8d3e47300ee51a368ec8290994b964e28af6a1cbbe38a4f7a9755ee0929a36efd1109fa5eb1b35945f18ecd707c76db2ec79a9b4ff78c272d3ff1debe2b54e9#npm:2.8.2", {\ - "packageLocation": "./.yarn/unplugged/@parcel-transformer-js-virtual-e9a5222b61/node_modules/@parcel/transformer-js/",\ + ["virtual:ae79298a72e3d9363a5f43f0758f258949d82a428fc5aadd2010735eb57aa68b76713869ce052c228d610a7413537515425856a7c357d8a318c5ae937b566246#npm:2.8.3", {\ + "packageLocation": "./.yarn/unplugged/@parcel-transformer-js-virtual-b36ac6705d/node_modules/@parcel/transformer-js/",\ "packageDependencies": [\ - ["@parcel/transformer-js", "virtual:a8d3e47300ee51a368ec8290994b964e28af6a1cbbe38a4f7a9755ee0929a36efd1109fa5eb1b35945f18ecd707c76db2ec79a9b4ff78c272d3ff1debe2b54e9#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-js", "virtual:ae79298a72e3d9363a5f43f0758f258949d82a428fc5aadd2010735eb57aa68b76713869ce052c228d610a7413537515425856a7c357d8a318c5ae937b566246#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/workers", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/workers", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ ["@swc/helpers", "npm:0.4.14"],\ ["@types/parcel__core", null],\ ["browserslist", "npm:4.20.3"],\ @@ -1587,25 +1588,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-json", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-json-npm-2.8.2-98e2e0cf80-b22a609ae9.zip/node_modules/@parcel/transformer-json/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-json-npm-2.8.3-fe0a156dc9-04da28b0f0.zip/node_modules/@parcel/transformer-json/",\ "packageDependencies": [\ - ["@parcel/transformer-json", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-json", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["json5", "npm:2.2.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-postcss", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-postcss-npm-2.8.2-547cd470da-ee152a91fb.zip/node_modules/@parcel/transformer-postcss/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-postcss-npm-2.8.3-eb5a87320d-2c75cb5cec.zip/node_modules/@parcel/transformer-postcss/",\ "packageDependencies": [\ - ["@parcel/transformer-postcss", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/transformer-postcss", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["clone", "npm:2.1.2"],\ ["nullthrows", "npm:1.1.1"],\ ["postcss-value-parser", "npm:4.2.0"],\ @@ -1615,12 +1616,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-posthtml", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-posthtml-npm-2.8.2-76f67e31b6-4865968546.zip/node_modules/@parcel/transformer-posthtml/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-posthtml-npm-2.8.3-243f774b7a-130c95782a.zip/node_modules/@parcel/transformer-posthtml/",\ "packageDependencies": [\ - ["@parcel/transformer-posthtml", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/transformer-posthtml", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["posthtml-parser", "npm:0.10.2"],\ @@ -1631,33 +1632,33 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-raw", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-raw-npm-2.8.2-a43c4fa2f7-386f64445a.zip/node_modules/@parcel/transformer-raw/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-raw-npm-2.8.3-766b11ad19-371263bb52.zip/node_modules/@parcel/transformer-raw/",\ "packageDependencies": [\ - ["@parcel/transformer-raw", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"]\ + ["@parcel/transformer-raw", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-react-refresh-wrap", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.2-62e6dd04c2-d091ab4a25.zip/node_modules/@parcel/transformer-react-refresh-wrap/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.3-bb497d2643-e9648e04b7.zip/node_modules/@parcel/transformer-react-refresh-wrap/",\ "packageDependencies": [\ - ["@parcel/transformer-react-refresh-wrap", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/transformer-react-refresh-wrap", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["react-refresh", "npm:0.9.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@parcel/transformer-sass", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-sass-npm-2.8.2-4e0c2f2900-42bbfa9401.zip/node_modules/@parcel/transformer-sass/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-sass-npm-2.8.3-6c449bba66-9cb32b3906.zip/node_modules/@parcel/transformer-sass/",\ "packageDependencies": [\ - ["@parcel/transformer-sass", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-sass", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ ["sass", "npm:1.52.1"]\ ],\ @@ -1665,13 +1666,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@parcel/transformer-svg", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-transformer-svg-npm-2.8.2-c8870e67e5-e4522b69e3.zip/node_modules/@parcel/transformer-svg/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-transformer-svg-npm-2.8.3-b6f4c84f7a-1f3db309e4.zip/node_modules/@parcel/transformer-svg/",\ "packageDependencies": [\ - ["@parcel/transformer-svg", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/plugin", "npm:2.8.2"],\ + ["@parcel/transformer-svg", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/plugin", "npm:2.8.3"],\ ["nullthrows", "npm:1.1.1"],\ ["posthtml", "npm:0.16.6"],\ ["posthtml-parser", "npm:0.10.2"],\ @@ -1696,16 +1697,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-types-npm-2.8.2-4a1952be09-04b3d5f199.zip/node_modules/@parcel/types/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-types-npm-2.8.3-394e8cefff-ece0abdd5c.zip/node_modules/@parcel/types/",\ "packageDependencies": [\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/cache", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/fs", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/package-manager", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/cache", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/fs", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/package-manager", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ - ["@parcel/workers", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ + ["@parcel/workers", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ ["utility-types", "npm:3.10.0"]\ ],\ "linkType": "HARD"\ @@ -1726,15 +1727,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-utils-npm-2.8.2-8c378b4d3a-fcbc70426e.zip/node_modules/@parcel/utils/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-utils-npm-2.8.3-13fd8c7807-69edf3e7c3.zip/node_modules/@parcel/utils/",\ "packageDependencies": [\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@parcel/codeframe", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/hash", "npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/markdown-ansi", "npm:2.8.2"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@parcel/codeframe", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/hash", "npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/markdown-ansi", "npm:2.8.3"],\ ["@parcel/source-map", "npm:2.1.1"],\ ["chalk", "npm:4.1.2"]\ ],\ @@ -1771,40 +1772,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/@parcel-workers-npm-2.8.2-48e612dc38-df3f793301.zip/node_modules/@parcel/workers/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/@parcel-workers-npm-2.8.3-39050bfde5-e3168b3e9e.zip/node_modules/@parcel/workers/",\ "packageDependencies": [\ - ["@parcel/workers", "npm:2.8.2"]\ + ["@parcel/workers", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-851062ddba/0/cache/@parcel-workers-npm-2.8.2-48e612dc38-df3f793301.zip/node_modules/@parcel/workers/",\ + ["virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-7a0f9788cf/0/cache/@parcel-workers-npm-2.8.3-39050bfde5-e3168b3e9e.zip/node_modules/@parcel/workers/",\ "packageDependencies": [\ - ["@parcel/workers", "virtual:4a1952be093bd8b413333d6452f7e82b253ed9257f221c7341bb9d244e18522a0f05e6b82b53db04b831a339d732c092e9b930055d598f0acbd03dc62701ab32#npm:2.8.2"],\ - ["@parcel/core", "npm:2.6.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ - ["@types/parcel__core", null],\ - ["chrome-trace-event", "npm:1.0.3"],\ - ["nullthrows", "npm:1.1.1"]\ - ],\ - "packagePeers": [\ - "@types/parcel__core"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-e52c4ea4f5/0/cache/@parcel-workers-npm-2.8.2-48e612dc38-df3f793301.zip/node_modules/@parcel/workers/",\ - "packageDependencies": [\ - ["@parcel/workers", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/types", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["@parcel/workers", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["@types/parcel__core", null],\ ["chrome-trace-event", "npm:1.0.3"],\ ["nullthrows", "npm:1.1.1"]\ @@ -1815,6 +1798,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ + ["virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@parcel-workers-virtual-3d95d18f90/0/cache/@parcel-workers-npm-2.8.3-39050bfde5-e3168b3e9e.zip/node_modules/@parcel/workers/",\ + "packageDependencies": [\ + ["@parcel/workers", "virtual:394e8cefff652ee5c389cef6b687eba0ec753377aef335050162baee915b4eeae5061f0dbb5f7bea112cdf448a757aaab57dd5dc71f9134498fc561e4f28e220#npm:2.8.3"],\ + ["@parcel/core", "npm:2.6.2"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/types", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ + ["@types/parcel__core", null],\ + ["chrome-trace-event", "npm:1.0.3"],\ + ["nullthrows", "npm:1.1.1"]\ + ],\ + "packagePeers": [\ + "@types/parcel__core"\ + ],\ + "linkType": "HARD"\ + }],\ ["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": [\ @@ -1883,10 +1884,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:ef051354894d83cc0cda7d7a4a6eca604681f35eb8f2a25fe305435ac599a4d71af04fcaa26daa3f5aa064e73442d202ba9dfbda5c3f8c7b1daf472f3a17da86#npm:2.0.0", {\ - "packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-65bece6091/0/cache/@sidvind-better-ajv-errors-npm-2.0.0-3531bddef9-12b0d87855.zip/node_modules/@sidvind/better-ajv-errors/",\ + ["virtual:809b046673df9ffc1d269a9eea845b166dce4a20f4585af2b1d300cb2dbf98fe37d26085d3a57951ad74e805368f4342cac300165e35689b03c0d4ea489c011f#npm:2.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@sidvind-better-ajv-errors-virtual-875fd182cd/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:ef051354894d83cc0cda7d7a4a6eca604681f35eb8f2a25fe305435ac599a4d71af04fcaa26daa3f5aa064e73442d202ba9dfbda5c3f8c7b1daf472f3a17da86#npm:2.0.0"],\ + ["@sidvind/better-ajv-errors", "virtual:809b046673df9ffc1d269a9eea845b166dce4a20f4585af2b1d300cb2dbf98fe37d26085d3a57951ad74e805368f4342cac300165e35689b03c0d4ea489c011f#npm:2.0.0"],\ ["@babel/code-frame", "npm:7.16.7"],\ ["@types/ajv", null],\ ["ajv", "npm:8.11.0"],\ @@ -2035,7 +2036,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/vite", null],\ ["@types/vue", null],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.5"],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vite",\ @@ -2047,12 +2048,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vue/compiler-core", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-compiler-core-npm-3.2.45-2a68bebbd0-e3c687b24c.zip/node_modules/@vue/compiler-core/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-core-npm-3.2.47-bb08feddfe-9ccc2a0b89.zip/node_modules/@vue/compiler-core/",\ "packageDependencies": [\ - ["@vue/compiler-core", "npm:3.2.45"],\ + ["@vue/compiler-core", "npm:3.2.47"],\ ["@babel/parser", "npm:7.18.4"],\ - ["@vue/shared", "npm:3.2.45"],\ + ["@vue/shared", "npm:3.2.47"],\ ["estree-walker", "npm:2.0.2"],\ ["source-map", "npm:0.6.1"]\ ],\ @@ -2060,27 +2061,27 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vue/compiler-dom", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-compiler-dom-npm-3.2.45-e742186d0b-8911553863.zip/node_modules/@vue/compiler-dom/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-dom-npm-3.2.47-a1a6348264-1eced735f8.zip/node_modules/@vue/compiler-dom/",\ "packageDependencies": [\ - ["@vue/compiler-dom", "npm:3.2.45"],\ - ["@vue/compiler-core", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"]\ + ["@vue/compiler-dom", "npm:3.2.47"],\ + ["@vue/compiler-core", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@vue/compiler-sfc", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-compiler-sfc-npm-3.2.45-f1fe8426df-bec375faa0.zip/node_modules/@vue/compiler-sfc/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-sfc-npm-3.2.47-d9eca6b75b-4588a51331.zip/node_modules/@vue/compiler-sfc/",\ "packageDependencies": [\ - ["@vue/compiler-sfc", "npm:3.2.45"],\ + ["@vue/compiler-sfc", "npm:3.2.47"],\ ["@babel/parser", "npm:7.18.4"],\ - ["@vue/compiler-core", "npm:3.2.45"],\ - ["@vue/compiler-dom", "npm:3.2.45"],\ - ["@vue/compiler-ssr", "npm:3.2.45"],\ - ["@vue/reactivity-transform", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"],\ + ["@vue/compiler-core", "npm:3.2.47"],\ + ["@vue/compiler-dom", "npm:3.2.47"],\ + ["@vue/compiler-ssr", "npm:3.2.47"],\ + ["@vue/reactivity-transform", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"],\ ["estree-walker", "npm:2.0.2"],\ ["magic-string", "npm:0.25.9"],\ ["postcss", "npm:8.4.12"],\ @@ -2090,12 +2091,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vue/compiler-ssr", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-compiler-ssr-npm-3.2.45-0b951e5028-830c475506.zip/node_modules/@vue/compiler-ssr/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-ssr-npm-3.2.47-c46fb0bb52-91bc6e4674.zip/node_modules/@vue/compiler-ssr/",\ "packageDependencies": [\ - ["@vue/compiler-ssr", "npm:3.2.45"],\ - ["@vue/compiler-dom", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"]\ + ["@vue/compiler-ssr", "npm:3.2.47"],\ + ["@vue/compiler-dom", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"]\ ],\ "linkType": "HARD"\ }]\ @@ -2110,23 +2111,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vue/reactivity", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-reactivity-npm-3.2.45-bc3378a52c-4ba609744a.zip/node_modules/@vue/reactivity/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-reactivity-npm-3.2.47-1182f7aa47-bd61134e4b.zip/node_modules/@vue/reactivity/",\ "packageDependencies": [\ - ["@vue/reactivity", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"]\ + ["@vue/reactivity", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@vue/reactivity-transform", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-reactivity-transform-npm-3.2.45-05914b9134-4010408189.zip/node_modules/@vue/reactivity-transform/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-reactivity-transform-npm-3.2.47-89701a53ab-6fe54374aa.zip/node_modules/@vue/reactivity-transform/",\ "packageDependencies": [\ - ["@vue/reactivity-transform", "npm:3.2.45"],\ + ["@vue/reactivity-transform", "npm:3.2.47"],\ ["@babel/parser", "npm:7.18.4"],\ - ["@vue/compiler-core", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"],\ + ["@vue/compiler-core", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"],\ ["estree-walker", "npm:2.0.2"],\ ["magic-string", "npm:0.25.9"]\ ],\ @@ -2134,44 +2135,44 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vue/runtime-core", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-runtime-core-npm-3.2.45-084482e779-0ac376a760.zip/node_modules/@vue/runtime-core/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-runtime-core-npm-3.2.47-d5ec5c27c7-56fd41368c.zip/node_modules/@vue/runtime-core/",\ "packageDependencies": [\ - ["@vue/runtime-core", "npm:3.2.45"],\ - ["@vue/reactivity", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"]\ + ["@vue/runtime-core", "npm:3.2.47"],\ + ["@vue/reactivity", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@vue/runtime-dom", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-runtime-dom-npm-3.2.45-6ab018299f-c66c71a2fc.zip/node_modules/@vue/runtime-dom/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-runtime-dom-npm-3.2.47-da74228cd1-8987d72761.zip/node_modules/@vue/runtime-dom/",\ "packageDependencies": [\ - ["@vue/runtime-dom", "npm:3.2.45"],\ - ["@vue/runtime-core", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"],\ + ["@vue/runtime-dom", "npm:3.2.47"],\ + ["@vue/runtime-core", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"],\ ["csstype", "npm:2.6.20"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@vue/server-renderer", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-server-renderer-npm-3.2.45-dbee798520-062812235c.zip/node_modules/@vue/server-renderer/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-server-renderer-npm-3.2.47-b845561a5d-482fe3c9bb.zip/node_modules/@vue/server-renderer/",\ "packageDependencies": [\ - ["@vue/server-renderer", "npm:3.2.45"]\ + ["@vue/server-renderer", "npm:3.2.47"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:06b4b60efe017e0fdf8405fef0e04a64d7dc86cf13e04f05fb681889d996c75efd151033b2e012c72dfb9a0b8d1a647b6d3a8115078891aebe2fa1a4e81f50bf#npm:3.2.45", {\ - "packageLocation": "./.yarn/__virtual__/@vue-server-renderer-virtual-8298a8cec7/0/cache/@vue-server-renderer-npm-3.2.45-dbee798520-062812235c.zip/node_modules/@vue/server-renderer/",\ + ["virtual:487db916e160a571ff50687ed972004ec0078aa76b7fedf7bdabfd607dfed3ba7b2d1f51e99387f885501b4dbb11471c0ce20d647adb7ae38656bbc259642ae8#npm:3.2.47", {\ + "packageLocation": "./.yarn/__virtual__/@vue-server-renderer-virtual-7de059ee50/0/cache/@vue-server-renderer-npm-3.2.47-b845561a5d-482fe3c9bb.zip/node_modules/@vue/server-renderer/",\ "packageDependencies": [\ - ["@vue/server-renderer", "virtual:06b4b60efe017e0fdf8405fef0e04a64d7dc86cf13e04f05fb681889d996c75efd151033b2e012c72dfb9a0b8d1a647b6d3a8115078891aebe2fa1a4e81f50bf#npm:3.2.45"],\ + ["@vue/server-renderer", "virtual:487db916e160a571ff50687ed972004ec0078aa76b7fedf7bdabfd607dfed3ba7b2d1f51e99387f885501b4dbb11471c0ce20d647adb7ae38656bbc259642ae8#npm:3.2.47"],\ ["@types/vue", null],\ - ["@vue/compiler-ssr", "npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"],\ - ["vue", "npm:3.2.45"]\ + ["@vue/compiler-ssr", "npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"],\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -2181,10 +2182,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@vue/shared", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/@vue-shared-npm-3.2.45-1855c9c551-ff3205056c.zip/node_modules/@vue/shared/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/@vue-shared-npm-3.2.47-efa4e85dc8-0aa711dc91.zip/node_modules/@vue/shared/",\ "packageDependencies": [\ - ["@vue/shared", "npm:3.2.45"]\ + ["@vue/shared", "npm:3.2.47"]\ ],\ "linkType": "HARD"\ }]\ @@ -2406,27 +2407,40 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["array-includes", [\ - ["npm:3.1.4", {\ - "packageLocation": "./.yarn/cache/array-includes-npm-3.1.4-79bb883109-69967c38c5.zip/node_modules/array-includes/",\ + ["npm:3.1.6", {\ + "packageLocation": "./.yarn/cache/array-includes-npm-3.1.6-d0ff9d248b-f22f8cd8ba.zip/node_modules/array-includes/",\ "packageDependencies": [\ - ["array-includes", "npm:3.1.4"],\ + ["array-includes", "npm:3.1.6"],\ ["call-bind", "npm:1.0.2"],\ ["define-properties", "npm:1.1.4"],\ - ["es-abstract", "npm:1.19.5"],\ - ["get-intrinsic", "npm:1.1.1"],\ + ["es-abstract", "npm:1.21.1"],\ + ["get-intrinsic", "npm:1.2.0"],\ ["is-string", "npm:1.0.7"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["array.prototype.flat", [\ - ["npm:1.3.0", {\ - "packageLocation": "./.yarn/cache/array.prototype.flat-npm-1.3.0-6c5c4292bd-2a652b3e8d.zip/node_modules/array.prototype.flat/",\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/array.prototype.flat-npm-1.3.1-e9a9e389c0-5a8415949d.zip/node_modules/array.prototype.flat/",\ "packageDependencies": [\ - ["array.prototype.flat", "npm:1.3.0"],\ + ["array.prototype.flat", "npm:1.3.1"],\ ["call-bind", "npm:1.0.2"],\ ["define-properties", "npm:1.1.4"],\ - ["es-abstract", "npm:1.19.5"],\ + ["es-abstract", "npm:1.21.1"],\ + ["es-shim-unscopables", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array.prototype.flatmap", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/array.prototype.flatmap-npm-1.3.1-c65186ca34-8c1c43a499.zip/node_modules/array.prototype.flatmap/",\ + "packageDependencies": [\ + ["array.prototype.flatmap", "npm:1.3.1"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.21.1"],\ ["es-shim-unscopables", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ @@ -2459,6 +2473,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["available-typed-arrays", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/available-typed-arrays-npm-1.0.5-88f321e4d3-20eb47b3ce.zip/node_modules/available-typed-arrays/",\ + "packageDependencies": [\ + ["available-typed-arrays", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["babel-walk", [\ ["npm:3.0.0-canary-5", {\ "packageLocation": "./.yarn/cache/babel-walk-npm-3.0.0-canary-5-61b07ed745-6fe7ee3889.zip/node_modules/babel-walk/",\ @@ -2587,10 +2610,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["browser-fs-access", [\ - ["npm:0.31.1", {\ - "packageLocation": "./.yarn/cache/browser-fs-access-npm-0.31.1-c276b62f78-4a5c88839e.zip/node_modules/browser-fs-access/",\ + ["npm:0.31.2", {\ + "packageLocation": "./.yarn/cache/browser-fs-access-npm-0.31.2-50ee378361-eb1c908bd4.zip/node_modules/browser-fs-access/",\ "packageDependencies": [\ - ["browser-fs-access", "npm:0.31.1"]\ + ["browser-fs-access", "npm:0.31.2"]\ ],\ "linkType": "HARD"\ }]\ @@ -2714,10 +2737,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.0.30001442", {\ - "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip/node_modules/caniuse-lite/",\ + ["npm:1.0.30001450", {\ + "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001450-728fe790ae-511b360bfc.zip/node_modules/caniuse-lite/",\ "packageDependencies": [\ - ["caniuse-lite", "npm:1.0.30001442"]\ + ["caniuse-lite", "npm:1.0.30001450"]\ ],\ "linkType": "HARD"\ }]\ @@ -3024,10 +3047,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["d3", [\ - ["npm:7.8.0", {\ - "packageLocation": "./.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip/node_modules/d3/",\ + ["npm:7.8.2", {\ + "packageLocation": "./.yarn/cache/d3-npm-7.8.2-7d3206dc99-e7bf5918f2.zip/node_modules/d3/",\ "packageDependencies": [\ - ["d3", "npm:7.8.0"],\ + ["d3", "npm:7.8.2"],\ ["d3-array", "npm:3.1.6"],\ ["d3-axis", "npm:3.0.0"],\ ["d3-brush", "npm:3.0.0"],\ @@ -3446,10 +3469,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-4488998e89/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + ["virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-2e2daad542/0/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ + ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ ["@types/supports-color", null],\ ["ms", "npm:2.1.2"],\ ["supports-color", null]\ @@ -3460,10 +3483,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:d9426786c635bc4b52511d6cc4b56156f50d780a698c0e20fc6caf10d3be51cbf176e79cff882f4d42a23ff4d0f89fe94222849578214e7fbae0f2754c82af02#npm:3.2.7", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-b810fb6338/0/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip/node_modules/debug/",\ + ["virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-4488998e89/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:d9426786c635bc4b52511d6cc4b56156f50d780a698c0e20fc6caf10d3be51cbf176e79cff882f4d42a23ff4d0f89fe94222849578214e7fbae0f2754c82af02#npm:3.2.7"],\ + ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ ["@types/supports-color", null],\ ["ms", "npm:2.1.2"],\ ["supports-color", null]\ @@ -3759,30 +3782,55 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["es-abstract", [\ - ["npm:1.19.5", {\ - "packageLocation": "./.yarn/cache/es-abstract-npm-1.19.5-524a87d262-55199b0f17.zip/node_modules/es-abstract/",\ + ["npm:1.21.1", {\ + "packageLocation": "./.yarn/cache/es-abstract-npm-1.21.1-28d9a4a469-23ff60d42d.zip/node_modules/es-abstract/",\ "packageDependencies": [\ - ["es-abstract", "npm:1.19.5"],\ + ["es-abstract", "npm:1.21.1"],\ + ["available-typed-arrays", "npm:1.0.5"],\ ["call-bind", "npm:1.0.2"],\ + ["es-set-tostringtag", "npm:2.0.1"],\ ["es-to-primitive", "npm:1.2.1"],\ ["function-bind", "npm:1.1.1"],\ - ["get-intrinsic", "npm:1.1.1"],\ + ["function.prototype.name", "npm:1.1.5"],\ + ["get-intrinsic", "npm:1.2.0"],\ ["get-symbol-description", "npm:1.0.0"],\ + ["globalthis", "npm:1.0.3"],\ + ["gopd", "npm:1.0.1"],\ ["has", "npm:1.0.3"],\ + ["has-property-descriptors", "npm:1.0.0"],\ + ["has-proto", "npm:1.0.1"],\ ["has-symbols", "npm:1.0.3"],\ - ["internal-slot", "npm:1.0.3"],\ - ["is-callable", "npm:1.2.4"],\ + ["internal-slot", "npm:1.0.4"],\ + ["is-array-buffer", "npm:3.0.1"],\ + ["is-callable", "npm:1.2.7"],\ ["is-negative-zero", "npm:2.0.2"],\ ["is-regex", "npm:1.1.4"],\ ["is-shared-array-buffer", "npm:1.0.2"],\ ["is-string", "npm:1.0.7"],\ + ["is-typed-array", "npm:1.1.10"],\ ["is-weakref", "npm:1.0.2"],\ - ["object-inspect", "npm:1.12.0"],\ + ["object-inspect", "npm:1.12.3"],\ ["object-keys", "npm:1.1.1"],\ - ["object.assign", "npm:4.1.2"],\ - ["string.prototype.trimend", "npm:1.0.4"],\ - ["string.prototype.trimstart", "npm:1.0.4"],\ - ["unbox-primitive", "npm:1.0.2"]\ + ["object.assign", "npm:4.1.4"],\ + ["regexp.prototype.flags", "npm:1.4.3"],\ + ["safe-regex-test", "npm:1.0.0"],\ + ["string.prototype.trimend", "npm:1.0.6"],\ + ["string.prototype.trimstart", "npm:1.0.6"],\ + ["typed-array-length", "npm:1.0.4"],\ + ["unbox-primitive", "npm:1.0.2"],\ + ["which-typed-array", "npm:1.1.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-set-tostringtag", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/es-set-tostringtag-npm-2.0.1-c87b5de872-ec416a1294.zip/node_modules/es-set-tostringtag/",\ + "packageDependencies": [\ + ["es-set-tostringtag", "npm:2.0.1"],\ + ["get-intrinsic", "npm:1.2.0"],\ + ["has", "npm:1.0.3"],\ + ["has-tostringtag", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -4055,10 +4103,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint", [\ - ["npm:8.31.0", {\ - "packageLocation": "./.yarn/cache/eslint-npm-8.31.0-da99c7e469-5e5688bb86.zip/node_modules/eslint/",\ + ["npm:8.33.0", {\ + "packageLocation": "./.yarn/cache/eslint-npm-8.33.0-88a30ca58a-727e63ab8b.zip/node_modules/eslint/",\ "packageDependencies": [\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["@eslint/eslintrc", "npm:1.4.1"],\ ["@humanwhocodes/config-array", "npm:0.11.8"],\ ["@humanwhocodes/module-importer", "npm:1.0.1"],\ @@ -4070,7 +4118,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["doctrine", "npm:3.0.0"],\ ["escape-string-regexp", "npm:4.0.0"],\ ["eslint-scope", "npm:7.1.1"],\ - ["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\ + ["eslint-utils", "virtual:88a30ca58ae1dd283ee28a3984413c2813f8b87a6b09530b7593000a82051e4425c1ef44a17f1075a3579cf5405344f5322a0a040ab7a9482eb3a9280f7de570#npm:3.0.0"],\ ["eslint-visitor-keys", "npm:3.3.0"],\ ["espree", "npm:9.4.0"],\ ["esquery", "npm:1.4.0"],\ @@ -4118,8 +4166,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/eslint-plugin-import", null],\ ["@types/eslint-plugin-n", null],\ ["@types/eslint-plugin-promise", null],\ - ["eslint", "npm:8.31.0"],\ - ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\ + ["eslint", "npm:8.33.0"],\ + ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\ ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"]\ ],\ @@ -4137,48 +4185,52 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint-import-resolver-node", [\ - ["npm:0.3.6", {\ - "packageLocation": "./.yarn/cache/eslint-import-resolver-node-npm-0.3.6-d9426786c6-6266733af1.zip/node_modules/eslint-import-resolver-node/",\ + ["npm:0.3.7", {\ + "packageLocation": "./.yarn/cache/eslint-import-resolver-node-npm-0.3.7-65bed19543-3379aacf1d.zip/node_modules/eslint-import-resolver-node/",\ "packageDependencies": [\ - ["eslint-import-resolver-node", "npm:0.3.6"],\ - ["debug", "virtual:d9426786c635bc4b52511d6cc4b56156f50d780a698c0e20fc6caf10d3be51cbf176e79cff882f4d42a23ff4d0f89fe94222849578214e7fbae0f2754c82af02#npm:3.2.7"],\ - ["resolve", "patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b"]\ + ["eslint-import-resolver-node", "npm:0.3.7"],\ + ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ + ["is-core-module", "npm:2.11.0"],\ + ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["eslint-module-utils", [\ - ["npm:2.7.3", {\ - "packageLocation": "./.yarn/cache/eslint-module-utils-npm-2.7.3-ccd32fe6fd-77048263f3.zip/node_modules/eslint-module-utils/",\ + ["npm:2.7.4", {\ + "packageLocation": "./.yarn/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip/node_modules/eslint-module-utils/",\ "packageDependencies": [\ - ["eslint-module-utils", "npm:2.7.3"]\ + ["eslint-module-utils", "npm:2.7.4"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:c0858ad0a599e687a7d876de5591e3b098ca550f5c1ad46e7d0e2b6f5720a919cb228a47405daf7d626be1747e41a5b93e4b4d748f16d5e7c36c433aed618452#npm:2.7.3", {\ - "packageLocation": "./.yarn/__virtual__/eslint-module-utils-virtual-e944405700/0/cache/eslint-module-utils-npm-2.7.3-ccd32fe6fd-77048263f3.zip/node_modules/eslint-module-utils/",\ + ["virtual:bd6906041f26404b69936f019863470d6b0f75b1c61c4157b266eb36d096227fb0d250c76d47e694906c4d352d0c4c1a1a71e1f575fbbb05fe72b26198a32c57#npm:2.7.4", {\ + "packageLocation": "./.yarn/__virtual__/eslint-module-utils-virtual-5ee98b4501/0/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip/node_modules/eslint-module-utils/",\ "packageDependencies": [\ - ["eslint-module-utils", "virtual:c0858ad0a599e687a7d876de5591e3b098ca550f5c1ad46e7d0e2b6f5720a919cb228a47405daf7d626be1747e41a5b93e4b4d748f16d5e7c36c433aed618452#npm:2.7.3"],\ + ["eslint-module-utils", "virtual:bd6906041f26404b69936f019863470d6b0f75b1c61c4157b266eb36d096227fb0d250c76d47e694906c4d352d0c4c1a1a71e1f575fbbb05fe72b26198a32c57#npm:2.7.4"],\ + ["@types/eslint", null],\ ["@types/eslint-import-resolver-node", null],\ ["@types/eslint-import-resolver-typescript", null],\ ["@types/eslint-import-resolver-webpack", null],\ ["@types/typescript-eslint__parser", null],\ ["@typescript-eslint/parser", null],\ - ["debug", "virtual:d9426786c635bc4b52511d6cc4b56156f50d780a698c0e20fc6caf10d3be51cbf176e79cff882f4d42a23ff4d0f89fe94222849578214e7fbae0f2754c82af02#npm:3.2.7"],\ - ["eslint-import-resolver-node", "npm:0.3.6"],\ + ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ + ["eslint", "npm:8.33.0"],\ + ["eslint-import-resolver-node", "npm:0.3.7"],\ ["eslint-import-resolver-typescript", null],\ - ["eslint-import-resolver-webpack", null],\ - ["find-up", "npm:2.1.0"]\ + ["eslint-import-resolver-webpack", null]\ ],\ "packagePeers": [\ "@types/eslint-import-resolver-node",\ "@types/eslint-import-resolver-typescript",\ "@types/eslint-import-resolver-webpack",\ + "@types/eslint",\ "@types/typescript-eslint__parser",\ "@typescript-eslint/parser",\ "eslint-import-resolver-node",\ "eslint-import-resolver-typescript",\ - "eslint-import-resolver-webpack"\ + "eslint-import-resolver-webpack",\ + "eslint"\ ],\ "linkType": "HARD"\ }]\ @@ -4196,7 +4248,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.12.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["globals", "npm:11.12.0"]\ ],\ "packagePeers": [\ @@ -4226,7 +4278,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-utils", "npm:2.1.0"],\ ["regexpp", "npm:3.2.0"]\ ],\ @@ -4241,7 +4293,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-es", "virtual:75c7efde890fd11a780800acb1cde469ae49edf8842af9f91484f93337ad61713574973ccf7c8eb0a0a15f7ed6c372fd23697f1d4d519b2d7a42f92c04a56cff#npm:4.1.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-utils", "npm:2.1.0"],\ ["regexpp", "npm:3.2.0"]\ ],\ @@ -4253,33 +4305,35 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint-plugin-import", [\ - ["npm:2.26.0", {\ - "packageLocation": "./.yarn/cache/eslint-plugin-import-npm-2.26.0-959fe14a01-0bf77ad803.zip/node_modules/eslint-plugin-import/",\ + ["npm:2.27.5", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-import-npm-2.27.5-35b044b26f-f500571a38.zip/node_modules/eslint-plugin-import/",\ "packageDependencies": [\ - ["eslint-plugin-import", "npm:2.26.0"]\ + ["eslint-plugin-import", "npm:2.27.5"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-import-virtual-c0858ad0a5/0/cache/eslint-plugin-import-npm-2.26.0-959fe14a01-0bf77ad803.zip/node_modules/eslint-plugin-import/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-import-virtual-bd6906041f/0/cache/eslint-plugin-import-npm-2.27.5-35b044b26f-f500571a38.zip/node_modules/eslint-plugin-import/",\ "packageDependencies": [\ - ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\ + ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\ ["@types/eslint", null],\ ["@types/typescript-eslint__parser", null],\ ["@typescript-eslint/parser", null],\ - ["array-includes", "npm:3.1.4"],\ - ["array.prototype.flat", "npm:1.3.0"],\ - ["debug", "virtual:faadf6353f98b703db6d695690b392666015d2aab4b710ea086196f4598c68e2b84944d3717503cadb554811494ac27c376eca728086556897f6a7cdb35eaef5#npm:2.6.9"],\ + ["array-includes", "npm:3.1.6"],\ + ["array.prototype.flat", "npm:1.3.1"],\ + ["array.prototype.flatmap", "npm:1.3.1"],\ + ["debug", "virtual:65bed195431eadffc59e2238eb20cc12d9a1665bc7458ce780a9320ff795091b03cb5c4c2094938315ddd967b5b02c0f1df67b3ed435c69b7457092b7cc06ed8#npm:3.2.7"],\ ["doctrine", "npm:2.1.0"],\ - ["eslint", "npm:8.31.0"],\ - ["eslint-import-resolver-node", "npm:0.3.6"],\ - ["eslint-module-utils", "virtual:c0858ad0a599e687a7d876de5591e3b098ca550f5c1ad46e7d0e2b6f5720a919cb228a47405daf7d626be1747e41a5b93e4b4d748f16d5e7c36c433aed618452#npm:2.7.3"],\ + ["eslint", "npm:8.33.0"],\ + ["eslint-import-resolver-node", "npm:0.3.7"],\ + ["eslint-module-utils", "virtual:bd6906041f26404b69936f019863470d6b0f75b1c61c4157b266eb36d096227fb0d250c76d47e694906c4d352d0c4c1a1a71e1f575fbbb05fe72b26198a32c57#npm:2.7.4"],\ ["has", "npm:1.0.3"],\ - ["is-core-module", "npm:2.9.0"],\ + ["is-core-module", "npm:2.11.0"],\ ["is-glob", "npm:4.0.3"],\ ["minimatch", "npm:3.1.2"],\ - ["object.values", "npm:1.1.5"],\ - ["resolve", "patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b"],\ + ["object.values", "npm:1.1.6"],\ + ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b"],\ + ["semver", "npm:6.3.0"],\ ["tsconfig-paths", "npm:3.14.1"]\ ],\ "packagePeers": [\ @@ -4305,9 +4359,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\ ["@types/eslint", null],\ ["builtins", "npm:5.0.1"],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-plugin-es", "virtual:75c7efde890fd11a780800acb1cde469ae49edf8842af9f91484f93337ad61713574973ccf7c8eb0a0a15f7ed6c372fd23697f1d4d519b2d7a42f92c04a56cff#npm:4.1.0"],\ - ["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\ + ["eslint-utils", "virtual:88a30ca58ae1dd283ee28a3984413c2813f8b87a6b09530b7593000a82051e4425c1ef44a17f1075a3579cf5405344f5322a0a040ab7a9482eb3a9280f7de570#npm:3.0.0"],\ ["ignore", "npm:5.2.0"],\ ["is-core-module", "npm:2.11.0"],\ ["minimatch", "npm:3.1.2"],\ @@ -4334,7 +4388,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-node", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:11.1.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-plugin-es", "virtual:5cccaf00e87dfff96dbbb5eaf7a3055373358b8114d6a1adfb32f54ed6b40ba06068d3aa1fdd8062899a0cad040f68c17cc6b72bac2cdbe9700f3d6330d112f3#npm:3.0.1"],\ ["eslint-utils", "npm:2.1.0"],\ ["ignore", "npm:5.2.0"],\ @@ -4362,7 +4416,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["eslint-plugin-promise", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:6.1.1"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"]\ + ["eslint", "npm:8.33.0"]\ ],\ "packagePeers": [\ "@types/eslint",\ @@ -4372,25 +4426,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["eslint-plugin-vue", [\ - ["npm:9.8.0", {\ - "packageLocation": "./.yarn/cache/eslint-plugin-vue-npm-9.8.0-ad98dd7e70-f3fc36512f.zip/node_modules/eslint-plugin-vue/",\ + ["npm:9.9.0", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-vue-npm-9.9.0-2bc6a9fe58-059f9c1915.zip/node_modules/eslint-plugin-vue/",\ "packageDependencies": [\ - ["eslint-plugin-vue", "npm:9.8.0"]\ + ["eslint-plugin-vue", "npm:9.9.0"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.8.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-b1db986ed3/0/cache/eslint-plugin-vue-npm-9.8.0-ad98dd7e70-f3fc36512f.zip/node_modules/eslint-plugin-vue/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.9.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-ac2bc02e9d/0/cache/eslint-plugin-vue-npm-9.9.0-2bc6a9fe58-059f9c1915.zip/node_modules/eslint-plugin-vue/",\ "packageDependencies": [\ - ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.8.0"],\ + ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.9.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"],\ - ["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\ + ["eslint", "npm:8.33.0"],\ + ["eslint-utils", "virtual:88a30ca58ae1dd283ee28a3984413c2813f8b87a6b09530b7593000a82051e4425c1ef44a17f1075a3579cf5405344f5322a0a040ab7a9482eb3a9280f7de570#npm:3.0.0"],\ ["natural-compare", "npm:1.4.0"],\ ["nth-check", "npm:2.1.1"],\ ["postcss-selector-parser", "npm:6.0.10"],\ ["semver", "npm:7.3.7"],\ - ["vue-eslint-parser", "virtual:b1db986ed39a80a226fbfa4d653465b173f10958eed2dd2079c16424a052a437a3b029f3b0228d6df47b4f864f76b70bc3e54b0b37aaac5dc8f4ae6650567a27#npm:9.0.3"],\ + ["vue-eslint-parser", "virtual:ac2bc02e9d49870ee3baa12447476dd6ba288afeb67bb114f524f83fff1860ea8b2303848fcddda864c1ebd85cd8266ea0b036925b53047bc4d09569ea132ba5#npm:9.0.3"],\ ["xml-name-validator", "npm:4.0.0"]\ ],\ "packagePeers": [\ @@ -4427,12 +4481,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-e17c8db5e4/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\ + ["virtual:88a30ca58ae1dd283ee28a3984413c2813f8b87a6b09530b7593000a82051e4425c1ef44a17f1075a3579cf5405344f5322a0a040ab7a9482eb3a9280f7de570#npm:3.0.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-utils-virtual-f09ce28e41/0/cache/eslint-utils-npm-3.0.0-630b3a4013-0668fe02f5.zip/node_modules/eslint-utils/",\ "packageDependencies": [\ - ["eslint-utils", "virtual:da99c7e4695a5fca5898fad31d2872f7fe46acc9506643f9acaa2915e169293c951732a239e9f38aa784a4d9e0c1021cee45cb2a8bcf8008a11e40816a14adaa#npm:3.0.0"],\ + ["eslint-utils", "virtual:88a30ca58ae1dd283ee28a3984413c2813f8b87a6b09530b7593000a82051e4425c1ef44a17f1075a3579cf5405344f5322a0a040ab7a9482eb3a9280f7de570#npm:3.0.0"],\ ["@types/eslint", null],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-visitor-keys", "npm:2.1.0"]\ ],\ "packagePeers": [\ @@ -4626,14 +4680,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["find-up", [\ - ["npm:2.1.0", {\ - "packageLocation": "./.yarn/cache/find-up-npm-2.1.0-9f6cb1765c-43284fe4da.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:2.1.0"],\ - ["locate-path", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:5.0.0", {\ "packageLocation": "./.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip/node_modules/find-up/",\ "packageDependencies": [\ @@ -4664,6 +4710,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["for-each", [\ + ["npm:0.3.3", {\ + "packageLocation": "./.yarn/cache/for-each-npm-0.3.3-0010ca8cdd-6c48ff2bc6.zip/node_modules/for-each/",\ + "packageDependencies": [\ + ["for-each", "npm:0.3.3"],\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["foreground-child", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/foreground-child-npm-2.0.0-80c976b61e-f77ec9aff6.zip/node_modules/foreground-child/",\ @@ -4722,6 +4778,28 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["function.prototype.name", [\ + ["npm:1.1.5", {\ + "packageLocation": "./.yarn/cache/function.prototype.name-npm-1.1.5-e776a642bb-acd21d733a.zip/node_modules/function.prototype.name/",\ + "packageDependencies": [\ + ["function.prototype.name", "npm:1.1.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.21.1"],\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["functions-have-names", [\ + ["npm:1.2.3", {\ + "packageLocation": "./.yarn/cache/functions-have-names-npm-1.2.3-e5cf1e2208-c3f1f5ba20.zip/node_modules/functions-have-names/",\ + "packageDependencies": [\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["gauge", [\ ["npm:4.0.4", {\ "packageLocation": "./.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip/node_modules/gauge/",\ @@ -4758,6 +4836,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["has-symbols", "npm:1.0.3"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/get-intrinsic-npm-1.2.0-eb08ea9b1d-78fc0487b7.zip/node_modules/get-intrinsic/",\ + "packageDependencies": [\ + ["get-intrinsic", "npm:1.2.0"],\ + ["function-bind", "npm:1.1.1"],\ + ["has", "npm:1.0.3"],\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["get-port", [\ @@ -4850,6 +4938,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["globalthis", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/globalthis-npm-1.0.3-96cd56020d-fbd7d760dc.zip/node_modules/globalthis/",\ + "packageDependencies": [\ + ["globalthis", "npm:1.0.3"],\ + ["define-properties", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gopd", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip/node_modules/gopd/",\ + "packageDependencies": [\ + ["gopd", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["graceful-fs", [\ ["npm:4.2.10", {\ "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-3f109d70ae.zip/node_modules/graceful-fs/",\ @@ -4913,6 +5021,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["has-proto", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip/node_modules/has-proto/",\ + "packageDependencies": [\ + ["has-proto", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["has-symbols", [\ ["npm:1.0.3", {\ "packageLocation": "./.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip/node_modules/has-symbols/",\ @@ -4942,10 +5059,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["highcharts", [\ - ["npm:10.3.2", {\ - "packageLocation": "./.yarn/cache/highcharts-npm-10.3.2-1672942f09-43cb42b24c.zip/node_modules/highcharts/",\ + ["npm:10.3.3", {\ + "packageLocation": "./.yarn/cache/highcharts-npm-10.3.3-c7af5563d7-f406901094.zip/node_modules/highcharts/",\ "packageDependencies": [\ - ["highcharts", "npm:10.3.2"]\ + ["highcharts", "npm:10.3.3"]\ ],\ "linkType": "HARD"\ }]\ @@ -4969,20 +5086,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["html-validate", [\ - ["npm:7.12.2", {\ - "packageLocation": "./.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip/node_modules/html-validate/",\ + ["npm:7.13.1", {\ + "packageLocation": "./.yarn/cache/html-validate-npm-7.13.1-8abf13631a-81aa406395.zip/node_modules/html-validate/",\ "packageDependencies": [\ - ["html-validate", "npm:7.12.2"]\ + ["html-validate", "npm:7.13.1"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2", {\ - "packageLocation": "./.yarn/__virtual__/html-validate-virtual-ef05135489/0/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip/node_modules/html-validate/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.13.1", {\ + "packageLocation": "./.yarn/__virtual__/html-validate-virtual-809b046673/0/cache/html-validate-npm-7.13.1-8abf13631a-81aa406395.zip/node_modules/html-validate/",\ "packageDependencies": [\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.13.1"],\ ["@babel/code-frame", "npm:7.16.7"],\ ["@html-validate/stylish", "npm:3.0.0"],\ - ["@sidvind/better-ajv-errors", "virtual:ef051354894d83cc0cda7d7a4a6eca604681f35eb8f2a25fe305435ac599a4d71af04fcaa26daa3f5aa064e73442d202ba9dfbda5c3f8c7b1daf472f3a17da86#npm:2.0.0"],\ + ["@sidvind/better-ajv-errors", "virtual:809b046673df9ffc1d269a9eea845b166dce4a20f4585af2b1d300cb2dbf98fe37d26085d3a57951ad74e805368f4342cac300165e35689b03c0d4ea489c011f#npm:2.0.0"],\ ["@types/jest", null],\ ["@types/jest-diff", null],\ ["@types/jest-snapshot", null],\ @@ -5019,10 +5136,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:989bccf2aa3cb6d741c7ce5643ed4e817accfff58f84aaf6345d18a48f60699e8de9c81c8278d6bdf8deed7d9e463b2cc20d78724ce4bd72d1bbf84cb8c02220#npm:2.0.2", {\ - "packageLocation": "./.yarn/__virtual__/htmlnano-virtual-6bf87520a5/0/cache/htmlnano-npm-2.0.2-a89803bfeb-41f9e0c0e5.zip/node_modules/htmlnano/",\ + ["virtual:62c761ef265a1bb47118c5f610ff8bb4c7a43de129089ff7c8e3644d9427d7669d4e7e8fe06763510806415fe32bf491fdfbec2819a7040538b412dfe2ab9cb1#npm:2.0.2", {\ + "packageLocation": "./.yarn/__virtual__/htmlnano-virtual-b07a7d37fd/0/cache/htmlnano-npm-2.0.2-a89803bfeb-41f9e0c0e5.zip/node_modules/htmlnano/",\ "packageDependencies": [\ - ["htmlnano", "virtual:989bccf2aa3cb6d741c7ce5643ed4e817accfff58f84aaf6345d18a48f60699e8de9c81c8278d6bdf8deed7d9e463b2cc20d78724ce4bd72d1bbf84cb8c02220#npm:2.0.2"],\ + ["htmlnano", "virtual:62c761ef265a1bb47118c5f610ff8bb4c7a43de129089ff7c8e3644d9427d7669d4e7e8fe06763510806415fe32bf491fdfbec2819a7040538b412dfe2ab9cb1#npm:2.0.2"],\ ["@types/cssnano", null],\ ["@types/postcss", null],\ ["@types/purgecss", null],\ @@ -5220,11 +5337,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["internal-slot", [\ - ["npm:1.0.3", {\ - "packageLocation": "./.yarn/cache/internal-slot-npm-1.0.3-9e05eea002-1944f92e98.zip/node_modules/internal-slot/",\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/internal-slot-npm-1.0.4-9183007374-8974588d06.zip/node_modules/internal-slot/",\ "packageDependencies": [\ - ["internal-slot", "npm:1.0.3"],\ - ["get-intrinsic", "npm:1.1.1"],\ + ["internal-slot", "npm:1.0.4"],\ + ["get-intrinsic", "npm:1.2.0"],\ ["has", "npm:1.0.3"],\ ["side-channel", "npm:1.0.4"]\ ],\ @@ -5249,6 +5366,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["is-array-buffer", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/is-array-buffer-npm-3.0.1-3e93b14326-f26ab87448.zip/node_modules/is-array-buffer/",\ + "packageDependencies": [\ + ["is-array-buffer", "npm:3.0.1"],\ + ["call-bind", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.2.0"],\ + ["is-typed-array", "npm:1.1.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-arrayish", [\ ["npm:0.2.1", {\ "packageLocation": "./.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-eef4417e3c.zip/node_modules/is-arrayish/",\ @@ -5296,6 +5425,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["is-callable", "npm:1.2.4"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.2.7", {\ + "packageLocation": "./.yarn/cache/is-callable-npm-1.2.7-808a303e61-61fd57d03b.zip/node_modules/is-callable/",\ + "packageDependencies": [\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["is-core-module", [\ @@ -5478,6 +5614,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["is-typed-array", [\ + ["npm:1.1.10", {\ + "packageLocation": "./.yarn/cache/is-typed-array-npm-1.1.10-fe4ef83cdc-aac6ecb59d.zip/node_modules/is-typed-array/",\ + "packageDependencies": [\ + ["is-typed-array", "npm:1.1.10"],\ + ["available-typed-arrays", "npm:1.0.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["for-each", "npm:0.3.3"],\ + ["gopd", "npm:1.0.1"],\ + ["has-tostringtag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-weakref", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/is-weakref-npm-1.0.2-ff80e8c314-95bd9a57cd.zip/node_modules/is-weakref/",\ @@ -5887,15 +6037,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["locate-path", [\ - ["npm:2.0.0", {\ - "packageLocation": "./.yarn/cache/locate-path-npm-2.0.0-673d28b0ea-02d581edbb.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:2.0.0"],\ - ["p-locate", "npm:2.0.0"],\ - ["path-exists", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:6.0.0", {\ "packageLocation": "./.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip/node_modules/locate-path/",\ "packageDependencies": [\ @@ -6262,7 +6403,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["treemate", "npm:0.3.11"],\ ["vdirs", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8"],\ ["vooks", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12"],\ - ["vue", "npm:3.2.45"],\ + ["vue", "npm:3.2.47"],\ ["vueuc", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.4.47"]\ ],\ "packagePeers": [\ @@ -6444,6 +6585,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["object-inspect", "npm:1.12.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:1.12.3", {\ + "packageLocation": "./.yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip/node_modules/object-inspect/",\ + "packageDependencies": [\ + ["object-inspect", "npm:1.12.3"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["object-keys", [\ @@ -6456,10 +6604,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["object.assign", [\ - ["npm:4.1.2", {\ - "packageLocation": "./.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip/node_modules/object.assign/",\ + ["npm:4.1.4", {\ + "packageLocation": "./.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip/node_modules/object.assign/",\ "packageDependencies": [\ - ["object.assign", "npm:4.1.2"],\ + ["object.assign", "npm:4.1.4"],\ ["call-bind", "npm:1.0.2"],\ ["define-properties", "npm:1.1.4"],\ ["has-symbols", "npm:1.0.3"],\ @@ -6469,13 +6617,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["object.values", [\ - ["npm:1.1.5", {\ - "packageLocation": "./.yarn/cache/object.values-npm-1.1.5-f1de7f3742-0f17e99741.zip/node_modules/object.values/",\ + ["npm:1.1.6", {\ + "packageLocation": "./.yarn/cache/object.values-npm-1.1.6-ab9b67ccd3-f6fff9fd81.zip/node_modules/object.values/",\ "packageDependencies": [\ - ["object.values", "npm:1.1.5"],\ + ["object.values", "npm:1.1.6"],\ ["call-bind", "npm:1.0.2"],\ ["define-properties", "npm:1.1.4"],\ - ["es-abstract", "npm:1.19.5"]\ + ["es-abstract", "npm:1.21.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -6525,14 +6673,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["p-limit", [\ - ["npm:1.3.0", {\ - "packageLocation": "./.yarn/cache/p-limit-npm-1.3.0-fdb471d864-281c1c0b8c.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:1.3.0"],\ - ["p-try", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:3.1.0", {\ "packageLocation": "./.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip/node_modules/p-limit/",\ "packageDependencies": [\ @@ -6543,14 +6683,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["p-locate", [\ - ["npm:2.0.0", {\ - "packageLocation": "./.yarn/cache/p-locate-npm-2.0.0-3a2ee263dd-e2dceb9b49.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-locate", "npm:2.0.0"],\ - ["p-limit", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:5.0.0", {\ "packageLocation": "./.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip/node_modules/p-locate/",\ "packageDependencies": [\ @@ -6570,37 +6702,28 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ - ["p-try", [\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/p-try-npm-1.0.0-7373139e40-3b5303f77e.zip/node_modules/p-try/",\ - "packageDependencies": [\ - ["p-try", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["parcel", [\ - ["npm:2.8.2", {\ - "packageLocation": "./.yarn/cache/parcel-npm-2.8.2-7cad55fa52-b95ef40bad.zip/node_modules/parcel/",\ + ["npm:2.8.3", {\ + "packageLocation": "./.yarn/cache/parcel-npm-2.8.3-5d8a8e1092-09cd2dc23c.zip/node_modules/parcel/",\ "packageDependencies": [\ - ["parcel", "npm:2.8.2"]\ + ["parcel", "npm:2.8.3"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.2", {\ - "packageLocation": "./.yarn/__virtual__/parcel-virtual-7ff1d17261/0/cache/parcel-npm-2.8.2-7cad55fa52-b95ef40bad.zip/node_modules/parcel/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3", {\ + "packageLocation": "./.yarn/__virtual__/parcel-virtual-079004f749/0/cache/parcel-npm-2.8.3-5d8a8e1092-09cd2dc23c.zip/node_modules/parcel/",\ "packageDependencies": [\ - ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.2"],\ - ["@parcel/config-default", "virtual:7ff1d17261e888ed45770ab8af325407870f62c23cd6264c3a2830a9a45cf064c4196c0c92d06cfbc9b69b3bbe2e4c7776dce9f9d39af95141f0808c9e3cc9ec#npm:2.8.2"],\ - ["@parcel/core", "npm:2.8.2"],\ - ["@parcel/diagnostic", "npm:2.8.2"],\ - ["@parcel/events", "npm:2.8.2"],\ - ["@parcel/fs", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/logger", "npm:2.8.2"],\ - ["@parcel/package-manager", "virtual:7ac9ecd9f9189cad6b089bc5c3344f5cd08cd89057c51a89b1d7e9a7387c7270d501c42325a9d3479c01962ba802b947b105e454958aa797e67af85ee1b8bbf3#npm:2.8.2"],\ - ["@parcel/reporter-cli", "npm:2.8.2"],\ - ["@parcel/reporter-dev-server", "npm:2.8.2"],\ - ["@parcel/utils", "npm:2.8.2"],\ + ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\ + ["@parcel/config-default", "virtual:079004f749aaa3b41d1755e479be6fc0871d8df3c6d97e1317ea81a49502572ac0da821e08a1cc3e408b007d7607c0863e93b8975d65134412812579e6733926#npm:2.8.3"],\ + ["@parcel/core", "npm:2.8.3"],\ + ["@parcel/diagnostic", "npm:2.8.3"],\ + ["@parcel/events", "npm:2.8.3"],\ + ["@parcel/fs", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/logger", "npm:2.8.3"],\ + ["@parcel/package-manager", "virtual:1751106c31c022beab60638c8a9494de4916f0aa7d7ea5bf610db1916ce86c51e464d56c223dd24e1a6fe3f7439c0465735b9968451150db84bbb38b4819b62c#npm:2.8.3"],\ + ["@parcel/reporter-cli", "npm:2.8.3"],\ + ["@parcel/reporter-dev-server", "npm:2.8.3"],\ + ["@parcel/utils", "npm:2.8.3"],\ ["@types/parcel__core", null],\ ["chalk", "npm:4.1.2"],\ ["commander", "npm:7.2.0"],\ @@ -6637,13 +6760,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["path-exists", [\ - ["npm:3.0.0", {\ - "packageLocation": "./.yarn/cache/path-exists-npm-3.0.0-e80371aa68-96e92643aa.zip/node_modules/path-exists/",\ - "packageDependencies": [\ - ["path-exists", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:4.0.0", {\ "packageLocation": "./.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip/node_modules/path-exists/",\ "packageDependencies": [\ @@ -6707,25 +6823,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["pinia", [\ - ["npm:2.0.28", {\ - "packageLocation": "./.yarn/cache/pinia-npm-2.0.28-9b0289223e-d515cd6220.zip/node_modules/pinia/",\ + ["npm:2.0.30", {\ + "packageLocation": "./.yarn/cache/pinia-npm-2.0.30-750a67a440-2522d3700e.zip/node_modules/pinia/",\ "packageDependencies": [\ - ["pinia", "npm:2.0.28"]\ + ["pinia", "npm:2.0.30"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28", {\ - "packageLocation": "./.yarn/__virtual__/pinia-virtual-e1f94167f7/0/cache/pinia-npm-2.0.28-9b0289223e-d515cd6220.zip/node_modules/pinia/",\ + ["virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.30", {\ + "packageLocation": "./.yarn/__virtual__/pinia-virtual-20e58bb08f/0/cache/pinia-npm-2.0.30-750a67a440-2522d3700e.zip/node_modules/pinia/",\ "packageDependencies": [\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.30"],\ ["@types/typescript", null],\ ["@types/vue", null],\ ["@types/vue__composition-api", null],\ ["@vue/composition-api", null],\ ["@vue/devtools-api", "npm:6.4.5"],\ ["typescript", null],\ - ["vue", "npm:3.2.45"],\ - ["vue-demi", "virtual:e1f94167f73dcd0042012cf3a978b5096a058d81d2d3813652fe465a5fe7d84e810c9bea1e50af574784bc4294f4f838b7ba55cf745fd1337e972f45d3531d5e#npm:0.13.1"]\ + ["vue", "npm:3.2.47"],\ + ["vue-demi", "virtual:20e58bb08f8bd7d7616824484d725f82780c9546b1079db536c5d3054bbf9a46d5b099865dc28bf5ae8d4696118ec0159c97a2c9e9f98abbc36c9d82baef71fc#npm:0.13.1"]\ ],\ "packagePeers": [\ "@types/typescript",\ @@ -6754,8 +6870,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/vue", null],\ ["@types/vue__composition-api", null],\ ["@vue/composition-api", null],\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28"],\ - ["vue", "npm:3.2.45"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.30"],\ + ["vue", "npm:3.2.47"],\ ["vue-demi", "virtual:f56fcf19bbebc2ada1b28955da8cc216b1e9a569a1a7337d2d1926c1ebd1bc7a5bd91aedae1d05c15c8562f33caf7c59bd3020a667340f6bdc6a7b13fc2ba847#npm:0.12.5"]\ ],\ "packagePeers": [\ @@ -7161,6 +7277,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["regexp.prototype.flags", [\ + ["npm:1.4.3", {\ + "packageLocation": "./.yarn/cache/regexp.prototype.flags-npm-1.4.3-df1c08b65d-51228bae73.zip/node_modules/regexp.prototype.flags/",\ + "packageDependencies": [\ + ["regexp.prototype.flags", "npm:1.4.3"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["regexpp", [\ ["npm:3.2.0", {\ "packageLocation": "./.yarn/cache/regexpp-npm-3.2.0-2513f32cfc-a78dc5c715.zip/node_modules/regexpp/",\ @@ -7272,39 +7400,39 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["root-workspace-0b6124", "workspace:."],\ ["@faker-js/faker", "npm:7.6.0"],\ - ["@fullcalendar/bootstrap5", "npm:5.11.3"],\ - ["@fullcalendar/core", "npm:5.11.3"],\ - ["@fullcalendar/daygrid", "npm:5.11.3"],\ - ["@fullcalendar/interaction", "npm:5.11.3"],\ - ["@fullcalendar/list", "npm:5.11.3"],\ - ["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\ - ["@fullcalendar/timegrid", "npm:5.11.3"],\ - ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.3"],\ - ["@parcel/optimizer-data-url", "npm:2.8.2"],\ - ["@parcel/transformer-inline-string", "npm:2.8.2"],\ - ["@parcel/transformer-sass", "npm:2.8.2"],\ + ["@fullcalendar/bootstrap5", "npm:5.11.4"],\ + ["@fullcalendar/core", "npm:5.11.4"],\ + ["@fullcalendar/daygrid", "npm:5.11.4"],\ + ["@fullcalendar/interaction", "npm:5.11.4"],\ + ["@fullcalendar/list", "npm:5.11.4"],\ + ["@fullcalendar/luxon2", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4"],\ + ["@fullcalendar/timegrid", "npm:5.11.4"],\ + ["@fullcalendar/vue3", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.11.4"],\ + ["@parcel/optimizer-data-url", "npm:2.8.3"],\ + ["@parcel/transformer-inline-string", "npm:2.8.3"],\ + ["@parcel/transformer-sass", "npm:2.8.3"],\ ["@popperjs/core", "npm:2.11.6"],\ ["@rollup/pluginutils", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.0.2"],\ ["@twuni/emojify", "npm:1.0.2"],\ ["@vitejs/plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.0"],\ ["bootstrap", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:5.2.3"],\ ["bootstrap-icons", "npm:1.10.3"],\ - ["browser-fs-access", "npm:0.31.1"],\ + ["browser-fs-access", "npm:0.31.2"],\ ["browserlist", "npm:1.0.1"],\ ["c8", "npm:7.12.0"],\ - ["caniuse-lite", "npm:1.0.30001442"],\ - ["d3", "npm:7.8.0"],\ - ["eslint", "npm:8.31.0"],\ + ["caniuse-lite", "npm:1.0.30001450"],\ + ["d3", "npm:7.8.2"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-config-standard", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:17.0.0"],\ ["eslint-plugin-cypress", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.12.1"],\ - ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.26.0"],\ + ["eslint-plugin-import", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.27.5"],\ ["eslint-plugin-n", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:15.6.1"],\ ["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.8.0"],\ + ["eslint-plugin-vue", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:9.9.0"],\ ["file-saver", "npm:2.0.5"],\ - ["highcharts", "npm:10.3.2"],\ - ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.12.2"],\ + ["highcharts", "npm:10.3.3"],\ + ["html-validate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:7.13.1"],\ ["jquery", "npm:3.6.3"],\ ["jquery-migrate", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.4.0"],\ ["jquery-ui-dist", "npm:1.13.2"],\ @@ -7318,11 +7446,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ms", "npm:2.1.3"],\ ["murmurhash-js", "npm:1.0.0"],\ ["naive-ui", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.34.3"],\ - ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.2"],\ - ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.28"],\ + ["parcel", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.8.3"],\ + ["pinia", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:2.0.30"],\ ["pinia-plugin-persist", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:1.0.0"],\ ["pug", "npm:3.0.2"],\ - ["sass", "npm:1.57.1"],\ + ["sass", "npm:1.58.0"],\ ["seedrandom", "npm:3.0.5"],\ ["select2", "npm:4.1.0-rc.0"],\ ["select2-bootstrap-5-theme", "npm:1.3.0"],\ @@ -7331,7 +7459,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["slugify", "npm:1.6.5"],\ ["sortablejs", "npm:1.15.0"],\ ["vite", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:3.2.5"],\ - ["vue", "npm:3.2.45"],\ + ["vue", "npm:3.2.47"],\ ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\ ["zxcvbn", "npm:4.4.2"]\ ],\ @@ -7373,6 +7501,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["safe-regex-test", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip/node_modules/safe-regex-test/",\ + "packageDependencies": [\ + ["safe-regex-test", "npm:1.0.0"],\ + ["call-bind", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.2.0"],\ + ["is-regex", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["safer-buffer", [\ ["npm:2.1.2", {\ "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/",\ @@ -7393,10 +7533,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["npm:1.57.1", {\ - "packageLocation": "./.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip/node_modules/sass/",\ + ["npm:1.58.0", {\ + "packageLocation": "./.yarn/cache/sass-npm-1.58.0-350bf3b1b6-a721963488.zip/node_modules/sass/",\ "packageDependencies": [\ - ["sass", "npm:1.57.1"],\ + ["sass", "npm:1.58.0"],\ ["chokidar", "npm:3.5.3"],\ ["immutable", "npm:4.0.0"],\ ["source-map-js", "npm:1.0.2"]\ @@ -7688,6 +7828,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["srcset", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/srcset-npm-4.0.0-4e99d43236-aceb898c92.zip/node_modules/srcset/",\ + "packageDependencies": [\ + ["srcset", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ssri", [\ ["npm:9.0.1", {\ "packageLocation": "./.yarn/cache/ssri-npm-9.0.1-33ce27f4f8-fb58f5e46b.zip/node_modules/ssri/",\ @@ -7738,23 +7887,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["string.prototype.trimend", [\ - ["npm:1.0.4", {\ - "packageLocation": "./.yarn/cache/string.prototype.trimend-npm-1.0.4-a656b8fe24-17e5aa45c3.zip/node_modules/string.prototype.trimend/",\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/string.prototype.trimend-npm-1.0.6-304246ecc1-0fdc34645a.zip/node_modules/string.prototype.trimend/",\ "packageDependencies": [\ - ["string.prototype.trimend", "npm:1.0.4"],\ + ["string.prototype.trimend", "npm:1.0.6"],\ ["call-bind", "npm:1.0.2"],\ - ["define-properties", "npm:1.1.4"]\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.21.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["string.prototype.trimstart", [\ - ["npm:1.0.4", {\ - "packageLocation": "./.yarn/cache/string.prototype.trimstart-npm-1.0.4-b31f5e7c85-3fb06818d3.zip/node_modules/string.prototype.trimstart/",\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/string.prototype.trimstart-npm-1.0.6-0926caea6c-89080feef4.zip/node_modules/string.prototype.trimstart/",\ "packageDependencies": [\ - ["string.prototype.trimstart", "npm:1.0.4"],\ + ["string.prototype.trimstart", "npm:1.0.6"],\ ["call-bind", "npm:1.0.2"],\ - ["define-properties", "npm:1.1.4"]\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.21.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -8004,6 +8155,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["typed-array-length", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip/node_modules/typed-array-length/",\ + "packageDependencies": [\ + ["typed-array-length", "npm:1.0.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["for-each", "npm:0.3.3"],\ + ["is-typed-array", "npm:1.1.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["unbox-primitive", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/unbox-primitive-npm-1.0.2-cb56a05066-b7a1cf5862.zip/node_modules/unbox-primitive/",\ @@ -8100,7 +8263,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["vdirs", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8"],\ ["@types/vue", null],\ ["evtd", "npm:0.2.3"],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -8133,7 +8296,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["postcss", "npm:8.4.18"],\ ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b"],\ ["rollup", "npm:2.79.1"],\ - ["sass", "npm:1.57.1"],\ + ["sass", "npm:1.58.0"],\ ["stylus", null],\ ["sugarss", null],\ ["terser", null]\ @@ -8177,7 +8340,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["vooks", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12"],\ ["@types/vue", null],\ ["evtd", "npm:0.2.3"],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -8187,15 +8350,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["vue", [\ - ["npm:3.2.45", {\ - "packageLocation": "./.yarn/cache/vue-npm-3.2.45-06b4b60efe-df60ca80cb.zip/node_modules/vue/",\ + ["npm:3.2.47", {\ + "packageLocation": "./.yarn/cache/vue-npm-3.2.47-487db916e1-3b586f61fd.zip/node_modules/vue/",\ "packageDependencies": [\ - ["vue", "npm:3.2.45"],\ - ["@vue/compiler-dom", "npm:3.2.45"],\ - ["@vue/compiler-sfc", "npm:3.2.45"],\ - ["@vue/runtime-dom", "npm:3.2.45"],\ - ["@vue/server-renderer", "virtual:06b4b60efe017e0fdf8405fef0e04a64d7dc86cf13e04f05fb681889d996c75efd151033b2e012c72dfb9a0b8d1a647b6d3a8115078891aebe2fa1a4e81f50bf#npm:3.2.45"],\ - ["@vue/shared", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"],\ + ["@vue/compiler-dom", "npm:3.2.47"],\ + ["@vue/compiler-sfc", "npm:3.2.47"],\ + ["@vue/runtime-dom", "npm:3.2.47"],\ + ["@vue/server-renderer", "virtual:487db916e160a571ff50687ed972004ec0078aa76b7fedf7bdabfd607dfed3ba7b2d1f51e99387f885501b4dbb11471c0ce20d647adb7ae38656bbc259642ae8#npm:3.2.47"],\ + ["@vue/shared", "npm:3.2.47"]\ ],\ "linkType": "HARD"\ }]\ @@ -8209,20 +8372,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "SOFT"\ }],\ ["npm:0.13.1", {\ - "packageLocation": "./.yarn/unplugged/vue-demi-virtual-8581c55d48/node_modules/vue-demi/",\ + "packageLocation": "./.yarn/unplugged/vue-demi-virtual-73f6747a78/node_modules/vue-demi/",\ "packageDependencies": [\ ["vue-demi", "npm:0.13.1"]\ ],\ "linkType": "SOFT"\ }],\ - ["virtual:e1f94167f73dcd0042012cf3a978b5096a058d81d2d3813652fe465a5fe7d84e810c9bea1e50af574784bc4294f4f838b7ba55cf745fd1337e972f45d3531d5e#npm:0.13.1", {\ - "packageLocation": "./.yarn/unplugged/vue-demi-virtual-8581c55d48/node_modules/vue-demi/",\ + ["virtual:20e58bb08f8bd7d7616824484d725f82780c9546b1079db536c5d3054bbf9a46d5b099865dc28bf5ae8d4696118ec0159c97a2c9e9f98abbc36c9d82baef71fc#npm:0.13.1", {\ + "packageLocation": "./.yarn/unplugged/vue-demi-virtual-73f6747a78/node_modules/vue-demi/",\ "packageDependencies": [\ - ["vue-demi", "virtual:e1f94167f73dcd0042012cf3a978b5096a058d81d2d3813652fe465a5fe7d84e810c9bea1e50af574784bc4294f4f838b7ba55cf745fd1337e972f45d3531d5e#npm:0.13.1"],\ + ["vue-demi", "virtual:20e58bb08f8bd7d7616824484d725f82780c9546b1079db536c5d3054bbf9a46d5b099865dc28bf5ae8d4696118ec0159c97a2c9e9f98abbc36c9d82baef71fc#npm:0.13.1"],\ ["@types/vue", null],\ ["@types/vue__composition-api", null],\ ["@vue/composition-api", null],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -8239,7 +8402,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/vue", null],\ ["@types/vue__composition-api", null],\ ["@vue/composition-api", null],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -8258,13 +8421,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:b1db986ed39a80a226fbfa4d653465b173f10958eed2dd2079c16424a052a437a3b029f3b0228d6df47b4f864f76b70bc3e54b0b37aaac5dc8f4ae6650567a27#npm:9.0.3", {\ - "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-77554ae6bd/0/cache/vue-eslint-parser-npm-9.0.3-1d52721799-61248eb504.zip/node_modules/vue-eslint-parser/",\ + ["virtual:ac2bc02e9d49870ee3baa12447476dd6ba288afeb67bb114f524f83fff1860ea8b2303848fcddda864c1ebd85cd8266ea0b036925b53047bc4d09569ea132ba5#npm:9.0.3", {\ + "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-f01f35c80d/0/cache/vue-eslint-parser-npm-9.0.3-1d52721799-61248eb504.zip/node_modules/vue-eslint-parser/",\ "packageDependencies": [\ - ["vue-eslint-parser", "virtual:b1db986ed39a80a226fbfa4d653465b173f10958eed2dd2079c16424a052a437a3b029f3b0228d6df47b4f864f76b70bc3e54b0b37aaac5dc8f4ae6650567a27#npm:9.0.3"],\ + ["vue-eslint-parser", "virtual:ac2bc02e9d49870ee3baa12447476dd6ba288afeb67bb114f524f83fff1860ea8b2303848fcddda864c1ebd85cd8266ea0b036925b53047bc4d09569ea132ba5#npm:9.0.3"],\ ["@types/eslint", null],\ ["debug", "virtual:b86a9fb34323a98c6519528ed55faa0d9b44ca8879307c0b29aa384bde47ff59a7d0c9051b31246f14521dfb71ba3c5d6d0b35c29fffc17bf875aa6ad977d9e8#npm:4.3.4"],\ - ["eslint", "npm:8.31.0"],\ + ["eslint", "npm:8.33.0"],\ ["eslint-scope", "npm:7.1.1"],\ ["eslint-visitor-keys", "npm:3.3.0"],\ ["espree", "npm:9.3.2"],\ @@ -8293,7 +8456,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["vue-router", "virtual:dc3fc578bfa5e06182a4d2be39ede0bc5b74940b1ffe0d70c26892ab140a4699787750fba175dc306292e80b4aa2c8c5f68c2a821e69b2c37e360c0dff36ff66#npm:4.1.6"],\ ["@types/vue", null],\ ["@vue/devtools-api", "npm:6.4.5"],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -8322,7 +8485,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["seemly", "npm:0.3.3"],\ ["vdirs", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.1.8"],\ ["vooks", "virtual:4fa5810747c131dcf20cc36c17e835ba5fa42265b3b1f99a6712420e8672195f31ac73d077125c82af29bde6232df6ecc61b1f3ff0dde337b62085ef712e7d6a#npm:0.2.12"],\ - ["vue", "npm:3.2.45"]\ + ["vue", "npm:3.2.47"]\ ],\ "packagePeers": [\ "@types/vue",\ @@ -8385,6 +8548,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["which-typed-array", [\ + ["npm:1.1.9", {\ + "packageLocation": "./.yarn/cache/which-typed-array-npm-1.1.9-9559c95dfc-fe0178ca44.zip/node_modules/which-typed-array/",\ + "packageDependencies": [\ + ["which-typed-array", "npm:1.1.9"],\ + ["available-typed-arrays", "npm:1.0.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["for-each", "npm:0.3.3"],\ + ["gopd", "npm:1.0.1"],\ + ["has-tostringtag", "npm:1.0.0"],\ + ["is-typed-array", "npm:1.1.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["wide-align", [\ ["npm:1.1.5", {\ "packageLocation": "./.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip/node_modules/wide-align/",\ diff --git a/.yarn/cache/@fullcalendar-bootstrap5-npm-5.11.3-3e86f39d7d-a63a500d72.zip b/.yarn/cache/@fullcalendar-bootstrap5-npm-5.11.4-c3e252aaf4-26f838f304.zip similarity index 87% rename from .yarn/cache/@fullcalendar-bootstrap5-npm-5.11.3-3e86f39d7d-a63a500d72.zip rename to .yarn/cache/@fullcalendar-bootstrap5-npm-5.11.4-c3e252aaf4-26f838f304.zip index 8571502c8..09650f0cf 100644 Binary files a/.yarn/cache/@fullcalendar-bootstrap5-npm-5.11.3-3e86f39d7d-a63a500d72.zip and b/.yarn/cache/@fullcalendar-bootstrap5-npm-5.11.4-c3e252aaf4-26f838f304.zip differ diff --git a/.yarn/cache/@fullcalendar-common-npm-5.11.3-6268994b76-be4b365dca.zip b/.yarn/cache/@fullcalendar-common-npm-5.11.4-b6ba4b8756-8fc0e05539.zip similarity index 84% rename from .yarn/cache/@fullcalendar-common-npm-5.11.3-6268994b76-be4b365dca.zip rename to .yarn/cache/@fullcalendar-common-npm-5.11.4-b6ba4b8756-8fc0e05539.zip index 2e6ed4393..1ff37662e 100644 Binary files a/.yarn/cache/@fullcalendar-common-npm-5.11.3-6268994b76-be4b365dca.zip and b/.yarn/cache/@fullcalendar-common-npm-5.11.4-b6ba4b8756-8fc0e05539.zip differ diff --git a/.yarn/cache/@fullcalendar-core-npm-5.11.3-ed98a1ea9f-2774d0fa18.zip b/.yarn/cache/@fullcalendar-core-npm-5.11.4-2234b9e7f4-11652a58dc.zip similarity index 80% rename from .yarn/cache/@fullcalendar-core-npm-5.11.3-ed98a1ea9f-2774d0fa18.zip rename to .yarn/cache/@fullcalendar-core-npm-5.11.4-2234b9e7f4-11652a58dc.zip index c6ee2043b..b1e6b32ad 100644 Binary files a/.yarn/cache/@fullcalendar-core-npm-5.11.3-ed98a1ea9f-2774d0fa18.zip and b/.yarn/cache/@fullcalendar-core-npm-5.11.4-2234b9e7f4-11652a58dc.zip differ diff --git a/.yarn/cache/@fullcalendar-daygrid-npm-5.11.3-b387dff934-426b53c5bb.zip b/.yarn/cache/@fullcalendar-daygrid-npm-5.11.4-821caf4780-a25d83cfe5.zip similarity index 61% rename from .yarn/cache/@fullcalendar-daygrid-npm-5.11.3-b387dff934-426b53c5bb.zip rename to .yarn/cache/@fullcalendar-daygrid-npm-5.11.4-821caf4780-a25d83cfe5.zip index f8b5af4de..344b8208e 100644 Binary files a/.yarn/cache/@fullcalendar-daygrid-npm-5.11.3-b387dff934-426b53c5bb.zip and b/.yarn/cache/@fullcalendar-daygrid-npm-5.11.4-821caf4780-a25d83cfe5.zip differ diff --git a/.yarn/cache/@fullcalendar-interaction-npm-5.11.3-15335cb10a-e8a1b49f2f.zip b/.yarn/cache/@fullcalendar-interaction-npm-5.11.4-ba2c965da3-88231b9254.zip similarity index 89% rename from .yarn/cache/@fullcalendar-interaction-npm-5.11.3-15335cb10a-e8a1b49f2f.zip rename to .yarn/cache/@fullcalendar-interaction-npm-5.11.4-ba2c965da3-88231b9254.zip index be7b594e3..8e19461a7 100644 Binary files a/.yarn/cache/@fullcalendar-interaction-npm-5.11.3-15335cb10a-e8a1b49f2f.zip and b/.yarn/cache/@fullcalendar-interaction-npm-5.11.4-ba2c965da3-88231b9254.zip differ diff --git a/.yarn/cache/@fullcalendar-list-npm-5.11.3-6174d0e1da-976da49b12.zip b/.yarn/cache/@fullcalendar-list-npm-5.11.3-6174d0e1da-976da49b12.zip deleted file mode 100644 index 089e8d7c9..000000000 Binary files a/.yarn/cache/@fullcalendar-list-npm-5.11.3-6174d0e1da-976da49b12.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-list-npm-5.11.4-4791653eeb-e2cec5e89c.zip b/.yarn/cache/@fullcalendar-list-npm-5.11.4-4791653eeb-e2cec5e89c.zip new file mode 100644 index 000000000..b84b99ddd Binary files /dev/null and b/.yarn/cache/@fullcalendar-list-npm-5.11.4-4791653eeb-e2cec5e89c.zip differ diff --git a/.yarn/cache/@fullcalendar-luxon2-npm-5.11.3-ccde7500a8-7533018590.zip b/.yarn/cache/@fullcalendar-luxon2-npm-5.11.3-ccde7500a8-7533018590.zip deleted file mode 100644 index bb23c44bf..000000000 Binary files a/.yarn/cache/@fullcalendar-luxon2-npm-5.11.3-ccde7500a8-7533018590.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-luxon2-npm-5.11.4-e4b0003255-503e3e32d2.zip b/.yarn/cache/@fullcalendar-luxon2-npm-5.11.4-e4b0003255-503e3e32d2.zip new file mode 100644 index 000000000..be21e9f25 Binary files /dev/null and b/.yarn/cache/@fullcalendar-luxon2-npm-5.11.4-e4b0003255-503e3e32d2.zip differ diff --git a/.yarn/cache/@fullcalendar-timegrid-npm-5.11.3-4075b09051-ce675eca7d.zip b/.yarn/cache/@fullcalendar-timegrid-npm-5.11.3-4075b09051-ce675eca7d.zip deleted file mode 100644 index ebe13b989..000000000 Binary files a/.yarn/cache/@fullcalendar-timegrid-npm-5.11.3-4075b09051-ce675eca7d.zip and /dev/null differ diff --git a/.yarn/cache/@fullcalendar-timegrid-npm-5.11.4-64a0cfa5de-3a2fccac65.zip b/.yarn/cache/@fullcalendar-timegrid-npm-5.11.4-64a0cfa5de-3a2fccac65.zip new file mode 100644 index 000000000..03359f22b Binary files /dev/null and b/.yarn/cache/@fullcalendar-timegrid-npm-5.11.4-64a0cfa5de-3a2fccac65.zip differ diff --git a/.yarn/cache/@fullcalendar-vue3-npm-5.11.3-047b9981f6-13a648a0c5.zip b/.yarn/cache/@fullcalendar-vue3-npm-5.11.4-adcf8ba171-3e0fc0423b.zip similarity index 52% rename from .yarn/cache/@fullcalendar-vue3-npm-5.11.3-047b9981f6-13a648a0c5.zip rename to .yarn/cache/@fullcalendar-vue3-npm-5.11.4-adcf8ba171-3e0fc0423b.zip index 56420f95c..55622e1a1 100644 Binary files a/.yarn/cache/@fullcalendar-vue3-npm-5.11.3-047b9981f6-13a648a0c5.zip and b/.yarn/cache/@fullcalendar-vue3-npm-5.11.4-adcf8ba171-3e0fc0423b.zip differ diff --git a/.yarn/cache/@parcel-bundler-default-npm-2.8.2-497641ec3a-8330a76248.zip b/.yarn/cache/@parcel-bundler-default-npm-2.8.2-497641ec3a-8330a76248.zip deleted file mode 100755 index 1ef5a897a..000000000 Binary files a/.yarn/cache/@parcel-bundler-default-npm-2.8.2-497641ec3a-8330a76248.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-bundler-default-npm-2.8.3-b2fd23cf03-219b2be341.zip b/.yarn/cache/@parcel-bundler-default-npm-2.8.3-b2fd23cf03-219b2be341.zip new file mode 100644 index 000000000..a7da1dbf8 Binary files /dev/null and b/.yarn/cache/@parcel-bundler-default-npm-2.8.3-b2fd23cf03-219b2be341.zip differ diff --git a/.yarn/cache/@parcel-cache-npm-2.8.2-4957caf228-7d1c951e3f.zip b/.yarn/cache/@parcel-cache-npm-2.8.3-7b70a160bc-cd679053d2.zip old mode 100755 new mode 100644 similarity index 93% rename from .yarn/cache/@parcel-cache-npm-2.8.2-4957caf228-7d1c951e3f.zip rename to .yarn/cache/@parcel-cache-npm-2.8.3-7b70a160bc-cd679053d2.zip index d593bf8fb..9bab66eb4 Binary files a/.yarn/cache/@parcel-cache-npm-2.8.2-4957caf228-7d1c951e3f.zip and b/.yarn/cache/@parcel-cache-npm-2.8.3-7b70a160bc-cd679053d2.zip differ diff --git a/.yarn/cache/@parcel-codeframe-npm-2.8.2-77f4dce4ad-a2638353c6.zip b/.yarn/cache/@parcel-codeframe-npm-2.8.2-77f4dce4ad-a2638353c6.zip deleted file mode 100755 index 1bcdf805a..000000000 Binary files a/.yarn/cache/@parcel-codeframe-npm-2.8.2-77f4dce4ad-a2638353c6.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-codeframe-npm-2.8.3-e5df811b95-a6e82c30e6.zip b/.yarn/cache/@parcel-codeframe-npm-2.8.3-e5df811b95-a6e82c30e6.zip new file mode 100644 index 000000000..630555b5c Binary files /dev/null and b/.yarn/cache/@parcel-codeframe-npm-2.8.3-e5df811b95-a6e82c30e6.zip differ diff --git a/.yarn/cache/@parcel-compressor-raw-npm-2.8.2-0d385dde76-61a1299615.zip b/.yarn/cache/@parcel-compressor-raw-npm-2.8.3-387b54c6ce-ca3b8a4f60.zip old mode 100755 new mode 100644 similarity index 57% rename from .yarn/cache/@parcel-compressor-raw-npm-2.8.2-0d385dde76-61a1299615.zip rename to .yarn/cache/@parcel-compressor-raw-npm-2.8.3-387b54c6ce-ca3b8a4f60.zip index 862a956d6..d09d13d2c Binary files a/.yarn/cache/@parcel-compressor-raw-npm-2.8.2-0d385dde76-61a1299615.zip and b/.yarn/cache/@parcel-compressor-raw-npm-2.8.3-387b54c6ce-ca3b8a4f60.zip differ diff --git a/.yarn/cache/@parcel-config-default-npm-2.8.2-89026bc258-035db3ab37.zip b/.yarn/cache/@parcel-config-default-npm-2.8.3-465d8ed464-08c700a7a2.zip old mode 100755 new mode 100644 similarity index 68% rename from .yarn/cache/@parcel-config-default-npm-2.8.2-89026bc258-035db3ab37.zip rename to .yarn/cache/@parcel-config-default-npm-2.8.3-465d8ed464-08c700a7a2.zip index 3dad00b05..9089d4f8e Binary files a/.yarn/cache/@parcel-config-default-npm-2.8.2-89026bc258-035db3ab37.zip and b/.yarn/cache/@parcel-config-default-npm-2.8.3-465d8ed464-08c700a7a2.zip differ diff --git a/.yarn/cache/@parcel-core-npm-2.8.2-7ac9ecd9f9-0c989ef087.zip b/.yarn/cache/@parcel-core-npm-2.8.3-1751106c31-68adceb1b0.zip old mode 100755 new mode 100644 similarity index 70% rename from .yarn/cache/@parcel-core-npm-2.8.2-7ac9ecd9f9-0c989ef087.zip rename to .yarn/cache/@parcel-core-npm-2.8.3-1751106c31-68adceb1b0.zip index 85040b394..5c32746ca Binary files a/.yarn/cache/@parcel-core-npm-2.8.2-7ac9ecd9f9-0c989ef087.zip and b/.yarn/cache/@parcel-core-npm-2.8.3-1751106c31-68adceb1b0.zip differ diff --git a/.yarn/cache/@parcel-diagnostic-npm-2.8.2-7f2dfb035e-91ca29cce4.zip b/.yarn/cache/@parcel-diagnostic-npm-2.8.3-2e1d38a83b-c24d98a2db.zip old mode 100755 new mode 100644 similarity index 91% rename from .yarn/cache/@parcel-diagnostic-npm-2.8.2-7f2dfb035e-91ca29cce4.zip rename to .yarn/cache/@parcel-diagnostic-npm-2.8.3-2e1d38a83b-c24d98a2db.zip index ee9bdb7e4..8cb3bdc72 Binary files a/.yarn/cache/@parcel-diagnostic-npm-2.8.2-7f2dfb035e-91ca29cce4.zip and b/.yarn/cache/@parcel-diagnostic-npm-2.8.3-2e1d38a83b-c24d98a2db.zip differ diff --git a/.yarn/cache/@parcel-events-npm-2.8.2-ddf12da1ba-99aad2e735.zip b/.yarn/cache/@parcel-events-npm-2.8.3-40eebe35e5-9d23c6663e.zip old mode 100755 new mode 100644 similarity index 82% rename from .yarn/cache/@parcel-events-npm-2.8.2-ddf12da1ba-99aad2e735.zip rename to .yarn/cache/@parcel-events-npm-2.8.3-40eebe35e5-9d23c6663e.zip index 054d30dd8..64e1abfcb Binary files a/.yarn/cache/@parcel-events-npm-2.8.2-ddf12da1ba-99aad2e735.zip and b/.yarn/cache/@parcel-events-npm-2.8.3-40eebe35e5-9d23c6663e.zip differ diff --git a/.yarn/cache/@parcel-fs-npm-2.8.2-97422ca16d-c25408fe2d.zip b/.yarn/cache/@parcel-fs-npm-2.8.2-97422ca16d-c25408fe2d.zip deleted file mode 100755 index dff053a7f..000000000 Binary files a/.yarn/cache/@parcel-fs-npm-2.8.2-97422ca16d-c25408fe2d.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-fs-npm-2.8.3-a413e84c2d-cc421552da.zip b/.yarn/cache/@parcel-fs-npm-2.8.3-a413e84c2d-cc421552da.zip new file mode 100644 index 000000000..8226ced94 Binary files /dev/null and b/.yarn/cache/@parcel-fs-npm-2.8.3-a413e84c2d-cc421552da.zip differ diff --git a/.yarn/cache/@parcel-fs-search-npm-2.8.2-a3c70b64fe-b6b5956cc1.zip b/.yarn/cache/@parcel-fs-search-npm-2.8.2-a3c70b64fe-b6b5956cc1.zip deleted file mode 100755 index 77295640b..000000000 Binary files a/.yarn/cache/@parcel-fs-search-npm-2.8.2-a3c70b64fe-b6b5956cc1.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-fs-search-npm-2.8.3-aafc0a2ad7-25e8eda694.zip b/.yarn/cache/@parcel-fs-search-npm-2.8.3-aafc0a2ad7-25e8eda694.zip new file mode 100644 index 000000000..8277ed6b0 Binary files /dev/null and b/.yarn/cache/@parcel-fs-search-npm-2.8.3-aafc0a2ad7-25e8eda694.zip differ diff --git a/.yarn/cache/@parcel-graph-npm-2.8.2-039d19c5f3-d503597911.zip b/.yarn/cache/@parcel-graph-npm-2.8.3-15d2d4448e-ceed8445f5.zip old mode 100755 new mode 100644 similarity index 94% rename from .yarn/cache/@parcel-graph-npm-2.8.2-039d19c5f3-d503597911.zip rename to .yarn/cache/@parcel-graph-npm-2.8.3-15d2d4448e-ceed8445f5.zip index f2da21bcf..919aa7962 Binary files a/.yarn/cache/@parcel-graph-npm-2.8.2-039d19c5f3-d503597911.zip and b/.yarn/cache/@parcel-graph-npm-2.8.3-15d2d4448e-ceed8445f5.zip differ diff --git a/.yarn/cache/@parcel-hash-npm-2.8.2-4189a2e2e3-03f11563d2.zip b/.yarn/cache/@parcel-hash-npm-2.8.2-4189a2e2e3-03f11563d2.zip deleted file mode 100755 index cd1b5bf8e..000000000 Binary files a/.yarn/cache/@parcel-hash-npm-2.8.2-4189a2e2e3-03f11563d2.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-hash-npm-2.8.3-48d5e2907f-29cef199fe.zip b/.yarn/cache/@parcel-hash-npm-2.8.3-48d5e2907f-29cef199fe.zip new file mode 100644 index 000000000..4fec7f1d7 Binary files /dev/null and b/.yarn/cache/@parcel-hash-npm-2.8.3-48d5e2907f-29cef199fe.zip differ diff --git a/.yarn/cache/@parcel-logger-npm-2.8.2-0b40fa2df8-8d9b4264cb.zip b/.yarn/cache/@parcel-logger-npm-2.8.3-f13624d366-04fd463131.zip old mode 100755 new mode 100644 similarity index 83% rename from .yarn/cache/@parcel-logger-npm-2.8.2-0b40fa2df8-8d9b4264cb.zip rename to .yarn/cache/@parcel-logger-npm-2.8.3-f13624d366-04fd463131.zip index 25b177e4a..07da31249 Binary files a/.yarn/cache/@parcel-logger-npm-2.8.2-0b40fa2df8-8d9b4264cb.zip and b/.yarn/cache/@parcel-logger-npm-2.8.3-f13624d366-04fd463131.zip differ diff --git a/.yarn/cache/@parcel-markdown-ansi-npm-2.8.2-3a4b50f123-aaff302f12.zip b/.yarn/cache/@parcel-markdown-ansi-npm-2.8.3-4b66177a38-1985f149b2.zip old mode 100755 new mode 100644 similarity index 64% rename from .yarn/cache/@parcel-markdown-ansi-npm-2.8.2-3a4b50f123-aaff302f12.zip rename to .yarn/cache/@parcel-markdown-ansi-npm-2.8.3-4b66177a38-1985f149b2.zip index d96d871f7..6a28973b5 Binary files a/.yarn/cache/@parcel-markdown-ansi-npm-2.8.2-3a4b50f123-aaff302f12.zip and b/.yarn/cache/@parcel-markdown-ansi-npm-2.8.3-4b66177a38-1985f149b2.zip differ diff --git a/.yarn/cache/@parcel-namer-default-npm-2.8.2-d3e74161c0-c9592f4022.zip b/.yarn/cache/@parcel-namer-default-npm-2.8.3-486a772540-7c2c343446.zip old mode 100755 new mode 100644 similarity index 79% rename from .yarn/cache/@parcel-namer-default-npm-2.8.2-d3e74161c0-c9592f4022.zip rename to .yarn/cache/@parcel-namer-default-npm-2.8.3-486a772540-7c2c343446.zip index 72c3c2ca7..a6e34e55b Binary files a/.yarn/cache/@parcel-namer-default-npm-2.8.2-d3e74161c0-c9592f4022.zip and b/.yarn/cache/@parcel-namer-default-npm-2.8.3-486a772540-7c2c343446.zip differ diff --git a/.yarn/cache/@parcel-node-resolver-core-npm-2.8.2-5629a9b021-92f0e2bf4b.zip b/.yarn/cache/@parcel-node-resolver-core-npm-2.8.3-40a48fa4e7-4976d3ecc9.zip old mode 100755 new mode 100644 similarity index 98% rename from .yarn/cache/@parcel-node-resolver-core-npm-2.8.2-5629a9b021-92f0e2bf4b.zip rename to .yarn/cache/@parcel-node-resolver-core-npm-2.8.3-40a48fa4e7-4976d3ecc9.zip index 30731a968..3bcae151b Binary files a/.yarn/cache/@parcel-node-resolver-core-npm-2.8.2-5629a9b021-92f0e2bf4b.zip and b/.yarn/cache/@parcel-node-resolver-core-npm-2.8.3-40a48fa4e7-4976d3ecc9.zip differ diff --git a/.yarn/cache/@parcel-optimizer-css-npm-2.8.2-6de222af5e-8298155bac.zip b/.yarn/cache/@parcel-optimizer-css-npm-2.8.3-6e7102b9ab-ffac43a2c2.zip old mode 100755 new mode 100644 similarity index 80% rename from .yarn/cache/@parcel-optimizer-css-npm-2.8.2-6de222af5e-8298155bac.zip rename to .yarn/cache/@parcel-optimizer-css-npm-2.8.3-6e7102b9ab-ffac43a2c2.zip index 9ac5db4ec..fd8439d21 Binary files a/.yarn/cache/@parcel-optimizer-css-npm-2.8.2-6de222af5e-8298155bac.zip and b/.yarn/cache/@parcel-optimizer-css-npm-2.8.3-6e7102b9ab-ffac43a2c2.zip differ diff --git a/.yarn/cache/@parcel-optimizer-data-url-npm-2.8.2-2b95b0c045-e0966a5e18.zip b/.yarn/cache/@parcel-optimizer-data-url-npm-2.8.3-dd2c9afc59-5df8d88826.zip old mode 100755 new mode 100644 similarity index 65% rename from .yarn/cache/@parcel-optimizer-data-url-npm-2.8.2-2b95b0c045-e0966a5e18.zip rename to .yarn/cache/@parcel-optimizer-data-url-npm-2.8.3-dd2c9afc59-5df8d88826.zip index 39f7814cf..43f688f18 Binary files a/.yarn/cache/@parcel-optimizer-data-url-npm-2.8.2-2b95b0c045-e0966a5e18.zip and b/.yarn/cache/@parcel-optimizer-data-url-npm-2.8.3-dd2c9afc59-5df8d88826.zip differ diff --git a/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.2-989bccf2aa-3913b51ccd.zip b/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.3-62c761ef26-ca1cab7b1e.zip old mode 100755 new mode 100644 similarity index 83% rename from .yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.2-989bccf2aa-3913b51ccd.zip rename to .yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.3-62c761ef26-ca1cab7b1e.zip index a2ca7c933..d052e87e3 Binary files a/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.2-989bccf2aa-3913b51ccd.zip and b/.yarn/cache/@parcel-optimizer-htmlnano-npm-2.8.3-62c761ef26-ca1cab7b1e.zip differ diff --git a/.yarn/cache/@parcel-optimizer-image-npm-2.8.2-eb7453ba87-7e45b2698b.zip b/.yarn/cache/@parcel-optimizer-image-npm-2.8.2-eb7453ba87-7e45b2698b.zip deleted file mode 100755 index fa4ad53b6..000000000 Binary files a/.yarn/cache/@parcel-optimizer-image-npm-2.8.2-eb7453ba87-7e45b2698b.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-optimizer-image-npm-2.8.3-4a1aa225b2-72c5acffae.zip b/.yarn/cache/@parcel-optimizer-image-npm-2.8.3-4a1aa225b2-72c5acffae.zip new file mode 100644 index 000000000..5b564498b Binary files /dev/null and b/.yarn/cache/@parcel-optimizer-image-npm-2.8.3-4a1aa225b2-72c5acffae.zip differ diff --git a/.yarn/cache/@parcel-optimizer-svgo-npm-2.8.2-d86f49e88e-608179fb18.zip b/.yarn/cache/@parcel-optimizer-svgo-npm-2.8.3-b5d4af08b7-b3544c08fa.zip old mode 100755 new mode 100644 similarity index 70% rename from .yarn/cache/@parcel-optimizer-svgo-npm-2.8.2-d86f49e88e-608179fb18.zip rename to .yarn/cache/@parcel-optimizer-svgo-npm-2.8.3-b5d4af08b7-b3544c08fa.zip index 7ee372b8f..f7837f38c Binary files a/.yarn/cache/@parcel-optimizer-svgo-npm-2.8.2-d86f49e88e-608179fb18.zip and b/.yarn/cache/@parcel-optimizer-svgo-npm-2.8.3-b5d4af08b7-b3544c08fa.zip differ diff --git a/.yarn/cache/@parcel-optimizer-terser-npm-2.8.2-8af8c43b6e-e5cc9ef648.zip b/.yarn/cache/@parcel-optimizer-terser-npm-2.8.3-5e561ce7db-ee1959f596.zip old mode 100755 new mode 100644 similarity index 76% rename from .yarn/cache/@parcel-optimizer-terser-npm-2.8.2-8af8c43b6e-e5cc9ef648.zip rename to .yarn/cache/@parcel-optimizer-terser-npm-2.8.3-5e561ce7db-ee1959f596.zip index 561a11976..544b923d5 Binary files a/.yarn/cache/@parcel-optimizer-terser-npm-2.8.2-8af8c43b6e-e5cc9ef648.zip and b/.yarn/cache/@parcel-optimizer-terser-npm-2.8.3-5e561ce7db-ee1959f596.zip differ diff --git a/.yarn/cache/@parcel-package-manager-npm-2.8.2-40215edd8a-99d022d3fa.zip b/.yarn/cache/@parcel-package-manager-npm-2.8.2-40215edd8a-99d022d3fa.zip deleted file mode 100755 index 6598ca6df..000000000 Binary files a/.yarn/cache/@parcel-package-manager-npm-2.8.2-40215edd8a-99d022d3fa.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-package-manager-npm-2.8.3-0dc329e43e-572a5aacfd.zip b/.yarn/cache/@parcel-package-manager-npm-2.8.3-0dc329e43e-572a5aacfd.zip new file mode 100644 index 000000000..7a3b45cfa Binary files /dev/null and b/.yarn/cache/@parcel-package-manager-npm-2.8.3-0dc329e43e-572a5aacfd.zip differ diff --git a/.yarn/cache/@parcel-packager-css-npm-2.8.2-63302c1b3b-18ba8e43b3.zip b/.yarn/cache/@parcel-packager-css-npm-2.8.3-c127d6c552-bb28fc9f02.zip old mode 100755 new mode 100644 similarity index 86% rename from .yarn/cache/@parcel-packager-css-npm-2.8.2-63302c1b3b-18ba8e43b3.zip rename to .yarn/cache/@parcel-packager-css-npm-2.8.3-c127d6c552-bb28fc9f02.zip index d53942f2a..13645d272 Binary files a/.yarn/cache/@parcel-packager-css-npm-2.8.2-63302c1b3b-18ba8e43b3.zip and b/.yarn/cache/@parcel-packager-css-npm-2.8.3-c127d6c552-bb28fc9f02.zip differ diff --git a/.yarn/cache/@parcel-packager-html-npm-2.8.2-b901dd589c-e4975a4869.zip b/.yarn/cache/@parcel-packager-html-npm-2.8.3-4e3da006ce-631f98fca0.zip old mode 100755 new mode 100644 similarity index 83% rename from .yarn/cache/@parcel-packager-html-npm-2.8.2-b901dd589c-e4975a4869.zip rename to .yarn/cache/@parcel-packager-html-npm-2.8.3-4e3da006ce-631f98fca0.zip index 1e9a71d8b..3128a18fc Binary files a/.yarn/cache/@parcel-packager-html-npm-2.8.2-b901dd589c-e4975a4869.zip and b/.yarn/cache/@parcel-packager-html-npm-2.8.3-4e3da006ce-631f98fca0.zip differ diff --git a/.yarn/cache/@parcel-packager-js-npm-2.8.2-9730c3d7a1-5c4a74e9b2.zip b/.yarn/cache/@parcel-packager-js-npm-2.8.3-3441713a0f-92ac88244b.zip old mode 100755 new mode 100644 similarity index 96% rename from .yarn/cache/@parcel-packager-js-npm-2.8.2-9730c3d7a1-5c4a74e9b2.zip rename to .yarn/cache/@parcel-packager-js-npm-2.8.3-3441713a0f-92ac88244b.zip index 145d0be17..f74455017 Binary files a/.yarn/cache/@parcel-packager-js-npm-2.8.2-9730c3d7a1-5c4a74e9b2.zip and b/.yarn/cache/@parcel-packager-js-npm-2.8.3-3441713a0f-92ac88244b.zip differ diff --git a/.yarn/cache/@parcel-packager-raw-npm-2.8.2-e7b417ac32-198984e93e.zip b/.yarn/cache/@parcel-packager-raw-npm-2.8.3-0a1dab14a2-26236dd646.zip old mode 100755 new mode 100644 similarity index 60% rename from .yarn/cache/@parcel-packager-raw-npm-2.8.2-e7b417ac32-198984e93e.zip rename to .yarn/cache/@parcel-packager-raw-npm-2.8.3-0a1dab14a2-26236dd646.zip index cdaae5282..57014e28a Binary files a/.yarn/cache/@parcel-packager-raw-npm-2.8.2-e7b417ac32-198984e93e.zip and b/.yarn/cache/@parcel-packager-raw-npm-2.8.3-0a1dab14a2-26236dd646.zip differ diff --git a/.yarn/cache/@parcel-packager-svg-npm-2.8.2-a7884bf9a1-7e10546425.zip b/.yarn/cache/@parcel-packager-svg-npm-2.8.3-c3163591d4-45c966ad8e.zip old mode 100755 new mode 100644 similarity index 80% rename from .yarn/cache/@parcel-packager-svg-npm-2.8.2-a7884bf9a1-7e10546425.zip rename to .yarn/cache/@parcel-packager-svg-npm-2.8.3-c3163591d4-45c966ad8e.zip index 16435c0f0..a10bf2cf7 Binary files a/.yarn/cache/@parcel-packager-svg-npm-2.8.2-a7884bf9a1-7e10546425.zip and b/.yarn/cache/@parcel-packager-svg-npm-2.8.3-c3163591d4-45c966ad8e.zip differ diff --git a/.yarn/cache/@parcel-plugin-npm-2.8.2-1747a062e1-5c9f0ec6ff.zip b/.yarn/cache/@parcel-plugin-npm-2.8.3-c228eb7640-a69ac66f5c.zip old mode 100755 new mode 100644 similarity index 53% rename from .yarn/cache/@parcel-plugin-npm-2.8.2-1747a062e1-5c9f0ec6ff.zip rename to .yarn/cache/@parcel-plugin-npm-2.8.3-c228eb7640-a69ac66f5c.zip index ee49844e5..84df098c7 Binary files a/.yarn/cache/@parcel-plugin-npm-2.8.2-1747a062e1-5c9f0ec6ff.zip and b/.yarn/cache/@parcel-plugin-npm-2.8.3-c228eb7640-a69ac66f5c.zip differ diff --git a/.yarn/cache/@parcel-reporter-cli-npm-2.8.2-57fd49365f-5ac5cbb7c3.zip b/.yarn/cache/@parcel-reporter-cli-npm-2.8.2-57fd49365f-5ac5cbb7c3.zip deleted file mode 100755 index 86ad8728b..000000000 Binary files a/.yarn/cache/@parcel-reporter-cli-npm-2.8.2-57fd49365f-5ac5cbb7c3.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-reporter-cli-npm-2.8.3-d340f7fcb8-791dd4706a.zip b/.yarn/cache/@parcel-reporter-cli-npm-2.8.3-d340f7fcb8-791dd4706a.zip new file mode 100644 index 000000000..791f45b2c Binary files /dev/null and b/.yarn/cache/@parcel-reporter-cli-npm-2.8.3-d340f7fcb8-791dd4706a.zip differ diff --git a/.yarn/cache/@parcel-reporter-dev-server-npm-2.8.2-55972e618f-1efff76ed9.zip b/.yarn/cache/@parcel-reporter-dev-server-npm-2.8.2-55972e618f-1efff76ed9.zip deleted file mode 100755 index 22da914e3..000000000 Binary files a/.yarn/cache/@parcel-reporter-dev-server-npm-2.8.2-55972e618f-1efff76ed9.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-reporter-dev-server-npm-2.8.3-be7051861d-329db9fd0c.zip b/.yarn/cache/@parcel-reporter-dev-server-npm-2.8.3-be7051861d-329db9fd0c.zip new file mode 100644 index 000000000..23d9ee061 Binary files /dev/null and b/.yarn/cache/@parcel-reporter-dev-server-npm-2.8.3-be7051861d-329db9fd0c.zip differ diff --git a/.yarn/cache/@parcel-resolver-default-npm-2.8.2-f0fe8ef74c-66e0233ed6.zip b/.yarn/cache/@parcel-resolver-default-npm-2.8.3-de025989bd-40515a62c1.zip old mode 100755 new mode 100644 similarity index 70% rename from .yarn/cache/@parcel-resolver-default-npm-2.8.2-f0fe8ef74c-66e0233ed6.zip rename to .yarn/cache/@parcel-resolver-default-npm-2.8.3-de025989bd-40515a62c1.zip index 49e8bbd50..69fdc94c7 Binary files a/.yarn/cache/@parcel-resolver-default-npm-2.8.2-f0fe8ef74c-66e0233ed6.zip and b/.yarn/cache/@parcel-resolver-default-npm-2.8.3-de025989bd-40515a62c1.zip differ diff --git a/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.2-bfd277b18f-64543de8cf.zip b/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.2-bfd277b18f-64543de8cf.zip deleted file mode 100755 index 21eb8bd3c..000000000 Binary files a/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.2-bfd277b18f-64543de8cf.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.3-63941ffa5c-56c276c7b0.zip b/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.3-63941ffa5c-56c276c7b0.zip new file mode 100644 index 000000000..32c71ce58 Binary files /dev/null and b/.yarn/cache/@parcel-runtime-browser-hmr-npm-2.8.3-63941ffa5c-56c276c7b0.zip differ diff --git a/.yarn/cache/@parcel-runtime-js-npm-2.8.2-171208460f-a5c0c7d2ad.zip b/.yarn/cache/@parcel-runtime-js-npm-2.8.3-a82379279f-ee5e04f84d.zip old mode 100755 new mode 100644 similarity index 81% rename from .yarn/cache/@parcel-runtime-js-npm-2.8.2-171208460f-a5c0c7d2ad.zip rename to .yarn/cache/@parcel-runtime-js-npm-2.8.3-a82379279f-ee5e04f84d.zip index 0be8126f6..439cd1e5a Binary files a/.yarn/cache/@parcel-runtime-js-npm-2.8.2-171208460f-a5c0c7d2ad.zip and b/.yarn/cache/@parcel-runtime-js-npm-2.8.3-a82379279f-ee5e04f84d.zip differ diff --git a/.yarn/cache/@parcel-runtime-react-refresh-npm-2.8.2-2b20ac8c6d-6483b8ed55.zip b/.yarn/cache/@parcel-runtime-react-refresh-npm-2.8.3-42e337381a-327159be0c.zip old mode 100755 new mode 100644 similarity index 77% rename from .yarn/cache/@parcel-runtime-react-refresh-npm-2.8.2-2b20ac8c6d-6483b8ed55.zip rename to .yarn/cache/@parcel-runtime-react-refresh-npm-2.8.3-42e337381a-327159be0c.zip index 83e38937b..6a956933a Binary files a/.yarn/cache/@parcel-runtime-react-refresh-npm-2.8.2-2b20ac8c6d-6483b8ed55.zip and b/.yarn/cache/@parcel-runtime-react-refresh-npm-2.8.3-42e337381a-327159be0c.zip differ diff --git a/.yarn/cache/@parcel-runtime-service-worker-npm-2.8.2-1ec24cff9d-4b52703d3b.zip b/.yarn/cache/@parcel-runtime-service-worker-npm-2.8.3-426255f187-0646fee9a9.zip old mode 100755 new mode 100644 similarity index 64% rename from .yarn/cache/@parcel-runtime-service-worker-npm-2.8.2-1ec24cff9d-4b52703d3b.zip rename to .yarn/cache/@parcel-runtime-service-worker-npm-2.8.3-426255f187-0646fee9a9.zip index bccda1201..b5f661cef Binary files a/.yarn/cache/@parcel-runtime-service-worker-npm-2.8.2-1ec24cff9d-4b52703d3b.zip and b/.yarn/cache/@parcel-runtime-service-worker-npm-2.8.3-426255f187-0646fee9a9.zip differ diff --git a/.yarn/cache/@parcel-transformer-babel-npm-2.8.2-94dae9d0e8-4b2064aaba.zip b/.yarn/cache/@parcel-transformer-babel-npm-2.8.3-bd1a7cae4d-a27bbe8d89.zip old mode 100755 new mode 100644 similarity index 97% rename from .yarn/cache/@parcel-transformer-babel-npm-2.8.2-94dae9d0e8-4b2064aaba.zip rename to .yarn/cache/@parcel-transformer-babel-npm-2.8.3-bd1a7cae4d-a27bbe8d89.zip index eaaf19f45..4b3123e02 Binary files a/.yarn/cache/@parcel-transformer-babel-npm-2.8.2-94dae9d0e8-4b2064aaba.zip and b/.yarn/cache/@parcel-transformer-babel-npm-2.8.3-bd1a7cae4d-a27bbe8d89.zip differ diff --git a/.yarn/cache/@parcel-transformer-css-npm-2.8.2-283cfa7f07-d0d3121d2b.zip b/.yarn/cache/@parcel-transformer-css-npm-2.8.2-283cfa7f07-d0d3121d2b.zip deleted file mode 100755 index e0449519e..000000000 Binary files a/.yarn/cache/@parcel-transformer-css-npm-2.8.2-283cfa7f07-d0d3121d2b.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-transformer-css-npm-2.8.3-e5a36983ce-31375a1405.zip b/.yarn/cache/@parcel-transformer-css-npm-2.8.3-e5a36983ce-31375a1405.zip new file mode 100644 index 000000000..29126c1d3 Binary files /dev/null and b/.yarn/cache/@parcel-transformer-css-npm-2.8.3-e5a36983ce-31375a1405.zip differ diff --git a/.yarn/cache/@parcel-transformer-html-npm-2.8.2-998bc39b95-e3bead4866.zip b/.yarn/cache/@parcel-transformer-html-npm-2.8.2-998bc39b95-e3bead4866.zip deleted file mode 100755 index 944b6f4f1..000000000 Binary files a/.yarn/cache/@parcel-transformer-html-npm-2.8.2-998bc39b95-e3bead4866.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-transformer-html-npm-2.8.3-ce9c33e277-21600a3e0a.zip b/.yarn/cache/@parcel-transformer-html-npm-2.8.3-ce9c33e277-21600a3e0a.zip new file mode 100644 index 000000000..495efcafe Binary files /dev/null and b/.yarn/cache/@parcel-transformer-html-npm-2.8.3-ce9c33e277-21600a3e0a.zip differ diff --git a/.yarn/cache/@parcel-transformer-image-npm-2.8.2-c8f5d0643b-acfe6e06f3.zip b/.yarn/cache/@parcel-transformer-image-npm-2.8.3-ddf03325c2-f4b3464828.zip old mode 100755 new mode 100644 similarity index 85% rename from .yarn/cache/@parcel-transformer-image-npm-2.8.2-c8f5d0643b-acfe6e06f3.zip rename to .yarn/cache/@parcel-transformer-image-npm-2.8.3-ddf03325c2-f4b3464828.zip index f9e3582bf..f1db93e7c Binary files a/.yarn/cache/@parcel-transformer-image-npm-2.8.2-c8f5d0643b-acfe6e06f3.zip and b/.yarn/cache/@parcel-transformer-image-npm-2.8.3-ddf03325c2-f4b3464828.zip differ diff --git a/.yarn/cache/@parcel-transformer-inline-string-npm-2.8.2-3a03397064-5f6f4be447.zip b/.yarn/cache/@parcel-transformer-inline-string-npm-2.8.3-6e4701a9cd-23fa279e1f.zip old mode 100755 new mode 100644 similarity index 56% rename from .yarn/cache/@parcel-transformer-inline-string-npm-2.8.2-3a03397064-5f6f4be447.zip rename to .yarn/cache/@parcel-transformer-inline-string-npm-2.8.3-6e4701a9cd-23fa279e1f.zip index febf8502b..baac58657 Binary files a/.yarn/cache/@parcel-transformer-inline-string-npm-2.8.2-3a03397064-5f6f4be447.zip and b/.yarn/cache/@parcel-transformer-inline-string-npm-2.8.3-6e4701a9cd-23fa279e1f.zip differ diff --git a/.yarn/cache/@parcel-transformer-js-npm-2.8.2-79df2d6c4f-2ccbe5f98e.zip b/.yarn/cache/@parcel-transformer-js-npm-2.8.3-2fc28b9273-29fb203502.zip old mode 100755 new mode 100644 similarity index 78% rename from .yarn/cache/@parcel-transformer-js-npm-2.8.2-79df2d6c4f-2ccbe5f98e.zip rename to .yarn/cache/@parcel-transformer-js-npm-2.8.3-2fc28b9273-29fb203502.zip index 0b6c7808e..b15a3f699 Binary files a/.yarn/cache/@parcel-transformer-js-npm-2.8.2-79df2d6c4f-2ccbe5f98e.zip and b/.yarn/cache/@parcel-transformer-js-npm-2.8.3-2fc28b9273-29fb203502.zip differ diff --git a/.yarn/cache/@parcel-transformer-json-npm-2.8.2-98e2e0cf80-b22a609ae9.zip b/.yarn/cache/@parcel-transformer-json-npm-2.8.3-fe0a156dc9-04da28b0f0.zip old mode 100755 new mode 100644 similarity index 61% rename from .yarn/cache/@parcel-transformer-json-npm-2.8.2-98e2e0cf80-b22a609ae9.zip rename to .yarn/cache/@parcel-transformer-json-npm-2.8.3-fe0a156dc9-04da28b0f0.zip index 755721c31..68129bf25 Binary files a/.yarn/cache/@parcel-transformer-json-npm-2.8.2-98e2e0cf80-b22a609ae9.zip and b/.yarn/cache/@parcel-transformer-json-npm-2.8.3-fe0a156dc9-04da28b0f0.zip differ diff --git a/.yarn/cache/@parcel-transformer-postcss-npm-2.8.2-547cd470da-ee152a91fb.zip b/.yarn/cache/@parcel-transformer-postcss-npm-2.8.3-eb5a87320d-2c75cb5cec.zip old mode 100755 new mode 100644 similarity index 92% rename from .yarn/cache/@parcel-transformer-postcss-npm-2.8.2-547cd470da-ee152a91fb.zip rename to .yarn/cache/@parcel-transformer-postcss-npm-2.8.3-eb5a87320d-2c75cb5cec.zip index fd2e63121..0719d5cdf Binary files a/.yarn/cache/@parcel-transformer-postcss-npm-2.8.2-547cd470da-ee152a91fb.zip and b/.yarn/cache/@parcel-transformer-postcss-npm-2.8.3-eb5a87320d-2c75cb5cec.zip differ diff --git a/.yarn/cache/@parcel-transformer-posthtml-npm-2.8.2-76f67e31b6-4865968546.zip b/.yarn/cache/@parcel-transformer-posthtml-npm-2.8.3-243f774b7a-130c95782a.zip old mode 100755 new mode 100644 similarity index 77% rename from .yarn/cache/@parcel-transformer-posthtml-npm-2.8.2-76f67e31b6-4865968546.zip rename to .yarn/cache/@parcel-transformer-posthtml-npm-2.8.3-243f774b7a-130c95782a.zip index b67b15f4c..213e503a9 Binary files a/.yarn/cache/@parcel-transformer-posthtml-npm-2.8.2-76f67e31b6-4865968546.zip and b/.yarn/cache/@parcel-transformer-posthtml-npm-2.8.3-243f774b7a-130c95782a.zip differ diff --git a/.yarn/cache/@parcel-transformer-raw-npm-2.8.2-a43c4fa2f7-386f64445a.zip b/.yarn/cache/@parcel-transformer-raw-npm-2.8.3-766b11ad19-371263bb52.zip old mode 100755 new mode 100644 similarity index 56% rename from .yarn/cache/@parcel-transformer-raw-npm-2.8.2-a43c4fa2f7-386f64445a.zip rename to .yarn/cache/@parcel-transformer-raw-npm-2.8.3-766b11ad19-371263bb52.zip index fe5decf96..19491751d Binary files a/.yarn/cache/@parcel-transformer-raw-npm-2.8.2-a43c4fa2f7-386f64445a.zip and b/.yarn/cache/@parcel-transformer-raw-npm-2.8.3-766b11ad19-371263bb52.zip differ diff --git a/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.2-62e6dd04c2-d091ab4a25.zip b/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.3-bb497d2643-e9648e04b7.zip old mode 100755 new mode 100644 similarity index 80% rename from .yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.2-62e6dd04c2-d091ab4a25.zip rename to .yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.3-bb497d2643-e9648e04b7.zip index 07ed434f0..d19cf7d0b Binary files a/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.2-62e6dd04c2-d091ab4a25.zip and b/.yarn/cache/@parcel-transformer-react-refresh-wrap-npm-2.8.3-bb497d2643-e9648e04b7.zip differ diff --git a/.yarn/cache/@parcel-transformer-sass-npm-2.8.2-4e0c2f2900-42bbfa9401.zip b/.yarn/cache/@parcel-transformer-sass-npm-2.8.3-6c449bba66-9cb32b3906.zip old mode 100755 new mode 100644 similarity index 81% rename from .yarn/cache/@parcel-transformer-sass-npm-2.8.2-4e0c2f2900-42bbfa9401.zip rename to .yarn/cache/@parcel-transformer-sass-npm-2.8.3-6c449bba66-9cb32b3906.zip index a1ae546d8..371b47c1b Binary files a/.yarn/cache/@parcel-transformer-sass-npm-2.8.2-4e0c2f2900-42bbfa9401.zip and b/.yarn/cache/@parcel-transformer-sass-npm-2.8.3-6c449bba66-9cb32b3906.zip differ diff --git a/.yarn/cache/@parcel-transformer-svg-npm-2.8.2-c8870e67e5-e4522b69e3.zip b/.yarn/cache/@parcel-transformer-svg-npm-2.8.3-b6f4c84f7a-1f3db309e4.zip old mode 100755 new mode 100644 similarity index 83% rename from .yarn/cache/@parcel-transformer-svg-npm-2.8.2-c8870e67e5-e4522b69e3.zip rename to .yarn/cache/@parcel-transformer-svg-npm-2.8.3-b6f4c84f7a-1f3db309e4.zip index a697b835d..b3836d498 Binary files a/.yarn/cache/@parcel-transformer-svg-npm-2.8.2-c8870e67e5-e4522b69e3.zip and b/.yarn/cache/@parcel-transformer-svg-npm-2.8.3-b6f4c84f7a-1f3db309e4.zip differ diff --git a/.yarn/cache/@parcel-types-npm-2.8.2-4a1952be09-04b3d5f199.zip b/.yarn/cache/@parcel-types-npm-2.8.2-4a1952be09-04b3d5f199.zip deleted file mode 100755 index d524b9223..000000000 Binary files a/.yarn/cache/@parcel-types-npm-2.8.2-4a1952be09-04b3d5f199.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-types-npm-2.8.3-394e8cefff-ece0abdd5c.zip b/.yarn/cache/@parcel-types-npm-2.8.3-394e8cefff-ece0abdd5c.zip new file mode 100644 index 000000000..e92d38823 Binary files /dev/null and b/.yarn/cache/@parcel-types-npm-2.8.3-394e8cefff-ece0abdd5c.zip differ diff --git a/.yarn/cache/@parcel-utils-npm-2.8.2-8c378b4d3a-fcbc70426e.zip b/.yarn/cache/@parcel-utils-npm-2.8.2-8c378b4d3a-fcbc70426e.zip deleted file mode 100755 index 7509c388e..000000000 Binary files a/.yarn/cache/@parcel-utils-npm-2.8.2-8c378b4d3a-fcbc70426e.zip and /dev/null differ diff --git a/.yarn/cache/@parcel-utils-npm-2.8.3-13fd8c7807-69edf3e7c3.zip b/.yarn/cache/@parcel-utils-npm-2.8.3-13fd8c7807-69edf3e7c3.zip new file mode 100644 index 000000000..71a485806 Binary files /dev/null and b/.yarn/cache/@parcel-utils-npm-2.8.3-13fd8c7807-69edf3e7c3.zip differ diff --git a/.yarn/cache/@parcel-workers-npm-2.8.2-48e612dc38-df3f793301.zip b/.yarn/cache/@parcel-workers-npm-2.8.3-39050bfde5-e3168b3e9e.zip old mode 100755 new mode 100644 similarity index 88% rename from .yarn/cache/@parcel-workers-npm-2.8.2-48e612dc38-df3f793301.zip rename to .yarn/cache/@parcel-workers-npm-2.8.3-39050bfde5-e3168b3e9e.zip index 735f899f1..c1a47cfa1 Binary files a/.yarn/cache/@parcel-workers-npm-2.8.2-48e612dc38-df3f793301.zip and b/.yarn/cache/@parcel-workers-npm-2.8.3-39050bfde5-e3168b3e9e.zip differ diff --git a/.yarn/cache/@vue-compiler-core-npm-3.2.45-2a68bebbd0-e3c687b24c.zip b/.yarn/cache/@vue-compiler-core-npm-3.2.45-2a68bebbd0-e3c687b24c.zip deleted file mode 100644 index ed284ac63..000000000 Binary files a/.yarn/cache/@vue-compiler-core-npm-3.2.45-2a68bebbd0-e3c687b24c.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-core-npm-3.2.47-bb08feddfe-9ccc2a0b89.zip b/.yarn/cache/@vue-compiler-core-npm-3.2.47-bb08feddfe-9ccc2a0b89.zip new file mode 100644 index 000000000..a9c27c0e8 Binary files /dev/null and b/.yarn/cache/@vue-compiler-core-npm-3.2.47-bb08feddfe-9ccc2a0b89.zip differ diff --git a/.yarn/cache/@vue-compiler-dom-npm-3.2.45-e742186d0b-8911553863.zip b/.yarn/cache/@vue-compiler-dom-npm-3.2.45-e742186d0b-8911553863.zip deleted file mode 100644 index f8b1d3cb1..000000000 Binary files a/.yarn/cache/@vue-compiler-dom-npm-3.2.45-e742186d0b-8911553863.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-dom-npm-3.2.47-a1a6348264-1eced735f8.zip b/.yarn/cache/@vue-compiler-dom-npm-3.2.47-a1a6348264-1eced735f8.zip new file mode 100644 index 000000000..28c544e9c Binary files /dev/null and b/.yarn/cache/@vue-compiler-dom-npm-3.2.47-a1a6348264-1eced735f8.zip differ diff --git a/.yarn/cache/@vue-compiler-sfc-npm-3.2.45-f1fe8426df-bec375faa0.zip b/.yarn/cache/@vue-compiler-sfc-npm-3.2.45-f1fe8426df-bec375faa0.zip deleted file mode 100644 index 43158bc25..000000000 Binary files a/.yarn/cache/@vue-compiler-sfc-npm-3.2.45-f1fe8426df-bec375faa0.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-sfc-npm-3.2.47-d9eca6b75b-4588a51331.zip b/.yarn/cache/@vue-compiler-sfc-npm-3.2.47-d9eca6b75b-4588a51331.zip new file mode 100644 index 000000000..792c794dc Binary files /dev/null and b/.yarn/cache/@vue-compiler-sfc-npm-3.2.47-d9eca6b75b-4588a51331.zip differ diff --git a/.yarn/cache/@vue-compiler-ssr-npm-3.2.45-0b951e5028-830c475506.zip b/.yarn/cache/@vue-compiler-ssr-npm-3.2.45-0b951e5028-830c475506.zip deleted file mode 100644 index 062ff3555..000000000 Binary files a/.yarn/cache/@vue-compiler-ssr-npm-3.2.45-0b951e5028-830c475506.zip and /dev/null differ diff --git a/.yarn/cache/@vue-compiler-ssr-npm-3.2.47-c46fb0bb52-91bc6e4674.zip b/.yarn/cache/@vue-compiler-ssr-npm-3.2.47-c46fb0bb52-91bc6e4674.zip new file mode 100644 index 000000000..96c0b15a8 Binary files /dev/null and b/.yarn/cache/@vue-compiler-ssr-npm-3.2.47-c46fb0bb52-91bc6e4674.zip differ diff --git a/.yarn/cache/@vue-reactivity-npm-3.2.45-bc3378a52c-4ba609744a.zip b/.yarn/cache/@vue-reactivity-npm-3.2.45-bc3378a52c-4ba609744a.zip deleted file mode 100644 index 87e413029..000000000 Binary files a/.yarn/cache/@vue-reactivity-npm-3.2.45-bc3378a52c-4ba609744a.zip and /dev/null differ diff --git a/.yarn/cache/@vue-reactivity-npm-3.2.47-1182f7aa47-bd61134e4b.zip b/.yarn/cache/@vue-reactivity-npm-3.2.47-1182f7aa47-bd61134e4b.zip new file mode 100644 index 000000000..149946e82 Binary files /dev/null and b/.yarn/cache/@vue-reactivity-npm-3.2.47-1182f7aa47-bd61134e4b.zip differ diff --git a/.yarn/cache/@vue-reactivity-transform-npm-3.2.45-05914b9134-4010408189.zip b/.yarn/cache/@vue-reactivity-transform-npm-3.2.45-05914b9134-4010408189.zip deleted file mode 100644 index bcecaa12f..000000000 Binary files a/.yarn/cache/@vue-reactivity-transform-npm-3.2.45-05914b9134-4010408189.zip and /dev/null differ diff --git a/.yarn/cache/@vue-reactivity-transform-npm-3.2.47-89701a53ab-6fe54374aa.zip b/.yarn/cache/@vue-reactivity-transform-npm-3.2.47-89701a53ab-6fe54374aa.zip new file mode 100644 index 000000000..3d7a85c70 Binary files /dev/null and b/.yarn/cache/@vue-reactivity-transform-npm-3.2.47-89701a53ab-6fe54374aa.zip differ diff --git a/.yarn/cache/@vue-runtime-core-npm-3.2.45-084482e779-0ac376a760.zip b/.yarn/cache/@vue-runtime-core-npm-3.2.45-084482e779-0ac376a760.zip deleted file mode 100644 index 37599d433..000000000 Binary files a/.yarn/cache/@vue-runtime-core-npm-3.2.45-084482e779-0ac376a760.zip and /dev/null differ diff --git a/.yarn/cache/@vue-runtime-core-npm-3.2.47-d5ec5c27c7-56fd41368c.zip b/.yarn/cache/@vue-runtime-core-npm-3.2.47-d5ec5c27c7-56fd41368c.zip new file mode 100644 index 000000000..780efab26 Binary files /dev/null and b/.yarn/cache/@vue-runtime-core-npm-3.2.47-d5ec5c27c7-56fd41368c.zip differ diff --git a/.yarn/cache/@vue-runtime-dom-npm-3.2.45-6ab018299f-c66c71a2fc.zip b/.yarn/cache/@vue-runtime-dom-npm-3.2.45-6ab018299f-c66c71a2fc.zip deleted file mode 100644 index 05fd0c423..000000000 Binary files a/.yarn/cache/@vue-runtime-dom-npm-3.2.45-6ab018299f-c66c71a2fc.zip and /dev/null differ diff --git a/.yarn/cache/@vue-runtime-dom-npm-3.2.47-da74228cd1-8987d72761.zip b/.yarn/cache/@vue-runtime-dom-npm-3.2.47-da74228cd1-8987d72761.zip new file mode 100644 index 000000000..7399438db Binary files /dev/null and b/.yarn/cache/@vue-runtime-dom-npm-3.2.47-da74228cd1-8987d72761.zip differ diff --git a/.yarn/cache/@vue-server-renderer-npm-3.2.45-dbee798520-062812235c.zip b/.yarn/cache/@vue-server-renderer-npm-3.2.45-dbee798520-062812235c.zip deleted file mode 100644 index 1b0080fc0..000000000 Binary files a/.yarn/cache/@vue-server-renderer-npm-3.2.45-dbee798520-062812235c.zip and /dev/null differ diff --git a/.yarn/cache/@vue-server-renderer-npm-3.2.47-b845561a5d-482fe3c9bb.zip b/.yarn/cache/@vue-server-renderer-npm-3.2.47-b845561a5d-482fe3c9bb.zip new file mode 100644 index 000000000..a848ae260 Binary files /dev/null and b/.yarn/cache/@vue-server-renderer-npm-3.2.47-b845561a5d-482fe3c9bb.zip differ diff --git a/.yarn/cache/@vue-shared-npm-3.2.45-1855c9c551-ff3205056c.zip b/.yarn/cache/@vue-shared-npm-3.2.45-1855c9c551-ff3205056c.zip deleted file mode 100644 index 1b4a2dc3c..000000000 Binary files a/.yarn/cache/@vue-shared-npm-3.2.45-1855c9c551-ff3205056c.zip and /dev/null differ diff --git a/.yarn/cache/@vue-shared-npm-3.2.47-efa4e85dc8-0aa711dc91.zip b/.yarn/cache/@vue-shared-npm-3.2.47-efa4e85dc8-0aa711dc91.zip new file mode 100644 index 000000000..975c32d82 Binary files /dev/null and b/.yarn/cache/@vue-shared-npm-3.2.47-efa4e85dc8-0aa711dc91.zip differ diff --git a/.yarn/cache/array-includes-npm-3.1.4-79bb883109-69967c38c5.zip b/.yarn/cache/array-includes-npm-3.1.4-79bb883109-69967c38c5.zip deleted file mode 100644 index c88aec7c2..000000000 Binary files a/.yarn/cache/array-includes-npm-3.1.4-79bb883109-69967c38c5.zip and /dev/null differ diff --git a/.yarn/cache/array-includes-npm-3.1.6-d0ff9d248b-f22f8cd8ba.zip b/.yarn/cache/array-includes-npm-3.1.6-d0ff9d248b-f22f8cd8ba.zip new file mode 100644 index 000000000..a1083551b Binary files /dev/null and b/.yarn/cache/array-includes-npm-3.1.6-d0ff9d248b-f22f8cd8ba.zip differ diff --git a/.yarn/cache/array.prototype.flat-npm-1.3.0-6c5c4292bd-2a652b3e8d.zip b/.yarn/cache/array.prototype.flat-npm-1.3.1-e9a9e389c0-5a8415949d.zip similarity index 59% rename from .yarn/cache/array.prototype.flat-npm-1.3.0-6c5c4292bd-2a652b3e8d.zip rename to .yarn/cache/array.prototype.flat-npm-1.3.1-e9a9e389c0-5a8415949d.zip index 66f81fb0a..f3e42570b 100644 Binary files a/.yarn/cache/array.prototype.flat-npm-1.3.0-6c5c4292bd-2a652b3e8d.zip and b/.yarn/cache/array.prototype.flat-npm-1.3.1-e9a9e389c0-5a8415949d.zip differ diff --git a/.yarn/cache/array.prototype.flatmap-npm-1.3.1-c65186ca34-8c1c43a499.zip b/.yarn/cache/array.prototype.flatmap-npm-1.3.1-c65186ca34-8c1c43a499.zip new file mode 100644 index 000000000..a791d28dc Binary files /dev/null and b/.yarn/cache/array.prototype.flatmap-npm-1.3.1-c65186ca34-8c1c43a499.zip differ diff --git a/.yarn/cache/available-typed-arrays-npm-1.0.5-88f321e4d3-20eb47b3ce.zip b/.yarn/cache/available-typed-arrays-npm-1.0.5-88f321e4d3-20eb47b3ce.zip new file mode 100644 index 000000000..62f8601d5 Binary files /dev/null and b/.yarn/cache/available-typed-arrays-npm-1.0.5-88f321e4d3-20eb47b3ce.zip differ diff --git a/.yarn/cache/browser-fs-access-npm-0.31.1-c276b62f78-4a5c88839e.zip b/.yarn/cache/browser-fs-access-npm-0.31.2-50ee378361-eb1c908bd4.zip similarity index 72% rename from .yarn/cache/browser-fs-access-npm-0.31.1-c276b62f78-4a5c88839e.zip rename to .yarn/cache/browser-fs-access-npm-0.31.2-50ee378361-eb1c908bd4.zip index 0b50bb2da..efde8058b 100644 Binary files a/.yarn/cache/browser-fs-access-npm-0.31.1-c276b62f78-4a5c88839e.zip and b/.yarn/cache/browser-fs-access-npm-0.31.2-50ee378361-eb1c908bd4.zip differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip deleted file mode 100755 index 698cd7ec9..000000000 Binary files a/.yarn/cache/caniuse-lite-npm-1.0.30001442-4206643829-c1bff65bd4.zip and /dev/null differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001450-728fe790ae-511b360bfc.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001450-728fe790ae-511b360bfc.zip new file mode 100644 index 000000000..49ce21a38 Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001450-728fe790ae-511b360bfc.zip differ diff --git a/.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip b/.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip deleted file mode 100755 index c4600b4d0..000000000 Binary files a/.yarn/cache/d3-npm-7.8.0-43f19bbccd-383d2c8aa6.zip and /dev/null differ diff --git a/.yarn/cache/d3-npm-7.8.2-7d3206dc99-e7bf5918f2.zip b/.yarn/cache/d3-npm-7.8.2-7d3206dc99-e7bf5918f2.zip new file mode 100644 index 000000000..43eed51e0 Binary files /dev/null and b/.yarn/cache/d3-npm-7.8.2-7d3206dc99-e7bf5918f2.zip differ diff --git a/.yarn/cache/es-abstract-npm-1.19.5-524a87d262-55199b0f17.zip b/.yarn/cache/es-abstract-npm-1.19.5-524a87d262-55199b0f17.zip deleted file mode 100644 index 9c6cf6749..000000000 Binary files a/.yarn/cache/es-abstract-npm-1.19.5-524a87d262-55199b0f17.zip and /dev/null differ diff --git a/.yarn/cache/es-abstract-npm-1.21.1-28d9a4a469-23ff60d42d.zip b/.yarn/cache/es-abstract-npm-1.21.1-28d9a4a469-23ff60d42d.zip new file mode 100644 index 000000000..46e5d7d32 Binary files /dev/null and b/.yarn/cache/es-abstract-npm-1.21.1-28d9a4a469-23ff60d42d.zip differ diff --git a/.yarn/cache/es-set-tostringtag-npm-2.0.1-c87b5de872-ec416a1294.zip b/.yarn/cache/es-set-tostringtag-npm-2.0.1-c87b5de872-ec416a1294.zip new file mode 100644 index 000000000..af638f13c Binary files /dev/null and b/.yarn/cache/es-set-tostringtag-npm-2.0.1-c87b5de872-ec416a1294.zip differ diff --git a/.yarn/cache/eslint-import-resolver-node-npm-0.3.6-d9426786c6-6266733af1.zip b/.yarn/cache/eslint-import-resolver-node-npm-0.3.6-d9426786c6-6266733af1.zip deleted file mode 100644 index a4588dad4..000000000 Binary files a/.yarn/cache/eslint-import-resolver-node-npm-0.3.6-d9426786c6-6266733af1.zip and /dev/null differ diff --git a/.yarn/cache/eslint-import-resolver-node-npm-0.3.7-65bed19543-3379aacf1d.zip b/.yarn/cache/eslint-import-resolver-node-npm-0.3.7-65bed19543-3379aacf1d.zip new file mode 100644 index 000000000..f9111a337 Binary files /dev/null and b/.yarn/cache/eslint-import-resolver-node-npm-0.3.7-65bed19543-3379aacf1d.zip differ diff --git a/.yarn/cache/eslint-module-utils-npm-2.7.3-ccd32fe6fd-77048263f3.zip b/.yarn/cache/eslint-module-utils-npm-2.7.3-ccd32fe6fd-77048263f3.zip deleted file mode 100644 index 647dc4960..000000000 Binary files a/.yarn/cache/eslint-module-utils-npm-2.7.3-ccd32fe6fd-77048263f3.zip and /dev/null differ diff --git a/.yarn/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip b/.yarn/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip new file mode 100644 index 000000000..005d442b0 Binary files /dev/null and b/.yarn/cache/eslint-module-utils-npm-2.7.4-a1640084cb-5da13645da.zip differ diff --git a/.yarn/cache/eslint-npm-8.31.0-da99c7e469-5e5688bb86.zip b/.yarn/cache/eslint-npm-8.33.0-88a30ca58a-727e63ab8b.zip old mode 100755 new mode 100644 similarity index 90% rename from .yarn/cache/eslint-npm-8.31.0-da99c7e469-5e5688bb86.zip rename to .yarn/cache/eslint-npm-8.33.0-88a30ca58a-727e63ab8b.zip index f91ee3f7b..7fb0eb24e Binary files a/.yarn/cache/eslint-npm-8.31.0-da99c7e469-5e5688bb86.zip and b/.yarn/cache/eslint-npm-8.33.0-88a30ca58a-727e63ab8b.zip differ diff --git a/.yarn/cache/eslint-plugin-import-npm-2.26.0-959fe14a01-0bf77ad803.zip b/.yarn/cache/eslint-plugin-import-npm-2.26.0-959fe14a01-0bf77ad803.zip deleted file mode 100644 index 62c5e22fd..000000000 Binary files a/.yarn/cache/eslint-plugin-import-npm-2.26.0-959fe14a01-0bf77ad803.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-import-npm-2.27.5-35b044b26f-f500571a38.zip b/.yarn/cache/eslint-plugin-import-npm-2.27.5-35b044b26f-f500571a38.zip new file mode 100644 index 000000000..6b2c4b1f3 Binary files /dev/null and b/.yarn/cache/eslint-plugin-import-npm-2.27.5-35b044b26f-f500571a38.zip differ diff --git a/.yarn/cache/eslint-plugin-vue-npm-9.8.0-ad98dd7e70-f3fc36512f.zip b/.yarn/cache/eslint-plugin-vue-npm-9.9.0-2bc6a9fe58-059f9c1915.zip similarity index 83% rename from .yarn/cache/eslint-plugin-vue-npm-9.8.0-ad98dd7e70-f3fc36512f.zip rename to .yarn/cache/eslint-plugin-vue-npm-9.9.0-2bc6a9fe58-059f9c1915.zip index 639ff3c6a..59a0f4d8a 100644 Binary files a/.yarn/cache/eslint-plugin-vue-npm-9.8.0-ad98dd7e70-f3fc36512f.zip and b/.yarn/cache/eslint-plugin-vue-npm-9.9.0-2bc6a9fe58-059f9c1915.zip differ diff --git a/.yarn/cache/find-up-npm-2.1.0-9f6cb1765c-43284fe4da.zip b/.yarn/cache/find-up-npm-2.1.0-9f6cb1765c-43284fe4da.zip deleted file mode 100644 index 6b2c2d9da..000000000 Binary files a/.yarn/cache/find-up-npm-2.1.0-9f6cb1765c-43284fe4da.zip and /dev/null differ diff --git a/.yarn/cache/for-each-npm-0.3.3-0010ca8cdd-6c48ff2bc6.zip b/.yarn/cache/for-each-npm-0.3.3-0010ca8cdd-6c48ff2bc6.zip new file mode 100644 index 000000000..7ba7b1639 Binary files /dev/null and b/.yarn/cache/for-each-npm-0.3.3-0010ca8cdd-6c48ff2bc6.zip differ diff --git a/.yarn/cache/function.prototype.name-npm-1.1.5-e776a642bb-acd21d733a.zip b/.yarn/cache/function.prototype.name-npm-1.1.5-e776a642bb-acd21d733a.zip new file mode 100644 index 000000000..ac0af539e Binary files /dev/null and b/.yarn/cache/function.prototype.name-npm-1.1.5-e776a642bb-acd21d733a.zip differ diff --git a/.yarn/cache/functions-have-names-npm-1.2.3-e5cf1e2208-c3f1f5ba20.zip b/.yarn/cache/functions-have-names-npm-1.2.3-e5cf1e2208-c3f1f5ba20.zip new file mode 100644 index 000000000..931661976 Binary files /dev/null and b/.yarn/cache/functions-have-names-npm-1.2.3-e5cf1e2208-c3f1f5ba20.zip differ diff --git a/.yarn/cache/get-intrinsic-npm-1.2.0-eb08ea9b1d-78fc0487b7.zip b/.yarn/cache/get-intrinsic-npm-1.2.0-eb08ea9b1d-78fc0487b7.zip new file mode 100644 index 000000000..2ed7c8918 Binary files /dev/null and b/.yarn/cache/get-intrinsic-npm-1.2.0-eb08ea9b1d-78fc0487b7.zip differ diff --git a/.yarn/cache/globalthis-npm-1.0.3-96cd56020d-fbd7d760dc.zip b/.yarn/cache/globalthis-npm-1.0.3-96cd56020d-fbd7d760dc.zip new file mode 100644 index 000000000..b82d79dba Binary files /dev/null and b/.yarn/cache/globalthis-npm-1.0.3-96cd56020d-fbd7d760dc.zip differ diff --git a/.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip b/.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip new file mode 100644 index 000000000..cafca6775 Binary files /dev/null and b/.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip differ diff --git a/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip b/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip new file mode 100644 index 000000000..78afc3de4 Binary files /dev/null and b/.yarn/cache/has-proto-npm-1.0.1-631ea9d820-febc5b5b53.zip differ diff --git a/.yarn/cache/highcharts-npm-10.3.2-1672942f09-43cb42b24c.zip b/.yarn/cache/highcharts-npm-10.3.3-c7af5563d7-f406901094.zip similarity index 50% rename from .yarn/cache/highcharts-npm-10.3.2-1672942f09-43cb42b24c.zip rename to .yarn/cache/highcharts-npm-10.3.3-c7af5563d7-f406901094.zip index 410fae01e..b8f55eb02 100644 Binary files a/.yarn/cache/highcharts-npm-10.3.2-1672942f09-43cb42b24c.zip and b/.yarn/cache/highcharts-npm-10.3.3-c7af5563d7-f406901094.zip differ diff --git a/.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip b/.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip deleted file mode 100755 index 680577511..000000000 Binary files a/.yarn/cache/html-validate-npm-7.12.2-4a7c5f12a3-04bccd1680.zip and /dev/null differ diff --git a/.yarn/cache/html-validate-npm-7.13.1-8abf13631a-81aa406395.zip b/.yarn/cache/html-validate-npm-7.13.1-8abf13631a-81aa406395.zip new file mode 100644 index 000000000..4980b2a16 Binary files /dev/null and b/.yarn/cache/html-validate-npm-7.13.1-8abf13631a-81aa406395.zip differ diff --git a/.yarn/cache/internal-slot-npm-1.0.3-9e05eea002-1944f92e98.zip b/.yarn/cache/internal-slot-npm-1.0.3-9e05eea002-1944f92e98.zip deleted file mode 100644 index 18c6edaa9..000000000 Binary files a/.yarn/cache/internal-slot-npm-1.0.3-9e05eea002-1944f92e98.zip and /dev/null differ diff --git a/.yarn/cache/internal-slot-npm-1.0.4-9183007374-8974588d06.zip b/.yarn/cache/internal-slot-npm-1.0.4-9183007374-8974588d06.zip new file mode 100644 index 000000000..cba2d7ba6 Binary files /dev/null and b/.yarn/cache/internal-slot-npm-1.0.4-9183007374-8974588d06.zip differ diff --git a/.yarn/cache/is-array-buffer-npm-3.0.1-3e93b14326-f26ab87448.zip b/.yarn/cache/is-array-buffer-npm-3.0.1-3e93b14326-f26ab87448.zip new file mode 100644 index 000000000..4fb5eb363 Binary files /dev/null and b/.yarn/cache/is-array-buffer-npm-3.0.1-3e93b14326-f26ab87448.zip differ diff --git a/.yarn/cache/is-callable-npm-1.2.7-808a303e61-61fd57d03b.zip b/.yarn/cache/is-callable-npm-1.2.7-808a303e61-61fd57d03b.zip new file mode 100644 index 000000000..0e383ae51 Binary files /dev/null and b/.yarn/cache/is-callable-npm-1.2.7-808a303e61-61fd57d03b.zip differ diff --git a/.yarn/cache/is-typed-array-npm-1.1.10-fe4ef83cdc-aac6ecb59d.zip b/.yarn/cache/is-typed-array-npm-1.1.10-fe4ef83cdc-aac6ecb59d.zip new file mode 100644 index 000000000..b3a4495f9 Binary files /dev/null and b/.yarn/cache/is-typed-array-npm-1.1.10-fe4ef83cdc-aac6ecb59d.zip differ diff --git a/.yarn/cache/locate-path-npm-2.0.0-673d28b0ea-02d581edbb.zip b/.yarn/cache/locate-path-npm-2.0.0-673d28b0ea-02d581edbb.zip deleted file mode 100644 index 0841fd1c1..000000000 Binary files a/.yarn/cache/locate-path-npm-2.0.0-673d28b0ea-02d581edbb.zip and /dev/null differ diff --git a/.yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip b/.yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip new file mode 100644 index 000000000..ec58095dc Binary files /dev/null and b/.yarn/cache/object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip differ diff --git a/.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip b/.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip deleted file mode 100644 index 0031b9781..000000000 Binary files a/.yarn/cache/object.assign-npm-4.1.2-d52edada1c-d621d832ed.zip and /dev/null differ diff --git a/.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip b/.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip new file mode 100644 index 000000000..8a1fef055 Binary files /dev/null and b/.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip differ diff --git a/.yarn/cache/object.values-npm-1.1.5-f1de7f3742-0f17e99741.zip b/.yarn/cache/object.values-npm-1.1.5-f1de7f3742-0f17e99741.zip deleted file mode 100644 index e03d02d7d..000000000 Binary files a/.yarn/cache/object.values-npm-1.1.5-f1de7f3742-0f17e99741.zip and /dev/null differ diff --git a/.yarn/cache/object.values-npm-1.1.6-ab9b67ccd3-f6fff9fd81.zip b/.yarn/cache/object.values-npm-1.1.6-ab9b67ccd3-f6fff9fd81.zip new file mode 100644 index 000000000..679cbd793 Binary files /dev/null and b/.yarn/cache/object.values-npm-1.1.6-ab9b67ccd3-f6fff9fd81.zip differ diff --git a/.yarn/cache/p-limit-npm-1.3.0-fdb471d864-281c1c0b8c.zip b/.yarn/cache/p-limit-npm-1.3.0-fdb471d864-281c1c0b8c.zip deleted file mode 100644 index 96906babd..000000000 Binary files a/.yarn/cache/p-limit-npm-1.3.0-fdb471d864-281c1c0b8c.zip and /dev/null differ diff --git a/.yarn/cache/p-locate-npm-2.0.0-3a2ee263dd-e2dceb9b49.zip b/.yarn/cache/p-locate-npm-2.0.0-3a2ee263dd-e2dceb9b49.zip deleted file mode 100644 index f6f9f09b9..000000000 Binary files a/.yarn/cache/p-locate-npm-2.0.0-3a2ee263dd-e2dceb9b49.zip and /dev/null differ diff --git a/.yarn/cache/p-try-npm-1.0.0-7373139e40-3b5303f77e.zip b/.yarn/cache/p-try-npm-1.0.0-7373139e40-3b5303f77e.zip deleted file mode 100644 index e12bd247e..000000000 Binary files a/.yarn/cache/p-try-npm-1.0.0-7373139e40-3b5303f77e.zip and /dev/null differ diff --git a/.yarn/cache/parcel-npm-2.8.2-7cad55fa52-b95ef40bad.zip b/.yarn/cache/parcel-npm-2.8.3-5d8a8e1092-09cd2dc23c.zip old mode 100755 new mode 100644 similarity index 92% rename from .yarn/cache/parcel-npm-2.8.2-7cad55fa52-b95ef40bad.zip rename to .yarn/cache/parcel-npm-2.8.3-5d8a8e1092-09cd2dc23c.zip index 407cc84d4..c703c90cc Binary files a/.yarn/cache/parcel-npm-2.8.2-7cad55fa52-b95ef40bad.zip and b/.yarn/cache/parcel-npm-2.8.3-5d8a8e1092-09cd2dc23c.zip differ diff --git a/.yarn/cache/path-exists-npm-3.0.0-e80371aa68-96e92643aa.zip b/.yarn/cache/path-exists-npm-3.0.0-e80371aa68-96e92643aa.zip deleted file mode 100644 index bdaa46fd3..000000000 Binary files a/.yarn/cache/path-exists-npm-3.0.0-e80371aa68-96e92643aa.zip and /dev/null differ diff --git a/.yarn/cache/pinia-npm-2.0.28-9b0289223e-d515cd6220.zip b/.yarn/cache/pinia-npm-2.0.28-9b0289223e-d515cd6220.zip deleted file mode 100755 index acea97a13..000000000 Binary files a/.yarn/cache/pinia-npm-2.0.28-9b0289223e-d515cd6220.zip and /dev/null differ diff --git a/.yarn/cache/pinia-npm-2.0.30-750a67a440-2522d3700e.zip b/.yarn/cache/pinia-npm-2.0.30-750a67a440-2522d3700e.zip new file mode 100644 index 000000000..2202a295d Binary files /dev/null and b/.yarn/cache/pinia-npm-2.0.30-750a67a440-2522d3700e.zip differ diff --git a/.yarn/cache/regexp.prototype.flags-npm-1.4.3-df1c08b65d-51228bae73.zip b/.yarn/cache/regexp.prototype.flags-npm-1.4.3-df1c08b65d-51228bae73.zip new file mode 100644 index 000000000..9e56b1a48 Binary files /dev/null and b/.yarn/cache/regexp.prototype.flags-npm-1.4.3-df1c08b65d-51228bae73.zip differ diff --git a/.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip b/.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip new file mode 100644 index 000000000..9e9dbfc63 Binary files /dev/null and b/.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip differ diff --git a/.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip b/.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip deleted file mode 100755 index 5979d6ab7..000000000 Binary files a/.yarn/cache/sass-npm-1.57.1-bafdba484f-734a08781b.zip and /dev/null differ diff --git a/.yarn/cache/sass-npm-1.58.0-350bf3b1b6-a721963488.zip b/.yarn/cache/sass-npm-1.58.0-350bf3b1b6-a721963488.zip new file mode 100644 index 000000000..3c565fd56 Binary files /dev/null and b/.yarn/cache/sass-npm-1.58.0-350bf3b1b6-a721963488.zip differ diff --git a/.yarn/cache/srcset-npm-4.0.0-4e99d43236-aceb898c92.zip b/.yarn/cache/srcset-npm-4.0.0-4e99d43236-aceb898c92.zip new file mode 100644 index 000000000..2c5170b49 Binary files /dev/null and b/.yarn/cache/srcset-npm-4.0.0-4e99d43236-aceb898c92.zip differ diff --git a/.yarn/cache/string.prototype.trimend-npm-1.0.4-a656b8fe24-17e5aa45c3.zip b/.yarn/cache/string.prototype.trimend-npm-1.0.4-a656b8fe24-17e5aa45c3.zip deleted file mode 100644 index 3a6cb8db6..000000000 Binary files a/.yarn/cache/string.prototype.trimend-npm-1.0.4-a656b8fe24-17e5aa45c3.zip and /dev/null differ diff --git a/.yarn/cache/string.prototype.trimend-npm-1.0.6-304246ecc1-0fdc34645a.zip b/.yarn/cache/string.prototype.trimend-npm-1.0.6-304246ecc1-0fdc34645a.zip new file mode 100644 index 000000000..c28cc815b Binary files /dev/null and b/.yarn/cache/string.prototype.trimend-npm-1.0.6-304246ecc1-0fdc34645a.zip differ diff --git a/.yarn/cache/string.prototype.trimstart-npm-1.0.4-b31f5e7c85-3fb06818d3.zip b/.yarn/cache/string.prototype.trimstart-npm-1.0.4-b31f5e7c85-3fb06818d3.zip deleted file mode 100644 index 477439a72..000000000 Binary files a/.yarn/cache/string.prototype.trimstart-npm-1.0.4-b31f5e7c85-3fb06818d3.zip and /dev/null differ diff --git a/.yarn/cache/string.prototype.trimstart-npm-1.0.6-0926caea6c-89080feef4.zip b/.yarn/cache/string.prototype.trimstart-npm-1.0.6-0926caea6c-89080feef4.zip new file mode 100644 index 000000000..6203bec39 Binary files /dev/null and b/.yarn/cache/string.prototype.trimstart-npm-1.0.6-0926caea6c-89080feef4.zip differ diff --git a/.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip b/.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip new file mode 100644 index 000000000..f68a3c2c9 Binary files /dev/null and b/.yarn/cache/typed-array-length-npm-1.0.4-92771b81fc-2228febc93.zip differ diff --git a/.yarn/cache/vue-npm-3.2.45-06b4b60efe-df60ca80cb.zip b/.yarn/cache/vue-npm-3.2.45-06b4b60efe-df60ca80cb.zip deleted file mode 100644 index aff8d8820..000000000 Binary files a/.yarn/cache/vue-npm-3.2.45-06b4b60efe-df60ca80cb.zip and /dev/null differ diff --git a/.yarn/cache/vue-npm-3.2.47-487db916e1-3b586f61fd.zip b/.yarn/cache/vue-npm-3.2.47-487db916e1-3b586f61fd.zip new file mode 100644 index 000000000..10ecd8d07 Binary files /dev/null and b/.yarn/cache/vue-npm-3.2.47-487db916e1-3b586f61fd.zip differ diff --git a/.yarn/cache/which-typed-array-npm-1.1.9-9559c95dfc-fe0178ca44.zip b/.yarn/cache/which-typed-array-npm-1.1.9-9559c95dfc-fe0178ca44.zip new file mode 100644 index 000000000..e7e7d548d Binary files /dev/null and b/.yarn/cache/which-typed-array-npm-1.1.9-9559c95dfc-fe0178ca44.zip differ diff --git a/bin/daily b/bin/daily index 40cf3fd2b..2835a93cc 100755 --- a/bin/daily +++ b/bin/daily @@ -42,7 +42,7 @@ $DTDIR/ietf/manage.py populate_yang_model_dirs -v0 # Re-run yang checks on active documents $DTDIR/ietf/manage.py run_yang_model_checks -v0 -# Expire internet drafts +# Expire Internet-Drafts # Enable when removed from /a/www/ietf-datatracker/scripts/Cron-runner: $DTDIR/ietf/bin/expire-ids diff --git a/client/agenda/AgendaScheduleList.vue b/client/agenda/AgendaScheduleList.vue index a42315fc4..3897e1d62 100644 --- a/client/agenda/AgendaScheduleList.vue +++ b/client/agenda/AgendaScheduleList.vue @@ -257,16 +257,17 @@ const meetingEvents = computed(() => { acc.lastDate = itemDate.toISODate() // -> Add session header row - if (item.type === 'regular' && acc.lastTypeName !== `${item.type}-${item.name}`) { + const typeName = `${item.type}-${item.slotName}` + if (item.type === 'regular' && acc.lastTypeName !== typeName) { acc.result.push({ key: `sesshd-${item.id}`, displayType: 'session-head', timeslot: itemTimeSlot, - name: `${item.adjustedStart.toFormat('cccc')} ${item.name}`, + name: `${item.adjustedStart.toFormat('cccc')} ${item.slotName}`, cssClasses: 'agenda-table-display-session-head' + (isLive ? ' agenda-table-live' : '') }) } - acc.lastTypeName = `${item.type}-${item.name}` + acc.lastTypeName = typeName // -> Populate event links const links = [] diff --git a/dev/del-old-packages/README.md b/dev/del-old-packages/README.md new file mode 100644 index 000000000..5f8f88e09 --- /dev/null +++ b/dev/del-old-packages/README.md @@ -0,0 +1,15 @@ +## Tool to delete old versions in GitHub Packages container registry + +This tool will fetch all versions for packages `datatracker-db` and `datatracker-db-pg` and delete all versions that are not latest and older than 7 days. + +### Requirements + +- Node 18.x or later +- Must provide a valid token in ENV variable `GITHUB_TOKEN` with read and delete packages permissions. + +### Usage + +```sh +npm install +node index +``` \ No newline at end of file diff --git a/dev/del-old-packages/index.js b/dev/del-old-packages/index.js new file mode 100644 index 000000000..927b2d37a --- /dev/null +++ b/dev/del-old-packages/index.js @@ -0,0 +1,54 @@ +import { Octokit } from '@octokit/core' +import { setTimeout } from 'node:timers/promises' +import { DateTime } from 'luxon' + +const octokit = new Octokit({ + auth: process.env.GITHUB_TOKEN +}) + +const oldestDate = DateTime.utc().minus({ days: 7 }) + +for (const pkgName of ['datatracker-db', 'datatracker-db-pg']) { + let hasMore = true + let currentPage = 1 + + while (hasMore) { + try { + console.info(`Fetching page ${currentPage}...`) + const versions = await octokit.request('GET /orgs/{org}/packages/{package_type}/{package_name}/versions{?page,per_page,state}', { + package_type: 'container', + package_name: pkgName, + org: 'ietf-tools', + page: currentPage, + per_page: 100 + }) + if (versions?.data?.length > 0) { + for (const ver of versions?.data) { + const verDate = DateTime.fromISO(ver.created_at) + if (ver?.metadata?.container?.tags?.includes('latest') || ver?.metadata?.container?.tags?.includes('latest-arm64') || ver?.metadata?.container?.tags?.includes('latest-x64')) { + console.info(`Latest package (${ver.id})... Skipping...`) + } else if (verDate > oldestDate) { + console.info(`Recent package (${ver.id}, ${verDate.toRelative()})... Skipping...`) + } else { + console.info(`Deleting package version ${ver.id}...`) + await octokit.request('DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}', { + package_type: 'container', + package_name: pkgName, + org: 'ietf-tools', + package_version_id: ver.id + }) + await setTimeout(250) + } + } + currentPage++ + hasMore = true + } else { + hasMore = false + console.info('No more versions for this package.') + } + } catch (err) { + console.error(err) + hasMore = false + } + } +} diff --git a/dev/del-old-packages/package-lock.json b/dev/del-old-packages/package-lock.json new file mode 100644 index 000000000..a37517383 --- /dev/null +++ b/dev/del-old-packages/package-lock.json @@ -0,0 +1,340 @@ +{ + "name": "del-packages", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "del-packages", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@octokit/core": "^4.1.0", + "luxon": "^3.2.1" + } + }, + "node_modules/@octokit/auth-token": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", + "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", + "dependencies": { + "@octokit/types": "^8.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", + "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/endpoint": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", + "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", + "dependencies": { + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/graphql": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", + "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^8.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==" + }, + "node_modules/@octokit/request": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", + "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request-error": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", + "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", + "dependencies": { + "@octokit/types": "^8.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/types": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.1.0.tgz", + "integrity": "sha512-N4nLjzkiWBqVQqljTTsCrbvHGoWdWfcCeZjbHdggw7a9HbJMnxbK8A+UWdqwR4out30JarlSa3eqKyVK0n5aBg==", + "dependencies": { + "@octokit/openapi-types": "^14.0.0" + } + }, + "node_modules/before-after-hook": { + "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/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/luxon": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", + "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + }, + "dependencies": { + "@octokit/auth-token": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", + "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", + "requires": { + "@octokit/types": "^8.0.0" + } + }, + "@octokit/core": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", + "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", + "requires": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", + "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", + "requires": { + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", + "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^8.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==" + }, + "@octokit/request": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", + "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", + "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", + "requires": { + "@octokit/types": "^8.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.1.0.tgz", + "integrity": "sha512-N4nLjzkiWBqVQqljTTsCrbvHGoWdWfcCeZjbHdggw7a9HbJMnxbK8A+UWdqwR4out30JarlSa3eqKyVK0n5aBg==", + "requires": { + "@octokit/openapi-types": "^14.0.0" + } + }, + "before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "luxon": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", + "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } +} diff --git a/dev/del-old-packages/package.json b/dev/del-old-packages/package.json new file mode 100644 index 000000000..a54f196b6 --- /dev/null +++ b/dev/del-old-packages/package.json @@ -0,0 +1,16 @@ +{ + "name": "del-packages", + "version": "1.0.0", + "description": "", + "type": "module", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@octokit/core": "^4.1.0", + "luxon": "^3.2.1" + } +} diff --git a/docker/base.Dockerfile b/docker/base.Dockerfile index 97604e62f..499040e43 100644 --- a/docker/base.Dockerfile +++ b/docker/base.Dockerfile @@ -15,6 +15,10 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null + +# Add PostgreSQL Source +RUN echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list +RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - # Install the packages we need RUN apt-get update --fix-missing && apt-get install -qy \ @@ -23,51 +27,53 @@ RUN apt-get update --fix-missing && apt-get install -qy \ bash \ build-essential \ curl \ - default-jdk \ - docker-ce-cli \ + default-jdk \ + docker-ce-cli \ enscript \ gawk \ - g++ \ + g++ \ gcc \ ghostscript \ git \ gnupg \ jq \ less \ - libcairo2-dev \ - libgtk2.0-0 \ - libgtk-3-0 \ - libnotify-dev \ - libgconf-2-4 \ - libgbm-dev \ - libnss3 \ - libxss1 \ - libasound2 \ - libxtst6 \ + libcairo2-dev \ + libgtk2.0-0 \ + libgtk-3-0 \ + libnotify-dev \ + libgconf-2-4 \ + libgbm-dev \ + libnss3 \ + libxss1 \ + libasound2 \ + libxtst6 \ libmagic-dev \ libmariadb-dev \ - libmemcached-tools \ + libmemcached-tools \ locales \ - make \ + make \ mariadb-client \ - memcached \ - nano \ - netcat \ - nodejs \ + memcached \ + nano \ + netcat \ + nodejs \ + pgloader \ pigz \ + postgresql-client-14 \ pv \ python3-ipython \ ripgrep \ rsync \ rsyslog \ - ruby \ - ruby-rubygems \ + ruby \ + ruby-rubygems \ unzip \ wget \ - xauth \ - xvfb \ - yang-tools \ - zsh + xauth \ + xvfb \ + yang-tools \ + zsh # Install kramdown-rfc2629 (ruby) RUN gem install kramdown-rfc2629 diff --git a/ietf/checks.py b/ietf/checks.py index 53e695a76..c823abf11 100644 --- a/ietf/checks.py +++ b/ietf/checks.py @@ -114,7 +114,7 @@ def check_id_submission_directories(app_configs, **kwargs): p = getattr(settings, s) if not os.path.exists(p): errors.append(checks.Critical( - "A directory used by the ID submission tool does not\n" + "A directory used by the I-D submission tool does not\n" "exist at the path given in the settings file. The setting is:\n" " %s = %s" % (s, p), hint = ("Please either update the local settings to point at the correct\n" @@ -134,7 +134,7 @@ def check_id_submission_files(app_configs, **kwargs): p = getattr(settings, s) if not os.path.exists(p): errors.append(checks.Critical( - "A file used by the ID submission tool does not exist\n" + "A file used by the I-D submission tool does not exist\n" "at the path given in the settings file. The setting is:\n" " %s = %s" % (s, p), hint = ("Please either update the local settings to point at the correct\n" @@ -179,7 +179,7 @@ def check_id_submission_checkers(app_configs, **kwargs): except Exception as e: errors.append(checks.Critical( "An exception was raised when trying to import the\n" - "draft submission checker class '%s':\n %s" % (checker_path, e), + "Internet-Draft submission checker class '%s':\n %s" % (checker_path, e), hint = "Please check that the class exists and can be imported.\n", id = "datatracker.E0008", )) @@ -188,7 +188,7 @@ def check_id_submission_checkers(app_configs, **kwargs): except Exception as e: errors.append(checks.Critical( "An exception was raised when trying to instantiate\n" - "the draft submission checker class '%s':\n %s" % (checker_path, e), + "the Internet-Draft submission checker class '%s':\n %s" % (checker_path, e), hint = "Please check that the class can be instantiated.\n", id = "datatracker.E0009", )) @@ -196,7 +196,7 @@ def check_id_submission_checkers(app_configs, **kwargs): for attr in ('name',): if not hasattr(checker, attr): errors.append(checks.Critical( - "The draft submission checker\n '%s'\n" + "The Internet-Draft submission checker\n '%s'\n" "has no attribute '%s', which is required" % (checker_path, attr), hint = "Please update the class.\n", id = "datatracker.E0010", @@ -207,7 +207,7 @@ def check_id_submission_checkers(app_configs, **kwargs): break else: errors.append(checks.Critical( - "The draft submission checker\n '%s'\n" + "The Internet-Draft submission checker\n '%s'\n" " has no recognised checker method; " "should be one or more of %s." % (checker_path, checker_methods), hint = "Please update the class.\n", diff --git a/ietf/community/forms.py b/ietf/community/forms.py index a8709c787..8d72ce0d7 100644 --- a/ietf/community/forms.py +++ b/ietf/community/forms.py @@ -13,7 +13,7 @@ from ietf.person.models import Person from ietf.person.fields import SearchablePersonField class AddDocumentsForm(forms.Form): - documents = SearchableDocumentsField(label="Add documents to track", doc_type="draft") + documents = SearchableDocumentsField(label="Add Internet-Drafts to track", doc_type="draft") class SearchRuleTypeForm(forms.Form): rule_type = forms.ChoiceField(choices=[('', '--------------')] + SearchRule.RULE_TYPES) diff --git a/ietf/community/models.py b/ietf/community/models.py index 8938b1c09..9b2383f21 100644 --- a/ietf/community/models.py +++ b/ietf/community/models.py @@ -19,11 +19,11 @@ class CommunityList(models.Model): def long_name(self): if self.user: - return 'Personal ID list of %s' % self.user.username + return 'Personal I-D list of %s' % self.user.username elif self.group: - return 'ID list for %s' % self.group.name + return 'I-D list for %s' % self.group.name else: - return 'ID list' + return 'I-D list' def __str__(self): return self.long_name() diff --git a/ietf/context_processors.py b/ietf/context_processors.py index 618a896ac..baa8d7a5d 100644 --- a/ietf/context_processors.py +++ b/ietf/context_processors.py @@ -3,6 +3,7 @@ import sys import django from django.conf import settings +from django.utils import timezone from ietf import __version__, __patch__, __release_branch__, __release_hash__ def server_mode(request): @@ -44,4 +45,9 @@ def sql_debug(request): def settings_info(request): return { 'settings': settings, - } \ No newline at end of file + } + +def timezone_now(request): + return { + 'timezone_now': timezone.now(), + } diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py index 999d5022d..f6779e047 100644 --- a/ietf/doc/expire.py +++ b/ietf/doc/expire.py @@ -1,6 +1,6 @@ # Copyright The IETF Trust 2010-2020, All Rights Reserved # -*- coding: utf-8 -*- -# expiry of Internet Drafts +# expiry of Internet-Drafts from django.conf import settings @@ -179,7 +179,7 @@ def expire_draft(doc): doc.save_with_history(events) def clean_up_draft_files(): - """Move unidentified and old files out of the Internet Draft directory.""" + """Move unidentified and old files out of the Internet-Draft directory.""" cut_off = date_today(DEADLINE_TZINFO) pattern = os.path.join(settings.INTERNET_DRAFT_PATH, "draft-*.*") diff --git a/ietf/doc/factories.py b/ietf/doc/factories.py index 874c467d2..95fbedfaa 100644 --- a/ietf/doc/factories.py +++ b/ietf/doc/factories.py @@ -534,7 +534,7 @@ class DocExtResourceFactory(factory.django.DjangoModelFactory): class EditorialDraftFactory(BaseDocumentFactory): type_id = 'draft' - group = factory.SubFactory('ietf.group.factories.GroupFactory',acronym='rswg', type_id='rfcedtyp') + group = factory.SubFactory('ietf.group.factories.GroupFactory',acronym='rswg', type_id='edwg') stream_id = 'editorial' @factory.post_generation diff --git a/ietf/doc/forms.py b/ietf/doc/forms.py index 8a480dcb8..c0c52571c 100644 --- a/ietf/doc/forms.py +++ b/ietf/doc/forms.py @@ -140,7 +140,7 @@ class AddDownrefForm(forms.Form): required=True) drafts = SearchableDocAliasesField( label="Internet-Drafts that makes the reference", - help_text="The drafts that approve the downref in their Last Call", + help_text="The Internet-Drafts that approve the downref in their Last Call", required=True) def clean_rfc(self): @@ -163,7 +163,7 @@ class AddDownrefForm(forms.Form): if not state or state.slug not in IESG_APPROVED_STATE_LIST: v_err_names.append(da.name) if v_err_names: - raise forms.ValidationError("Draft is not yet approved: " + ", ".join(v_err_names)) + raise forms.ValidationError("Internet-Draft is not yet approved: " + ", ".join(v_err_names)) return drafts def clean(self): diff --git a/ietf/doc/lastcall.py b/ietf/doc/lastcall.py index 463311587..dd38fd390 100644 --- a/ietf/doc/lastcall.py +++ b/ietf/doc/lastcall.py @@ -1,4 +1,4 @@ -# helpers for handling last calls on Internet Drafts +# helpers for handling last calls on Internet-Drafts from django.db.models import Q @@ -73,4 +73,4 @@ def expire_last_call(doc): if doc.type_id == 'draft': lc_text = doc.latest_event(LastCallDocEvent, type="sent_last_call").desc if "document makes the following downward references" in lc_text: - email_last_call_expired_with_downref(doc, lc_text) \ No newline at end of file + email_last_call_expired_with_downref(doc, lc_text) diff --git a/ietf/doc/mails.py b/ietf/doc/mails.py index b158d7b76..b04caa5b7 100644 --- a/ietf/doc/mails.py +++ b/ietf/doc/mails.py @@ -98,7 +98,7 @@ def email_stream_changed(request, doc, old_stream, new_stream, text=""): text = strip_tags(text) send_mail(request, to, None, - "ID Tracker Stream Change Notice: %s" % doc.file_tag(), + "I-D Tracker Stream Change Notice: %s" % doc.file_tag(), "doc/mail/stream_changed_email.txt", dict(text=text, url=settings.IDTRACKER_BASE_URL + doc.get_absolute_url()), @@ -288,7 +288,7 @@ def generate_approval_mail_approved(request, doc): else: contacts = "The IESG contact person is %s." % responsible_directors[0] - doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet Draft" + doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet-Draft" addrs = gather_address_lists('ballot_approved_ietf_stream',doc=doc).as_strings() return render_to_string("doc/mail/approval_mail.txt", @@ -308,7 +308,7 @@ def generate_approval_mail_rfc_editor(request, doc): # This is essentially dead code - it is only exercised if the IESG ballots on some other stream's document, # which does not happen now that we have conflict reviews. disapproved = doc.get_state_slug("draft-iesg") in DO_NOT_PUBLISH_IESG_STATES - doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet Draft" + doc_type = "RFC" if doc.get_state_slug() == "rfc" else "Internet-Draft" addrs = gather_address_lists('ballot_approved_conflrev', doc=doc).as_strings() return render_to_string("doc/mail/approval_mail_rfc_editor.txt", diff --git a/ietf/doc/management/commands/generate_draft_bibxml_files.py b/ietf/doc/management/commands/generate_draft_bibxml_files.py index f2dc508b9..eda67c401 100644 --- a/ietf/doc/management/commands/generate_draft_bibxml_files.py +++ b/ietf/doc/management/commands/generate_draft_bibxml_files.py @@ -22,7 +22,7 @@ DEFAULT_DAYS = 7 class Command(BaseCommand): help = ('Generate draft bibxml files for xml2rfc references, placing them in the ' 'directory configured in settings.BIBXML_BASE_PATH: %s. ' - 'By default, generate files as needed for new draft revisions from the ' + 'By default, generate files as needed for new Internet-Draft revisions from the ' 'last %s days.' % (settings.BIBXML_BASE_PATH, DEFAULT_DAYS)) def add_arguments(self, parser): diff --git a/ietf/doc/templatetags/mail_filters.py b/ietf/doc/templatetags/mail_filters.py index 32e8dd0ca..6be662031 100644 --- a/ietf/doc/templatetags/mail_filters.py +++ b/ietf/doc/templatetags/mail_filters.py @@ -9,7 +9,7 @@ def std_level_prompt(doc): to the object's intended_std_level (with the word RFC appended in some cases), or a prompt requesting that the intended_std_level be set.""" - prompt = "*** YOU MUST SELECT AN INTENDED STATUS FOR THIS DRAFT AND REGENERATE THIS TEXT ***" + prompt = "*** YOU MUST SELECT AN INTENDED STATUS FOR THIS INTERNET-DRAFT AND REGENERATE THIS TEXT ***" if doc.intended_std_level: prompt = doc.intended_std_level.name diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index c60ee8b3d..7067a942e 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -740,7 +740,7 @@ Man Expires September 22, 2015 [Page 3] self.assertEqual(q('title').text(), 'draft-ietf-mars-test-01') self.assertEqual(len(q('.rfcmarkup pre')), 3) self.assertEqual(len(q('.rfcmarkup span.h1, .rfcmarkup h1')), 2) - self.assertEqual(len(q('.rfcmarkup a[href]')), 28) + self.assertEqual(len(q('.rfcmarkup a[href]')), 27) r = self.client.get(urlreverse("ietf.doc.views_doc.document_html", kwargs=dict(name=draft.name, rev=draft.rev))) self.assertEqual(r.status_code, 200) @@ -2522,7 +2522,7 @@ class ChartTests(ResourceTestCaseMixin, TestCase): self.assertValidJSONResponse(r) d = r.json() self.assertEqual(d['chart']['type'], settings.CHART_TYPE_COLUMN_OPTIONS['chart']['type']) - self.assertEqual("New draft revisions over time for %s" % person.name, d['title']['text']) + self.assertEqual("New Internet-Draft revisions over time for %s" % person.name, d['title']['text']) data_url = urlreverse('ietf.doc.views_stats.chart_data_person_drafts', kwargs=dict(id=person.id)) diff --git a/ietf/doc/tests_utils.py b/ietf/doc/tests_utils.py index 8b4b56d7e..2c224c1db 100644 --- a/ietf/doc/tests_utils.py +++ b/ietf/doc/tests_utils.py @@ -355,13 +355,13 @@ class RebuildReferenceRelationsTests(TestCase): result = rebuild_reference_relations(self.doc, {}) self.assertCountEqual(result.keys(), ['errors']) self.assertEqual(len(result['errors']), 1) - self.assertIn('No draft text available', result['errors'][0], - 'Error should be reported if no draft file is given') + self.assertIn('No Internet-Draft text available', result['errors'][0], + 'Error should be reported if no Internet-Draft file is given') result = rebuild_reference_relations(self.doc, {'md': 'cant-do-this.md'}) self.assertCountEqual(result.keys(), ['errors']) self.assertEqual(len(result['errors']), 1) - self.assertIn('No draft text available', result['errors'][0], + self.assertIn('No Internet-Draft text available', result['errors'][0], 'Error should be reported if no XML or plaintext file is given') @patch.object(XMLDraft, 'get_refs') diff --git a/ietf/doc/utils.py b/ietf/doc/utils.py index e76adb50d..d45d40158 100644 --- a/ietf/doc/utils.py +++ b/ietf/doc/utils.py @@ -13,7 +13,6 @@ import textwrap from collections import defaultdict, namedtuple, Counter from typing import Union -from urllib.parse import quote from zoneinfo import ZoneInfo from django.conf import settings @@ -370,42 +369,6 @@ def augment_events_with_revision(doc, events): cur_rev = "00" e.rev = cur_rev -def add_links_in_new_revision_events(doc, events, diff_revisions): - """Add direct .txt links and diff links to new_revision events.""" - prev = None - - diff_urls = dict(((name, revision), url) for name, revision, time, url in diff_revisions) - - for e in sorted(events, key=lambda e: (e.time, e.id)): - if not e.type == "new_revision": - continue - - for sub in ['newrevisiondocevent', 'submissiondocevent', ]: - if hasattr(e, sub): - e = getattr(e, sub) - break - - if not (e.doc.name, e.rev) in diff_urls: - continue - - full_url = diff_url = diff_urls[(e.doc.name, e.rev)] - - if doc.type_id in "draft": # work around special diff url for drafts - full_url = "https://www.ietf.org/archive/id/" + diff_url + ".txt" - - # build links - links = r'\1' % full_url - if prev: - links += "" - - if prev != None: - links += ' (diff from previous)' % (settings.RFCDIFF_BASE_URL, quote(prev, safe="~"), quote(diff_url, safe="~")) - - # replace the bold filename part - e.desc = re.sub(r"(.+-[0-9][0-9].txt)", links, e.desc) - - prev = diff_url - def add_events_message_info(events): for e in events: @@ -792,7 +755,7 @@ def rebuild_reference_relations(doc, filenames): except IOError as e: return { 'errors': ["%s :%s" % (e.strerror, filename)] } else: - return {'errors': ['No draft text available for rebuilding reference relations. Need XML or plaintext.']} + return {'errors': ['No Internet-Draft text available for rebuilding reference relations. Need XML or plaintext.']} doc.relateddocument_set.filter(relationship__slug__in=['refnorm','refinfo','refold','refunk']).delete() diff --git a/ietf/doc/views_ballot.py b/ietf/doc/views_ballot.py index 67c42a37b..86c30e22a 100644 --- a/ietf/doc/views_ballot.py +++ b/ietf/doc/views_ballot.py @@ -994,7 +994,7 @@ class MakeLastCallForm(forms.Form): @role_required('Secretariat') def make_last_call(request, name): - """Make last call for Internet Draft, sending out announcement.""" + """Make last call for Internet-Draft, sending out announcement.""" doc = get_object_or_404(Document, docalias__name=name) if not (doc.get_state("draft-iesg") or doc.get_state("statchg")): raise Http404 diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index 2426b3ef0..d805532b8 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -58,7 +58,7 @@ from ietf.doc.models import ( Document, DocAlias, DocHistory, DocEvent, BallotDo ConsensusDocEvent, NewRevisionDocEvent, TelechatDocEvent, WriteupDocEvent, IanaExpertDocEvent, IESG_BALLOT_ACTIVE_STATES, STATUSCHANGE_RELATIONS, DocumentActionHolder, DocumentAuthor, RelatedDocument, RelatedDocHistory) -from ietf.doc.utils import (add_links_in_new_revision_events, augment_events_with_revision, +from ietf.doc.utils import (augment_events_with_revision, can_adopt_draft, can_unadopt_draft, get_chartering_type, get_tags_for_stream_id, needed_ballot_positions, nice_consensus, prettify_std_name, update_telechat, has_same_ballot, get_initial_notify, make_notify_changed_event, make_rev_history, default_consensus, @@ -1004,7 +1004,6 @@ def document_history(request, name): events = doc.docevent_set.all().order_by("-time", "-id").select_related("by") augment_events_with_revision(doc, events) - add_links_in_new_revision_events(doc, events, diff_revisions) add_events_message_info(events) # figure out if the current user can add a comment to the history diff --git a/ietf/doc/views_draft.py b/ietf/doc/views_draft.py index e389173e4..a71a586ed 100644 --- a/ietf/doc/views_draft.py +++ b/ietf/doc/views_draft.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- -# changing state and metadata on Internet Drafts +# changing state and metadata on Internet-Drafts import datetime import os @@ -84,7 +84,7 @@ class ChangeStateForm(forms.Form): @role_required('Area Director','Secretariat') def change_state(request, name): - """Change IESG state of Internet Draft, notifying parties as necessary + """Change IESG state of Internet-Draft, notifying parties as necessary and logging the change as a comment.""" doc = get_object_or_404(Document, docalias__name=name) @@ -229,7 +229,7 @@ class ChangeIanaStateForm(forms.Form): @role_required('Secretariat', 'IANA') def change_iana_state(request, name, state_type): - """Change IANA review state of Internet Draft. Normally, this is done via + """Change IANA review state of Internet-Draft. Normally, this is done via automatic sync, but this form allows one to set it manually.""" doc = get_object_or_404(Document, docalias__name=name) @@ -344,9 +344,9 @@ class ReplacesForm(forms.Form): def clean_replaces(self): for d in self.cleaned_data['replaces']: if d.document == self.doc: - raise forms.ValidationError("A draft can't replace itself") + raise forms.ValidationError("An Internet-Draft can't replace itself") if d.document.type_id == "draft" and d.document.get_state_slug() == "rfc": - raise forms.ValidationError("A draft can't replace an RFC") + raise forms.ValidationError("An Internet-Draft can't replace an RFC") return self.cleaned_data['replaces'] def replaces(request, name): @@ -631,7 +631,7 @@ def to_iesg(request,name): @role_required('Area Director','Secretariat') def edit_info(request, name): - """Edit various Internet Draft attributes, notifying parties as + """Edit various Internet-Draft attributes, notifying parties as necessary and logging changes as document events.""" doc = get_object_or_404(Document, docalias__name=name) if doc.get_state_slug() == "expired": @@ -790,7 +790,7 @@ def edit_info(request, name): @role_required('Area Director','Secretariat') def request_resurrect(request, name): - """Request resurrect of expired Internet Draft.""" + """Request resurrect of expired Internet-Draft.""" doc = get_object_or_404(Document, docalias__name=name) if doc.get_state_slug() != "expired": raise Http404 @@ -813,7 +813,7 @@ def request_resurrect(request, name): @role_required('Secretariat') def resurrect(request, name): - """Resurrect expired Internet Draft.""" + """Resurrect expired Internet-Draft.""" doc = get_object_or_404(Document, docalias__name=name) if doc.get_state_slug() != "expired": raise Http404 @@ -858,7 +858,7 @@ def restore_draft_file(request, draft): shutil.move(file, settings.INTERNET_DRAFT_PATH) log.log(" Moved file %s to %s" % (file, settings.INTERNET_DRAFT_PATH)) except shutil.Error as ex: - messages.warning(request, 'There was an error restoring the draft file: {} ({})'.format(file, ex)) + messages.warning(request, 'There was an error restoring the Internet-Draft file: {} ({})'.format(file, ex)) log.log(" Exception %s when attempting to move %s" % (ex, file)) @@ -1152,7 +1152,7 @@ class AdForm(forms.Form): state = self.doc.get_state('draft-iesg') if not ad: if state.slug not in ['idexists','dead']: - raise forms.ValidationError("Drafts in state %s must have an assigned AD." % state) + raise forms.ValidationError("Internet-Drafts in state %s must have an assigned AD." % state) return ad @role_required("Area Director", "Secretariat") diff --git a/ietf/doc/views_stats.py b/ietf/doc/views_stats.py index 699373a4e..7d56e8569 100644 --- a/ietf/doc/views_stats.py +++ b/ietf/doc/views_stats.py @@ -66,9 +66,9 @@ def get_doctypes(queryargs, pluralize=False): or queryargs.get('activedrafts') == 'on' or queryargs.get('olddrafts') == 'on'): if pluralize: - doctypes.append('Drafts') + doctypes.append('Internet-Drafts') else: - doctypes.append('Draft') + doctypes.append('Internet-Draft') alltypes = DocTypeName.objects.exclude(slug__in='draft').order_by('name'); for doctype in alltypes: if 'include-' + doctype.slug in queryargs: @@ -166,8 +166,8 @@ def chart_conf_person_drafts(request, id): conf = {} else: conf = copy.deepcopy(settings.CHART_TYPE_COLUMN_OPTIONS) - conf['title']['text'] = "New draft revisions over time for %s" % person.name - conf['series'][0]['name'] = "Submitted drafts" + conf['title']['text'] = "New Internet-Draft revisions over time for %s" % person.name + conf['series'][0]['name'] = "Submitted Internet-Drafts" return JsonResponse(conf) @cache_page(60*15) diff --git a/ietf/group/management/commands/generate_group_aliases.py b/ietf/group/management/commands/generate_group_aliases.py index 484574a67..630f35c44 100755 --- a/ietf/group/management/commands/generate_group_aliases.py +++ b/ietf/group/management/commands/generate_group_aliases.py @@ -26,8 +26,8 @@ from ietf.utils.aliases import dump_sublist DEFAULT_YEARS = 5 ACTIVE_STATES=['active', 'bof', 'proposed'] -GROUP_TYPES=['wg', 'rg', 'rag', 'dir', 'team', 'review', 'program', 'rfcedtyp'] -NO_AD_GROUP_TYPES=['rg', 'rag', 'team', 'program', 'rfcedtyp'] +GROUP_TYPES=['wg', 'rg', 'rag', 'dir', 'team', 'review', 'program', 'rfcedtyp', 'edappr', 'edwg'] # This should become groupfeature driven... +NO_AD_GROUP_TYPES=['rg', 'rag', 'team', 'program', 'rfcedtyp', 'edappr', 'edwg'] IETF_DOMAIN=['ietf.org', ] IRTF_DOMAIN=['irtf.org', ] IAB_DOMAIN=['iab.org', ] diff --git a/ietf/group/milestones.py b/ietf/group/milestones.py index 43748a1f2..64ebb389e 100644 --- a/ietf/group/milestones.py +++ b/ietf/group/milestones.py @@ -29,7 +29,7 @@ class MilestoneForm(forms.Form): desc = forms.CharField(max_length=500, label="Milestone", required=True) due = DatepickerDateField(date_format="MM yyyy", picker_settings={"min-view-mode": "months", "autoclose": "1", "view-mode": "years" }, required=True) order = forms.IntegerField(required=True, widget=forms.HiddenInput) - docs = SearchableDocumentsField(label="Drafts", required=False, help_text="Any drafts that the milestone concerns.") + docs = SearchableDocumentsField(label="Internet-Drafts", required=False, help_text="Any Internet-Drafts that the milestone concerns.") resolved_checkbox = forms.BooleanField(required=False, label="Resolved") resolved = forms.CharField(label="Resolved as", max_length=50, required=False) diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index 89863e66b..672d18c8f 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -71,7 +71,7 @@ class GroupPagesTests(TestCase): self.assertContains(r, group.name) self.assertContains(r, escape(group.ad_role().person.name)) - for t in ('rg','area','ag', 'rag', 'dir','review','team','program','iabasg','adm','rfcedtyp'): + for t in ('rg','area','ag', 'rag', 'dir','review','team','program','iabasg','adm','rfcedtyp'): # See issue 5120 g = GroupFactory.create(type_id=t,state_id='active') if t in ['dir','review']: g.parent = GroupFactory.create(type_id='area',state_id='active') diff --git a/ietf/idindex/index.py b/ietf/idindex/index.py index 441febdd9..cda8310b4 100644 --- a/ietf/idindex/index.py +++ b/ietf/idindex/index.py @@ -62,7 +62,7 @@ def all_id_txt(): state += "::" + "::".join(tags) add_line(d.name + "-" + d.rev, formatted_rev_date(d.name), - "In IESG processing - ID Tracker state <" + state + ">", + "In IESG processing - I-D Tracker state <" + state + ">", "", ) diff --git a/ietf/ietfauth/utils.py b/ietf/ietfauth/utils.py index ffda3acff..029342e7f 100644 --- a/ietf/ietfauth/utils.py +++ b/ietf/ietfauth/utils.py @@ -82,6 +82,7 @@ def has_role(user, role_names, *args, **kwargs): "Program Lead": Q(person=person,name="lead", group__type="program", group__state="active"), "Program Secretary": Q(person=person,name="secr", group__type="program", group__state="active"), "Program Chair": Q(person=person,name="chair", group__type="program", group__state="active"), + "EDWG Chair": Q(person=person, name="chair", group__type="edwg", group__state="active"), "Nomcom Chair": Q(person=person, name="chair", group__type="nomcom", group__acronym__icontains=kwargs.get('year', '0000')), "Nomcom Advisor": Q(person=person, name="advisor", group__type="nomcom", group__acronym__icontains=kwargs.get('year', '0000')), "Nomcom": Q(person=person, group__type="nomcom", group__acronym__icontains=kwargs.get('year', '0000')), @@ -167,8 +168,8 @@ def is_authorized_in_doc_stream(user, doc): group_req = Q(group__acronym=doc.stream.slug) elif doc.stream.slug == "editorial": group_req = Q(group=doc.group) | Q(group__acronym='rsab') - if doc.group.type.slug in ("individ", "rfcedtype"): - docman_roles = GroupFeatures.objects.get(type_id="rfcedtyp").docman_roles + if doc.group.type.slug in ("individ", "edappr"): + docman_roles = GroupFeatures.objects.get(type_id="edappr").docman_roles else: group_req = Q() # no group constraint for other cases diff --git a/ietf/ipr/forms.py b/ietf/ipr/forms.py index 06248e2a7..5f6c76c37 100644 --- a/ietf/ipr/forms.py +++ b/ietf/ipr/forms.py @@ -413,7 +413,7 @@ class ThirdPartyIprDisclosureForm(IprDisclosureFormBase): class SearchForm(forms.Form): state = forms.MultipleChoiceField(choices=[], widget=forms.CheckboxSelectMultiple,required=False) - draft = forms.CharField(label="Draft name", max_length=128, required=False) + draft = forms.CharField(label="Internet-Draft name", max_length=128, required=False) rfc = forms.IntegerField(label="RFC number", required=False) holder = forms.CharField(label="Name of patent owner/applicant", max_length=128,required=False) patent = forms.CharField(label="Text in patent information", max_length=128,required=False) @@ -428,4 +428,4 @@ class SearchForm(forms.Form): class StateForm(forms.Form): state = forms.ModelChoiceField(queryset=IprDisclosureStateName.objects,label="New State",empty_label=None) comment = forms.CharField(required=False, widget=forms.Textarea, help_text="You may add a comment to be included in the disclosure history.", strip=False) - private = forms.BooleanField(label="Private comment", required=False, help_text="If this box is checked the comment will not appear in the disclosure's public history view.") \ No newline at end of file + private = forms.BooleanField(label="Private comment", required=False, help_text="If this box is checked the comment will not appear in the disclosure's public history view.") diff --git a/ietf/ipr/management/commands/generate_draft_recursive_txt.py b/ietf/ipr/management/commands/generate_draft_recursive_txt.py index 240fc5348..2c61a7604 100644 --- a/ietf/ipr/management/commands/generate_draft_recursive_txt.py +++ b/ietf/ipr/management/commands/generate_draft_recursive_txt.py @@ -8,7 +8,7 @@ from ietf.ipr.utils import generate_draft_recursive_txt class Command(BaseCommand): - help = ("Generate machine-readable list of IPR disclosures by draft name (recursive)") + help = ("Generate machine-readable list of IPR disclosures by Internet-Draft name (recursive)") def handle(self, *args, **options): try: diff --git a/ietf/ipr/utils.py b/ietf/ipr/utils.py index 43f5494b1..f288803de 100644 --- a/ietf/ipr/utils.py +++ b/ietf/ipr/utils.py @@ -79,7 +79,7 @@ def generate_draft_recursive_txt(): docipr[name] = [] docipr[name].append(o.disclosure_id) - lines = [ "# Machine-readable list of IPR disclosures by draft name" ] + lines = [ "# Machine-readable list of IPR disclosures by Internet-Draft name" ] for name, iprs in docipr.items(): lines.append(name + "\t" + "\t".join(str(ipr_id) for ipr_id in sorted(iprs))) diff --git a/ietf/meeting/forms.py b/ietf/meeting/forms.py index 477a1dbb9..165308124 100644 --- a/ietf/meeting/forms.py +++ b/ietf/meeting/forms.py @@ -743,7 +743,8 @@ class SessionDetailsForm(forms.ModelForm): model = Session fields = ( 'purpose', 'name', 'short', 'type', 'requested_duration', - 'on_agenda', 'remote_instructions', 'attendees', 'comments', + 'on_agenda', 'agenda_note', 'remote_instructions', 'attendees', + 'comments', ) labels = {'requested_duration': 'Length'} diff --git a/ietf/meeting/migrations/0059_rename_sessions.py b/ietf/meeting/migrations/0059_rename_sessions.py new file mode 100644 index 000000000..a9e56646b --- /dev/null +++ b/ietf/meeting/migrations/0059_rename_sessions.py @@ -0,0 +1,41 @@ +# Generated by Django 2.2.28 on 2023-02-06 22:20 +from django.db import migrations +from django.db.models import ExpressionWrapper, F, IntegerField + + +def forward(apps, schema_editor): + Meeting = apps.get_model('meeting', 'Meeting') + meetings = Meeting.objects.filter(type='ietf', schedule__isnull=False).annotate( + number_as_int=ExpressionWrapper(F('number'), output_field=IntegerField()) + ).order_by('date') + # print('session.pk,meeting.number,session.name,timeslot.name') + for m in meetings.filter(number_as_int__lt=91): + # until meeting 91, TimeSlots had the more descriptive names + for assignment in m.schedule.assignments.exclude(session__type='regular').exclude(session__name=F('timeslot__name')): + # print(f'{assignment.session.pk},{m.number},{assignment.session.name},{assignment.timeslot.name}') + assignment.session.name = assignment.timeslot.name + assignment.session.save() + + # meetings 91-98 had no differences or were better off with session names as they were + + for m in meetings.filter(number_as_int__gte=99): + # for meetings 99+, TimeSlots again had the better names + for assignment in m.schedule.assignments.exclude(session__type='regular').exclude(session__name=F('timeslot__name')): + # print(f'{assignment.session.pk},{m.number},{assignment.session.name},{assignment.timeslot.name}') + assignment.session.name = assignment.timeslot.name + assignment.session.save() + + +def reverse(apps, schema_editor): + pass # can't undo + + +class Migration(migrations.Migration): + + dependencies = [ + ('meeting', '0058_meeting_time_zone_not_blank'), + ] + + operations = [ + migrations.RunPython(forward, reverse), + ] diff --git a/ietf/meeting/migrations/0060_normalize_canceled_sessions.py b/ietf/meeting/migrations/0060_normalize_canceled_sessions.py new file mode 100644 index 000000000..31c4a21df --- /dev/null +++ b/ietf/meeting/migrations/0060_normalize_canceled_sessions.py @@ -0,0 +1,49 @@ +# Generated by Django 2.2.28 on 2023-02-08 22:41 + +from django.db import migrations +from django.db.models import Subquery, OuterRef, Value, TextField +from django.db.models.functions import Coalesce + + +def forward(apps, schema_editor): + Session = apps.get_model('meeting', 'Session') + SchedulingEvent = apps.get_model('meeting', 'SchedulingEvent') + Person = apps.get_model('person', 'Person') + + # annotation borrowed from SessionQuerySet.with_current_status() + sessions = Session.objects.annotate( + # coalesce with '' to avoid nulls which give funny + # results, e.g. .exclude(current_status='canceled') also + # skips rows with null in them + current_status=Coalesce( + Subquery( + SchedulingEvent.objects.filter( + session=OuterRef('pk') + ).order_by( + '-time', '-id' + ).values('status')[:1]), + Value(''), + output_field=TextField()), + ).exclude( + current_status__in=['canceled', 'canceledpa'], + ) + system_person = Person.objects.get(name='(System)') + + # Cancel any uncanceled sessions marked as 'CANCELED' in the agenda_note + for session in sessions.filter(agenda_note='CANCELED'): + SchedulingEvent.objects.create(session=session, status_id='canceled', by=system_person) + + +def reverse(apps, schema_editor): + pass # nothing to be done + + +class Migration(migrations.Migration): + + dependencies = [ + ('meeting', '0059_rename_sessions'), + ] + + operations = [ + migrations.RunPython(forward, reverse), + ] diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index 068358790..3da764041 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -1317,8 +1317,11 @@ class Session(models.Model): return settings.CHAT_URL_PATTERN.format(chat_room_name=self.chat_room_name()) def chat_archive_url(self): - # datatracker 8.8.0 released on 2022 July 15; before that, fall back to old log URL - if self.meeting.date <= datetime.date(2022, 7, 15): + chatlog = self.sessionpresentation_set.filter(document__type__slug='chatlog').first() + if chatlog is not None: + return chatlog.document.get_href() + elif self.meeting.date <= datetime.date(2022, 7, 15): + # datatracker 8.8.0 released on 2022 July 15; before that, fall back to old log URL return f'https://www.ietf.org/jabber/logs/{ self.chat_room_name() }?C=M;O=D' elif hasattr(settings,'CHAT_ARCHIVE_URL_PATTERN'): return settings.CHAT_ARCHIVE_URL_PATTERN.format(chat_room_name=self.chat_room_name()) diff --git a/ietf/meeting/tests_models.py b/ietf/meeting/tests_models.py index 8ea0d0c5b..2603190fe 100644 --- a/ietf/meeting/tests_models.py +++ b/ietf/meeting/tests_models.py @@ -5,8 +5,11 @@ import datetime from mock import patch +from django.conf import settings +from django.test import override_settings + from ietf.group.factories import GroupFactory, GroupHistoryFactory -from ietf.meeting.factories import MeetingFactory, SessionFactory, AttendedFactory +from ietf.meeting.factories import MeetingFactory, SessionFactory, AttendedFactory, SessionPresentationFactory from ietf.stats.factories import MeetingRegistrationFactory from ietf.utils.test_utils import TestCase from ietf.utils.timezone import date_today, datetime_today @@ -116,7 +119,22 @@ class MeetingTests(TestCase): class SessionTests(TestCase): - def test_chat_archive_url_with_jabber(self): + def test_chat_archive_url(self): + session = SessionFactory( + meeting__date=datetime.date.today(), + meeting__number=120, # needs to use proceedings_format_version > 1 + ) + with override_settings(): + if hasattr(settings, 'CHAT_ARCHIVE_URL_PATTERN'): + del settings.CHAT_ARCHIVE_URL_PATTERN + self.assertEqual(session.chat_archive_url(), session.chat_room_url()) + settings.CHAT_ARCHIVE_URL_PATTERN = 'http://chat.example.com' + self.assertEqual(session.chat_archive_url(), 'http://chat.example.com') + chatlog = SessionPresentationFactory(session=session, document__type_id='chatlog').document + self.assertEqual(session.chat_archive_url(), chatlog.get_href()) + # datatracker 8.8.0 rolled out on 2022-07-15. Before that, chat logs were jabber logs hosted at www.ietf.org. session_with_jabber = SessionFactory(group__acronym='fakeacronym', meeting__date=datetime.date(2022,7,14)) self.assertEqual(session_with_jabber.chat_archive_url(), 'https://www.ietf.org/jabber/logs/fakeacronym?C=M;O=D') + chatlog = SessionPresentationFactory(session=session_with_jabber, document__type_id='chatlog').document + self.assertEqual(session_with_jabber.chat_archive_url(), chatlog.get_href()) diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 977caae2d..b557df253 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -172,6 +172,42 @@ class AgendaApiTests(TestCase): self.assertEqual(shown['room'], room.name) self.assertEqual(shown['location'], {'name': room.floorplan.name, 'short': room.floorplan.short}) + def test_agenda_extract_schedule_names(self): + meeting = MeetingFactory(type_id='ietf') + named_timeslots = TimeSlotFactory.create_batch(2, meeting=meeting, name='Timeslot Name') + unnamed_timeslots = TimeSlotFactory.create_batch(2, meeting=meeting, name='') + named_sessions = SessionFactory.create_batch(2, meeting=meeting, name='Session Name') + unnamed_sessions = SessionFactory.create_batch(2, meeting=meeting, name='') + pk_with = { + 'both named': named_sessions[0].timeslotassignments.create( + schedule=meeting.schedule, + timeslot=named_timeslots[0], + ).pk, + 'session named': named_sessions[1].timeslotassignments.create( + schedule=meeting.schedule, + timeslot=unnamed_timeslots[0], + ).pk, + 'timeslot named': unnamed_sessions[0].timeslotassignments.create( + schedule=meeting.schedule, + timeslot=named_timeslots[1], + ).pk, + 'neither named': unnamed_sessions[1].timeslotassignments.create( + schedule=meeting.schedule, + timeslot=unnamed_timeslots[1], + ).pk, + } + processed = preprocess_assignments_for_agenda(meeting.schedule.assignments.all(), meeting) + AgendaKeywordTagger(assignments=processed).apply() + extracted = {item.pk: agenda_extract_schedule(item) for item in processed} + self.assertEqual(extracted[pk_with['both named']]['name'], 'Session Name') + self.assertEqual(extracted[pk_with['both named']]['slotName'], 'Timeslot Name') + self.assertEqual(extracted[pk_with['session named']]['name'], 'Session Name') + self.assertEqual(extracted[pk_with['session named']]['slotName'], '') + self.assertEqual(extracted[pk_with['timeslot named']]['name'], '') + self.assertEqual(extracted[pk_with['timeslot named']]['slotName'], 'Timeslot Name') + self.assertEqual(extracted[pk_with['neither named']]['name'], '') + self.assertEqual(extracted[pk_with['neither named']]['slotName'], '') + class MeetingTests(BaseMeetingTestCase): def test_meeting_agenda(self): diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 6e96fa82a..49d6c0af5 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1704,7 +1704,8 @@ def agenda_extract_schedule (item): } if (item.timeslot.show_location and item.timeslot.location and item.timeslot.location.floorplan) else {}, "acronym": item.acronym, "duration": item.timeslot.duration.seconds, - "name": item.timeslot.name, + "name": item.session.name, + "slotName": item.timeslot.name, "startDateTime": item.timeslot.time.isoformat(), "status": item.session.current_status, "type": item.session.type.slug, @@ -2340,7 +2341,6 @@ def session_details(request, num, acronym): 'can_manage_materials' : can_manage, 'can_view_request': can_view_request, 'thisweek': datetime_today()-datetime.timedelta(days=7), - 'now': timezone.now(), 'use_notes': meeting.uses_notes(), }) diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json index be5767289..ed4b0416b 100644 --- a/ietf/name/fixtures/names.json +++ b/ietf/name/fixtures/names.json @@ -6025,7 +6025,7 @@ }, { "fields": { - "desc": "The internet drafts ticketing system", + "desc": "The Internet-Drafts ticketing system", "template": "" }, "model": "mailtrigger.recipient", @@ -11545,7 +11545,7 @@ { "fields": { "default_offset_days": -19, - "desc": "Internet Draft submission cut-off for -00 drafts by UTC 23:59", + "desc": "Internet-Draft submission cut-off for -00 drafts by UTC 23:59", "name": "00 ID Cutoff", "order": 0, "used": false @@ -11556,7 +11556,7 @@ { "fields": { "default_offset_days": -12, - "desc": "Internet Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59", + "desc": "Internet-Draft submission cut-off for revised (-01 and above) drafts by UTC 23:59", "name": "01 ID Cutoff", "order": 0, "used": false @@ -11699,7 +11699,7 @@ { "fields": { "default_offset_days": -12, - "desc": "Internet Draft submission cut-off (for all drafts, including -00) by UTC 23:59", + "desc": "Internet-Draft submission cut-off (for all drafts, including -00) by UTC 23:59", "name": "ID Cutoff", "order": 0, "used": true @@ -16326,7 +16326,7 @@ "fields": { "command": "xym", "switch": "--version", - "time": "2023-01-24T08:09:45.071Z", + "time": "2023-01-31T08:09:46.678Z", "used": true, "version": "xym 0.6.2" }, @@ -16337,7 +16337,7 @@ "fields": { "command": "pyang", "switch": "--version", - "time": "2023-01-24T08:09:45.405Z", + "time": "2023-01-31T08:09:47.011Z", "used": true, "version": "pyang 2.5.3" }, @@ -16348,7 +16348,7 @@ "fields": { "command": "yanglint", "switch": "--version", - "time": "2023-01-24T08:09:45.421Z", + "time": "2023-01-31T08:09:47.028Z", "used": true, "version": "yanglint SO 1.9.2" }, @@ -16359,7 +16359,7 @@ "fields": { "command": "xml2rfc", "switch": "--version", - "time": "2023-01-24T08:09:46.384Z", + "time": "2023-01-31T08:09:48.031Z", "used": true, "version": "xml2rfc 3.16.0" }, diff --git a/ietf/person/migrations/0030_id_term.py b/ietf/person/migrations/0030_id_term.py new file mode 100644 index 000000000..3be33c9b3 --- /dev/null +++ b/ietf/person/migrations/0030_id_term.py @@ -0,0 +1,33 @@ +# Generated by Django 2.2.28 on 2023-02-10 19:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('person', '0029_use_timezone_now_for_person_models'), + ] + + operations = [ + migrations.AlterField( + model_name='email', + name='origin', + field=models.CharField(help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if an Internet-Draft, or 'role: GROUP/ROLE' if a role.", max_length=150), + ), + migrations.AlterField( + model_name='historicalemail', + name='origin', + field=models.CharField(help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if an Internet-Draft, or 'role: GROUP/ROLE' if a role.", max_length=150), + ), + migrations.AlterField( + model_name='historicalperson', + name='name_from_draft', + field=models.CharField(editable=False, help_text='Name as found in an Internet-Draft submission.', max_length=255, null=True, verbose_name='Full Name (from submission)'), + ), + migrations.AlterField( + model_name='person', + name='name_from_draft', + field=models.CharField(editable=False, help_text='Name as found in an Internet-Draft submission.', max_length=255, null=True, verbose_name='Full Name (from submission)'), + ), + ] diff --git a/ietf/person/models.py b/ietf/person/models.py index 02cee4d67..9ca641045 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -58,7 +58,7 @@ class Person(models.Model): biography = models.TextField(blank=True, help_text="Short biography for use on leadership pages. Use plain text or reStructuredText markup.") photo = models.ImageField(storage=NoLocationMigrationFileSystemStorage(), upload_to=settings.PHOTOS_DIRNAME, blank=True, default=None) photo_thumb = models.ImageField(storage=NoLocationMigrationFileSystemStorage(), upload_to=settings.PHOTOS_DIRNAME, blank=True, default=None) - name_from_draft = models.CharField("Full Name (from submission)", null=True, max_length=255, editable=False, help_text="Name as found in a draft submission.") + name_from_draft = models.CharField("Full Name (from submission)", null=True, max_length=255, editable=False, help_text="Name as found in an Internet-Draft submission.") def __str__(self): return self.plain_name() @@ -282,7 +282,7 @@ class Email(models.Model): person = ForeignKey(Person, null=True) time = models.DateTimeField(auto_now_add=True) primary = models.BooleanField(default=False) - origin = models.CharField(max_length=150, blank=False, help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if a draft, or 'role: GROUP/ROLE' if a role.") # User.username or Document.name + origin = models.CharField(max_length=150, blank=False, help_text="The origin of the address: the user's email address, or 'author: DRAFTNAME' if an Internet-Draft, or 'role: GROUP/ROLE' if a role.") # User.username or Document.name active = models.BooleanField(default=True) # Old email addresses are *not* purged, as history # information points to persons through these diff --git a/ietf/review/migrations/0031_id_term.py b/ietf/review/migrations/0031_id_term.py new file mode 100644 index 000000000..6abb0dadb --- /dev/null +++ b/ietf/review/migrations/0031_id_term.py @@ -0,0 +1,24 @@ +# Generated by Django 2.2.28 on 2023-02-10 19:58 + +from django.db import migrations, models +import ietf.utils.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ('review', '0030_use_date_today_helper'), + ] + + operations = [ + migrations.AlterField( + model_name='historicalreviewersettings', + name='filter_re', + field=models.CharField(blank=True, help_text='Internet-Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name='Filter regexp'), + ), + migrations.AlterField( + model_name='reviewersettings', + name='filter_re', + field=models.CharField(blank=True, help_text='Internet-Draft names matching this regular expression should not be assigned', max_length=255, validators=[ietf.utils.validators.RegexStringValidator()], verbose_name='Filter regexp'), + ), + ] diff --git a/ietf/review/models.py b/ietf/review/models.py index f0ec78094..269e45e75 100644 --- a/ietf/review/models.py +++ b/ietf/review/models.py @@ -34,7 +34,7 @@ class ReviewerSettings(models.Model): min_interval = models.IntegerField(verbose_name="Can review at most", choices=INTERVALS, blank=True, null=True) filter_re = models.CharField(max_length=255, verbose_name="Filter regexp", blank=True, validators=[validate_regular_expression_string, ], - help_text="Draft names matching this regular expression should not be assigned") + help_text="Internet-Draft names matching this regular expression should not be assigned") skip_next = models.IntegerField(default=0, verbose_name="Skip next assignments") remind_days_before_deadline = models.IntegerField(null=True, blank=True, help_text="To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want this reminder.") remind_days_open_reviews = models.PositiveIntegerField(null=True, blank=True, verbose_name="Periodic reminder of open reviews every X days", help_text="To get a periodic email reminder of all your open reviews, enter the number of days between these reminders. Clear the field if you don't want these reminders.") diff --git a/ietf/secr/middleware/dbquery.py b/ietf/secr/middleware/dbquery.py deleted file mode 100644 index 34c96bd12..000000000 --- a/ietf/secr/middleware/dbquery.py +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright The IETF Trust 2014-2019, All Rights Reserved -#import logging - -from django.db import connection -from django.utils.log import getLogger # type: ignore - - -logger = getLogger(__name__) -#logger.setLevel(logging.DEBUG) -#logger.addHandler(logging.FileHandler(settings.SECR_LOG_FILE)) - -class QueryCountDebugMiddleware(object): - """ - This middleware will log the number of queries run - and the total time taken for each request (with a - status code of 200). It does not currently support - multi-db setups. - """ - def process_response(self, request, response): - #assert False, request.path - logger.debug('called middleware. %s:%s' % (request.path,len(connection.queries))) - if response.status_code == 200: - total_time = 0 - #for query in connection.queries: - # query_time = query.get('time') - # if query_time is None: - # django-debug-toolbar monkeypatches the connection - # cursor wrapper and adds extra information in each - # item in connection.queries. The query time is stored - # under the key "duration" rather than "time" and is - # in milliseconds, not seconds. - # query_time = query.get('duration', 0) / 1000 - # total_time += float(query_time) - logger.debug('%s: %s queries run, total %s seconds' % (request.path,len(connection.queries), total_time)) - return response diff --git a/ietf/secr/proceedings/proc_utils.py b/ietf/secr/proceedings/proc_utils.py index 43d063d07..c9734534d 100644 --- a/ietf/secr/proceedings/proc_utils.py +++ b/ietf/secr/proceedings/proc_utils.py @@ -64,8 +64,6 @@ def import_audio_files(meeting): Example: ietf90-salonb-20140721-1710.mp3 ''' - from ietf.meeting.utils import add_event_info_to_session_qs - unmatched_files = [] path = os.path.join(settings.MEETING_RECORDINGS_DIR, meeting.type.slug + meeting.number) if not os.path.exists(path): @@ -73,11 +71,9 @@ def import_audio_files(meeting): for filename in os.listdir(path): timeslot = get_timeslot_for_filename(filename) if timeslot: - sessions = add_event_info_to_session_qs(Session.objects.filter( + sessions = Session.objects.with_current_status().filter( timeslotassignments__schedule=timeslot.meeting.schedule_id, - ).exclude( - agenda_note__icontains='canceled' - )).filter( + ).filter( current_status='sched', ).order_by('timeslotassignments__timeslot__time') if not sessions: diff --git a/ietf/secr/sreq/forms.py b/ietf/secr/sreq/forms.py index 44df58de4..840b23549 100644 --- a/ietf/secr/sreq/forms.py +++ b/ietf/secr/sreq/forms.py @@ -80,17 +80,18 @@ class SessionForm(forms.Form): timeranges = NameModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple, required=False, queryset=TimerangeName.objects.all()) adjacent_with_wg = forms.ChoiceField(required=False) + send_notifications = forms.BooleanField(label="Send notification emails?", required=False, initial=False) def __init__(self, group, meeting, data=None, *args, **kwargs): - if 'hidden' in kwargs: - self.hidden = kwargs.pop('hidden') - else: - self.hidden = False + self.hidden = kwargs.pop('hidden', False) + self.notifications_optional = kwargs.pop('notifications_optional', False) self.group = group formset_class = sessiondetailsformset_factory(max_num=3 if group.features.acts_like_wg else 50) self.session_forms = formset_class(group=self.group, meeting=meeting, data=data) super(SessionForm, self).__init__(data=data, *args, **kwargs) + if not self.notifications_optional: + self.fields['send_notifications'].widget = forms.HiddenInput() # Allow additional sessions for non-wg-like groups if not self.group.features.acts_like_wg: @@ -234,6 +235,9 @@ class SessionForm(forms.Form): def clean_comments(self): return clean_text_field(self.cleaned_data['comments']) + def clean_send_notifications(self): + return True if not self.notifications_optional else self.cleaned_data['send_notifications'] + def is_valid(self): return super().is_valid() and self.session_forms.is_valid() diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index f0a723b05..8091835f5 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -31,7 +31,7 @@ from ietf.mailtrigger.utils import gather_address_lists # Globals # ------------------------------------------------- # TODO: This needs to be replaced with something that pays attention to groupfeatures -AUTHORIZED_ROLES=('WG Chair','WG Secretary','RG Chair','IAB Group Chair','Area Director','Secretariat','Team Chair','IRTF Chair','Program Chair','Program Lead','Program Secretary') +AUTHORIZED_ROLES=('WG Chair','WG Secretary','RG Chair','IAB Group Chair','Area Director','Secretariat','Team Chair','IRTF Chair','Program Chair','Program Lead','Program Secretary', 'EDWG Chair') # ------------------------------------------------- # Helper Functions @@ -288,7 +288,7 @@ def confirm(request, acronym): if len(group.features.session_purposes) == 0: raise Http404(f'Cannot request sessions for group "{acronym}"') meeting = get_meeting(days=14) - form = SessionForm(group, meeting, request.POST, hidden=True) + form = SessionForm(group, meeting, request.POST, hidden=True, notifications_optional=has_role(request.user, "Secretariat")) form.is_valid() login = request.user.person @@ -366,15 +366,16 @@ def confirm(request, acronym): add_event_info_to_session_qs(Session.objects.filter(group=group, meeting=meeting)).filter(current_status='notmeet').delete() # send notification - session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] - send_notification( - group, - meeting, - login, - session_data, - [sf.cleaned_data for sf in form.session_forms[:num_sessions]], - 'new', - ) + if form.cleaned_data.get("send_notifications"): + session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] + send_notification( + group, + meeting, + login, + session_data, + [sf.cleaned_data for sf in form.session_forms[:num_sessions]], + 'new', + ) status_text = 'IETF Agenda to be scheduled' messages.success(request, 'Your request has been sent to %s' % status_text) @@ -385,7 +386,6 @@ def confirm(request, acronym): outbound=outbound_conflicts, # each is a dict with name and groups as keys inbound=inbound_session_conflicts_as_string(group, meeting), ) - return render(request, 'sreq/confirm.html', { 'form': form, 'session': session_data, @@ -449,7 +449,7 @@ def edit(request, acronym, num=None): if button_text == 'Cancel': return redirect('ietf.secr.sreq.views.view', acronym=acronym) - form = SessionForm(group, meeting, request.POST, initial=initial) + form = SessionForm(group, meeting, request.POST, initial=initial, notifications_optional=has_role(request.user, "Secretariat")) if form.is_valid(): if form.has_changed(): changed_session_forms = [sf for sf in form.session_forms.forms_to_keep if sf.has_changed()] @@ -540,17 +540,18 @@ def edit(request, acronym, num=None): #add_session_activity(group,'Session Request was updated',meeting,user) # send notification - outbound_conflicts = get_outbound_conflicts(form) - session_data = form.cleaned_data.copy() # do not add things to the original cleaned_data - session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] - send_notification( - group, - meeting, - login, - session_data, - [sf.cleaned_data for sf in form.session_forms.forms_to_keep], - 'update', - ) + if form.cleaned_data.get("send_notifications"): + outbound_conflicts = get_outbound_conflicts(form) + session_data = form.cleaned_data.copy() # do not add things to the original cleaned_data + session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] + send_notification( + group, + meeting, + login, + session_data, + [sf.cleaned_data for sf in form.session_forms.forms_to_keep], + 'update', + ) messages.success(request, 'Session Request updated') return redirect('ietf.secr.sreq.views.view', acronym=acronym) @@ -565,7 +566,7 @@ def edit(request, acronym, num=None): if not sessions: return redirect('ietf.secr.sreq.views.new', acronym=acronym) - form = SessionForm(group, meeting, initial=initial) + form = SessionForm(group, meeting, initial=initial, notifications_optional=has_role(request.user, "Secretariat")) return render(request, 'sreq/edit.html', { 'is_locked': is_locked and not has_role(request.user,'Secretariat'), @@ -665,7 +666,7 @@ def new(request, acronym): if button_text == 'Cancel': return redirect('ietf.secr.sreq.views.main') - form = SessionForm(group, meeting, request.POST) + form = SessionForm(group, meeting, request.POST, notifications_optional=has_role(request.user, "Secretariat")) if form.is_valid(): return confirm(request, acronym) @@ -689,12 +690,12 @@ def new(request, acronym): add_essential_people(group,initial) if 'resources' in initial: initial['resources'] = [x.pk for x in initial['resources']] - form = SessionForm(group, meeting, initial=initial) + form = SessionForm(group, meeting, initial=initial, notifications_optional=has_role(request.user, "Secretariat")) else: initial={} add_essential_people(group,initial) - form = SessionForm(group, meeting, initial=initial) + form = SessionForm(group, meeting, initial=initial, notifications_optional=has_role(request.user, "Secretariat")) return render(request, 'sreq/new.html', { 'meeting': meeting, diff --git a/ietf/secr/templates/includes/sessions_request_form.html b/ietf/secr/templates/includes/sessions_request_form.html index 6d4344710..f05bee3db 100755 --- a/ietf/secr/templates/includes/sessions_request_form.html +++ b/ietf/secr/templates/includes/sessions_request_form.html @@ -121,6 +121,12 @@ Special Requests:
 
i.e. restrictions on meeting times / days, etc.
(limit 200 characters) {{ form.comments.errors }}{{ form.comments }} + {% if form.notifications_optional %} + + {{ form.send_notifications.label }} + {{ form.send_notifications.errors }}{{ form.send_notifications }} + + {% endif %} diff --git a/ietf/secr/templates/includes/sessions_request_view.html b/ietf/secr/templates/includes/sessions_request_view.html index 3854651d3..596338c47 100644 --- a/ietf/secr/templates/includes/sessions_request_view.html +++ b/ietf/secr/templates/includes/sessions_request_view.html @@ -59,5 +59,15 @@ {% endif %} Special Requests:{{ session.comments }} + {% if form and form.notifications_optional %} + + + {{ form.send_notifications.label}} + + + {% if form.cleaned_data.send_notifications %}Yes{% else %}No{% endif %} + + + {% endif %} diff --git a/ietf/settings.py b/ietf/settings.py index 7319501be..246d6bf6e 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -368,6 +368,7 @@ TEMPLATES = [ 'ietf.context_processors.settings_info', 'ietf.secr.context_processors.secr_revision_info', 'ietf.context_processors.rfcdiff_base_url', + 'ietf.context_processors.timezone_now', ], 'loaders': [ ('django.template.loaders.cached.Loader', ( @@ -1004,7 +1005,7 @@ HTPASSWD_FILE = "/www/htpasswd" # Generation of pdf files GHOSTSCRIPT_COMMAND = "/usr/bin/gs" -# Generation of bibxml files (currently only for internet drafts) +# Generation of bibxml files (currently only for Internet-Drafts) BIBXML_BASE_PATH = '/a/ietfdata/derived/bibxml' # Timezone files for iCalendar diff --git a/ietf/static/css/document_html.scss b/ietf/static/css/document_html.scss index 7294a067c..8b3969cf5 100644 --- a/ietf/static/css/document_html.scss +++ b/ietf/static/css/document_html.scss @@ -166,11 +166,41 @@ $tooltip-margin: inherit !default; .rfcmarkup { + // A lot of plaintext documents seem to have line lengths >72ch. + // To handle that, we calculate with 80ch here and adjust some of the + // font sizes down accordingly. pre { - width: 72ch; + width: 80ch; white-space: pre-wrap; } + @media screen { + @include media-breakpoint-only(xs) { + font-size: min(6.75pt, var(--doc-ptsize-max)); + } + + @include media-breakpoint-up(sm) { + font-size: min(8.75pt, var(--doc-ptsize-max)); + } + + @include media-breakpoint-up(md) { + font-size: min(8.75pt, var(--doc-ptsize-max)); + } + + // Rest of font sizes is the same as above. + @include media-breakpoint-up(lg) { + font-size: min(11pt, var(--doc-ptsize-max)); + } + + @include media-breakpoint-up(xl) { + font-size: min(13pt, var(--doc-ptsize-max)); + } + + @include media-breakpoint-up(xxl) { + font-size: min(16pt, var(--doc-ptsize-max)); + } + } + h1, h2, h3, diff --git a/ietf/static/js/upcoming.js b/ietf/static/js/upcoming.js index 1eb2a4635..8711ce0d3 100644 --- a/ietf/static/js/upcoming.js +++ b/ietf/static/js/upcoming.js @@ -3,6 +3,12 @@ var display_events = []; // filtered events, processed for calendar display var event_calendar; // handle on the calendar object var current_tz = 'UTC'; +const primary = getComputedStyle(document.body) + .getPropertyValue('--bs-primary'); +const secondary = getComputedStyle(document.body) + .getPropertyValue('--bs-secondary'); + + // Test whether an event should be visible given a set of filter parameters function calendar_event_visible(filter_params, event) { // Visible if filtering is disabled or event has no keywords @@ -49,10 +55,14 @@ function make_display_events(event_data, tz) { glue + (src_event.group || 'Invalid event')); } return { - title: title, + title: src_event.current_status != "canceled" ? title : `${title}`, + extendedProps: { + desc: src_event.current_status != "canceled" ? title : `CANCELLED: ${title}` + }, start: format_moment(src_event.start_moment, tz, 'datetime'), end: format_moment(src_event.end_moment, tz, 'datetime'), - url: src_event.url + url: src_event.url, + backgroundColor: src_event.current_status != "canceled" ? primary: secondary }; // all events have the URL }); } @@ -78,9 +88,12 @@ function update_calendar(tz, filter_params) { initialView: 'dayGridMonth', displayEventTime: false, events: function (fInfo, success) { success(display_events); }, + eventContent: function(info) { + return {html: info.event.title}; + }, eventDidMount: function (info) { $(info.el) - .tooltip({ title: info.event.title }); + .tooltip({ title: info.event.extendedProps.desc }); }, eventDisplay: 'block' }); @@ -158,4 +171,4 @@ window.timezone_changed = function (newtz) { } update_calendar(newtz); -}; \ No newline at end of file +}; diff --git a/ietf/stats/views.py b/ietf/stats/views.py index dd1cc96bd..44fbfb717 100644 --- a/ietf/stats/views.py +++ b/ietf/stats/views.py @@ -182,7 +182,7 @@ def document_stats(request, stats_type=None): possible_document_types = add_url_to_choices([ ("", "All"), ("rfc", "RFCs"), - ("draft", "Drafts"), + ("draft", "Internet-Drafts"), ], lambda slug: build_document_stats_url(get_overrides={ "type": slug })) document_type = get_choice(request, "type", possible_document_types) or "" diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index 238a621c1..5c0023a00 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -103,7 +103,7 @@ class SubmissionBaseUploadForm(forms.Form): elif now <= cutoff_00: self.cutoff_warning = ( 'The last submission time for new Internet-Drafts before the meeting is %s.
' - 'After that, you will not be able to submit drafts until after %s (IETF-meeting local time)' % (cutoff_00_str, reopen_str, )) + 'After that, you will not be able to submit Internet-Drafts until after %s (IETF-meeting local time)' % (cutoff_00_str, reopen_str, )) else: if now.date() >= (cutoff_00.date() - meeting.idsubmit_cutoff_warning_days) and now.date() < cutoff_00.date(): self.cutoff_warning = ( 'The last submission time for new documents (i.e., version -00 Internet-Drafts) before %s is %s.

' % (meeting, cutoff_00_str) + @@ -207,7 +207,7 @@ class SubmissionBaseUploadForm(forms.Form): self.add_error('xml', msgs) return except Exception as e: - self.add_error('xml', f'Error parsing XML draft: {e}') + self.add_error('xml', f'Error parsing XML Internet-Draft: {e}') return self.filename = xml_draft.filename @@ -236,19 +236,19 @@ class SubmissionBaseUploadForm(forms.Form): raise forms.ValidationError('') if not self.filename: - raise forms.ValidationError("Could not extract a valid draft name from the upload. " - "To fix this in a text upload, please make sure that the full draft name including " + raise forms.ValidationError("Could not extract a valid Internet-Draft name from the upload. " + "To fix this in a text upload, please make sure that the full Internet-Draft name including " "revision number appears centered on its own line below the document title on the " "first page. In an xml upload, please make sure that the top-level " - "element has a docName attribute which provides the full draft name including " + "element has a docName attribute which provides the full Internet-Draft name including " "revision number.") if not self.revision: - raise forms.ValidationError("Could not extract a valid draft revision from the upload. " - "To fix this in a text upload, please make sure that the full draft name including " + raise forms.ValidationError("Could not extract a valid Internet-Draft revision from the upload. " + "To fix this in a text upload, please make sure that the full Internet-Draft name including " "revision number appears centered on its own line below the document title on the " "first page. In an xml upload, please make sure that the top-level " - "element has a docName attribute which provides the full draft name including " + "element has a docName attribute which provides the full Internet-Draft name including " "revision number.") self.check_for_old_uppercase_collisions(self.filename) @@ -274,7 +274,7 @@ class SubmissionBaseUploadForm(forms.Form): raise forms.ValidationError(mark_safe(self.cutoff_warning)) # check thresholds that depend on the draft / group self.check_submissions_thresholds( - "for the draft %s" % self.filename, + "for the Internet-Draft %s" % self.filename, dict(name=self.filename, rev=self.revision, submission_date=today), settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME, settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME_SIZE, ) @@ -319,7 +319,7 @@ class SubmissionBaseUploadForm(forms.Form): else: name_parts = name.split("-") if len(name_parts) < 3: - raise forms.ValidationError("The draft name \"%s\" is missing a third part, please rename it" % name) + raise forms.ValidationError("The Internet-Draft name \"%s\" is missing a third part, please rename it" % name) if name.startswith('draft-ietf-') or name.startswith("draft-irtf-"): if name_parts[1] == "ietf": @@ -337,7 +337,7 @@ class SubmissionBaseUploadForm(forms.Form): try: return Group.objects.get(acronym=name_parts[2], type=group_type) except Group.DoesNotExist: - raise forms.ValidationError('There is no active group with acronym \'%s\', please rename your draft' % name_parts[2]) + raise forms.ValidationError('There is no active group with acronym \'%s\', please rename your Internet-Draft' % name_parts[2]) elif name.startswith("draft-rfc-"): return Group.objects.get(acronym="iesg") @@ -351,7 +351,7 @@ class SubmissionBaseUploadForm(forms.Form): if group: return group else: - raise forms.ValidationError('Draft names starting with draft-%s- are restricted, please pick a different name' % ntype) + raise forms.ValidationError('Internet-Draft names starting with draft-%s- are restricted, please pick a different name' % ntype) return None @@ -554,19 +554,19 @@ class DeprecatedSubmissionBaseUploadForm(SubmissionBaseUploadForm): raise forms.ValidationError('') if not self.filename: - raise forms.ValidationError("Could not extract a valid draft name from the upload. " - "To fix this in a text upload, please make sure that the full draft name including " + raise forms.ValidationError("Could not extract a valid Internet-Draft name from the upload. " + "To fix this in a text upload, please make sure that the full Internet-Draft name including " "revision number appears centered on its own line below the document title on the " "first page. In an xml upload, please make sure that the top-level " - "element has a docName attribute which provides the full draft name including " + "element has a docName attribute which provides the full Internet-Draft name including " "revision number.") if not self.revision: - raise forms.ValidationError("Could not extract a valid draft revision from the upload. " - "To fix this in a text upload, please make sure that the full draft name including " + raise forms.ValidationError("Could not extract a valid Internet-Draft revision from the upload. " + "To fix this in a text upload, please make sure that the full Internet-Draft name including " "revision number appears centered on its own line below the document title on the " "first page. In an xml upload, please make sure that the top-level " - "element has a docName attribute which provides the full draft name including " + "element has a docName attribute which provides the full Internet-Draft name including " "revision number.") if not self.title: @@ -589,7 +589,7 @@ class DeprecatedSubmissionBaseUploadForm(SubmissionBaseUploadForm): today = date_today() self.check_submissions_thresholds( - "for the draft %s" % self.filename, + "for the Internet-Draft %s" % self.filename, dict(name=self.filename, rev=self.revision, submission_date=today), settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME, settings.IDSUBMIT_MAX_DAILY_SAME_DRAFT_NAME_SIZE, ) @@ -666,24 +666,24 @@ class SubmissionAutoUploadForm(SubmissionBaseUploadForm): self.add_error( 'replaces', forms.ValidationError( - 'Unknown draft name(s): ' + ', '.join(unknown_names) + 'Unknown Internet-Draft name(s): ' + ', '.join(unknown_names) ), ) for alias in aliases_replaced: if alias.document.name == self.filename: self.add_error( 'replaces', - forms.ValidationError("A draft cannot replace itself"), + forms.ValidationError("An Internet-Draft cannot replace itself"), ) elif alias.document.type_id != "draft": self.add_error( 'replaces', - forms.ValidationError("A draft can only replace another draft"), + forms.ValidationError("An Internet-Draft can only replace another Internet-Draft"), ) elif alias.document.get_state_slug() == "rfc": self.add_error( 'replaces', - forms.ValidationError("A draft cannot replace an RFC"), + forms.ValidationError("An Internet-Draft cannot replace an RFC"), ) elif alias.document.get_state_slug('draft-iesg') in ('approved', 'ann', 'rfcqueue'): self.add_error( @@ -729,7 +729,7 @@ class SubmitterForm(NameEmailForm): return line class ReplacesForm(forms.Form): - replaces = SearchableDocAliasesField(required=False, help_text="Any drafts that this document replaces (approval required for replacing a draft you are not the author of)") + replaces = SearchableDocAliasesField(required=False, help_text="Any Internet-Drafts that this document replaces (approval required for replacing an Internet-Draft you are not the author of)") def __init__(self, *args, **kwargs): self.name = kwargs.pop("name") @@ -738,11 +738,11 @@ class ReplacesForm(forms.Form): def clean_replaces(self): for alias in self.cleaned_data['replaces']: if alias.document.name == self.name: - raise forms.ValidationError("A draft cannot replace itself.") + raise forms.ValidationError("An Internet-Draft cannot replace itself.") if alias.document.type_id != "draft": - raise forms.ValidationError("A draft can only replace another draft") + raise forms.ValidationError("An Internet-Draft can only replace another Internet-Draft") if alias.document.get_state_slug() == "rfc": - raise forms.ValidationError("A draft cannot replace an RFC") + raise forms.ValidationError("An Internet-Draft cannot replace an RFC") if alias.document.get_state_slug('draft-iesg') in ('approved','ann','rfcqueue'): raise forms.ValidationError(alias.name+" is approved by the IESG and cannot be replaced") return self.cleaned_data['replaces'] @@ -794,15 +794,15 @@ class PreapprovalForm(forms.Form): if components[-1] == "00": raise forms.ValidationError("Name appears to end with a revision number -00 - do not include the revision.") if len(components) < 4: - raise forms.ValidationError("Name has less than four dash-delimited components - can't form a valid group draft name.") + raise forms.ValidationError("Name has less than four dash-delimited components - can't form a valid group Internet-Draft name.") acronym = components[2] if acronym not in [ g.acronym for g in self.groups ]: - raise forms.ValidationError("Group acronym not recognized as one you can approve drafts for.") + raise forms.ValidationError("Group acronym not recognized as one you can approve Internet-Drafts for.") if Preapproval.objects.filter(name=n): raise forms.ValidationError("Pre-approval for this name already exists.") if Submission.objects.filter(state="posted", name=n): - raise forms.ValidationError("A draft with this name has already been submitted and accepted. A pre-approval would not make any difference.") + raise forms.ValidationError("An Internet-Draft with this name has already been submitted and accepted. A pre-approval would not make any difference.") return n @@ -815,7 +815,7 @@ class SubmissionEmailForm(forms.Form): if submission_pk is None we are starting a new submission and name must be unique. Otherwise the name must match the submission.name. ''' - name = forms.CharField(required=True, max_length=255, label="Draft name") + name = forms.CharField(required=True, max_length=255, label="Internet-Draft name") submission_pk = forms.IntegerField(required=False, widget=forms.HiddenInput()) direction = forms.ChoiceField(choices=(("incoming", "Incoming"), ("outgoing", "Outgoing")), widget=forms.RadioSelect) diff --git a/ietf/submit/mail.py b/ietf/submit/mail.py index 81d2233af..93f97026c 100644 --- a/ietf/submit/mail.py +++ b/ietf/submit/mail.py @@ -52,7 +52,7 @@ def send_submission_confirmation(request, submission, chair_notice=False): return all_addrs def send_full_url(request, submission): - subject = 'Full URL for managing submission of draft %s' % submission.name + subject = 'Full URL for managing submission of Internet-Draft %s' % submission.name from_email = settings.IDSUBMIT_FROM_EMAIL (to_email, cc) = gather_address_lists('sub_management_url_requested',submission=submission) url = settings.IDTRACKER_BASE_URL + urlreverse('ietf.submit.views.submission_status', kwargs=dict(submission_id=submission.pk, access_token=submission.access_token())) @@ -75,7 +75,7 @@ def send_approval_request(request, submission, replaced_doc=None): If replaced_doc is not None, requests will be sent to the wg chairs or ADs responsible for that doc's group instead of the submission. """ - subject = 'New draft waiting for approval: %s' % submission.name + subject = 'New Internet-Draft waiting for approval: %s' % submission.name from_email = settings.IDSUBMIT_FROM_EMAIL # Sort out which MailTrigger to use diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index e3d97a2e6..50a58494d 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -327,7 +327,7 @@ class SubmitTests(BaseSubmitTestCase): self.assertEqual(r.status_code, 302) status_url = r["Location"] self.assertEqual(len(outbox), mailbox_before + 1) - self.assertTrue("New draft waiting for approval" in outbox[-1]["Subject"]) + self.assertTrue("New Internet-Draft waiting for approval" in outbox[-1]["Subject"]) self.assertTrue(name in outbox[-1]["Subject"]) # as chair of WG, we should see approval button @@ -438,7 +438,7 @@ class SubmitTests(BaseSubmitTestCase): # Approval request notification should be sent to the WG chair self.assertEqual(len(outbox), mailbox_before + 1) - self.assertTrue("New draft waiting for approval" in outbox[-1]["Subject"]) + self.assertTrue("New Internet-Draft waiting for approval" in outbox[-1]["Subject"]) self.assertTrue(name in outbox[-1]["Subject"]) self.assertTrue('mars-chairs@ietf.org' in outbox[-1]['To']) @@ -791,7 +791,7 @@ class SubmitTests(BaseSubmitTestCase): # Approval request notification should be sent to the AD for the group self.assertEqual(len(outbox), mailbox_before + 1) - self.assertTrue("New draft waiting for approval" in outbox[-1]["Subject"]) + self.assertTrue("New Internet-Draft waiting for approval" in outbox[-1]["Subject"]) self.assertTrue(name in outbox[-1]["Subject"]) self.assertTrue(ad.user.email in outbox[-1]['To']) @@ -1224,7 +1224,7 @@ class SubmitTests(BaseSubmitTestCase): ad.user.email if notify_ad else '%s-chairs@ietf.org' % replaced_draft.group.acronym, notice['To'] ) - self.assertIn('New draft waiting for approval', notice['Subject']) + self.assertIn('New Internet-Draft waiting for approval', notice['Subject']) def test_submit_new_individual_replacing_wg(self): self.submit_new_individual_replacing_wg() @@ -3061,7 +3061,7 @@ class SubmissionUploadFormTests(BaseSubmitTestCase): files=files_dict, ) self.assertFalse(form.is_valid()) - self.assertIn('A draft cannot replace itself', form.errors['replaces']) + self.assertIn('An Internet-Draft cannot replace itself', form.errors['replaces']) # can't replace non-draft review = ReviewFactory() @@ -3071,7 +3071,7 @@ class SubmissionUploadFormTests(BaseSubmitTestCase): files=files_dict, ) self.assertFalse(form.is_valid()) - self.assertIn('A draft can only replace another draft', form.errors['replaces']) + self.assertIn('An Internet-Draft can only replace another Internet-Draft', form.errors['replaces']) # can't replace RFC rfc = WgRfcFactory() @@ -3081,7 +3081,7 @@ class SubmissionUploadFormTests(BaseSubmitTestCase): files=files_dict, ) self.assertFalse(form.is_valid()) - self.assertIn('A draft cannot replace an RFC', form.errors['replaces']) + self.assertIn('An Internet-Draft cannot replace an RFC', form.errors['replaces']) # can't replace draft approved by iesg existing_drafts[0].set_state(State.objects.get(type='draft-iesg', slug='approved')) @@ -3217,7 +3217,7 @@ class AsyncSubmissionTests(BaseSubmitTestCase): process_uploaded_submission(submission) submission = Submission.objects.get(pk=submission.pk) # refresh self.assertEqual(submission.state_id, 'cancel') - self.assertIn('draft filename disagrees', submission.submissionevent_set.last().desc) + self.assertIn('Internet-Draft filename disagrees', submission.submissionevent_set.last().desc) # rev mismatch submission = SubmissionFactory( @@ -3249,7 +3249,7 @@ class AsyncSubmissionTests(BaseSubmitTestCase): process_uploaded_submission(submission) submission = Submission.objects.get(pk=submission.pk) # refresh self.assertEqual(submission.state_id, 'cancel') - self.assertIn('Only XML draft submissions', submission.submissionevent_set.last().desc) + self.assertIn('Only XML Internet-Draft submissions', submission.submissionevent_set.last().desc) # wrong state submission = SubmissionFactory( @@ -3416,7 +3416,7 @@ class ApiSubmitTests(BaseSubmitTestCase): def test_api_submit_info(self): url = urlreverse('ietf.submit.views.api_submit') r = self.client.get(url) - expected = "A simplified draft submission interface, intended for automation" + expected = "A simplified Internet-Draft submission interface, intended for automation" self.assertContains(r, expected, status_code=200) def test_api_submit_bad_method(self): diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index 6fb0a36b6..99d4e3ce3 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -126,7 +126,7 @@ def validate_submission_name(name): if re.search(r'-\d\d$', name): name = name[:-3] if len(name) > 50: - return "Expected the draft name to be at most 50 ascii characters long; found %d." % len(name) + return "Expected the Internet-Draft name to be at most 50 ascii characters long; found %d." % len(name) else: msg = "Expected name 'draft-...' using lowercase ascii letters, digits, and hyphen; found '%s'." % name if '.' in name: @@ -309,10 +309,10 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc): # update draft attributes try: draft = Document.objects.get(name=submission.name) - log.log(f"{submission.name}: retrieved draft: {draft}") + log.log(f"{submission.name}: retrieved Internet-Draft: {draft}") except Document.DoesNotExist: draft = Document.objects.create(name=submission.name, type_id="draft") - log.log(f"{submission.name}: created draft: {draft}") + log.log(f"{submission.name}: created Internet-Draft: {draft}") prev_rev = draft.rev @@ -341,7 +341,7 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc): draft.stream = StreamName.objects.get(slug=stream_slug) draft.expires = timezone.now() + datetime.timedelta(settings.INTERNET_DRAFT_DAYS_TO_EXPIRE) - log.log(f"{submission.name}: got draft details") + log.log(f"{submission.name}: got Internet-Draft details") events = [] @@ -417,9 +417,9 @@ def post_submission(request, submission, approved_doc_desc, approved_subm_desc): e = DocEvent(type="changed_document", doc=draft, rev=draft.rev) if draft.stream_id == 'ietf': - e.desc = "Sub state has been changed to AD Followup from Revised ID Needed" + e.desc = "Sub state has been changed to AD Followup from Revised I-D Needed" else: - e.desc = "Revised ID Needed tag cleared" + e.desc = "Revised I-D Needed tag cleared" e.by = system e.save() events.append(e) @@ -1134,9 +1134,9 @@ def process_submission_xml(submission): xml_draft = XMLDraft(xml_path) if submission.name != xml_draft.filename: - raise SubmissionError('XML draft filename disagrees with submission filename') + raise SubmissionError('XML Internet-Draft filename disagrees with submission filename') if submission.rev != xml_draft.revision: - raise SubmissionError('XML draft revision disagrees with submission revision') + raise SubmissionError('XML Internet-Draft revision disagrees with submission revision') authors = xml_draft.get_author_list() for a in authors: @@ -1176,17 +1176,17 @@ def process_submission_text(submission): if submission.name != text_draft.filename: raise SubmissionError( - f'Text draft filename ({text_draft.filename}) disagrees with submission filename ({submission.name})' + f'Text Internet-Draft filename ({text_draft.filename}) disagrees with submission filename ({submission.name})' ) if submission.rev != text_draft.revision: raise SubmissionError( - f'Text draft revision ({text_draft.revision}) disagrees with submission revision ({submission.rev})') + f'Text Internet-Draft revision ({text_draft.revision}) disagrees with submission revision ({submission.rev})') text_title = _normalize_title(text_draft.get_title()) if not text_title: raise SubmissionError('Could not extract a valid title from the text') if text_title != submission.title: raise SubmissionError( - f'Text draft title ({text_title}) disagrees with submission title ({submission.title})') + f'Text Internet-Draft title ({text_title}) disagrees with submission title ({submission.title})') submission.abstract = text_draft.get_abstract() submission.document_date = text_draft.get_creation_date() @@ -1213,7 +1213,7 @@ def process_uploaded_submission(submission): return # do nothing if submission.file_types != '.xml': - abort_submission('Only XML draft submissions can be processed.') + abort_submission('Only XML Internet-Draft submissions can be processed.') try: process_submission_xml(submission) diff --git a/ietf/submit/views.py b/ietf/submit/views.py index 9dcb88d13..e875d1476 100644 --- a/ietf/submit/views.py +++ b/ietf/submit/views.py @@ -101,7 +101,7 @@ def upload_submission(request): except DataError as e: form = SubmissionManualUploadForm(request=request) form._errors = {} - form._errors["__all__"] = form.error_class(["There was a failure processing your upload -- please verify that your draft passes idnits. (%s)" % e.message]) + form._errors["__all__"] = form.error_class(["There was a failure processing your upload -- please verify that your Internet-Draft passes idnits. (%s)" % e.message]) if debug.debug: raise else: @@ -472,7 +472,7 @@ def submission_status(request, submission_id, access_token=None): approvals_received = submitter_form.cleaned_data['approvals_received'] if submission.rev == '00' and submission.group and not submission.group.is_active: - permission_denied(request, 'Posting a new draft for an inactive group is not permitted.') + permission_denied(request, 'Posting a new Internet-Draft for an inactive group is not permitted.') if approvals_received: if not is_secretariat: diff --git a/ietf/sync/discrepancies.py b/ietf/sync/discrepancies.py index 082830804..8268b0967 100644 --- a/ietf/sync/discrepancies.py +++ b/ietf/sync/discrepancies.py @@ -4,25 +4,25 @@ from ietf.doc.models import Document, State def find_discrepancies(): res = [] - title = "Drafts that have been sent to the RFC Editor but do not have an RFC Editor state" + title = "Internet-Drafts that have been sent to the RFC Editor but do not have an RFC Editor state" docs = Document.objects.filter(states__in=list(State.objects.filter(used=True, type="draft-iesg", slug__in=("ann", "rfcqueue")))).exclude(states__in=list(State.objects.filter(used=True, type="draft-rfceditor"))) res.append((title, docs)) - title = "Drafts that have the IANA Action state \"In Progress\" but do not have a \"IANA\" RFC-Editor state/tag" + title = "Internet-Drafts that have the IANA Action state \"In Progress\" but do not have a \"IANA\" RFC-Editor state/tag" docs = Document.objects.filter(states__in=list(State.objects.filter(used=True, type="draft-iana-action", slug__in=("inprog",)))).exclude(tags="iana").exclude(states__in=list(State.objects.filter(used=True, type="draft-rfceditor", slug="iana"))) res.append((title, docs)) - title = "Drafts that have the IANA Action state \"Waiting on RFC Editor\" or \"RFC-Ed-Ack\" but are in the RFC Editor state \"IANA\"/tagged with \"IANA\"" + title = "Internet-Drafts that have the IANA Action state \"Waiting on RFC Editor\" or \"RFC-Ed-Ack\" but are in the RFC Editor state \"IANA\"/tagged with \"IANA\"" docs = Document.objects.filter(states__in=list(State.objects.filter(used=True, type="draft-iana-action", slug__in=("waitrfc", "rfcedack")))).filter(models.Q(tags="iana") | models.Q(states__in=list(State.objects.filter(used=True, type="draft-rfceditor", slug="iana")))) res.append((title, docs)) - title = "Drafts that have a state other than \"RFC Ed Queue\", \"RFC Published\" or \"Sent to the RFC Editor\" and have an RFC Editor or IANA Action state" + title = "Internet-Drafts that have a state other than \"RFC Ed Queue\", \"RFC Published\" or \"Sent to the RFC Editor\" and have an RFC Editor or IANA Action state" docs = Document.objects.exclude(states__in=list(State.objects.filter(used=True, type="draft-iesg", slug__in=("rfcqueue", "pub"))) + list(State.objects.filter(used=True, type__in=("draft-stream-iab", "draft-stream-ise", "draft-stream-irtf"), slug="rfc-edit"))).filter(states__in=list(State.objects.filter(used=True, type__in=("draft-iana-action", "draft-rfceditor")))) diff --git a/ietf/sync/rfceditor.py b/ietf/sync/rfceditor.py index 1fde4fa1d..59356dd48 100644 --- a/ietf/sync/rfceditor.py +++ b/ietf/sync/rfceditor.py @@ -567,7 +567,7 @@ def post_approved_draft(url, name): "Authorization": "Basic %s" % force_str(base64.encodebytes(smart_bytes("%s:%s" % (username, password)))).replace("\n", ""), } - log("Posting RFC-Editor notification of approved draft '%s' to '%s'" % (name, url)) + log("Posting RFC-Editor notification of approved Internet-Draft '%s' to '%s'" % (name, url)) text = error = "" try: @@ -578,7 +578,7 @@ def post_approved_draft(url, name): timeout=settings.DEFAULT_REQUESTS_TIMEOUT, ) - log("RFC-Editor notification result for draft '%s': %s:'%s'" % (name, r.status_code, r.text)) + log("RFC-Editor notification result for Internet-Draft '%s': %s:'%s'" % (name, r.status_code, r.text)) if r.status_code != 200: raise RuntimeError("Status code is not 200 OK (it's %s)." % r.status_code) @@ -589,7 +589,7 @@ def post_approved_draft(url, name): except Exception as e: # catch everything so we don't leak exceptions, convert them # into string instead - msg = "Exception on RFC-Editor notification for draft '%s': %s: %s" % (name, type(e), str(e)) + msg = "Exception on RFC-Editor notification for Internet-Draft '%s': %s: %s" % (name, type(e), str(e)) log(msg) if settings.SERVER_MODE == 'test': debug.say(msg) diff --git a/ietf/templates/api/index.html b/ietf/templates/api/index.html index 88d904269..8373a387f 100644 --- a/ietf/templates/api/index.html +++ b/ietf/templates/api/index.html @@ -9,7 +9,7 @@

This section describes the autogenerated read-only API towards the database tables. See also the - draft submission API description + Internet-Draft submission API description and the IESG ballot position API description

@@ -99,7 +99,7 @@
  • States which match states__type__slug__in=draft describe the basic - Active/Expired/Dead whatever state of the draft. + Active/Expired/Dead whatever state of the Internet-Draft.
  • diff --git a/ietf/templates/base/menu.html b/ietf/templates/base/menu.html index 85784471f..691f1972d 100644 --- a/ietf/templates/base/menu.html +++ b/ietf/templates/base/menu.html @@ -90,13 +90,13 @@

  • - Recent drafts + Recent I-Ds
  • - Draft submission + I-D submission
  • @@ -134,7 +134,7 @@
  • - Approve a draft + Approve an I-D
  • {% for g in user|docman_groups %} @@ -377,7 +377,7 @@
  • - Drafts/RFCs + I-Ds/RFCs
  • diff --git a/ietf/templates/community/notification_email.txt b/ietf/templates/community/notification_email.txt index d3a6c2214..7c214de30 100644 --- a/ietf/templates/community/notification_email.txt +++ b/ietf/templates/community/notification_email.txt @@ -12,6 +12,6 @@ Change by {{ event.by }} on {{ event.time }}: Best regards, - The Datatracker draft tracking service + The Datatracker Internet-Draft tracking service (for the IETF Secretariat) {% endautoescape %} diff --git a/ietf/templates/doc/ballot/edit_position.html b/ietf/templates/doc/ballot/edit_position.html index 1b11fbb90..e3cada526 100644 --- a/ietf/templates/doc/ballot/edit_position.html +++ b/ietf/templates/doc/ballot/edit_position.html @@ -43,11 +43,13 @@ {% if ballot_deferred %} + name="Undefer" + value="Undefer">Undefer ballot {% else %} + name="Defer" + value="Defer">Defer ballot {% endif %} {% endif %} {% endif %} diff --git a/ietf/templates/doc/bofreq/bofreq_template.md b/ietf/templates/doc/bofreq/bofreq_template.md index c6269d7f4..7039e4679 100644 --- a/ietf/templates/doc/bofreq/bofreq_template.md +++ b/ietf/templates/doc/bofreq/bofreq_template.md @@ -25,13 +25,13 @@ To allow evaluation of your proposal, please include the following items: - Open source projects (if any) implementing this work: ## Agenda - - Items, drafts, speakers, timing + - Items, Internet-Drafts, speakers, timing - Or a URL ## Links to the mailing list, draft charter if any, relevant Internet-Drafts, etc. - Mailing List: https://www.ietf.org/mailman/listinfo/example - Draft charter: {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.doc.views_doc.document_main' name='charter-ietf-EXAMPLE' %} - - Relevant drafts: + - Relevant Internet-Drafts: - Use Cases: - {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.doc.views_doc.document_main' name='draft-blah-uses' %} - Solutions diff --git a/ietf/templates/doc/conflict_review/approval_text.txt b/ietf/templates/doc/conflict_review/approval_text.txt index cf00e1003..8e211e21c 100644 --- a/ietf/templates/doc/conflict_review/approval_text.txt +++ b/ietf/templates/doc/conflict_review/approval_text.txt @@ -18,7 +18,7 @@ The IESG would also like the {{receiver}} to review the comments in the datatrac The IESG review is documented at: {{review_url}} -A URL of the reviewed Internet Draft is: +A URL of the reviewed Internet-Draft is: {{conflictdoc_url}} The process for such documents is described {% if conflictdoc.stream_id == 'ise' %}at https://www.rfc-editor.org/indsubs.html {% else %}{% if conflictdoc.stream_id == 'irtf' %}in RFC 5743 {% endif %} {% endif %} diff --git a/ietf/templates/doc/document_draft.html b/ietf/templates/doc/document_draft.html index f763159fc..72256b632 100644 --- a/ietf/templates/doc/document_draft.html +++ b/ietf/templates/doc/document_draft.html @@ -713,14 +713,14 @@ {% if user.is_authenticated %} + title="Remove from your personal I-D list"> Untrack + title="Add to your personal I-D list"> Track diff --git a/ietf/templates/doc/document_html.html b/ietf/templates/doc/document_html.html index 2718189c8..b5122484b 100644 --- a/ietf/templates/doc/document_html.html +++ b/ietf/templates/doc/document_html.html @@ -133,7 +133,7 @@

    - {{ doc.htmlized|default:"Generation of htmlized text failed"|linkify|safe }} + {{ doc.htmlized|default:"Generation of htmlized text failed"|safe }}
    {% endif %} diff --git a/ietf/templates/doc/draft/adopt_draft.html b/ietf/templates/doc/draft/adopt_draft.html index de668a5fb..b90c2c947 100644 --- a/ietf/templates/doc/draft/adopt_draft.html +++ b/ietf/templates/doc/draft/adopt_draft.html @@ -11,7 +11,7 @@ {{ doc }}

    - You can begin managing the group state of this draft. + You can begin managing the group state of this Internet-Draft. The document will be moved into the stream of the adopting group.

    diff --git a/ietf/templates/doc/draft/change_state.html b/ietf/templates/doc/draft/change_state.html index b993552ba..b3aa968c2 100644 --- a/ietf/templates/doc/draft/change_state.html +++ b/ietf/templates/doc/draft/change_state.html @@ -17,7 +17,7 @@ {% bootstrap_form form %} {% if state and state.slug == "rfcqueue" %}
    - Note: If you pull the draft out of the + Note: If you pull the Internet-Draft out of the {{ state.name }} state, the RFC Editor and IANA will be notified by email with this comment, so they can update their queues.
    diff --git a/ietf/templates/doc/draft/expire_warning_email.txt b/ietf/templates/doc/draft/expire_warning_email.txt index 138b3c223..d43fadace 100644 --- a/ietf/templates/doc/draft/expire_warning_email.txt +++ b/ietf/templates/doc/draft/expire_warning_email.txt @@ -1,4 +1,4 @@ -{% load ietf_filters %}{% autoescape off %}The following draft will expire soon: +{% load ietf_filters %}{% autoescape off %}The following Internet-Draft will expire soon: Name: {{ doc.name|clean_whitespace }} Title: {{ doc.title}} diff --git a/ietf/templates/doc/draft/id_expired_email.txt b/ietf/templates/doc/draft/id_expired_email.txt index ccea8676a..afbf253ee 100644 --- a/ietf/templates/doc/draft/id_expired_email.txt +++ b/ietf/templates/doc/draft/id_expired_email.txt @@ -1,5 +1,5 @@ {% autoescape off %}{{ doc.file_tag|safe }} was just expired. -This draft is in the state "{{ state }}" in the Datatracker. +This Internet-Draft is in the state "{{ state }}" in the Datatracker. Thanks, diff --git a/ietf/templates/doc/draft/release_draft.html b/ietf/templates/doc/draft/release_draft.html index de6f03434..0b8e8ab71 100644 --- a/ietf/templates/doc/draft/release_draft.html +++ b/ietf/templates/doc/draft/release_draft.html @@ -1,10 +1,10 @@ {% extends "base.html" %} {% load origin %} {% load django_bootstrap5 %} -{% block title %}Release draft {{ doc.name }}-{{ doc.rev }}{% endblock %} +{% block title %}Release I-D {{ doc.name }}-{{ doc.rev }}{% endblock %} {% block content %}

    - Release draft + Release Internet-Draft
    {{ doc.name }}-{{ doc.rev }}

    @@ -27,4 +27,4 @@
    Back
    -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/doc/draft/rfceditor_post_approved_draft_failed.html b/ietf/templates/doc/draft/rfceditor_post_approved_draft_failed.html index aad7202af..f976ead92 100644 --- a/ietf/templates/doc/draft/rfceditor_post_approved_draft_failed.html +++ b/ietf/templates/doc/draft/rfceditor_post_approved_draft_failed.html @@ -10,7 +10,7 @@ error.

    - We have not changed the draft state or sent the announcement + We have not changed the Internet-Draft state or sent the announcement yet so if this is an intermittent error, you can go back and try again.

    diff --git a/ietf/templates/doc/mail/resurrect_completed_email.txt b/ietf/templates/doc/mail/resurrect_completed_email.txt index 8bff58540..18e3d3dfa 100644 --- a/ietf/templates/doc/mail/resurrect_completed_email.txt +++ b/ietf/templates/doc/mail/resurrect_completed_email.txt @@ -1,4 +1,4 @@ -{% autoescape off %}As you requested, the Internet Draft {{ doc.file_tag }} +{% autoescape off %}As you requested, the Internet-Draft {{ doc.file_tag }} has been resurrected. Datatracker URL: {{ url }} diff --git a/ietf/templates/doc/review/request_info.html b/ietf/templates/doc/review/request_info.html index be7a64355..55caae9fa 100644 --- a/ietf/templates/doc/review/request_info.html +++ b/ietf/templates/doc/review/request_info.html @@ -101,7 +101,7 @@ - Draft last updated + I-D last updated {{ doc.time|date:"Y-m-d" }} diff --git a/ietf/templates/doc/search/search_result_row.html b/ietf/templates/doc/search/search_result_row.html index 8767f2a52..d47dd4389 100644 --- a/ietf/templates/doc/search/search_result_row.html +++ b/ietf/templates/doc/search/search_result_row.html @@ -11,14 +11,14 @@ {% if user.is_authenticated %} + aria-label="Remove from your personal I-D list" + title="Remove from your personal I-D list"> + aria-label="Add to your personal I-D list" + title="Add to your personal I-D list">
    @@ -151,4 +151,4 @@ {% endif %} {% endif %} - + \ No newline at end of file diff --git a/ietf/templates/group/active_wgs.html b/ietf/templates/group/active_wgs.html index 412601424..597d5e4e3 100644 --- a/ietf/templates/group/active_wgs.html +++ b/ietf/templates/group/active_wgs.html @@ -17,10 +17,10 @@ href="{% url "ietf.group.views.chair_photos" group_type="wg" %}">Chair photos {% for area in areas %} -

    {{ area.name }} ({{ area.acronym }})

    +

    {{ area.name }} ({{ area.acronym|upper }})

    {% if area.ads_and_pre_ads %}
      {% for ad in area.ads_and_pre_ads %} @@ -31,19 +31,9 @@ {% endfor %}
    {% endif %} - {% if area.urls %} - - - {% endif %} {% if area.groups %} @@ -84,7 +74,7 @@
    {% else %} - + {% endif %} {% endfor %} {% endblock %} diff --git a/ietf/templates/group/conclude.html b/ietf/templates/group/conclude.html index 1742bafa1..3f9987733 100644 --- a/ietf/templates/group/conclude.html +++ b/ietf/templates/group/conclude.html @@ -8,7 +8,7 @@

    Request closing of {{ group.acronym }} {{ group.type.name }}

    Please provide instructions regarding the disposition of each - active Internet-Draft (such as to withdraw the draft, move it to + active Internet-Draft (such as to withdraw it, move it to another group, convert it to an individual submission, and so on), wording for the closure announcement, and the status of the group mailing list (will it remain open or should it be closed). diff --git a/ietf/templates/group/customize_workflow.html b/ietf/templates/group/customize_workflow.html index 8ebf004a0..8b329b855 100644 --- a/ietf/templates/group/customize_workflow.html +++ b/ietf/templates/group/customize_workflow.html @@ -15,7 +15,7 @@ {{ group.acronym }} {{ group.type.name }}

    - Below you can customize the draft states and tags used in the + Below you can customize the Internet-Draft states and tags used in the {{ group.acronym }} {{ group.type.name }}. Note that some states are mandatory for group operation and cannot be deactivated. diff --git a/ietf/templates/idindex/all_id2.txt b/ietf/templates/idindex/all_id2.txt index 5d810ab96..29c43231e 100644 --- a/ietf/templates/idindex/all_id2.txt +++ b/ietf/templates/idindex/all_id2.txt @@ -3,29 +3,29 @@ # generated: {% now "Y-m-d H:i:s T" %} # # Description of fields: -# 0 draft name and latest revision +# 0 Internet-Draft name and latest revision # 1 always -1 (was internal numeric database id in earlier schema) # 2 one of "Active", "Expired", "RFC", "Withdrawn by Submitter", # "Replaced", or "Withdrawn by IETF" # 3 if #2 is "Active", the IESG state for the document (such as -# "In Last Call", "AD Evaluation::Revised ID Needed", or "I-D Exists"); +# "In Last Call", "AD Evaluation::Revised I-D Needed", or "I-D Exists"); # otherwise empty # 4 if #2 is "RFC", the RFC number (otherwise empty) -# 5 if #2 is "Replaced", the replacing draft name (otherwise empty) +# 5 if #2 is "Replaced", the replacing Internet-Draft name (otherwise empty) # 6 revision date (YYYY-MM-DD) # 7 group acronym (or empty if no group/not known) # 8 area acronym (or empty if not known; not necessarily accurate -# for older drafts) +# for older Internet-Drafts) # 9 responsible AD name (or empty if not known) # 10 intended maturity level (or empty if not known) # 11 if #3 is "In Last Call" (with any substate), the last call # end date (YYYY-MM-DD); otherwise empty # 12 if #2 is "Active", list of file types; otherwise empty -# 13 draft title -# 14 draft authors (often quite inaccurate, especially the email +# 13 Internet-Draft title +# 14 Internet-Draft authors (often quite inaccurate, especially the email # addresses...) -# 15 draft shepherd (Shep Erd ) -# 16 draft areadirector (Aread Irector ) +# 15 Internet-Draft shepherd (Shep Erd ) +# 16 Internet-Draft areadirector (Aread Irector ) # # new fields can be added to the end in the future, so remember to # ignore those in your code diff --git a/ietf/templates/idindex/id_index.txt b/ietf/templates/idindex/id_index.txt index 95cf50488..f4707b5d0 100644 --- a/ietf/templates/idindex/id_index.txt +++ b/ietf/templates/idindex/id_index.txt @@ -2,10 +2,10 @@ {% if with_abstracts %} This summary sheet provides a short synopsis of each Internet-Draft available within the "internet-drafts" directory at the shadow -sites directory. These drafts are listed alphabetically by working +sites directory. These Internet-Drafts are listed alphabetically by working group acronym and start date.{% else %} This summary sheet provides an index of each Internet-Draft. These -drafts are listed alphabetically by Working Group acronym and initial +Internet-Drafts are listed alphabetically by Working Group acronym and initial post date.{% endif %} Generated {{ time }}. {% for group in groups %} diff --git a/ietf/templates/ietfauth/allowlist_form.html b/ietf/templates/ietfauth/allowlist_form.html index 92d40e53e..c7f3981b7 100644 --- a/ietf/templates/ietfauth/allowlist_form.html +++ b/ietf/templates/ietfauth/allowlist_form.html @@ -34,7 +34,7 @@

  • Google for the person's name within the ietf.org site: "Jane Doe site:ietf.org". If - found, and the email address matches an address used in drafts or discussions, + found, and the email address matches an address used in Internet-Drafts or discussions, things are fine, and it's OK to add the address to the allowlist using this form, and ask the person to please try the account creation form diff --git a/ietf/templates/ietfauth/review_overview.html b/ietf/templates/ietfauth/review_overview.html index 0f7e66913..924089e35 100644 --- a/ietf/templates/ietfauth/review_overview.html +++ b/ietf/templates/ietfauth/review_overview.html @@ -169,13 +169,13 @@ {% endif %} {% if teams %}

    - Add a draft that you would like to review when it becomes available for review: + Add an Internet-Draft that you would like to review when it becomes available for review:

    {% csrf_token %} {% bootstrap_form review_wish_form %}
    {% endif %} diff --git a/ietf/templates/meeting/add_session_drafts.html b/ietf/templates/meeting/add_session_drafts.html index 92c33ed4a..00358054a 100644 --- a/ietf/templates/meeting/add_session_drafts.html +++ b/ietf/templates/meeting/add_session_drafts.html @@ -1,12 +1,12 @@ {% extends "base.html" %} {# Copyright The IETF Trust 2015, All Rights Reserved #} {% load origin static django_bootstrap5 %} -{% block title %}Add drafts to {{ session.meeting }} : {{ session.group.acronym }}{% endblock %} +{% block title %}Add I-Ds to {{ session.meeting }} : {{ session.group.acronym }}{% endblock %} {% block pagehead %}{{ form.media.css }}{% endblock %} {% block content %} {% origin %}

    - Add drafts to {{ session.meeting }} + Add Internet-Drafts to {{ session.meeting }} {% if session_number %}: Session {{ session_number }}{% endif %}
    {{ session.group.acronym }} @@ -20,9 +20,9 @@ {% endif %}
    - This form will link additional drafts to this session with a revision of "Current at time of presentation". For more fine grained control of versions, or to remove a draft from a session, adjust the sessions associated with a draft from the draft's main page. + This form will link additional Internet-Drafts to this session with a revision of "Current at time of presentation". For more fine grained control of versions, or to remove an Internet-Draft from a session, adjust the sessions associated with an Internet-Draft from the Internet-Draft's main page.
    -

    Drafts already linked to this session

    +

    Internet-Drafts already linked to this session

    @@ -47,7 +47,7 @@ {% endif %}
    -

    Additional drafts to link to this session

    +

    Additional Internet-Drafts to link to this session

    {% csrf_token %} {% bootstrap_form form %} diff --git a/ietf/templates/meeting/finalize.html b/ietf/templates/meeting/finalize.html index dec518293..39fcecc9a 100644 --- a/ietf/templates/meeting/finalize.html +++ b/ietf/templates/meeting/finalize.html @@ -14,7 +14,7 @@ This will make the proceedings for IETF {{ meeting.number }} final.

    - All drafts associated with sessions that are marked "current version" will have their version set to whatever the version was at the end of the meeting. + All Internet-Drafts associated with sessions that are marked "current version" will have their version set to whatever the version was at the end of the meeting.

    {# This would be a good place to put any warnings about important things missing from the proceedings #} diff --git a/ietf/templates/meeting/group_materials.html b/ietf/templates/meeting/group_materials.html index 8f3fd49a5..8cdc9fc54 100644 --- a/ietf/templates/meeting/group_materials.html +++ b/ietf/templates/meeting/group_materials.html @@ -102,7 +102,7 @@ {{ draft.name }}
    {% empty %} - No drafts + No Internet-Drafts {% endfor %} {% endwith %} @@ -121,4 +121,4 @@ {% endif %} {% endif %} - + \ No newline at end of file diff --git a/ietf/templates/meeting/group_proceedings.html b/ietf/templates/meeting/group_proceedings.html index 1e0bcfe06..d0a56b5b5 100644 --- a/ietf/templates/meeting/group_proceedings.html +++ b/ietf/templates/meeting/group_proceedings.html @@ -82,8 +82,8 @@
    {% empty %} - {% if not meeting.proceedings_final %}No drafts{% endif %} + {% if not meeting.proceedings_final %}No Internet-Drafts{% endif %} {% endfor %} {% endif %} - + \ No newline at end of file diff --git a/ietf/templates/meeting/important-dates.html b/ietf/templates/meeting/important-dates.html index a21fbc478..659154759 100644 --- a/ietf/templates/meeting/important-dates.html +++ b/ietf/templates/meeting/important-dates.html @@ -2,6 +2,9 @@ {# Copyright The IETF Trust 2017, All Rights Reserved #} {% load origin %} {% load ietf_filters static textfilters ietf_filters %} +{% block pagehead %} + +{% endblock %} {% block title %}IETF {{ meetings.0.number }}: Important Dates{% endblock %} {% block content %} {% origin %} @@ -21,10 +24,10 @@
    {{ meeting.date }}, {{ meeting.city }}, {{ meeting.country }}

    - +
    - + @@ -42,7 +45,7 @@ {% endif %}
    DateDate Weekday Description
    - {{ d.name.desc|urlize_ietf_docs|linkify }} + {{ d.name.desc|urlize_ietf_docs|linkify }}{% if d.name.desc|slice:"-1:" != "." %}.{% endif %} {% if first and d.name.slug == 'openreg' or first and d.name.slug == 'earlybird' %} Register here. {% endif %} @@ -64,7 +67,7 @@ {% endif %} {% if d.name.slug == 'idcutoff' %} Upload using the - ID Submission Tool. + I-D Submission Tool. {% endif %} {% if d.name.slug == 'draftwgagenda' or d.name.slug == 'revwgagenda' or d.name.slug == 'procsub' or d.name.slug == 'revslug' %} Upload using the @@ -78,4 +81,7 @@
    {% endif %} {% endfor %} +{% endblock %} +{% block js %} + {% endblock %} \ No newline at end of file diff --git a/ietf/templates/meeting/important_dates_for_meeting.ics b/ietf/templates/meeting/important_dates_for_meeting.ics index 181bfe15e..df5fe4681 100644 --- a/ietf/templates/meeting/important_dates_for_meeting.ics +++ b/ietf/templates/meeting/important_dates_for_meeting.ics @@ -15,9 +15,9 @@ DESCRIPTION:{{ d.name.desc }}{% if first and d.name.slug == 'openreg' or first a {{ request.scheme }}://{{ request.get_host }}{% url 'ietf.secr.sreq.views.main' %}{% endif %}{% if d.name.slug == 'cutoffbofreq' %}\n To request a BOF, please see instructions on Requesting a BOF:\n https://www.ietf.org/how/bofs/bof-procedures/{% endif %}{% if d.name.slug == 'idcutoff' %}\n - Upload using the ID Submission Tool:\n + Upload using the I-D Submission Tool:\n {{ request.scheme }}://{{ request.get_host }}{% url 'ietf.submit.views.upload_submission' %}{% endif %}{% if d.name.slug == 'draftwgagenda' or d.name.slug == 'revwgagenda' or d.name.slug == 'procsub' or d.name.slug == 'revslug' %}\n Upload using the Meeting Materials Management Tool:\n {{ request.scheme }}://{{ request.get_host }}{% url 'ietf.meeting.views.materials' num=meeting.number %}{% endif %} END:VEVENT -{% endfor %} \ No newline at end of file +{% endfor %} diff --git a/ietf/templates/meeting/materials.html b/ietf/templates/meeting/materials.html index c11744baf..35e2ca96a 100644 --- a/ietf/templates/meeting/materials.html +++ b/ietf/templates/meeting/materials.html @@ -46,7 +46,7 @@ Agenda Minutes Slides - Drafts + Internet-Drafts Updated {% if user|has_role:"Secretariat" or user_groups %} @@ -73,7 +73,7 @@ Agenda Minutes Slides - Drafts + Internet-Drafts Updated {% if user|has_role:"Secretariat" or user_groups %} @@ -101,7 +101,7 @@ Minutes Slides - Drafts + Internet-Drafts Updated @@ -143,7 +143,7 @@ Slides - Drafts + Internet-Drafts Updated @@ -183,7 +183,7 @@ Slides - Drafts + Internet-Drafts Updated @@ -222,7 +222,7 @@ Slides - Drafts + Internet-Drafts Updated diff --git a/ietf/templates/meeting/proceedings.html b/ietf/templates/meeting/proceedings.html index eb6fe0f04..1c81c028f 100644 --- a/ietf/templates/meeting/proceedings.html +++ b/ietf/templates/meeting/proceedings.html @@ -33,7 +33,7 @@ Artifacts Recordings Slides - Drafts + Internet-Drafts @@ -56,7 +56,7 @@ Artifacts Recordings Slides - Drafts + Internet-Drafts @@ -105,7 +105,7 @@ Artifacts Recordings Slides - Drafts + Internet-Drafts @@ -136,7 +136,7 @@ Slides - Drafts + Internet-Drafts @@ -168,7 +168,7 @@ Slides - Drafts + Internet-Drafts diff --git a/ietf/templates/meeting/session_buttons_include.html b/ietf/templates/meeting/session_buttons_include.html index 1472e6a50..933786676 100644 --- a/ietf/templates/meeting/session_buttons_include.html +++ b/ietf/templates/meeting/session_buttons_include.html @@ -51,7 +51,7 @@ {% endif %} {# show stream buttons up till end of session, then show archive buttons #} - {% if now < timeslot.end_time %} + {% if timezone_now < timeslot.end_time %} {# chat #} {% endif %} {# show stream buttons up till end of session, then show archive buttons #} - {% if now < timeslot.end_time %} + {% if timezone_now < timeslot.end_time %} {# chat #}
  • {% endif %} - {# hidden fields shown whether or not the whole form is hidden #} - {{ form.attendees.as_hidden }}{{ form.comments.as_hidden }}{{ form.id.as_hidden }}{{ form.on_agenda.as_hidden }}{{ form.DELETE.as_hidden }} + {# hidden fields included whether or not the whole form is hidden #} + {{ form.attendees.as_hidden }}{{ form.comments.as_hidden }}{{ form.id.as_hidden }}{{ form.on_agenda.as_hidden }}{{ form.DELETE.as_hidden }}{{ form.remote_instructions.as_hidden }}{{ form.short.as_hidden }}{{ form.agenda_note.as_hidden }} \ No newline at end of file diff --git a/ietf/templates/meeting/session_details_panel.html b/ietf/templates/meeting/session_details_panel.html index 114c4e3fd..986dfc9b2 100644 --- a/ietf/templates/meeting/session_details_panel.html +++ b/ietf/templates/meeting/session_details_panel.html @@ -1,7 +1,7 @@ {% load origin ietf_filters textfilters tz dateformat %} {% origin %} {% for session in sessions %} - {% with item=session.official_timeslotassignment %} + {% with item=session.official_timeslotassignment %} {% with timeslot=item.timeslot %}

    {% if sessions|length > 1 %}Session {{ forloop.counter }} :{% endif %} {% for time in session.times %} @@ -22,7 +22,7 @@ {% if meeting.type.slug == 'interim' %} {% include "meeting/interim_session_buttons.html" with show_agenda=False show_empty=False %} {% else %} - {% include "meeting/session_buttons_include.html" with show_agenda=False show_empty=False item=session.official_timeslotassignment use_notes=session.meeting.use_notes %} + {% include "meeting/session_buttons_include.html" with show_agenda=False item=session.official_timeslotassignment use_notes=session.meeting.use_notes %} {% endif %} {% endif %} @@ -181,7 +181,7 @@ {% endif %} {% if can_manage_materials %}
    Drag-and-drop to reorder slides
    {% endif %} -

    Drafts

    +

    Internet-Drafts

    {% if session.filtered_drafts %} @@ -210,8 +210,152 @@ {% if can_manage_materials %} - Link additional drafts to session + Link additional I-Ds to session {% endif %} -{% endwith %} + {% if timezone_now < timeslot.end_time %}{# show meeting tools until the session ends #} +

    Meeting tools

    +
    + + {% if use_notes %} + + + + {% endif %} + {# chat #} + + + + {# Video stream (meetecho) #} + {% if timezone_now < timeslot.end_time %} + + + + {% endif %} + {# Onsite tool (meetecho_onsite) #} + {% if timeslot.location.onsite_tool_url %} + + + + {% endif %} + {# Audio stream #} + {% if timeslot.location.audio_stream_url %} + + + + {% endif %} + {# Remote call-in #} + {% if session.agenda_note|first_url|conference_url %} + + + + {% elif session.remote_instructions|first_url|conference_url %} + + + + {% elif timeslot.location.webex_url %} + + + + {% endif %} + +
    + + Notepad for note-takers + +
    + + Chat room + +
    + + Video stream + +
    + + Onsite tool + +
    + + Audio stream + +
    + + Online conference + +
    + + Online conference + +
    + + Webex session + +
    + {% else %}{# session is in the past #} +

    Notes and recordings

    + + + {% if use_notes %} + + + + {% endif %} + {# Recordings #} + {% if meeting.number|add:"0" >= 80 %} + {% with session.recordings as recordings %} + {% if recordings %} + {# There's no guaranteed order, so this is a bit messy: #} + {# First, the audio recordings, if any #} + {% for r in recordings %} + {% if r.get_href and 'audio' in r.get_href %} + + + + {% endif %} + {% endfor %} + {# Then the youtube recordings #} + {% for r in recordings %} + {% if r.get_href and 'youtu' in r.get_href %} + + + + {% endif %} + {% endfor %} + {# Finally, any other recordings #} + {% for r in recordings %} + {% if r.get_href and not 'audio' in r.get_href and not 'youtu' in r.get_href %} + + + + {% endif %} + {% endfor %} + {% endif %} + {% endwith %} + {% if timeslot.location.video_stream_url %} + + + + {% endif %} + {% endif %} + +
    + + Notepad for note-takers + +
    + {{ r.title }} +
    + {{ r.title }} +
    + {{ r.title }} +
    + + Session recording + +
    + {% endif %} +{% endwith %}{% endwith %} {% endfor %} \ No newline at end of file diff --git a/ietf/templates/meeting/upcoming.html b/ietf/templates/meeting/upcoming.html index eece8383f..09dff6de4 100644 --- a/ietf/templates/meeting/upcoming.html +++ b/ietf/templates/meeting/upcoming.html @@ -137,6 +137,7 @@ {% with session=entry %} { group: '{% if session.group %}{{session.group.acronym}}{% endif %}{% if session.name %} - {{session.name}}{% endif %}', + current_status: '{{ session.current_status }}', filter_keywords: ["{{ session.filter_keywords|join:'","' }}"], start_moment: moment.utc('{{session.official_timeslotassignment.timeslot.time | utc | date:"Y-m-d H:i"}}'), end_moment: moment.utc('{{session.official_timeslotassignment.timeslot.end_time | utc | date:"Y-m-d H:i"}}'), @@ -157,4 +158,4 @@ agenda_filter.enable(); }); -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/notify_expirations/body.txt b/ietf/templates/notify_expirations/body.txt index 96bfd759b..e734068bb 100644 --- a/ietf/templates/notify_expirations/body.txt +++ b/ietf/templates/notify_expirations/body.txt @@ -1,7 +1,7 @@ -{% load ietf_filters %}{% autoescape off %}The following draft will expire soon: +{% load ietf_filters %}{% autoescape off %}The following Internet-Draft will expire soon: Filename: {{draft.filename}} Title: {{draft.title|clean_whitespace}} State: {{draft.idstate}} Expires: {{expiration}} (in {{expiration|timeuntil}}) -{% endautoescape %} \ No newline at end of file +{% endautoescape %} diff --git a/ietf/templates/person/profile.html b/ietf/templates/person/profile.html index 3d0b1e067..f443debd9 100644 --- a/ietf/templates/person/profile.html +++ b/ietf/templates/person/profile.html @@ -126,7 +126,7 @@ {{ person.first_name }} has no RFCs as of {{ today|date:"Y-m-d" }}. {% endif %}

    - Active Drafts ({{ person.active_drafts|length }}) + Active Internet-Drafts ({{ person.active_drafts|length }})

    {% if person.active_drafts.exists %}
      @@ -137,10 +137,10 @@ {% endfor %}
    {% else %} - {{ person.first_name }} has no active drafts as of {{ today|date:"Y-m-d" }}. + {{ person.first_name }} has no active Internet-Drafts as of {{ today|date:"Y-m-d" }}. {% endif %}

    - Expired Drafts ({{ person.expired_drafts|length }}) + Expired Internet-Drafts ({{ person.expired_drafts|length }})

    {% if person.expired_drafts.exists %}
      @@ -154,13 +154,13 @@ {% endif %} {% endfor %}
    - (Excluding replaced drafts.) + (Excluding replaced Internet-Drafts.) {% else %} - {{ person.first_name }} has no expired drafts as of {{ today|date:"Y-m-d" }}. + {{ person.first_name }} has no expired Internet-Drafts as of {{ today|date:"Y-m-d" }}. {% endif %} {% if person.has_drafts %}

    - Draft Activity + Internet-Draft Activity

    diff --git a/ietf/templates/release/about.html b/ietf/templates/release/about.html index a045d4a93..96342465c 100644 --- a/ietf/templates/release/about.html +++ b/ietf/templates/release/about.html @@ -104,7 +104,7 @@ The first version of the idtracker was commissioned by the IESG under Harald Alvestrand in 2001, and the IESG started using it at the beginning of 2002. It was written by Michael Lee in Perl, with direct SQL statements. It provided a - major improvement in visibility of the progress of drafts by the IESG. + major improvement in visibility of the progress of Internet-Drafts by the IESG. The first public presentation diff --git a/ietf/templates/stats/document_stats.html b/ietf/templates/stats/document_stats.html index 8a4458172..efd0dd3b6 100644 --- a/ietf/templates/stats/document_stats.html +++ b/ietf/templates/stats/document_stats.html @@ -7,7 +7,7 @@ {% endblock %} {% block content %} {% origin %} -

    Draft/RFC statistics

    +

    Internet-Draft and RFC statistics

    @@ -71,7 +71,7 @@
    Please Note: The author information in the datatracker about RFCs - with numbers lower than about 1300 and drafts from before 2001 is + with numbers lower than about 1300 and Internet-Drafts from before 2001 is unreliable and in many cases absent. For this reason, statistics on these pages does not show correct author stats for corpus selections that involve such documents. diff --git a/ietf/templates/stats/document_stats_author_affiliation.html b/ietf/templates/stats/document_stats_author_affiliation.html index aecdb0ba3..9c798cb92 100644 --- a/ietf/templates/stats/document_stats_author_affiliation.html +++ b/ietf/templates/stats/document_stats_author_affiliation.html @@ -63,7 +63,7 @@

    The statistics are based entirely on the author affiliation - provided with each draft. Since this may vary across documents, an + provided with each Internet-Draft. Since this may vary across documents, an author may be counted with more than one affiliation, making the total sum more than 100%.

    @@ -110,4 +110,4 @@

    Show generated aliases

    -{% endif %} +{% endif %} \ No newline at end of file diff --git a/ietf/templates/stats/document_stats_author_continent.html b/ietf/templates/stats/document_stats_author_continent.html index 805d61dab..5554ac341 100644 --- a/ietf/templates/stats/document_stats_author_continent.html +++ b/ietf/templates/stats/document_stats_author_continent.html @@ -63,7 +63,7 @@

    The statistics are based entirely on the author addresses provided - with each draft. Since this varies across documents, a traveling + with each Internet-Draft. Since this varies across documents, a traveling author may be counted in more than country, making the total sum more than 100%. -

    +

    \ No newline at end of file diff --git a/ietf/templates/stats/document_stats_author_country.html b/ietf/templates/stats/document_stats_author_country.html index 724ed74bd..72299cc39 100644 --- a/ietf/templates/stats/document_stats_author_country.html +++ b/ietf/templates/stats/document_stats_author_country.html @@ -63,7 +63,7 @@

    The statistics are based entirely on the author addresses provided - with each draft. Since this varies across documents, a traveling + with each Internet-Draft. Since this varies across documents, a traveling author may be counted in more than country, making the total sum more than 100%.

    @@ -133,4 +133,4 @@

    Show generated aliases

    -{% endif %} +{% endif %} \ No newline at end of file diff --git a/ietf/templates/stats/index.html b/ietf/templates/stats/index.html index dd5031248..1c5026013 100644 --- a/ietf/templates/stats/index.html +++ b/ietf/templates/stats/index.html @@ -11,13 +11,13 @@

    diff --git a/ietf/templates/submit/add_preapproval.html b/ietf/templates/submit/add_preapproval.html index 5f649da57..ba27ac9c6 100644 --- a/ietf/templates/submit/add_preapproval.html +++ b/ietf/templates/submit/add_preapproval.html @@ -9,14 +9,14 @@ {% origin %}

    Add pre-approval

    - You can register a pre-approved draft name. Then the chair - approval step of group -00 submissions is suspended for that draft name + You can register a pre-approved Internet-Draft name. Then the chair + approval step of group -00 submissions is suspended for that Internet-Draft name so a future submission is posted to the data tracker immediately.

    - When the revision -00 draft is submitted, the pre-approval will not + When the revision -00 Internet-Draft is submitted, the pre-approval will not be shown anymore as it has fulfilled its purpose (only revision -00 submissions are - subject to approval). If the draft never shows up, you can instead + subject to approval). If the Internet-Draft never shows up, you can instead later cancel the pre-approval to get rid of it.

    Instructions

    @@ -32,7 +32,7 @@

    As chair {% if groups|length > 1 %}of {{ groups|length|apnumber }} groups{% endif %} - you can pre-approve draft names on the form: + you can pre-approve Internet-Draft names on the form:

    {% for g in groups %} diff --git a/ietf/templates/submit/announce_to_lists.txt b/ietf/templates/submit/announce_to_lists.txt index b291da702..35cf8fa6b 100644 --- a/ietf/templates/submit/announce_to_lists.txt +++ b/ietf/templates/submit/announce_to_lists.txt @@ -1,6 +1,6 @@ {% autoescape off %} A New Internet-Draft is available from the on-line Internet-Drafts directories. -{% if submission.group %}This draft is a work item of the {{ submission.group.name }}{% if submission.group.type.name %} {{ submission.group.type.name }}{% endif %} of the {% if submission.group.type_id == "rg" %}IRTF{% else %}IETF{% endif %}.{% endif %} +{% if submission.group %}This Internet-Draft is a work item of the {{ submission.group.name }}{% if submission.group.type.name %} {{ submission.group.type.name }}{% endif %} of the {% if submission.group.type_id == "rg" %}IRTF{% else %}IETF{% endif %}.{% endif %} Title : {{ submission.title }} Author{{ submission.authors|pluralize:" ,s" }} : {% for author in submission.authors %}{{ author.name }}{% if not forloop.last %} @@ -12,7 +12,7 @@ A New Internet-Draft is available from the on-line Internet-Drafts directories. Abstract: {{ submission.abstract }} -The IETF datatracker status page for this draft is: +The IETF datatracker status page for this Internet-Draft is: {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.doc.views_doc.document_main' name=submission.name %} {% if submission.xml_version == "3" %} There is also an HTML version available at: diff --git a/ietf/templates/submit/api_submission_info.html b/ietf/templates/submit/api_submission_info.html index da2b21d52..3153d4257 100644 --- a/ietf/templates/submit/api_submission_info.html +++ b/ietf/templates/submit/api_submission_info.html @@ -1,12 +1,12 @@ {% extends "base.html" %} {# Copyright The IETF Trust 2015-2022, All Rights Reserved #} {% load origin ietf_filters %} -{% block title %}Draft submission API instructions{% endblock %} +{% block title %}I-D submission API instructions{% endblock %} {% block content %} {% origin %} -

    Draft submission API instructions

    +

    Internet-Draft submission API instructions

    - A simplified draft submission interface, intended for automation, + A simplified Internet-Draft submission interface, intended for automation, is available at {% url 'ietf.submit.views.api_submission' %}.

    @@ -37,11 +37,11 @@ xml, which is the submitted file (required)

  • - replaces, a comma-separated list of draft names replaced by this submission (optional) + replaces, a comma-separated list of Internet-Draft names replaced by this submission (optional)
  • - When a draft is submitted, basic checks are performed immediately and an HTTP response + When an Internet-Draft is submitted, basic checks are performed immediately and an HTTP response is sent including an appropriate http result code and JSON data describing the outcome.

    @@ -62,7 +62,7 @@ "error": "Description of the error" }

    - If the basic checks passed and a successful response is sent, the draft is queued for further + If the basic checks passed and a successful response is sent, the Internet-Draft is queued for further processing. Its status can be monitored by issuing GET requests to the status_url indicated in the JSON response. This URL will respond with JSON data in the format

    @@ -72,17 +72,17 @@ "state": "validating" }

    - The state validating indicates that the draft is being or waiting to be processed. - Any other state indicates that the draft completed validation. If the validation failed or if the - draft was canceled after validation, the state will be cancel. + The state validating indicates that the Internet-Draft is being or waiting to be processed. + Any other state indicates that the Internet-Draft completed validation. If the validation failed or if the + Internet-Draft was canceled after validation, the state will be cancel.

    - Human-readable details of the draft's status and history can be found at + Human-readable details of the Internet-Draft's status and history can be found at {% absurl 'ietf.submit.views.submission_status' submission_id='123' %} (replacing 123 with the id for the submission).)

    - Here is an example of submitting a draft and polling its status through the API: + Here is an example of submitting an Internet-Draft and polling its status through the API:

     $ curl -s -F "user=user.name@example.com" -F "xml=@~/draft-user-example.xml" -F "replaces=draft-user-replaced-draft"  {% absurl 'ietf.submit.views.api_submission' %} | jq
    diff --git a/ietf/templates/submit/api_submit_info.html b/ietf/templates/submit/api_submit_info.html
    index 114b97962..cd0d52410 100644
    --- a/ietf/templates/submit/api_submit_info.html
    +++ b/ietf/templates/submit/api_submit_info.html
    @@ -1,18 +1,18 @@
     {% extends "base.html" %}
     {# Copyright The IETF Trust 2015-2022, All Rights Reserved #}
     {% load origin ietf_filters %}
    -{% block title %}Draft submission API instructions{% endblock %}
    +{% block title %}I-D submission API instructions{% endblock %}
     {% block content %}
         {% origin %}
    -    

    Draft submission API instructions

    +

    Internet-Draft submission API instructions

    Note: API endpoint described here is known to have a slow response time or to fail - due to timeout for some draft submissions, particularly those with large file sizes. + due to timeout for some Internet-Draft submissions, particularly those with large file sizes. It is recommended to use the new API endpoint instead for increased reliability.

    - A simplified draft submission interface, intended for automation, + A simplified Internet-Draft submission interface, intended for automation, is available at {% absurl 'ietf.submit.views.api_submit' %}.

    diff --git a/ietf/templates/submit/approval_request.txt b/ietf/templates/submit/approval_request.txt index f32ea5c3b..9186e556f 100644 --- a/ietf/templates/submit/approval_request.txt +++ b/ietf/templates/submit/approval_request.txt @@ -5,7 +5,7 @@ Hi, {% if not submission.group.is_active %} Note: This submission belongs to an inactive working group. {% endif %} -To approve the draft, go to this URL (note: you need to login to be able to approve): +To approve the Internet-Draft, go to this URL (note: you need to login to be able to approve): https://{{ domain }}{% url "ietf.submit.views.submission_status" submission_id=submission.pk access_token=submission.access_token %} File name : {{ submission.name }} @@ -32,4 +32,4 @@ To approve the draft, go to this URL (note: you need to login to be able to appr Best regards, The IETF Secretariat - through the draft submission service + through the Internet-Draft submission service diff --git a/ietf/templates/submit/approvals.html b/ietf/templates/submit/approvals.html index 9ddfa7f0a..1030f19a6 100644 --- a/ietf/templates/submit/approvals.html +++ b/ietf/templates/submit/approvals.html @@ -4,7 +4,7 @@ {% block pagehead %} {% endblock %} -{% block title %}Draft submission approvals{% endblock %} +{% block title %}I-D submission approvals{% endblock %} {% load ietf_filters %} {% block submit_content %} {% origin %} @@ -18,7 +18,7 @@ - + @@ -36,7 +36,7 @@
    DraftInternet-Draft Submitted
    {% endif %} -

    Pre-approved drafts not yet submitted

    +

    Pre-approved Internet-Drafts not yet submitted

    {% if user|has_role:"Secretariat,WG Chair,RG Chair" %}

    - Draft name + Internet-Draft name Pre-approved By @@ -74,16 +74,16 @@ {% endif %} -

    Approved drafts within the past {{ days }} days

    +

    Approved Internet-Drafts within the past {{ days }} days

    {% if not recently_approved %}

    - No drafts approved. + No Internet-Drafts approved.

    {% else %} - + @@ -103,7 +103,7 @@

    Submission of approvals

    This is where chairs and the secretariat can approve and pre-approve document - submissions which require approval, such as WG -00 drafts. + submissions which require approval, such as WG -00 Internet-Drafts.

    You need to diff --git a/ietf/templates/submit/confirm_submission.html b/ietf/templates/submit/confirm_submission.html index fdd1ba0ab..e86fc618f 100644 --- a/ietf/templates/submit/confirm_submission.html +++ b/ietf/templates/submit/confirm_submission.html @@ -9,7 +9,7 @@ {% if submission.state_id == "posted" %}

    The submission has already been posted. See the - draft here. + Internet-Draft here.

    {% else %}
    @@ -54,7 +54,7 @@ {% csrf_token %} diff --git a/ietf/templates/submit/confirm_submission.txt b/ietf/templates/submit/confirm_submission.txt index 87e0f50f6..681968761 100644 --- a/ietf/templates/submit/confirm_submission.txt +++ b/ietf/templates/submit/confirm_submission.txt @@ -1,10 +1,10 @@ {% autoescape off %} Hi, -The IETF datatracker draft submission service has received your draft +The IETF datatracker Internet-Draft submission service has received your Internet-Draft {{ submission.name }}-{{ submission.rev }}, and requires a confirmation step in order to be able to complete the posting of -the draft.{% if chair_notice %} +the Internet-Draft.{% if chair_notice %} The chairs have been copied since this is a group document whose author list has changed. {%endif%} @@ -16,6 +16,6 @@ Please follow this link to the page where you can confirm the posting: Best regards, The IETF Secretariat - through the draft submission service + through the Internet-Draft submission service {% endautoescape %} diff --git a/ietf/templates/submit/full_url.txt b/ietf/templates/submit/full_url.txt index a7df4d9f2..633df2703 100644 --- a/ietf/templates/submit/full_url.txt +++ b/ietf/templates/submit/full_url.txt @@ -2,7 +2,7 @@ Hi, The datatracker has received a request to send out the link to the URL where you -can confirm the submission of your draft {{ submission.name }}-{{ submission.rev }}. +can confirm the submission of your Internet-Draft {{ submission.name }}-{{ submission.rev }}. Please follow this link to get full access to the submission page: {{ url|safe }} @@ -11,6 +11,6 @@ Please follow this link to get full access to the submission page: Best regards, The IETF Secretariat - through the draft submission service + through the Internet-Draft submission service {% endautoescape %} diff --git a/ietf/templates/submit/manual_post.html b/ietf/templates/submit/manual_post.html index 5c986800b..1f74af4a6 100644 --- a/ietf/templates/submit/manual_post.html +++ b/ietf/templates/submit/manual_post.html @@ -4,7 +4,7 @@ {% block pagehead %} {% endblock %} -{% block title %}Draft submissions awaiting manual posting{% endblock %} +{% block title %}I-D submissions awaiting manual posting{% endblock %} {% load ietf_filters %} {% block submit_content %} {% origin %} @@ -18,7 +18,7 @@ class="submissions table table-sm table-striped tablesorter">
    - + @@ -58,10 +58,10 @@
    DraftInternet-Draft Submitted
    DraftInternet-Draft Submitted Passes Checks Metadata
    {% endif %} -

    Submissions awaiting draft upload

    +

    Submissions awaiting Internet-Draft upload

    {% if not waiting_for_draft %}

    - There are no submissions awaiting draft upload. + There are no submissions awaiting Internet-Draft upload.

    {% else %} If you run into problems submitting an Internet-Draft and need to request manual posting of an Internet-Draft, please send the - draft and the reason for manual posting to + Internet-Draft and the reason for manual posting to {{ settings.SECRETARIAT_SUPPORT_EMAIL }}. Be advised that manual processing always takes additional time. \ No newline at end of file diff --git a/ietf/templates/submit/submission_status.html b/ietf/templates/submit/submission_status.html index 255bc02bf..e8136c6f4 100644 --- a/ietf/templates/submit/submission_status.html +++ b/ietf/templates/submit/submission_status.html @@ -39,9 +39,9 @@

    Submission checks

    {% if passes_checks %} - Your draft has been verified to pass the submission checks. + Your Internet-Draft has been verified to pass the submission checks. {% else %} - Your draft has NOT been verified to pass the submission checks. + Your Internet-Draft has NOT been verified to pass the submission checks. {% endif %}

    {% if submission.authors|length > 5 %} @@ -130,7 +130,7 @@ {% if submission.state_id == "waiting-for-draft" %}

    - This submission is awaiting the first draft upload. + This submission is awaiting the first Internet-Draft upload.

    {% elif submission.state_id == 'validating' %}

    @@ -427,7 +427,7 @@ {% if requires_group_approval %} Notifies group chairs to get approval. {% elif requires_prev_authors_approval %} - Notifies authors of previous revision of draft to get approval. + Notifies authors of previous revision of Internet-Draft to get approval. {% else %} Notifies submitter and authors for confirmation. {% endif %} diff --git a/ietf/templates/submit/tool_instructions.html b/ietf/templates/submit/tool_instructions.html index 1a1486f0e..37eb54917 100644 --- a/ietf/templates/submit/tool_instructions.html +++ b/ietf/templates/submit/tool_instructions.html @@ -29,7 +29,7 @@ https://www.ietf.org/ietf/1id-abstracts.txt.

    - An API for automated draft submission is available as an alternative to this webpage at + An API for automated Internet-Draft submission is available as an alternative to this webpage at {{ settings.IDTRACKER_BASE_URL }}{% url 'ietf.submit.views.api_submit' %}.

    @@ -92,7 +92,7 @@ If the submission does not have any validation errors, then the user will be allowed to proceed with the automated posting process. This process will begin with submitter authentication, which will be done by e-mail.

    - A user must carefully examine the meta-data that are displayed on this screen, and make sure that these data were extracted correctly. If the data were not extracted correctly, then the user can correct the errors via the Adjust page. In such a case, the user will pass the draft to the Secretariat for manual posting. + A user must carefully examine the meta-data that are displayed on this screen, and make sure that these data were extracted correctly. If the data were not extracted correctly, then the user can correct the errors via the Adjust page. In such a case, the user will pass the Internet-Draft to the Secretariat for manual posting.

    @@ -136,7 +136,7 @@

    - Button to start the automated posting process with submitter authentication. Once clicked, an email message will be sent to the parties who can verify the submission. For a new draft (-00), that will be the authors listed in the document. For -01 and subsequent drafts, the confirmation message is sent to the authors of the previous version. One of the recipients of the confirmation message will need to open the email message via his or her email application, and click the link provided in the message body. + Button to start the automated posting process with submitter authentication. Once clicked, an email message will be sent to the parties who can verify the submission. For a new Internet-Draft (-00), that will be the authors listed in the document. For -01 and subsequent Internet-Drafts, the confirmation message is sent to the authors of the previous version. One of the recipients of the confirmation message will need to open the email message via his or her email application, and click the link provided in the message body.

    Once a link in the email body is clicked, the document gets pushed to the IETF Web and FTP sites, a notification is sent to the authors of the document, and an I-D Action announcement will be sent out within the next 15 minutes. @@ -216,4 +216,4 @@

    {% include "submit/problem-reports-footer.html" %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/templates/sync/discrepancies.html b/ietf/templates/sync/discrepancies.html index 2616ca917..9e50fd9bf 100644 --- a/ietf/templates/sync/discrepancies.html +++ b/ietf/templates/sync/discrepancies.html @@ -14,7 +14,7 @@ - + diff --git a/ietf/utils/draft.py b/ietf/utils/draft.py index eeac1747b..82fec27f1 100755 --- a/ietf/utils/draft.py +++ b/ietf/utils/draft.py @@ -13,7 +13,7 @@ SYNOPSIS DESCRIPTION Extract information about authors' names and email addresses, - intended status and number of pages from Internet Drafts. + intended status and number of pages from Internet-Drafts. The information is emitted in the form of a line containing xml-style attributes, prefixed with the name of the draft. @@ -629,6 +629,8 @@ class PlaintextDraft(Draft): address_section = r"^ *([0-9]+\.)? *(Author|Editor)('s|s'|s|\(s\)) (Address|Addresses|Information)" + # "Internet Draft" (without the dash) is correct here, because the usage is to + # suppress incorrect author name extraction ignore = [ "Standards Track", "Current Practice", "Internet Draft", "Working Group", "Expiration Date", @@ -936,7 +938,7 @@ class PlaintextDraft(Draft): companies[i] = None break else: - _warn("Author tuple doesn't match text in draft: %s, %s" % (authors[i], fullname)) + _warn("Author tuple doesn't match text in Internet-Draft: %s, %s" % (authors[i], fullname)) authors[i] = None break except AssertionError: @@ -1266,7 +1268,7 @@ def getmeta(fn): fields["eventsource"] = "draft" if " " in fn or not fn.endswith(".txt"): - _warn("Skipping unexpected draft name: '%s'" % (fn)) + _warn("Skipping unexpected Internet-Draft name: '%s'" % (fn)) return {} if os.path.exists(fn): @@ -1409,7 +1411,7 @@ def _main(outfile=sys.stdout): files = [ "-" ] for file in files: - _debug( "Reading drafts from '%s'" % file) + _debug( "Reading Internet-Drafts from '%s'" % file) if file == "-": file = sys.stdin elif file.endswith(".gz"): diff --git a/ietf/utils/management/commands/populate_yang_model_dirs.py b/ietf/utils/management/commands/populate_yang_model_dirs.py index 1a6e1422c..864dfafb7 100644 --- a/ietf/utils/management/commands/populate_yang_model_dirs.py +++ b/ietf/utils/management/commands/populate_yang_model_dirs.py @@ -40,11 +40,11 @@ class Command(BaseCommand): * All yang modules from published RFCs should be extracted and be available in an rfc-yang repository. - * All valid yang modules from active, not replaced, internet drafts + * All valid yang modules from active, not replaced, Internet-Drafts should be extracted and be available in a draft-valid-yang repository. * All, valid and invalid, yang modules from active, not replaced, - internet drafts should be available in a draft-all-yang repository. + Internet-Drafts should be available in a draft-all-yang repository. (Actually, given precedence ordering, it would be enough to place non-validating modules in a draft-invalid-yang repository instead). diff --git a/ietf/utils/markdown.py b/ietf/utils/markdown.py index 3b7c60cae..63d1c7a70 100644 --- a/ietf/utils/markdown.py +++ b/ietf/utils/markdown.py @@ -6,6 +6,8 @@ Use this instead of importing markdown directly to guarantee consistent extensio the datatracker. """ import markdown as python_markdown +from markdown.extensions import Extension +from markdown.postprocessors import Postprocessor from django.utils.safestring import mark_safe @@ -13,15 +15,37 @@ from ietf.doc.templatetags.ietf_filters import urlize_ietf_docs from ietf.utils.text import bleach_cleaner, bleach_linker +class LinkifyExtension(Extension): + """ + Simple Markdown extension inspired by https://github.com/daGrevis/mdx_linkify, + but using our bleach_linker directly. Doing the linkification on the converted + Markdown output introduces artifacts. + """ + + def extendMarkdown(self, md): + md.postprocessors.register(LinkifyPostprocessor(md), "linkify", 50) + # disable automatic links via angle brackets for email addresses + md.inlinePatterns.deregister("automail") + # "autolink" for URLs does not seem to cause issues, so leave it on + + +class LinkifyPostprocessor(Postprocessor): + def run(self, text): + return urlize_ietf_docs(bleach_linker.linkify(text)) + + def markdown(text): return mark_safe( - bleach_linker.linkify( - urlize_ietf_docs( - bleach_cleaner.clean( - python_markdown.markdown( - text, extensions=["extra", "nl2br", "sane_lists", "toc"] - ) - ) + bleach_cleaner.clean( + python_markdown.markdown( + text, + extensions=[ + "extra", + "nl2br", + "sane_lists", + "toc", + LinkifyExtension(), + ], ) ) ) diff --git a/ietf/utils/test_data.py b/ietf/utils/test_data.py index db2615e1c..3e3324211 100644 --- a/ietf/utils/test_data.py +++ b/ietf/utils/test_data.py @@ -72,7 +72,7 @@ def make_immutable_base_data(): irtf = create_group(name="IRTF", acronym="irtf", type_id="irtf") create_person(irtf, "chair") - rsab = create_group(name="RSAB", acronym="rsab", type_id="rfcedtyp") + rsab = create_group(name="RSAB", acronym="rsab", type_id="edappr") p = create_person(rsab, "chair") p.role_set.create(group=rsab, name_id="member", email=p.email()) diff --git a/ietf/utils/test_runner.py b/ietf/utils/test_runner.py index fddfeef18..d068a9f0e 100644 --- a/ietf/utils/test_runner.py +++ b/ietf/utils/test_runner.py @@ -875,6 +875,8 @@ class IetfTestRunner(DiscoverRunner): "element-required-ancestor": "off", # This is allowed by the HTML spec "form-dup-name": "off", + # Don't trip over unused disable blocks + "no-unused-disable": "off", }, } diff --git a/ietf/utils/tests_markdown.py b/ietf/utils/tests_markdown.py new file mode 100644 index 000000000..c8c07b50c --- /dev/null +++ b/ietf/utils/tests_markdown.py @@ -0,0 +1,60 @@ +# Copyright The IETF Trust 2023, All Rights Reserved +"""Markdown API utilities tests""" + +from textwrap import dedent + +from ietf.utils.tests import TestCase +from ietf.utils.markdown import markdown + + +class MarkdownTests(TestCase): + SAMPLE_MARKDOWN = dedent( + """ + # IETF Markdown Test File + + This file contains a bunch of constructs to test our markdown converter in + `ietf/utils/markdown.py`. + + ## Links + + * https://example.com + * + * [Example](https://example.com) + * user@example.com + * + * [User](mailto:user@example.com) + * RFC2119 + * BCP 3 + * STD 1 + * FYI2 + * draft-ietf-opsec-indicators-of-compromise + * draft-ietf-opsec-indicators-of-compromise-01 + """ + ) + + SAMPLE_MARKDOWN_OUTPUT = dedent( + """ +

    IETF Markdown Test File

    +

    This file contains a bunch of constructs to test our markdown converter in
    + ietf/utils/markdown.py.

    + + + """ + ).strip() + + def test_markdown(self): + result = markdown(self.SAMPLE_MARKDOWN) + self.assertEqual(result, self.SAMPLE_MARKDOWN_OUTPUT) diff --git a/package.json b/package.json index 2aec552e5..252cde4ad 100644 --- a/package.json +++ b/package.json @@ -7,23 +7,23 @@ "legacy:build": "parcel build" }, "dependencies": { - "@fullcalendar/bootstrap5": "5.11.3", - "@fullcalendar/core": "5.11.3", - "@fullcalendar/daygrid": "5.11.3", - "@fullcalendar/interaction": "5.11.3", - "@fullcalendar/list": "5.11.3", - "@fullcalendar/luxon2": "5.11.3", - "@fullcalendar/timegrid": "5.11.3", - "@fullcalendar/vue3": "5.11.3", + "@fullcalendar/bootstrap5": "5.11.4", + "@fullcalendar/core": "5.11.4", + "@fullcalendar/daygrid": "5.11.4", + "@fullcalendar/interaction": "5.11.4", + "@fullcalendar/list": "5.11.4", + "@fullcalendar/luxon2": "5.11.4", + "@fullcalendar/timegrid": "5.11.4", + "@fullcalendar/vue3": "5.11.4", "@popperjs/core": "2.11.6", "@twuni/emojify": "1.0.2", "bootstrap": "5.2.3", "bootstrap-icons": "1.10.3", - "browser-fs-access": "0.31.1", - "caniuse-lite": "1.0.30001442", - "d3": "7.8.0", + "browser-fs-access": "0.31.2", + "caniuse-lite": "1.0.30001450", + "d3": "7.8.2", "file-saver": "2.0.5", - "highcharts": "10.3.2", + "highcharts": "10.3.3", "jquery": "3.6.3", "jquery-ui-dist": "1.13.2", "js-cookie": "3.0.1", @@ -36,7 +36,7 @@ "ms": "2.1.3", "murmurhash-js": "1.0.0", "naive-ui": "2.34.3", - "pinia": "2.0.28", + "pinia": "2.0.30", "pinia-plugin-persist": "1.0.0", "select2": "4.1.0-rc.0", "select2-bootstrap-5-theme": "1.3.0", @@ -44,32 +44,32 @@ "shepherd.js": "10.0.1", "slugify": "1.6.5", "sortablejs": "1.15.0", - "vue": "3.2.45", + "vue": "3.2.47", "vue-router": "4.1.6", "zxcvbn": "4.4.2" }, "devDependencies": { "@faker-js/faker": "7.6.0", - "@parcel/optimizer-data-url": "2.8.2", - "@parcel/transformer-inline-string": "2.8.2", - "@parcel/transformer-sass": "2.8.2", + "@parcel/optimizer-data-url": "2.8.3", + "@parcel/transformer-inline-string": "2.8.3", + "@parcel/transformer-sass": "2.8.3", "@rollup/pluginutils": "5.0.2", "@vitejs/plugin-vue": "3.2.0", "browserlist": "latest", "c8": "7.12.0", - "eslint": "8.31.0", + "eslint": "8.33.0", "eslint-config-standard": "17.0.0", "eslint-plugin-cypress": "2.12.1", - "eslint-plugin-import": "2.26.0", + "eslint-plugin-import": "2.27.5", "eslint-plugin-n": "15.6.1", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.1.1", - "eslint-plugin-vue": "9.8.0", - "html-validate": "7.12.2", + "eslint-plugin-vue": "9.9.0", + "html-validate": "7.13.1", "jquery-migrate": "3.4.0", - "parcel": "2.8.2", + "parcel": "2.8.3", "pug": "3.0.2", - "sass": "1.57.1", + "sass": "1.58.0", "seedrandom": "3.0.5", "vite": "3.2.5" }, diff --git a/playwright/tests/meeting/agenda.spec.js b/playwright/tests/meeting/agenda.spec.js index 6fac4ddf6..1c5a82f18 100644 --- a/playwright/tests/meeting/agenda.spec.js +++ b/playwright/tests/meeting/agenda.spec.js @@ -213,7 +213,7 @@ test.describe('past - desktop', () => { const headerRow = page.locator(`#agenda-rowid-sesshd-${event.id}`) await expect(headerRow).toBeVisible() await expect(headerRow.locator('.agenda-table-cell-ts')).toContainText(eventTimeSlot) - await expect(headerRow.locator('.agenda-table-cell-name')).toContainText(`${DateTime.fromISO(event.startDateTime).toFormat('cccc')} ${event.name}`) + await expect(headerRow.locator('.agenda-table-cell-name')).toContainText(`${DateTime.fromISO(event.startDateTime).toFormat('cccc')} ${event.slotName}`) } // Timeslot await expect(row.locator('.agenda-table-cell-ts')).toContainText('—') diff --git a/yarn.lock b/yarn.lock index 7d8bd789d..42d992c42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,98 +121,98 @@ __metadata: languageName: node linkType: hard -"@fullcalendar/bootstrap5@npm:5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/bootstrap5@npm:5.11.3" +"@fullcalendar/bootstrap5@npm:5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/bootstrap5@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 + "@fullcalendar/common": ~5.11.4 tslib: ^2.1.0 - checksum: a63a500d729c570ce70a85b1fbeb8f8cd5f3958240b89a9e557fc25520901e4397f20c60018e131dfb958985a3d8b2e5aab91b26a6a57be440c251984ba8e8da + checksum: 26f838f30425ddd629026d7d6e8c4bf1b016b87f7b9ee1bfafa6d4ee536f140aee64b8cdc159ec338a8789d3353baa5e7e725b509389cfe4a47d20bc87a93009 languageName: node linkType: hard -"@fullcalendar/common@npm:~5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/common@npm:5.11.3" +"@fullcalendar/common@npm:~5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/common@npm:5.11.4" dependencies: tslib: ^2.1.0 - checksum: be4b365dca5ed075cc03aedbc0d6dcaa11f6e2ea6833c783212c79c7b657686a2dfc5390f1ead32bf596445a025daaa1a1179f2d4d563b71b4e1986d801c2fd4 + checksum: 8fc0e05539ba83d310eb5a7163dcd10582d83465393cccb525022b20c954e29e6361b289a2d2eec1ae5b5d950700333739b81cb5e81bc8cb72f682484ca697af languageName: node linkType: hard -"@fullcalendar/core@npm:5.11.3, @fullcalendar/core@npm:~5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/core@npm:5.11.3" +"@fullcalendar/core@npm:5.11.4, @fullcalendar/core@npm:~5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/core@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 + "@fullcalendar/common": ~5.11.4 preact: ^10.0.5 tslib: ^2.1.0 - checksum: 2774d0fa18c7a54676f706a1fdec7dd009b1d00add2dce68cd144b763d851d458461c67a9d534e5e553d7a133c49b0f1ea4868d286a5af57029092248421652a + checksum: 11652a58dc4a7af2b9c552ca71e4215c56d574f7d639deab0a6604afa0a67c7bfef445d5a6e364b6bc6b0ffb333ba9e7730e184d480e0113dce90c470d988d17 languageName: node linkType: hard -"@fullcalendar/daygrid@npm:5.11.3, @fullcalendar/daygrid@npm:~5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/daygrid@npm:5.11.3" +"@fullcalendar/daygrid@npm:5.11.4, @fullcalendar/daygrid@npm:~5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/daygrid@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 + "@fullcalendar/common": ~5.11.4 tslib: ^2.1.0 - checksum: 426b53c5bb21a9e7df82bf70b44221fb5c50e0d6216fbc91d586abffe48e61ed582aa4b5cb1ede78ba16063ded30f5ea1ec1cc5db51932b644825fcef87d2b15 + checksum: a25d83cfe5b3ac3feeb49af47701c54e858d30b0b53871df2a83aa7edbcc7d49f435d59fdbf3d6e18b5699caced8133e9c4b1c919caca2c8717bd92f57c08ab4 languageName: node linkType: hard -"@fullcalendar/interaction@npm:5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/interaction@npm:5.11.3" +"@fullcalendar/interaction@npm:5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/interaction@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 + "@fullcalendar/common": ~5.11.4 tslib: ^2.1.0 - checksum: e8a1b49f2f89d2139decb1a85aebc3ae45d324151fe5a2bd4b3e9f75ed48a7a8548bf05a25bc01015a1242b90ffe23ccc24f2787f5cf9b6e5ce22f74d7c3d731 + checksum: 88231b925498b947f5af98fcabf564f7d72ecde6660696e5aec7aa5c4aca7988deab74c9486a30e0e461cdd31913c560bb016f54a61641d13359488e845e053f languageName: node linkType: hard -"@fullcalendar/list@npm:5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/list@npm:5.11.3" +"@fullcalendar/list@npm:5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/list@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 + "@fullcalendar/common": ~5.11.4 tslib: ^2.1.0 - checksum: 976da49b12fbfbf19a37411b48e2ea334ae9150dedea4df98154d8240c00e9da5fead392a5be8a7af5c88dccc56e13796872645bd05b534cff7010a6a0596f06 + checksum: e2cec5e89c57836a9ca4db57fbe67e16f78d91191df39ac0b5d0f18c1fdac9763f04647ae42e5f2d31ffa3cd245423d3aec449ed6c84fafc0195e62079a4eedc languageName: node linkType: hard -"@fullcalendar/luxon2@npm:5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/luxon2@npm:5.11.3" +"@fullcalendar/luxon2@npm:5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/luxon2@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 + "@fullcalendar/common": ~5.11.4 tslib: ^2.1.0 peerDependencies: luxon: ^2.0.0 - checksum: 75330185901d30a02a91363ed58241d60ae088ae8beec7146f7fd33fa1d28e4fea62152e58fc772f40fc5de4d198f3106c240c79883d3108ec3d97060c7618b0 + checksum: 503e3e32d27c1fbd95d0e7c9cbf89e751eaaf57920017672d3f716fa0ba919f618ccefb6d278c60ee72b9ac8756e1f57ad9148084ffa356bf51950f9e7ee8426 languageName: node linkType: hard -"@fullcalendar/timegrid@npm:5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/timegrid@npm:5.11.3" +"@fullcalendar/timegrid@npm:5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/timegrid@npm:5.11.4" dependencies: - "@fullcalendar/common": ~5.11.3 - "@fullcalendar/daygrid": ~5.11.3 + "@fullcalendar/common": ~5.11.4 + "@fullcalendar/daygrid": ~5.11.4 tslib: ^2.1.0 - checksum: ce675eca7da78ec7aab5c16eb951a70802998a0215c2c42a003afd375680817cf05a7bab1b271333e88634da3ebd50fc238c368ce49241ec9716b0f57276d4f0 + checksum: 3a2fccac65198c5fffa53286fcbb2556b6e3885cfc6f7978b7ee21c57cbc2a58617e6c54eff977f5234163cef3281e50548327a06cf253acc43c6881bed00f2c languageName: node linkType: hard -"@fullcalendar/vue3@npm:5.11.3": - version: 5.11.3 - resolution: "@fullcalendar/vue3@npm:5.11.3" +"@fullcalendar/vue3@npm:5.11.4": + version: 5.11.4 + resolution: "@fullcalendar/vue3@npm:5.11.4" dependencies: - "@fullcalendar/core": ~5.11.3 + "@fullcalendar/core": ~5.11.4 tslib: ^2.1.0 peerDependencies: vue: ^3.0.11 - checksum: 13a648a0c5a5f26d2f71fa9d30187b8c98a440d82e1dfc5bea1dd4e7350115b7a53249bbc65bd8053e17e2cfc7ef1dc4d743be911f34ad0bea4228d79df14046 + checksum: 3e0fc0423b396813ef1d6409951903bd1e411c0ab7e64aa7d28ba81e3066e50c7b24d224c14d873a0ffa0aacc94d4bc64097d4fb6083870f748a9502fefebc29 languageName: node linkType: hard @@ -453,17 +453,17 @@ __metadata: languageName: node linkType: hard -"@parcel/bundler-default@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/bundler-default@npm:2.8.2" +"@parcel/bundler-default@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/bundler-default@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/graph": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/graph": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 - checksum: 8330a762483965e722f91a2c4d899c09035bd46c575b6e9a28e0943c68fa6ca717b4ddf126c7e6e8097597072f7f59a64f4bdd60b2125c540c9a43c4ba2b7688 + checksum: 219b2be341cad20991659b7a3031454a081ce0787c161a4da8a73ae8a4af4468667b284caea9488e869b162763d308cfd6495ab35fe386413b14325d6667ea86 languageName: node linkType: hard @@ -481,17 +481,17 @@ __metadata: languageName: node linkType: hard -"@parcel/cache@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/cache@npm:2.8.2" +"@parcel/cache@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/cache@npm:2.8.3" dependencies: - "@parcel/fs": 2.8.2 - "@parcel/logger": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/fs": 2.8.3 + "@parcel/logger": 2.8.3 + "@parcel/utils": 2.8.3 lmdb: 2.5.2 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: 7d1c951e3f1f270621d369a8b9ba18bf8df397e39adfbfa8d0a55d7ae888353d62b9fa64c2edf79efceefbb7be452b02cdfc1bf086e9e65720080ef0988d3ecf + "@parcel/core": ^2.8.3 + checksum: cd679053d229f8d06536a8fc9d857e5fa58905492e1a97c4f6b1da82de0dcef202a609c1e36206d3cdb32e5da3a214525f868b98dfd7aa671a53dacceb004fd9 languageName: node linkType: hard @@ -504,61 +504,61 @@ __metadata: languageName: node linkType: hard -"@parcel/codeframe@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/codeframe@npm:2.8.2" +"@parcel/codeframe@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/codeframe@npm:2.8.3" dependencies: chalk: ^4.1.0 - checksum: a2638353c60808434c5553af552561b4792e28ef34d0ecaf063adcddddfb023b5920568c36f2c23f0fe7535f254c83b17ebf80740745c5368b99ab6a300bf912 + checksum: a6e82c30e6251dcae14f247a14f6cb265f766b8bf18b62dd6a1c4a103cfae364a08897b36c5c379d0d867169647cb72962266f77571f718ff68ef70a16b81c02 languageName: node linkType: hard -"@parcel/compressor-raw@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/compressor-raw@npm:2.8.2" +"@parcel/compressor-raw@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/compressor-raw@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - checksum: 61a129961592fcd79630e0dd1a80a36e199b1f7351e612bc45f7541aa878c3c590565ee5477fa4fe6facfa66efaef0e79845023980f63e53dd1152a1959552cb + "@parcel/plugin": 2.8.3 + checksum: ca3b8a4f60e5193cffaa8041e709513df9c6cb54f32c9d20fef993a9af2d84f1e2d8bf8f4092220a8abaec24679498f854e683511876187f35b4f94a5852cf85 languageName: node linkType: hard -"@parcel/config-default@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/config-default@npm:2.8.2" +"@parcel/config-default@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/config-default@npm:2.8.3" dependencies: - "@parcel/bundler-default": 2.8.2 - "@parcel/compressor-raw": 2.8.2 - "@parcel/namer-default": 2.8.2 - "@parcel/optimizer-css": 2.8.2 - "@parcel/optimizer-htmlnano": 2.8.2 - "@parcel/optimizer-image": 2.8.2 - "@parcel/optimizer-svgo": 2.8.2 - "@parcel/optimizer-terser": 2.8.2 - "@parcel/packager-css": 2.8.2 - "@parcel/packager-html": 2.8.2 - "@parcel/packager-js": 2.8.2 - "@parcel/packager-raw": 2.8.2 - "@parcel/packager-svg": 2.8.2 - "@parcel/reporter-dev-server": 2.8.2 - "@parcel/resolver-default": 2.8.2 - "@parcel/runtime-browser-hmr": 2.8.2 - "@parcel/runtime-js": 2.8.2 - "@parcel/runtime-react-refresh": 2.8.2 - "@parcel/runtime-service-worker": 2.8.2 - "@parcel/transformer-babel": 2.8.2 - "@parcel/transformer-css": 2.8.2 - "@parcel/transformer-html": 2.8.2 - "@parcel/transformer-image": 2.8.2 - "@parcel/transformer-js": 2.8.2 - "@parcel/transformer-json": 2.8.2 - "@parcel/transformer-postcss": 2.8.2 - "@parcel/transformer-posthtml": 2.8.2 - "@parcel/transformer-raw": 2.8.2 - "@parcel/transformer-react-refresh-wrap": 2.8.2 - "@parcel/transformer-svg": 2.8.2 + "@parcel/bundler-default": 2.8.3 + "@parcel/compressor-raw": 2.8.3 + "@parcel/namer-default": 2.8.3 + "@parcel/optimizer-css": 2.8.3 + "@parcel/optimizer-htmlnano": 2.8.3 + "@parcel/optimizer-image": 2.8.3 + "@parcel/optimizer-svgo": 2.8.3 + "@parcel/optimizer-terser": 2.8.3 + "@parcel/packager-css": 2.8.3 + "@parcel/packager-html": 2.8.3 + "@parcel/packager-js": 2.8.3 + "@parcel/packager-raw": 2.8.3 + "@parcel/packager-svg": 2.8.3 + "@parcel/reporter-dev-server": 2.8.3 + "@parcel/resolver-default": 2.8.3 + "@parcel/runtime-browser-hmr": 2.8.3 + "@parcel/runtime-js": 2.8.3 + "@parcel/runtime-react-refresh": 2.8.3 + "@parcel/runtime-service-worker": 2.8.3 + "@parcel/transformer-babel": 2.8.3 + "@parcel/transformer-css": 2.8.3 + "@parcel/transformer-html": 2.8.3 + "@parcel/transformer-image": 2.8.3 + "@parcel/transformer-js": 2.8.3 + "@parcel/transformer-json": 2.8.3 + "@parcel/transformer-postcss": 2.8.3 + "@parcel/transformer-posthtml": 2.8.3 + "@parcel/transformer-raw": 2.8.3 + "@parcel/transformer-react-refresh-wrap": 2.8.3 + "@parcel/transformer-svg": 2.8.3 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: 035db3ab37c4efa4fb9081be2106fbc51c75178370a0e9daa836a0c14743ec9afd0089e256a573a8c6d6f99903d1801f2d8f4d233dfb5994c549c8e3c3985384 + "@parcel/core": ^2.8.3 + checksum: 08c700a7a253f39e84e1d341b3e0f558a2410bb27bf8a128113d8d157c32a7ef6b6ebd95e2c26d9f35c1040b98ff229ab56782247746189b4c41b925d1efd251 languageName: node linkType: hard @@ -594,24 +594,24 @@ __metadata: languageName: node linkType: hard -"@parcel/core@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/core@npm:2.8.2" +"@parcel/core@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/core@npm:2.8.3" dependencies: "@mischnic/json-sourcemap": ^0.1.0 - "@parcel/cache": 2.8.2 - "@parcel/diagnostic": 2.8.2 - "@parcel/events": 2.8.2 - "@parcel/fs": 2.8.2 - "@parcel/graph": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/logger": 2.8.2 - "@parcel/package-manager": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/cache": 2.8.3 + "@parcel/diagnostic": 2.8.3 + "@parcel/events": 2.8.3 + "@parcel/fs": 2.8.3 + "@parcel/graph": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/logger": 2.8.3 + "@parcel/package-manager": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 - "@parcel/workers": 2.8.2 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 + "@parcel/workers": 2.8.3 abortcontroller-polyfill: ^1.1.9 base-x: ^3.0.8 browserslist: ^4.6.6 @@ -622,7 +622,7 @@ __metadata: msgpackr: ^1.5.4 nullthrows: ^1.1.1 semver: ^5.7.1 - checksum: 0c989ef0874466da4a865ffe88b23b7d73ca1537510f18d833d0ca6d23e7bb38a9593ebc9c813fa4c85f69920b9179237419c090597f4964bb9970d534071434 + checksum: 68adceb1b041208fe922bb52da218e6be90d6e016322f4eac5a5dbfbac72838080cf9bbce51785d65556a258293c02dffba4482217dbd9b723258101d925fb0e languageName: node linkType: hard @@ -636,13 +636,13 @@ __metadata: languageName: node linkType: hard -"@parcel/diagnostic@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/diagnostic@npm:2.8.2" +"@parcel/diagnostic@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/diagnostic@npm:2.8.3" dependencies: "@mischnic/json-sourcemap": ^0.1.0 nullthrows: ^1.1.1 - checksum: 91ca29cce40c82f17e42193bdd34a3cacd78eb54c9b5a688c8f6633a0e8d914a0a9dad3b16da833e5012c8fc1ab14ae5d7f46836a31819343f585582f6cbac5d + checksum: c24d98a2dbf068ef334c595d51504cd063310c0327477b5d7bcf817af3f8ad79d56593cdf91d8d45cb4a41a48baf9090ae4100a96d2c197d4ed20bc5db9df2d9 languageName: node linkType: hard @@ -653,10 +653,10 @@ __metadata: languageName: node linkType: hard -"@parcel/events@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/events@npm:2.8.2" - checksum: 99aad2e7358b0fad199e779f987bece900f0cbcd404abce1d801b1fa4249d453e71448080765fdc5afd79a9ced8897ced1e26def807c6cb03cdbba5e79661161 +"@parcel/events@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/events@npm:2.8.3" + checksum: 9d23c6663e9afce1d1094c46d38eba0b0171835201140258c1dcd33f63cfbc20bb1abdc163cbb7a01d407a8cf06c8742c10035c8a835ebca261b19d8ee0fbf7e languageName: node linkType: hard @@ -669,12 +669,12 @@ __metadata: languageName: node linkType: hard -"@parcel/fs-search@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/fs-search@npm:2.8.2" +"@parcel/fs-search@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/fs-search@npm:2.8.3" dependencies: detect-libc: ^1.0.3 - checksum: b6b5956cc1a805c589312a8bff199a009174f2e97db38b03c99fe767105bb6cbe6f7e0796070f8061cd779d1c0f17328983a6c70201702783069153ffa57dfc9 + checksum: 25e8eda6942fbf28e02cef1f5e94acafb3e33275a20b0a3e553402f04d2d24026be796b645728e872949dc8555b03a7d26d615a4f8eeed03a3af76aed535cc10 languageName: node linkType: hard @@ -693,18 +693,18 @@ __metadata: languageName: node linkType: hard -"@parcel/fs@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/fs@npm:2.8.2" +"@parcel/fs@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/fs@npm:2.8.3" dependencies: - "@parcel/fs-search": 2.8.2 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/fs-search": 2.8.3 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 "@parcel/watcher": ^2.0.7 - "@parcel/workers": 2.8.2 + "@parcel/workers": 2.8.3 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: c25408fe2d6919312c3194709639bbb58a174f6f0e33aea26da1a5bc12dedf1c30fe164a2cb4536fecdad572c92b8cb94e7c2588f8c4943a7d17df5016f990c5 + "@parcel/core": ^2.8.3 + checksum: cc421552daef3c7676030867a1b4ed45d64d5f4221b0b12d487a86183a39544290fd3e7ed9104b1b58c05f2a6b5ec0698ce37a9cd49c484d94ed6b445f26d598 languageName: node linkType: hard @@ -718,12 +718,12 @@ __metadata: languageName: node linkType: hard -"@parcel/graph@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/graph@npm:2.8.2" +"@parcel/graph@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/graph@npm:2.8.3" dependencies: nullthrows: ^1.1.1 - checksum: d5035979113384d3d5093641e7a98789290d1cf4c781edc28498effa03476d0ae18d5024bfcb1a3888153f444700e2db00d92396bf6aec7561ab47df91013734 + checksum: ceed8445f5a23396cca001a54ee0620bd7d6ecbb455977c16bd2f446da14c1791817ed715a4cf70d6ba66310991eeee44d692f15f70ff52e75b98b629da25a88 languageName: node linkType: hard @@ -737,13 +737,13 @@ __metadata: languageName: node linkType: hard -"@parcel/hash@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/hash@npm:2.8.2" +"@parcel/hash@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/hash@npm:2.8.3" dependencies: detect-libc: ^1.0.3 xxhash-wasm: ^0.4.2 - checksum: 03f11563d2c5f310ebb317ba3f83fea200acc4dca5889a3b4d2a0e1224ec5bd7bfaf709e29d194be41c8967c00bdf29eaf81ff4659295d8b1f19e8d8a72465d5 + checksum: 29cef199feda672756c930a8b45ee91e46607aa1b6659c38658758fe2f88870c20e0d4e8738d96ca8b44df60c1b767b5593110e2d24b99382214158c759258d0 languageName: node linkType: hard @@ -757,13 +757,13 @@ __metadata: languageName: node linkType: hard -"@parcel/logger@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/logger@npm:2.8.2" +"@parcel/logger@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/logger@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/events": 2.8.2 - checksum: 8d9b4264cbe97d6cec43e01f8da6910d965bb06bda06481aafb9fdc609bb141be850fcf09b52fc91e6bdd4fadf5b980f02c587989786e03a242674b3c5846188 + "@parcel/diagnostic": 2.8.3 + "@parcel/events": 2.8.3 + checksum: 04fd46313138ea8e38c5bd051cd79ee245ad0a7bb6d5d12a892cafa79755af81ec1b6ddc83a79224bb74170bc1323f016cf849981326adb391f43920976ec9dc languageName: node linkType: hard @@ -776,114 +776,114 @@ __metadata: languageName: node linkType: hard -"@parcel/markdown-ansi@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/markdown-ansi@npm:2.8.2" +"@parcel/markdown-ansi@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/markdown-ansi@npm:2.8.3" dependencies: chalk: ^4.1.0 - checksum: aaff302f122f98b8e15436a28cc700ab66c4a3f56f3f092f91f4de65b01e6ec9f64015149b898a1a1f885406610cac65d3c196250c62ba8ff19abb043792c12c + checksum: 1985f149b2ac08347f954230922fdcc45d7ceedba9b7f458078843a018d950a56cb512fb951537b4f995e861b9290b0757cfc0eadf542a13b124175b5ef02945 languageName: node linkType: hard -"@parcel/namer-default@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/namer-default@npm:2.8.2" +"@parcel/namer-default@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/namer-default@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 nullthrows: ^1.1.1 - checksum: c9592f40228cab63fcda2dbee4413588575113c51ab8794f365b89efd651772aed831a9c547700f00edecae70b819ed81b2c752b683e1a4fdd70bf5e2bb4f4dd + checksum: 7c2c3434460d8fa6c9d482a9bfc681e47322ad82c8beef193eee9e45831374860d0f89de4c69e2e5cf41301cad19c7e87f5b536ca7d684aa383e783bcce02ef1 languageName: node linkType: hard -"@parcel/node-resolver-core@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/node-resolver-core@npm:2.8.2" +"@parcel/node-resolver-core@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/node-resolver-core@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 semver: ^5.7.1 - checksum: 92f0e2bf4bf11535b1113ef53eadfcc760c3f845c976f12b97189e3ef775882178279148a2a9daada7b9468ef1e26468cecd03fcda4a8b4398647acad59639d9 + checksum: 4976d3ecc9acc6ee05c7709291f4576c269bc84f896c8bf9e6171ce6f9fbd9c2dd7e3db4e11542b3b29093c73f5451724c94bf7b0735b9920ddcdeecf1809968 languageName: node linkType: hard -"@parcel/optimizer-css@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/optimizer-css@npm:2.8.2" +"@parcel/optimizer-css@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/optimizer-css@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 + "@parcel/utils": 2.8.3 browserslist: ^4.6.6 lightningcss: ^1.16.1 nullthrows: ^1.1.1 - checksum: 8298155baca2cf1f1f1d8c4bda75ae414fe125b60dfb0719ce12197153230b1be63002b2ce2a5c7255e5083e1aa6a05567ff64d79710a7a01b0a64661519a58f + checksum: ffac43a2c20243d57b8627257b5a74462ebc0f4aa780b3117237240c9c3e9ca37ddcc8312296be9fe571a78f5a44cc14fa47ca9490d3796d673d8313d6cd8c9a languageName: node linkType: hard -"@parcel/optimizer-data-url@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/optimizer-data-url@npm:2.8.2" +"@parcel/optimizer-data-url@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/optimizer-data-url@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 isbinaryfile: ^4.0.2 mime: ^2.4.4 - checksum: e0966a5e18da384d298f73fab0a4d1a1df23b7466856907d469b6b7145ddbb11bde2b117e85bffbf89c86821f4f9adce65e2bf1836f354d6290269fb9c5e9d85 + checksum: 5df8d888269f7f3dfaa7bd3fb4f11d2d02ab8665404c50e99534231664fb4fd0b5be3f80cab513ef217e29cda9f91d77f5c649cfe6d227c34d48d422df52901f languageName: node linkType: hard -"@parcel/optimizer-htmlnano@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/optimizer-htmlnano@npm:2.8.2" +"@parcel/optimizer-htmlnano@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/optimizer-htmlnano@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 + "@parcel/plugin": 2.8.3 htmlnano: ^2.0.0 nullthrows: ^1.1.1 posthtml: ^0.16.5 svgo: ^2.4.0 - checksum: 3913b51ccd5b068bca58aa5423ca03a4ce2dfd1ec32a4d5e9168d96ebd4001cd725a8108c40aff1499b0578dd89f6cdd89e8fe597017d477622bf4774bcc8f7b + checksum: ca1cab7b1ecc16f209ad867fbdd8b2f446fd831d8688db068491fa22786a5aa3a0debb4290e0f003830c6b06c6f3a4c3a3cd9cdb033e7fa6cded8a19887d5f23 languageName: node linkType: hard -"@parcel/optimizer-image@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/optimizer-image@npm:2.8.2" +"@parcel/optimizer-image@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/optimizer-image@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 - "@parcel/workers": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 + "@parcel/workers": 2.8.3 detect-libc: ^1.0.3 - checksum: 7e45b2698b15360204b489da67563e763da91aa7663cb8bd35cd4ce674fcb5a65b5f370fbaabdd6525112b428b1cac77be4a9dc8556d5cf6aec8f14f01cf9940 + checksum: 72c5acffaea833237f62e23c8fb183eb85863ccddeb11304b2299b28973b957daba1e34854d347314edf35d83cba695c0d7600e1ae125dec4cc3151abd8f2e31 languageName: node linkType: hard -"@parcel/optimizer-svgo@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/optimizer-svgo@npm:2.8.2" +"@parcel/optimizer-svgo@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/optimizer-svgo@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 svgo: ^2.4.0 - checksum: 608179fb18456e54b9e657b5184c2f75d35ba916fdb4c43e2e2d9145838f8463e6f665dd09e2f625dfd0783c0b7875fa14cbc113d8de1d23ca5ae0c441c95867 + checksum: b3544c08fac4009de1ec6f88136a58cdec70b072433b13fb99f9e6584dc4731afea82ae13d27e4121ed5aaec9e4481225a54251ce52b6ece835908300c26fa33 languageName: node linkType: hard -"@parcel/optimizer-terser@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/optimizer-terser@npm:2.8.2" +"@parcel/optimizer-terser@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/optimizer-terser@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 terser: ^5.2.0 - checksum: e5cc9ef64829f6f8d54086d72fd57d835102051270d0d6bd28d8b28819aa786d4793b5d29b1d63cc30ab27288ad9eed72aaf6bf2df89bb37019227713d6f640c + checksum: ee1959f5965c7eee8ad1519f9d2554810030f326e959dd5e44aa014c29a51c2ab777dfbbf604a6b4436b75176a8694b7b8c9d99f945d57dea7828225762c8823 languageName: node linkType: hard @@ -904,81 +904,81 @@ __metadata: languageName: node linkType: hard -"@parcel/package-manager@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/package-manager@npm:2.8.2" +"@parcel/package-manager@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/package-manager@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/fs": 2.8.2 - "@parcel/logger": 2.8.2 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 - "@parcel/workers": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/fs": 2.8.3 + "@parcel/logger": 2.8.3 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 + "@parcel/workers": 2.8.3 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: 99d022d3fafd50f899019fa730ddf2536bc04226c713a339861541edef345c8e4674f7b0e0d1395cdb0749c7d9b27d9287e1b98c574c75a4ab818636356eba30 + "@parcel/core": ^2.8.3 + checksum: 572a5aacfd7bc545d9aa35ff2125f1231226b550f9b0fe2c36d68a82ec8ffb047035e25fdb883bc2331a6eaf69c98bb5d6752644546d962de7bf544c6243a959 languageName: node linkType: hard -"@parcel/packager-css@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/packager-css@npm:2.8.2" +"@parcel/packager-css@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/packager-css@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 - checksum: 18ba8e43b358706ec3a8743ae8a8c6686989b2de7b0f50d599e59defd06ad6c4178185a12dd5193ed13a2733dd35a342a12fa17d09200682b0a3c21611234c74 + checksum: bb28fc9f02df83a1fd8eac7043466debb67398190819282a40a52ff299b0f4c3f474bfa7806be776ce36a66cc89574128a9fa210d2c0c9cb905bbb4dbbd2b926 languageName: node linkType: hard -"@parcel/packager-html@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/packager-html@npm:2.8.2" +"@parcel/packager-html@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/packager-html@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 posthtml: ^0.16.5 - checksum: e4975a48698c48578094a13bc120b354def578312a647ae4b8bc81927fa0e73da6e449c74e4f2f21da58cc4ebaa0d70d4cfb1c019c7fd243e887174052cf9ccf + checksum: 631f98fca0fdd3f11fe4cfbc1e0ad73b86f7fb00be7164fef5633c600a13282ae592b8f7d9aa31d4f66bd645ae57ce27e67db51a81b2a91c286ed5c8b36a4a87 languageName: node linkType: hard -"@parcel/packager-js@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/packager-js@npm:2.8.2" +"@parcel/packager-js@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/packager-js@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 + "@parcel/utils": 2.8.3 globals: ^13.2.0 nullthrows: ^1.1.1 - checksum: 5c4a74e9b2f7e46c786cadce79ff7b664b87e696073c2e1acb20bbda420b7d9ff3f5c5f5e5e5ce8d66c23735c13d8f5d399bbd9e7850fd50e669ad108c6084a2 + checksum: 92ac88244b6104c5905ab95d882b755134042654ab48106ca84ab18441fb7240b66f049e407146958aead0812345823da729a4a37f32be17afd2b44cbdebc926 languageName: node linkType: hard -"@parcel/packager-raw@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/packager-raw@npm:2.8.2" +"@parcel/packager-raw@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/packager-raw@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - checksum: 198984e93e70609ab0672f0a9c042b810ab19f07b2fc002c9e5a408e8b5b62adad5391043543bc69fe22c9bb7dca62bd676f683deb54278abfac89f91f91c985 + "@parcel/plugin": 2.8.3 + checksum: 26236dd64624a25fc1d749fb96b1bc3a6854b14d4386109670572f55feda4bb6affde19b1c9e971c4e50bfb53fd88e32da8303c83a3cb18ceaf12dd310685c34 languageName: node linkType: hard -"@parcel/packager-svg@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/packager-svg@npm:2.8.2" +"@parcel/packager-svg@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/packager-svg@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 posthtml: ^0.16.4 - checksum: 7e105464259dc1b65e3276a274cc617870db2ac6fd619271bf18386b9eabe1d7a5f9bc3355e1969ce65bdf35ede18c4f4ca8b0f9866cd897eac3874ddecea4a9 + checksum: 45c966ad8e6dbb25049adca66d761089a09cda83558d8767b46501a023b8d94b050f1a2899b1c8b18eac6cf87d2605ad5aa9a4cb2f9d90474794576dafb2e4fc languageName: node linkType: hard @@ -991,89 +991,89 @@ __metadata: languageName: node linkType: hard -"@parcel/plugin@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/plugin@npm:2.8.2" +"@parcel/plugin@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/plugin@npm:2.8.3" dependencies: - "@parcel/types": 2.8.2 - checksum: 5c9f0ec6ff0bdb547316dfe0f2d6060509e8f9725b7dfc8d9d09a8bc9a68cb34cc43590143be2e24db9c9f9fdffa203d183bbf420c9106b2a5a5f90a202cca99 + "@parcel/types": 2.8.3 + checksum: a69ac66f5cc28197cf689f1c4144398457d62a086621a22b3b45fe863909a094b616dad415ec01673a9eb731b05fe9060bcb340c07efcd48343577a540fbfdf7 languageName: node linkType: hard -"@parcel/reporter-cli@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/reporter-cli@npm:2.8.2" +"@parcel/reporter-cli@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/reporter-cli@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 chalk: ^4.1.0 term-size: ^2.2.1 - checksum: 5ac5cbb7c33f3088a2ebd1da10daeaa2f1e72656cba94711b23a9ea92564f9a256cfcd22cdea967685e800ef488bca13d306c08e23b9ad84b8e8c377f8e4ced3 + checksum: 791dd4706aac706427a563455d9db5fa330b77e94fe4226b3751cd527327d8540d62400a8040e85a5fd29ecb6e673507e9d4a1fa754c093f1c005078670eef85 languageName: node linkType: hard -"@parcel/reporter-dev-server@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/reporter-dev-server@npm:2.8.2" +"@parcel/reporter-dev-server@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/reporter-dev-server@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 - checksum: 1efff76ed9003813ff5457657966204eed0ed26709a569530b38f5674b43f3a1c49f828ee25caab98329f6e1ea0c7454377608179e2c295d6da085192a97b1c5 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 + checksum: 329db9fd0cdc3ddc36d8156a7d67747335c76b1368116c98e266218f1e1ce4ea108981441bcb78961f64e2067a2d8a1745d8aa069398d50e67278e1333293723 languageName: node linkType: hard -"@parcel/resolver-default@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/resolver-default@npm:2.8.2" +"@parcel/resolver-default@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/resolver-default@npm:2.8.3" dependencies: - "@parcel/node-resolver-core": 2.8.2 - "@parcel/plugin": 2.8.2 - checksum: 66e0233ed613bdc48d167a54dc4067f8f416b7fa1bf776077ada2fa98caddd613a1115ec1d19df3f170ec3142ab9cd7dff68672f54417e400c08c4a6906c1c83 + "@parcel/node-resolver-core": 2.8.3 + "@parcel/plugin": 2.8.3 + checksum: 40515a62c1a301050144e1427ac7a591afedea50e89baff0ab4ed05ad8424f5df6ad4a7b5e413956a199ecef18bf8220b353fb115af72fac4187a62e8a997d1d languageName: node linkType: hard -"@parcel/runtime-browser-hmr@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/runtime-browser-hmr@npm:2.8.2" +"@parcel/runtime-browser-hmr@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/runtime-browser-hmr@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 - checksum: 64543de8cf81ffef7c92e0da5c0924d07314ff3ca71286a94c77f63b45e4b94a7f9818aaf70618ec747bf399db94d9e78bc5b9b9b30dc5bad8c1c35d9e442502 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 + checksum: 56c276c7b03bb4c301d7dbe94c5183404af4064286f67682399e848ff894bfb5ea783dad11082290d40f2f07be64252dd236b993baf2e3e8fbb30a572f95a0dc languageName: node linkType: hard -"@parcel/runtime-js@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/runtime-js@npm:2.8.2" +"@parcel/runtime-js@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/runtime-js@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 - checksum: a5c0c7d2ad1b629d960fd85a6b36fb4f2330fc64a49ecc6bd4c3e7ac8f37727404617b11343bb45ae8727dcfa439042b44f9738fa1e1bd3f85e267e8d2cfa8ac + checksum: ee5e04f84d522a6f53753c3956d37cacb2bdabb2539e2f40e640762b3cc43b20efc495331fe254d92d82a06c3e1b4690c17125090a12300d75ad7c3a9ca3e2f0 languageName: node linkType: hard -"@parcel/runtime-react-refresh@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/runtime-react-refresh@npm:2.8.2" +"@parcel/runtime-react-refresh@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/runtime-react-refresh@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 react-error-overlay: 6.0.9 react-refresh: ^0.9.0 - checksum: 6483b8ed55d0d5f33106b07fe850793cf1a1359af2ed1885b473b8b144fc30e1d0cbb8860e6f04270f3507bd2ca8b2b006a1b14f1e3e061465c0758c0e175854 + checksum: 327159be0c8183f1cff139de973e8e8ca6b83dc2fc94846a89415fabf8cd8535e95ed3ae9750ac08e73a303de57c18c4e5da959ecbe73af75f1d3c9a98f5c20b languageName: node linkType: hard -"@parcel/runtime-service-worker@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/runtime-service-worker@npm:2.8.2" +"@parcel/runtime-service-worker@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/runtime-service-worker@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 - checksum: 4b52703d3b78711865e0607d8684dc8defc5bad52c6cd160aeae95b0461e90f324a20c62753243bbf5d966e3d26915743cbd0d921766ec9564b0e25cd181244f + checksum: 0646fee9a9378c0844c223d0eaf1c46e817738e70b2e993434717fb6aab998339b37a32c5bd9db891fcb8bc44dc3d7530564f84a5cd978d6dd47f204f18bd44a languageName: node linkType: hard @@ -1095,85 +1095,86 @@ __metadata: languageName: node linkType: hard -"@parcel/transformer-babel@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-babel@npm:2.8.2" +"@parcel/transformer-babel@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-babel@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 + "@parcel/utils": 2.8.3 browserslist: ^4.6.6 json5: ^2.2.0 nullthrows: ^1.1.1 semver: ^5.7.0 - checksum: 4b2064aaba347a812a28a727bf61625d870abb891b89af86cad6eb2c4e62fd6a6c5701eae544d9913b3f5f3a4620443bae4e170bd508b4bf37af45db03450496 + checksum: a27bbe8d893854a77d9a8c9b45490728b2db81ad0782b7d9085d00c50155840477dd4ada8e382e0b02f9f5f8761da48bd6d3feb62ddd582e6608f92d4468df80 languageName: node linkType: hard -"@parcel/transformer-css@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-css@npm:2.8.2" +"@parcel/transformer-css@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-css@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 + "@parcel/utils": 2.8.3 browserslist: ^4.6.6 lightningcss: ^1.16.1 nullthrows: ^1.1.1 - checksum: d0d3121d2b1afed509893f2a0bdb96061e2f229e7dc43f86ca0d0a103c61eff3d4b7916bacf7a696309575444c2a13cdef70cedaf029b389d83ee58dc4a86f9b + checksum: 31375a140550968a36f7a8eb998c03f20200d202b7c62c98fb49b05f719777ca545d08f356dec9ca6d9a601ba0020abce5cf4672fe425bc99a540dccf262a6cc languageName: node linkType: hard -"@parcel/transformer-html@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-html@npm:2.8.2" +"@parcel/transformer-html@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-html@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/plugin": 2.8.3 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: e3bead4866b44190f74d5b1e2beeb8df58aca7f6b2f0fc8c406d7625cda7b18cbbc5ce7a8f4b9121c644fdc0bfeea8a61f86c09e057a21172e7b43c8d6acc616 + srcset: 4 + checksum: 21600a3e0ac9e05aa6f6066ef94f8ba7e0de62a8ae59a812230907f5731dcf73dc5308fb74b32bfb6dab16089d13f72043965e1e87e8c4daec8447a9081af8eb languageName: node linkType: hard -"@parcel/transformer-image@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-image@npm:2.8.2" +"@parcel/transformer-image@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-image@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 - "@parcel/workers": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 + "@parcel/workers": 2.8.3 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: acfe6e06f3a59b43aa59547fc1eb76c3cc2298ce304ca9b57aa0cf953d3d665465d7f4bd88281914783e741a80aa9f9cd29973a17d66f774787ef543b2e6fd22 + "@parcel/core": ^2.8.3 + checksum: f4b3464828e1b3d44e7da5c7a71272f5f53f830d9bb371e8dd8b2f32040f4426f3efeae12949947e34b39f7755a253f0b48c6eeec6d86ad43baf0b30717f1f47 languageName: node linkType: hard -"@parcel/transformer-inline-string@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-inline-string@npm:2.8.2" +"@parcel/transformer-inline-string@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-inline-string@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - checksum: 5f6f4be447200371ef230df7fa1460f34c2f7e3a9450e6200f6fb7f5a81dbdeeb692b94c6eb6e44d7dee0e1613d61f36ee39b13f9ebf9816ed00ed2938d0554b + "@parcel/plugin": 2.8.3 + checksum: 23fa279e1fb0acb0439bfa03d908362796f2c81e911c52f38b8818f4240f4c35b4c236e4e46550def9140c4269456bba104f63ed8f1b713d08ef0276f2758e6b languageName: node linkType: hard -"@parcel/transformer-js@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-js@npm:2.8.2" +"@parcel/transformer-js@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-js@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/utils": 2.8.2 - "@parcel/workers": 2.8.2 + "@parcel/utils": 2.8.3 + "@parcel/workers": 2.8.3 "@swc/helpers": ^0.4.12 browserslist: ^4.6.6 detect-libc: ^1.0.3 @@ -1181,96 +1182,96 @@ __metadata: regenerator-runtime: ^0.13.7 semver: ^5.7.1 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: 2ccbe5f98ef23fb61c9837ed699666d50b673c958f38167d6cd5f83e1b252c842978ce99d8a8a158b90d5d0d5733d9fa4c44e987d58bf42897bb633bb0b707ec + "@parcel/core": ^2.8.3 + checksum: 29fb203502309e11452837e4ae60589300c0d91fae35cf4774e70959e9f4532960ef4619959ce9c95f0060020faabbcfd024b076f41c7d5f7e126c3547244ff6 languageName: node linkType: hard -"@parcel/transformer-json@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-json@npm:2.8.2" +"@parcel/transformer-json@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-json@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 + "@parcel/plugin": 2.8.3 json5: ^2.2.0 - checksum: b22a609ae97bdf1a1b395ef29d4bc3520c07ccf49fcff10ee7a10bbf139609ac136cc6911308b0f4bb6c2bb7930cdf83cb6f4bfd193bf3413000b7191ec2b2dd + checksum: 04da28b0f0ff1ec1d7c6383b880daa2918f85ba1375351690a9a07ea4de102531d5f6addb3091ae5109623e270e1d2cdf582661f4a0805bd982a653a06d26890 languageName: node linkType: hard -"@parcel/transformer-postcss@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-postcss@npm:2.8.2" +"@parcel/transformer-postcss@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-postcss@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 clone: ^2.1.1 nullthrows: ^1.1.1 postcss-value-parser: ^4.2.0 semver: ^5.7.1 - checksum: ee152a91fb7576b8a7995309ac3882b2887854f4e2a6e4d599d47d9ab59424d2a4700bebdac72b7a236c5265c9253af648563d849e76096273d44f375872e2ce + checksum: 2c75cb5cec7112d12a28ac5cddc9f2e939f76e006929757804431b266e7541aae5df6ba8601727c33c7b53f0f971a6df5dfb4394fa0baf284bd2c6fc9b507650 languageName: node linkType: hard -"@parcel/transformer-posthtml@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-posthtml@npm:2.8.2" +"@parcel/transformer-posthtml@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-posthtml@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: 4865968546328c82cd496db8efd2f7e54000ff52fb34f9d2698513ed80efcbc17a13358e7cf11c9dda01bb374ab74ecc46bd2adb8237efd3997e6207d71c2d84 + checksum: 130c95782aebb2491f2d89685db573b3b85ed1f7d9862684db2ab9d11fe8148995185a4e144b818de06d596cf687c5bd57b6b8648d2856cf830a9674c2ec3237 languageName: node linkType: hard -"@parcel/transformer-raw@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-raw@npm:2.8.2" +"@parcel/transformer-raw@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-raw@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - checksum: 386f64445a99a73634e41a3d6f1d24bda0c1665a45f3082d7042924999fa89fc3584ead67fde383fb3e9319b157386c52686e70406dd677c48ea0497e0d91b55 + "@parcel/plugin": 2.8.3 + checksum: 371263bb526373c229aa3e730f2a1d6687bd6b771203d73237c04da3a3ada86c4fcf0b534d3fb366a7b3842df0cf98ae1e033602613cafd9f702f47a6568a83c languageName: node linkType: hard -"@parcel/transformer-react-refresh-wrap@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-react-refresh-wrap@npm:2.8.2" +"@parcel/transformer-react-refresh-wrap@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-react-refresh-wrap@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/plugin": 2.8.3 + "@parcel/utils": 2.8.3 react-refresh: ^0.9.0 - checksum: d091ab4a2550202589a1fb4623e0cd5fa957b8c4d961e4238f730180ddbc7cafccb7de9899c74bd7e523e94b2b3e4078da4c2cb37c6f7e0c11d0014dc74fc701 + checksum: e9648e04b7f9b29f47ec7baedfba9cc36bbb7e44be6ad4b6b4433c20d1b5a3184a3043b712add16a5cc06300289305d5fa9ebb73c6dc926d04df7c52d9bc3316 languageName: node linkType: hard -"@parcel/transformer-sass@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-sass@npm:2.8.2" +"@parcel/transformer-sass@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-sass@npm:2.8.3" dependencies: - "@parcel/plugin": 2.8.2 + "@parcel/plugin": 2.8.3 "@parcel/source-map": ^2.1.1 sass: ^1.38.0 - checksum: 42bbfa9401ad1bc63096e1f3fe8398eb5997d34ae586c5a10f5708fb654adf764188597462b1309b359afb31fb20e0eb533826bdbd01e2612efa153dae821523 + checksum: 9cb32b3906afce4f8ed1f53c4a4c5f016867d101654778c6646db4097fa602a3b0eeeab0ee713c386e79604c61ebd02a495afea4827833109a5c74d752c8f8ac languageName: node linkType: hard -"@parcel/transformer-svg@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/transformer-svg@npm:2.8.2" +"@parcel/transformer-svg@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/transformer-svg@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/plugin": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/plugin": 2.8.3 nullthrows: ^1.1.1 posthtml: ^0.16.5 posthtml-parser: ^0.10.1 posthtml-render: ^3.0.0 semver: ^5.7.1 - checksum: e4522b69e3ee8a75ea154d93b7a42abf440ccd674d82cc38be0534ca1aafb2a97ae81212ffbb7421456ed164c213866041e360124433f8afe704203e33f31a5e + checksum: 1f3db309e47d07849a2b4ffe11b508fd7ae792c0c0ce7b03e442fffb25f5e7425c5027428729bf2b587309265bba0be6da635d62c51ae8ab7e54483eff3f575e languageName: node linkType: hard @@ -1289,18 +1290,18 @@ __metadata: languageName: node linkType: hard -"@parcel/types@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/types@npm:2.8.2" +"@parcel/types@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/types@npm:2.8.3" dependencies: - "@parcel/cache": 2.8.2 - "@parcel/diagnostic": 2.8.2 - "@parcel/fs": 2.8.2 - "@parcel/package-manager": 2.8.2 + "@parcel/cache": 2.8.3 + "@parcel/diagnostic": 2.8.3 + "@parcel/fs": 2.8.3 + "@parcel/package-manager": 2.8.3 "@parcel/source-map": ^2.1.1 - "@parcel/workers": 2.8.2 + "@parcel/workers": 2.8.3 utility-types: ^3.10.0 - checksum: 04b3d5f199296392adabbe271b2877f6a4544cd6e8fde7e8b562ca28be8d7fb877df4782d55e0312090e3696646e738a37b705bfe17ffc3252d05880339435d1 + checksum: ece0abdd5c7cce32a246155f6828f6a92830341dfbceb81c9aaf7da44e0733b87ea8a607412dfe4b5ec59d7c9a3c1b1463b94ec8a5a82b745541881952003a16 languageName: node linkType: hard @@ -1319,18 +1320,18 @@ __metadata: languageName: node linkType: hard -"@parcel/utils@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/utils@npm:2.8.2" +"@parcel/utils@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/utils@npm:2.8.3" dependencies: - "@parcel/codeframe": 2.8.2 - "@parcel/diagnostic": 2.8.2 - "@parcel/hash": 2.8.2 - "@parcel/logger": 2.8.2 - "@parcel/markdown-ansi": 2.8.2 + "@parcel/codeframe": 2.8.3 + "@parcel/diagnostic": 2.8.3 + "@parcel/hash": 2.8.3 + "@parcel/logger": 2.8.3 + "@parcel/markdown-ansi": 2.8.3 "@parcel/source-map": ^2.1.1 chalk: ^4.1.0 - checksum: fcbc70426ec7777fee20b684c0719c58ae249fdcbe0b5b0a9998e8d0d28296eb3a781b1e8fe8ac37848139ad220c6440aa66a259f2e9d309e73d4b3f62353716 + checksum: 69edf3e7c3ef1ccd4caa6ca838a64b27b27668b213212579111405824ed969e6555857b33f0b9e793e97399a60f034904addde19b98628b37a2fcbbb9141cafa languageName: node linkType: hard @@ -1372,19 +1373,19 @@ __metadata: languageName: node linkType: hard -"@parcel/workers@npm:2.8.2": - version: 2.8.2 - resolution: "@parcel/workers@npm:2.8.2" +"@parcel/workers@npm:2.8.3": + version: 2.8.3 + resolution: "@parcel/workers@npm:2.8.3" dependencies: - "@parcel/diagnostic": 2.8.2 - "@parcel/logger": 2.8.2 - "@parcel/types": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/diagnostic": 2.8.3 + "@parcel/logger": 2.8.3 + "@parcel/types": 2.8.3 + "@parcel/utils": 2.8.3 chrome-trace-event: ^1.0.2 nullthrows: ^1.1.1 peerDependencies: - "@parcel/core": ^2.8.2 - checksum: df3f7933016783c5ef4905c0c0ce8cafbf7b50673c0cdf06cfd275f5799590be91a5252988e9d95b4de2b4fd5ab4a3ee804a8e425cae96cb14ef10220b7a419f + "@parcel/core": ^2.8.3 + checksum: e3168b3e9ee6bd8e92472e11af9228aca689c5d31841410c908ab31f2a11adf939481d9f4d945ae44d7d3ec1e07980fb3ca5c2f87be82e31a02a94f4655c8e01 languageName: node linkType: hard @@ -1538,53 +1539,53 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/compiler-core@npm:3.2.45" +"@vue/compiler-core@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-core@npm:3.2.47" dependencies: "@babel/parser": ^7.16.4 - "@vue/shared": 3.2.45 + "@vue/shared": 3.2.47 estree-walker: ^2.0.2 source-map: ^0.6.1 - checksum: e3c687b24c16c2b320c02ed38960f8bee7dcb88bddb09e60a80d2d4dc004070cbbd4eccbc99cc168d48d753ff60d0b9eefba835e1dec3b7f233a98c89af31c07 + checksum: 9ccc2a0b897b59eea56ca4f92ed29c14cd1184f68532edf5fb0fe5cb2833bcf9e4836029effb6eb9a7c872e9e0350fafdcd96ff00c0b5b79e17ded0c068b5f84 languageName: node linkType: hard -"@vue/compiler-dom@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/compiler-dom@npm:3.2.45" +"@vue/compiler-dom@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-dom@npm:3.2.47" dependencies: - "@vue/compiler-core": 3.2.45 - "@vue/shared": 3.2.45 - checksum: 89115538635f0da9cce615de5488d2759256fa573976a09a049536dbb94e9b5086b46f2f11e743cf0a7b14837161b3191c67611e0493054a5d4c4b96a322c901 + "@vue/compiler-core": 3.2.47 + "@vue/shared": 3.2.47 + checksum: 1eced735f865e6df0c2d7fa041f9f27996ff4c0d4baf5fad0f67e65e623215f4394c49bba337b78427c6e71f2cc2db12b19ec6b865b4c057c0a15ccedeb20752 languageName: node linkType: hard -"@vue/compiler-sfc@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/compiler-sfc@npm:3.2.45" +"@vue/compiler-sfc@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-sfc@npm:3.2.47" dependencies: "@babel/parser": ^7.16.4 - "@vue/compiler-core": 3.2.45 - "@vue/compiler-dom": 3.2.45 - "@vue/compiler-ssr": 3.2.45 - "@vue/reactivity-transform": 3.2.45 - "@vue/shared": 3.2.45 + "@vue/compiler-core": 3.2.47 + "@vue/compiler-dom": 3.2.47 + "@vue/compiler-ssr": 3.2.47 + "@vue/reactivity-transform": 3.2.47 + "@vue/shared": 3.2.47 estree-walker: ^2.0.2 magic-string: ^0.25.7 postcss: ^8.1.10 source-map: ^0.6.1 - checksum: bec375faa0012e953dc0887482cc01d52003ad424b6a8a9c8a2506fd4f0197ad62be22f77ce5691c2306068ae7bc0028399f25399e7d4beee668285d431f4d8f + checksum: 4588a513310b9319a00adfdbe789cfe60d5ec19c51e8f2098152b9e81f54be170e16c40463f6b5e4c7ab79796fc31e2de93587a9dd1af136023fa03712b62e68 languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/compiler-ssr@npm:3.2.45" +"@vue/compiler-ssr@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/compiler-ssr@npm:3.2.47" dependencies: - "@vue/compiler-dom": 3.2.45 - "@vue/shared": 3.2.45 - checksum: 830c475506d2b6d1a6872b3fde1024ef5132f725121fd9c34832c5cefcc8cfddf0dcaa3acc9b2da4754162fccdff48b3275b9ff31415a7793b224c04355dc632 + "@vue/compiler-dom": 3.2.47 + "@vue/shared": 3.2.47 + checksum: 91bc6e46744d5405713c08d8e576971aa6d13a0cde84ec592d3221bf6ee228e49ce12233af8c18dc39723455b420df2951f3616ceb99758eb432485475fa7bc2 languageName: node linkType: hard @@ -1595,65 +1596,65 @@ __metadata: languageName: node linkType: hard -"@vue/reactivity-transform@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/reactivity-transform@npm:3.2.45" +"@vue/reactivity-transform@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/reactivity-transform@npm:3.2.47" dependencies: "@babel/parser": ^7.16.4 - "@vue/compiler-core": 3.2.45 - "@vue/shared": 3.2.45 + "@vue/compiler-core": 3.2.47 + "@vue/shared": 3.2.47 estree-walker: ^2.0.2 magic-string: ^0.25.7 - checksum: 401040818947eb04c782487a7861d3ba20f95c9f3ca14282b3d7624002bfe6000547bb48c561afe87ae6d302143fec71a7e0bc3ed3ae2bfad8a228adf7fd90d6 + checksum: 6fe54374aa8c080c0c421e18134e84e723e2d3e53178cf084c1cd75bc8b1ffaaf07756801f3aa4e1e7ad1ba76356c28bbab4bc1b676159db8fc10f10f2cbd405 languageName: node linkType: hard -"@vue/reactivity@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/reactivity@npm:3.2.45" +"@vue/reactivity@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/reactivity@npm:3.2.47" dependencies: - "@vue/shared": 3.2.45 - checksum: 4ba609744a6b4d6235e81afc3f455ae9349c04f54be11c15770139f58ff687b105b06ca78649218fab907fb76048c3dcf34144c677718192ce8b9927eb335f03 + "@vue/shared": 3.2.47 + checksum: bd61134e4b2f281067e78b23b34d17f1290a0b3fdb0cd7f06424570b4428c899389451a396694144b0af2fc6dbb1459c38e79151119f12c4f818f4c5004b7d16 languageName: node linkType: hard -"@vue/runtime-core@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/runtime-core@npm:3.2.45" +"@vue/runtime-core@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/runtime-core@npm:3.2.47" dependencies: - "@vue/reactivity": 3.2.45 - "@vue/shared": 3.2.45 - checksum: 0ac376a7602663d51a37b460c1184e2e035649090e53e972c18d24b30f3c47e5d61b921baf2492203f041d9edd864b3e9024a3ecef243b840637b62e9c0169a1 + "@vue/reactivity": 3.2.47 + "@vue/shared": 3.2.47 + checksum: 56fd41368cb56ac83d88ef93ffb9e8d2cdad30adf8395351c38ac744691dfe50c0add0bd14e8aa817cd59afd2534213eb2aaabf46b03aacce9a4af7497af2e69 languageName: node linkType: hard -"@vue/runtime-dom@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/runtime-dom@npm:3.2.45" +"@vue/runtime-dom@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/runtime-dom@npm:3.2.47" dependencies: - "@vue/runtime-core": 3.2.45 - "@vue/shared": 3.2.45 + "@vue/runtime-core": 3.2.47 + "@vue/shared": 3.2.47 csstype: ^2.6.8 - checksum: c66c71a2fc3921b57a930999b1fb0ea64f1a9d1bc7019984b06f2dbdd93f51b5a328cc60ec5904d1754b9dc1c85653b536db9017ef86616fa4a35f53836a2f9d + checksum: 8987d7276174120ed346c456752cdb3633c400432ae89a1a866e342c964b7ed2f9e3e09926f2b4b81fe175b1e4fb3935fe3920c113bcc71464ff39b4e50931f5 languageName: node linkType: hard -"@vue/server-renderer@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/server-renderer@npm:3.2.45" +"@vue/server-renderer@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/server-renderer@npm:3.2.47" dependencies: - "@vue/compiler-ssr": 3.2.45 - "@vue/shared": 3.2.45 + "@vue/compiler-ssr": 3.2.47 + "@vue/shared": 3.2.47 peerDependencies: - vue: 3.2.45 - checksum: 062812235c2be41ed699fb7b802cf4fc94618bf4efae7832210431ad16ea1b852056e4fb83f6c17b919bfe87bc8624afcadd973dab3e0965d3cf9875baaf7373 + vue: 3.2.47 + checksum: 482fe3c9bbb0e154864259a976bac50f5a6cbbb86bc4376c5942a6108919466e57d9830c65060abff6ecb6a9ff1d5e3e4fede165f4312edf25b0088b8c0e26af languageName: node linkType: hard -"@vue/shared@npm:3.2.45": - version: 3.2.45 - resolution: "@vue/shared@npm:3.2.45" - checksum: ff3205056caed2a965aa0980e21319515ce13c859a9b269fdab0ee8b3c9f3d8eec7eefdb7fd6c6b47c12acdc7bf23c6c187b6191054221b4a29108139b20c221 +"@vue/shared@npm:3.2.47": + version: 3.2.47 + resolution: "@vue/shared@npm:3.2.47" + checksum: 0aa711dc9160fa0e476e6e94eea4e019398adf2211352d0e4a672cfb6b65b104bbd5d234807d1c091107bdc0f5d818d0f12378987eb7861d39be3aa9f6cd6e3e languageName: node linkType: hard @@ -1834,28 +1835,40 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4": - version: 3.1.4 - resolution: "array-includes@npm:3.1.4" +"array-includes@npm:^3.1.6": + version: 3.1.6 + resolution: "array-includes@npm:3.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - get-intrinsic: ^1.1.1 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 is-string: ^1.0.7 - checksum: 69967c38c52698f84b50a7aed5554aadc89c6ac6399b6d92ad061a5952f8423b4bba054c51d40963f791dfa294d7247cdd7988b6b1f2c5861477031c6386e1c0 + checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": - version: 1.3.0 - resolution: "array.prototype.flat@npm:1.3.0" +"array.prototype.flat@npm:^1.3.1": + version: 1.3.1 + resolution: "array.prototype.flat@npm:1.3.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 es-shim-unscopables: ^1.0.0 - checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 + checksum: 5a8415949df79bf6e01afd7e8839bbde5a3581300e8ad5d8449dea52639e9e59b26a467665622783697917b43bf39940a6e621877c7dd9b3d1c1f97484b9b88b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.1": + version: 1.3.1 + resolution: "array.prototype.flatmap@npm:1.3.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + es-shim-unscopables: ^1.0.0 + checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 languageName: node linkType: hard @@ -1880,6 +1893,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "babel-walk@npm:3.0.0-canary-5": version: 3.0.0-canary-5 resolution: "babel-walk@npm:3.0.0-canary-5" @@ -1972,10 +1992,10 @@ __metadata: languageName: node linkType: hard -"browser-fs-access@npm:0.31.1": - version: 0.31.1 - resolution: "browser-fs-access@npm:0.31.1" - checksum: 4a5c88839e99d3125e9cd5d006c899618b3a9e1a76dd510929615842160d986d8eca8361640b346fd3feed994f45cd9abf04a51b0bc72e82efec9371c6599ca3 +"browser-fs-access@npm:0.31.2": + version: 0.31.2 + resolution: "browser-fs-access@npm:0.31.2" + checksum: eb1c908bd44d0498de7c8fecad0275cf10331e699d102468fe8a5329f582916763c9fc8ba380e024eb618bf3c8d65b26ae60ad24c5c4a1bccb54a6b7e5f91da8 languageName: node linkType: hard @@ -2095,10 +2115,10 @@ browserlist@latest: languageName: node linkType: hard -"caniuse-lite@npm:1.0.30001442": - version: 1.0.30001442 - resolution: "caniuse-lite@npm:1.0.30001442" - checksum: c1bff65bd4f53da2d288e7f55be40706ee0119b983eae5a9dcc884046990476891630aef72d708f7989f8f1964200c44e4c37ea40deecaa2fb4a480df23e6317 +"caniuse-lite@npm:1.0.30001450": + version: 1.0.30001450 + resolution: "caniuse-lite@npm:1.0.30001450" + checksum: 511b360bfc907b2e437699364cf96b83507bc45043926450056642332bcd6f65a1e72540c828534ae15e0ac906e3e9af46cb2bb84458dd580bc31478e9dce282 languageName: node linkType: hard @@ -2671,9 +2691,9 @@ browserlist@latest: languageName: node linkType: hard -"d3@npm:7.8.0": - version: 7.8.0 - resolution: "d3@npm:7.8.0" +"d3@npm:7.8.2": + version: 7.8.2 + resolution: "d3@npm:7.8.2" dependencies: d3-array: 3 d3-axis: 3 @@ -2705,7 +2725,7 @@ browserlist@latest: d3-timer: 3 d3-transition: 3 d3-zoom: 3 - checksum: 383d2c8aa6a66f3a6c6977b629de8fa1bf3bce829b15c4a769a59096691730a39e7763eb17b0ff4abbf4d1b577212160d7e5d5f1da35591e5ef5399e8398cefa + checksum: e7bf5918f2a97d0c0cc489d64348b323446aa824c32b65f0888846c26f80ed05dbee18a4b7c9a487b3e60d9d404e4672d169573fe63439e3e53abd5812bcd766 languageName: node linkType: hard @@ -2725,7 +2745,7 @@ browserlist@latest: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.6.9": +"debug@npm:2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -2769,7 +2789,7 @@ browserlist@latest: languageName: node linkType: hard -"define-properties@npm:^1.1.3": +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" dependencies: @@ -2983,31 +3003,55 @@ browserlist@latest: languageName: node linkType: hard -"es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2": - version: 1.19.5 - resolution: "es-abstract@npm:1.19.5" +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": + version: 1.21.1 + resolution: "es-abstract@npm:1.21.1" dependencies: + available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 + es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 - get-intrinsic: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.3 get-symbol-description: ^1.0.0 + globalthis: ^1.0.3 + gopd: ^1.0.1 has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - is-callable: ^1.2.4 + internal-slot: ^1.0.4 + is-array-buffer: ^3.0.1 + is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 + is-typed-array: ^1.1.10 is-weakref: ^1.0.2 - object-inspect: ^1.12.0 + object-inspect: ^1.12.2 object-keys: ^1.1.1 - object.assign: ^4.1.2 - string.prototype.trimend: ^1.0.4 - string.prototype.trimstart: ^1.0.4 - unbox-primitive: ^1.0.1 - checksum: 55199b0f179a12b3b0ec9c9f2e3a27a7561686e4f88d46f9ef32c836448a336e367c14d8f792612fc83a64113896e478259e4dffbbcffb3efdd06650f6360324 + object.assign: ^4.1.4 + regexp.prototype.flags: ^1.4.3 + safe-regex-test: ^1.0.0 + string.prototype.trimend: ^1.0.6 + string.prototype.trimstart: ^1.0.6 + typed-array-length: ^1.0.4 + unbox-primitive: ^1.0.2 + which-typed-array: ^1.1.9 + checksum: 23ff60d42d17a55d150e7bcedbdb065d4077a8b98c436e0e2e1ef4dd532a6d78a56028673de0bd8ed464a43c46ba781c50d9af429b6a17e44dbd14c7d7fb7926 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.1": + version: 2.0.1 + resolution: "es-set-tostringtag@npm:2.0.1" + dependencies: + get-intrinsic: ^1.1.3 + has: ^1.0.3 + has-tostringtag: ^1.0.0 + checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 languageName: node linkType: hard @@ -3288,23 +3332,26 @@ browserlist@latest: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": - version: 0.3.6 - resolution: "eslint-import-resolver-node@npm:0.3.6" +"eslint-import-resolver-node@npm:^0.3.7": + version: 0.3.7 + resolution: "eslint-import-resolver-node@npm:0.3.7" dependencies: debug: ^3.2.7 - resolve: ^1.20.0 - checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 + is-core-module: ^2.11.0 + resolve: ^1.22.1 + checksum: 3379aacf1d2c6952c1b9666c6fa5982c3023df695430b0d391c0029f6403a7775414873d90f397e98ba6245372b6c8960e16e74d9e4a3b0c0a4582f3bdbe3d6e languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": - version: 2.7.3 - resolution: "eslint-module-utils@npm:2.7.3" +"eslint-module-utils@npm:^2.7.4": + version: 2.7.4 + resolution: "eslint-module-utils@npm:2.7.4" dependencies: debug: ^3.2.7 - find-up: ^2.1.0 - checksum: 77048263f309167a1e6a1e1b896bfb5ddd1d3859b2e2abbd9c32c432aee13d610d46e6820b1ca81b37fba437cf423a404bc6649be64ace9148a3062d1886a678 + peerDependenciesMeta: + eslint: + optional: true + checksum: 5da13645daff145a5c922896b258f8bba560722c3767254e458d894ff5fbb505d6dfd945bffa932a5b0ae06714da2379bd41011c4c20d2d59cc83e23895360f7 languageName: node linkType: hard @@ -3343,26 +3390,28 @@ browserlist@latest: languageName: node linkType: hard -"eslint-plugin-import@npm:2.26.0": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" +"eslint-plugin-import@npm:2.27.5": + version: 2.27.5 + resolution: "eslint-plugin-import@npm:2.27.5" dependencies: - array-includes: ^3.1.4 - array.prototype.flat: ^1.2.5 - debug: ^2.6.9 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + array.prototype.flatmap: ^1.3.1 + debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.3 + eslint-import-resolver-node: ^0.3.7 + eslint-module-utils: ^2.7.4 has: ^1.0.3 - is-core-module: ^2.8.1 + is-core-module: ^2.11.0 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.values: ^1.1.5 - resolve: ^1.22.0 + object.values: ^1.1.6 + resolve: ^1.22.1 + semver: ^6.3.0 tsconfig-paths: ^3.14.1 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 + checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d languageName: node linkType: hard @@ -3427,9 +3476,9 @@ browserlist@latest: languageName: node linkType: hard -"eslint-plugin-vue@npm:9.8.0": - version: 9.8.0 - resolution: "eslint-plugin-vue@npm:9.8.0" +"eslint-plugin-vue@npm:9.9.0": + version: 9.9.0 + resolution: "eslint-plugin-vue@npm:9.9.0" dependencies: eslint-utils: ^3.0.0 natural-compare: ^1.4.0 @@ -3440,7 +3489,7 @@ browserlist@latest: xml-name-validator: ^4.0.0 peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - checksum: f3fc36512fa124a81332e353b161a84dd7b55ae07c69c0e9eabc85d56fdc2940422e1f33172d90af0f7913fc5cd25cfc7dfe025db37311d15a2ba5ea486b7602 + checksum: 059f9c1915504d074adf64bc3371d1e174f8844088d0e08800c958cbef09d7fdf2a0a949634187231645435a1ef31595c8c81f441000ec43589bb58a1282fe3c languageName: node linkType: hard @@ -3495,9 +3544,9 @@ browserlist@latest: languageName: node linkType: hard -"eslint@npm:8.31.0": - version: 8.31.0 - resolution: "eslint@npm:8.31.0" +"eslint@npm:8.33.0": + version: 8.33.0 + resolution: "eslint@npm:8.33.0" dependencies: "@eslint/eslintrc": ^1.4.1 "@humanwhocodes/config-array": ^0.11.8 @@ -3540,7 +3589,7 @@ browserlist@latest: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 5e5688bb864edc6b12d165849994812eefa67fb3fc44bb26f53659b63edcd8bcc68389d27cc6cc9e5b79ee22f24b6f311fa3ed047bddcafdec7d84c1b5561e4f + checksum: 727e63ab8b7acf281442323c5971f6afdd5b656fbcebc4476cf54e35af51b2f180617433fc5e1952f0449ca3f43a905527f9407ea4b8a7ea7562fc9c3f278d4c languageName: node linkType: hard @@ -3681,15 +3730,6 @@ browserlist@latest: languageName: node linkType: hard -"find-up@npm:^2.1.0": - version: 2.1.0 - resolution: "find-up@npm:2.1.0" - dependencies: - locate-path: ^2.0.0 - checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -3717,6 +3757,15 @@ browserlist@latest: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + "foreground-child@npm:^2.0.0": version: 2.0.0 resolution: "foreground-child@npm:2.0.0" @@ -3776,6 +3825,25 @@ browserlist@latest: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -3799,7 +3867,7 @@ browserlist@latest: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1": version: 1.1.1 resolution: "get-intrinsic@npm:1.1.1" dependencies: @@ -3810,6 +3878,17 @@ browserlist@latest: languageName: node linkType: hard +"get-intrinsic@npm:^1.1.3": + version: 1.2.0 + resolution: "get-intrinsic@npm:1.2.0" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.3 + checksum: 78fc0487b783f5c58cf2dccafc3ae656ee8d2d8062a8831ce4a95e7057af4587a1d4882246c033aca0a7b4965276f4802b45cc300338d1b77a73d3e3e3f4877d + languageName: node + linkType: hard + "get-port@npm:^4.2.0": version: 4.2.0 resolution: "get-port@npm:4.2.0" @@ -3897,6 +3976,24 @@ browserlist@latest: languageName: node linkType: hard +"globalthis@npm:^1.0.3": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: ^1.1.3 + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "graceful-fs@npm:^4.2.6": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" @@ -3941,6 +4038,13 @@ browserlist@latest: languageName: node linkType: hard +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e + languageName: node + linkType: hard + "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -3973,10 +4077,10 @@ browserlist@latest: languageName: node linkType: hard -"highcharts@npm:10.3.2": - version: 10.3.2 - resolution: "highcharts@npm:10.3.2" - checksum: 43cb42b24c3d6effc03d021f410a760322092ebd7012b60c2c475aa48a426af6c2a0a2937707bfc1c7aab089f0cc968c9aec3a9a1147e87ffc463b0adfb61ad4 +"highcharts@npm:10.3.3": + version: 10.3.3 + resolution: "highcharts@npm:10.3.3" + checksum: f40690109486fdada407cdc94f257dd869ebbcdd0c7ac4c7b85021c087523b4c32ea88725dce5f1b490c9669573240e17622c4765366ed4c38ff2b2503f092e9 languageName: node linkType: hard @@ -3994,9 +4098,9 @@ browserlist@latest: languageName: node linkType: hard -"html-validate@npm:7.12.2": - version: 7.12.2 - resolution: "html-validate@npm:7.12.2" +"html-validate@npm:7.13.1": + version: 7.13.1 + resolution: "html-validate@npm:7.13.1" dependencies: "@babel/code-frame": ^7.10.0 "@html-validate/stylish": ^3.0.0 @@ -4024,7 +4128,7 @@ browserlist@latest: optional: true bin: html-validate: bin/html-validate.js - checksum: 04bccd168057045fcc824ca9ce02ae195acd9a6723926655a085d74efc0dfcc69ef53822c9633a38241512d656ec05c2e045612c6313ae316b32dbb8bf96af80 + checksum: 81aa406395b7b9cbd4e510bc1831ea52539ef95d2e9354b01959d0f3fc646cb24818f582258cac9697176c054d6dfcea434ca874d9daa958641a15ba10e5bad0 languageName: node linkType: hard @@ -4198,14 +4302,14 @@ browserlist@latest: languageName: node linkType: hard -"internal-slot@npm:^1.0.3": - version: 1.0.3 - resolution: "internal-slot@npm:1.0.3" +"internal-slot@npm:^1.0.4": + version: 1.0.4 + resolution: "internal-slot@npm:1.0.4" dependencies: - get-intrinsic: ^1.1.0 + get-intrinsic: ^1.1.3 has: ^1.0.3 side-channel: ^1.0.4 - checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + checksum: 8974588d06bab4f675573a3b52975370facf6486df51bc0567a982c7024fa29495f10b76c0d4dc742dd951d1b72024fdc1e31bb0bedf1678dc7aacacaf5a4f73 languageName: node linkType: hard @@ -4223,6 +4327,17 @@ browserlist@latest: languageName: node linkType: hard +"is-array-buffer@npm:^3.0.1": + version: 3.0.1 + resolution: "is-array-buffer@npm:3.0.1" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-typed-array: ^1.1.10 + checksum: f26ab87448e698285daf707e52a533920449f7abf63714140ffab9d5571aa5a71ac2fa2677e8b793ad0d5d3e40078d4d2c8a0ab39c957e3cfc6513bb6c9dfdc9 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -4258,7 +4373,14 @@ browserlist@latest: languageName: node linkType: hard -"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac + languageName: node + linkType: hard + +"is-callable@npm:^1.1.4": version: 1.2.4 resolution: "is-callable@npm:1.2.4" checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f @@ -4422,6 +4544,19 @@ browserlist@latest: languageName: node linkType: hard +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": + version: 1.1.10 + resolution: "is-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -4796,16 +4931,6 @@ browserlist@latest: languageName: node linkType: hard -"locate-path@npm:^2.0.0": - version: 2.0.0 - resolution: "locate-path@npm:2.0.0" - dependencies: - p-locate: ^2.0.0 - path-exists: ^3.0.0 - checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 - languageName: node - linkType: hard - "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -5320,7 +5445,14 @@ browserlist@latest: languageName: node linkType: hard -"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.12.2": + version: 1.12.3 + resolution: "object-inspect@npm:1.12.3" + checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db + languageName: node + linkType: hard + +"object-inspect@npm:^1.9.0": version: 1.12.0 resolution: "object-inspect@npm:1.12.0" checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 @@ -5334,26 +5466,26 @@ browserlist@latest: languageName: node linkType: hard -"object.assign@npm:^4.1.2": - version: 4.1.2 - resolution: "object.assign@npm:4.1.2" +"object.assign@npm:^4.1.4": + version: 4.1.4 + resolution: "object.assign@npm:4.1.4" dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - has-symbols: ^1.0.1 + call-bind: ^1.0.2 + define-properties: ^1.1.4 + has-symbols: ^1.0.3 object-keys: ^1.1.1 - checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 + checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 languageName: node linkType: hard -"object.values@npm:^1.1.5": - version: 1.1.5 - resolution: "object.values@npm:1.1.5" +"object.values@npm:^1.1.6": + version: 1.1.6 + resolution: "object.values@npm:1.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e languageName: node linkType: hard @@ -5396,15 +5528,6 @@ browserlist@latest: languageName: node linkType: hard -"p-limit@npm:^1.1.0": - version: 1.3.0 - resolution: "p-limit@npm:1.3.0" - dependencies: - p-try: ^1.0.0 - checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd - languageName: node - linkType: hard - "p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -5414,15 +5537,6 @@ browserlist@latest: languageName: node linkType: hard -"p-locate@npm:^2.0.0": - version: 2.0.0 - resolution: "p-locate@npm:2.0.0" - dependencies: - p-limit: ^1.1.0 - checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 - languageName: node - linkType: hard - "p-locate@npm:^5.0.0": version: 5.0.0 resolution: "p-locate@npm:5.0.0" @@ -5441,34 +5555,27 @@ browserlist@latest: languageName: node linkType: hard -"p-try@npm:^1.0.0": - version: 1.0.0 - resolution: "p-try@npm:1.0.0" - checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 - languageName: node - linkType: hard - -"parcel@npm:2.8.2": - version: 2.8.2 - resolution: "parcel@npm:2.8.2" +"parcel@npm:2.8.3": + version: 2.8.3 + resolution: "parcel@npm:2.8.3" dependencies: - "@parcel/config-default": 2.8.2 - "@parcel/core": 2.8.2 - "@parcel/diagnostic": 2.8.2 - "@parcel/events": 2.8.2 - "@parcel/fs": 2.8.2 - "@parcel/logger": 2.8.2 - "@parcel/package-manager": 2.8.2 - "@parcel/reporter-cli": 2.8.2 - "@parcel/reporter-dev-server": 2.8.2 - "@parcel/utils": 2.8.2 + "@parcel/config-default": 2.8.3 + "@parcel/core": 2.8.3 + "@parcel/diagnostic": 2.8.3 + "@parcel/events": 2.8.3 + "@parcel/fs": 2.8.3 + "@parcel/logger": 2.8.3 + "@parcel/package-manager": 2.8.3 + "@parcel/reporter-cli": 2.8.3 + "@parcel/reporter-dev-server": 2.8.3 + "@parcel/utils": 2.8.3 chalk: ^4.1.0 commander: ^7.0.0 get-port: ^4.2.0 v8-compile-cache: ^2.0.0 bin: parcel: lib/bin.js - checksum: b95ef40bad41ecba1d1455f85c3f5e588703238af6f5544a54d7d4c6bedfa5edcb9e25aa094c3536e48e936f2147b6ed9e2bdf203fdadbe846a11842e4a9786d + checksum: 09cd2dc23c2ec0417e9de93face185a08679d744c6cbb627fce6ffb507f8af1f8d0642f063e0cf771b699419a29db8ee7ca60cdb32966a65dd3b03da35473bfa languageName: node linkType: hard @@ -5493,13 +5600,6 @@ browserlist@latest: languageName: node linkType: hard -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a - languageName: node - linkType: hard - "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -5565,9 +5665,9 @@ browserlist@latest: languageName: node linkType: hard -"pinia@npm:2.0.28": - version: 2.0.28 - resolution: "pinia@npm:2.0.28" +"pinia@npm:2.0.30": + version: 2.0.30 + resolution: "pinia@npm:2.0.30" dependencies: "@vue/devtools-api": ^6.4.5 vue-demi: "*" @@ -5580,7 +5680,7 @@ browserlist@latest: optional: true typescript: optional: true - checksum: d515cd6220262560f1864855ab117bd16e4bf4ab3d6d279459281aa16960b5e84b6ddd4de3f1d863040a81539378451c1a14fddd32e7571b51e5d1c95911154d + checksum: 2522d3700e2d23f184ae65c36d764973ae4680e2fefbc7ca808524c706f5988ced1633606bfedae8c2a44042026528bac105a9437764d026d6323ddc40610e89 languageName: node linkType: hard @@ -5917,6 +6017,17 @@ browserlist@latest: languageName: node linkType: hard +"regexp.prototype.flags@npm:^1.4.3": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + languageName: node + linkType: hard + "regexpp@npm:^3.0.0, regexpp@npm:^3.2.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" @@ -5945,7 +6056,7 @@ browserlist@latest: languageName: node linkType: hard -"resolve@npm:^1.10.1, resolve@npm:^1.15.1, resolve@npm:^1.20.0, resolve@npm:^1.22.0": +"resolve@npm:^1.10.1, resolve@npm:^1.15.1": version: 1.22.0 resolution: "resolve@npm:1.22.0" dependencies: @@ -5971,7 +6082,7 @@ browserlist@latest: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.15.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin": +"resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.15.1#~builtin": version: 1.22.0 resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" dependencies: @@ -6048,39 +6159,39 @@ browserlist@latest: resolution: "root-workspace-0b6124@workspace:." dependencies: "@faker-js/faker": 7.6.0 - "@fullcalendar/bootstrap5": 5.11.3 - "@fullcalendar/core": 5.11.3 - "@fullcalendar/daygrid": 5.11.3 - "@fullcalendar/interaction": 5.11.3 - "@fullcalendar/list": 5.11.3 - "@fullcalendar/luxon2": 5.11.3 - "@fullcalendar/timegrid": 5.11.3 - "@fullcalendar/vue3": 5.11.3 - "@parcel/optimizer-data-url": 2.8.2 - "@parcel/transformer-inline-string": 2.8.2 - "@parcel/transformer-sass": 2.8.2 + "@fullcalendar/bootstrap5": 5.11.4 + "@fullcalendar/core": 5.11.4 + "@fullcalendar/daygrid": 5.11.4 + "@fullcalendar/interaction": 5.11.4 + "@fullcalendar/list": 5.11.4 + "@fullcalendar/luxon2": 5.11.4 + "@fullcalendar/timegrid": 5.11.4 + "@fullcalendar/vue3": 5.11.4 + "@parcel/optimizer-data-url": 2.8.3 + "@parcel/transformer-inline-string": 2.8.3 + "@parcel/transformer-sass": 2.8.3 "@popperjs/core": 2.11.6 "@rollup/pluginutils": 5.0.2 "@twuni/emojify": 1.0.2 "@vitejs/plugin-vue": 3.2.0 bootstrap: 5.2.3 bootstrap-icons: 1.10.3 - browser-fs-access: 0.31.1 + browser-fs-access: 0.31.2 browserlist: latest c8: 7.12.0 - caniuse-lite: 1.0.30001442 - d3: 7.8.0 - eslint: 8.31.0 + caniuse-lite: 1.0.30001450 + d3: 7.8.2 + eslint: 8.33.0 eslint-config-standard: 17.0.0 eslint-plugin-cypress: 2.12.1 - eslint-plugin-import: 2.26.0 + eslint-plugin-import: 2.27.5 eslint-plugin-n: 15.6.1 eslint-plugin-node: 11.1.0 eslint-plugin-promise: 6.1.1 - eslint-plugin-vue: 9.8.0 + eslint-plugin-vue: 9.9.0 file-saver: 2.0.5 - highcharts: 10.3.2 - html-validate: 7.12.2 + highcharts: 10.3.3 + html-validate: 7.13.1 jquery: 3.6.3 jquery-migrate: 3.4.0 jquery-ui-dist: 1.13.2 @@ -6094,11 +6205,11 @@ browserlist@latest: ms: 2.1.3 murmurhash-js: 1.0.0 naive-ui: 2.34.3 - parcel: 2.8.2 - pinia: 2.0.28 + parcel: 2.8.3 + pinia: 2.0.30 pinia-plugin-persist: 1.0.0 pug: 3.0.2 - sass: 1.57.1 + sass: 1.58.0 seedrandom: 3.0.5 select2: 4.1.0-rc.0 select2-bootstrap-5-theme: 1.3.0 @@ -6107,7 +6218,7 @@ browserlist@latest: slugify: 1.6.5 sortablejs: 1.15.0 vite: 3.2.5 - vue: 3.2.45 + vue: 3.2.47 vue-router: 4.1.6 zxcvbn: 4.4.2 languageName: unknown @@ -6143,6 +6254,17 @@ browserlist@latest: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-regex: ^1.1.4 + checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -6150,16 +6272,16 @@ browserlist@latest: languageName: node linkType: hard -"sass@npm:1.57.1": - version: 1.57.1 - resolution: "sass@npm:1.57.1" +"sass@npm:1.58.0": + version: 1.58.0 + resolution: "sass@npm:1.58.0" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 734a08781bcbe0e8defb2d54864e7012014ed3e68ba5fcb766189b002929019fc37b2f83a18d4be0b5f69ad77317c92396ce6112447ab47a194ed600ae1afb27 + checksum: a7219634881d2de6441fb619787fb1a02e3fa0333fb715be26aa335ba49d6bdb4f1105d9df70a80a67200893022b08346745783dc49046095d94fc6e044492d6 languageName: node linkType: hard @@ -6431,6 +6553,13 @@ browserlist@latest: languageName: node linkType: hard +"srcset@npm:4": + version: 4.0.0 + resolution: "srcset@npm:4.0.0" + checksum: aceb898c9281101ef43bfbf96bf04dfae828e1bf942a45df6fad74ae9f8f0a425f4bca1480e0d22879beb40dd2bc6947e0e1e5f4d307a714666196164bc5769d + languageName: node + linkType: hard + "ssri@npm:^9.0.0": version: 9.0.1 resolution: "ssri@npm:9.0.1" @@ -6472,23 +6601,25 @@ browserlist@latest: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.4": - version: 1.0.4 - resolution: "string.prototype.trimend@npm:1.0.4" +"string.prototype.trimend@npm:^1.0.6": + version: 1.0.6 + resolution: "string.prototype.trimend@npm:1.0.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 17e5aa45c3983f582693161f972c1c1fa4bbbdf22e70e582b00c91b6575f01680dc34e83005b98e31abe4d5d29e0b21fcc24690239c106c7b2315aade6a898ac + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.4": - version: 1.0.4 - resolution: "string.prototype.trimstart@npm:1.0.4" +"string.prototype.trimstart@npm:^1.0.6": + version: 1.0.6 + resolution: "string.prototype.trimstart@npm:1.0.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 3fb06818d3cccac5fa3f5f9873d984794ca0e9f6616fae6fcc745885d9efed4e17fe15f832515d9af5e16c279857fdbffdfc489ca4ed577811b017721b30302f + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 languageName: node linkType: hard @@ -6707,7 +6838,18 @@ browserlist@latest: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.1": +"typed-array-length@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-length@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + is-typed-array: ^1.1.9 + checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" dependencies: @@ -6905,16 +7047,16 @@ browserlist@latest: languageName: node linkType: hard -"vue@npm:3.2.45": - version: 3.2.45 - resolution: "vue@npm:3.2.45" +"vue@npm:3.2.47": + version: 3.2.47 + resolution: "vue@npm:3.2.47" dependencies: - "@vue/compiler-dom": 3.2.45 - "@vue/compiler-sfc": 3.2.45 - "@vue/runtime-dom": 3.2.45 - "@vue/server-renderer": 3.2.45 - "@vue/shared": 3.2.45 - checksum: df60ca80cb9fdce408eccd0c7a4d44720df9855c62e340448650d8048b1edd25da6f3bd99ed7efc19efbe1f3fdcec4ae8067ab10ae50be5bb363d996ad29251a + "@vue/compiler-dom": 3.2.47 + "@vue/compiler-sfc": 3.2.47 + "@vue/runtime-dom": 3.2.47 + "@vue/server-renderer": 3.2.47 + "@vue/shared": 3.2.47 + checksum: 3b586f61fd2cdfdd24459a946a2831c0f164056993cc005badde4fea10d53e430f1cedf1b62d52a6992b58fe656fc5fc67b32f594a2832dfe440c6db46d6f158 languageName: node linkType: hard @@ -6973,6 +7115,20 @@ browserlist@latest: languageName: node linkType: hard +"which-typed-array@npm:^1.1.9": + version: 1.1.9 + resolution: "which-typed-array@npm:1.1.9" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.10 + checksum: fe0178ca44c57699ca2c0e657b64eaa8d2db2372a4e2851184f568f98c478ae3dc3fdb5f7e46c384487046b0cf9e23241423242b277e03e8ba3dabc7c84c98ef + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2"
    Draft nameInternet-Draft name IESG state RFC Editor state IANA Action state