From 6197d1d779cf62c6077af67f3419e6c4a8d05db2 Mon Sep 17 00:00:00 2001 From: Aaron Leopold <36278431+aaronleopold@users.noreply.github.com> Date: Tue, 15 Oct 2024 21:02:17 -0700 Subject: [PATCH 01/17] =?UTF-8?q?=F0=9F=96=A5=EF=B8=8F=20Tauri=20V2=20migr?= =?UTF-8?q?ation=20and=20native=20credential=20store=20(#480)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wip: start setting up credential store for windows * wip: token fetching on client works but at what cost * replace all img with EntityImage * swap back for mac, fix number inputs * push up yesterdays stuff oops * document changes to make * refactor secure store * Fix old lodash package imports. * wow i hate windows so much? * janky routing after first create * wip: migrate to v2 tauri * lunch refactors * fix export? * DEBUG: make work with deployed versions * Revert "DEBUG: make work with deployed versions" This reverts commit 79f6b50521dbe30828ce4c4b114e4e11be5c034d. * update system deps script * fix lint * :( * fix tests * fix lint * windows testing * add debug logs --------- Co-authored-by: Joseph Micheli --- .prettierignore | 4 + Cargo.lock | 2324 +++---- Cargo.toml | 2 + apps/desktop/package.json | 20 +- apps/desktop/src-tauri/.gitignore | 3 + apps/desktop/src-tauri/Cargo.toml | 19 +- .../src-tauri/capabilities/default.json | 13 + apps/desktop/src-tauri/src/commands.rs | 108 +- apps/desktop/src-tauri/src/main.rs | 32 +- apps/desktop/src-tauri/src/state.rs | 7 +- apps/desktop/src-tauri/src/store/app_store.rs | 83 +- apps/desktop/src-tauri/src/store/mod.rs | 1 + .../src-tauri/src/store/secure_store.rs | 259 + apps/desktop/src-tauri/tauri.conf.json | 81 +- apps/desktop/src/App.tsx | 85 +- apps/desktop/src/utils/useTauriRPC.ts | 34 +- apps/server/Cargo.toml | 8 +- apps/server/src/config/cors.rs | 8 +- apps/server/src/routers/api/v1/auth.rs | 6 +- apps/web/package.json | 4 +- packages/browser/package.json | 5 +- packages/browser/src/App.tsx | 19 +- packages/browser/src/AppLayout.tsx | 31 +- packages/browser/src/AppRouter.tsx | 8 +- .../browser/src/components/book/BookCard.tsx | 4 +- .../components/book/table/CoverImageCell.tsx | 4 +- .../schedule/BookClubScheduleItem.tsx | 6 +- .../src/components/entity/AuthImage.tsx | 54 + .../src/components/entity}/EntityCard.tsx | 14 +- .../src/components/entity/EntityImage.tsx | 25 + .../browser/src/components/entity/index.ts | 2 + .../src/components/explorer/FileThumbnail.tsx | 4 +- .../src/components/filters/URLPageSize.tsx | 2 +- .../src/components/filters/URLPagination.tsx | 2 +- .../components/library/LastVisitedLibrary.tsx | 4 +- .../components/readers/epub/EpubJsReader.tsx | 2 +- .../imageBased/container/ReaderFooter.tsx | 3 +- .../continuous/ContinuousScrollReader.tsx | 3 +- .../readers/imageBased/paged/PageSet.tsx | 3 +- .../ConfiguredServersList.tsx | 90 +- .../RemoveAllTokensConfirm.tsx | 51 + .../RemoveAllTokensSection.tsx | 29 + .../ResetConfigurationConfirmation.tsx | 2 +- .../__tests__/ConfiguredServersList.tests.tsx | 50 +- .../src/components/series/SeriesCard.tsx | 3 +- .../series/table/CoverImageCell.tsx | 4 +- .../browser/src/components/table/index.ts | 2 +- .../src/scenes/auth/LoginOrClaimScene.tsx | 6 +- .../src/scenes/book/BookOverviewScene.tsx | 2 +- .../book/settings/BookThumbnailSelector.tsx | 3 +- .../tabs/settings/members/MembersTable.tsx | 2 +- .../tabs/settings/scheduler/AddBookCard.tsx | 3 +- .../src/scenes/library/LibraryHeader.tsx | 6 +- .../library/LibraryOverviewTitleSection.tsx | 3 +- .../scenes/onboarding/OnBoardingRouter.tsx | 3 +- .../src/scenes/onboarding/OnBoardingScene.tsx | 10 +- .../src/scenes/series/SeriesHeader.tsx | 6 +- .../tabs/settings/SeriesThumbnailSelector.tsx | 3 +- .../NavigationArrangement.tsx | 2 +- .../settings/server/users/UsersStats.tsx | 6 +- .../GroupedSmartListItemListGroupContent.tsx | 6 +- .../smartList/items/table/CoverImageCell.tsx | 4 +- packages/browser/src/stores/desktop.ts | 73 +- packages/client/package.json | 2 +- packages/client/src/client.ts | 3 + packages/client/src/context.ts | 43 +- packages/client/src/desktop/context.ts | 31 + packages/client/src/desktop/index.ts | 1 + packages/client/src/hooks/useStumpSse.ts | 4 +- packages/client/src/index.ts | 1 + packages/client/src/queries/auth.ts | 35 +- packages/client/src/sdk/SDKProvider.tsx | 43 +- packages/components/package.json | 4 +- packages/components/src/card/index.ts | 1 - packages/components/src/index.ts | 2 +- packages/i18n/src/locales/en.json | 14 + packages/sdk/src/api.ts | 2 +- packages/sdk/src/controllers/auth-api.ts | 16 +- packages/sdk/src/types/generated.ts | 2 + scripts/system-setup.sh | 14 +- yarn.lock | 5695 ++++++++--------- 81 files changed, 5055 insertions(+), 4523 deletions(-) create mode 100644 apps/desktop/src-tauri/.gitignore create mode 100644 apps/desktop/src-tauri/capabilities/default.json create mode 100644 apps/desktop/src-tauri/src/store/secure_store.rs create mode 100644 packages/browser/src/components/entity/AuthImage.tsx rename packages/{components/src/card => browser/src/components/entity}/EntityCard.tsx (94%) create mode 100644 packages/browser/src/components/entity/EntityImage.tsx create mode 100644 packages/browser/src/components/entity/index.ts create mode 100644 packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx create mode 100644 packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx create mode 100644 packages/client/src/desktop/context.ts create mode 100644 packages/client/src/desktop/index.ts diff --git a/.prettierignore b/.prettierignore index 8d45e60ff..dd4b0d6a1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -12,3 +12,7 @@ build packages/i18n/src/locales/*.json CHANGELOG.md + +# Tauri generated files +/src-tauri/capabilities/*.json +/src-tauri/gen/*.json diff --git a/Cargo.lock b/Cargo.lock index 5df3758ba..7349fd8ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -229,25 +229,6 @@ dependencies = [ "derive_arbitrary", ] -[[package]] -name = "arboard" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89" -dependencies = [ - "clipboard-win", - "core-graphics 0.23.1", - "image 0.25.2", - "log", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "parking_lot 0.12.1", - "windows-sys 0.48.0", - "wl-clipboard-rs", - "x11rb", -] - [[package]] name = "arg_enum_proc_macro" version = "0.3.4" @@ -280,16 +261,6 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" -[[package]] -name = "async-broadcast" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" -dependencies = [ - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "2.2.1" @@ -297,142 +268,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" dependencies = [ "concurrent-queue", - "event-listener 5.3.0", + "event-listener", "event-listener-strategy", "futures-core", "pin-project-lite", ] -[[package]] -name = "async-executor" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.3.0", - "slab", -] - -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "blocking", - "futures-lite 1.13.0", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite 1.13.0", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.7", - "waker-fn", -] - -[[package]] -name = "async-io" -version = "2.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" -dependencies = [ - "async-lock 3.4.0", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite 2.3.0", - "parking", - "polling 3.7.3", - "rustix 0.38.31", - "slab", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener 2.5.3", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener 5.3.0", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-process" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" -dependencies = [ - "async-io 1.13.0", - "async-lock 2.8.0", - "async-signal", - "blocking", - "cfg-if", - "event-listener 3.1.0", - "futures-lite 1.13.0", - "rustix 0.38.31", - "windows-sys 0.48.0", -] - -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "async-signal" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" -dependencies = [ - "async-io 2.3.4", - "async-lock 3.4.0", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix 0.38.31", - "signal-hook-registry", - "slab", - "windows-sys 0.59.0", -] - [[package]] name = "async-stream" version = "0.3.5" @@ -455,12 +296,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - [[package]] name = "async-trait" version = "0.1.81" @@ -474,26 +309,25 @@ dependencies = [ [[package]] name = "atk" -version = "0.15.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4" dependencies = [ "atk-sys", - "bitflags 1.3.2", "glib", "libc", ] [[package]] name = "atk-sys" -version = "0.15.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" +checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.2", + "system-deps", ] [[package]] @@ -505,12 +339,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - [[package]] name = "atty" version = "0.2.14" @@ -776,7 +604,7 @@ version = "0.68.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "cexpr", "clang-sys", "lazy_static", @@ -807,9 +635,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] [[package]] name = "bitstream-io" @@ -876,19 +707,6 @@ dependencies = [ "objc2", ] -[[package]] -name = "blocking" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite 2.3.0", - "piper", -] - [[package]] name = "blowfish" version = "0.9.1" @@ -995,26 +813,36 @@ dependencies = [ [[package]] name = "cairo-rs" -version = "0.15.12" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "cairo-sys-rs", "glib", "libc", + "once_cell", "thiserror", ] [[package]] name = "cairo-sys-rs" -version = "0.15.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" dependencies = [ "glib-sys", "libc", - "system-deps 6.2.2", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", ] [[package]] @@ -1029,14 +857,37 @@ dependencies = [ "url", ] +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.16", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "cargo_toml" -version = "0.15.3" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" +checksum = "8a969e13a7589e9e3e4207e153bae624ade2b5622fb4684a4923b23ec3d57719" dependencies = [ "serde", - "toml 0.7.8", + "toml 0.8.19", ] [[package]] @@ -1090,15 +941,6 @@ dependencies = [ "uuid 1.10.0", ] -[[package]] -name = "cfg-expr" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" -dependencies = [ - "smallvec", -] - [[package]] name = "cfg-expr" version = "0.15.8" @@ -1115,6 +957,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -1243,42 +1091,32 @@ dependencies = [ "tokio", ] -[[package]] -name = "clipboard-win" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" -dependencies = [ - "error-code", -] - [[package]] name = "cocoa" -version = "0.24.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "block", "cocoa-foundation", - "core-foundation", - "core-graphics 0.22.3", - "foreign-types 0.3.2", + "core-foundation 0.10.0", + "core-graphics", + "foreign-types 0.5.0", "libc", "objc", ] [[package]] name = "cocoa-foundation" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" +checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "block", - "core-foundation", + "core-foundation 0.10.0", "core-graphics-types", - "foreign-types 0.3.2", "libc", "objc", ] @@ -1354,11 +1192,10 @@ dependencies = [ [[package]] name = "connection-string" -version = "0.1.14" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4ecb0dc8c35d2c626e45ae70bbfcb1050b302f42bcdf025d913cc0c5a0b443" +checksum = "b97faeec45f49581c458f8bf81992c5e3ec17d82cda99f59d3cea14eff62698d" dependencies = [ - "js-sys", "wasm-bindgen", ] @@ -1444,32 +1281,29 @@ dependencies = [ ] [[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - -[[package]] -name = "core-graphics" -version = "0.22.3" +name = "core-foundation" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types 0.3.2", + "core-foundation-sys", "libc", ] +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + [[package]] name = "core-graphics" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 1.3.2", - "core-foundation", + "bitflags 2.6.0", + "core-foundation 0.10.0", "core-graphics-types", "foreign-types 0.5.0", "libc", @@ -1477,13 +1311,12 @@ dependencies = [ [[package]] name = "core-graphics-types" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "foreign-types 0.3.2", + "bitflags 2.6.0", + "core-foundation 0.10.0", "libc", ] @@ -1686,12 +1519,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "cty" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" - [[package]] name = "cuid" version = "1.3.2" @@ -1848,44 +1675,46 @@ dependencies = [ ] [[package]] -name = "deflate" -version = "1.0.0" +name = "dbus" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" +checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b" dependencies = [ - "adler32", + "libc", + "libdbus-sys", + "winapi", ] [[package]] -name = "deranged" -version = "0.3.10" +name = "dbus-secret-service" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" +checksum = "b42a16374481d92aed73ae45b1f120207d8e71d24fb89f357fadbd8f946fd84b" dependencies = [ - "powerfmt", - "serde", + "dbus", + "futures-util", + "num", + "once_cell", + "rand 0.8.5", ] [[package]] -name = "derivative" -version = "2.2.0" +name = "deflate" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.107", + "adler32", ] [[package]] -name = "derive-new" -version = "0.5.9" +name = "deranged" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" +checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.107", + "powerfmt", + "serde", ] [[package]] @@ -2072,12 +1901,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] -name = "dlib" -version = "0.5.2" +name = "dlopen2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" dependencies = [ - "libloading 0.8.5", + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", ] [[package]] @@ -2135,10 +1978,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" [[package]] -name = "downcast-rs" -version = "1.2.1" +name = "dpi" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" +dependencies = [ + "serde", +] [[package]] name = "dtoa" @@ -2161,6 +2007,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + [[package]] name = "either" version = "1.8.0" @@ -2302,29 +2154,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "error-code" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - [[package]] name = "event-listener" version = "5.3.0" @@ -2342,7 +2171,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" dependencies = [ - "event-listener 5.3.0", + "event-listener", "pin-project-lite", ] @@ -2395,15 +2224,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - [[package]] name = "fastrand" version = "2.0.1" @@ -2448,7 +2268,7 @@ checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "windows-sys 0.42.0", ] @@ -2464,12 +2284,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" version = "1.0.30" @@ -2623,34 +2437,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "futures-lite" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" -dependencies = [ - "fastrand 2.0.1", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.30" @@ -2709,11 +2495,10 @@ dependencies = [ [[package]] name = "gdk" -version = "0.15.4" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" +checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk-pixbuf", "gdk-sys", @@ -2725,35 +2510,35 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.15.11" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", "glib", "libc", + "once_cell", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.15.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" dependencies = [ "gio-sys", "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.2", + "system-deps", ] [[package]] name = "gdk-sys" -version = "0.15.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" +checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -2763,47 +2548,48 @@ dependencies = [ "libc", "pango-sys", "pkg-config", - "system-deps 6.2.2", + "system-deps", ] [[package]] name = "gdkwayland-sys" -version = "0.15.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" +checksum = "a90fbf5c033c65d93792192a49a8efb5bb1e640c419682a58bb96f5ae77f3d4a" dependencies = [ "gdk-sys", "glib-sys", "gobject-sys", "libc", "pkg-config", - "system-deps 6.2.2", + "system-deps", ] [[package]] -name = "gdkx11-sys" -version = "0.15.1" +name = "gdkx11" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" +checksum = "db2ea8a4909d530f79921290389cbd7c34cb9d623bfe970eaae65ca5f9cd9cce" dependencies = [ - "gdk-sys", - "glib-sys", + "gdk", + "gdkx11-sys", + "gio", + "glib", "libc", - "system-deps 6.2.2", "x11", ] [[package]] -name = "generator" -version = "0.7.2" +name = "gdkx11-sys" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e" +checksum = "fee8f00f4ee46cad2939b8990f5c70c94ff882c3028f3cc5abf950fa4ab53043" dependencies = [ - "cc", + "gdk-sys", + "glib-sys", "libc", - "log", - "rustversion", - "windows 0.39.0", + "system-deps", + "x11", ] [[package]] @@ -2818,12 +2604,12 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30" dependencies = [ - "libc", - "windows-targets 0.48.5", + "rustix", + "windows-targets 0.52.6", ] [[package]] @@ -2868,49 +2654,54 @@ checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "gio" -version = "0.15.12" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" dependencies = [ - "bitflags 1.3.2", "futures-channel", "futures-core", "futures-io", + "futures-util", "gio-sys", "glib", "libc", "once_cell", + "pin-project-lite", + "smallvec", "thiserror", ] [[package]] name = "gio-sys" -version = "0.15.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.2", + "system-deps", "winapi", ] [[package]] name = "glib" -version = "0.15.12" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "futures-channel", "futures-core", "futures-executor", "futures-task", + "futures-util", + "gio-sys", "glib-macros", "glib-sys", "gobject-sys", "libc", + "memchr", "once_cell", "smallvec", "thiserror", @@ -2918,27 +2709,26 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.15.11" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" dependencies = [ - "anyhow", "heck 0.4.0", - "proc-macro-crate", + "proc-macro-crate 2.0.0", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", ] [[package]] name = "glib-sys" -version = "0.15.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" dependencies = [ "libc", - "system-deps 6.2.2", + "system-deps", ] [[package]] @@ -2971,13 +2761,13 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.15.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" dependencies = [ "glib-sys", "libc", - "system-deps 6.2.2", + "system-deps", ] [[package]] @@ -2992,12 +2782,11 @@ dependencies = [ [[package]] name = "gtk" -version = "0.15.5" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" +checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c" dependencies = [ "atk", - "bitflags 1.3.2", "cairo-rs", "field-offset", "futures-channel", @@ -3008,16 +2797,15 @@ dependencies = [ "gtk-sys", "gtk3-macros", "libc", - "once_cell", "pango", "pkg-config", ] [[package]] name = "gtk-sys" -version = "0.15.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" +checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" dependencies = [ "atk-sys", "cairo-sys-rs", @@ -3028,21 +2816,20 @@ dependencies = [ "gobject-sys", "libc", "pango-sys", - "system-deps 6.2.2", + "system-deps", ] [[package]] name = "gtk3-macros" -version = "0.15.4" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f518afe90c23fba585b2d7697856f9e6a7bbc62f65588035e66f6afb01a2e9" +checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" dependencies = [ - "anyhow", - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", ] [[package]] @@ -3202,27 +2989,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "hostname" version = "0.3.1" @@ -3304,12 +3076,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "http-range" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" - [[package]] name = "http-range-header" version = "0.4.1" @@ -3473,37 +3239,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "ignore" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" -dependencies = [ - "crossbeam-utils", - "globset", - "lazy_static", - "log", - "memchr", - "regex", - "same-file", - "thread_local", - "walkdir", - "winapi-util", -] - -[[package]] -name = "image" -version = "0.24.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-rational", - "num-traits", -] - [[package]] name = "image" version = "0.25.2" @@ -3603,15 +3338,6 @@ version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da2d6f23ffea9d7e76c53eee25dfb67bcd8fde7f1198b0855350698c9f07c780" -[[package]] -name = "infer" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc" -dependencies = [ - "cfb", -] - [[package]] name = "infer" version = "0.16.0" @@ -3698,23 +3424,21 @@ dependencies = [ "user-facing-errors", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + [[package]] name = "is-terminal" version = "0.4.9" @@ -3722,10 +3446,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.9", - "rustix 0.38.31", + "rustix", "windows-sys 0.48.0", ] +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + [[package]] name = "istring" version = "0.3.4" @@ -3776,9 +3510,9 @@ checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "javascriptcore-rs" -version = "0.16.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" dependencies = [ "bitflags 1.3.2", "glib", @@ -3787,28 +3521,30 @@ dependencies = [ [[package]] name = "javascriptcore-rs-sys" -version = "0.4.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 5.0.0", + "system-deps", ] [[package]] name = "jni" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", + "cfg-if", "combine 4.6.6", "jni-sys", "log", "thiserror", "walkdir", + "windows-sys 0.45.0", ] [[package]] @@ -3834,9 +3570,9 @@ checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" [[package]] name = "js-sys" -version = "0.3.56" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -3914,6 +3650,29 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.6.0", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "keyring" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd3d701d3de5b9c4b0d9d077f8c2c66f0388d75e96932ebbb7cdff8713d7f7c6" +dependencies = [ + "byteorder", + "dbus-secret-service", + "security-framework 3.0.0", + "windows-sys 0.59.0", +] + [[package]] name = "kqueue" version = "1.0.7" @@ -3976,7 +3735,7 @@ dependencies = [ "chumsky", "email-encoding", "email_address", - "fastrand 2.0.1", + "fastrand", "futures-io", "futures-util", "hostname", @@ -3996,11 +3755,44 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading 0.7.4", + "once_cell", +] + [[package]] name = "libc" -version = "0.2.152" +version = "0.2.159" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" + +[[package]] +name = "libdbus-sys" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72" +dependencies = [ + "pkg-config", +] [[package]] name = "libflate" @@ -4119,15 +3911,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "litrs" @@ -4164,21 +3950,6 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" -[[package]] -name = "loom" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "serde", - "serde_json", - "tracing", - "tracing-subscriber", -] - [[package]] name = "loop9" version = "0.1.5" @@ -4216,19 +3987,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" -[[package]] -name = "mac-notification-sys" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e72d50edb17756489e79d52eb146927bec8eba9dd48faadf9ef08bca3791ad5" -dependencies = [ - "cc", - "dirs-next", - "objc-foundation", - "objc_id", - "time", -] - [[package]] name = "mach" version = "0.3.2" @@ -4334,15 +4092,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - [[package]] name = "metrics" version = "0.18.1" @@ -4550,6 +4299,26 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "muda" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8123dfd4996055ac9b15a60ad263b44b01e539007523ad7a4a533a3d93b0591" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror", + "windows-sys 0.59.0", +] + [[package]] name = "multer" version = "3.1.0" @@ -4589,21 +4358,23 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.7.0", "security-framework-sys", "tempfile", ] [[package]] name = "ndk" -version = "0.6.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "jni-sys", + "log", "ndk-sys", "num_enum", + "raw-window-handle", "thiserror", ] @@ -4615,9 +4386,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] name = "ndk-sys" -version = "0.3.0" +version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ "jni-sys", ] @@ -4662,19 +4433,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", - "pin-utils", -] - [[package]] name = "nodrop" version = "0.1.14" @@ -4714,18 +4472,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "notify-rust" -version = "4.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ce656bb6d22a93ae276a23de52d1aec5ba4db3ece3c0eb79dfd5add7384db6a" -dependencies = [ - "mac-notification-sys", - "serde", - "tauri-winrt-notification", - "zbus", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -4852,23 +4598,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.7" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.7" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", ] [[package]] @@ -4884,18 +4630,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", -] - -[[package]] -name = "objc-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -dependencies = [ - "block", - "objc", - "objc_id", ] [[package]] @@ -4903,6 +4637,9 @@ name = "objc-sys" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" +dependencies = [ + "cc", +] [[package]] name = "objc2" @@ -4916,24 +4653,77 @@ dependencies = [ [[package]] name = "objc2-app-kit" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb79768a710a9a1798848179edb186d1af7e8a8679f369e4b8d201dd2a034047" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ + "bitflags 2.6.0", "block2", + "libc", "objc2", "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", "objc2-foundation", ] [[package]] name = "objc2-core-data" -version = "0.2.0" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e092bc42eaf30a08844e6a076938c60751225ec81431ab89f5d1ccd9f958d6c" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ "block2", "objc2", + "objc2-contacts", "objc2-foundation", ] @@ -4945,30 +4735,119 @@ checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" [[package]] name = "objc2-foundation" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfaefe14254871ea16c7d88968c0ff14ba554712a20d76421eec52f0a7fb8904" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ + "bitflags 2.6.0", "block2", + "libc", "objc2", ] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "cc", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "objc2-metal" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "objc", + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68bc69301064cebefc6c4c90ce9cba69225239e4b8ff99d445a2b5563797da65" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] @@ -5000,21 +4879,22 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "open" -version = "3.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" +checksum = "61a877bf6abd716642a53ef1b89fb498923a4afca5c754f9050b4d081c05c4b3" dependencies = [ + "is-wsl", + "libc", "pathdiff", - "windows-sys 0.42.0", ] [[package]] name = "openssl" -version = "0.10.61" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b8419dc8cc6d866deb801274bba2e6f8f6108c1bb7fcc10ee5ab864931dbb45" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "cfg-if", "foreign-types 0.3.2", "libc", @@ -5042,18 +4922,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.1.5+3.1.3" +version = "300.3.2+3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559068e4c12950d7dcaa1857a61725c0d38d4fc03ff8e070ab31a75d6e316491" +checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.97" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3eaad34cdd97d81de97964fc7f29e2d104f483840d906ef56daa1912338460b" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -5097,16 +4977,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "ordered-stream" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" -dependencies = [ - "futures-core", - "pin-project-lite", -] - [[package]] name = "ordermap" version = "0.3.5" @@ -5115,13 +4985,13 @@ checksum = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" [[package]] name = "os_info" -version = "3.5.1" +version = "3.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" dependencies = [ "log", "serde", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -5142,11 +5012,11 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.15.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" dependencies = [ - "bitflags 1.3.2", + "gio", "glib", "libc", "once_cell", @@ -5155,14 +5025,14 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.15.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.2", + "system-deps", ] [[package]] @@ -5201,7 +5071,7 @@ dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec", "winapi", ] @@ -5214,7 +5084,7 @@ checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.2.16", "smallvec", "windows-sys 0.42.0", ] @@ -5239,9 +5109,9 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pathdiff" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" [[package]] name = "pdf" @@ -5287,13 +5157,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cf21aa9bd11aa175e8755e0dbc613affe885e149c4b3ee4ac6d2c183260e727" dependencies = [ "bindgen", - "bitflags 2.4.0", + "bitflags 2.6.0", "bytemuck", "bytes", "chrono", "console_error_panic_hook", "console_log", - "image 0.25.2", + "image", "itertools 0.13.0", "js-sys", "libloading 0.8.5", @@ -5379,20 +5249,10 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f" dependencies = [ - "fixedbitset 0.1.9", + "fixedbitset", "ordermap", ] -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset 0.4.2", - "indexmap 2.2.6", -] - [[package]] name = "phf" version = "0.8.0" @@ -5549,9 +5409,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -5559,17 +5419,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "piper" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand 2.0.1", - "futures-io", -] - [[package]] name = "piston-float" version = "1.0.1" @@ -5636,37 +5485,6 @@ dependencies = [ "miniz_oxide 0.6.2", ] -[[package]] -name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] - -[[package]] -name = "polling" -version = "3.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi 0.4.0", - "pin-project-lite", - "rustix 0.38.31", - "tracing", - "windows-sys 0.59.0", -] - [[package]] name = "polyval" version = "0.6.1" @@ -5872,6 +5690,24 @@ dependencies = [ "toml 0.5.10", ] +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit 0.22.20", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -6065,7 +5901,7 @@ dependencies = [ "once_cell", "opentelemetry", "parking_lot 0.12.1", - "petgraph 0.4.13", + "petgraph", "pin-utils", "prisma-models", "prisma-value", @@ -6112,28 +5948,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] -name = "quick-xml" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.36.1" +name = "quinn" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc" -dependencies = [ - "memchr", -] - -[[package]] -name = "quinn" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" dependencies = [ "bytes", "pin-project-lite", @@ -6341,7 +6159,7 @@ dependencies = [ "rust_hawktracer", "rustc_version 0.4.0", "simd_helpers", - "system-deps 6.2.2", + "system-deps", "thiserror", "v_frame", "wasm-bindgen", @@ -6376,7 +6194,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "simd_helpers", - "system-deps 6.2.2", + "system-deps", "thiserror", "v_frame", ] @@ -6408,12 +6226,9 @@ dependencies = [ [[package]] name = "raw-window-handle" -version = "0.5.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a" -dependencies = [ - "cty", -] +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" @@ -6453,6 +6268,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -6460,7 +6284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom 0.2.11", - "redox_syscall", + "redox_syscall 0.2.16", "thiserror", ] @@ -6569,12 +6393,10 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", - "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", "winreg 0.50.0", ] @@ -6613,10 +6435,12 @@ dependencies = [ "sync_wrapper 1.0.1", "tokio", "tokio-rustls 0.26.0", + "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", "webpki-roots", "windows-registry", @@ -6632,30 +6456,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "rfd" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" -dependencies = [ - "block", - "dispatch", - "glib-sys", - "gobject-sys", - "gtk-sys", - "js-sys", - "lazy_static", - "log", - "objc", - "objc-foundation", - "objc_id", - "raw-window-handle", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows 0.37.0", -] - [[package]] name = "rgb" version = "0.8.45" @@ -6824,28 +6624,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.31" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.12", + "linux-raw-sys", "windows-sys 0.52.0", ] @@ -6974,10 +6760,31 @@ dependencies = [ ] [[package]] -name = "scoped-tls" -version = "1.0.1" +name = "schemars" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +dependencies = [ + "dyn-clone", + "indexmap 1.9.2", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid 1.10.0", +] + +[[package]] +name = "schemars_derive" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.79", +] [[package]] name = "scopeguard" @@ -6998,7 +6805,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.3", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d0283c0a4a22a0f1b0e4edca251aa20b92fc96eaa09b84bec052f9415e9d71" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", "security-framework-sys", @@ -7006,9 +6826,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -7113,6 +6933,17 @@ dependencies = [ "syn 2.0.79", ] +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "serde_html_form" version = "0.2.3" @@ -7163,13 +6994,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.10" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", ] [[package]] @@ -7225,9 +7056,9 @@ dependencies = [ [[package]] name = "serialize-to-javascript" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" dependencies = [ "serde", "serde_json", @@ -7236,13 +7067,13 @@ dependencies = [ [[package]] name = "serialize-to-javascript-impl" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 1.0.107", ] [[package]] @@ -7311,12 +7142,12 @@ dependencies = [ [[package]] name = "shared_child" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" +checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" dependencies = [ "libc", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -7460,31 +7291,51 @@ dependencies = [ ] [[package]] -name = "soup2" -version = "0.2.1" +name = "softbuffer" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" +checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08" dependencies = [ - "bitflags 1.3.2", + "bytemuck", + "cfg_aliases", + "core-graphics", + "foreign-types 0.5.0", + "js-sys", + "log", + "objc2", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall 0.5.7", + "wasm-bindgen", + "web-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", "gio", "glib", "libc", - "once_cell", - "soup2-sys", + "soup3-sys", ] [[package]] -name = "soup2-sys" -version = "0.2.0" +name = "soup3-sys" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" dependencies = [ - "bitflags 1.3.2", "gio-sys", "glib-sys", "gobject-sys", "libc", - "system-deps 5.0.0", + "system-deps", ] [[package]] @@ -7666,15 +7517,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "state" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" -dependencies = [ - "loom", -] - [[package]] name = "static_assertions" version = "1.1.0" @@ -7724,27 +7566,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" -dependencies = [ - "heck 0.3.3", - "proc-macro2", - "quote", - "syn 1.0.107", -] - [[package]] name = "stump-config-gen" version = "0.0.6" @@ -7776,8 +7597,8 @@ dependencies = [ "epub", "futures", "globset", - "image 0.25.2", - "infer 0.16.0", + "image", + "infer", "itertools 0.13.0", "libc", "pdf", @@ -7819,14 +7640,18 @@ name = "stump_desktop" version = "0.0.7" dependencies = [ "discord-rich-presence", + "keyring", "serde", "serde_json", "specta", "stump_server", "tauri", "tauri-build", + "tauri-plugin-os", + "tauri-plugin-shell", "tauri-plugin-store", "thiserror", + "tokio", "tracing", "zbus_names", ] @@ -7882,6 +7707,17 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +[[package]] +name = "swift-rs" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" +dependencies = [ + "base64 0.21.5", + "serde", + "serde_json", +] + [[package]] name = "syn" version = "1.0.107" @@ -7947,7 +7783,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.3", "system-configuration-sys", ] @@ -7961,56 +7797,36 @@ dependencies = [ "libc", ] -[[package]] -name = "system-deps" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" -dependencies = [ - "cfg-expr 0.9.1", - "heck 0.3.3", - "pkg-config", - "toml 0.5.10", - "version-compare 0.0.11", -] - [[package]] name = "system-deps" version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ - "cfg-expr 0.15.8", + "cfg-expr", "heck 0.5.0", "pkg-config", "toml 0.8.19", - "version-compare 0.2.0", + "version-compare", ] [[package]] name = "tao" -version = "0.16.10" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d298c441a1da46e28e8ad8ec205aab7fd8cd71b9d10e05454224eef422e1ae" +checksum = "a0dbbebe82d02044dfa481adca1550d6dd7bd16e086bc34fa0fbecceb5a63751" dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "cc", + "bitflags 2.6.0", "cocoa", - "core-foundation", - "core-graphics 0.22.3", + "core-foundation 0.10.0", + "core-graphics", "crossbeam-channel", "dispatch", - "gdk", - "gdk-pixbuf", - "gdk-sys", + "dlopen2", + "dpi", "gdkwayland-sys", "gdkx11-sys", - "gio", - "glib", - "glib-sys", "gtk", - "image 0.24.7", "instant", "jni", "lazy_static", @@ -8022,15 +7838,14 @@ dependencies = [ "objc", "once_cell", "parking_lot 0.12.1", - "png", "raw-window-handle", "scopeguard", - "serde", "tao-macros", "unicode-segmentation", - "uuid 1.10.0", - "windows 0.39.0", - "windows-implement 0.39.0", + "url", + "windows 0.58.0", + "windows-core", + "windows-version", "x11-dl", ] @@ -8064,89 +7879,83 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "1.7.2" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e33e3ba00a3b05eb6c57ef135781717d33728b48acf914bb05629e74d897d29" +checksum = "44438500b50708bfc1e6083844e135d1b516325aae58710dcd8fb67e050ae87c" dependencies = [ "anyhow", "bytes", - "cocoa", - "dirs-next", + "dirs", "dunce", "embed_plist", - "encoding_rs", - "flate2", "futures-util", "getrandom 0.2.11", - "glib", "glob", "gtk", "heck 0.5.0", - "http 0.2.9", - "ignore", - "indexmap 1.9.2", - "nix", - "notify-rust", - "objc", - "once_cell", - "open", - "os_info", - "os_pipe", + "http 1.1.0", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", "percent-encoding", - "rand 0.8.5", + "plist", "raw-window-handle", - "regex", - "reqwest 0.11.22", - "rfd", - "semver 1.0.16", + "reqwest 0.12.7", "serde", "serde_json", "serde_repr", "serialize-to-javascript", - "shared_child", - "state", - "sys-locale", - "tar", + "swift-rs", + "tauri-build", "tauri-macros", "tauri-runtime", "tauri-runtime-wry", "tauri-utils", - "tempfile", "thiserror", "tokio", + "tray-icon", "url", - "uuid 1.10.0", + "urlpattern", "webkit2gtk", "webview2-com", - "windows 0.39.0", + "window-vibrancy", + "windows 0.58.0", ] [[package]] name = "tauri-build" -version = "1.5.4" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fb5a90a64241ddb7217d3210d844149070a911e87e8a107a707a1d4973f164" +checksum = "935f9b3c49b22b3e2e485a57f46d61cd1ae07b1cbb2ba87387a387caf2d8c4e7" dependencies = [ "anyhow", "cargo_toml", - "dirs-next", + "dirs", + "glob", "heck 0.5.0", "json-patch", + "schemars", "semver 1.0.16", "serde", "serde_json", "tauri-utils", "tauri-winres", + "toml 0.8.19", "walkdir", ] [[package]] name = "tauri-codegen" -version = "1.4.5" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93a9e3f5cebf779a63bf24903e714ec91196c307d8249a0008b882424328bcda" +checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e" dependencies = [ - "base64 0.21.5", + "base64 0.22.1", "brotli", "ico", "json-patch", @@ -8154,99 +7963,163 @@ dependencies = [ "png", "proc-macro2", "quote", - "regex", "semver 1.0.16", "serde", "serde_json", "sha2 0.10.6", + "syn 2.0.79", "tauri-utils", "thiserror", "time", + "url", "uuid 1.10.0", "walkdir", ] [[package]] name = "tauri-macros" -version = "1.4.6" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d0e989f54fe06c5ef0875c5e19cf96453d099a0a774d5192ab47e80471cdab" +checksum = "4d2c0963ccfc3f5194415f2cce7acc975942a8797fbabfb0aa1ed6f59326ae7f" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", "tauri-codegen", "tauri-utils", ] [[package]] -name = "tauri-plugin-store" -version = "0.0.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v1#5c249a1a1076ac78cfc0ed4c2857cf7e2540b1cc" +name = "tauri-plugin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e6660a409963e4d57b9bfab4addd141eeff41bd3a7fb14e13004a832cf7ef6" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars", + "serde", + "serde_json", + "tauri-utils", + "toml 0.8.19", + "walkdir", +] + +[[package]] +name = "tauri-plugin-os" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc5f23a86f37687c7f4fecfdc706b279087bc44f7a46702f7307ff1551ee03a" dependencies = [ + "gethostname", "log", + "os_info", "serde", "serde_json", + "serialize-to-javascript", + "sys-locale", "tauri", + "tauri-plugin", "thiserror", ] [[package]] -name = "tauri-runtime" -version = "0.14.5" +name = "tauri-plugin-shell" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33fda7d213e239077fad52e96c6b734cecedb30c2382118b64f94cb5103ff3a" +checksum = "371fb9aca2823990a2d0db7970573be5fdf07881fcaa2b835b29631feb84aec1" dependencies = [ - "gtk", - "http 0.2.9", - "http-range", - "rand 0.8.5", + "encoding_rs", + "log", + "open", + "os_pipe", + "regex", + "schemars", + "serde", + "serde_json", + "shared_child", + "tauri", + "tauri-plugin", + "thiserror", + "tokio", +] + +[[package]] +name = "tauri-plugin-store" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5058f179f7215390fc5a68eeffcb805b7e2681d6e817a5d08094fae7ab649e68" +dependencies = [ + "dunce", + "log", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror", + "tokio", +] + +[[package]] +name = "tauri-runtime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8f437293d6f5e5dce829250f4dbdce4e0b52905e297a6689cc2963eb53ac728" +dependencies = [ + "dpi", + "gtk", + "http 1.1.0", + "jni", "raw-window-handle", "serde", "serde_json", "tauri-utils", "thiserror", "url", - "uuid 1.10.0", - "webview2-com", - "windows 0.39.0", + "windows 0.58.0", ] [[package]] name = "tauri-runtime-wry" -version = "0.14.10" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c447dcd9b0f09c7dc4b752cc33e72788805bfd761fbda5692d30c48289efec" +checksum = "1431602bcc71f2f840ad623915c9842ecc32999b867c4a787d975a17a9625cc6" dependencies = [ - "arboard", - "cocoa", "gtk", + "http 1.1.0", + "jni", + "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", "percent-encoding", - "rand 0.8.5", "raw-window-handle", + "softbuffer", + "tao", "tauri-runtime", "tauri-utils", - "uuid 1.10.0", + "url", "webkit2gtk", "webview2-com", - "windows 0.39.0", + "windows 0.58.0", "wry", ] [[package]] name = "tauri-utils" -version = "1.6.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0c939e88d82903a0a7dfb28388b12a3c03504d6bd6086550edaa3b6d8beaa" +checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045" dependencies = [ "brotli", + "cargo_metadata", "ctor", "dunce", "glob", - "heck 0.5.0", "html5ever", - "infer 0.13.0", + "infer", "json-patch", "kuchikiki", "log", @@ -8254,14 +8127,20 @@ dependencies = [ "phf 0.11.2", "proc-macro2", "quote", + "regex", + "schemars", "semver 1.0.16", "serde", + "serde-untagged", "serde_json", "serde_with", + "swift-rs", "thiserror", + "toml 0.8.19", "url", + "urlpattern", + "uuid 1.10.0", "walkdir", - "windows-version", ] [[package]] @@ -8274,17 +8153,6 @@ dependencies = [ "toml 0.7.8", ] -[[package]] -name = "tauri-winrt-notification" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58de036c4d2e20717024de2a3c4bf56c301f07b21bc8ef9b57189fce06f1f3b" -dependencies = [ - "quick-xml 0.23.1", - "strum", - "windows 0.39.0", -] - [[package]] name = "temp-env" version = "0.3.6" @@ -8311,9 +8179,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", - "fastrand 2.0.1", + "fastrand", "once_cell", - "rustix 0.38.31", + "rustix", "windows-sys 0.59.0", ] @@ -8601,6 +8469,17 @@ dependencies = [ "winnow 0.5.40", ] +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.40", +] + [[package]] name = "toml_edit" version = "0.22.20" @@ -8653,7 +8532,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "bytes", "futures-util", "http 1.1.0", @@ -8871,17 +8750,24 @@ dependencies = [ ] [[package]] -name = "tree_magic_mini" -version = "3.1.5" +name = "tray-icon" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469a727cac55b41448315cc10427c069c618ac59bb6a4480283fcd811749bdc2" +checksum = "7c92af36a182b46206723bdf8a7942e20838cde1cf062e5b97854d57eb01763b" dependencies = [ - "fnv", - "home", - "memchr", - "nom", + "core-graphics", + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", - "petgraph 0.6.5", + "png", + "serde", + "thiserror", + "windows-sys 0.59.0", ] [[package]] @@ -8922,14 +8808,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] -name = "uds_windows" -version = "1.1.0" +name = "unic-char-property" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" dependencies = [ - "memoffset 0.9.1", - "tempfile", - "winapi", + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", ] [[package]] @@ -8964,9 +8880,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" @@ -9052,6 +8968,18 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + [[package]] name = "user-facing-error-macros" version = "0.1.0" @@ -9191,12 +9119,6 @@ dependencies = [ "piston-float", ] -[[package]] -name = "version-compare" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" - [[package]] name = "version-compare" version = "0.2.0" @@ -9235,12 +9157,6 @@ dependencies = [ "libc", ] -[[package]] -name = "waker-fn" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" - [[package]] name = "walkdir" version = "2.5.0" @@ -9281,34 +9197,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.79" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.79" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", - "lazy_static", "log", + "once_cell", "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.29" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -9318,9 +9235,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.79" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9328,28 +9245,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.79" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.79" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-streams" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" dependencies = [ "futures-util", "js-sys", @@ -9358,84 +9275,11 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wayland-backend" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" -dependencies = [ - "cc", - "downcast-rs", - "rustix 0.38.31", - "scoped-tls", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-client" -version = "0.31.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3f45d1222915ef1fd2057220c1d9d9624b7654443ea35c3877f7a52bd0a5a2d" -dependencies = [ - "bitflags 2.4.0", - "rustix 0.38.31", - "wayland-backend", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols" -version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" -dependencies = [ - "bitflags 2.4.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" -dependencies = [ - "bitflags 2.4.0", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" -dependencies = [ - "proc-macro2", - "quick-xml 0.36.1", - "quote", -] - -[[package]] -name = "wayland-sys" -version = "0.31.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" -dependencies = [ - "dlib", - "log", - "pkg-config", -] - [[package]] name = "web-sys" -version = "0.3.56" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -9443,9 +9287,9 @@ dependencies = [ [[package]] name = "webkit2gtk" -version = "0.18.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" +checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" dependencies = [ "bitflags 1.3.2", "cairo-rs", @@ -9461,20 +9305,18 @@ dependencies = [ "javascriptcore-rs", "libc", "once_cell", - "soup2", + "soup3", "webkit2gtk-sys", ] [[package]] name = "webkit2gtk-sys" -version = "0.18.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" +checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" dependencies = [ - "atk-sys", "bitflags 1.3.2", "cairo-sys-rs", - "gdk-pixbuf-sys", "gdk-sys", "gio-sys", "glib-sys", @@ -9482,10 +9324,9 @@ dependencies = [ "gtk-sys", "javascriptcore-rs-sys", "libc", - "pango-sys", "pkg-config", - "soup2-sys", - "system-deps 6.2.2", + "soup3-sys", + "system-deps", ] [[package]] @@ -9494,7 +9335,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f53152f51fb5af0c08484c33d16cca96175881d1f3dec068c23b31a158c2d99" dependencies = [ - "image 0.25.2", + "image", "libwebp-sys", ] @@ -9509,40 +9350,38 @@ dependencies = [ [[package]] name = "webview2-com" -version = "0.19.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" +checksum = "6f61ff3d9d0ee4efcb461b14eb3acfda2702d10dc329f339303fc3e57215ae2c" dependencies = [ "webview2-com-macros", "webview2-com-sys", - "windows 0.39.0", - "windows-implement 0.39.0", + "windows 0.58.0", + "windows-core", + "windows-implement", + "windows-interface", ] [[package]] name = "webview2-com-macros" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" +checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.79", ] [[package]] name = "webview2-com-sys" -version = "0.19.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" +checksum = "a3a3e2eeb58f82361c93f9777014668eb3d07e7d174ee4c819575a9208011886" dependencies = [ - "regex", - "serde", - "serde_json", "thiserror", - "windows 0.39.0", - "windows-bindgen", - "windows-metadata", + "windows 0.58.0", + "windows-core", ] [[package]] @@ -9600,30 +9439,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" -dependencies = [ - "windows_aarch64_msvc 0.37.0", - "windows_i686_gnu 0.37.0", - "windows_i686_msvc 0.37.0", - "windows_x86_64_gnu 0.37.0", - "windows_x86_64_msvc 0.37.0", -] - -[[package]] -name = "windows" -version = "0.39.0" +name = "window-vibrancy" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" +checksum = "3ea403deff7b51fff19e261330f71608ff2cdef5721d72b64180bb95be7c4150" dependencies = [ - "windows-implement 0.39.0", - "windows_aarch64_msvc 0.39.0", - "windows_i686_gnu 0.39.0", - "windows_i686_msvc 0.39.0", - "windows_x86_64_gnu 0.39.0", - "windows_x86_64_msvc 0.39.0", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", ] [[package]] @@ -9645,39 +9471,19 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-bindgen" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" -dependencies = [ - "windows-metadata", - "windows-tokens", -] - [[package]] name = "windows-core" version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement 0.58.0", + "windows-implement", "windows-interface", "windows-result", "windows-strings", "windows-targets 0.52.6", ] -[[package]] -name = "windows-implement" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" -dependencies = [ - "syn 1.0.107", - "windows-tokens", -] - [[package]] name = "windows-implement" version = "0.58.0" @@ -9700,12 +9506,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "windows-metadata" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" - [[package]] name = "windows-registry" version = "0.2.0" @@ -9833,12 +9633,6 @@ dependencies = [ "windows_x86_64_msvc 0.52.6", ] -[[package]] -name = "windows-tokens" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" - [[package]] name = "windows-version" version = "0.1.1" @@ -9866,18 +9660,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" - [[package]] name = "windows_aarch64_msvc" version = "0.42.1" @@ -9896,18 +9678,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" - -[[package]] -name = "windows_i686_gnu" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" - [[package]] name = "windows_i686_gnu" version = "0.42.1" @@ -9932,18 +9702,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" - -[[package]] -name = "windows_i686_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" - [[package]] name = "windows_i686_msvc" version = "0.42.1" @@ -9962,18 +9720,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" - [[package]] name = "windows_x86_64_gnu" version = "0.42.1" @@ -10010,18 +9756,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" - [[package]] name = "windows_x86_64_msvc" version = "0.42.1" @@ -10040,15 +9774,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.5.40" @@ -10087,62 +9812,45 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "wl-clipboard-rs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57af79e973eadf08627115c73847392e6b766856ab8e3844a59245354b23d2fa" -dependencies = [ - "derive-new", - "libc", - "log", - "nix", - "os_pipe", - "tempfile", - "thiserror", - "tree_magic_mini", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-protocols-wlr", -] - [[package]] name = "wry" -version = "0.24.11" +version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55c80b12287eb1ff7c365fc2f7a5037cb6181bd44c9fce81c8d1cf7605ffad6" +checksum = "2f8c948dc5f7c23bd93ba03b85b7f679852589bb78e150424d993171e4ef7b73" dependencies = [ - "base64 0.13.1", - "block", - "cocoa", - "core-graphics 0.22.3", + "base64 0.22.1", + "block2", "crossbeam-channel", + "dpi", "dunce", - "gdk", - "gio", - "glib", + "gdkx11", "gtk", "html5ever", - "http 0.2.9", + "http 1.1.0", + "javascriptcore-rs", + "jni", "kuchikiki", "libc", - "log", - "objc", - "objc_id", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", "once_cell", - "serde", - "serde_json", + "percent-encoding", + "raw-window-handle", "sha2 0.10.6", - "soup2", - "tao", + "soup3", + "tao-macros", "thiserror", - "url", "webkit2gtk", "webkit2gtk-sys", "webview2-com", - "windows 0.39.0", - "windows-implement 0.39.0", + "windows 0.58.0", + "windows-core", + "windows-version", + "x11-dl", ] [[package]] @@ -10157,32 +9865,15 @@ dependencies = [ [[package]] name = "x11-dl" -version = "2.20.1" +version = "2.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" dependencies = [ - "lazy_static", "libc", + "once_cell", "pkg-config", ] -[[package]] -name = "x11rb" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" -dependencies = [ - "gethostname", - "rustix 0.38.31", - "x11rb-protocol", -] - -[[package]] -name = "x11rb-protocol" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" - [[package]] name = "xattr" version = "0.2.3" @@ -10192,16 +9883,6 @@ dependencies = [ "libc", ] -[[package]] -name = "xdg-home" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "xml-rs" version = "0.8.21" @@ -10214,61 +9895,6 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" -[[package]] -name = "zbus" -version = "3.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c3d77c9966c28321f1907f0b6c5a5561189d1f7311eea6d94180c6be9daab29" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "byteorder", - "derivative", - "enumflags2", - "event-listener 2.5.3", - "futures-core", - "futures-sink", - "futures-util", - "hex", - "nix", - "once_cell", - "ordered-stream", - "rand 0.8.5", - "serde", - "serde_repr", - "sha1", - "static_assertions", - "tracing", - "uds_windows", - "winapi", - "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "3.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e341d12edaff644e539ccbbf7f161601294c9a84ed3d7e015da33155b435af" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "syn 1.0.107", - "winnow 0.4.1", - "zvariant_utils", -] - [[package]] name = "zbus_names" version = "2.6.1" @@ -10366,7 +9992,7 @@ version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn 1.0.107", diff --git a/Cargo.toml b/Cargo.toml index 897c034f9..26b257a09 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,12 +14,14 @@ rust-version = "1.81.0" [workspace.dependencies] async-trait = "0.1.81" async-stream = "0.3.5" +base64 = "0.22.1" bcrypt = "0.15.1" derive_builder = "0.20.0" chrono = { version = "0.4.38", features = ["serde"] } futures = "0.3.30" futures-util = "0.3.30" itertools = "0.13.0" +keyring = { version = "3.4.0", features = ["apple-native", "windows-native", "sync-secret-service"] } lettre = { version = "0.11.4", default-features = false, features = [ "builder", "hostname", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7b62f6bc7..7be3aa253 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -11,9 +11,10 @@ "start-bundled": "yarn tauri dev --no-watch -- --features bundled-server", "vite": "vite --", "dev": "tauri dev", - "build": "vite build && tauri build", - "build:mac-universal": "vite build && tauri build --target universal-apple-darwin -- --features bundled-server", - "build:mac-arm": "vite build && tauri build --target aarch64-apple-darwin -- --features bundled-server", + "build": "tauri build", + "build:mac-universal": "tauri build --target universal-apple-darwin -- --features bundled-server", + "build:mac-arm": "tauri build --target aarch64-apple-darwin -- --features bundled-server", + "build:windows": "tauri build --target x86_64-pc-windows-msvc -- --features bundled-server", "nuke": "yarn exec rimraf node_modules" }, "dependencies": { @@ -21,16 +22,17 @@ "@stump/client": "*", "@stump/sdk": "*", "@tanstack/react-query": "^4.28.0", - "@tauri-apps/api": "^1.6.0", + "@tauri-apps/plugin-os": "^2.0.0", + "@tauri-apps/plugin-store": "^2.0.0", "react": "^18.2.0", - "react-dom": "^18.2.0", - "tauri-plugin-store-api": "https://github.com/tauri-apps/tauri-plugin-store#v1" + "react-dom": "^18.2.0" }, "devDependencies": { "@tailwindcss/typography": "^0.5.10", - "@tauri-apps/cli": "^1.6.1", - "@types/react": "^18.2.29", - "@types/react-dom": "^18.2.14", + "@tauri-apps/api": "^2.0.2", + "@tauri-apps/cli": "^2.0.3", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.1.0", "autoprefixer": "^10.4.16", "postcss": "^8.4.31", diff --git a/apps/desktop/src-tauri/.gitignore b/apps/desktop/src-tauri/.gitignore new file mode 100644 index 000000000..48bc8f223 --- /dev/null +++ b/apps/desktop/src-tauri/.gitignore @@ -0,0 +1,3 @@ +# Generated by Tauri +# will have schema files for capabilities auto-completion +/gen/schemas \ No newline at end of file diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index eaf3fb3ac..83abe8bf1 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -7,30 +7,29 @@ license = "MIT" edition = "2021" [build-dependencies] -tauri-build = { version = "1.5.4", features = [] } +tauri-build = { version = "2.0.1", features = [] } [dependencies] stump_server = { path = "../../server", optional = true } discord-rich-presence = "0.2.3" +keyring = { workspace = true } serde_json = { workspace = true } serde = { workspace = true } specta = { workspace = true } thiserror = { workspace = true } -tauri = { version = "1.7.2", features = ["api-all", "devtools"] } +tauri = { version = "2.0.4", features = [ "devtools"] } tracing = { workspace = true } -# TODO: figure out which version of tauri-plugin-store to use -tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } +tauri-plugin-store = "2.0.1" # See https://github.com/dbus2/zbus/issues/667 zbus_names = "=2.6.1" +tauri-plugin-os = "2.0.0" +tauri-plugin-shell = "2" # TODO(?): https://github.com/Smithay/wayland-rs/pull/722 +[dev-dependencies] +tokio = { workspace = true, features = ["full"] } + [features] -# by default Tauri runs in production mode -# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL -default = [ "custom-protocol" ] -# this feature is used used for production builds where `devPath` points to the filesystem -# DO NOT remove this -custom-protocol = [ "tauri/custom-protocol" ] # This feature will bundle the Stump server with the desktop app, allowing the user to use the desktop app # as their dedicated server instance. bundled-server = [ "dep:stump_server" ] diff --git a/apps/desktop/src-tauri/capabilities/default.json b/apps/desktop/src-tauri/capabilities/default.json new file mode 100644 index 000000000..8460c27ff --- /dev/null +++ b/apps/desktop/src-tauri/capabilities/default.json @@ -0,0 +1,13 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "Capability for the main window", + "windows": ["main"], + "permissions": [ + "core:default", + "core:window:default", + "core:window:allow-start-dragging", + "shell:allow-open", + "store:default" + ] +} diff --git a/apps/desktop/src-tauri/src/commands.rs b/apps/desktop/src-tauri/src/commands.rs index 1bff0364a..8860248ea 100644 --- a/apps/desktop/src-tauri/src/commands.rs +++ b/apps/desktop/src-tauri/src/commands.rs @@ -1,19 +1,33 @@ use serde::Serialize; -use tauri::{Manager, State}; +use tauri::{AppHandle, State}; -use crate::{state::WrappedState, utils::discord::DiscordIntegrationError}; +use crate::{ + state::WrappedState, + store::{ + app_store::AppStoreExt, + secure_store::{CredentialStoreTokenState, SecureStore, SecureStoreError}, + AppStore, StoreError, + }, + utils::discord::DiscordIntegrationError, +}; /// An error type for the desktop RPC commands. #[derive(Debug, Serialize, thiserror::Error)] pub enum DeskopRPCError { #[error("Failed to get state in handler")] MutexPoisoned, - #[error("Failed action on window")] - WindowOperationFailed, - #[error("Window not found")] - WindowMissing, #[error("{0}")] DiscordError(#[from] DiscordIntegrationError), + #[error("{0}")] + CredentialsError(String), + #[error("{0}")] + StoreError(#[from] StoreError), +} + +impl From for DeskopRPCError { + fn from(error: SecureStoreError) -> Self { + Self::CredentialsError(error.to_string()) + } } #[tauri::command] @@ -51,20 +65,78 @@ pub fn set_discord_presence( } #[tauri::command] -pub async fn close_splashscreen(window: tauri::Window) -> Result<(), DeskopRPCError> { - if let Some(splashscreen) = window.get_window("splashscreen") { - splashscreen - .close() - .map_err(|_| DeskopRPCError::WindowOperationFailed)?; - } +pub async fn get_current_server( + app_handle: AppHandle, +) -> Result, DeskopRPCError> { + let store = AppStore::load_store(&app_handle)?; + let server = store.get_active_server(); + Ok(server.map(|s| s.name)) +} + +#[tauri::command] +pub async fn init_credential_store( + state: State<'_, WrappedState>, + app_handle: AppHandle, +) -> Result<(), DeskopRPCError> { + let mut state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; + let store = AppStore::load_store(&app_handle)?; + + let servers = store.get_servers(); + let server_names = servers.iter().map(|s| s.name.clone()).collect(); - let Some(main_window) = window.get_window("main") else { - return Err(DeskopRPCError::WindowMissing); - }; + let secure_store = SecureStore::init(server_names)?; + state.secure_store.replace(secure_store); - main_window - .show() - .map_err(|_| DeskopRPCError::WindowOperationFailed)?; + Ok(()) +} +#[tauri::command] +pub async fn get_credential_store_state( + state: State<'_, WrappedState>, +) -> Result { + let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; + Ok(state.secure_store.get_login_state()) +} + +#[tauri::command] +pub async fn get_api_token( + server: String, + state: State<'_, WrappedState>, +) -> Result, DeskopRPCError> { + let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; + + let token = state.secure_store.get_api_token(server)?; + + Ok(token) +} + +#[tauri::command] +pub async fn set_api_token( + server: String, + token: String, + state: State<'_, WrappedState>, +) -> Result<(), DeskopRPCError> { + let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; + + state.secure_store.set_api_token(server, token)?; + + Ok(()) +} + +#[tauri::command] +pub async fn delete_api_token( + server: String, + state: State<'_, WrappedState>, +) -> Result { + let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; + Ok(state.secure_store.delete_api_token(server)?) +} + +#[tauri::command] +pub async fn clear_credential_store( + state: State<'_, WrappedState>, +) -> Result<(), DeskopRPCError> { + let mut state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; + state.secure_store.clear(); Ok(()) } diff --git a/apps/desktop/src-tauri/src/main.rs b/apps/desktop/src-tauri/src/main.rs index 5b354e3de..8f92c5343 100644 --- a/apps/desktop/src-tauri/src/main.rs +++ b/apps/desktop/src-tauri/src/main.rs @@ -3,9 +3,6 @@ windows_subsystem = "windows" )] -// TODO: https://github.com/tauri-apps/tauri-plugin-store -// TODO: https://tauri.app/v1/guides/features/menu - mod commands; mod error; mod state; @@ -17,13 +14,15 @@ use store::AppStore; use state::AppState; -use commands::{close_splashscreen, set_discord_presence, set_use_discord_connection}; +use commands::{ + clear_credential_store, delete_api_token, get_api_token, get_credential_store_state, + get_current_server, init_credential_store, set_api_token, set_discord_presence, + set_use_discord_connection, +}; #[cfg(feature = "bundled-server")] use stump_server::{bootstrap_http_server_config, run_http_server}; -// TODO: https://github.com/tauri-apps/tauri/issues/2663 - fn setup_app(app: &mut tauri::App) -> Result<(), Box> { let _app_store = AppStore::init(app)?; @@ -52,17 +51,30 @@ fn setup_app(app: &mut tauri::App) -> Result<(), Box> { Ok(()) } +// TODO(titlebar): https://v2.tauri.app/plugin/window-customization/#macos-transparent-titlebar-with-custom-window-background-color +// See also https://github.com/tauri-apps/tauri/issues/2663 + +// TODO(system-tray): https://v2.tauri.app/plugin/system-tray/ + fn main() { let app_state = AppState::new().expect("Failed to initialize application state"); tauri::Builder::default() + .plugin(tauri_plugin_shell::init()) + .plugin(tauri_plugin_os::init()) .plugin(tauri_plugin_store::Builder::default().build()) .setup(setup_app) .manage(Arc::new(Mutex::new(app_state))) .invoke_handler(tauri::generate_handler![ set_use_discord_connection, set_discord_presence, - close_splashscreen + get_current_server, + init_credential_store, + get_api_token, + set_api_token, + delete_api_token, + clear_credential_store, + get_credential_store_state ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); @@ -77,7 +89,7 @@ mod tests { NamedType, }; - use crate::store::{app_store::*, saved_server::*}; + use crate::store::{app_store::*, saved_server::*, secure_store::*}; #[allow(dead_code)] fn ts_export() -> Result @@ -111,6 +123,10 @@ mod tests { file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; + file.write_all( + format!("{}\n\n", ts_export::()?).as_bytes(), + )?; + Ok(()) } } diff --git a/apps/desktop/src-tauri/src/state.rs b/apps/desktop/src-tauri/src/state.rs index 27cb609f0..87abf430c 100644 --- a/apps/desktop/src-tauri/src/state.rs +++ b/apps/desktop/src-tauri/src/state.rs @@ -1,15 +1,20 @@ use std::sync::{Arc, Mutex}; -use crate::{error::DesktopError, utils::discord::StumpDiscordPresence}; +use crate::{ + error::DesktopError, store::secure_store::SecureStore, + utils::discord::StumpDiscordPresence, +}; pub struct AppState { pub discord_client: StumpDiscordPresence, + pub secure_store: SecureStore, } impl AppState { pub fn new() -> Result { Ok(Self { discord_client: StumpDiscordPresence::new()?, + secure_store: SecureStore::default(), }) } } diff --git a/apps/desktop/src-tauri/src/store/app_store.rs b/apps/desktop/src-tauri/src/store/app_store.rs index f81490a94..b01264032 100644 --- a/apps/desktop/src-tauri/src/store/app_store.rs +++ b/apps/desktop/src-tauri/src/store/app_store.rs @@ -1,11 +1,13 @@ use serde::Serialize; use specta::Type; -use tauri::App; -use tauri_plugin_store::StoreBuilder; +use tauri::{App, AppHandle, Manager, Wry}; +use tauri_plugin_store::{Store, StoreExt}; use super::saved_server::SavedServer; -#[derive(Debug, thiserror::Error)] +pub const STORE_FILE: &str = "settings.json"; + +#[derive(Debug, Serialize, thiserror::Error)] pub enum StoreError { #[error("Failed to load store")] StoreLoadError, @@ -21,41 +23,29 @@ pub struct AppStore { } impl AppStore { - pub fn init(app_handle: &mut App) -> Result { + pub fn load_store(handle: &AppHandle) -> Result, StoreError> { + let path = handle + .path() + .app_config_dir() + .map_err(|_| StoreError::StoreLoadError)? + .join(STORE_FILE); + // Init store and load it from disk - let mut store = StoreBuilder::new( - app_handle.handle(), - "settings.json" - .parse() - .map_err(|_| StoreError::StoreLoadError)?, - ) - .build(); + let store = handle.store_builder(path).build(); + // TODO(tauri-v2): Still necessary? // If there are no saved settings yet, this will return an error so we ignore the return value. let _ = store.load(); - let active_server = store - .get("active_server") - .cloned() - .map(SavedServer::try_from) - .transpose() - .unwrap_or_else(|error| { - tracing::error!(?error, "Failed to parse active server"); - None - }); + Ok(store) + } - let connected_servers = store - .get("connected_servers") - .cloned() - .and_then(|s| s.as_array().cloned()) - .map(SavedServer::from_vec) - .unwrap_or_default(); + pub fn init(app: &mut App) -> Result { + let store = Self::load_store(app.handle())?; - let run_bundled_server = store - .get("run_bundled_server") - .cloned() - .and_then(|s| s.as_bool()) - .unwrap_or(false); + let active_server = store.get_active_server(); + let connected_servers = store.get_servers(); + let run_bundled_server = store.get_run_bundled_server(); Ok(Self { active_server, @@ -64,3 +54,34 @@ impl AppStore { }) } } + +pub trait AppStoreExt { + fn get_servers(&self) -> Vec; + fn get_active_server(&self) -> Option; + fn get_run_bundled_server(&self) -> bool; +} + +impl AppStoreExt for Store { + fn get_servers(&self) -> Vec { + self.get("connected_servers") + .and_then(|s| s.as_array().cloned()) + .map(SavedServer::from_vec) + .unwrap_or_default() + } + + fn get_active_server(&self) -> Option { + self.get("active_server") + .map(SavedServer::try_from) + .transpose() + .unwrap_or_else(|error| { + tracing::error!(?error, "Failed to parse active server"); + None + }) + } + + fn get_run_bundled_server(&self) -> bool { + self.get("run_bundled_server") + .and_then(|s| s.as_bool()) + .unwrap_or(false) + } +} diff --git a/apps/desktop/src-tauri/src/store/mod.rs b/apps/desktop/src-tauri/src/store/mod.rs index f4f83d8cc..38d59e9ce 100644 --- a/apps/desktop/src-tauri/src/store/mod.rs +++ b/apps/desktop/src-tauri/src/store/mod.rs @@ -1,4 +1,5 @@ pub(crate) mod app_store; pub(crate) mod saved_server; +pub(crate) mod secure_store; pub use app_store::{AppStore, StoreError}; diff --git a/apps/desktop/src-tauri/src/store/secure_store.rs b/apps/desktop/src-tauri/src/store/secure_store.rs new file mode 100644 index 000000000..ef0509f62 --- /dev/null +++ b/apps/desktop/src-tauri/src/store/secure_store.rs @@ -0,0 +1,259 @@ +use std::collections::HashMap; + +use keyring::Entry; +use serde::{Deserialize, Serialize}; +use specta::Type; + +const STORAGE_USER: &str = "stump-desktop-operator"; + +#[derive(Debug, thiserror::Error)] +pub enum SecureStoreError { + #[error("Keyring error: {0}")] + KeyringError(#[from] keyring::Error), + #[error("Entry missing")] + EntryMissing, +} + +type ServerName = String; + +#[derive(Default)] +pub struct SecureStore { + records: HashMap, +} + +impl std::fmt::Debug for SecureStore { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("SecureStore") + .field("records", &self.records.keys().collect::>()) + .finish() + } +} + +#[derive(Debug, Serialize, Deserialize, Type)] +pub struct CredentialStoreTokenState(HashMap); + +// TODO: it would be nice to manage refreshes as well as expiration times? + +/// A secure store for API tokens **scoped to a user**. This store allows for managing multiple tokens +/// for different servers, however they are all assumed to be for the same user. When the frontend logs a user +/// out, the store should be reinitialized via [`SecureStore::init`] once reauthenticated. +impl SecureStore { + /// Create a new entry in the store for the given server. This should be called once the servers are loaded + /// If a server did not exist before this store was initialized, it should be added via this function to ensure + /// the store is up to date. If that step is skipped, the store will continue throwing [`SecureStoreError::EntryMissing`] + /// until the entry is created. + pub fn create_entry(&mut self, server: ServerName) -> Result<(), SecureStoreError> { + let entry = Entry::new_with_target("user", &server, STORAGE_USER)?; + self.records.insert(server.clone(), entry); + Ok(()) + } + + /// Initialize the store with entries for the given servers. This should be called each time a user logs in + pub fn init(servers: Vec) -> Result { + let mut store = SecureStore::default(); + for server in servers { + store.create_entry(server)?; + } + Ok(store) + } + + /// Clear all entries from the store, effectively logging the user out + pub fn clear(&mut self) { + self.records.clear(); + } + + /// Replace the store with a new one (e.g. after reauthenticating) + pub fn replace(&mut self, new_store: SecureStore) { + self.records = new_store.records; + } + + /// Return a record which indicates servers with/without tokens + pub fn get_login_state(&self) -> CredentialStoreTokenState { + CredentialStoreTokenState( + self.records + .iter() + .map(|(server, entry)| { + let has_token = entry.get_password().is_ok(); + (server.clone(), has_token) + }) + .collect(), + ) + } + + /// Get the API token for the given server, if it exists + pub fn get_api_token( + &self, + server: ServerName, + ) -> Result, SecureStoreError> { + let entry = self + .records + .get(&server) + .ok_or(SecureStoreError::EntryMissing)?; + match entry.get_password() { + Ok(token) => Ok(Some(token)), + Err(keyring::Error::NoEntry) => Ok(None), + Err(e) => Err(e.into()), + } + } + + /// Set the API token for the given server + pub fn set_api_token( + &self, + server: ServerName, + token: String, + ) -> Result<(), SecureStoreError> { + let entry = self + .records + .get(&server) + .ok_or(SecureStoreError::EntryMissing)?; + entry.set_password(&token)?; + Ok(()) + } + + /// Delete the API token for the given server + pub fn delete_api_token(&self, server: ServerName) -> Result { + let entry = self + .records + .get(&server) + .ok_or(SecureStoreError::EntryMissing)?; + match entry.delete_credential() { + Ok(_) => Ok(true), + Err(keyring::Error::NoEntry) => Ok(false), + Err(e) => Err(e.into()), + } + } +} + +// NOTE: The following tests are ignored because they require a running keyring service / daemon +// which is not available in CI right now. These tests are important and should be fixed in the future. + +#[cfg(test)] +mod tests { + use super::*; + + #[ignore] + #[test] + fn test_get_api_token_none() { + let store = SecureStore::init(vec!["homeserver".to_string()]) + .expect("Failed to init store"); + + let token = store + .get_api_token("homeserver".to_string()) + .expect("Failed to get token"); + + assert_eq!(token, None); + } + + #[ignore] + #[test] + fn test_get_api_token_some() { + let store = SecureStore::init(vec!["homeserver".to_string()]) + .expect("Failed to init store"); + // Update the entry with a token + store + .set_api_token( + "homeserver".to_string(), + "definitely-real-token".to_string(), + ) + .expect("Failed to set token"); + // Get the token (should be Some now) + let token = store + .get_api_token("homeserver".to_string()) + .expect("Failed to get token") + .expect("Token missing"); + + assert_eq!(token, "definitely-real-token"); + } + + #[ignore] + #[test] + fn test_delete_api_token() { + let store = SecureStore::init(vec!["homeserver".to_string()]) + .expect("Failed to init store"); + // Update the entry with a token + store + .set_api_token( + "homeserver".to_string(), + "definitely-real-token".to_string(), + ) + .expect("Failed to set token"); + // Delete the token + store + .delete_api_token("homeserver".to_string()) + .expect("Failed to delete token"); + // Get the token (should be None now) + let token = store + .get_api_token("homeserver".to_string()) + .expect("Failed to get token"); + + assert_eq!(token, None); + } + + #[ignore] + #[test] + fn test_replace() { + let mut store = SecureStore::init(vec!["homeserver".to_string()]) + .expect("Failed to init store"); + // Update the entry with a token + store + .set_api_token( + "homeserver".to_string(), + "definitely-real-token".to_string(), + ) + .expect("Failed to set token"); + + let new_store = SecureStore::init(vec!["homeserver".to_string()]) + .expect("Failed to init store"); + // Update the entry with a token + new_store + .set_api_token( + "homeserver".to_string(), + "new-definitely-real-token".to_string(), + ) + .expect("Failed to set token"); + + store.replace(new_store); + + let token = store + .get_api_token("homeserver".to_string()) + .expect("Failed to get token") + .expect("Token missing"); + + assert_eq!(token, "new-definitely-real-token"); + } + + #[ignore] + #[test] + fn test_create_entry() { + let mut store = SecureStore::default(); + assert!(store.records.is_empty()); + + store + .create_entry("homeserver".to_string()) + .expect("Failed to create entry"); + + assert_eq!(store.records.len(), 1); + } + + #[ignore] + #[test] + fn test_clear() { + let mut store = SecureStore::default(); + store + .create_entry("homeserver".to_string()) + .expect("Failed to create entry"); + + store.clear(); + + assert!(store.records.is_empty()); + } + + #[ignore] + #[test] + fn test_init() { + let store = SecureStore::init(vec!["homeserver".to_string()]) + .expect("Failed to init store"); + + assert_eq!(store.records.len(), 1); + } +} diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index cbc5411f0..6076bbbe7 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -1,58 +1,34 @@ { - "$schema": "../node_modules/@tauri-apps/cli/schema.json", + "$schema": "https://schema.tauri.app/config/2", "build": { "beforeDevCommand": "yarn vite --clearScreen=false", - "devPath": "http://localhost:3000", - "distDir": "../dist", - "withGlobalTauri": true + "devUrl": "http://localhost:3000", + "frontendDist": "../dist" }, - "package": { - "productName": "Stump", - "version": "0.0.0" + "bundle": { + "active": true, + "category": "DeveloperTool", + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": null + } }, - "tauri": { - "allowlist": { - "all": true - }, - "bundle": { - "active": true, - "category": "DeveloperTool", - "copyright": "", - "deb": { - "depends": [] - }, - "externalBin": [], - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "identifier": "com.oromei.stump", - "longDescription": "", - "macOS": { - "entitlements": null, - "exceptionDomain": "", - "frameworks": [], - "providerShortName": null, - "signingIdentity": null - }, - "resources": [], - "shortDescription": "", - "targets": "all", - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "" - } - }, - "security": { - "csp": null - }, - "updater": { - "active": false - }, + "productName": "Stump", + "mainBinaryName": "Stump", + "version": "0.0.0", + "identifier": "com.oromei.stump", + "plugins": {}, + "app": { + "withGlobalTauri": true, "windows": [ { "fullscreen": false, @@ -64,6 +40,9 @@ "transparent": false, "center": true } - ] + ], + "security": { + "csp": null + } } } diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index e1c518d78..1a3269644 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -1,14 +1,20 @@ import { StumpWebClient } from '@stump/browser' -import { Platform } from '@stump/client' -import { SavedServer } from '@stump/sdk' -import { useEffect, useState } from 'react' -import { Store } from 'tauri-plugin-store-api' +import { DesktopAppContext, Platform, useDesktopAppContext } from '@stump/client' +import { SavedServer, User } from '@stump/sdk' +import { createStore, Store } from '@tauri-apps/plugin-store' +import { useCallback, useEffect, useState } from 'react' import { useTauriRPC } from './utils' -const store = new Store('settings.json') +// It looks like Apple fully blocks non-local IP addresses now. This is actually infuriating. OH WELL. +// There really isn't much to do? Anyone using the desktop app on macOS and wants to connect outside their local +// network will have to setup a domain name and use HTTPS. When I catch you, Apple *shakes fist* +// See: +// - https://developer.apple.com/documentation/security/preventing-insecure-network-connections +// - https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity -export default function App() { +function App() { + const { store } = useDesktopAppContext() const { getNativePlatform, ...tauriRPC } = useTauriRPC() const [platform, setPlatform] = useState('unknown') @@ -21,6 +27,7 @@ export default function App() { useEffect(() => { async function init() { try { + await tauriRPC.initCredentialStore() const platform = await getNativePlatform() const activeServer = await store.get('active_server') if (activeServer) { @@ -37,12 +44,74 @@ export default function App() { if (!mounted) { init() } - }, [getNativePlatform, mounted]) + }, [getNativePlatform, mounted, tauriRPC, store]) + + const handleAuthenticated = useCallback( + async (_user: User, token?: string) => { + try { + const currentServer = await store.get('active_server') + if (token && currentServer) { + console.debug('Saving API token for', currentServer.name) + await tauriRPC.setApiToken(currentServer.name, token) + } + } catch (err) { + console.error('Failed to initialize the credential store', err) + } + }, + [tauriRPC, store], + ) + + const handleLogout = useCallback(async () => { + try { + const currentServer = await store.get('active_server') + if (currentServer) { + await tauriRPC.deleteApiToken(currentServer.name) + } else { + await tauriRPC.clearCredentialStore() + } + } catch (err) { + console.error('Failed to clear credential store', err) + } + }, [tauriRPC, store]) // I want to wait until platform is properly set before rendering the app if (!mounted) { return null } - return + return ( + + ) +} + +export default function AppEntry() { + const [store, setStore] = useState() + + useEffect(() => { + const init = async () => { + setStore(await createStore('settings.json')) + } + + if (!store) { + init() + } + }, [store]) + + if (!store) { + return null + } + + return ( + + + + ) } diff --git a/apps/desktop/src/utils/useTauriRPC.ts b/apps/desktop/src/utils/useTauriRPC.ts index 171a9dbfd..cce9c5785 100644 --- a/apps/desktop/src/utils/useTauriRPC.ts +++ b/apps/desktop/src/utils/useTauriRPC.ts @@ -1,5 +1,7 @@ import { Platform, TauriRPC } from '@stump/client' -import { invoke, os } from '@tauri-apps/api' +import { CredentialStoreTokenState } from '@stump/sdk' +import { invoke } from '@tauri-apps/api/core' +import * as os from '@tauri-apps/plugin-os' type Return = TauriRPC & { getNativePlatform: () => Promise @@ -15,10 +17,11 @@ export function useTauriRPC(): Return { */ const getNativePlatform = async () => { const platform = await os.platform() + // TODO(tauri-v2): Just use the platform string directly, they're more readable/similar now in v2 switch (platform) { - case 'darwin': + case 'macos': return 'macOS' - case 'win32': + case 'windows': return 'windows' case 'linux': return 'linux' @@ -33,8 +36,33 @@ export function useTauriRPC(): Return { const setUseDiscordPresence = (connect: boolean) => invoke('set_use_discord_connection', { connect }) + const getCurrentServerName = () => invoke('get_current_server') + + const initCredentialStore = () => invoke('init_credential_store') + + const getCredentialStoreState = () => + invoke('get_credential_store_state') + + const clearCredentialStore = () => invoke('clear_credential_store') + + const deleteApiToken = (forServer: string) => + invoke('delete_api_token', { server: forServer }) + + const getApiToken = (forServer: string) => + invoke('get_api_token', { server: forServer }) + + const setApiToken = (forServer: string, token: string) => + invoke('set_api_token', { server: forServer, token }) + return { + clearCredentialStore, + deleteApiToken, + getApiToken, + getCredentialStoreState, + getCurrentServerName, getNativePlatform, + initCredentialStore, + setApiToken, setDiscordPresence, setUseDiscordPresence, } diff --git a/apps/server/Cargo.toml b/apps/server/Cargo.toml index b94c91dd7..f4f7d8ec6 100644 --- a/apps/server/Cargo.toml +++ b/apps/server/Cargo.toml @@ -16,7 +16,7 @@ axum-extra = { version = "0.9.3", features = [ "typed-header", "query" ] } -base64 = "0.22.1" +base64 = { workspace = true } bcrypt = { workspace = true } cli = { path = "../../crates/cli" } chrono = { workspace = true } @@ -60,13 +60,13 @@ axum-test = "15.3.1" chrono = { workspace = true } [target.aarch64-unknown-linux-musl.dependencies] -openssl = { version = "0.10.61", features = ["vendored"] } +openssl = { version = "0.10.66", features = ["vendored"] } [target.armv7-unknown-linux-musleabihf.dependencies] -openssl = { version = "0.10.61", features = ["vendored"] } +openssl = { version = "0.10.66", features = ["vendored"] } [target.x86_64-unknown-linux-musl.dependencies] -openssl = { version = "0.10.61", features = ["vendored"] } +openssl = { version = "0.10.66", features = ["vendored"] } [target.'cfg(target_os = "windows")'.dependencies] windows = { version = "0.58.0", features = ["Win32_Storage_FileSystem"] } diff --git a/apps/server/src/config/cors.rs b/apps/server/src/config/cors.rs index 5bac5006f..51e531530 100644 --- a/apps/server/src/config/cors.rs +++ b/apps/server/src/config/cors.rs @@ -6,11 +6,15 @@ use local_ip_address::local_ip; use stump_core::config::StumpConfig; use tower_http::cors::{AllowOrigin, CorsLayer}; -const DEFAULT_ALLOWED_ORIGINS: &[&str] = - &["tauri://localhost", "https://tauri.localhost"]; +const DEFAULT_ALLOWED_ORIGINS: &[&str] = &[ + "tauri://localhost", + "https://tauri.localhost", + "http://tauri.localhost", +]; const DEBUG_ALLOWED_ORIGINS: &[&str] = &[ "tauri://localhost", "https://tauri.localhost", + "http://tauri.localhost", "http://localhost:3000", "http://0.0.0.0:3000", ]; diff --git a/apps/server/src/routers/api/v1/auth.rs b/apps/server/src/routers/api/v1/auth.rs index d5b281e47..569f563a7 100644 --- a/apps/server/src/routers/api/v1/auth.rs +++ b/apps/server/src/routers/api/v1/auth.rs @@ -151,11 +151,7 @@ async fn handle_remove_earliest_session( #[serde(untagged)] pub enum LoginResponse { User(User), - AccessToken { - for_user: User, - #[serde(flatten)] - token: CreatedToken, - }, + AccessToken { for_user: User, token: CreatedToken }, } #[utoipa::path( diff --git a/apps/web/package.json b/apps/web/package.json index d20010459..e68990ef5 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -18,8 +18,8 @@ "react-router-dom": "^6.23.0" }, "devDependencies": { - "@types/react": "^18.2.78", - "@types/react-dom": "^18.2.25", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", "@types/react-router-dom": "^5.3.3", "@vitejs/plugin-react": "^4.2.1", "autoprefixer": "^10.4.19", diff --git a/packages/browser/package.json b/packages/browser/package.json index cd9728c73..043f26e2b 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -27,6 +27,7 @@ "@tanstack/react-query-devtools": "^4.36.1", "@tanstack/react-table": "^8.16.0", "@tanstack/react-virtual": "3.10.8", + "@tauri-apps/plugin-store": "^2.0.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "dayjs": "^1.11.10", @@ -88,8 +89,8 @@ "@types/node": "^20.12.7", "@types/nprogress": "^0.2.3", "@types/pluralize": "^0.0.33", - "@types/react": "^18.2.78", - "@types/react-dom": "^18.2.25", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", "@types/react-helmet": "^6.1.11", "@types/react-router-dom": "^5.3.3", "@vitejs/plugin-react": "^4.2.1", diff --git a/packages/browser/src/App.tsx b/packages/browser/src/App.tsx index f571770a7..65a68ccac 100644 --- a/packages/browser/src/App.tsx +++ b/packages/browser/src/App.tsx @@ -83,6 +83,7 @@ function RouterContainer(props: StumpClientProps) { } const handleUnathenticatedResponse = (redirectUrl?: string) => { + props.onUnauthenticatedResponse?.(redirectUrl) setUser(null) if (redirectUrl) { handleRedirect(redirectUrl) @@ -99,19 +100,21 @@ function RouterContainer(props: StumpClientProps) { } return ( - - + + {IS_DEVELOPMENT && } Stump - - + + ) } diff --git a/packages/browser/src/AppLayout.tsx b/packages/browser/src/AppLayout.tsx index be15716aa..2af083101 100644 --- a/packages/browser/src/AppLayout.tsx +++ b/packages/browser/src/AppLayout.tsx @@ -5,7 +5,8 @@ import { UserPermission, UserPreferences } from '@stump/sdk' import { useOverlayScrollbars } from 'overlayscrollbars-react' import { Suspense, useCallback, useEffect, useMemo, useRef } from 'react' import Confetti from 'react-confetti' -import { Navigate, Outlet, useLocation, useNavigate } from 'react-router-dom' +import { useErrorBoundary } from 'react-error-boundary' +import { Outlet, useLocation, useNavigate } from 'react-router-dom' import { useMediaMatch, useWindowSize } from 'rooks' import BackgroundFetchIndicator from '@/components/BackgroundFetchIndicator' @@ -25,6 +26,8 @@ export function AppLayout() { const isMobile = useMediaMatch('(max-width: 768px)') const windowSize = useWindowSize() + const { showBoundary } = useErrorBoundary() + const { showConfetti, setShowConfetti, onConnectionWithServerChanged } = useAppStore((state) => ({ onConnectionWithServerChanged: state.setIsConnectedWithServer, platform: state.platform, @@ -159,17 +162,23 @@ export function AppLayout() { onSuccess: setUser, }) - const axiosError = isAxiosError(error) ? error : null - const isUnauthorized = axiosError?.response?.status === 401 - const isNetworkError = axiosError?.code === 'ERR_NETWORK' - if (isNetworkError || isUnauthorized) { - const to = isNetworkError ? '/server-connection-error' : '/auth' - return - } else if (error && !storeUser) { - throw error - } + // FIXME(desktop): There is a bug somewhere here that causes a network error to be thrown before the auth takes effect. + // It happens intermittently, annoyingly. I'm not sure what's causing it, but it would be nice to fix it + useEffect(() => { + const axiosError = isAxiosError(error) ? error : null + const isUnauthorized = axiosError?.response?.status === 401 + const isNetworkError = axiosError?.code === 'ERR_NETWORK' + + if (isNetworkError || isUnauthorized) { + const to = isNetworkError ? '/server-connection-error' : '/auth' + navigate(to, { state: { from: location } }) + } else if (error) { + console.error('An unknown error occurred:', error) + showBoundary(error) + } + }, [error, showBoundary, location, navigate]) - if (!storeUser) { + if (!storeUser || error) { return null } diff --git a/packages/browser/src/AppRouter.tsx b/packages/browser/src/AppRouter.tsx index 09968a72e..a2f2a4702 100644 --- a/packages/browser/src/AppRouter.tsx +++ b/packages/browser/src/AppRouter.tsx @@ -33,11 +33,15 @@ export function AppRouter() { throw new Error('Base URL is not set') } - return + return ( + + + + ) } return ( - + }> } /> diff --git a/packages/browser/src/components/book/BookCard.tsx b/packages/browser/src/components/book/BookCard.tsx index 1474bd138..f5e5639af 100644 --- a/packages/browser/src/components/book/BookCard.tsx +++ b/packages/browser/src/components/book/BookCard.tsx @@ -1,5 +1,5 @@ import { usePrefetchMediaByID, useSDK } from '@stump/client' -import { EntityCard, Text } from '@stump/components' +import { Text } from '@stump/components' import { Media } from '@stump/sdk' import pluralize from 'pluralize' import { useCallback, useMemo } from 'react' @@ -8,6 +8,8 @@ import paths from '@/paths' import { formatBookName, formatBytes } from '@/utils/format' import { prefetchMediaPage } from '@/utils/prefetch' +import { EntityCard } from '../entity' + export type BookCardProps = { media: Media readingLink?: boolean diff --git a/packages/browser/src/components/book/table/CoverImageCell.tsx b/packages/browser/src/components/book/table/CoverImageCell.tsx index 7626014fa..54980e31b 100644 --- a/packages/browser/src/components/book/table/CoverImageCell.tsx +++ b/packages/browser/src/components/book/table/CoverImageCell.tsx @@ -2,6 +2,8 @@ import { useSDK } from '@stump/client' import { Book } from 'lucide-react' import React, { useState } from 'react' +import { EntityImage } from '@/components/entity' + type Props = { id: string title?: string @@ -45,7 +47,7 @@ export default function CoverImageCell({ id, title }: Props) { } return ( - { - // const { book_entity, title, author, url } = book const details = match(book.book) .with({ __type: 'stored' }, ({ id, name, metadata }) => ({ author: metadata?.writers?.join(', '), @@ -105,8 +105,10 @@ export default function BookClubScheduleTimelineItem({ book }: Props) { })) .otherwise(() => null) + const ImageComponent = book.book?.__type === 'external' ? 'img' : EntityImage + const image = details?.imageUrl ? ( - + ) : (
diff --git a/packages/browser/src/components/entity/AuthImage.tsx b/packages/browser/src/components/entity/AuthImage.tsx new file mode 100644 index 000000000..343984e82 --- /dev/null +++ b/packages/browser/src/components/entity/AuthImage.tsx @@ -0,0 +1,54 @@ +/* eslint-disable react/prop-types */ +import { queryClient, useSDK } from '@stump/client' +import React, { forwardRef, useCallback, useEffect, useState } from 'react' + +type Props = { + token?: string +} & React.ImgHTMLAttributes +export const AuthImage = forwardRef(({ token, src, ...props }, ref) => { + const { sdk } = useSDK() + + const [imageURL, setImageURL] = useState(null) + + const doFetch = useCallback( + async (url: string) => { + const response = await sdk.axios.get(url, { responseType: 'arraybuffer' }) + const blob = new Blob([response.data], { type: response.headers['content-type'] }) + return blob + }, + [sdk.axios], + ) + const fetchImage = useCallback( + async (url: string) => { + const data = await queryClient.fetchQuery(['AuthImage.fetchImage', url], { + cacheTime: 1000 * 60 * 60 * 24 * 5, // 5 days + queryFn: async () => doFetch(url), + }) + + const imageURL = URL.createObjectURL(data) + setImageURL(imageURL) + }, + [doFetch], + ) + + useEffect(() => { + if (token && src && !imageURL) { + fetchImage(src) + } + }, [token, src, fetchImage, imageURL]) + + useEffect(() => { + return () => { + if (imageURL) { + URL.revokeObjectURL(imageURL) + } + } + }, [imageURL]) + + if (!imageURL) { + return null + } + + return +}) +AuthImage.displayName = 'AuthImage' diff --git a/packages/components/src/card/EntityCard.tsx b/packages/browser/src/components/entity/EntityCard.tsx similarity index 94% rename from packages/components/src/card/EntityCard.tsx rename to packages/browser/src/components/entity/EntityCard.tsx index 60e5fb960..31f0439ff 100644 --- a/packages/components/src/card/EntityCard.tsx +++ b/packages/browser/src/components/entity/EntityCard.tsx @@ -1,12 +1,11 @@ /* eslint-disable react/prop-types */ +import { cn, ProgressBar, Text } from '@stump/components' import { Book } from 'lucide-react' import React, { useState } from 'react' import { Link, To } from 'react-router-dom' -import { ProgressBar } from '../progress' -import { Text } from '../text' -import { cn } from '../utils' +import { EntityImage } from './EntityImage' type ContainerProps = React.ComponentPropsWithoutRef<'div'> & { to?: To @@ -50,7 +49,7 @@ type Props = { * and progress bar. All of these are optional, except for the image URL. If the image fails to load, a placeholder will be * displayed instead. */ -export function EntityCard({ +export default function EntityCard({ href, imageUrl, title, @@ -131,10 +130,13 @@ export function EntityCard({ const renderImage = () => { if (!isImageFailed) { return ( - setIsImageFailed(true)} + onError={(e) => { + console.error('Failed to load image:', e) + setIsImageFailed(true) + }} /> ) } else { diff --git a/packages/browser/src/components/entity/EntityImage.tsx b/packages/browser/src/components/entity/EntityImage.tsx new file mode 100644 index 000000000..3623587ca --- /dev/null +++ b/packages/browser/src/components/entity/EntityImage.tsx @@ -0,0 +1,25 @@ +/* eslint-disable react/prop-types */ + +import { useSDK } from '@stump/client' +import React, { forwardRef, Suspense } from 'react' + +import { AuthImage } from './AuthImage' + +const EntityImage = forwardRef>( + ({ src, ...props }, ref) => { + const { sdk } = useSDK() + + const renderImage = () => { + if (sdk.isTokenAuth) { + return + } else { + return + } + } + + return {renderImage()} + }, +) +EntityImage.displayName = 'EntityImage' + +export { EntityImage } diff --git a/packages/browser/src/components/entity/index.ts b/packages/browser/src/components/entity/index.ts new file mode 100644 index 000000000..4803ee1dd --- /dev/null +++ b/packages/browser/src/components/entity/index.ts @@ -0,0 +1,2 @@ +export { default as EntityCard } from './EntityCard' +export { EntityImage } from './EntityImage' diff --git a/packages/browser/src/components/explorer/FileThumbnail.tsx b/packages/browser/src/components/explorer/FileThumbnail.tsx index aca1dc35e..beb0717fa 100644 --- a/packages/browser/src/components/explorer/FileThumbnail.tsx +++ b/packages/browser/src/components/explorer/FileThumbnail.tsx @@ -5,6 +5,8 @@ import { Media } from '@stump/sdk' import { Book, Folder } from 'lucide-react' import { useCallback, useEffect, useRef, useState } from 'react' +import { EntityImage } from '../entity' + type Props = { path: string isDirectory: boolean @@ -101,7 +103,7 @@ export default function FileThumbnail({ } return ( - setShowFallback(true)} diff --git a/packages/browser/src/components/filters/URLPageSize.tsx b/packages/browser/src/components/filters/URLPageSize.tsx index 5a7728870..95a7f4426 100644 --- a/packages/browser/src/components/filters/URLPageSize.tsx +++ b/packages/browser/src/components/filters/URLPageSize.tsx @@ -35,7 +35,7 @@ export default function URLPageSize() { type="number" variant="activeGhost" size="sm" - className="h-7 w-7 p-0 text-center text-xs [appearance:textfield] sm:h-6 sm:w-6" + className="h-7 w-7 p-0 text-center text-xs [appearance:textfield] sm:h-6 sm:w-6 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none" value={inputPageSize || page_size} onChange={handleInputChange} min={1} diff --git a/packages/browser/src/components/filters/URLPagination.tsx b/packages/browser/src/components/filters/URLPagination.tsx index faba4dc94..fcfd0e021 100644 --- a/packages/browser/src/components/filters/URLPagination.tsx +++ b/packages/browser/src/components/filters/URLPagination.tsx @@ -68,7 +68,7 @@ export default function URLPagination({ pages, currentPage, onChangePage, onPref type="number" variant="activeGhost" size="sm" - className="h-7 w-7 p-0 text-center text-xs [appearance:textfield] sm:h-6 sm:w-6" + className="h-7 w-7 p-0 text-center text-xs [appearance:textfield] sm:h-6 sm:w-6 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none" disabled={pages <= 1} value={inputPage || currentPage} onChange={handleInputChange} diff --git a/packages/browser/src/components/library/LastVisitedLibrary.tsx b/packages/browser/src/components/library/LastVisitedLibrary.tsx index 1893886fc..84b4c8176 100644 --- a/packages/browser/src/components/library/LastVisitedLibrary.tsx +++ b/packages/browser/src/components/library/LastVisitedLibrary.tsx @@ -1,9 +1,11 @@ import { useQuery, useSDK } from '@stump/client' -import { EntityCard, Label, Text } from '@stump/components' +import { Label, Text } from '@stump/components' import React from 'react' import paths from '@/paths' +import { EntityCard } from '../entity' + type Props = { container?: (children: React.ReactNode) => React.ReactNode } diff --git a/packages/browser/src/components/readers/epub/EpubJsReader.tsx b/packages/browser/src/components/readers/epub/EpubJsReader.tsx index 1bef40677..dde9dbb0e 100644 --- a/packages/browser/src/components/readers/epub/EpubJsReader.tsx +++ b/packages/browser/src/components/readers/epub/EpubJsReader.tsx @@ -8,7 +8,7 @@ import { } from '@stump/client' import { Bookmark, UpdateEpubProgress } from '@stump/sdk' import { Book, Rendition } from 'epubjs' -import uniqby from 'lodash.uniqby' +import uniqby from 'lodash/uniqBy' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import toast from 'react-hot-toast' import AutoSizer from 'react-virtualized-auto-sizer' diff --git a/packages/browser/src/components/readers/imageBased/container/ReaderFooter.tsx b/packages/browser/src/components/readers/imageBased/container/ReaderFooter.tsx index 96be6a7a6..260c047c3 100644 --- a/packages/browser/src/components/readers/imageBased/container/ReaderFooter.tsx +++ b/packages/browser/src/components/readers/imageBased/container/ReaderFooter.tsx @@ -11,6 +11,7 @@ import { VirtuosoHandle, } from 'react-virtuoso' +import { EntityImage } from '@/components/entity' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' import { useImageBaseReaderContext } from '../context' @@ -94,7 +95,7 @@ export default function ReaderFooter() { }, )} > - + ) }} diff --git a/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx b/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx index 58573d41a..837618a4f 100644 --- a/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx +++ b/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx @@ -6,6 +6,7 @@ import { useSearchParams } from 'react-router-dom' import AutoSizer from 'react-virtualized-auto-sizer' import { ScrollerProps, Virtuoso } from 'react-virtuoso' +import { EntityImage } from '@/components/entity' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' export type ContinuousReaderOrientation = 'horizontal' | 'vertical' @@ -159,7 +160,7 @@ type PageProps = { onPageClick: () => void } const Page = ({ page, src, imageScaling: { scaleToFit }, onPageClick }: PageProps) => ( - { return ( - state.setBaseUrl) const setUser = useUserStore((state) => state.setUser) @@ -99,8 +104,13 @@ export default function ConfiguredServersSection() { const onCreateServer = useCallback( async (server: SavedServer) => { await addServer(server) + if (isOnboarding) { + await setActiveServer(server.name) + // TODO(ux): Figure out how to avoid this, it seems like a full refresh is needed + window.location.href = '/' + } }, - [addServer], + [addServer, setActiveServer, isOnboarding], ) /** * A callback to edit a server in the list of connected servers @@ -119,15 +129,6 @@ export default function ConfiguredServersSection() { }, [editingServer, editServer, setBaseURL], ) - /** - * A callback to delete a server from the list of connected servers - */ - const onDeleteServer = useCallback(async () => { - if (deletingServer) { - await removeServer(deletingServer.name) - setDeletingServer(null) - } - }, [deletingServer, removeServer]) /** * A callback to delete all servers from the list of connected servers */ @@ -136,6 +137,19 @@ export default function ConfiguredServersSection() { await safelyLogout() navigate('/auth') }, [resetStore, safelyLogout, navigate]) + /** + * A callback to delete a server from the list of connected servers + */ + const onDeleteServer = useCallback(async () => { + const isLastServer = connected_servers.length === 1 + if (isLastServer && deletingServer) { + await onDeleteAllServers() + setDeletingServer(null) + } else if (deletingServer) { + await removeServer(deletingServer.name) + setDeletingServer(null) + } + }, [deletingServer, removeServer, connected_servers.length, onDeleteAllServers]) /** * A callback to switch to a server in the list of connected servers, which will * logout the user and redirect them to the auth page to authenticate with the selected @@ -149,6 +163,15 @@ export default function ConfiguredServersSection() { navigate('/auth', { state: { from: returnTo } }) } }, [switchingServer, setActiveServer, safelyLogout, location.pathname, navigate]) + /** + * A callback to clear all tokens from the credential store, which will log the user out + * and redirect them to the auth page. + */ + const onClearTokens = useCallback(async () => { + await clearCredentialStore() + await safelyLogout() + navigate('/auth') + }, [clearCredentialStore, safelyLogout, navigate]) return ( <> @@ -185,21 +208,36 @@ export default function ConfiguredServersSection() {
- - {connected_servers.map((server) => ( - setEditingServer(server)} - onDelete={() => setDeletingServer(server)} - onSwitch={() => setSwitchingServer(server)} - isReachable={serverStatus[server.name]} - /> - ))} - - - + {isOnboarding && !connected_servers.length && ( +
+ {t(getKey('getStarted'))} +
+ )} + + {connected_servers.length > 0 && ( + + {connected_servers.map((server) => ( + setEditingServer(server)} + onDelete={() => setDeletingServer(server)} + onSwitch={() => setSwitchingServer(server)} + isReachable={serverStatus[server.name]} + /> + ))} + + )} + +
+ + +
) diff --git a/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx new file mode 100644 index 000000000..b70fea369 --- /dev/null +++ b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx @@ -0,0 +1,51 @@ +import { Alert, Button, ConfirmationModal } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import React, { useCallback, useState } from 'react' + +type Props = { + onConfirmClear: () => Promise +} + +export default function RemoveAllTokensConfirm({ onConfirmClear }: Props) { + const { t } = useLocaleContext() + + const [showConfirmation, setShowConfirmation] = useState(false) + + const handleConfirmClear = useCallback(async () => { + await onConfirmClear() + setShowConfirmation(false) + }, [onConfirmClear]) + + return ( +
+ setShowConfirmation(false)} + title={t(getKey('title'))} + description={t(getKey('description'))} + confirmText={t(getKey('confirm'))} + confirmVariant="danger" + trigger={ + + } + size="md" + > + + {t(getKey('disclaimer'))} + + +
+ ) +} + +const LOCALE_KEY = 'settingsScene.app/desktop.sections.configuredServers.resetTokens.confirmation' +const getKey = (key: string) => `${LOCALE_KEY}.${key}` diff --git a/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx new file mode 100644 index 000000000..cc1c9aa5f --- /dev/null +++ b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx @@ -0,0 +1,29 @@ +import { Heading, Text } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import React from 'react' + +import RemoveAllTokensConfirm from './RemoveAllTokensConfirm' + +type Props = { + onConfirmClear: () => Promise +} + +export default function RemoveAllTokensSection({ onConfirmClear }: Props) { + const { t } = useLocaleContext() + + return ( +
+
+ {t(getKey('label'))} + + {t(getKey('description.0'))}. {t(getKey('description.1'))} + +
+ + +
+ ) +} + +const LOCALE_KEY = 'settingsScene.app/desktop.sections.configuredServers.resetTokens' +const getKey = (key: string) => `${LOCALE_KEY}.${key}` diff --git a/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx b/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx index 654f9872e..36fa55de4 100644 --- a/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx @@ -32,7 +32,7 @@ export default function ResetConfigurationConfirmation({ onConfirmReset }: Props variant="danger" onClick={() => setShowConfirmation(true)} className="flex-shrink-0" - size="md" + size="sm" > {t(getKey('trigger'))} diff --git a/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx b/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx index 2003ecaea..1f8473484 100644 --- a/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx @@ -1,22 +1,19 @@ -import { queryClient, QueryClientContext, SDKProvider, StumpClientContext } from '@stump/client' +import { + queryClient, + QueryClientContext, + StumpClientContext, + useClientContext, + useLogout, +} from '@stump/client' import { checkUrl } from '@stump/sdk' import { fireEvent, render, screen } from '@testing-library/react' import { useLocation, useNavigate } from 'react-router' +import { useTauriRPC } from '@/hooks/useTauriRPC' import { useAppStore, useTauriStore, useUserStore } from '@/stores' import ConfiguredServersList from '../ConfiguredServersList' -jest.mock('tauri-plugin-store-api', () => ({ - // mock class with get/set methods - Store: jest.fn().mockImplementation( - () => - ({ - get: jest.fn(), - set: jest.fn(), - }) as any, - ), -})) jest.mock('react-router', () => ({ useLocation: jest.fn(), useNavigate: jest.fn(), @@ -56,8 +53,22 @@ const useUserStoreRet = { jest.mock('@stump/client', () => ({ ...jest.requireActual('@stump/client'), useClientContext: jest.fn(), + useLogout: jest.fn(), })) -const useClientContextRet = {} as any +const useClientContextRet = { + tauriRPC: {}, +} as any + +const useLogoutRet = { + logout: jest.fn(), +} as any + +jest.mock('@/hooks/useTauriRPC', () => ({ + useTauriRPC: jest.fn(), +})) +const useTauriRPCRet = { + clearCredentialStore: jest.fn(), +} as any jest.mock('@stump/sdk', () => ({ ...jest.requireActual('@stump/sdk'), @@ -65,13 +76,11 @@ jest.mock('@stump/sdk', () => ({ })) const Subject = () => ( - - - - - - - + + + + + ) describe('ConfiguredServersList', () => { @@ -84,6 +93,9 @@ describe('ConfiguredServersList', () => { jest.mocked(useAppStore).mockReturnValue(useAppStoreRet) jest.mocked(useTauriStore).mockReturnValue(createTauriStore()) jest.mocked(useUserStore).mockReturnValue(useUserStoreRet) + jest.mocked(useClientContext).mockReturnValue(useClientContextRet) + jest.mocked(useTauriRPC).mockReturnValue(useTauriRPCRet) + jest.mocked(useLogout).mockReturnValue(useLogoutRet) jest.mocked(checkUrl).mockResolvedValue(true) }) diff --git a/packages/browser/src/components/series/SeriesCard.tsx b/packages/browser/src/components/series/SeriesCard.tsx index db3c86d2a..a145f65c9 100644 --- a/packages/browser/src/components/series/SeriesCard.tsx +++ b/packages/browser/src/components/series/SeriesCard.tsx @@ -1,9 +1,10 @@ import { usePrefetchSeries, useSDK } from '@stump/client' -import { EntityCard, Text } from '@stump/components' +import { Text } from '@stump/components' import { Series } from '@stump/sdk' import paths from '../../paths' import pluralizeStat from '../../utils/pluralize' +import { EntityCard } from '../entity' export type SeriesCardProps = { series: Series diff --git a/packages/browser/src/components/series/table/CoverImageCell.tsx b/packages/browser/src/components/series/table/CoverImageCell.tsx index bfdbec60e..f663ea6fd 100644 --- a/packages/browser/src/components/series/table/CoverImageCell.tsx +++ b/packages/browser/src/components/series/table/CoverImageCell.tsx @@ -2,6 +2,8 @@ import { useSDK } from '@stump/client' import { Book } from 'lucide-react' import React, { useState } from 'react' +import { EntityImage } from '@/components/entity' + type Props = { /** * The ID of the series @@ -51,7 +53,7 @@ export default function CoverImageCell({ id, title }: Props) { } return ( - toast.promise(loginUser({ password, username }), { - error: t('authScene.toasts.loginFailed'), + error: (error) => { + console.error('Error logging in:', error) + return t('authScene.toasts.loginFailed') + }, loading: t('authScene.toasts.loggingIn'), success: firstTime ? t('authScene.toasts.loggedInFirstTime') @@ -134,7 +137,6 @@ export default function LoginOrClaimScene() { } return ( - //
- diff --git a/packages/browser/src/scenes/library/LibraryHeader.tsx b/packages/browser/src/scenes/library/LibraryHeader.tsx index dadaedbe9..ca1e89ae6 100644 --- a/packages/browser/src/scenes/library/LibraryHeader.tsx +++ b/packages/browser/src/scenes/library/LibraryHeader.tsx @@ -2,6 +2,7 @@ import { useSDK } from '@stump/client' import { AspectRatio, cn, Heading, Text } from '@stump/components' import React from 'react' +import { EntityImage } from '@/components/entity' import ReadMore from '@/components/ReadMore' import TagList from '@/components/tags/TagList' import { usePreferences } from '@/hooks' @@ -59,7 +60,10 @@ export default function LibraryHeader() { {show_thumbnails_in_headers && (
- +
)} diff --git a/packages/browser/src/scenes/library/LibraryOverviewTitleSection.tsx b/packages/browser/src/scenes/library/LibraryOverviewTitleSection.tsx index 0f62b1746..99a46b0ee 100644 --- a/packages/browser/src/scenes/library/LibraryOverviewTitleSection.tsx +++ b/packages/browser/src/scenes/library/LibraryOverviewTitleSection.tsx @@ -1,8 +1,9 @@ import { useSDK } from '@stump/client' -import { EntityCard, Heading } from '@stump/components' +import { Heading } from '@stump/components' import type { Library } from '@stump/sdk' import { useMediaMatch } from 'rooks' +import { EntityCard } from '@/components/entity' import ReadMore from '@/components/ReadMore' import TagList from '@/components/tags/TagList' diff --git a/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx b/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx index 68479def9..c7456efee 100644 --- a/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx +++ b/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx @@ -1,5 +1,5 @@ import React, { lazy, Suspense } from 'react' -import { Route, Routes } from 'react-router' +import { Navigate, Route, Routes } from 'react-router' const OnBoardingScene = lazy(() => import('./OnBoardingScene')) @@ -8,6 +8,7 @@ export default function OnBoardingRouter() { } /> + } /> ) diff --git a/packages/browser/src/scenes/onboarding/OnBoardingScene.tsx b/packages/browser/src/scenes/onboarding/OnBoardingScene.tsx index 2c6368358..ede0b66ec 100644 --- a/packages/browser/src/scenes/onboarding/OnBoardingScene.tsx +++ b/packages/browser/src/scenes/onboarding/OnBoardingScene.tsx @@ -4,5 +4,13 @@ import { ConfiguredServersList } from '@/components/savedServer' export default function OnBoardingScene() { - return + return ( +
+
+
+ +
+
+
+ ) } diff --git a/packages/browser/src/scenes/series/SeriesHeader.tsx b/packages/browser/src/scenes/series/SeriesHeader.tsx index f096ea5a9..4741f5efb 100644 --- a/packages/browser/src/scenes/series/SeriesHeader.tsx +++ b/packages/browser/src/scenes/series/SeriesHeader.tsx @@ -2,6 +2,7 @@ import { useSDK } from '@stump/client' import { AspectRatio, cn, Heading } from '@stump/components' import React from 'react' +import { EntityImage } from '@/components/entity' import ReadMore from '@/components/ReadMore' import TagList from '@/components/tags/TagList' import { usePreferences } from '@/hooks' @@ -39,7 +40,10 @@ export default function SeriesHeader() { {show_thumbnails_in_headers && (
- +
)} diff --git a/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx b/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx index aeefce48e..96ed817c1 100644 --- a/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx +++ b/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx @@ -1,9 +1,10 @@ import { useSDK } from '@stump/client' -import { Button, Dialog, EntityCard } from '@stump/components' +import { Button, Dialog } from '@stump/components' import { Media, Series } from '@stump/sdk' import React, { useEffect, useState } from 'react' import toast from 'react-hot-toast' +import { EntityCard } from '@/components/entity' import EditThumbnailDropdown from '@/components/thumbnail/EditThumbnailDropdown' import BookPageGrid from '../../../book/settings/BookPageGrid' diff --git a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx index 263c23d98..90cef83c5 100644 --- a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx @@ -17,7 +17,7 @@ import { useNavigationArrangement } from '@stump/client' import { Card, cn, IconButton, Label, Text, ToolTip } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { NavigationItem } from '@stump/sdk' -import isEqual from 'lodash.isequal' +import isEqual from 'lodash/isEqual' import { Lock, Unlock } from 'lucide-react' import React, { useCallback, useEffect, useMemo, useState } from 'react' import toast from 'react-hot-toast' diff --git a/packages/browser/src/scenes/settings/server/users/UsersStats.tsx b/packages/browser/src/scenes/settings/server/users/UsersStats.tsx index 1b5eec86a..1acc3f97d 100644 --- a/packages/browser/src/scenes/settings/server/users/UsersStats.tsx +++ b/packages/browser/src/scenes/settings/server/users/UsersStats.tsx @@ -1,8 +1,8 @@ import { Statistic } from '@stump/components' import { ActiveReadingSession, FinishedReadingSession, User } from '@stump/sdk' -import groupBy from 'lodash.groupby' -import sortBy from 'lodash.sortby' -import uniqBy from 'lodash.uniqby' +import groupBy from 'lodash/groupBy' +import sortBy from 'lodash/sortBy' +import uniqBy from 'lodash/uniqBy' import pluralize from 'pluralize' import { useMemo } from 'react' diff --git a/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx b/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx index 8427048b3..0e06581a4 100644 --- a/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx +++ b/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx @@ -5,6 +5,7 @@ import { useVirtualizer } from '@tanstack/react-virtual' import React from 'react' import { Link } from 'react-router-dom' +import { EntityImage } from '@/components/entity' import { usePreferences } from '@/hooks' import paths from '@/paths' import { formatBookName } from '@/utils/format' @@ -71,7 +72,10 @@ export default function GroupedSmartListItemListGroupContent({ books }: Props) { to={paths.bookOverview(book.id)} className="flex h-full w-full items-center px-2 hover:bg-background-surface" > - +
{formatBookName(book)} diff --git a/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx b/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx index 8b9f38582..c5b55778b 100644 --- a/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx +++ b/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx @@ -2,6 +2,8 @@ import { useSDK } from '@stump/client' import { Book } from 'lucide-react' import React, { useState } from 'react' +import { EntityImage } from '@/components/entity' + type Props = { id: string title?: string @@ -44,7 +46,7 @@ export default function CoverImageCell({ id, title }: Props) { } return ( - ()((set) => ({ set: (partial) => set((state) => ({ ...state, ...partial })), })) -/** - * The desktop application store, persisted to disk and managed by Tauri - */ -const STORE = new Store('settings.json') - /** * A hook to interact with the desktop application store. There is a little bit of a * synchronization dance here: @@ -36,7 +31,9 @@ const STORE = new Store('settings.json') * to a single desktop application, there isn't really any need for a more complex solution. */ export const useTauriStore = () => { - const store = useLocalStore() + const { store } = useDesktopAppContext() + + const localStore = useLocalStore() /** * An effect to save the store to disk whenever it changes. This is a bit overly @@ -48,8 +45,8 @@ export const useTauriStore = () => { * @see {@link Store.save} */ useEffect(() => { - STORE.save().catch((e) => console.error('Failed to save store', e)) - }, [store]) + store.save().catch((e) => console.error('Failed to save store', e)) + }, [store, localStore]) /** * An effect to load the store from disk on mount and sync it with the local store @@ -58,7 +55,7 @@ export const useTauriStore = () => { () => { const init = async () => { try { - const storeEntries = await STORE.entries() + const storeEntries = await store.entries() const loadedStore = storeEntries.reduce( (acc, [key, value]) => { acc[key] = value @@ -68,7 +65,7 @@ export const useTauriStore = () => { ) // TODO: smarter type assertions here if ('connected_servers' in loadedStore) { - store.set(loadedStore as DesktopAppStore) + localStore.set(loadedStore as DesktopAppStore) } } catch (e) { console.error('Failed to load store', e) @@ -89,18 +86,18 @@ export const useTauriStore = () => { */ const addServer = useCallback( async (server: SavedServer) => { - const isEmpty = store.connected_servers.length === 0 - await STORE.set('connected_servers', [...store.connected_servers, server]) + const isEmpty = localStore.connected_servers.length === 0 + await store.set('connected_servers', [...localStore.connected_servers, server]) if (isEmpty) { - await STORE.set('active_server', server) + await store.set('active_server', server) } - store.set({ - connected_servers: [...store.connected_servers, server], + localStore.set({ + connected_servers: [...localStore.connected_servers, server], ...(isEmpty ? { active_server: server } : {}), }) return server }, - [store], + [store, localStore], ) /** @@ -111,19 +108,21 @@ export const useTauriStore = () => { */ const editServer = useCallback( async (originalName: string, server: SavedServer) => { - const existingServer = store.connected_servers.find((s) => s.name === originalName) + const existingServer = localStore.connected_servers.find((s) => s.name === originalName) if (!existingServer) { return } - const isActiveServer = store.active_server?.name === originalName - const newServers = store.connected_servers.map((s) => (s.name === originalName ? server : s)) - await STORE.set('connected_servers', newServers) - store.set({ + const isActiveServer = localStore.active_server?.name === originalName + const newServers = localStore.connected_servers.map((s) => + s.name === originalName ? server : s, + ) + await store.set('connected_servers', newServers) + localStore.set({ connected_servers: newServers, ...(isActiveServer ? { active_server: server } : {}), }) }, - [store], + [store, localStore], ) /** @@ -133,25 +132,25 @@ export const useTauriStore = () => { */ const removeServer = useCallback( async (name: string) => { - const newServers = store.connected_servers.filter((server) => server.name !== name) - await STORE.set('connected_servers', newServers) - store.set({ + const newServers = localStore.connected_servers.filter((server) => server.name !== name) + await store.set('connected_servers', newServers) + localStore.set({ connected_servers: newServers, }) }, - [store], + [store, localStore], ) /** * Reset the store, deleting all connected servers and the active server. */ const resetStore = useCallback(async () => { - await STORE.clear() - store.set({ + await store.clear() + localStore.set({ active_server: undefined, connected_servers: [], }) - }, [store]) + }, [store, localStore]) /** * Set the active server * @@ -159,28 +158,28 @@ export const useTauriStore = () => { */ const setActiveServer = useCallback( async (name: string) => { - const activeServer = store.connected_servers.find((server) => server.name === name) + const activeServer = localStore.connected_servers.find((server) => server.name === name) if (activeServer) { - await STORE.set('active_server', activeServer) + await store.set('active_server', activeServer) } }, - [store], + [store, localStore], ) /** * Set whether to run the bundled server or not */ const setRunBundledServer = useCallback( async (value: boolean) => { - await STORE.set('run_bundled_server', value) - store.set({ + await store.set('run_bundled_server', value) + localStore.set({ run_bundled_server: value, }) }, - [store], + [store, localStore], ) return { - ...store, + ...localStore, addServer, editServer, removeServer, diff --git a/packages/client/package.json b/packages/client/package.json index fe3446c24..dae8f6c88 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@types/deep-equal": "^1.0.4", "@types/node": "^20.12.7", - "@types/react": "^18.2.78", + "@types/react": "^18.3.11", "prettier": "^3.2.5", "tsconfig": "^7.0.0", "typescript": "^5.4.5" diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index 604a31a4a..9b87b0334 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -20,6 +20,7 @@ import { import { AxiosError, isAxiosError } from 'axios' import { QueryClientContext, useClientContext } from './context' +import { useSDK } from './sdk' export { QueryClientProvider } from '@tanstack/react-query' @@ -64,6 +65,7 @@ export function useQuery, ) { const { onUnauthenticatedResponse, onConnectionWithServerChanged } = useClientContext() + const { sdk } = useSDK() return useReactQuery(queryKey, queryFn, { ...options, context: QueryClientContext, @@ -73,6 +75,7 @@ export function useQuery void onUnauthenticatedResponse?: (redirectUrl?: string) => void onConnectionWithServerChanged?: (isConnected: boolean) => void + onAuthenticated?: (user: User, token?: string) => Promise + onLogout?: () => Promise tauriRPC?: TauriRPC } @@ -16,6 +19,43 @@ export type TauriRPC = { * Invoke the IPC command to set the use of Discord presence (on/off) */ setUseDiscordPresence: (connect: boolean) => Promise + /** + * Get the currently active server name. If none are active, or none exist, it will + * return null + */ + getCurrentServerName: () => Promise + /** + * Initialize the credential store + */ + initCredentialStore: () => Promise + /** + * Get the current state of the credential store. This **will not** return actual + * tokens, but will return a record for which servers have tokens stored + */ + getCredentialStoreState: () => Promise + /** + * Clear the credential store + */ + clearCredentialStore: () => Promise + /** + * Get the API token for the given server + * + * @param forServer The server which the token was created by / to be used for + */ + getApiToken: (forServer: string) => Promise + /** + * Set the API token for the given server + * + * @param forServer The server which the token was created by / to be used for + * @param token The JWT token to store in the credential store + */ + setApiToken: (forServer: string, token: string) => Promise + /** + * Delete the API token for the given server + * + * @param forServer The server which the token was created by / to be used for + */ + deleteApiToken: (forServer: string) => Promise } export const StumpClientContext = createContext(undefined) @@ -30,10 +70,11 @@ export type Platform = 'browser' | 'macOS' | 'windows' | 'linux' | 'mobile' | 'u * The props that are passed to the root of the application */ export type StumpClientProps = { + authMethod?: AuthenticationMethod platform: Platform baseUrl?: string tauriRPC?: TauriRPC -} +} & Pick export const useClientContext = () => { const context = useContext(StumpClientContext) diff --git a/packages/client/src/desktop/context.ts b/packages/client/src/desktop/context.ts new file mode 100644 index 000000000..b998be33a --- /dev/null +++ b/packages/client/src/desktop/context.ts @@ -0,0 +1,31 @@ +import { createContext, useContext } from 'react' + +interface Store { + set(key: string, value: unknown): Promise + get(key: string): Promise + has(key: string): Promise + delete(key: string): Promise + clear(): Promise + reset(): Promise + values(): Promise + entries(): Promise> + length(): Promise + load(): Promise + save(): Promise + onKeyChange(key: string, cb: (value: T | null) => void): Promise<() => void> + onChange(cb: (key: string, value: T | null) => void): Promise<() => void> +} + +export type IDesktopAppContext = { + store: Store +} + +export const DesktopAppContext = createContext(null) + +export const useDesktopAppContext = () => { + const ctx = useContext(DesktopAppContext) + if (!ctx) { + throw new Error('useDesktopAppContext must be used within a DesktopAppContext.Provider') + } + return ctx +} diff --git a/packages/client/src/desktop/index.ts b/packages/client/src/desktop/index.ts new file mode 100644 index 000000000..016b8415a --- /dev/null +++ b/packages/client/src/desktop/index.ts @@ -0,0 +1 @@ +export { DesktopAppContext, useDesktopAppContext } from './context' diff --git a/packages/client/src/hooks/useStumpSse.ts b/packages/client/src/hooks/useStumpSse.ts index 94f5d176e..1f5a2c0e8 100644 --- a/packages/client/src/hooks/useStumpSse.ts +++ b/packages/client/src/hooks/useStumpSse.ts @@ -3,7 +3,8 @@ import { useCallback, useEffect, useMemo, useRef } from 'react' import { useSDK } from '../sdk' -interface SseOptions { +type SseOptions = { + headers?: Record onOpen?: (event: Event) => void onClose?: (event?: Event) => void onMessage?: (event: MessageEvent) => void @@ -12,6 +13,7 @@ interface SseOptions { let sse: EventSource +// TODO(tokens): Swap eventsource with polyfilled version that supports headers function useSse(url: string, { onOpen, onClose, onMessage }: SseOptions = {}) { const timoutRef = useRef(null) /** diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 9573a7407..d0ec6a3ba 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -18,6 +18,7 @@ export { useQuery, } from './client' export * from './context' +export * from './desktop' export * from './hooks' export { invalidateQueries } from './invalidate' export { StumpClientContextProvider } from './provider' diff --git a/packages/client/src/queries/auth.ts b/packages/client/src/queries/auth.ts index 609724ec5..5945c6eeb 100644 --- a/packages/client/src/queries/auth.ts +++ b/packages/client/src/queries/auth.ts @@ -1,6 +1,8 @@ -import { isUser, LoginOrRegisterArgs, type User } from '@stump/sdk' +import { isAxiosError, isUser, LoginOrRegisterArgs, type User } from '@stump/sdk' import { useEffect, useState } from 'react' +import { useClientContext } from '@/context' + import { queryClient, QueryOptions, useMutation, useQuery } from '../client' import { useSDK } from '../sdk' @@ -42,10 +44,20 @@ export function useLoginOrRegister({ }: UseLoginOrRegisterOptions) { const [isClaimed, setIsClaimed] = useState(true) + const { onAuthenticated } = useClientContext() const { sdk } = useSDK() const { data: claimCheck, isLoading: isCheckingClaimed } = useQuery( [sdk.server.keys.claimedStatus, refetchClaimed], () => sdk.server.claimedStatus(), + { + retry: (failureCount, error) => { + if (failureCount > 3) { + return false + } else { + return isAxiosError(error) && error.code === 'ERR_NETWORK' + } + }, + }, ) useEffect(() => { @@ -62,9 +74,20 @@ export function useLoginOrRegister({ onError: (err) => { onError?.(err) }, - onSuccess: (user) => { - queryClient.invalidateQueries(['getLibraries']) - onSuccess?.(user) + onSuccess: async (response) => { + // TODO(token): refresh support + if ('for_user' in response && !!onAuthenticated) { + const { + for_user, + token: { access_token }, + } = response + await onAuthenticated(for_user, access_token) + onSuccess?.(for_user) + } else if (isUser(response)) { + onSuccess?.(response) + } + + await queryClient.invalidateQueries(['getLibraries']) }, }) @@ -95,13 +118,15 @@ type UseLogoutParams = { export function useLogout({ removeStoreUser }: UseLogoutParams = {}) { const { sdk } = useSDK() + const { onLogout } = useClientContext() const { mutateAsync: logout, isLoading } = useMutation( [sdk.auth.keys.logout], () => sdk.auth.logout(), { - onSuccess: () => { + onSuccess: async () => { queryClient.clear() removeStoreUser?.() + await onLogout?.() }, }, ) diff --git a/packages/client/src/sdk/SDKProvider.tsx b/packages/client/src/sdk/SDKProvider.tsx index a9b1d4f18..c3718eefc 100644 --- a/packages/client/src/sdk/SDKProvider.tsx +++ b/packages/client/src/sdk/SDKProvider.tsx @@ -1,6 +1,8 @@ import { Api, AuthenticationMethod } from '@stump/sdk' import { PropsWithChildren, useEffect, useState } from 'react' +import { useClientContext } from '@/context' + import { SDKContext } from './context' type SDKProviderProps = { @@ -14,12 +16,47 @@ export function SDKProvider({ children, }: PropsWithChildren) { const [sdk, setSDK] = useState(null) + const { tauriRPC } = useClientContext() useEffect(() => { - if (baseURL) { - setSDK(new Api(baseURL, authMethod)) + if (!baseURL && !tauriRPC) { + console.debug('No baseURL or Tauri RPC, likely running in browser') + return } - }, [baseURL, authMethod]) + + console.debug('Initializing SDK with', baseURL, authMethod) + const instance = new Api(baseURL, authMethod) + + if (!tauriRPC || authMethod === 'session') { + console.debug('No Tauri RPC or using session auth method') + setSDK(instance) + return + } + + const setExistingToken = async () => { + console.debug('Checking for existing token') + try { + const currentServer = await tauriRPC.getCurrentServerName() + if (!currentServer) { + console.warn('No active server found') + setSDK(instance) + return + } + + const token = await tauriRPC.getApiToken(currentServer) + if (token) { + console.debug('Found existing token for', currentServer) + instance.token = token + } + } catch (error) { + console.error('Failed to get existing token', error) + } + + setSDK(instance) + } + + setExistingToken() + }, [baseURL, authMethod, tauriRPC]) if (!sdk) { return null diff --git a/packages/components/package.json b/packages/components/package.json index 047920033..ab941c5fc 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -81,8 +81,8 @@ "@storybook/testing-library": "^0.2.2", "@storybook/theming": "^7.6.17", "@tailwindcss/typography": "^0.5.12", - "@types/react": "^18.2.78", - "@types/react-dom": "^18.2.25", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", "babel-loader": "^9.1.3", "css-loader": "^6.11.0", "postcss-loader": "^7.3.4", diff --git a/packages/components/src/card/index.ts b/packages/components/src/card/index.ts index 6ffc5700a..1bfa297b5 100644 --- a/packages/components/src/card/index.ts +++ b/packages/components/src/card/index.ts @@ -1,3 +1,2 @@ export { Card, CardGrid, type CardProps } from './Card' -export { EntityCard } from './EntityCard' export { HoverCard, type HoverCardProps } from './HoverCard' diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index f217a9833..251272614 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -16,7 +16,7 @@ export { type IconButtonProps, } from './button' export { Calendar, DatePicker } from './calendar' -export { Card, CardGrid, type CardProps, EntityCard, HoverCard, type HoverCardProps } from './card' +export { Card, CardGrid, type CardProps, HoverCard, type HoverCardProps } from './card' export { Command, type CommandProps } from './command' export { Divider, Spacer, type SpacerProps, SplitContainer } from './container' export { ContextMenu, type ContextMenuProps } from './context-menu' diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index 919f529a9..c7eb6542e 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -1130,6 +1130,7 @@ "configuredServers": { "label": "Configured servers", "description": "The list of Stump servers you can connect to", + "getStarted": "Add a server to get started", "unreachableServer": { "tooltip": "Server unreachable" }, @@ -1200,6 +1201,19 @@ "disclaimer": "You will be logged out and have to reconfigure any servers in the initialization process", "confirm": "Delete all servers" } + }, + "resetTokens": { + "label": "Clear authentication", + "description": [ + "Remove all securely-stored access tokens for your servers", + "You will have to re-authenticate with each server" + ], + "confirmation": { + "trigger": "Clear authentication", + "title": "Clear authentication", + "description": "This will remove all securely-stored access tokens for your servers", + "confirm": "Clear authentication" + } } }, "optionalFeatures": { diff --git a/packages/sdk/src/api.ts b/packages/sdk/src/api.ts index 81019269e..4640571d6 100644 --- a/packages/sdk/src/api.ts +++ b/packages/sdk/src/api.ts @@ -89,7 +89,7 @@ export class Api { /** * Set the current access token for the API */ - set token(token: string) { + set token(token: string | undefined) { this.accessToken = token } diff --git a/packages/sdk/src/controllers/auth-api.ts b/packages/sdk/src/controllers/auth-api.ts index 22fc40e32..9c03e80d0 100644 --- a/packages/sdk/src/controllers/auth-api.ts +++ b/packages/sdk/src/controllers/auth-api.ts @@ -28,7 +28,7 @@ export class AuthAPI extends APIBase { * Authenticate a user with the given username and password. This will either rely on session-based * authentication or token-based authentication, depending on the API configuration. */ - async login({ username, password }: LoginOrRegisterArgs): Promise { + async login({ username, password }: LoginOrRegisterArgs): Promise { const response = await this.api.axios.post( authURL( '/login', @@ -40,19 +40,14 @@ export class AuthAPI extends APIBase { }, ) - let user: User if ('token' in response.data) { const { - for_user, token: { access_token }, } = response.data this.api.token = access_token - user = for_user - } else { - user = response.data } - return user + return response.data } /** @@ -68,11 +63,14 @@ export class AuthAPI extends APIBase { } /** - * Log out the currently authenticated user + * Log out the currently authenticated user. If token-based authentication is used, the token will be + * removed from the API instance. */ async logout(): Promise { if (this.api.isTokenAuth) { - await this.api.axios.delete(authURL('/token')) + // await this.api.axios.delete(authURL('/token')) + await this.api.axios.post(authURL('/logout')) + this.api.token = undefined } else { await this.api.axios.post(authURL('/logout')) } diff --git a/packages/sdk/src/types/generated.ts b/packages/sdk/src/types/generated.ts index 6626f7cde..9374b5fde 100644 --- a/packages/sdk/src/types/generated.ts +++ b/packages/sdk/src/types/generated.ts @@ -503,3 +503,5 @@ export type SavedServer = { name: string; uri: string } export type DesktopAppStore = { run_bundled_server: boolean; active_server?: SavedServer | null; connected_servers: SavedServer[] } +export type CredentialStoreTokenState = { [key: string]: boolean } + diff --git a/scripts/system-setup.sh b/scripts/system-setup.sh index 1820452b4..b9491e742 100755 --- a/scripts/system-setup.sh +++ b/scripts/system-setup.sh @@ -91,7 +91,7 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then if which apt-get &> /dev/null; then sudo apt-get -y update sudo apt-get -y install \ - libwebkit2gtk-4.0-dev \ + libwebkit2gtk-4.1-dev \ pkg-config \ build-essential \ curl \ @@ -102,11 +102,13 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then libgtk-3-dev \ libayatana-appindicator3-dev \ javascriptcoregtk-4.0 \ + libxdo-dev \ + libssl-dev \ librsvg2-dev \ libvips42 elif which pacman &> /dev/null; then sudo pacman -Syu - sudo pacman -S --needed webkit2gtk \ + sudo pacman -S --needed webkit2gtk-4.1 \ base-devel \ curl \ wget \ @@ -117,7 +119,13 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then libappindicator-gtk3 librsvg libvips elif which dnf &> /dev/null; then sudo dnf check-update - sudo dnf install openssl-devel webkit2gtk4.0-devel curl wget libappindicator-gtk3 librsvg2-devel dav1d + sudo dnf install webkit2gtk4.1-devel \ + openssl-devel \ + curl \ + wget \ + file \ + libappindicator-gtk3-devel \ + librsvg2-devel sudo dnf group install "C Development Tools and Libraries" else log_error $UNSUPPORTED_DISTRO diff --git a/yarn.lock b/yarn.lock index b828d2546..d15667a7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,27 +4,27 @@ "@0no-co/graphql.web@^1.0.1": version "1.0.4" - resolved "https://registry.yarnpkg.com/@0no-co/graphql.web/-/graphql.web-1.0.4.tgz#9606eb651955499525d068ce0ad8bea596286ce2" + resolved "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.4.tgz" integrity sha512-W3ezhHGfO0MS1PtGloaTpg0PbaT8aZSmmaerL7idtU5F7oCI+uu25k+MsMS31BVFlp4aMkHSrNRxiD72IlK8TA== "@aashutoshrathi/word-wrap@^1.2.3": version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== "@adobe/css-tools@^4.4.0": version "4.4.0" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" + resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz" integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== "@alloc/quick-lru@^5.2.0": version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@ampproject/remapping@^2.2.0": version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: "@jridgewell/gen-mapping" "^0.3.0" @@ -32,21 +32,21 @@ "@aw-web-design/x-default-browser@1.4.126": version "1.4.126" - resolved "https://registry.yarnpkg.com/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz#43e4bd8f0314ed907a8718d7e862a203af79bc16" + resolved "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz" integrity sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug== dependencies: default-browser-id "3.0.0" "@babel/code-frame@7.10.4", "@babel/code-frame@~7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: "@babel/highlight" "^7.10.4" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5": version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== dependencies: "@babel/highlight" "^7.23.4" @@ -54,7 +54,7 @@ "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== dependencies: "@babel/highlight" "^7.24.2" @@ -62,7 +62,7 @@ "@babel/code-frame@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz" integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== dependencies: "@babel/highlight" "^7.24.7" @@ -70,22 +70,22 @@ "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== "@babel/compat-data@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.18.9", "@babel/core@^7.19.3", "@babel/core@^7.20.0", "@babel/core@^7.23.0", "@babel/core@^7.23.2", "@babel/core@^7.23.5": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz" integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== dependencies: "@ampproject/remapping" "^2.2.0" @@ -106,7 +106,7 @@ "@babel/core@^7.23.9": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz" integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== dependencies: "@ampproject/remapping" "^2.2.0" @@ -127,7 +127,7 @@ "@babel/core@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz" integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== dependencies: "@ampproject/remapping" "^2.2.0" @@ -148,7 +148,7 @@ "@babel/generator@^7.18.7", "@babel/generator@^7.20.0", "@babel/generator@^7.20.5", "@babel/generator@^7.23.0", "@babel/generator@^7.23.6": version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz" integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: "@babel/types" "^7.23.6" @@ -158,7 +158,7 @@ "@babel/generator@^7.24.1", "@babel/generator@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz" integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== dependencies: "@babel/types" "^7.24.0" @@ -168,7 +168,7 @@ "@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz" integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== dependencies: "@babel/types" "^7.25.6" @@ -178,28 +178,28 @@ "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: "@babel/types" "^7.22.5" "@babel/helper-annotate-as-pure@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz" integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== dependencies: "@babel/types" "^7.24.7" "@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: "@babel/types" "^7.22.15" "@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz#37d66feb012024f2422b762b9b2a7cfe27c7fba3" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz" integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== dependencies: "@babel/traverse" "^7.24.7" @@ -207,7 +207,7 @@ "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: "@babel/compat-data" "^7.23.5" @@ -218,7 +218,7 @@ "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz" integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== dependencies: "@babel/compat-data" "^7.25.2" @@ -229,7 +229,7 @@ "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.9": version "7.23.10" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz" integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -244,7 +244,7 @@ "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz#c806f73788a6800a5cfbbc04d2df7ee4d927cce3" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz" integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -259,7 +259,7 @@ "@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.0", "@babel/helper-create-class-features-plugin@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz#57eaf1af38be4224a9d9dd01ddde05b741f50e14" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz" integrity sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -272,7 +272,7 @@ "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -281,7 +281,7 @@ "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0", "@babel/helper-create-regexp-features-plugin@^7.25.2": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz" integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -290,7 +290,7 @@ "@babel/helper-define-polyfill-provider@^0.5.0": version "0.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz" integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== dependencies: "@babel/helper-compilation-targets" "^7.22.6" @@ -301,7 +301,7 @@ "@babel/helper-define-polyfill-provider@^0.6.1": version "0.6.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz" integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== dependencies: "@babel/helper-compilation-targets" "^7.22.6" @@ -312,7 +312,7 @@ "@babel/helper-define-polyfill-provider@^0.6.2": version "0.6.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== dependencies: "@babel/helper-compilation-targets" "^7.22.6" @@ -323,12 +323,12 @@ "@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== "@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: "@babel/template" "^7.22.15" @@ -336,21 +336,21 @@ "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: "@babel/types" "^7.22.5" "@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: "@babel/types" "^7.23.0" "@babel/helper-member-expression-to-functions@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz" integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== dependencies: "@babel/traverse" "^7.24.8" @@ -358,28 +358,28 @@ "@babel/helper-module-imports@7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-imports@^7.22.15": version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: "@babel/types" "^7.22.15" "@babel/helper-module-imports@^7.24.1": version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== dependencies: "@babel/types" "^7.24.0" "@babel/helper-module-imports@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz" integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== dependencies: "@babel/traverse" "^7.24.7" @@ -387,7 +387,7 @@ "@babel/helper-module-transforms@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -398,7 +398,7 @@ "@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.0", "@babel/helper-module-transforms@^7.25.2": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz" integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== dependencies: "@babel/helper-module-imports" "^7.24.7" @@ -408,36 +408,36 @@ "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== dependencies: "@babel/types" "^7.22.5" "@babel/helper-optimise-call-expression@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz" integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== dependencies: "@babel/types" "^7.24.7" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== "@babel/helper-plugin-utils@^7.24.0": version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz" integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== "@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -446,7 +446,7 @@ "@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz" integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -455,7 +455,7 @@ "@babel/helper-replace-supers@^7.22.20": version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -464,7 +464,7 @@ "@babel/helper-replace-supers@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -473,7 +473,7 @@ "@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz" integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== dependencies: "@babel/helper-member-expression-to-functions" "^7.24.8" @@ -482,14 +482,14 @@ "@babel/helper-simple-access@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: "@babel/types" "^7.22.5" "@babel/helper-simple-access@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz" integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== dependencies: "@babel/traverse" "^7.24.7" @@ -497,14 +497,14 @@ "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== dependencies: "@babel/types" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz" integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== dependencies: "@babel/traverse" "^7.24.7" @@ -512,44 +512,44 @@ "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== dependencies: "@babel/types" "^7.22.5" "@babel/helper-string-parser@^7.18.10", "@babel/helper-string-parser@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== "@babel/helper-string-parser@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz" integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== "@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== "@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz" integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== "@babel/helper-wrap-function@^7.22.20": version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== dependencies: "@babel/helper-function-name" "^7.22.5" @@ -558,7 +558,7 @@ "@babel/helper-wrap-function@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz" integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== dependencies: "@babel/template" "^7.25.0" @@ -567,7 +567,7 @@ "@babel/helpers@^7.23.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz" integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== dependencies: "@babel/template" "^7.23.9" @@ -576,7 +576,7 @@ "@babel/helpers@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz" integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== dependencies: "@babel/template" "^7.24.0" @@ -585,7 +585,7 @@ "@babel/helpers@^7.25.0": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz" integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== dependencies: "@babel/template" "^7.25.0" @@ -593,7 +593,7 @@ "@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== dependencies: "@babel/helper-validator-identifier" "^7.22.20" @@ -602,7 +602,7 @@ "@babel/highlight@^7.24.2": version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz" integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== dependencies: "@babel/helper-validator-identifier" "^7.22.20" @@ -612,7 +612,7 @@ "@babel/highlight@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz" integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== dependencies: "@babel/helper-validator-identifier" "^7.24.7" @@ -622,24 +622,24 @@ "@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz" integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz" integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz" integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== dependencies: "@babel/types" "^7.25.6" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz#6125f0158543fb4edf1c22f322f3db67f21cb3e1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz" integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -647,7 +647,7 @@ "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz" integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== dependencies: "@babel/helper-plugin-utils" "^7.24.8" @@ -655,35 +655,35 @@ "@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz" integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz" integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz" integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz" integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz" integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -692,7 +692,7 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz" integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -701,7 +701,7 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz#e4eabdd5109acc399b38d7999b2ef66fc2022f89" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz" integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -710,7 +710,7 @@ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz" integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -718,7 +718,7 @@ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz" integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -726,7 +726,7 @@ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz" integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== dependencies: "@babel/helper-plugin-utils" "^7.24.8" @@ -734,7 +734,7 @@ "@babel/plugin-proposal-async-generator-functions@^7.0.0": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -744,7 +744,7 @@ "@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" @@ -752,7 +752,7 @@ "@babel/plugin-proposal-decorators@^7.12.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.9.tgz#126d947d62ee72022ec46813983c6dd861456fa3" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.9.tgz" integrity sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA== dependencies: "@babel/helper-create-class-features-plugin" "^7.23.9" @@ -761,7 +761,7 @@ "@babel/plugin-proposal-export-default-from@^7.0.0": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz#6f511a676c540ccc8d17a8553dbba9230b0ddac0" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.23.3.tgz" integrity sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -769,7 +769,7 @@ "@babel/plugin-proposal-export-namespace-from@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" @@ -777,7 +777,7 @@ "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -785,7 +785,7 @@ "@babel/plugin-proposal-numeric-separator@^7.0.0": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -793,7 +793,7 @@ "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.0": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: "@babel/compat-data" "^7.20.5" @@ -804,7 +804,7 @@ "@babel/plugin-proposal-optional-catch-binding@^7.0.0": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -812,7 +812,7 @@ "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -821,229 +821,229 @@ "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz" integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz#7e6d4bf595d5724230200fb2b7401d4734b15335" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.23.3.tgz" integrity sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz" integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-assertions@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz" integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-assertions@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz" integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-import-assertions@^7.24.7": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz#bb918905c58711b86f9710d74a3744b6c56573b5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz" integrity sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-syntax-import-attributes@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz" integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-attributes@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz" integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-import-attributes@^7.24.7": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz" integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz" integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-jsx@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.7.2": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz" integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz" integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-typescript@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-typescript@^7.24.7", "@babel/plugin-syntax-typescript@^7.7.2": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz#04db9ce5a9043d9c635e75ae7969a2cd50ca97ff" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz" integrity sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -1051,28 +1051,28 @@ "@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz" integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-arrow-functions@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz" integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-arrow-functions@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz" integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-async-generator-functions@^7.23.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz" integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -1082,7 +1082,7 @@ "@babel/plugin-transform-async-generator-functions@^7.24.3": version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz" integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -1092,7 +1092,7 @@ "@babel/plugin-transform-async-generator-functions@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz#2afd4e639e2d055776c9f091b6c0c180ed8cf083" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz" integrity sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg== dependencies: "@babel/helper-plugin-utils" "^7.24.8" @@ -1102,7 +1102,7 @@ "@babel/plugin-transform-async-to-generator@^7.20.0", "@babel/plugin-transform-async-to-generator@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz" integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== dependencies: "@babel/helper-module-imports" "^7.22.15" @@ -1111,7 +1111,7 @@ "@babel/plugin-transform-async-to-generator@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz" integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== dependencies: "@babel/helper-module-imports" "^7.24.1" @@ -1120,7 +1120,7 @@ "@babel/plugin-transform-async-to-generator@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz#72a3af6c451d575842a7e9b5a02863414355bdcc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz" integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== dependencies: "@babel/helper-module-imports" "^7.24.7" @@ -1129,49 +1129,49 @@ "@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz" integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoped-functions@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz" integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-block-scoped-functions@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz#a4251d98ea0c0f399dafe1a35801eaba455bbf1f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz" integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz" integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoping@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz#28f5c010b66fbb8ccdeef853bef1935c434d7012" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz" integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-block-scoping@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz" integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz" integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.15" @@ -1179,7 +1179,7 @@ "@babel/plugin-transform-class-properties@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz" integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== dependencies: "@babel/helper-create-class-features-plugin" "^7.24.1" @@ -1187,7 +1187,7 @@ "@babel/plugin-transform-class-properties@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz#bae7dbfcdcc2e8667355cd1fb5eda298f05189fd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz" integrity sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.4" @@ -1195,7 +1195,7 @@ "@babel/plugin-transform-class-static-block@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz" integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.15" @@ -1204,7 +1204,7 @@ "@babel/plugin-transform-class-static-block@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz" integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== dependencies: "@babel/helper-create-class-features-plugin" "^7.24.4" @@ -1213,7 +1213,7 @@ "@babel/plugin-transform-class-static-block@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz#c82027ebb7010bc33c116d4b5044fbbf8c05484d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz" integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.24.7" @@ -1222,7 +1222,7 @@ "@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.23.8": version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz" integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -1236,7 +1236,7 @@ "@babel/plugin-transform-classes@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz" integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -1250,7 +1250,7 @@ "@babel/plugin-transform-classes@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz#d29dbb6a72d79f359952ad0b66d88518d65ef89a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz" integrity sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -1262,7 +1262,7 @@ "@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz" integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1270,7 +1270,7 @@ "@babel/plugin-transform-computed-properties@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1278,7 +1278,7 @@ "@babel/plugin-transform-computed-properties@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz#4cab3214e80bc71fae3853238d13d097b004c707" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz" integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1286,28 +1286,28 @@ "@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz" integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-destructuring@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz" integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-destructuring@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz" integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-dotall-regex@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz" integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -1315,7 +1315,7 @@ "@babel/plugin-transform-dotall-regex@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz" integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -1323,7 +1323,7 @@ "@babel/plugin-transform-dotall-regex@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz#5f8bf8a680f2116a7207e16288a5f974ad47a7a0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz" integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.24.7" @@ -1331,28 +1331,28 @@ "@babel/plugin-transform-duplicate-keys@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz" integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-duplicate-keys@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz" integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-duplicate-keys@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz#dd20102897c9a2324e5adfffb67ff3610359a8ee" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz" integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz" integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.0" @@ -1360,7 +1360,7 @@ "@babel/plugin-transform-dynamic-import@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz" integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1368,7 +1368,7 @@ "@babel/plugin-transform-dynamic-import@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz" integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1376,7 +1376,7 @@ "@babel/plugin-transform-dynamic-import@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz" integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1384,7 +1384,7 @@ "@babel/plugin-transform-exponentiation-operator@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz" integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" @@ -1392,7 +1392,7 @@ "@babel/plugin-transform-exponentiation-operator@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz" integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" @@ -1400,7 +1400,7 @@ "@babel/plugin-transform-exponentiation-operator@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz#b629ee22645f412024297d5245bce425c31f9b0d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz" integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" @@ -1408,7 +1408,7 @@ "@babel/plugin-transform-export-namespace-from@^7.22.11", "@babel/plugin-transform-export-namespace-from@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz" integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1416,7 +1416,7 @@ "@babel/plugin-transform-export-namespace-from@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1424,7 +1424,7 @@ "@babel/plugin-transform-export-namespace-from@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz#176d52d8d8ed516aeae7013ee9556d540c53f197" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz" integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1432,7 +1432,7 @@ "@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" + resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz" integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1440,7 +1440,7 @@ "@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.23.6": version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz" integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1448,7 +1448,7 @@ "@babel/plugin-transform-for-of@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz" integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1456,7 +1456,7 @@ "@babel/plugin-transform-for-of@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz#f25b33f72df1d8be76399e1b8f3f9d366eb5bc70" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz" integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1464,7 +1464,7 @@ "@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz" integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== dependencies: "@babel/helper-compilation-targets" "^7.22.15" @@ -1473,7 +1473,7 @@ "@babel/plugin-transform-function-name@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== dependencies: "@babel/helper-compilation-targets" "^7.23.6" @@ -1482,7 +1482,7 @@ "@babel/plugin-transform-function-name@^7.25.1": version "7.25.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz" integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== dependencies: "@babel/helper-compilation-targets" "^7.24.8" @@ -1491,7 +1491,7 @@ "@babel/plugin-transform-json-strings@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz" integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1499,7 +1499,7 @@ "@babel/plugin-transform-json-strings@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz" integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1507,7 +1507,7 @@ "@babel/plugin-transform-json-strings@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz#f3e9c37c0a373fee86e36880d45b3664cedaf73a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz" integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1515,28 +1515,28 @@ "@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz" integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-literals@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-literals@^7.25.2": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz" integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-logical-assignment-operators@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz" integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1544,7 +1544,7 @@ "@babel/plugin-transform-logical-assignment-operators@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz" integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1552,7 +1552,7 @@ "@babel/plugin-transform-logical-assignment-operators@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz" integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1560,28 +1560,28 @@ "@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz" integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-member-expression-literals@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz" integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-member-expression-literals@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz#3b4454fb0e302e18ba4945ba3246acb1248315df" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz" integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-modules-amd@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz" integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== dependencies: "@babel/helper-module-transforms" "^7.23.3" @@ -1589,7 +1589,7 @@ "@babel/plugin-transform-modules-amd@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz" integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== dependencies: "@babel/helper-module-transforms" "^7.23.3" @@ -1597,7 +1597,7 @@ "@babel/plugin-transform-modules-amd@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz#65090ed493c4a834976a3ca1cde776e6ccff32d7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz" integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== dependencies: "@babel/helper-module-transforms" "^7.24.7" @@ -1605,7 +1605,7 @@ "@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.0", "@babel/plugin-transform-modules-commonjs@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz" integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: "@babel/helper-module-transforms" "^7.23.3" @@ -1614,7 +1614,7 @@ "@babel/plugin-transform-modules-commonjs@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== dependencies: "@babel/helper-module-transforms" "^7.23.3" @@ -1623,7 +1623,7 @@ "@babel/plugin-transform-modules-commonjs@^7.24.7", "@babel/plugin-transform-modules-commonjs@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz" integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== dependencies: "@babel/helper-module-transforms" "^7.24.8" @@ -1632,7 +1632,7 @@ "@babel/plugin-transform-modules-systemjs@^7.23.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz" integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== dependencies: "@babel/helper-hoist-variables" "^7.22.5" @@ -1642,7 +1642,7 @@ "@babel/plugin-transform-modules-systemjs@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz" integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== dependencies: "@babel/helper-hoist-variables" "^7.22.5" @@ -1652,7 +1652,7 @@ "@babel/plugin-transform-modules-systemjs@^7.25.0": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz" integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== dependencies: "@babel/helper-module-transforms" "^7.25.0" @@ -1662,7 +1662,7 @@ "@babel/plugin-transform-modules-umd@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz" integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== dependencies: "@babel/helper-module-transforms" "^7.23.3" @@ -1670,7 +1670,7 @@ "@babel/plugin-transform-modules-umd@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz" integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== dependencies: "@babel/helper-module-transforms" "^7.23.3" @@ -1678,7 +1678,7 @@ "@babel/plugin-transform-modules-umd@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz#edd9f43ec549099620df7df24e7ba13b5c76efc8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz" integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== dependencies: "@babel/helper-module-transforms" "^7.24.7" @@ -1686,7 +1686,7 @@ "@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" @@ -1694,7 +1694,7 @@ "@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz#9042e9b856bc6b3688c0c2e4060e9e10b1460923" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz" integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.24.7" @@ -1702,28 +1702,28 @@ "@babel/plugin-transform-new-target@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz" integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-new-target@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz" integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-new-target@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz#31ff54c4e0555cc549d5816e4ab39241dfb6ab00" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz" integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-nullish-coalescing-operator@^7.22.11", "@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz" integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1731,7 +1731,7 @@ "@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz" integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1739,7 +1739,7 @@ "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz" integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1747,7 +1747,7 @@ "@babel/plugin-transform-numeric-separator@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz" integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1755,7 +1755,7 @@ "@babel/plugin-transform-numeric-separator@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz" integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1763,7 +1763,7 @@ "@babel/plugin-transform-numeric-separator@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz#bea62b538c80605d8a0fac9b40f48e97efa7de63" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz" integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1771,14 +1771,14 @@ "@babel/plugin-transform-object-assign@^7.16.7": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz#64177e8cf943460c7f0e1c410277546804f59625" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.23.3.tgz" integrity sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-object-rest-spread@^7.12.13", "@babel/plugin-transform-object-rest-spread@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz" integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== dependencies: "@babel/compat-data" "^7.23.3" @@ -1789,7 +1789,7 @@ "@babel/plugin-transform-object-rest-spread@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz" integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== dependencies: "@babel/helper-compilation-targets" "^7.23.6" @@ -1799,7 +1799,7 @@ "@babel/plugin-transform-object-rest-spread@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz" integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== dependencies: "@babel/helper-compilation-targets" "^7.24.7" @@ -1809,7 +1809,7 @@ "@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz" integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1817,7 +1817,7 @@ "@babel/plugin-transform-object-super@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz" integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1825,7 +1825,7 @@ "@babel/plugin-transform-object-super@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz" integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1833,7 +1833,7 @@ "@babel/plugin-transform-optional-catch-binding@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz" integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1841,7 +1841,7 @@ "@babel/plugin-transform-optional-catch-binding@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz" integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1849,7 +1849,7 @@ "@babel/plugin-transform-optional-catch-binding@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz#00eabd883d0dd6a60c1c557548785919b6e717b4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz" integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -1857,7 +1857,7 @@ "@babel/plugin-transform-optional-chaining@^7.23.0", "@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz" integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1866,7 +1866,7 @@ "@babel/plugin-transform-optional-chaining@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz" integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -1875,7 +1875,7 @@ "@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz" integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== dependencies: "@babel/helper-plugin-utils" "^7.24.8" @@ -1884,28 +1884,28 @@ "@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.15", "@babel/plugin-transform-parameters@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz" integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-parameters@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz" integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-parameters@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz" integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz" integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.15" @@ -1913,7 +1913,7 @@ "@babel/plugin-transform-private-methods@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz" integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== dependencies: "@babel/helper-create-class-features-plugin" "^7.24.1" @@ -1921,7 +1921,7 @@ "@babel/plugin-transform-private-methods@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz#9bbefbe3649f470d681997e0b64a4b254d877242" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz" integrity sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.4" @@ -1929,7 +1929,7 @@ "@babel/plugin-transform-private-property-in-object@^7.22.11", "@babel/plugin-transform-private-property-in-object@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz" integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -1939,7 +1939,7 @@ "@babel/plugin-transform-private-property-in-object@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz" integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -1949,7 +1949,7 @@ "@babel/plugin-transform-private-property-in-object@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz#4eec6bc701288c1fab5f72e6a4bbc9d67faca061" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz" integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -1959,77 +1959,77 @@ "@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz" integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-property-literals@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz" integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-property-literals@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz#f0d2ed8380dfbed949c42d4d790266525d63bbdc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz" integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz" integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz" integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-react-display-name@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz#9caff79836803bc666bcfe210aeb6626230c293b" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz" integrity sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-react-jsx-development@^7.22.5": version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== dependencies: "@babel/plugin-transform-react-jsx" "^7.22.5" "@babel/plugin-transform-react-jsx-development@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz#eaee12f15a93f6496d852509a850085e6361470b" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz" integrity sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ== dependencies: "@babel/plugin-transform-react-jsx" "^7.24.7" "@babel/plugin-transform-react-jsx-self@^7.0.0", "@babel/plugin-transform-react-jsx-self@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz" integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx-source@^7.0.0", "@babel/plugin-transform-react-jsx-source@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz" integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -2040,7 +2040,7 @@ "@babel/plugin-transform-react-jsx@^7.24.7": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz#e37e8ebfa77e9f0b16ba07fadcb6adb47412227a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz" integrity sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -2051,7 +2051,7 @@ "@babel/plugin-transform-react-pure-annotations@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz" integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -2059,7 +2059,7 @@ "@babel/plugin-transform-react-pure-annotations@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz#c86bce22a53956331210d268e49a0ff06e392470" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz" integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -2067,7 +2067,7 @@ "@babel/plugin-transform-react-pure-annotations@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz#bdd9d140d1c318b4f28b29a00fb94f97ecab1595" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz" integrity sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -2075,7 +2075,7 @@ "@babel/plugin-transform-regenerator@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz" integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -2083,7 +2083,7 @@ "@babel/plugin-transform-regenerator@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz" integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -2091,7 +2091,7 @@ "@babel/plugin-transform-regenerator@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz#021562de4534d8b4b1851759fd7af4e05d2c47f8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz" integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -2099,28 +2099,28 @@ "@babel/plugin-transform-reserved-words@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz" integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-reserved-words@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz" integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-reserved-words@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz#80037fe4fbf031fc1125022178ff3938bb3743a4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz" integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-runtime@^7.0.0": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz" integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== dependencies: "@babel/helper-module-imports" "^7.22.15" @@ -2132,28 +2132,28 @@ "@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz" integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-shorthand-properties@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz" integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-shorthand-properties@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz" integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz" integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -2161,7 +2161,7 @@ "@babel/plugin-transform-spread@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -2169,7 +2169,7 @@ "@babel/plugin-transform-spread@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz#e8a38c0fde7882e0fb8f160378f74bd885cc7bb3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz" integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -2177,70 +2177,70 @@ "@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz" integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-sticky-regex@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-sticky-regex@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz#96ae80d7a7e5251f657b5cf18f1ea6bf926f5feb" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz" integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz" integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-template-literals@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz" integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-template-literals@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz" integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-typeof-symbol@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz" integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typeof-symbol@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz" integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-typeof-symbol@^7.24.8": version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz" integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== dependencies: "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-typescript@^7.23.3", "@babel/plugin-transform-typescript@^7.5.0": version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz" integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -2250,7 +2250,7 @@ "@babel/plugin-transform-typescript@^7.24.1": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz#03e0492537a4b953e491f53f2bc88245574ebd15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz" integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -2260,7 +2260,7 @@ "@babel/plugin-transform-typescript@^7.24.7": version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz#237c5d10de6d493be31637c6b9fa30b6c5461add" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz" integrity sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" @@ -2271,28 +2271,28 @@ "@babel/plugin-transform-unicode-escapes@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz" integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-escapes@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz" integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== dependencies: "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-transform-unicode-escapes@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz#2023a82ced1fb4971630a2e079764502c4148e0e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz" integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== dependencies: "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-transform-unicode-property-regex@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz" integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -2300,7 +2300,7 @@ "@babel/plugin-transform-unicode-property-regex@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz" integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -2308,7 +2308,7 @@ "@babel/plugin-transform-unicode-property-regex@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz#9073a4cd13b86ea71c3264659590ac086605bbcd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz" integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.24.7" @@ -2316,7 +2316,7 @@ "@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz" integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -2324,7 +2324,7 @@ "@babel/plugin-transform-unicode-regex@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -2332,7 +2332,7 @@ "@babel/plugin-transform-unicode-regex@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz#dfc3d4a51127108099b19817c0963be6a2adf19f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz" integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.24.7" @@ -2340,7 +2340,7 @@ "@babel/plugin-transform-unicode-sets-regex@^7.23.3": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz" integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -2348,7 +2348,7 @@ "@babel/plugin-transform-unicode-sets-regex@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz" integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.15" @@ -2356,7 +2356,7 @@ "@babel/plugin-transform-unicode-sets-regex@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz#be664c2a0697ffacd3423595d5edef6049e8946c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz" integrity sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.25.2" @@ -2364,7 +2364,7 @@ "@babel/preset-env@^7.20.0", "@babel/preset-env@^7.23.2": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz" integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== dependencies: "@babel/compat-data" "^7.23.5" @@ -2450,7 +2450,7 @@ "@babel/preset-env@^7.24.4": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.4.tgz#46dbbcd608771373b88f956ffb67d471dce0d23b" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz" integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== dependencies: "@babel/compat-data" "^7.24.4" @@ -2537,7 +2537,7 @@ "@babel/preset-env@^7.25.4": version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.4.tgz#be23043d43a34a2721cd0f676c7ba6f1481f6af6" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz" integrity sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw== dependencies: "@babel/compat-data" "^7.25.4" @@ -2626,7 +2626,7 @@ "@babel/preset-flow@^7.13.13", "@babel/preset-flow@^7.22.15": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.23.3.tgz#8084e08b9ccec287bd077ab288b286fab96ffab1" + resolved "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz" integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -2635,7 +2635,7 @@ "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -2644,7 +2644,7 @@ "@babel/preset-react@^7.22.15": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz" integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -2656,7 +2656,7 @@ "@babel/preset-react@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz" integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -2668,7 +2668,7 @@ "@babel/preset-react@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.7.tgz#480aeb389b2a798880bf1f889199e3641cbb22dc" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz" integrity sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -2680,7 +2680,7 @@ "@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7", "@babel/preset-typescript@^7.23.0": version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz" integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -2691,7 +2691,7 @@ "@babel/preset-typescript@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz" integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== dependencies: "@babel/helper-plugin-utils" "^7.24.0" @@ -2702,7 +2702,7 @@ "@babel/preset-typescript@^7.24.7": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz#66cd86ea8f8c014855671d5ea9a737139cbbfef1" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz" integrity sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" @@ -2713,7 +2713,7 @@ "@babel/register@^7.13.16", "@babel/register@^7.22.15": version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.23.7.tgz#485a5e7951939d21304cae4af1719fdb887bc038" + resolved "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz" integrity sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ== dependencies: clone-deep "^4.0.1" @@ -2724,47 +2724,47 @@ "@babel/regjsgen@^0.8.0": version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@7.1.2": version "7.1.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz" integrity sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg== dependencies: regenerator-runtime "^0.12.0" "@babel/runtime@7.2.0": version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz" integrity sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg== dependencies: regenerator-runtime "^0.12.0" "@babel/runtime@7.3.4": version "7.3.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz" integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g== dependencies: regenerator-runtime "^0.12.0" "@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.8.4": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== dependencies: regenerator-runtime "^0.14.0" "@babel/runtime@^7.23.9": version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz" integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== dependencies: regenerator-runtime "^0.14.0" "@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.23.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz" integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== dependencies: "@babel/code-frame" "^7.23.5" @@ -2773,7 +2773,7 @@ "@babel/template@^7.24.0": version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== dependencies: "@babel/code-frame" "^7.23.5" @@ -2782,7 +2782,7 @@ "@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz" integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== dependencies: "@babel/code-frame" "^7.24.7" @@ -2791,7 +2791,7 @@ "@babel/traverse@^7.18.9", "@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.9": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz" integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== dependencies: "@babel/code-frame" "^7.23.5" @@ -2807,7 +2807,7 @@ "@babel/traverse@^7.24.1": version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz" integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== dependencies: "@babel/code-frame" "^7.24.1" @@ -2823,7 +2823,7 @@ "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3", "@babel/traverse@^7.25.4": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz" integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== dependencies: "@babel/code-frame" "^7.24.7" @@ -2836,7 +2836,7 @@ "@babel/types@7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz" integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== dependencies: "@babel/helper-string-parser" "^7.18.10" @@ -2845,7 +2845,7 @@ "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.4.4": version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz" integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== dependencies: "@babel/helper-string-parser" "^7.23.4" @@ -2854,7 +2854,7 @@ "@babel/types@^7.24.0": version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== dependencies: "@babel/helper-string-parser" "^7.23.4" @@ -2863,7 +2863,7 @@ "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3": version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz" integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== dependencies: "@babel/helper-string-parser" "^7.24.8" @@ -2872,46 +2872,46 @@ "@base2/pretty-print-object@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" + resolved "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz" integrity sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA== "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@braintree/sanitize-url@^6.0.1": version "6.0.4" - resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz#923ca57e173c6b232bbbb07347b1be982f03e783" + resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz" integrity sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A== "@colors/colors@1.5.0": version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: "@jridgewell/trace-mapping" "0.3.9" "@discoveryjs/json-ext@^0.5.3": version "0.5.7" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@dnd-kit/accessibility@^3.1.0": version "3.1.0" - resolved "https://registry.yarnpkg.com/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz#1054e19be276b5f1154ced7947fc0cb5d99192e0" + resolved "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz" integrity sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ== dependencies: tslib "^2.0.0" "@dnd-kit/core@^6.1.0": version "6.1.0" - resolved "https://registry.yarnpkg.com/@dnd-kit/core/-/core-6.1.0.tgz#e81a3d10d9eca5d3b01cbf054171273a3fe01def" + resolved "https://registry.npmjs.org/@dnd-kit/core/-/core-6.1.0.tgz" integrity sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg== dependencies: "@dnd-kit/accessibility" "^3.1.0" @@ -2920,7 +2920,7 @@ "@dnd-kit/sortable@^8.0.0": version "8.0.0" - resolved "https://registry.yarnpkg.com/@dnd-kit/sortable/-/sortable-8.0.0.tgz#086b7ac6723d4618a4ccb6f0227406d8a8862a96" + resolved "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-8.0.0.tgz" integrity sha512-U3jk5ebVXe1Lr7c2wU7SBZjcWdQP+j7peHJfCspnA81enlu88Mgd7CC8Q+pub9ubP7eKVETzJW+IBAhsqbSu/g== dependencies: "@dnd-kit/utilities" "^3.2.2" @@ -2928,48 +2928,48 @@ "@dnd-kit/utilities@^3.2.2": version "3.2.2" - resolved "https://registry.yarnpkg.com/@dnd-kit/utilities/-/utilities-3.2.2.tgz#5a32b6af356dc5f74d61b37d6f7129a4040ced7b" + resolved "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz" integrity sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg== dependencies: tslib "^2.0.0" "@egjs/hammerjs@^2.0.17": version "2.0.17" - resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124" + resolved "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz" integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A== dependencies: "@types/hammerjs" "^2.0.36" "@emoji-mart/react@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@emoji-mart/react/-/react-1.1.1.tgz#ddad52f93a25baf31c5383c3e7e4c6e05554312a" + resolved "https://registry.npmjs.org/@emoji-mart/react/-/react-1.1.1.tgz" integrity sha512-NMlFNeWgv1//uPsvLxvGQoIerPuVdXwK/EUek8OOkJ6wVOWPUizRBJU0hDqWZCOROVpfBgCemaC3m6jDOXi03g== "@emotion/is-prop-valid@^0.8.2": version "0.8.8" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz" integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== dependencies: "@emotion/memoize" "0.7.4" "@emotion/memoize@0.7.4": version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz" integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== "@emotion/use-insertion-effect-with-fallbacks@^1.0.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== "@epubjs-react-native/core@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@epubjs-react-native/core/-/core-1.3.0.tgz#dd6410265098f5680cb7ac5396860b443358786f" + resolved "https://registry.npmjs.org/@epubjs-react-native/core/-/core-1.3.0.tgz" integrity sha512-wyjifLuRxyDX0msm4G85RQ0OTe+ATYvLgkFxoR1kzznUgPOuoU3s4vBZMD1KwpcwlomxJoJXBOFS7nzuW7nhRw== "@epubjs-react-native/expo-file-system@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@epubjs-react-native/expo-file-system/-/expo-file-system-1.0.0.tgz#0cec10a488917e63bd84dbc0f1e2b01269c11df9" + resolved "https://registry.npmjs.org/@epubjs-react-native/expo-file-system/-/expo-file-system-1.0.0.tgz" integrity sha512-E7xUzgd4DkZZG7WJXCztiW3zmnOJf0S8YFowKJmGOddBQUUOWaDgES4VzktekpEgTQhsKpp+32D67EPPZOB8bw== "@esbuild/aix-ppc64@0.20.2": @@ -3009,12 +3009,12 @@ "@esbuild/darwin-arm64@0.18.20": version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz" integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== "@esbuild/darwin-arm64@0.20.2": version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== "@esbuild/darwin-x64@0.18.20": @@ -3199,19 +3199,19 @@ "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== "@eslint/eslintrc@^2.1.4": version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" @@ -3226,12 +3226,12 @@ "@eslint/js@8.56.0": version "8.56.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== "@expo/bunyan@^4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@expo/bunyan/-/bunyan-4.0.0.tgz#be0c1de943c7987a9fbd309ea0b1acd605890c7b" + resolved "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz" integrity sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA== dependencies: uuid "^8.0.0" @@ -3241,7 +3241,7 @@ "@expo/cli@0.17.5": version "0.17.5" - resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.17.5.tgz#b409d0ea330b3c1283b9d239bb747de9284d119e" + resolved "https://registry.npmjs.org/@expo/cli/-/cli-0.17.5.tgz" integrity sha512-9cMquL/5bBfV73CbZcWipk3KZSo8mBqdgvkoWCtEtnnlm/879ayxzMWjVIgT5yV4w+X7+N6KkBSUIIj4t9Xqew== dependencies: "@babel/runtime" "^7.20.0" @@ -3323,7 +3323,7 @@ "@expo/code-signing-certificates@0.0.5": version "0.0.5" - resolved "https://registry.yarnpkg.com/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz#a693ff684fb20c4725dade4b88a6a9f96b02496c" + resolved "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz" integrity sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw== dependencies: node-forge "^1.2.1" @@ -3331,7 +3331,7 @@ "@expo/config-plugins@7.8.4", "@expo/config-plugins@~7.8.0", "@expo/config-plugins@~7.8.2": version "7.8.4" - resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-7.8.4.tgz#533b5d536c1dc8b5544d64878b51bda28f2e1a1f" + resolved "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-7.8.4.tgz" integrity sha512-hv03HYxb/5kX8Gxv/BTI8TLc9L06WzqAfHRRXdbar4zkLcP2oTzvsLEF4/L/TIpD3rsnYa0KU42d0gWRxzPCJg== dependencies: "@expo/config-types" "^50.0.0-alpha.1" @@ -3354,12 +3354,12 @@ "@expo/config-types@^50.0.0", "@expo/config-types@^50.0.0-alpha.1": version "50.0.0" - resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-50.0.0.tgz#b534d3ec997ec60f8af24f6ad56244c8afc71a0b" + resolved "https://registry.npmjs.org/@expo/config-types/-/config-types-50.0.0.tgz" integrity sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw== "@expo/config@8.5.4", "@expo/config@~8.5.0": version "8.5.4" - resolved "https://registry.yarnpkg.com/@expo/config/-/config-8.5.4.tgz#bb5eb06caa36e4e35dc8c7647fae63e147b830ca" + resolved "https://registry.npmjs.org/@expo/config/-/config-8.5.4.tgz" integrity sha512-ggOLJPHGzJSJHVBC1LzwXwR6qUn8Mw7hkc5zEKRIdhFRuIQ6s2FE4eOvP87LrNfDF7eZGa6tJQYsiHSmZKG+8Q== dependencies: "@babel/code-frame" "~7.10.4" @@ -3376,7 +3376,7 @@ "@expo/devcert@^1.0.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@expo/devcert/-/devcert-1.1.0.tgz#d148eb9180db6753c438192e73a123fb13b662ac" + resolved "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.0.tgz" integrity sha512-ghUVhNJQOCTdQckSGTHctNp/0jzvVoMMkVh+6SHn+TZj8sU15U/npXIDt8NtQp0HedlPaCgkVdMu8Sacne0aEA== dependencies: application-config-path "^0.1.0" @@ -3395,7 +3395,7 @@ "@expo/env@~0.2.0": version "0.2.1" - resolved "https://registry.yarnpkg.com/@expo/env/-/env-0.2.1.tgz#51b5e836ce510cbb18341ad2ab2f685354fd4a94" + resolved "https://registry.npmjs.org/@expo/env/-/env-0.2.1.tgz" integrity sha512-deZmRS7Dvp18VM8s559dq/ZjPlV1D9vtLoLXwHmCK/JYOvtNptdKsfxcWjI7ewmo6ln2PqgNI9HRI74q6Wk2eA== dependencies: chalk "^4.0.0" @@ -3406,7 +3406,7 @@ "@expo/fingerprint@^0.6.0": version "0.6.0" - resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.6.0.tgz#77366934673d4ecea37284109b4dd67f9e6a7487" + resolved "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.6.0.tgz" integrity sha512-KfpoVRTMwMNJ/Cf5o+Ou8M/Y0EGSTqK+rbi70M2Y0K2qgWNfMJ1gm6sYO9uc8lcTr7YSYM1Rme3dk7QXhpScNA== dependencies: "@expo/spawn-async" "^1.5.0" @@ -3419,7 +3419,7 @@ "@expo/image-utils@^0.4.0": version "0.4.1" - resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.4.1.tgz#78c54b8aaa974d0ac37fee5285683b54ff161b2c" + resolved "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.4.1.tgz" integrity sha512-EZb+VHSmw+a5s2hS9qksTcWylY0FDaIAVufcxoaRS9tHIXLjW5zcKW7Rhj9dSEbZbRVy9yXXdHKa3GQdUQIOFw== dependencies: "@expo/spawn-async" "1.5.0" @@ -3435,7 +3435,7 @@ "@expo/json-file@^8.2.37", "@expo/json-file@~8.3.0": version "8.3.0" - resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.3.0.tgz#fc84af77b532a4e9bfb5beafd0e3b7f692b6bd7e" + resolved "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.0.tgz" integrity sha512-yROUeXJXR5goagB8c3muFLCzLmdGOvoPpR5yDNaXrnTp4euNykr9yW0wWhJx4YVRTNOPtGBnEbbJBW+a9q+S6g== dependencies: "@babel/code-frame" "~7.10.4" @@ -3444,7 +3444,7 @@ "@expo/metro-config@0.17.4", "@expo/metro-config@~0.17.0": version "0.17.4" - resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.17.4.tgz#3896d65f779963a8ce7069a4bae4546b6541219c" + resolved "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.17.4.tgz" integrity sha512-PxqDMuVjXQeboa6Aj8kNj4iTxIpwpfoYlF803qOjf1LE1ePlREnWNwqy65ESCBnCmekYIO5hhm1Nksa+xCvuyg== dependencies: "@babel/core" "^7.20.0" @@ -3470,7 +3470,7 @@ "@expo/osascript@^2.0.31": version "2.1.0" - resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.1.0.tgz#c407dfe839b5e898829d31e6accd962f91adac1c" + resolved "https://registry.npmjs.org/@expo/osascript/-/osascript-2.1.0.tgz" integrity sha512-bOhuFnlRaS7CU33+rFFIWdcET/Vkyn1vsN8BYFwCDEF5P1fVVvYN7bFOsQLTMD3nvi35C1AGmtqUr/Wfv8Xaow== dependencies: "@expo/spawn-async" "^1.5.0" @@ -3478,7 +3478,7 @@ "@expo/package-manager@^1.1.1": version "1.4.2" - resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.4.2.tgz#8c12a9163c5ff7c7cc89806c4b75cff4974c57fc" + resolved "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.4.2.tgz" integrity sha512-LKdo/6y4W7llZ6ghsg1kdx2CeH/qR/c6QI/JI8oPUvppsZoeIYjSkdflce978fAMfR8IXoi0wt0jA2w0kWpwbg== dependencies: "@expo/json-file" "^8.2.37" @@ -3496,7 +3496,7 @@ "@expo/plist@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.1.0.tgz#eabc95f951d14e10c87fd0443ee01d567371f058" + resolved "https://registry.npmjs.org/@expo/plist/-/plist-0.1.0.tgz" integrity sha512-xWD+8vIFif0wKyuqe3fmnmnSouXYucciZXFzS0ZD5OV9eSAS1RGQI5FaGGJ6zxJ4mpdy/4QzbLdBjnYE5vxA0g== dependencies: "@xmldom/xmldom" "~0.7.7" @@ -3505,7 +3505,7 @@ "@expo/prebuild-config@6.7.4": version "6.7.4" - resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-6.7.4.tgz#b3e4c8545d7a101bf1fc263c5b7290abc4635e69" + resolved "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.7.4.tgz" integrity sha512-x8EUdCa8DTMZ/dtEXjHAdlP+ljf6oSeSKNzhycXiHhpMSMG9jEhV28ocCwc6cKsjK5GziweEiHwvrj6+vsBlhA== dependencies: "@expo/config" "~8.5.0" @@ -3521,7 +3521,7 @@ "@expo/rudder-sdk-node@1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz#6aa575f346833eb6290282118766d4919c808c6a" + resolved "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz" integrity sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ== dependencies: "@expo/bunyan" "^4.0.0" @@ -3534,31 +3534,31 @@ "@expo/sdk-runtime-versions@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c" + resolved "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz" integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ== "@expo/spawn-async@1.5.0": version "1.5.0" - resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.5.0.tgz#799827edd8c10ef07eb1a2ff9dcfe081d596a395" + resolved "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.5.0.tgz" integrity sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew== dependencies: cross-spawn "^6.0.5" "@expo/spawn-async@^1.5.0", "@expo/spawn-async@^1.7.2": version "1.7.2" - resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.7.2.tgz#fcfe66c3e387245e72154b1a7eae8cada6a47f58" + resolved "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz" integrity sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew== dependencies: cross-spawn "^7.0.3" "@expo/vector-icons@^14.0.0": version "14.0.0" - resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-14.0.0.tgz#48ce0aa5c05873b07c0c78bfe16c870388f4de9a" + resolved "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-14.0.0.tgz" integrity sha512-5orm59pdnBQlovhU9k4DbjMUZBHNlku7IRgFY56f7pcaaCnXq9yaLJoOQl9sMwNdFzf4gnkTyHmR5uN10mI9rA== "@expo/xcpretty@^4.3.0": version "4.3.1" - resolved "https://registry.yarnpkg.com/@expo/xcpretty/-/xcpretty-4.3.1.tgz#e0a6a92d1e46ab5ac5e90d9a8e66ac1a2a2f5920" + resolved "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.1.tgz" integrity sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw== dependencies: "@babel/code-frame" "7.10.4" @@ -3568,19 +3568,19 @@ "@fal-works/esbuild-plugin-global-externals@^2.1.2": version "2.1.2" - resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4" + resolved "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz" integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== "@floating-ui/core@^1.6.0": version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" + resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz" integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== dependencies: "@floating-ui/utils" "^0.2.1" "@floating-ui/dom@^1.6.1": version "1.6.1" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.1.tgz#d552e8444f77f2d88534372369b3771dc3a2fa5d" + resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz" integrity sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ== dependencies: "@floating-ui/core" "^1.6.0" @@ -3588,41 +3588,41 @@ "@floating-ui/react-dom@^2.0.0": version "2.0.8" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" + resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz" integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== dependencies: "@floating-ui/dom" "^1.6.1" "@floating-ui/utils@^0.2.1": version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" + resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz" integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== "@gar/promisify@^1.0.1": version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@graphql-typed-document-node/core@^3.1.0": version "3.2.0" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + resolved "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz" integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== "@hapi/topo@^5.1.0": version "5.1.0" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: "@hapi/hoek" "^9.0.0" "@headlessui/react@^1.7.17", "@headlessui/react@^1.7.18": version "1.7.18" - resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.18.tgz#30af4634d2215b2ca1aa29d07f33d02bea82d9d7" + resolved "https://registry.npmjs.org/@headlessui/react/-/react-1.7.18.tgz" integrity sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ== dependencies: "@tanstack/react-virtual" "^3.0.0-beta.60" @@ -3630,17 +3630,17 @@ "@hookform/resolvers@^3.3.2": version "3.3.4" - resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-3.3.4.tgz#de9b668c2835eb06892290192de6e2a5c906229b" + resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.4.tgz" integrity sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ== "@hookform/resolvers@^3.9.0": version "3.9.0" - resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-3.9.0.tgz#cf540ac21c6c0cd24a40cf53d8e6d64391fb753d" + resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.9.0.tgz" integrity sha512-bU0Gr4EepJ/EQsH/IwEzYLsT/PEj5C0ynLQ4m+GSHS+xKH4TfSelhluTgOaoc4kA5s7eCsQbM4wvZLzELmWzUg== "@humanwhocodes/config-array@^0.11.13": version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: "@humanwhocodes/object-schema" "^2.0.2" @@ -3649,22 +3649,22 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^2.0.2": version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== "@icons-pack/react-simple-icons@=9.1.0": version "9.1.0" - resolved "https://registry.yarnpkg.com/@icons-pack/react-simple-icons/-/react-simple-icons-9.1.0.tgz#8267121647e979daf1f84ea9c7a87fb7a6a8ca0a" + resolved "https://registry.npmjs.org/@icons-pack/react-simple-icons/-/react-simple-icons-9.1.0.tgz" integrity sha512-3v6W4SgkYX6bHfKrFvRZrxilv+4wXKYQ2DVRldqaZgcwGK5ajsW4PzLlqF9aw+uT/NeoMklunonoYwZlx9Kbwg== "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: string-width "^5.1.2" @@ -3676,12 +3676,12 @@ "@isaacs/ttlcache@^1.4.1": version "1.4.1" - resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2" + resolved "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz" integrity sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" @@ -3692,12 +3692,12 @@ "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: "@jest/types" "^29.6.3" @@ -3709,7 +3709,7 @@ "@jest/core@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== dependencies: "@jest/console" "^29.7.0" @@ -3743,14 +3743,14 @@ "@jest/create-cache-key-function@^29.6.3": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + resolved "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz" integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== dependencies: "@jest/types" "^29.6.3" "@jest/environment@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== dependencies: "@jest/fake-timers" "^29.7.0" @@ -3760,14 +3760,14 @@ "@jest/expect-utils@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== dependencies: jest-get-type "^29.6.3" "@jest/expect@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== dependencies: expect "^29.7.0" @@ -3775,7 +3775,7 @@ "@jest/fake-timers@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== dependencies: "@jest/types" "^29.6.3" @@ -3787,7 +3787,7 @@ "@jest/globals@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: "@jest/environment" "^29.7.0" @@ -3797,7 +3797,7 @@ "@jest/reporters@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -3827,14 +3827,14 @@ "@jest/schemas@^29.6.3": version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: "@sinclair/typebox" "^0.27.8" "@jest/source-map@^29.6.3": version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== dependencies: "@jridgewell/trace-mapping" "^0.3.18" @@ -3843,7 +3843,7 @@ "@jest/test-result@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: "@jest/console" "^29.7.0" @@ -3853,7 +3853,7 @@ "@jest/test-sequencer@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: "@jest/test-result" "^29.7.0" @@ -3863,7 +3863,7 @@ "@jest/transform@^29.3.1", "@jest/transform@^29.7.0": version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: "@babel/core" "^7.11.6" @@ -3884,7 +3884,7 @@ "@jest/types@^26.6.2": version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + resolved "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz" integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" @@ -3895,7 +3895,7 @@ "@jest/types@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" @@ -3906,7 +3906,7 @@ "@jest/types@^29.6.3": version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: "@jest/schemas" "^29.6.3" @@ -3918,7 +3918,7 @@ "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" @@ -3927,7 +3927,7 @@ "@jridgewell/gen-mapping@^0.3.5": version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== dependencies: "@jridgewell/set-array" "^1.2.1" @@ -3936,27 +3936,27 @@ "@jridgewell/resolve-uri@^3.0.3": version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== "@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/set-array@^1.2.1": version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/source-map@^0.3.3": version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== dependencies: "@jridgewell/gen-mapping" "^0.3.0" @@ -3964,12 +3964,12 @@ "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" @@ -3977,7 +3977,7 @@ "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" @@ -3985,7 +3985,7 @@ "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": version "0.3.22" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== dependencies: "@jridgewell/resolve-uri" "^3.1.0" @@ -3993,12 +3993,12 @@ "@juggle/resize-observer@^3.3.1": version "3.4.0" - resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" + resolved "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== "@mdx-js/mdx@^2.2.1", "@mdx-js/mdx@^2.3.0": version "2.3.0" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.3.0.tgz#d65d8c3c28f3f46bb0e7cb3bf7613b39980671a9" + resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz" integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4021,7 +4021,7 @@ "@mdx-js/react@^2.1.5", "@mdx-js/react@^2.2.1", "@mdx-js/react@^2.3.0": version "2.3.0" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.3.0.tgz#4208bd6d70f0d0831def28ef28c26149b03180b3" + resolved "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz" integrity sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g== dependencies: "@types/mdx" "^2.0.0" @@ -4039,7 +4039,7 @@ "@napi-rs/simple-git-darwin-arm64@0.1.16": version "0.1.16" - resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.16.tgz#8d995a920146c320bf13b32d1b1654f44beaa16b" + resolved "https://registry.npmjs.org/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.16.tgz" integrity sha512-XfgsYqxhUE022MJobeiX563TJqyQyX4FmYCnqrtJwAfivESVeAJiH6bQIum8dDEYMHXCsG7nL8Ok0Dp8k2m42g== "@napi-rs/simple-git-darwin-x64@0.1.16": @@ -4084,7 +4084,7 @@ "@napi-rs/simple-git@^0.1.9": version "0.1.16" - resolved "https://registry.yarnpkg.com/@napi-rs/simple-git/-/simple-git-0.1.16.tgz#c48d03b27956ddcd2c886a5e3d5c8bdc0d7ad5fe" + resolved "https://registry.npmjs.org/@napi-rs/simple-git/-/simple-git-0.1.16.tgz" integrity sha512-C5wRPw9waqL2jk3jEDeJv+f7ScuO3N0a39HVdyFLkwKxHH4Sya4ZbzZsu2JLi6eEqe7RuHipHL6mC7B2OfYZZw== optionalDependencies: "@napi-rs/simple-git-android-arm-eabi" "0.1.16" @@ -4101,7 +4101,7 @@ "@ndelangen/get-tarball@^3.0.7": version "3.0.9" - resolved "https://registry.yarnpkg.com/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz#727ff4454e65f34707e742a59e5e6b1f525d8964" + resolved "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz" integrity sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA== dependencies: gunzip-maybe "^1.4.2" @@ -4110,12 +4110,12 @@ "@next/env@13.5.6": version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/env/-/env-13.5.6.tgz#c1148e2e1aa166614f05161ee8f77ded467062bc" + resolved "https://registry.npmjs.org/@next/env/-/env-13.5.6.tgz" integrity sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw== "@next/swc-darwin-arm64@13.5.6": version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz#b15d139d8971360fca29be3bdd703c108c9a45fb" + resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz" integrity sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA== "@next/swc-darwin-x64@13.5.6": @@ -4160,7 +4160,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -4168,12 +4168,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -4181,7 +4181,7 @@ "@npmcli/fs@^1.0.0": version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== dependencies: "@gar/promisify" "^1.0.1" @@ -4189,7 +4189,7 @@ "@npmcli/move-file@^1.0.1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: mkdirp "^1.0.4" @@ -4197,17 +4197,17 @@ "@pkgjs/parseargs@^0.11.0": version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@pkgr/core@^0.1.0": version "0.1.1" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" + resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz" integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== "@pmmmwh/react-refresh-webpack-plugin@^0.5.11": version "0.5.11" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" + resolved "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz" integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== dependencies: ansi-html-community "^0.0.8" @@ -4222,43 +4222,43 @@ "@popperjs/core@^2.11.8": version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@radix-ui/number@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.1.tgz#644161a3557f46ed38a042acf4a770e826021674" + resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz" integrity sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/number@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.1.0.tgz#1e95610461a09cdf8bb05c152e76ca1278d5da46" + resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz" integrity sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ== "@radix-ui/primitive@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.0.tgz#e1d8ef30b10ea10e69c76e896f608d9276352253" + resolved "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz" integrity sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/primitive@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" + resolved "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz" integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/primitive@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.0.tgz#42ef83b3b56dccad5d703ae8c42919a68798bbe2" + resolved "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz" integrity sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA== "@radix-ui/react-accordion@^1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz#738441f7343e5142273cdef94d12054c3287966f" + resolved "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz" integrity sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg== dependencies: "@babel/runtime" "^7.13.10" @@ -4274,7 +4274,7 @@ "@radix-ui/react-arrow@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" + resolved "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz" integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== dependencies: "@babel/runtime" "^7.13.10" @@ -4282,7 +4282,7 @@ "@radix-ui/react-aspect-ratio@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.3.tgz#d1a15d6953203e6fd7f5b569fae77c88c1880125" + resolved "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.0.3.tgz" integrity sha512-fXR5kbMan9oQqMuacfzlGG/SQMcmMlZ4wrvpckv8SgUulD0MMpspxJrxg/Gp/ISV3JfV1AeSWTYK9GvxA4ySwA== dependencies: "@babel/runtime" "^7.13.10" @@ -4290,7 +4290,7 @@ "@radix-ui/react-avatar@^1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-avatar/-/react-avatar-1.0.4.tgz#de9a5349d9e3de7bbe990334c4d2011acbbb9623" + resolved "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.0.4.tgz" integrity sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw== dependencies: "@babel/runtime" "^7.13.10" @@ -4301,7 +4301,7 @@ "@radix-ui/react-checkbox@^1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz#98f22c38d5010dd6df4c5744cac74087e3275f4b" + resolved "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz" integrity sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg== dependencies: "@babel/runtime" "^7.13.10" @@ -4316,7 +4316,7 @@ "@radix-ui/react-collapsible@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz#df0e22e7a025439f13f62d4e4a9e92c4a0df5b81" + resolved "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz" integrity sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg== dependencies: "@babel/runtime" "^7.13.10" @@ -4331,7 +4331,7 @@ "@radix-ui/react-collection@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.3.tgz#9595a66e09026187524a36c6e7e9c7d286469159" + resolved "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz" integrity sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA== dependencies: "@babel/runtime" "^7.13.10" @@ -4342,7 +4342,7 @@ "@radix-ui/react-collection@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.0.tgz#f18af78e46454a2360d103c2251773028b7724ed" + resolved "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz" integrity sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw== dependencies: "@radix-ui/react-compose-refs" "1.1.0" @@ -4352,26 +4352,26 @@ "@radix-ui/react-compose-refs@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz#37595b1f16ec7f228d698590e78eeed18ff218ae" + resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz" integrity sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" + resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz" integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz#656432461fc8283d7b591dcf0d79152fae9ecc74" + resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz" integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw== "@radix-ui/react-context-menu@^2.1.5": version "2.1.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz#1bdbd72761439f9166f75dc4598f276265785c83" + resolved "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz" integrity sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g== dependencies: "@babel/runtime" "^7.13.10" @@ -4384,26 +4384,26 @@ "@radix-ui/react-context@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.0.tgz#f38e30c5859a9fb5e9aa9a9da452ee3ed9e0aee0" + resolved "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz" integrity sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-context@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" + resolved "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz" integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-context@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.0.tgz#6df8d983546cfd1999c8512f3a8ad85a6e7fcee8" + resolved "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz" integrity sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A== "@radix-ui/react-dialog@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz#997e97cb183bc90bd888b26b8e23a355ac9fe5f0" + resolved "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz" integrity sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q== dependencies: "@babel/runtime" "^7.13.10" @@ -4424,7 +4424,7 @@ "@radix-ui/react-dialog@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.1.1.tgz#4906507f7b4ad31e22d7dad69d9330c87c431d44" + resolved "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.1.tgz" integrity sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg== dependencies: "@radix-ui/primitive" "1.1.0" @@ -4444,19 +4444,19 @@ "@radix-ui/react-direction@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b" + resolved "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz" integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-direction@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.0.tgz#a7d39855f4d077adc2a1922f9c353c5977a09cdc" + resolved "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz" integrity sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg== "@radix-ui/react-dismissable-layer@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz#35b7826fa262fd84370faef310e627161dffa76b" + resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz" integrity sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g== dependencies: "@babel/runtime" "^7.13.10" @@ -4468,7 +4468,7 @@ "@radix-ui/react-dismissable-layer@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz#883a48f5f938fa679427aa17fcba70c5494c6978" + resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz" integrity sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg== dependencies: "@babel/runtime" "^7.13.10" @@ -4480,7 +4480,7 @@ "@radix-ui/react-dismissable-layer@1.0.5": version "1.0.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4" + resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz" integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== dependencies: "@babel/runtime" "^7.13.10" @@ -4492,7 +4492,7 @@ "@radix-ui/react-dismissable-layer@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz#2cd0a49a732372513733754e6032d3fb7988834e" + resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz" integrity sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig== dependencies: "@radix-ui/primitive" "1.1.0" @@ -4503,7 +4503,7 @@ "@radix-ui/react-dropdown-menu@^2.0.6": version "2.0.6" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz#cdf13c956c5e263afe4e5f3587b3071a25755b63" + resolved "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz" integrity sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA== dependencies: "@babel/runtime" "^7.13.10" @@ -4517,26 +4517,26 @@ "@radix-ui/react-focus-guards@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz#339c1c69c41628c1a5e655f15f7020bf11aa01fa" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz" integrity sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-focus-guards@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz" integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-focus-guards@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz#8e9abb472a9a394f59a1b45f3dd26cfe3fc6da13" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz" integrity sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw== "@radix-ui/react-focus-scope@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz#95a0c1188276dc8933b1eac5f1cdb6471e01ade5" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz" integrity sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4546,7 +4546,7 @@ "@radix-ui/react-focus-scope@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz#9c2e8d4ed1189a1d419ee61edd5c1828726472f9" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz" integrity sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4556,7 +4556,7 @@ "@radix-ui/react-focus-scope@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz" integrity sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA== dependencies: "@babel/runtime" "^7.13.10" @@ -4566,7 +4566,7 @@ "@radix-ui/react-focus-scope@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz#ebe2891a298e0a33ad34daab2aad8dea31caf0b2" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz" integrity sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA== dependencies: "@radix-ui/react-compose-refs" "1.1.0" @@ -4575,7 +4575,7 @@ "@radix-ui/react-hover-card@^1.0.7": version "1.0.7" - resolved "https://registry.yarnpkg.com/@radix-ui/react-hover-card/-/react-hover-card-1.0.7.tgz#684bca2504432566357e7157e087051aa3577948" + resolved "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.0.7.tgz" integrity sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A== dependencies: "@babel/runtime" "^7.13.10" @@ -4591,7 +4591,7 @@ "@radix-ui/react-id@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.0.tgz#8d43224910741870a45a8c9d092f25887bb6d11e" + resolved "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz" integrity sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw== dependencies: "@babel/runtime" "^7.13.10" @@ -4599,7 +4599,7 @@ "@radix-ui/react-id@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" + resolved "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz" integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4607,14 +4607,14 @@ "@radix-ui/react-id@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.1.0.tgz#de47339656594ad722eb87f94a6b25f9cffae0ed" + resolved "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz" integrity sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA== dependencies: "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-label@^2.0.2": version "2.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.0.2.tgz#9c72f1d334aac996fdc27b48a8bdddd82108fb6d" + resolved "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz" integrity sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4622,7 +4622,7 @@ "@radix-ui/react-menu@2.0.6": version "2.0.6" - resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.0.6.tgz#2c9e093c1a5d5daa87304b2a2f884e32288ae79e" + resolved "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz" integrity sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA== dependencies: "@babel/runtime" "^7.13.10" @@ -4647,7 +4647,7 @@ "@radix-ui/react-navigation-menu@^1.1.4": version "1.1.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.4.tgz#654151310c3f9a29afd19fb60ddc7977e54b8a3d" + resolved "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.4.tgz" integrity sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA== dependencies: "@babel/runtime" "^7.13.10" @@ -4668,7 +4668,7 @@ "@radix-ui/react-popover@^1.0.7": version "1.0.7" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.0.7.tgz#23eb7e3327330cb75ec7b4092d685398c1654e3c" + resolved "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz" integrity sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4690,7 +4690,7 @@ "@radix-ui/react-popper@1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.2.tgz#4c0b96fcd188dc1f334e02dba2d538973ad842e9" + resolved "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz" integrity sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg== dependencies: "@babel/runtime" "^7.13.10" @@ -4707,7 +4707,7 @@ "@radix-ui/react-popper@1.1.3": version "1.1.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" + resolved "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz" integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== dependencies: "@babel/runtime" "^7.13.10" @@ -4724,7 +4724,7 @@ "@radix-ui/react-portal@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.0.tgz#7220b66743394fabb50c55cb32381395cc4a276b" + resolved "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.0.tgz" integrity sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA== dependencies: "@babel/runtime" "^7.13.10" @@ -4732,7 +4732,7 @@ "@radix-ui/react-portal@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.3.tgz#ffb961244c8ed1b46f039e6c215a6c4d9989bda1" + resolved "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz" integrity sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA== dependencies: "@babel/runtime" "^7.13.10" @@ -4740,7 +4740,7 @@ "@radix-ui/react-portal@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15" + resolved "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz" integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q== dependencies: "@babel/runtime" "^7.13.10" @@ -4748,7 +4748,7 @@ "@radix-ui/react-portal@1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.1.tgz#1957f1eb2e1aedfb4a5475bd6867d67b50b1d15f" + resolved "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz" integrity sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g== dependencies: "@radix-ui/react-primitive" "2.0.0" @@ -4756,7 +4756,7 @@ "@radix-ui/react-presence@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.0.tgz#814fe46df11f9a468808a6010e3f3ca7e0b2e84a" + resolved "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz" integrity sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w== dependencies: "@babel/runtime" "^7.13.10" @@ -4765,7 +4765,7 @@ "@radix-ui/react-presence@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" + resolved "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz" integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== dependencies: "@babel/runtime" "^7.13.10" @@ -4774,7 +4774,7 @@ "@radix-ui/react-presence@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.0.tgz#227d84d20ca6bfe7da97104b1a8b48a833bfb478" + resolved "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz" integrity sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ== dependencies: "@radix-ui/react-compose-refs" "1.1.0" @@ -4782,7 +4782,7 @@ "@radix-ui/react-primitive@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz#376cd72b0fcd5e0e04d252ed33eb1b1f025af2b0" + resolved "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz" integrity sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4790,7 +4790,7 @@ "@radix-ui/react-primitive@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" + resolved "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz" integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== dependencies: "@babel/runtime" "^7.13.10" @@ -4798,14 +4798,14 @@ "@radix-ui/react-primitive@2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz#fe05715faa9203a223ccc0be15dc44b9f9822884" + resolved "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz" integrity sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw== dependencies: "@radix-ui/react-slot" "1.1.0" "@radix-ui/react-progress@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-progress/-/react-progress-1.0.3.tgz#8380272fdc64f15cbf263a294dea70a7d5d9b4fa" + resolved "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.0.3.tgz" integrity sha512-5G6Om/tYSxjSeEdrb1VfKkfZfn/1IlPWd731h2RfPuSbIfNUgfqAwbKfJCg/PP6nuUCTrYzalwHSpSinoWoCag== dependencies: "@babel/runtime" "^7.13.10" @@ -4814,7 +4814,7 @@ "@radix-ui/react-radio-group@^1.1.3": version "1.1.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz#3197f5dcce143bcbf961471bf89320735c0212d3" + resolved "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz" integrity sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag== dependencies: "@babel/runtime" "^7.13.10" @@ -4831,7 +4831,7 @@ "@radix-ui/react-roving-focus@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz#e90c4a6a5f6ac09d3b8c1f5b5e81aab2f0db1974" + resolved "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz" integrity sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4847,7 +4847,7 @@ "@radix-ui/react-scroll-area@^1.0.5": version "1.0.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.5.tgz#01160c6893f24a2ddb5aa399ae5b3ba84ad4d3cc" + resolved "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.5.tgz" integrity sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw== dependencies: "@babel/runtime" "^7.13.10" @@ -4863,7 +4863,7 @@ "@radix-ui/react-select@^1.2.2": version "1.2.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-1.2.2.tgz#caa981fa0d672cf3c1b2a5240135524e69b32181" + resolved "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz" integrity sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw== dependencies: "@babel/runtime" "^7.13.10" @@ -4891,7 +4891,7 @@ "@radix-ui/react-select@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.0.0.tgz#a3511792a51a7018d6559357323a7f52e0e38887" + resolved "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.0.0.tgz" integrity sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w== dependencies: "@babel/runtime" "^7.13.10" @@ -4919,7 +4919,7 @@ "@radix-ui/react-separator@1.0.3", "@radix-ui/react-separator@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.0.3.tgz#be5a931a543d5726336b112f465f58585c04c8aa" + resolved "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz" integrity sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw== dependencies: "@babel/runtime" "^7.13.10" @@ -4927,7 +4927,7 @@ "@radix-ui/react-slider@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slider/-/react-slider-1.2.0.tgz#7a4c817d24386b420631a3fdc75563706d743472" + resolved "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.2.0.tgz" integrity sha512-dAHCDA4/ySXROEPaRtaMV5WHL8+JB/DbtyTbJjYkY0RXmKMO2Ln8DFZhywG5/mVQ4WqHDBc8smc14yPXPqZHYA== dependencies: "@radix-ui/number" "1.1.0" @@ -4944,7 +4944,7 @@ "@radix-ui/react-slot@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.0.tgz#7fa805b99891dea1e862d8f8fbe07f4d6d0fd698" + resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz" integrity sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ== dependencies: "@babel/runtime" "^7.13.10" @@ -4952,7 +4952,7 @@ "@radix-ui/react-slot@1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" + resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz" integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== dependencies: "@babel/runtime" "^7.13.10" @@ -4960,14 +4960,14 @@ "@radix-ui/react-slot@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.1.0.tgz#7c5e48c36ef5496d97b08f1357bb26ed7c714b84" + resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz" integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw== dependencies: "@radix-ui/react-compose-refs" "1.1.0" "@radix-ui/react-switch@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.0.3.tgz#6119f16656a9eafb4424c600fdb36efa5ec5837e" + resolved "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.0.3.tgz" integrity sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow== dependencies: "@babel/runtime" "^7.13.10" @@ -4981,7 +4981,7 @@ "@radix-ui/react-tabs@^1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-tabs/-/react-tabs-1.0.4.tgz#993608eec55a5d1deddd446fa9978d2bc1053da2" + resolved "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.4.tgz" integrity sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog== dependencies: "@babel/runtime" "^7.13.10" @@ -4996,7 +4996,7 @@ "@radix-ui/react-toast@^1.1.5": version "1.1.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.1.5.tgz#f5788761c0142a5ae9eb97f0051fd3c48106d9e6" + resolved "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.5.tgz" integrity sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw== dependencies: "@babel/runtime" "^7.13.10" @@ -5015,7 +5015,7 @@ "@radix-ui/react-toggle-group@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz#f5b5c8c477831b013bec3580c55e20a68179d6ec" + resolved "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz" integrity sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A== dependencies: "@babel/runtime" "^7.13.10" @@ -5029,7 +5029,7 @@ "@radix-ui/react-toggle@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz#aecb2945630d1dc5c512997556c57aba894e539e" + resolved "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz" integrity sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg== dependencies: "@babel/runtime" "^7.13.10" @@ -5039,7 +5039,7 @@ "@radix-ui/react-toolbar@^1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz#3211a105567fa016e89921b5b514877f833de559" + resolved "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz" integrity sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q== dependencies: "@babel/runtime" "^7.13.10" @@ -5053,7 +5053,7 @@ "@radix-ui/react-tooltip@^1.0.7": version "1.0.7" - resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz#8f55070f852e7e7450cc1d9210b793d2e5a7686e" + resolved "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz" integrity sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw== dependencies: "@babel/runtime" "^7.13.10" @@ -5072,26 +5072,26 @@ "@radix-ui/react-use-callback-ref@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz#9e7b8b6b4946fe3cbe8f748c82a2cce54e7b6a90" + resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz" integrity sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" + resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz" integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz#bce938ca413675bc937944b0d01ef6f4a6dc5bf1" + resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz" integrity sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw== "@radix-ui/react-use-controllable-state@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz#a64deaafbbc52d5d407afaa22d493d687c538b7f" + resolved "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz" integrity sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg== dependencies: "@babel/runtime" "^7.13.10" @@ -5099,7 +5099,7 @@ "@radix-ui/react-use-controllable-state@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" + resolved "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz" integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== dependencies: "@babel/runtime" "^7.13.10" @@ -5107,14 +5107,14 @@ "@radix-ui/react-use-controllable-state@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz#1321446857bb786917df54c0d4d084877aab04b0" + resolved "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz" integrity sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw== dependencies: "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-escape-keydown@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz#aef375db4736b9de38a5a679f6f49b45a060e5d1" + resolved "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz" integrity sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg== dependencies: "@babel/runtime" "^7.13.10" @@ -5122,7 +5122,7 @@ "@radix-ui/react-use-escape-keydown@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" + resolved "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz" integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== dependencies: "@babel/runtime" "^7.13.10" @@ -5130,45 +5130,45 @@ "@radix-ui/react-use-escape-keydown@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz#31a5b87c3b726504b74e05dac1edce7437b98754" + resolved "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz" integrity sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw== dependencies: "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect@1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz#2fc19e97223a81de64cd3ba1dc42ceffd82374dc" + resolved "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz" integrity sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" + resolved "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz" integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz#3c2c8ce04827b26a39e442ff4888d9212268bd27" + resolved "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz" integrity sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w== "@radix-ui/react-use-previous@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz#b595c087b07317a4f143696c6a01de43b0d0ec66" + resolved "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz" integrity sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-previous@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz#d4dd37b05520f1d996a384eb469320c2ada8377c" + resolved "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz" integrity sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og== "@radix-ui/react-use-rect@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" + resolved "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz" integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== dependencies: "@babel/runtime" "^7.13.10" @@ -5176,7 +5176,7 @@ "@radix-ui/react-use-size@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" + resolved "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz" integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== dependencies: "@babel/runtime" "^7.13.10" @@ -5184,14 +5184,14 @@ "@radix-ui/react-use-size@1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz#b4dba7fbd3882ee09e8d2a44a3eed3a7e555246b" + resolved "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz" integrity sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw== dependencies: "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-visually-hidden@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac" + resolved "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz" integrity sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA== dependencies: "@babel/runtime" "^7.13.10" @@ -5199,21 +5199,21 @@ "@radix-ui/rect@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" + resolved "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz" integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== dependencies: "@babel/runtime" "^7.13.10" "@react-native-async-storage/async-storage@1.21.0": version "1.21.0" - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz#d7e370028e228ab84637016ceeb495878b7a44c8" + resolved "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz" integrity sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag== dependencies: merge-options "^3.0.4" "@react-native-community/cli-clean@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz#d4f1730c3d22d816b4d513d330d5f3896a3f5921" + resolved "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz" integrity sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A== dependencies: "@react-native-community/cli-tools" "12.3.2" @@ -5222,7 +5222,7 @@ "@react-native-community/cli-config@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-12.3.2.tgz#1a5de302de4d597ff2fc9932a032134b6ec4325f" + resolved "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.2.tgz" integrity sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ== dependencies: "@react-native-community/cli-tools" "12.3.2" @@ -5234,14 +5234,14 @@ "@react-native-community/cli-debugger-ui@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz#b2743876b03e560fbf5ef516e95387fcb6d91630" + resolved "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz" integrity sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q== dependencies: serve-static "^1.13.1" "@react-native-community/cli-doctor@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz#9e82b49f04ee03872b2975f26c8799cecac021ce" + resolved "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz" integrity sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg== dependencies: "@react-native-community/cli-config" "12.3.2" @@ -5264,7 +5264,7 @@ "@react-native-community/cli-hermes@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz#5f266985fe32a37e9020e881460e9017870be2e5" + resolved "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz" integrity sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA== dependencies: "@react-native-community/cli-platform-android" "12.3.2" @@ -5275,7 +5275,7 @@ "@react-native-community/cli-platform-android@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz#de54d89712f8ea95046d798ec274fd6caea70c34" + resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz" integrity sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg== dependencies: "@react-native-community/cli-tools" "12.3.2" @@ -5287,7 +5287,7 @@ "@react-native-community/cli-platform-ios@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz#07e298f69761424da85909790a43ec60ebfe6097" + resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz" integrity sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg== dependencies: "@react-native-community/cli-tools" "12.3.2" @@ -5299,12 +5299,12 @@ "@react-native-community/cli-plugin-metro@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz#7db7dc8939b821b9aeebdd5ee3293f3a0201a2ea" + resolved "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz" integrity sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g== "@react-native-community/cli-server-api@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz#11df4e20ed72d59cf22adf77bd30aff3d6e70dc9" + resolved "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz" integrity sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q== dependencies: "@react-native-community/cli-debugger-ui" "12.3.2" @@ -5319,7 +5319,7 @@ "@react-native-community/cli-tools@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz#d3362b04fba3f73ec82c5a493696b575acfb420c" + resolved "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz" integrity sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ== dependencies: appdirsjs "^1.2.4" @@ -5335,14 +5335,14 @@ "@react-native-community/cli-types@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-12.3.2.tgz#0551c553c87701faae580097d7786dfff8ec2ef4" + resolved "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.2.tgz" integrity sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog== dependencies: joi "^17.2.1" "@react-native-community/cli@12.3.2": version "12.3.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-12.3.2.tgz#002ae3683b9fe6b0a83a837f41d9db541ea7667f" + resolved "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.2.tgz" integrity sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ== dependencies: "@react-native-community/cli-clean" "12.3.2" @@ -5366,19 +5366,19 @@ "@react-native/assets-registry@0.73.1", "@react-native/assets-registry@~0.73.1": version "0.73.1" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.73.1.tgz#e2a6b73b16c183a270f338dc69c36039b3946e85" + resolved "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz" integrity sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg== "@react-native/babel-plugin-codegen@0.73.4": version "0.73.4" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz#8a2037d5585b41877611498ae66adbf1dddfec1b" + resolved "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz" integrity sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ== dependencies: "@react-native/codegen" "0.73.3" "@react-native/babel-preset@0.73.21", "@react-native/babel-preset@^0.73.18": version "0.73.21" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.73.21.tgz#174c16493fa4e311b2f5f0c58d4f3c6a5a68bbea" + resolved "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz" integrity sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA== dependencies: "@babel/core" "^7.20.0" @@ -5426,7 +5426,7 @@ "@react-native/codegen@0.73.3": version "0.73.3" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.73.3.tgz#cc984a8b17334d986cc600254a0d4b7fa7d68a94" + resolved "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz" integrity sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg== dependencies: "@babel/parser" "^7.20.0" @@ -5439,7 +5439,7 @@ "@react-native/community-cli-plugin@0.73.16": version "0.73.16" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz#29dca91aa3e24c8cd534dbf3db5766509da92ea3" + resolved "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz" integrity sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ== dependencies: "@react-native-community/cli-server-api" "12.3.2" @@ -5456,12 +5456,12 @@ "@react-native/debugger-frontend@0.73.3": version "0.73.3" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz#033757614d2ada994c68a1deae78c1dd2ad33c2b" + resolved "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz" integrity sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw== "@react-native/dev-middleware@0.73.7", "@react-native/dev-middleware@^0.73.6": version "0.73.7" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz#61d2bf08973d9a537fa3f2a42deeb13530d721ae" + resolved "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz" integrity sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg== dependencies: "@isaacs/ttlcache" "^1.4.1" @@ -5477,17 +5477,17 @@ "@react-native/gradle-plugin@0.73.4": version "0.73.4" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz#aa55784a8c2b471aa89934db38c090d331baf23b" + resolved "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz" integrity sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg== "@react-native/js-polyfills@0.73.1": version "0.73.1" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz#730b0a7aaab947ae6f8e5aa9d995e788977191ed" + resolved "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz" integrity sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g== "@react-native/metro-babel-transformer@0.73.15": version "0.73.15" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz#c516584dde62d65a46668074084359c03e6a50f1" + resolved "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz" integrity sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw== dependencies: "@babel/core" "^7.20.0" @@ -5497,17 +5497,17 @@ "@react-native/normalize-color@^2.0.0", "@react-native/normalize-color@^2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.1.0.tgz#939b87a9849e81687d3640c5efa2a486ac266f91" + resolved "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz" integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== "@react-native/normalize-colors@0.73.2", "@react-native/normalize-colors@^0.73.0": version "0.73.2" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz#cc8e48fbae2bbfff53e12f209369e8d2e4cf34ec" + resolved "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz" integrity sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w== "@react-native/virtualized-lists@0.73.4": version "0.73.4" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz#640e594775806f63685435b5d9c3d05c378ccd8c" + resolved "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz" integrity sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog== dependencies: invariant "^2.2.4" @@ -5515,7 +5515,7 @@ "@react-navigation/bottom-tabs@^6.5.12": version "6.5.12" - resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.12.tgz#73adce8b147debe909985257bf436757894e99f6" + resolved "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.12.tgz" integrity sha512-8gBHHvgmJSRGfQ5fcFUgDFcXj1MzDzEZJ/llDYvcSb6ZxgN5xVq+4oVkwPMxOM6v+Qm2nKvXiUKuB/YydhzpLw== dependencies: "@react-navigation/elements" "^1.3.22" @@ -5524,7 +5524,7 @@ "@react-navigation/core@^6.4.10": version "6.4.10" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-6.4.10.tgz#0c52621968b35e3a75e189e823d3b9e3bad77aff" + resolved "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.10.tgz" integrity sha512-oYhqxETRHNHKsipm/BtGL0LI43Hs2VSFoWMbBdHK9OqgQPjTVUitslgLcPpo4zApCcmBWoOLX2qPxhsBda644A== dependencies: "@react-navigation/routers" "^6.1.9" @@ -5536,12 +5536,12 @@ "@react-navigation/elements@^1.3.22": version "1.3.22" - resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.22.tgz#37e25e46ca4715049795471056a9e7e58ac4a14e" + resolved "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.22.tgz" integrity sha512-HYKucs0TwQT8zMvgoZbJsY/3sZfzeP8Dk9IDv4agst3zlA7ReTx4+SROCG6VGC7JKqBCyQykHIwkSwxhapoc+Q== "@react-navigation/native-stack@^6.9.18": version "6.9.18" - resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.9.18.tgz#60380b058bf916f69db46cdb32b3127d0589f055" + resolved "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.18.tgz" integrity sha512-PSe0qjROy8zD78ehW048NSuzWRktioSCJmB8LzWSR65ndgVaC2rO+xvgyjhHjqm01YdyVM1XTct2EorSjDV2Ow== dependencies: "@react-navigation/elements" "^1.3.22" @@ -5549,7 +5549,7 @@ "@react-navigation/native@^6.1.10": version "6.1.10" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-6.1.10.tgz#d108423ae3acbe13f11d9b7351c1f5522d8391a5" + resolved "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.10.tgz" integrity sha512-jDG89TbZItY7W7rIcS1RqT63vWOPD4XuQLNKqZO0DY7mKnKh/CGBd0eg3nDMXUl143Qp//IxJKe2TfBQRDEU4A== dependencies: "@react-navigation/core" "^6.4.10" @@ -5559,14 +5559,14 @@ "@react-navigation/routers@^6.1.9": version "6.1.9" - resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-6.1.9.tgz#73f5481a15a38e36592a0afa13c3c064b9f90bed" + resolved "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz" integrity sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA== dependencies: nanoid "^3.1.23" "@remix-run/router@1.16.0": version "1.16.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.0.tgz#0e10181e5fec1434eb071a9bc4bdaac843f16dcc" + resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz" integrity sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q== "@rollup/rollup-android-arm-eabi@4.14.2": @@ -5581,7 +5581,7 @@ "@rollup/rollup-darwin-arm64@4.14.2": version "4.14.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz#bf746c610f337b104408ec001549d825a91eca57" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz" integrity sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q== "@rollup/rollup-darwin-x64@4.14.2": @@ -5646,7 +5646,7 @@ "@segment/loosely-validate-event@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz#87dfc979e5b4e7b82c5f1d8b722dfd5d77644681" + resolved "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz" integrity sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw== dependencies: component-type "^1.2.1" @@ -5654,60 +5654,60 @@ "@sideway/address@^4.1.5": version "4.1.5" - resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz" integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== dependencies: "@hapi/hoek" "^9.0.0" "@sideway/formula@^3.0.1": version "3.0.1" - resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== "@sideway/pinpoint@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sinclair/typebox@^0.27.8": version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/chunkify@^0.2.0": version "0.2.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/chunkify/-/chunkify-0.2.0.tgz#b3a7b881e8e63e343a99a1cbf662687f4268a4d8" + resolved "https://registry.npmjs.org/@sindresorhus/chunkify/-/chunkify-0.2.0.tgz" integrity sha512-mOAiwqu+bIIkNFDCXFJxZEmF9p9WHfSBbpLLmgysYnNkEs7aA0/AvU9+6zLHFqI7JnqdqwAuWu8CbGwGIszRdw== "@sindresorhus/df@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-1.0.1.tgz#c69b66f52f6fcdd287c807df210305dbaf78500d" + resolved "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz" integrity sha512-1Hyp7NQnD/u4DSxR2DGW78TF9k7R0wZ8ev0BpMAIzA6yTQSHqNb5wTuvtcPYf4FWbVse2rW7RgDsyL8ua2vXHw== "@sindresorhus/df@^3.1.1": version "3.1.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-3.1.1.tgz#94200f9277e4a7fdd35ce8ab8b6bc5b52b164d31" + resolved "https://registry.npmjs.org/@sindresorhus/df/-/df-3.1.1.tgz" integrity sha512-SME/vtXaJcnQ/HpeV6P82Egy+jThn11IKfwW8+/XVoRD0rmPHVTeKMtww1oWdVnMykzVPjmrDN9S8NBndPEHCQ== dependencies: execa "^2.0.1" "@sinonjs/commons@^3.0.0": version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^10.0.2": version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: "@sinonjs/commons" "^3.0.0" "@storybook/addon-actions@7.6.17", "@storybook/addon-actions@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.6.17.tgz#b1be5ab28b22b4a50c6aa0cd0a3671ca5b6f5f71" + resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz" integrity sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ== dependencies: "@storybook/core-events" "7.6.17" @@ -5719,7 +5719,7 @@ "@storybook/addon-backgrounds@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz#a3c96cb73e6053dc2cf9968cb02b437c4d752812" + resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz" integrity sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw== dependencies: "@storybook/global" "^5.0.0" @@ -5728,7 +5728,7 @@ "@storybook/addon-controls@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.6.17.tgz#354f3f85481e0a3318519b8c8aa5a3b1152e8de0" + resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz" integrity sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ== dependencies: "@storybook/blocks" "7.6.17" @@ -5737,7 +5737,7 @@ "@storybook/addon-docs@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.6.17.tgz#ea62be2da8b31df2c80a47cac4c30f66af4d2fbf" + resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz" integrity sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA== dependencies: "@jest/transform" "^29.3.1" @@ -5762,7 +5762,7 @@ "@storybook/addon-essentials@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz#d49d9a77edc999518c6871b66032a647787c39f4" + resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz" integrity sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw== dependencies: "@storybook/addon-actions" "7.6.17" @@ -5782,14 +5782,14 @@ "@storybook/addon-highlight@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz#6d8549aa95eb007888f4d272e9ab7316cbcc001c" + resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz" integrity sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A== dependencies: "@storybook/global" "^5.0.0" "@storybook/addon-interactions@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz#5860cf6f2fb9999e0b83ac07a0b7f3a9988ff22a" + resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz" integrity sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ== dependencies: "@storybook/global" "^5.0.0" @@ -5800,7 +5800,7 @@ "@storybook/addon-links@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-7.6.17.tgz#5a678ff09c1b5056b67cb345c115cfcd343ffe86" + resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz" integrity sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ== dependencies: "@storybook/csf" "^0.1.2" @@ -5809,7 +5809,7 @@ "@storybook/addon-measure@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.6.17.tgz#a348b40dfa592c66b348457bd4f535f4ba481279" + resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz" integrity sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA== dependencies: "@storybook/global" "^5.0.0" @@ -5817,7 +5817,7 @@ "@storybook/addon-outline@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.6.17.tgz#f87c7bea4ecba783c79a3026f8fc7e0acc26c460" + resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz" integrity sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ== dependencies: "@storybook/global" "^5.0.0" @@ -5825,7 +5825,7 @@ "@storybook/addon-postcss@^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-postcss/-/addon-postcss-2.0.0.tgz#ec61cb9bb2662f408072b35c466c7df801c28498" + resolved "https://registry.npmjs.org/@storybook/addon-postcss/-/addon-postcss-2.0.0.tgz" integrity sha512-Nt82A7e9zJH4+A+VzLKKswUfru+T6FJTakj4dccP0i8DSn7a0CkzRPrLuZBq8tg4voV6gD74bcDf3gViCVBGtA== dependencies: "@storybook/node-logger" "^6.1.14" @@ -5836,28 +5836,19 @@ "@storybook/addon-toolbars@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz#98c1cee88a8f5f61464d28a09648994884d7bd0a" + resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz" integrity sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg== "@storybook/addon-viewport@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz#db3c1f14bb4185f20d745c4e8cf2bd10f70ea336" + resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz" integrity sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw== dependencies: memoizerific "^1.11.3" -"@storybook/addons@^7.0.0": - version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-7.6.14.tgz#59cc3f27c0a1048a4fb8beb3d745494d4172ec3f" - integrity sha512-J/TpNl7dzKthv7hAXkUoPF5GSonLINFgoVgl7gBj5RnAIqKUnliMOMohYTteHEIiOsXRk3uDx+trSGsp42jsdw== - dependencies: - "@storybook/manager-api" "7.6.14" - "@storybook/preview-api" "7.6.14" - "@storybook/types" "7.6.14" - -"@storybook/addons@^7.6.17": +"@storybook/addons@^7.0.0", "@storybook/addons@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-7.6.17.tgz#6fd78ae3a3419bd91fdacbebd40062eb94f92155" + resolved "https://registry.npmjs.org/@storybook/addons/-/addons-7.6.17.tgz" integrity sha512-Ok18Y698Ccyg++MoUNJNHY0cXUvo8ETFIRLJk1g9ElJ70j6kPgNnzW2pAtZkBNmswHtofZ7pT156cj96k/LgfA== dependencies: "@storybook/manager-api" "7.6.17" @@ -5866,7 +5857,7 @@ "@storybook/api@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-7.6.17.tgz#78846f1cca1758020594e9f0cf7262506e9fe613" + resolved "https://registry.npmjs.org/@storybook/api/-/api-7.6.17.tgz" integrity sha512-l92PI+5XL4zB/o4IBWFCKQWTXvPg9hR45DCJqlPHrLZStiR6Xj1mbrtOjUlgIOH+nYb/SZFZqO53hhrs7X4Nvg== dependencies: "@storybook/client-logger" "7.6.17" @@ -5874,7 +5865,7 @@ "@storybook/blocks@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.6.17.tgz#1329885be158f08104f806e5f23b7eb7f99c8b1c" + resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz" integrity sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg== dependencies: "@storybook/channels" "7.6.17" @@ -5903,7 +5894,7 @@ "@storybook/builder-manager@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.6.17.tgz#0d329bea94b5c4a7f88eaee02c42d49c4370c8b4" + resolved "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz" integrity sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg== dependencies: "@fal-works/esbuild-plugin-global-externals" "^2.1.2" @@ -5925,7 +5916,7 @@ "@storybook/builder-webpack5@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-7.6.17.tgz#1bf52b4cf62c66cbfe95e189fa4303a542bb645a" + resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.17.tgz" integrity sha512-GMaBd8/RzivuAmWrYSt9Rga3j8WLcu5LCMYiPVs+XKXsKAC8lTkV0WRWh8Nk6wTmfzsRQ2acwFjSG5oE4ClZKA== dependencies: "@babel/core" "^7.23.2" @@ -5969,7 +5960,7 @@ "@storybook/channels@7.6.14": version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.14.tgz#32c3854208bd54d04ba816867bf442c9216f9997" + resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.14.tgz" integrity sha512-tyrnnXTh7Ca6HbtzYtZGZmbUkC+eYPdot41+YDERMxXCnejd18BnsH/pyGW66GwgY079Q7uhdDFyM63ynZrt/A== dependencies: "@storybook/client-logger" "7.6.14" @@ -5981,7 +5972,7 @@ "@storybook/channels@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.17.tgz#5be1d1222a3ffdc90e1868230c2b2ee5dfc7a97f" + resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz" integrity sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA== dependencies: "@storybook/client-logger" "7.6.17" @@ -5993,7 +5984,7 @@ "@storybook/cli@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.6.17.tgz#04462c97a926e3dfcc18f3df02519effe29740e2" + resolved "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz" integrity sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA== dependencies: "@babel/core" "^7.23.2" @@ -6039,21 +6030,21 @@ "@storybook/client-logger@7.6.14": version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.14.tgz#98dfb0092ed77d61d2e159a4504f375f1dfb7deb" + resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.14.tgz" integrity sha512-rHa2hLU+80BN5E58Shf1g09YS6QEEOk5hwMuJ4WJfAypMDYPjnIsOYUboHClkCA9TDCH/iVhyRSPy83NWN2MZg== dependencies: "@storybook/global" "^5.0.0" "@storybook/client-logger@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.17.tgz#5031c47b7df8d8792fe9dfed5828222f515e5803" + resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz" integrity sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ== dependencies: "@storybook/global" "^5.0.0" "@storybook/codemod@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.6.17.tgz#c93d87d74f43fd475d48edb178233e89329b72c2" + resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz" integrity sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg== dependencies: "@babel/core" "^7.23.2" @@ -6071,9 +6062,9 @@ prettier "^2.8.0" recast "^0.23.1" -"@storybook/components@7.6.17", "@storybook/components@^7.6.17": +"@storybook/components@7.6.17", "@storybook/components@^7.0.0", "@storybook/components@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.6.17.tgz#f02a47ad42432f8ea518321a145a074e4c11649f" + resolved "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz" integrity sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA== dependencies: "@radix-ui/react-select" "^1.2.2" @@ -6087,25 +6078,9 @@ use-resize-observer "^9.1.0" util-deprecate "^1.0.2" -"@storybook/components@^7.0.0": - version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.6.14.tgz#bd2f750936b1ec0accb59c83939872b2ee507d33" - integrity sha512-kukLj6B2xaIbKAq8E2WUcU0KZ+keuvIo0VcfrtSNHFbNvrNzHshajPC1dTO4NbgI3ey2SmD0rp71eh06TUQ9ng== - dependencies: - "@radix-ui/react-select" "^1.2.2" - "@radix-ui/react-toolbar" "^1.0.4" - "@storybook/client-logger" "7.6.14" - "@storybook/csf" "^0.1.2" - "@storybook/global" "^5.0.0" - "@storybook/theming" "7.6.14" - "@storybook/types" "7.6.14" - memoizerific "^1.11.3" - use-resize-observer "^9.1.0" - util-deprecate "^1.0.2" - "@storybook/core-client@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.6.17.tgz#eace9819b64febf0d5ab2743f65ec5dfe4e3a410" + resolved "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz" integrity sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw== dependencies: "@storybook/client-logger" "7.6.17" @@ -6113,7 +6088,7 @@ "@storybook/core-common@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.6.17.tgz#12760703f08d8f741de0f1fe7026346438251951" + resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz" integrity sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g== dependencies: "@storybook/core-events" "7.6.17" @@ -6140,23 +6115,23 @@ resolve-from "^5.0.0" ts-dedent "^2.0.0" -"@storybook/core-events@7.6.14", "@storybook/core-events@^7.0.0": +"@storybook/core-events@7.6.14": version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.14.tgz#4ba595ea6df1bd760e8ed5c9ec8a39a722e09339" + resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.14.tgz" integrity sha512-zuSMjOgju7WLFL+okTXVvOKKNzwqVGRVp5UhXeSikT4aXuVdpfepCfikkjntn12G1ybL7mfFCsBU2DV1lwwp6Q== dependencies: ts-dedent "^2.0.0" -"@storybook/core-events@7.6.17", "@storybook/core-events@^7.6.17": +"@storybook/core-events@7.6.17", "@storybook/core-events@^7.0.0", "@storybook/core-events@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.17.tgz#9e1a795558193089fb227cfe2cf768c99418a640" + resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz" integrity sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA== dependencies: ts-dedent "^2.0.0" "@storybook/core-server@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.6.17.tgz#bf5b7a9db7abe157a14dba6279936e43efa79250" + resolved "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz" integrity sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA== dependencies: "@aw-web-design/x-default-browser" "1.4.126" @@ -6203,7 +6178,7 @@ "@storybook/core-webpack@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-7.6.17.tgz#0cca6bd165d4cea0e53856520c6409127869f6b7" + resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.17.tgz" integrity sha512-PyGrFhRM8sTONGwwLWLqBQ1HO+LBnVZ+5TOQO7ejQfdV2FWyNOzjBXm2e5jL/C6XlqiEhmL5pyHEyDBaQJQ3KA== dependencies: "@storybook/core-common" "7.6.17" @@ -6214,7 +6189,7 @@ "@storybook/csf-plugin@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz#6acf738b62e14a74a90ef68d7567e2fc1d1bd68f" + resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz" integrity sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q== dependencies: "@storybook/csf-tools" "7.6.17" @@ -6222,7 +6197,7 @@ "@storybook/csf-tools@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.6.17.tgz#366bb2348fc1a62f90cdbd6cce4aa5e7293984eb" + resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz" integrity sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ== dependencies: "@babel/generator" "^7.23.0" @@ -6237,19 +6212,19 @@ "@storybook/csf@^0.1.2": version "0.1.2" - resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.2.tgz#8e7452f0097507f5841b5ade3f5da1525bc9afb2" + resolved "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.2.tgz" integrity sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA== dependencies: type-fest "^2.19.0" "@storybook/docs-mdx@^0.1.0": version "0.1.0" - resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz#33ba0e39d1461caf048b57db354b2cc410705316" + resolved "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz" integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg== "@storybook/docs-tools@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.6.17.tgz#4c38025be46c991bfe994bd82996708210e51d2f" + resolved "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz" integrity sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA== dependencies: "@storybook/core-common" "7.6.17" @@ -6262,22 +6237,22 @@ "@storybook/global@^5.0.0": version "5.0.0" - resolved "https://registry.yarnpkg.com/@storybook/global/-/global-5.0.0.tgz#b793d34b94f572c1d7d9e0f44fac4e0dbc9572ed" + resolved "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz" integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== -"@storybook/manager-api@7.6.14", "@storybook/manager-api@^7.0.0": - version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.6.14.tgz#2df38750f1b89dee98053839efb67f43a8d6bcf9" - integrity sha512-kZbcudrpQaYgUCrnBumDBPOvaEcvFBrZjM5v3AvMenVMXTjwlAHF8mZswE/ptpDsico2iSN96nMhd97OyaAuqA== +"@storybook/manager-api@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz" + integrity sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg== dependencies: - "@storybook/channels" "7.6.14" - "@storybook/client-logger" "7.6.14" - "@storybook/core-events" "7.6.14" + "@storybook/channels" "7.6.17" + "@storybook/client-logger" "7.6.17" + "@storybook/core-events" "7.6.17" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/router" "7.6.14" - "@storybook/theming" "7.6.14" - "@storybook/types" "7.6.14" + "@storybook/router" "7.6.17" + "@storybook/theming" "7.6.17" + "@storybook/types" "7.6.17" dequal "^2.0.2" lodash "^4.17.21" memoizerific "^1.11.3" @@ -6285,19 +6260,19 @@ telejson "^7.2.0" ts-dedent "^2.0.0" -"@storybook/manager-api@7.6.17": - version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.6.17.tgz#cdf0bb8e5bdc3da2559150125b3d6a3ff72f0def" - integrity sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg== +"@storybook/manager-api@^7.0.0": + version "7.6.14" + resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.14.tgz" + integrity sha512-kZbcudrpQaYgUCrnBumDBPOvaEcvFBrZjM5v3AvMenVMXTjwlAHF8mZswE/ptpDsico2iSN96nMhd97OyaAuqA== dependencies: - "@storybook/channels" "7.6.17" - "@storybook/client-logger" "7.6.17" - "@storybook/core-events" "7.6.17" + "@storybook/channels" "7.6.14" + "@storybook/client-logger" "7.6.14" + "@storybook/core-events" "7.6.14" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/router" "7.6.17" - "@storybook/theming" "7.6.17" - "@storybook/types" "7.6.17" + "@storybook/router" "7.6.14" + "@storybook/theming" "7.6.14" + "@storybook/types" "7.6.14" dequal "^2.0.2" lodash "^4.17.21" memoizerific "^1.11.3" @@ -6307,22 +6282,22 @@ "@storybook/manager@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.6.17.tgz#56e820ede16f6b824ec6b016082d1d10dbb02759" + resolved "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz" integrity sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw== "@storybook/mdx2-csf@^1.0.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz#97f6df04d0bf616991cc1005a073ac004a7281e5" + resolved "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz" integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw== "@storybook/node-logger@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.6.17.tgz#2747cee5395c3644408df2423d98502663c4bcf6" + resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz" integrity sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA== "@storybook/node-logger@^6.1.14": version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.16.tgz#d57fd6204c2abfbc297551d98ad5475dd73207cc" + resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.16.tgz" integrity sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg== dependencies: "@types/npmlog" "^4.1.2" @@ -6333,12 +6308,12 @@ "@storybook/postinstall@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.6.17.tgz#7218b416dfa6d36b5bdbd3e61afc9a2381f82c28" + resolved "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz" integrity sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ== "@storybook/preset-react-webpack@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.17.tgz#af112cef0fb93ebfb22363b8a7eec6be7128fde6" + resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.17.tgz" integrity sha512-gn/LvIbll9loOkzwbFlxzOZGmJ6t1vF2/gfi+p/N/AifDYe8+LVM1QV4KRVKt6UEJwsQd79lKf7vPH92AQaKKQ== dependencies: "@babel/preset-flow" "^7.22.15" @@ -6359,29 +6334,9 @@ semver "^7.3.7" webpack "5" -"@storybook/preview-api@7.6.14": - version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.6.14.tgz#50d2794e269c5182f285aaf3a07d50a2e1cf6a54" - integrity sha512-CnUEkTUK3ei3vw4Ypa9EOxEO9lCKc3HvVHxXu4z6Caoe/hRUc10Q6Nj1A7brqok1QLZ304qc715XdYFMahDhyA== - dependencies: - "@storybook/channels" "7.6.14" - "@storybook/client-logger" "7.6.14" - "@storybook/core-events" "7.6.14" - "@storybook/csf" "^0.1.2" - "@storybook/global" "^5.0.0" - "@storybook/types" "7.6.14" - "@types/qs" "^6.9.5" - dequal "^2.0.2" - lodash "^4.17.21" - memoizerific "^1.11.3" - qs "^6.10.0" - synchronous-promise "^2.0.15" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - "@storybook/preview-api@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.6.17.tgz#03dd399bf3bb8ac6f4aad3c738365b86b8790157" + resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz" integrity sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw== dependencies: "@storybook/channels" "7.6.17" @@ -6401,12 +6356,12 @@ "@storybook/preview@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.6.17.tgz#e0c9727c7cfbd8f1d504848a57acaab8e54abe90" + resolved "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz" integrity sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw== "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": version "1.0.6--canary.9.0c3f3b7.0" - resolved "https://registry.yarnpkg.com/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz#7f10f3c641f32e4513a8b6ffb5036933e7059534" + resolved "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz" integrity sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q== dependencies: debug "^4.1.1" @@ -6419,12 +6374,12 @@ "@storybook/react-dom-shim@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz#5875915316f687bf658cc6686ea49f2928eae4b2" + resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz" integrity sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw== "@storybook/react-webpack5@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/react-webpack5/-/react-webpack5-7.6.17.tgz#c1ab808bac41dde4a9bd96c3afc800b914eda9e6" + resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-7.6.17.tgz" integrity sha512-qGc2JxaSmvPXV7ndxA/8qPtPLK7lAwejL/QdrzLXhxEmVdZLMew640FBYgOV/zWnehV3BnivThln/8PsQyst/g== dependencies: "@storybook/builder-webpack5" "7.6.17" @@ -6434,7 +6389,7 @@ "@storybook/react@7.6.17", "@storybook/react@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.6.17.tgz#3e585b37f4a45d01b60543e1952a46ae3da70e81" + resolved "https://registry.npmjs.org/@storybook/react/-/react-7.6.17.tgz" integrity sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA== dependencies: "@storybook/client-logger" "7.6.17" @@ -6461,7 +6416,7 @@ "@storybook/router@7.6.14": version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.6.14.tgz#b04d6eef3c7c18e005b31f79f539c8d7811fda1c" + resolved "https://registry.npmjs.org/@storybook/router/-/router-7.6.14.tgz" integrity sha512-eVD7jVZeM8mppEtHsvkKIEN92stsdbiXDHG49iNVnw+ojOSjJ1HR8+Pm8wy5Cc2pcyoZEHeU356kaP9gXOhuOQ== dependencies: "@storybook/client-logger" "7.6.14" @@ -6470,7 +6425,7 @@ "@storybook/router@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.6.17.tgz#de5016086191846ed12af7495aeddcc373cbd0d4" + resolved "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz" integrity sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A== dependencies: "@storybook/client-logger" "7.6.17" @@ -6479,7 +6434,7 @@ "@storybook/telemetry@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.6.17.tgz#472dd6a8d87240c1fcc01bb9d6247e134e539b5b" + resolved "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz" integrity sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA== dependencies: "@storybook/client-logger" "7.6.17" @@ -6493,16 +6448,16 @@ "@storybook/testing-library@^0.2.2": version "0.2.2" - resolved "https://registry.yarnpkg.com/@storybook/testing-library/-/testing-library-0.2.2.tgz#c8e089cc8d7354f6066fdb580fae3eedf568aa7c" + resolved "https://registry.npmjs.org/@storybook/testing-library/-/testing-library-0.2.2.tgz" integrity sha512-L8sXFJUHmrlyU2BsWWZGuAjv39Jl1uAqUHdxmN42JY15M4+XCMjGlArdCCjDe1wpTSW6USYISA9axjZojgtvnw== dependencies: "@testing-library/dom" "^9.0.0" "@testing-library/user-event" "^14.4.0" ts-dedent "^2.2.0" -"@storybook/theming@7.6.14", "@storybook/theming@^7.0.0": +"@storybook/theming@7.6.14": version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.6.14.tgz#c2ecaf2e54dd1b79171e34135572339c68104087" + resolved "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.14.tgz" integrity sha512-jpryYjBAGLkFauSyNEoflSfYqO3srn98llNxhgxpc1P1ocmOzeDwdg7PUWDI9DCuJC+OWaXa1zzLO6uRLyEJAQ== dependencies: "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" @@ -6510,9 +6465,9 @@ "@storybook/global" "^5.0.0" memoizerific "^1.11.3" -"@storybook/theming@7.6.17", "@storybook/theming@^7.6.17": +"@storybook/theming@7.6.17", "@storybook/theming@^7.0.0", "@storybook/theming@^7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.6.17.tgz#8170e3e72b921380c51a3970890d4cb479a65c2f" + resolved "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz" integrity sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA== dependencies: "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" @@ -6522,7 +6477,7 @@ "@storybook/types@7.6.14": version "7.6.14" - resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.14.tgz#3cb9bcbc3142000cbe0808f3c8772376835dee9f" + resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.14.tgz" integrity sha512-sJ3qn45M2XLXlOi+wkhXK5xsXbSVzi8YGrusux//DttI3s8wCP3BQSnEgZkBiEktloxPferINHT1er8/9UK7Xw== dependencies: "@storybook/channels" "7.6.14" @@ -6532,7 +6487,7 @@ "@storybook/types@7.6.17": version "7.6.17" - resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.17.tgz#0b3c27cb1708c0545a9ea1a23b73aa8852dd47c4" + resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz" integrity sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q== dependencies: "@storybook/channels" "7.6.17" @@ -6542,12 +6497,12 @@ "@stroncium/procfs@^1.2.1": version "1.2.1" - resolved "https://registry.yarnpkg.com/@stroncium/procfs/-/procfs-1.2.1.tgz#6b9be6fd20fb0a4c20e99a8695e083c699bb2b45" + resolved "https://registry.npmjs.org/@stroncium/procfs/-/procfs-1.2.1.tgz" integrity sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA== "@swc/core-darwin-arm64@1.4.0": version "1.4.0" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.0.tgz#11abf23b884929a467ba270cf6789b9c50c4248b" + resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.0.tgz" integrity sha512-UTJ/Vz+s7Pagef6HmufWt6Rs0aUu+EJF4Pzuwvr7JQQ5b1DZeAAUeUtkUTFx/PvCbM8Xfw4XdKBUZfrIKCfW8A== "@swc/core-darwin-x64@1.4.0": @@ -6597,7 +6552,7 @@ "@swc/core@^1.3.82": version "1.4.0" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.0.tgz#3a0ceeea5b889173f4592955fe1da4d071d86a76" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.0.tgz" integrity sha512-wc5DMI5BJftnK0Fyx9SNJKkA0+BZSJQx8430yutWmsILkHMBD3Yd9GhlMaxasab9RhgKqZp7Ht30hUYO5ZDvQg== dependencies: "@swc/counter" "^0.1.1" @@ -6616,31 +6571,31 @@ "@swc/counter@^0.1.1", "@swc/counter@^0.1.3": version "0.1.3" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== "@swc/helpers@0.5.2": version "0.5.2" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz" integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw== dependencies: tslib "^2.4.0" "@swc/types@^0.1.5": version "0.1.5" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz" integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== "@tailwindcss/forms@^0.5.7": version "0.5.7" - resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.7.tgz#db5421f062a757b5f828bc9286ba626c6685e821" + resolved "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz" integrity sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw== dependencies: mini-svg-data-uri "^1.2.3" "@tailwindcss/typography@^0.5.10": version "0.5.10" - resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.10.tgz#2abde4c6d5c797ab49cf47610830a301de4c1e0a" + resolved "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz" integrity sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw== dependencies: lodash.castarray "^4.4.0" @@ -6650,7 +6605,7 @@ "@tailwindcss/typography@^0.5.12": version "0.5.12" - resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.12.tgz#c0532fd594427b7f4e8e38eff7bf272c63a1dca4" + resolved "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz" integrity sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg== dependencies: lodash.castarray "^4.4.0" @@ -6660,19 +6615,19 @@ "@tanstack/match-sorter-utils@^8.7.0": version "8.11.8" - resolved "https://registry.yarnpkg.com/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.8.tgz#9132c2a21cf18ca2f0071b604ddadb7a66e73367" + resolved "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.11.8.tgz" integrity sha512-3VPh0SYMGCa5dWQEqNab87UpCMk+ANWHDP4ALs5PeEW9EpfTAbrezzaOk/OiM52IESViefkoAOYuxdoa04p6aA== dependencies: remove-accents "0.4.2" "@tanstack/query-core@4.36.1": version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.36.1.tgz#79f8c1a539d47c83104210be2388813a7af2e524" + resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz" integrity sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA== "@tanstack/react-query-devtools@^4.36.1": version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-4.36.1.tgz#7e63601135902a993ca9af73507b125233b1554e" + resolved "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.36.1.tgz" integrity sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw== dependencies: "@tanstack/match-sorter-utils" "^8.7.0" @@ -6681,7 +6636,7 @@ "@tanstack/react-query@^4.20.4", "@tanstack/react-query@^4.28.0", "@tanstack/react-query@^4.36.1": version "4.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.36.1.tgz#acb589fab4085060e2e78013164868c9c785e5d2" + resolved "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz" integrity sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw== dependencies: "@tanstack/query-core" "4.36.1" @@ -6689,114 +6644,128 @@ "@tanstack/react-table@^8.16.0": version "8.16.0" - resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.16.0.tgz#92151210ff99d6925353d7a2205735d9c31af48c" + resolved "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.16.0.tgz" integrity sha512-rKRjnt8ostqN2fercRVOIH/dq7MAmOENCMvVlKx6P9Iokhh6woBGnIZEkqsY/vEJf1jN3TqLOb34xQGLVRuhAg== dependencies: "@tanstack/table-core" "8.16.0" "@tanstack/react-virtual@3.10.8": version "3.10.8" - resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.10.8.tgz#bf4b06f157ed298644a96ab7efc1a2b01ab36e3c" + resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.10.8.tgz" integrity sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA== dependencies: "@tanstack/virtual-core" "3.10.8" "@tanstack/react-virtual@^3.0.0-beta.60": version "3.0.4" - resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.0.4.tgz#32a90aa6faa2eeebb5f4ca561d26bae9f3435e45" + resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.0.4.tgz" integrity sha512-tiqKW/e2MJVCr7/pRUXulpkyxllaOclkHNfhKTo4pmHjJIqnhMfwIjc1Q1R0Un3PI3kQywywu/791c8z9u0qeA== dependencies: "@tanstack/virtual-core" "3.0.0" "@tanstack/table-core@8.16.0": version "8.16.0" - resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.16.0.tgz#7b58018dd3cec8e0015fe22d6bb24d18d33c891f" + resolved "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.16.0.tgz" integrity sha512-dCG8vQGk4js5v88/k83tTedWOwjGnIyONrKpHpfmSJB8jwFHl8GSu1sBBxbtACVAPtAQgwNxl0rw1d3RqRM1Tg== "@tanstack/virtual-core@3.0.0": version "3.0.0" - resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.0.0.tgz#637bee36f0cabf96a1d436887c90f138a7e9378b" + resolved "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.0.0.tgz" integrity sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg== "@tanstack/virtual-core@3.10.8": version "3.10.8" - resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.10.8.tgz#975446a667755222f62884c19e5c3c66d959b8b4" + resolved "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.10.8.tgz" integrity sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA== -"@tauri-apps/api@1.6.0", "@tauri-apps/api@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-1.6.0.tgz#745b7e4e26782c3b2ad9510d558fa5bb2cf29186" - integrity sha512-rqI++FWClU5I2UBp4HXFvl+sBWkdigBkxnpJDQUWttNyG7IZP4FwQGhTNL5EOw0vI8i6eSAJ5frLqO7n7jbJdg== +"@tauri-apps/api@^2.0.0", "@tauri-apps/api@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-2.0.2.tgz#266767f4a4641014e86a000e7e02e1a344ced45a" + integrity sha512-3wSwmG+1kr6WrgAFKK5ijkNFPp8TT3FLj3YHUb5EwMO+3FxX4uWlfSWkeeBy+Kc1RsKzugtYLuuya+98Flj+3w== -"@tauri-apps/cli-darwin-arm64@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.6.1.tgz#a68818c14c0c4c0d799e006c3535c2cd33f0d13d" - integrity sha512-n+16Z9qQksBmY55Xwful8GGrw2dlyeqKPsjuNcwKUgVB5a4gIq6K6uUsbhwMUMUA3gqewQMBn44QXbSe5qNKfA== +"@tauri-apps/cli-darwin-arm64@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.0.3.tgz#9b1b8c5166e651ed5b202a13468e387fb55a2c4f" + integrity sha512-jIsbxGWS+As1ZN7umo90nkql/ZAbrDK0GBT6UsgHSz5zSwwArICsZFFwE1pLZip5yoiV5mn3TGG2c1+v+0puzQ== -"@tauri-apps/cli-darwin-x64@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.6.1.tgz#4ee16b535ed1f68104928dad3276a9247af8a5b1" - integrity sha512-OHzm6qiywv0GEwBDowlzLSuztKE85NMxp2loVynQ4vDoVk6V0jMtQy/N9YvYA0BetvfNTuuAiz3hsTkMHMYm+g== +"@tauri-apps/cli-darwin-x64@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.0.3.tgz#2d9995a055cf844df5eb4fd80bb79f43842942f5" + integrity sha512-ROITHtLTA1muyrwgyuwyasmaLCGtT4as/Kd1kerXaSDtFcYrnxiM984ZD0+FDUEDl5BgXtYa/sKKkKQFjgmM0A== -"@tauri-apps/cli-linux-arm-gnueabihf@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.6.1.tgz#367ef65606897be94b4b562e8388da1b1fa17134" - integrity sha512-ZA4ByaiZbrXUbhaoWUVab4lHI2yI1/ucrRO6b9pky6ytgqx37hA/YOWoctD0yaf5giQJQZw160euaBIUOKzRXA== +"@tauri-apps/cli-linux-arm-gnueabihf@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.0.3.tgz#bdde3b032a3d599fb6ddd84caa31fb1ce4204fee" + integrity sha512-bQ3EZwCFfrLg/ZQ2I8sLuifSxESz4TP56SleTkKsPtTIZgNnKpM88PRDz4neiRroHVOq8NK0X276qi9LjGcXPw== -"@tauri-apps/cli-linux-arm64-gnu@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.6.1.tgz#e6bb234c14e5969b1ddd267bc1666f61a091788d" - integrity sha512-VBU4GRJPU9jzzeqaEGLHAJzqQhpl7WnRFyHPR8Qby0D17av3CClJ7nBa+CI3ob3JbIERfJM9kwFHdY9eQpfxnw== +"@tauri-apps/cli-linux-arm64-gnu@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.0.3.tgz#267a42b4ee2a287806b03c4cb34f572f3e0329d8" + integrity sha512-aLfAA8P9OTErVUk3sATxtXqpAtlfDPMPp4fGjDysEELG/MyekGhmh2k/kG/i32OdPeCfO+Nr37wJksARJKubGw== -"@tauri-apps/cli-linux-arm64-musl@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.1.tgz#55190ff858eb49f0a4f9973bd36055ae8eb6f113" - integrity sha512-gyMgNZ8fwQFYzrIiHwhmKECkbuAZtzsRyl+bi1Ua11XVWYVUpY8+cNp7Y5ilMJ9AwNFI/HFKjzzua9r+e9FNzw== +"@tauri-apps/cli-linux-arm64-musl@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.0.3.tgz#ee5bdd21bc28fc40d0c0df97bfea00c01936ab0f" + integrity sha512-I4MVD7nf6lLLRmNQPpe5beEIFM6q7Zkmh77ROA5BNu/+vHNL5kiTMD+bmd10ZL2r753A6pO7AvqkIxcBuIl0tg== -"@tauri-apps/cli-linux-x64-gnu@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.6.1.tgz#c0861daf49fd1d308c605187ac996b4c6f952079" - integrity sha512-aYLjLXEBcOf4GUrLBZRQcoLSL3KgCKHwfAyGmTilH4juAw42ZaAYWIZwa59hp2kC4w1XrlmwAzGpi1RESBr5Mw== +"@tauri-apps/cli-linux-x64-gnu@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.0.3.tgz#9b9f242cae7c3d46f522665e11c7cbe1ab0d7ef0" + integrity sha512-C6Jkx2zZGKkoi+sg5FK9GoH/0EvAaOgrZfF5azV5EALGba46g7VpWcZgp9zFUd7K2IzTi+0OOY8TQ2OVfKZgew== -"@tauri-apps/cli-linux-x64-musl@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.1.tgz#001ac261fdc8655d723902e4b0863e7275666269" - integrity sha512-j1M7ovICUrBDbrH8CNUwbMe0zk0/IAR7MXRv5PEanktAZ1w/LG3nlO/AhY5/Cbqqo3ziKTcMpe6x0j3aE8jYOA== +"@tauri-apps/cli-linux-x64-musl@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.0.3.tgz#012311641821051bdc13206a20b7febdb4e1e5da" + integrity sha512-qi4ghmTfSAl+EEUDwmwI9AJUiOLNSmU1RgiGgcPRE+7A/W+Am9UnxYySAiRbB/gJgTl9sj/pqH5Y9duP1/sqHg== -"@tauri-apps/cli-win32-arm64-msvc@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.6.1.tgz#a3a69a5a82e44e48880d7f198297d206f21a6f06" - integrity sha512-yCGT1jXHvZtu+yYPDmDOJDfgsj5EKdBPvya+kmN03BmLfOF+8EWHA9s6yXUdk9pSr6M9OQS0SXocbGDOu5AkMw== +"@tauri-apps/cli-win32-arm64-msvc@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.0.3.tgz#8b8d1b952b2a1338446bf90e8e370f4383d13ee0" + integrity sha512-UXxHkYmFesC97qVmZre4vY7oDxRDtC2OeKNv0bH+iSnuUp/ROxzJYGyaelnv9Ybvgl4YVqDCnxgB28qMM938TA== -"@tauri-apps/cli-win32-ia32-msvc@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.6.1.tgz#2da0ec7b3e0e464347df306dfe8aae974b42d1ac" - integrity sha512-klAt+KNcczC4gxz9vm6tSvFB4iyXVj4r+TtDVhStLCKkAZOVm0ZsFym1kDzltxrB/3xSjgzsgIiEJydN2cP7xw== +"@tauri-apps/cli-win32-ia32-msvc@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.0.3.tgz#d8a43b6bfef8af080fea88bc83f4d0da71b2ff89" + integrity sha512-D+xoaa35RGlkXDpnL5uDTpj29untuC5Wp6bN9snfgFDagD0wnFfC8+2ZQGu16bD0IteWqDI0OSoIXhNvy+F+wg== -"@tauri-apps/cli-win32-x64-msvc@1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.6.1.tgz#b197d6070173d018bb288013d49e6b270b7f13d7" - integrity sha512-WEzQzBgcaqjZoA5M/KOupHmt8W3QQ20vwETXpGEMPd7spj4eZsRv/2ZDuCz4ELbai1XlIsTITFNe2LlJjzqISA== +"@tauri-apps/cli-win32-x64-msvc@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.0.3.tgz#fe14f24046f21c389b17e97f3c3b5aed7811c5b4" + integrity sha512-eWV9XWb4dSYHXl13OtYWLjX1JHphUEkHkkGwJrhr8qFBm7RbxXxQvrsUEprSi51ug/dwJenjJgM4zR8By4htfw== -"@tauri-apps/cli@^1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-1.6.1.tgz#b72ded7fda88daeec96c9e60c61a1b8250b9c4b6" - integrity sha512-2S8WGmkz54Z9WxpaFVbUYsTiwx5OIEmdD5DDWRygX9VhaWwZg0y6DctsUtCRVre9I/Un/hTnmqkhZqPamCEx8A== +"@tauri-apps/cli@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-2.0.3.tgz#f4252ff7d7e1c31cea38d95d59f2d8461e506a2c" + integrity sha512-JwEyhc5BAVpn4E8kxzY/h7+bVOiXQdudR1r3ODMfyyumZBfgIWqpD/WuTcPq6Yjchju1BSS+80jAE/oYwI/RKg== optionalDependencies: - "@tauri-apps/cli-darwin-arm64" "1.6.1" - "@tauri-apps/cli-darwin-x64" "1.6.1" - "@tauri-apps/cli-linux-arm-gnueabihf" "1.6.1" - "@tauri-apps/cli-linux-arm64-gnu" "1.6.1" - "@tauri-apps/cli-linux-arm64-musl" "1.6.1" - "@tauri-apps/cli-linux-x64-gnu" "1.6.1" - "@tauri-apps/cli-linux-x64-musl" "1.6.1" - "@tauri-apps/cli-win32-arm64-msvc" "1.6.1" - "@tauri-apps/cli-win32-ia32-msvc" "1.6.1" - "@tauri-apps/cli-win32-x64-msvc" "1.6.1" + "@tauri-apps/cli-darwin-arm64" "2.0.3" + "@tauri-apps/cli-darwin-x64" "2.0.3" + "@tauri-apps/cli-linux-arm-gnueabihf" "2.0.3" + "@tauri-apps/cli-linux-arm64-gnu" "2.0.3" + "@tauri-apps/cli-linux-arm64-musl" "2.0.3" + "@tauri-apps/cli-linux-x64-gnu" "2.0.3" + "@tauri-apps/cli-linux-x64-musl" "2.0.3" + "@tauri-apps/cli-win32-arm64-msvc" "2.0.3" + "@tauri-apps/cli-win32-ia32-msvc" "2.0.3" + "@tauri-apps/cli-win32-x64-msvc" "2.0.3" + +"@tauri-apps/plugin-os@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tauri-apps/plugin-os/-/plugin-os-2.0.0.tgz#b174dc0e89dc1bf353b2a9c45cb17e12b014ebd2" + integrity sha512-M7hG/nNyQYTJxVG/UhTKhp9mpXriwWzrs9mqDreB8mIgqA3ek5nHLdwRZJWhkKjZrnDT4v9CpA9BhYeplTlAiA== + dependencies: + "@tauri-apps/api" "^2.0.0" + +"@tauri-apps/plugin-store@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tauri-apps/plugin-store/-/plugin-store-2.0.0.tgz#7563bff85795bc501ac606dab0c329760ef28134" + integrity sha512-l4xsbxAXrKGdBdYNNswrLfcRv3v1kOatdycOcVPYW+jKwkznCr1HEOrPXkPhXsZLSLyYmNXpgfOmdSZNmcykDg== + dependencies: + "@tauri-apps/api" "^2.0.0" "@testing-library/dom@^9.0.0": version "9.3.4" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz" integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== dependencies: "@babel/code-frame" "^7.10.4" @@ -6810,7 +6779,7 @@ "@testing-library/jest-dom@^6.5.0": version "6.5.0" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz#50484da3f80fb222a853479f618a9ce5c47bfe54" + resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== dependencies: "@adobe/css-tools" "^4.4.0" @@ -6823,19 +6792,19 @@ "@testing-library/react@^16.0.1": version "16.0.1" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.0.1.tgz#29c0ee878d672703f5e7579f239005e4e0faa875" + resolved "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz" integrity sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg== dependencies: "@babel/runtime" "^7.12.5" "@testing-library/user-event@^14.4.0", "@testing-library/user-event@^14.5.2": version "14.5.2" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.5.2.tgz#db7257d727c891905947bd1c1a99da20e03c2ebd" + resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz" integrity sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ== "@theguild/remark-mermaid@^0.0.5": version "0.0.5" - resolved "https://registry.yarnpkg.com/@theguild/remark-mermaid/-/remark-mermaid-0.0.5.tgz#0f95671d247381f416e528e937be08bb7a695224" + resolved "https://registry.npmjs.org/@theguild/remark-mermaid/-/remark-mermaid-0.0.5.tgz" integrity sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw== dependencies: mermaid "^10.2.2" @@ -6843,7 +6812,7 @@ "@theguild/remark-npm2yarn@^0.2.0": version "0.2.1" - resolved "https://registry.yarnpkg.com/@theguild/remark-npm2yarn/-/remark-npm2yarn-0.2.1.tgz#63bf5a8c85d7fe505d4808812dbc56d9c2ce00f8" + resolved "https://registry.npmjs.org/@theguild/remark-npm2yarn/-/remark-npm2yarn-0.2.1.tgz" integrity sha512-jUTFWwDxtLEFtGZh/TW/w30ySaDJ8atKWH8dq2/IiQF61dPrGfETpl0WxD0VdBfuLOeU14/kop466oBSRO/5CA== dependencies: npm-to-yarn "^2.1.0" @@ -6851,44 +6820,44 @@ "@tootallnate/once@2": version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@tsconfig/node10@^1.0.7": version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz" integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== "@tsconfig/node12@^1.0.7": version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/acorn@^4.0.0": version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" + resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== dependencies: "@types/estree" "*" "@types/aria-query@^5.0.1": version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" @@ -6899,14 +6868,14 @@ "@types/babel__generator@*": version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" @@ -6914,21 +6883,21 @@ "@types/babel__traverse@*", "@types/babel__traverse@^7.18.0": version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== dependencies: "@babel/types" "^7.20.7" "@types/babel__traverse@^7.0.6": version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz" integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== dependencies: "@babel/types" "^7.20.7" "@types/body-parser@*": version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: "@types/connect" "*" @@ -6936,80 +6905,80 @@ "@types/connect@*": version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" "@types/cross-spawn@^6.0.2": version "6.0.6" - resolved "https://registry.yarnpkg.com/@types/cross-spawn/-/cross-spawn-6.0.6.tgz#0163d0b79a6f85409e0decb8dcca17147f81fd22" + resolved "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz" integrity sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA== dependencies: "@types/node" "*" "@types/d3-scale-chromatic@^3.0.0": version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz#fc0db9c10e789c351f4c42d96f31f2e4df8f5644" + resolved "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz" integrity sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw== "@types/d3-scale@^4.0.3": version "4.0.8" - resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.8.tgz#d409b5f9dcf63074464bf8ddfb8ee5a1f95945bb" + resolved "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz" integrity sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ== dependencies: "@types/d3-time" "*" "@types/d3-time@*": version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.3.tgz#3c186bbd9d12b9d84253b6be6487ca56b54f88be" + resolved "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz" integrity sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw== "@types/debug@^4.0.0": version "4.1.12" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" "@types/deep-equal@^1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.4.tgz#c0a854be62d6b9fae665137a6639aab53389a147" + resolved "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.4.tgz" integrity sha512-tqdiS4otQP4KmY0PR3u6KbZ5EWvhNdUoS/jc93UuK23C220lOZ/9TvjfxdPcKvqwwDVtmtSCrnr0p/2dirAxkA== "@types/detect-port@^1.3.0": version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.3.5.tgz#deecde143245989dee0e82115f3caba5ee0ea747" + resolved "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz" integrity sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA== "@types/doctrine@^0.0.3": version "0.0.3" - resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.3.tgz#e892d293c92c9c1d3f9af72c15a554fbc7e0895a" + resolved "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz" integrity sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA== "@types/doctrine@^0.0.9": version "0.0.9" - resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.9.tgz#d86a5f452a15e3e3113b99e39616a9baa0f9863f" + resolved "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz" integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== "@types/ejs@^3.1.1": version "3.1.5" - resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.1.5.tgz#49d738257cc73bafe45c13cb8ff240683b4d5117" + resolved "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz" integrity sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg== "@types/emscripten@^1.39.6": version "1.39.10" - resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.39.10.tgz#da6e58a6171b46a41d3694f812d845d515c77e18" + resolved "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz" integrity sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw== "@types/escodegen@^0.0.6": version "0.0.6" - resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c" + resolved "https://registry.npmjs.org/@types/escodegen/-/escodegen-0.0.6.tgz" integrity sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig== "@types/eslint-scope@^3.7.3": version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" @@ -7017,7 +6986,7 @@ "@types/eslint@*": version "8.56.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz" integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== dependencies: "@types/estree" "*" @@ -7025,24 +6994,24 @@ "@types/estree-jsx@^1.0.0": version "1.0.4" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.4.tgz#8d34b43444887dde8a73af530f772f23e1d3287c" + resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz" integrity sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ== dependencies: "@types/estree" "*" "@types/estree@*", "@types/estree@1.0.5", "@types/estree@^1.0.0", "@types/estree@^1.0.5": version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/estree@^0.0.51": version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@^4.17.33": version "4.17.43" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== dependencies: "@types/node" "*" @@ -7052,7 +7021,7 @@ "@types/express@^4.7.0": version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== dependencies: "@types/body-parser" "*" @@ -7062,77 +7031,77 @@ "@types/find-cache-dir@^3.2.1": version "3.2.1" - resolved "https://registry.yarnpkg.com/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz#7b959a4b9643a1e6a1a5fe49032693cc36773501" + resolved "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz" integrity sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw== "@types/graceful-fs@^4.1.3": version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" "@types/hammerjs@^2.0.36": version "2.0.45" - resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.45.tgz#ffa764bb68a66c08db6efb9c816eb7be850577b1" + resolved "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz" integrity sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ== "@types/hast@^2.0.0": version "2.3.10" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz" integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== dependencies: "@types/unist" "^2" "@types/hast@^3.0.0": version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" + resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== dependencies: "@types/unist" "*" "@types/history@^4.7.11": version "4.7.11" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== "@types/html-minifier-terser@^6.0.0": version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-errors@*": version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/is-valid-glob@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/is-valid-glob/-/is-valid-glob-1.0.3.tgz#66b5c290c56908e43b97eea9f58174b546568ccd" + resolved "https://registry.npmjs.org/@types/is-valid-glob/-/is-valid-glob-1.0.3.tgz" integrity sha512-8ovBwA8At13SfRefmy/AHMNfzQTTIjQV2+LPeeWuRtKyCbdvvlH7wC+dkx7LlMEgo2SRatgCxLyf/PJ14GTW2Q== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^29.5.12": version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz" integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== dependencies: expect "^29.0.0" @@ -7140,12 +7109,12 @@ "@types/js-yaml@^4.0.0": version "4.0.9" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.9.tgz#cd82382c4f902fed9691a2ed79ec68c5898af4c2" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz" integrity sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg== "@types/jsdom@^20.0.0": version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz" integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== dependencies: "@types/node" "*" @@ -7154,108 +7123,108 @@ "@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/katex@^0.16.0": version "0.16.7" - resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868" + resolved "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz" integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== "@types/localforage@0.0.34": version "0.0.34" - resolved "https://registry.yarnpkg.com/@types/localforage/-/localforage-0.0.34.tgz#5e31c32dd8791ec4b9ff3ef47c9cb55b2d0d9438" + resolved "https://registry.npmjs.org/@types/localforage/-/localforage-0.0.34.tgz" integrity sha512-tJxahnjm9dEI1X+hQSC5f2BSd/coZaqbIl1m3TCl0q9SVuC52XcXfV0XmoCU1+PmjyucuVITwoTnN8OlTbEXXA== dependencies: localforage "*" "@types/lodash.groupby@^4.6.9": version "4.6.9" - resolved "https://registry.yarnpkg.com/@types/lodash.groupby/-/lodash.groupby-4.6.9.tgz#ea1aa9da1038ca50894d1fe1a3b5dabdf865d99c" + resolved "https://registry.npmjs.org/@types/lodash.groupby/-/lodash.groupby-4.6.9.tgz" integrity sha512-z2xtCX2ko7GrqORnnYea4+ksT7jZNAvaOcLd6mP9M7J09RHvJs06W8BGdQQAX8ARef09VQLdeRilSOcfHlDQJQ== dependencies: "@types/lodash" "*" "@types/lodash.isequal@^4.5.8": version "4.5.8" - resolved "https://registry.yarnpkg.com/@types/lodash.isequal/-/lodash.isequal-4.5.8.tgz#b30bb6ff6a5f6c19b3daf389d649ac7f7a250499" + resolved "https://registry.npmjs.org/@types/lodash.isequal/-/lodash.isequal-4.5.8.tgz" integrity sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA== dependencies: "@types/lodash" "*" "@types/lodash.sortby@^4.7.9": version "4.7.9" - resolved "https://registry.yarnpkg.com/@types/lodash.sortby/-/lodash.sortby-4.7.9.tgz#e4af00e03daece7a939378ff64f0d44e638d7db6" + resolved "https://registry.npmjs.org/@types/lodash.sortby/-/lodash.sortby-4.7.9.tgz" integrity sha512-PDmjHnOlndLS59GofH0pnxIs+n9i4CWeXGErSB5JyNFHu2cmvW6mQOaUKjG8EDPkni14IgF8NsRW8bKvFzTm9A== dependencies: "@types/lodash" "*" "@types/lodash.uniqby@^4.7.9": version "4.7.9" - resolved "https://registry.yarnpkg.com/@types/lodash.uniqby/-/lodash.uniqby-4.7.9.tgz#10bacba9cf3263c6e07ae11d953de6ada6605104" + resolved "https://registry.npmjs.org/@types/lodash.uniqby/-/lodash.uniqby-4.7.9.tgz" integrity sha512-rjrXji/seS6BZJRgXrU2h6FqxRVufsbq/HE0Tx0SdgbtlWr2YmD/M64BlYEYYlaMcpZwy32IYVkMfUMYlPuv0w== dependencies: "@types/lodash" "*" "@types/lodash.upperfirst@^4.3.9": version "4.3.9" - resolved "https://registry.yarnpkg.com/@types/lodash.upperfirst/-/lodash.upperfirst-4.3.9.tgz#66e150885a67866ed8bc4331c8c305ab682a198c" + resolved "https://registry.npmjs.org/@types/lodash.upperfirst/-/lodash.upperfirst-4.3.9.tgz" integrity sha512-bYhT1QEsk9/ggrFjK86Pb5bnKJgTBbpVA77Ygbb1aW1oiWJNGRbVjSlQ9We/ihB9vVpX5WqDJvbISXlukGR+dQ== dependencies: "@types/lodash" "*" "@types/lodash@*", "@types/lodash@^4.14.167": version "4.14.202" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz" integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== "@types/mdast@^3.0.0": version "3.0.15" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz" integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== dependencies: "@types/unist" "^2" "@types/mdast@^4.0.0": version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.3.tgz#1e011ff013566e919a4232d1701ad30d70cab333" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz" integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== dependencies: "@types/unist" "*" "@types/mdx@^2.0.0": version "2.0.11" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.11.tgz#21f4c166ed0e0a3a733869ba04cd8daea9834b8e" + resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz" integrity sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== "@types/mime-types@^2.1.0": version "2.1.4" - resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.4.tgz#93a1933e24fed4fb9e4adc5963a63efcbb3317a2" + resolved "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz" integrity sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w== "@types/mime@*": version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz" integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== "@types/mime@^1": version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/minimist@^1.2.0", "@types/minimist@^1.2.2": version "1.2.5" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/ms@*": version "0.7.34" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== "@types/node-fetch@^2.6.4": version "2.6.11" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" + resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz" integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== dependencies: "@types/node" "*" @@ -7263,101 +7232,94 @@ "@types/node@*", "@types/node@^20.8.7": version "20.11.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292" + resolved "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz" integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw== dependencies: undici-types "~5.26.4" "@types/node@^18.0.0": version "18.19.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.15.tgz#313a9d75435669a57fc28dc8694e7f4c4319f419" + resolved "https://registry.npmjs.org/@types/node/-/node-18.19.15.tgz" integrity sha512-AMZ2UWx+woHNfM11PyAEQmfSxi05jm9OlkxczuHeEqmvwPkYj6MWv44gbzDPefYOLysTOFyI3ziiy2ONmUZfpA== dependencies: undici-types "~5.26.4" "@types/node@^20.12.7": version "20.12.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" + resolved "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz" integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== dependencies: undici-types "~5.26.4" "@types/normalize-package-data@^2.4.0": version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/npmlog@^4.1.2": version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.6.tgz#792341665000209ee76997df8a16300fda6d77cb" + resolved "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.6.tgz" integrity sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ== dependencies: "@types/node" "*" "@types/nprogress@^0.2.3": version "0.2.3" - resolved "https://registry.yarnpkg.com/@types/nprogress/-/nprogress-0.2.3.tgz#b2150b054a13622fabcba12cf6f0b54c48b14287" + resolved "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.3.tgz" integrity sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA== "@types/parse-json@^4.0.0": version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/pluralize@^0.0.33": version "0.0.33" - resolved "https://registry.yarnpkg.com/@types/pluralize/-/pluralize-0.0.33.tgz#8ad9018368c584d268667dd9acd5b3b806e8c82a" + resolved "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.33.tgz" integrity sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg== "@types/pretty-hrtime@^1.0.0": version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#ee1bd8c9f7a01b3445786aad0ef23aba5f511a44" + resolved "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" integrity sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA== "@types/prop-types@*": version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== "@types/qs@*", "@types/qs@^6.9.5": version "6.9.11" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz" integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== "@types/qs@^6.9.14": version "6.9.14" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.14.tgz#169e142bfe493895287bee382af6039795e9b75b" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz" integrity sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA== "@types/range-parser@*": version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react-dom@^18.2.14": - version "18.2.19" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" - integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== - dependencies: - "@types/react" "*" - -"@types/react-dom@^18.2.25": - version "18.2.25" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.25.tgz#2946a30081f53e7c8d585eb138277245caedc521" - integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== +"@types/react-dom@^18.3.1": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" + integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== dependencies: "@types/react" "*" "@types/react-helmet@^6.1.11": version "6.1.11" - resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.11.tgz#8cafcafff38f75361f451563ba7b406b0c5d3907" + resolved "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.11.tgz" integrity sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g== dependencies: "@types/react" "*" "@types/react-router-dom@^5.3.3": version "5.3.3" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== dependencies: "@types/history" "^4.7.11" @@ -7366,47 +7328,55 @@ "@types/react-router@*": version "5.1.20" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== dependencies: "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*", "@types/react@>=16", "@types/react@^18.2.29": +"@types/react@*": + version "18.2.78" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.78.tgz" + integrity sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/react@>=16": version "18.2.55" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.55.tgz#38141821b7084404b5013742bc4ae08e44da7a67" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.55.tgz" integrity sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^18.2.78": - version "18.2.78" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.78.tgz#94aec453d0ccca909998a2b4b2fd78af15a7d2fe" - integrity sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A== +"@types/react@^18.3.11": + version "18.3.11" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.11.tgz#9d530601ff843ee0d7030d4227ea4360236bd537" + integrity sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ== dependencies: "@types/prop-types" "*" csstype "^3.0.2" "@types/resolve@^1.20.2": version "1.20.6" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.6.tgz#e6e60dad29c2c8c206c026e6dd8d6d1bdda850b8" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz" integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== "@types/scheduler@*": version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== "@types/semver@^7.3.4", "@types/semver@^7.5.0": version "7.5.6" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz" integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== "@types/send@*": version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== dependencies: "@types/mime" "^1" @@ -7414,7 +7384,7 @@ "@types/serve-static@*": version "1.15.5" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz" integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== dependencies: "@types/http-errors" "*" @@ -7423,68 +7393,68 @@ "@types/stack-utils@^2.0.0": version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/strip-bom@^3.0.0": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + resolved "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ== "@types/strip-json-comments@0.0.30": version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + resolved "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz" integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== "@types/tough-cookie@*": version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz" integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/unist@*", "@types/unist@^3.0.0": version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" + resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz" integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== "@types/unist@^2", "@types/unist@^2.0.0": version "2.0.10" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz" integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== "@types/uuid@^9.0.1": version "9.0.8" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz" integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/yargs-parser@*": version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^15.0.0": version "15.0.19" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz" integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== dependencies: "@types/yargs-parser" "*" "@types/yargs@^16.0.0": version "16.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz" integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.8": version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^6.8.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz" integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== dependencies: "@eslint-community/regexpp" "^4.5.1" @@ -7501,7 +7471,7 @@ "@typescript-eslint/parser@^6.7.5", "@typescript-eslint/parser@^6.8.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz" integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== dependencies: "@typescript-eslint/scope-manager" "6.21.0" @@ -7512,7 +7482,7 @@ "@typescript-eslint/scope-manager@6.21.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz" integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== dependencies: "@typescript-eslint/types" "6.21.0" @@ -7520,7 +7490,7 @@ "@typescript-eslint/type-utils@6.21.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz" integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== dependencies: "@typescript-eslint/typescript-estree" "6.21.0" @@ -7530,12 +7500,12 @@ "@typescript-eslint/types@6.21.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== "@typescript-eslint/typescript-estree@6.21.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz" integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== dependencies: "@typescript-eslint/types" "6.21.0" @@ -7549,7 +7519,7 @@ "@typescript-eslint/utils@6.21.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz" integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" @@ -7562,7 +7532,7 @@ "@typescript-eslint/visitor-keys@6.21.0": version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz" integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== dependencies: "@typescript-eslint/types" "6.21.0" @@ -7570,12 +7540,12 @@ "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@urql/core@2.3.6": version "2.3.6" - resolved "https://registry.yarnpkg.com/@urql/core/-/core-2.3.6.tgz#ee0a6f8fde02251e9560c5f17dce5cd90f948552" + resolved "https://registry.npmjs.org/@urql/core/-/core-2.3.6.tgz" integrity sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw== dependencies: "@graphql-typed-document-node/core" "^3.1.0" @@ -7583,7 +7553,7 @@ "@urql/core@>=2.3.1": version "4.2.3" - resolved "https://registry.yarnpkg.com/@urql/core/-/core-4.2.3.tgz#f956e8a33c4bd055c0c5151491843dd46d737f0f" + resolved "https://registry.npmjs.org/@urql/core/-/core-4.2.3.tgz" integrity sha512-DJ9q9+lcs5JL8DcU2J3NqsgeXYJva+1+Qt8HU94kzTPqVOIRRA7ouvy4ksUfPY+B5G2PQ+vLh+JJGyZCNXv0cg== dependencies: "@0no-co/graphql.web" "^1.0.1" @@ -7591,7 +7561,7 @@ "@urql/exchange-retry@0.3.0": version "0.3.0" - resolved "https://registry.yarnpkg.com/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz#13252108b5a111aab45f9982f4db18d1a286e423" + resolved "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz" integrity sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg== dependencies: "@urql/core" ">=2.3.1" @@ -7599,7 +7569,7 @@ "@vitejs/plugin-react@^4.1.0", "@vitejs/plugin-react@^4.2.1": version "4.2.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz#744d8e4fcb120fc3dbaa471dadd3483f5a304bb9" + resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz" integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ== dependencies: "@babel/core" "^7.23.5" @@ -7610,7 +7580,7 @@ "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== dependencies: "@webassemblyjs/helper-numbers" "1.11.6" @@ -7618,22 +7588,22 @@ "@webassemblyjs/floating-point-hex-parser@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== "@webassemblyjs/helper-api-error@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== "@webassemblyjs/helper-buffer@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.6" @@ -7642,12 +7612,12 @@ "@webassemblyjs/helper-wasm-bytecode@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== "@webassemblyjs/helper-wasm-section@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -7657,26 +7627,26 @@ "@webassemblyjs/ieee754@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== "@webassemblyjs/wasm-edit@^1.11.5": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -7690,7 +7660,7 @@ "@webassemblyjs/wasm-gen@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -7701,7 +7671,7 @@ "@webassemblyjs/wasm-opt@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -7711,7 +7681,7 @@ "@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -7723,7 +7693,7 @@ "@webassemblyjs/wast-printer@1.11.6": version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -7731,34 +7701,34 @@ "@xmldom/xmldom@^0.7.5", "@xmldom/xmldom@~0.7.7": version "0.7.13" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.13.tgz#ff34942667a4e19a9f4a0996a76814daac364cf3" + resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz" integrity sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g== "@xmldom/xmldom@^0.8.8": version "0.8.10" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" + resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz" integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== "@yarnpkg/esbuild-plugin-pnp@^3.0.0-rc.10": version "3.0.0-rc.15" - resolved "https://registry.yarnpkg.com/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz#4e40e7d2eb28825c9a35ab9d04c363931d7c0e67" + resolved "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz" integrity sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA== dependencies: tslib "^2.4.0" "@yarnpkg/fslib@2.10.3": version "2.10.3" - resolved "https://registry.yarnpkg.com/@yarnpkg/fslib/-/fslib-2.10.3.tgz#a8c9893df5d183cf6362680b9f1c6d7504dd5717" + resolved "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz" integrity sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A== dependencies: "@yarnpkg/libzip" "^2.3.0" @@ -7766,7 +7736,7 @@ "@yarnpkg/libzip@2.3.0", "@yarnpkg/libzip@^2.3.0": version "2.3.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/libzip/-/libzip-2.3.0.tgz#fe1e762e47669f6e2c960fc118436608d834e3be" + resolved "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz" integrity sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg== dependencies: "@types/emscripten" "^1.39.6" @@ -7774,19 +7744,19 @@ abab@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== abort-controller@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== dependencies: event-target-shim "^5.0.0" accepts@^1.3.7, accepts@^1.3.8, accepts@~1.3.5, accepts@~1.3.7, accepts@~1.3.8: version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: mime-types "~2.1.34" @@ -7794,7 +7764,7 @@ accepts@^1.3.7, accepts@^1.3.8, accepts@~1.3.5, accepts@~1.3.7, accepts@~1.3.8: acorn-globals@^7.0.0: version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz" integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== dependencies: acorn "^8.1.0" @@ -7802,61 +7772,56 @@ acorn-globals@^7.0.0: acorn-import-assertions@^1.9.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== acorn-jsx@^5.0.0, acorn-jsx@^5.2.0, acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.0.2, acorn-walk@^8.1.1: version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz" integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== dependencies: acorn "^8.11.0" acorn@^7.1.1, acorn@^7.4.1: version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.0, acorn@^8.11.3, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -acorn@^8.1.0, acorn@^8.11.0, acorn@^8.4.1, acorn@^8.8.1: +acorn@^8.0.0, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== address@^1.0.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== agent-base@5: version "5.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz" integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== agent-base@6: version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -7864,7 +7829,7 @@ aggregate-error@^3.0.0: aggregate-error@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-4.0.1.tgz#25091fe1573b9e0be892aeda15c7c66a545f758e" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz" integrity sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== dependencies: clean-stack "^4.0.0" @@ -7872,26 +7837,26 @@ aggregate-error@^4.0.0: ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv-keywords@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== dependencies: fast-deep-equal "^3.1.3" ajv@6.10.0: version "6.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz" integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== dependencies: fast-deep-equal "^2.0.1" @@ -7901,7 +7866,7 @@ ajv@6.10.0: ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -7911,7 +7876,7 @@ ajv@^6.12.4, ajv@^6.12.5: ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" @@ -7921,7 +7886,7 @@ ajv@^8.0.0, ajv@^8.9.0: amqplib@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/amqplib/-/amqplib-0.5.2.tgz#d2d7313c7ffaa4d10bcf1e6252de4591b6cc7b63" + resolved "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz" integrity sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA== dependencies: bitsyntax "~0.0.4" @@ -7932,26 +7897,26 @@ amqplib@0.5.2: anser@^1.4.9: version "1.4.10" - resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b" + resolved "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz" integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" ansi-escapes@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz" integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== dependencies: type-fest "^3.0.0" ansi-fragments@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/ansi-fragments/-/ansi-fragments-0.2.1.tgz#24409c56c4cc37817c3d7caa99d8969e2de5a05e" + resolved "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz" integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w== dependencies: colorette "^1.0.7" @@ -7960,71 +7925,71 @@ ansi-fragments@^0.2.1: ansi-html-community@0.0.8, ansi-html-community@^0.0.8: version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^4.1.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== ansi-regex@^5.0.0, ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-sequence-parser@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" + resolved "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz" integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== ansi-styles@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -8032,37 +7997,37 @@ anymatch@^3.0.3, anymatch@~3.1.2: app-root-dir@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118" + resolved "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz" integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g== app-root-path@2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.1.0.tgz#98bf6599327ecea199309866e8140368fd2e646a" + resolved "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz" integrity sha512-z5BqVjscbjmJBybKlICogJR2jCr2q/Ixu7Pvui5D4y97i7FLsJlvEG9XOR/KJRlkxxZz7UaaS2TMwQh1dRJ2dA== appdirsjs@^1.2.4: version "1.2.7" - resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3" + resolved "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz" integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw== application-config-path@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.1.tgz#8b5ac64ff6afdd9bd70ce69f6f64b6998f5f756e" + resolved "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.1.tgz" integrity sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw== "aproba@^1.0.3 || ^2.0.0": version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== arch@^2.1.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + resolved "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== are-we-there-yet@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== dependencies: delegates "^1.0.0" @@ -8070,55 +8035,55 @@ are-we-there-yet@^2.0.0: arg@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/arg/-/arg-1.0.0.tgz#444d885a4e25b121640b55155ef7cd03975d6050" + resolved "https://registry.npmjs.org/arg/-/arg-1.0.0.tgz" integrity sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw== arg@5.0.2, arg@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== arg@^4.1.0: version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== aria-hidden@^1.1.1: version "1.2.3" - resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954" + resolved "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz" integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ== dependencies: tslib "^2.0.0" aria-query@5.1.3: version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" aria-query@^5.0.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: dequal "^2.0.3" array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: call-bind "^1.0.5" @@ -8126,12 +8091,12 @@ array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-includes@^3.1.6: version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== dependencies: call-bind "^1.0.2" @@ -8142,24 +8107,24 @@ array-includes@^3.1.6: array-union@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== dependencies: array-uniq "^1.0.1" array-union@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array-uniq@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== array.prototype.flat@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" @@ -8169,7 +8134,7 @@ array.prototype.flat@^1.3.1: array.prototype.flatmap@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" @@ -8179,7 +8144,7 @@ array.prototype.flatmap@^1.3.1: array.prototype.reduce@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz" integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== dependencies: call-bind "^1.0.2" @@ -8190,7 +8155,7 @@ array.prototype.reduce@^1.0.6: array.prototype.tosorted@^1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz" integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== dependencies: call-bind "^1.0.5" @@ -8201,7 +8166,7 @@ array.prototype.tosorted@^1.1.1: arraybuffer.prototype.slice@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== dependencies: array-buffer-byte-length "^1.0.1" @@ -8215,27 +8180,27 @@ arraybuffer.prototype.slice@^1.0.2: arrify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== arrify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-3.0.0.tgz#ccdefb8eaf2a1d2ab0da1ca2ce53118759fd46bc" + resolved "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz" integrity sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== asap@~2.0.3, asap@~2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== asn1@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" integrity sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w== assert@^2.0.0, assert@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz" integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== dependencies: call-bind "^1.0.2" @@ -8246,70 +8211,70 @@ assert@^2.0.0, assert@^2.1.0: ast-types@0.15.2: version "0.15.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.15.2.tgz#39ae4809393c4b16df751ee563411423e85fb49d" + resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz" integrity sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg== dependencies: tslib "^2.0.1" ast-types@^0.16.1: version "0.16.1" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2" + resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz" integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg== dependencies: tslib "^2.0.1" astral-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== astring@^1.8.0: version "1.8.6" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" + resolved "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz" integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== async-limiter@~1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async-retry@1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0" + resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz" integrity sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q== dependencies: retry "0.12.0" async@^3.2.3: version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== asynciterator.prototype@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" + resolved "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz" integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== dependencies: has-symbols "^1.0.3" asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== attr-accept@^2.2.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== autoprefixer@^10.4.16: version "10.4.17" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz" integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== dependencies: browserslist "^4.22.2" @@ -8321,7 +8286,7 @@ autoprefixer@^10.4.16: autoprefixer@^10.4.19: version "10.4.19" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== dependencies: browserslist "^4.23.0" @@ -8333,12 +8298,12 @@ autoprefixer@^10.4.19: available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz" integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== axios@^1.6.8: version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" + resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz" integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== dependencies: follow-redirects "^1.15.6" @@ -8347,12 +8312,12 @@ axios@^1.6.8: babel-core@^7.0.0-bridge.0: version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + resolved "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== babel-jest@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: "@jest/transform" "^29.7.0" @@ -8365,7 +8330,7 @@ babel-jest@^29.7.0: babel-loader@^9.0.0, babel-loader@^9.1.3: version "9.1.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz" integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== dependencies: find-cache-dir "^4.0.0" @@ -8373,12 +8338,12 @@ babel-loader@^9.0.0, babel-loader@^9.1.3: babel-plugin-add-react-displayname@^0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5" + resolved "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz" integrity sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw== babel-plugin-istanbul@^6.1.1: version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -8389,7 +8354,7 @@ babel-plugin-istanbul@^6.1.1: babel-plugin-jest-hoist@^29.6.3: version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" @@ -8399,7 +8364,7 @@ babel-plugin-jest-hoist@^29.6.3: babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.10" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz" integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== dependencies: "@babel/compat-data" "^7.22.6" @@ -8408,7 +8373,7 @@ babel-plugin-polyfill-corejs2@^0.4.10: babel-plugin-polyfill-corejs2@^0.4.8: version "0.4.8" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz" integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== dependencies: "@babel/compat-data" "^7.22.6" @@ -8417,7 +8382,7 @@ babel-plugin-polyfill-corejs2@^0.4.8: babel-plugin-polyfill-corejs3@^0.10.4: version "0.10.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== dependencies: "@babel/helper-define-polyfill-provider" "^0.6.1" @@ -8425,7 +8390,7 @@ babel-plugin-polyfill-corejs3@^0.10.4: babel-plugin-polyfill-corejs3@^0.10.6: version "0.10.6" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz" integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== dependencies: "@babel/helper-define-polyfill-provider" "^0.6.2" @@ -8433,7 +8398,7 @@ babel-plugin-polyfill-corejs3@^0.10.6: babel-plugin-polyfill-corejs3@^0.9.0: version "0.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz" integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== dependencies: "@babel/helper-define-polyfill-provider" "^0.5.0" @@ -8441,38 +8406,38 @@ babel-plugin-polyfill-corejs3@^0.9.0: babel-plugin-polyfill-regenerator@^0.5.5: version "0.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz" integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== dependencies: "@babel/helper-define-polyfill-provider" "^0.5.0" babel-plugin-polyfill-regenerator@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz" integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== dependencies: "@babel/helper-define-polyfill-provider" "^0.6.1" babel-plugin-react-native-web@~0.18.10: version "0.18.12" - resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz#3e9764484492ea612a16b40135b07c2d05b7969d" + resolved "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz" integrity sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw== babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: version "7.0.0-beta.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" + resolved "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz" integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== babel-plugin-transform-flow-enums@^0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz#d1d0cc9bdc799c850ca110d0ddc9f21b9ec3ef25" + resolved "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz" integrity sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ== dependencies: "@babel/plugin-syntax-flow" "^7.12.1" babel-preset-current-node-syntax@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz" integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -8493,7 +8458,7 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-expo@^10.0.1, babel-preset-expo@~10.0.1: version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-10.0.1.tgz#a0e7ad0119f46e58cb3f0738c3ca0c6e97b69c11" + resolved "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-10.0.1.tgz" integrity sha512-uWIGmLfbP3dS5+8nesxaW6mQs41d4iP7X82ZwRdisB/wAhKQmuJM9Y1jQe4006uNYkw6Phf2TT03ykLVro7KuQ== dependencies: "@babel/plugin-proposal-decorators" "^7.12.9" @@ -8508,7 +8473,7 @@ babel-preset-expo@^10.0.1, babel-preset-expo@~10.0.1: babel-preset-fbjs@^3.4.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c" + resolved "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz" integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" @@ -8541,7 +8506,7 @@ babel-preset-fbjs@^3.4.0: babel-preset-jest@^29.6.3: version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: babel-plugin-jest-hoist "^29.6.3" @@ -8549,7 +8514,7 @@ babel-preset-jest@^29.6.3: babel-runtime@6.26.0: version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== dependencies: core-js "^2.4.0" @@ -8557,63 +8522,63 @@ babel-runtime@6.26.0: bail@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base-64@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" + resolved "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz" integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== basic-auth@~2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== dependencies: safe-buffer "5.1.2" better-opn@^3.0.2, better-opn@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-3.0.2.tgz#f96f35deaaf8f34144a4102651babcf00d1d8817" + resolved "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz" integrity sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ== dependencies: open "^8.0.4" big-integer@1.6.x, big-integer@^1.6.44: version "1.6.52" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz" integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== big.js@^5.2.2: version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bitsyntax@~0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/bitsyntax/-/bitsyntax-0.0.4.tgz#eb10cc6f82b8c490e3e85698f07e83d46e0cba82" + resolved "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz" integrity sha512-Pav3HSZXD2NLQOWfJldY3bpJLt8+HS2nUo5Z1bLLmHg2vCE/cM1qfEvNjlYo7GgYQPneNr715Bh42i01ZHZPvw== dependencies: buffer-more-ints "0.0.2" bl@^4.0.3, bl@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== dependencies: buffer "^5.5.0" @@ -8622,17 +8587,17 @@ bl@^4.0.3, bl@^4.1.0: bluebird@^3.4.6: version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== blueimp-md5@^2.10.0: version "2.19.0" - resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" + resolved "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz" integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== body-parser@1.18.3: version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz" integrity sha512-YQyoqQG3sO8iCmf8+hyVpgHHOv0/hCEFiS4zTGUwTA1HjAFX66wRcNQrVCeJq9pgESMRvUAOvSil5MJlmccuKQ== dependencies: bytes "3.0.0" @@ -8648,7 +8613,7 @@ body-parser@1.18.3: body-parser@1.20.1: version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: bytes "3.1.2" @@ -8666,40 +8631,40 @@ body-parser@1.20.1: boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== bplist-creator@0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" + resolved "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz" integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== dependencies: stream-buffers "2.2.x" bplist-parser@0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1" + resolved "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz" integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA== dependencies: big-integer "1.6.x" bplist-parser@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + resolved "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz" integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== dependencies: big-integer "^1.6.44" bplist-parser@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.2.tgz#3ac79d67ec52c4c107893e0237eb787cbacbced7" + resolved "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz" integrity sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ== dependencies: big-integer "1.6.x" brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -8707,33 +8672,33 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browser-assert@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" + resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== browserify-zlib@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" integrity sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ== dependencies: pako "~0.2.0" browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.22.2: version "4.22.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz" integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== dependencies: caniuse-lite "^1.0.30001580" @@ -8743,7 +8708,7 @@ browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.22.2: browserslist@^4.23.0: version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: caniuse-lite "^1.0.30001587" @@ -8753,7 +8718,7 @@ browserslist@^4.23.0: browserslist@^4.23.1, browserslist@^4.23.3: version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz" integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: caniuse-lite "^1.0.30001646" @@ -8763,19 +8728,19 @@ browserslist@^4.23.1, browserslist@^4.23.3: bser@2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" buffer-alloc-unsafe@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== buffer-alloc@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== dependencies: buffer-alloc-unsafe "^1.1.0" @@ -8783,32 +8748,32 @@ buffer-alloc@^1.1.0: buffer-crc32@~0.2.3: version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer-equal-constant-time@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== buffer-fill@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-more-ints@0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz#26b3885d10fa13db7fc01aae3aab870199e0124c" + resolved "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz" integrity sha512-PDgX2QJgUc5+Jb2xAoBFP5MxhtVUmZHR33ak+m/SDxRdCrbnX1BggRIaxiW7ImwfmO4iJeCQKN18ToSXWGjYkA== buffer@^5.4.3, buffer@^5.5.0: version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== dependencies: base64-js "^1.3.1" @@ -8816,29 +8781,29 @@ buffer@^5.4.3, buffer@^5.5.0: builtins@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== busboy@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== dependencies: streamsearch "^1.1.0" bytes@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacache@^15.3.0: version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: "@npmcli/fs" "^1.0.0" @@ -8862,7 +8827,7 @@ cacache@^15.3.0: call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.6.tgz#6c46675fc7a5e9de82d75a233d586c8b7ac0d931" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz" integrity sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg== dependencies: es-errors "^1.3.0" @@ -8872,7 +8837,7 @@ call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: call-bind@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: es-define-property "^1.0.0" @@ -8883,31 +8848,31 @@ call-bind@^1.0.7: caller-callsite@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== dependencies: caller-callsite "^2.0.0" callsites@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" @@ -8915,12 +8880,12 @@ camel-case@^4.1.2: camelcase-css@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== camelcase-keys@^6.2.2: version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" @@ -8929,7 +8894,7 @@ camelcase-keys@^6.2.2: camelcase-keys@^7.0.0: version "7.0.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz" integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== dependencies: camelcase "^6.3.0" @@ -8939,52 +8904,52 @@ camelcase-keys@^7.0.0: camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.2.0, camelcase@^6.3.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== camelize@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== caniuse-lite@^1.0.30001406: version "1.0.30001589" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz#7ad6dba4c9bf6561aec8291976402339dc157dfb" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz" integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg== caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001580: version "1.0.30001585" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz#0b4e848d84919c783b2a41c13f7de8ce96744401" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz" integrity sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q== caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: version "1.0.30001609" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz#fc34fad75c0c6d6d6303bdbceec2da8f203dabd6" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz" integrity sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA== caniuse-lite@^1.0.30001646: version "1.0.30001655" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz#0ce881f5a19a2dcfda2ecd927df4d5c1684b982f" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz" integrity sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chalk@2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz" integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q== dependencies: ansi-styles "^3.1.0" @@ -8993,7 +8958,7 @@ chalk@2.3.0: chalk@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz" integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== dependencies: ansi-styles "^3.2.1" @@ -9002,12 +8967,12 @@ chalk@2.4.1: chalk@5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== chalk@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== dependencies: ansi-styles "^2.2.1" @@ -9018,7 +8983,7 @@ chalk@^1.1.3: chalk@^2.0.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -9027,7 +8992,7 @@ chalk@^2.0.1, chalk@^2.4.2: chalk@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: ansi-styles "^4.1.0" @@ -9035,7 +9000,7 @@ chalk@^3.0.0: chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -9043,37 +9008,37 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== character-entities-html4@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== charenc@0.0.2, charenc@~0.0.1: version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== chokidar@^3.5.3: version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -9088,17 +9053,17 @@ chokidar@^3.5.3: chownr@^1.1.1: version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chownr@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-launcher@^0.15.2: version "0.15.2" - resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.15.2.tgz#4e6404e32200095fdce7f6a1e1004f9bd36fa5da" + resolved "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz" integrity sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ== dependencies: "@types/node" "*" @@ -9108,12 +9073,12 @@ chrome-launcher@^0.15.2: chrome-trace-event@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== chromium-edge-launcher@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz#0443083074715a13c669530b35df7bfea33b1509" + resolved "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz" integrity sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA== dependencies: "@types/node" "*" @@ -9125,86 +9090,86 @@ chromium-edge-launcher@^1.0.0: ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0, ci-info@^3.3.0: version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== citty@^0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.5.tgz#fe37ceae5dc764af75eb2fece99d2bf527ea4e50" + resolved "https://registry.npmjs.org/citty/-/citty-0.1.5.tgz" integrity sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ== dependencies: consola "^3.2.3" cjs-module-lexer@^1.0.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.0.tgz#677de7ed7efff67cc40c9bf1897fea79d41b5215" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.0.tgz" integrity sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g== cjs-module-lexer@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== class-variance-authority@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/class-variance-authority/-/class-variance-authority-0.7.0.tgz#1c3134d634d80271b1837452b06d821915954522" + resolved "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz" integrity sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A== dependencies: clsx "2.0.0" clean-css@^5.2.2: version "5.3.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz" integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== dependencies: source-map "~0.6.0" clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== clean-stack@^4.0.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-4.2.0.tgz#c464e4cde4ac789f4e0735c5d75beb49d7b30b31" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz" integrity sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== dependencies: escape-string-regexp "5.0.0" cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== dependencies: restore-cursor "^2.0.0" cli-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-cursor@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz" integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== dependencies: restore-cursor "^4.0.0" cli-spinners@^2.0.0, cli-spinners@^2.5.0: version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table3@^0.6.1: version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== dependencies: string-width "^4.2.0" @@ -9213,7 +9178,7 @@ cli-table3@^0.6.1: cli-truncate@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz" integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== dependencies: slice-ansi "^5.0.0" @@ -9221,12 +9186,12 @@ cli-truncate@^4.0.0: client-only@0.0.1, client-only@^0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== clipboardy@1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.2.tgz#2ce320b9ed9be1514f79878b53ff9765420903e2" + resolved "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.2.tgz" integrity sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw== dependencies: arch "^2.1.0" @@ -9234,7 +9199,7 @@ clipboardy@1.2.2: cliui@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" @@ -9243,7 +9208,7 @@ cliui@^6.0.0: cliui@^8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" @@ -9252,7 +9217,7 @@ cliui@^8.0.1: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" @@ -9261,68 +9226,68 @@ clone-deep@^4.0.1: clone@^1.0.2: version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== clone@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== clsx@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz" integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== clsx@^2.0.0, clsx@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== cmdk@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/cmdk/-/cmdk-0.2.1.tgz#aa8e1332bb0b8d8484e793017c82537351188d9a" + resolved "https://registry.npmjs.org/cmdk/-/cmdk-0.2.1.tgz" integrity sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g== dependencies: "@radix-ui/react-dialog" "1.0.0" co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== collect-v8-coverage@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.9.0: version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== dependencies: color-name "^1.0.0" @@ -9330,12 +9295,12 @@ color-string@^1.9.0: color-support@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== color@^4.2.3: version "4.2.3" - resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== dependencies: color-convert "^2.0.1" @@ -9343,69 +9308,69 @@ color@^4.2.3: colorette@^1.0.7: version "1.4.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== colorette@^2.0.10, colorette@^2.0.20: version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" comma-separated-tokens@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== command-exists@^1.2.4, command-exists@^1.2.8: version "1.2.9" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== commander@11.1.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== commander@7, commander@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@^2.20.0: version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^6.2.1: version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== commander@^8.3.0: version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== commander@^9.4.1: version "9.5.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== commands-events@1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/commands-events/-/commands-events-1.0.4.tgz#772123d7f175b2984474bce37a722f4c2d3d2830" + resolved "https://registry.npmjs.org/commands-events/-/commands-events-1.0.4.tgz" integrity sha512-HdP/+1Anoc7z+6L2h7nd4Imz54+LW+BjMGt30riBZrZ3ZeP/8el93wD8Jj8ltAaqVslqNgjX6qlhSBJwuDSmpg== dependencies: "@babel/runtime" "7.2.0" @@ -9414,39 +9379,39 @@ commands-events@1.0.4: common-path-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== common-tags@^1.4.0: version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== comparejs@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/comparejs/-/comparejs-1.0.0.tgz#1f61a4c2c19c5aed08983952e88bd1fe8924e3df" + resolved "https://registry.npmjs.org/comparejs/-/comparejs-1.0.0.tgz" integrity sha512-Ue/Zd9aOucHzHXwaCe4yeHR7jypp7TKrIBZ5yls35nPNiVXlW14npmNVKM1ZaLlQTKZ6/4ewA//gYKHHIwCpOw== component-type@^1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.2.2.tgz#4458ecc0c1871efc6288bfaff0cbdab08141d079" + resolved "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz" integrity sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA== compressible@~2.0.14, compressible@~2.0.16: version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" compression@1.7.3: version "1.7.3" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz" integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== dependencies: accepts "~1.3.5" @@ -9459,7 +9424,7 @@ compression@1.7.3: compression@^1.7.1, compression@^1.7.4: version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: accepts "~1.3.5" @@ -9472,17 +9437,17 @@ compression@^1.7.1, compression@^1.7.4: compute-scroll-into-view@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" + resolved "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz" integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.6.2: version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" @@ -9492,7 +9457,7 @@ concat-stream@^1.6.2: concurrently@^8.2.2: version "8.2.2" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.2.tgz#353141985c198cfa5e4a3ef90082c336b5851784" + resolved "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz" integrity sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg== dependencies: chalk "^4.1.2" @@ -9507,7 +9472,7 @@ concurrently@^8.2.2: connect@^3.6.5, connect@^3.7.0: version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== dependencies: debug "2.6.9" @@ -9517,112 +9482,112 @@ connect@^3.6.5, connect@^3.7.0: consola@^3.2.3: version "3.2.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + resolved "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz" integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== constants-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== content-disposition@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== content-disposition@0.5.4: version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" content-type@1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== content-type@~1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz" integrity sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw== cookie@0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-anything@^3.0.2: version "3.0.5" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0" + resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz" integrity sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w== dependencies: is-what "^4.1.8" core-js-compat@^3.31.0, core-js-compat@^3.34.0: version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz" integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== dependencies: browserslist "^4.22.2" core-js-compat@^3.36.1: version "3.36.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz" integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== dependencies: browserslist "^4.23.0" core-js-compat@^3.37.1, core-js-compat@^3.38.0: version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz" integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== dependencies: browserslist "^4.23.3" core-js-pure@^3.23.3: version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.35.1.tgz#f33ad7fdf9dddae260339a30e5f8363f5c49a3bc" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.1.tgz" integrity sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ== core-js@^2.4.0: version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.18.3, core-js@^3.8.2: version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.1.tgz#9c28f8b7ccee482796f8590cc8d15739eaaf980c" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz" integrity sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cors@2.8.5: version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: object-assign "^4" @@ -9630,14 +9595,14 @@ cors@2.8.5: cose-base@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-1.0.3.tgz#650334b41b869578a543358b80cda7e0abe0a60a" + resolved "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz" integrity sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg== dependencies: layout-base "^1.0.0" cosmiconfig@^5.0.5, cosmiconfig@^5.1.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" @@ -9647,7 +9612,7 @@ cosmiconfig@^5.0.5, cosmiconfig@^5.1.0: cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -9658,7 +9623,7 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: cosmiconfig@^8.3.5: version "8.3.6" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: import-fresh "^3.3.0" @@ -9668,7 +9633,7 @@ cosmiconfig@^8.3.5: cp-file@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-10.0.0.tgz#bbae9ecb9f505951b862880d2901e1f56de7a4dc" + resolved "https://registry.npmjs.org/cp-file/-/cp-file-10.0.0.tgz" integrity sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== dependencies: graceful-fs "^4.2.10" @@ -9677,7 +9642,7 @@ cp-file@^10.0.0: cpy-cli@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/cpy-cli/-/cpy-cli-5.0.0.tgz#facd60da2e98d9a830f93162f9769d2a86667a16" + resolved "https://registry.npmjs.org/cpy-cli/-/cpy-cli-5.0.0.tgz" integrity sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ== dependencies: cpy "^10.1.0" @@ -9685,7 +9650,7 @@ cpy-cli@^5.0.0: cpy@^10.1.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/cpy/-/cpy-10.1.0.tgz#85517387036b9be480f6424e54089261fc6f4bab" + resolved "https://registry.npmjs.org/cpy/-/cpy-10.1.0.tgz" integrity sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ== dependencies: arrify "^3.0.0" @@ -9699,7 +9664,7 @@ cpy@^10.1.0: create-jest@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== dependencies: "@jest/types" "^29.6.3" @@ -9712,26 +9677,26 @@ create-jest@^29.7.0: create-require@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-fetch@^3.1.5: version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== dependencies: node-fetch "^2.6.12" cross-fetch@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz" integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== dependencies: node-fetch "^2.6.12" cross-spawn@^5.0.1: version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== dependencies: lru-cache "^4.0.1" @@ -9740,7 +9705,7 @@ cross-spawn@^5.0.1: cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -9751,7 +9716,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -9760,22 +9725,22 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: crypt@0.0.2, crypt@~0.0.1: version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== crypto-random-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz" integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== crypto2@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto2/-/crypto2-2.0.0.tgz#5539f45b283d8c2bdca0ea4faf8b34014a4ea2cd" + resolved "https://registry.npmjs.org/crypto2/-/crypto2-2.0.0.tgz" integrity sha512-jdXdAgdILldLOF53md25FiQ6ybj2kUFTiRjs7msKTUoZrzgT/M1FPX5dYGJjbbwFls+RJIiZxNTC02DE/8y0ZQ== dependencies: babel-runtime "6.26.0" @@ -9784,19 +9749,19 @@ crypto2@2.0.0: css-color-keywords@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz" integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== css-in-js-utils@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" + resolved "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz" integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== dependencies: hyphenate-style-name "^1.0.3" css-loader@^3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz" integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== dependencies: camelcase "^5.3.1" @@ -9815,7 +9780,7 @@ css-loader@^3.6.0: css-loader@^6.11.0: version "6.11.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz" integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== dependencies: icss-utils "^5.1.0" @@ -9829,7 +9794,7 @@ css-loader@^6.11.0: css-loader@^6.7.1: version "6.10.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz" integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== dependencies: icss-utils "^5.1.0" @@ -9843,12 +9808,12 @@ css-loader@^6.7.1: css-mediaquery@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/css-mediaquery/-/css-mediaquery-0.1.2.tgz#6a2c37344928618631c54bd33cedd301da18bea0" + resolved "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz" integrity sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q== css-select@^4.1.3: version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -9859,7 +9824,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== dependencies: boolbase "^1.0.0" @@ -9870,7 +9835,7 @@ css-select@^5.1.0: css-to-react-native@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" + resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz" integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== dependencies: camelize "^1.0.0" @@ -9879,7 +9844,7 @@ css-to-react-native@^3.0.0: css-tree@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" @@ -9887,51 +9852,51 @@ css-tree@^1.1.3: css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== css.escape@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssom@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz" integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== cssom@~0.3.6: version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== dependencies: cssom "~0.3.6" csstype@^3.0.2: version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== cytoscape-cose-bilkent@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz#762fa121df9930ffeb51a495d87917c570ac209b" + resolved "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz" integrity sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ== dependencies: cose-base "^1.0.0" cytoscape@^3.28.1: version "3.28.1" - resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.28.1.tgz#f32c3e009bdf32d47845a16a4cd2be2bbc01baf7" + resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz" integrity sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg== dependencies: heap "^0.2.6" @@ -9939,26 +9904,26 @@ cytoscape@^3.28.1: "d3-array@1 - 2": version "2.12.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + resolved "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz" integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== dependencies: internmap "^1.0.0" "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: version "3.2.4" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== dependencies: internmap "1 - 2" d3-axis@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" + resolved "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz" integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== d3-brush@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" + resolved "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz" integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== dependencies: d3-dispatch "1 - 3" @@ -9969,38 +9934,38 @@ d3-brush@3: d3-chord@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" + resolved "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz" integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== dependencies: d3-path "1 - 3" "d3-color@1 - 3", d3-color@3: version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz" integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== d3-contour@4: version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" + resolved "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz" integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== dependencies: d3-array "^3.2.0" d3-delaunay@6: version "6.0.4" - resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + resolved "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz" integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== dependencies: delaunator "5" "d3-dispatch@1 - 3", d3-dispatch@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz" integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== "d3-drag@2 - 3", d3-drag@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + resolved "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz" integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== dependencies: d3-dispatch "1 - 3" @@ -10008,7 +9973,7 @@ d3-delaunay@6: "d3-dsv@1 - 3", d3-dsv@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + resolved "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz" integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== dependencies: commander "7" @@ -10017,19 +9982,19 @@ d3-delaunay@6: "d3-ease@1 - 3", d3-ease@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + resolved "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz" integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== d3-fetch@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" + resolved "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz" integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== dependencies: d3-dsv "1 - 3" d3-force@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + resolved "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz" integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== dependencies: d3-dispatch "1 - 3" @@ -10038,56 +10003,56 @@ d3-force@3: "d3-format@1 - 3", d3-format@3: version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz" integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== d3-geo@3: version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.0.tgz#74fd54e1f4cebd5185ac2039217a98d39b0a4c0e" + resolved "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz" integrity sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA== dependencies: d3-array "2.5.0 - 3" d3-hierarchy@3: version "3.1.2" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz" integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== "d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== dependencies: d3-color "1 - 3" d3-path@1: version "1.0.9" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + resolved "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz" integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== "d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== d3-polygon@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" + resolved "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz" integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== "d3-quadtree@1 - 3", d3-quadtree@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + resolved "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz" integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== d3-random@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" + resolved "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz" integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== d3-sankey@^0.12.3: version "0.12.3" - resolved "https://registry.yarnpkg.com/d3-sankey/-/d3-sankey-0.12.3.tgz#b3c268627bd72e5d80336e8de6acbfec9d15d01d" + resolved "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz" integrity sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ== dependencies: d3-array "1 - 2" @@ -10095,7 +10060,7 @@ d3-sankey@^0.12.3: d3-scale-chromatic@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a" + resolved "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz" integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== dependencies: d3-color "1 - 3" @@ -10103,7 +10068,7 @@ d3-scale-chromatic@3: d3-scale@4: version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + resolved "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz" integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== dependencies: d3-array "2.10.0 - 3" @@ -10114,45 +10079,45 @@ d3-scale@4: "d3-selection@2 - 3", d3-selection@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz" integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== d3-shape@3: version "3.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== dependencies: d3-path "^3.1.0" d3-shape@^1.2.0: version "1.3.7" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" + resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz" integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== dependencies: d3-path "1" "d3-time-format@2 - 4", d3-time-format@4: version "4.1.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + resolved "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz" integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== dependencies: d3-time "1 - 3" "d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== dependencies: d3-array "2 - 3" "d3-timer@1 - 3", d3-timer@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== "d3-transition@2 - 3", d3-transition@3: version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + resolved "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz" integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== dependencies: d3-color "1 - 3" @@ -10163,7 +10128,7 @@ d3-shape@^1.2.0: d3-zoom@3: version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + resolved "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz" integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== dependencies: d3-dispatch "1 - 3" @@ -10174,7 +10139,7 @@ d3-zoom@3: d3@^7.4.0, d3@^7.8.2: version "7.8.5" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.5.tgz#fde4b760d4486cdb6f0cc8e2cbff318af844635c" + resolved "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz" integrity sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA== dependencies: d3-array "3" @@ -10210,7 +10175,7 @@ d3@^7.4.0, d3@^7.8.2: d@1, d@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== dependencies: es5-ext "^0.10.50" @@ -10218,12 +10183,12 @@ d@1, d@^1.0.1: dag-map@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/dag-map/-/dag-map-1.0.2.tgz#e8379f041000ed561fc515475c1ed2c85eece8d7" + resolved "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz" integrity sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw== dagre-d3-es@7.0.10: version "7.0.10" - resolved "https://registry.yarnpkg.com/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz#19800d4be674379a3cd8c86a8216a2ac6827cadc" + resolved "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz" integrity sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A== dependencies: d3 "^7.8.2" @@ -10231,7 +10196,7 @@ dagre-d3-es@7.0.10: data-urls@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + resolved "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz" integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== dependencies: abab "^2.0.6" @@ -10240,7 +10205,7 @@ data-urls@^3.0.2: datasette@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/datasette/-/datasette-1.0.1.tgz#c8786bbd36be6606179e7a2525430b9dbd9395e8" + resolved "https://registry.npmjs.org/datasette/-/datasette-1.0.1.tgz" integrity sha512-aJdlCBToEJUP4M57r67r4V6tltwGKa3qetnjpBtXYIlqbX9tM9jsoDMxb4xd9AGjpp3282oHRmqI5Z8TVAU0Mg== dependencies: comparejs "1.0.0" @@ -10249,40 +10214,40 @@ datasette@1.0.1: date-fns@^2.30.0: version "2.30.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== dependencies: "@babel/runtime" "^7.21.0" dayjs@^1.11.10, dayjs@^1.11.7, dayjs@^1.8.15: version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" debug@^3.1.0: version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" decamelize-keys@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== dependencies: decamelize "^1.1.0" @@ -10290,44 +10255,44 @@ decamelize-keys@^1.1.0: decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decamelize@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz" integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== decimal.js@^10.4.2: version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== decode-named-character-reference@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" decode-uri-component@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== dedent@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== dedent@^1.0.0: version "1.5.3" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== deep-equal@^2.0.5, deep-equal@^2.2.3: version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz" integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== dependencies: array-buffer-byte-length "^1.0.0" @@ -10351,22 +10316,22 @@ deep-equal@^2.0.5, deep-equal@^2.2.3: deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2, deepmerge@^4.3.0: version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-browser-id@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + resolved "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz" integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== dependencies: bplist-parser "^0.2.0" @@ -10374,7 +10339,7 @@ default-browser-id@3.0.0: default-gateway@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== dependencies: execa "^1.0.0" @@ -10382,14 +10347,14 @@ default-gateway@^4.2.0: defaults@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== dependencies: clone "^1.0.2" define-data-property@^1.0.1, define-data-property@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.2.tgz#f3c33b4f0102360cd7c0f5f28700f5678510b63a" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz" integrity sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g== dependencies: es-errors "^1.3.0" @@ -10399,7 +10364,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.2: define-data-property@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: es-define-property "^1.0.0" @@ -10408,12 +10373,12 @@ define-data-property@^1.1.4: define-lazy-prop@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -10422,12 +10387,12 @@ define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.2.0, de defu@^6.1.3: version "6.1.4" - resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" + resolved "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz" integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== del@^6.0.0: version "6.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== dependencies: globby "^11.0.1" @@ -10441,39 +10406,39 @@ del@^6.0.0: delaunator@5: version "5.0.1" - resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.1.tgz#39032b08053923e924d6094fe2cde1a99cc51278" + resolved "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz" integrity sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw== dependencies: robust-predicates "^3.0.2" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== delegates@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== denodeify@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" + resolved "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz" integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== depd@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== depd@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== deprecated-react-native-prop-types@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz#02a12f090da7bd9e8c3ac53c31cf786a1315d302" + resolved "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz" integrity sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ== dependencies: "@react-native/normalize-colors" "^0.73.0" @@ -10482,49 +10447,49 @@ deprecated-react-native-prop-types@^5.0.0: dequal@^2.0.0, dequal@^2.0.2, dequal@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== destroy@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" integrity sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg== detect-indent@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-libc@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== detect-newline@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== detect-node-es@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + resolved "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz" integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== detect-package-manager@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-2.0.1.tgz#6b182e3ae5e1826752bfef1de9a7b828cffa50d8" + resolved "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz" integrity sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A== dependencies: execa "^5.1.1" detect-port@^1.3.0: version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== dependencies: address "^1.0.1" @@ -10532,84 +10497,84 @@ detect-port@^1.3.0: devlop@^1.0.0, devlop@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + resolved "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz" integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== dependencies: dequal "^2.0.0" didyoumean@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== diff-sequences@^29.6.3: version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== diff@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== diff@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + resolved "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz" integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== dir-glob@^2.0.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dlv@^1.1.0, dlv@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-accessibility-api@^0.5.9: version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== dom-accessibility-api@^0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" + resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz" integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== dom-converter@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" @@ -10618,7 +10583,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -10627,38 +10592,38 @@ dom-serializer@^2.0.0: domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domexception@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + resolved "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz" integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== dependencies: webidl-conversions "^7.0.0" domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" dompurify@^3.0.5: version "3.0.9" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.9.tgz#b3f362f24b99f53498c75d43ecbd784b0b3ad65e" + resolved "https://registry.npmjs.org/dompurify/-/dompurify-3.0.9.tgz" integrity sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -10667,7 +10632,7 @@ domutils@^2.5.2, domutils@^2.8.0: domutils@^3.0.1: version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== dependencies: dom-serializer "^2.0.0" @@ -10676,7 +10641,7 @@ domutils@^3.0.1: dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -10684,29 +10649,29 @@ dot-case@^3.0.4: dotenv-expand@^10.0.0, dotenv-expand@~10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== dotenv@^16.0.0: version "16.4.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.2.tgz#7ca798f89ae2011846bbdbf6470785307754120d" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.2.tgz" integrity sha512-rZSSFxke7d9nYQ5NeMIwp5PP+f8wXgKNljpOb7KtH6SKW1cEqcXAz9VSJYVLKe7Jhup/gUYOkaeSVyK8GJ+nBg== dotenv@~16.0.3: version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz" integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== draht@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/draht/-/draht-1.0.1.tgz#c4c8879923d2130dfa9c5930e956c85d62b1e975" + resolved "https://registry.npmjs.org/draht/-/draht-1.0.1.tgz" integrity sha512-yNNHL864dniNmIE9ZKD++mKypiAUAvVZtyV0QrbXH/ak3ebzFqo5xsmRBRqV8pZVhImOSBiyq500Wcmrf44zAg== dependencies: eventemitter2 "5.0.1" duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== dependencies: end-of-stream "^1.0.0" @@ -10716,93 +10681,93 @@ duplexify@^3.5.0, duplexify@^3.6.0: eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== ecdsa-sig-formatter@1.0.11: version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== dependencies: safe-buffer "^5.0.1" ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== ejs@^3.1.8: version "3.1.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== dependencies: jake "^10.8.5" electron-to-chromium@^1.4.648: version "1.4.665" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.665.tgz#681700bd590b0e5a3be66e3e2874ce62abcf5da5" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.665.tgz" integrity sha512-UpyCWObBoD+nSZgOC2ToaIdZB0r9GhqT2WahPKiSki6ckkSuKhQNso8V2PrFcHBMleI/eqbKgVQgVC4Wni4ilw== electron-to-chromium@^1.4.668: version "1.4.736" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz#ecb4348f4d5c70fb1e31c347e5bad6b751066416" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz" integrity sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q== electron-to-chromium@^1.5.4: version "1.5.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz" integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== elkjs@^0.9.0: version "0.9.1" - resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.9.1.tgz#fd1524b3f0bed72dc65ba107ae91bcf04b5582bd" + resolved "https://registry.npmjs.org/elkjs/-/elkjs-0.9.1.tgz" integrity sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ== emittery@^0.13.1: version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-mart@^5.5.2: version "5.5.2" - resolved "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-5.5.2.tgz#3ddbaf053139cf4aa217650078bc1c50ca8381af" + resolved "https://registry.npmjs.org/emoji-mart/-/emoji-mart-5.5.2.tgz" integrity sha512-Sqc/nso4cjxhOwWJsp9xkVm8OF5c+mJLZJFoFfzRuKO+yWiN7K8c96xmtughYb0d/fZ8UC6cLIQ/p4BR6Pv3/A== emoji-regex@^10.3.0: version "10.3.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz" integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" endent@^2.0.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/endent/-/endent-2.1.0.tgz#5aaba698fb569e5e18e69e1ff7a28ff35373cd88" + resolved "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz" integrity sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w== dependencies: dedent "^0.7.0" @@ -10811,7 +10776,7 @@ endent@^2.0.1: enhanced-resolve@^5.15.0: version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== dependencies: graceful-fs "^4.2.4" @@ -10819,32 +10784,32 @@ enhanced-resolve@^5.15.0: entities@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== entities@^4.2.0, entities@^4.4.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== env-editor@^0.4.1: version "0.4.2" - resolved "https://registry.yarnpkg.com/env-editor/-/env-editor-0.4.2.tgz#4e76568d0bd8f5c2b6d314a9412c8fe9aa3ae861" + resolved "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz" integrity sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA== envinfo@^7.10.0, envinfo@^7.7.3: version "7.11.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz" integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== eol@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" + resolved "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz" integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== epubjs@^0.3.93: version "0.3.93" - resolved "https://registry.yarnpkg.com/epubjs/-/epubjs-0.3.93.tgz#100c4597db152fc07d5246be38acca928b6b0b22" + resolved "https://registry.npmjs.org/epubjs/-/epubjs-0.3.93.tgz" integrity sha512-c06pNSdBxcXv3dZSbXAVLE1/pmleRhOT6mXNZo6INKmvuKpYB65MwU/lO7830czCtjIiK9i+KR+3S+p0wtljrw== dependencies: "@types/localforage" "0.0.34" @@ -10859,21 +10824,21 @@ epubjs@^0.3.93: error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" error-stack-parser@^2.0.6: version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== dependencies: stackframe "^1.3.4" errorhandler@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91" + resolved "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz" integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A== dependencies: accepts "~1.3.7" @@ -10881,7 +10846,7 @@ errorhandler@^1.5.1: es-abstract@^1.22.1, es-abstract@^1.22.3: version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: array-buffer-byte-length "^1.0.0" @@ -10926,24 +10891,24 @@ es-abstract@^1.22.1, es-abstract@^1.22.3: es-array-method-boxes-properly@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-define-property@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== dependencies: get-intrinsic "^1.2.4" es-errors@^1.0.0, es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-get-iterator@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + resolved "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz" integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== dependencies: call-bind "^1.0.2" @@ -10958,7 +10923,7 @@ es-get-iterator@^1.1.3: es-iterator-helpers@^1.0.12: version "1.0.16" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.16.tgz#495756d38dd5f9cc8e3091e913ee790d353e6f28" + resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.16.tgz" integrity sha512-CREG2A9Vq7bpDRnldhFcMKuKArvkZtsH6Y0DHOHVg49qhf+LD8uEdUM3OkOAICv0EziGtDEnQtqY2/mfBILpFw== dependencies: asynciterator.prototype "^1.0.0" @@ -10979,12 +10944,12 @@ es-iterator-helpers@^1.0.12: es-module-lexer@^1.2.1, es-module-lexer@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== es-set-tostringtag@^2.0.1, es-set-tostringtag@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== dependencies: get-intrinsic "^1.2.2" @@ -10993,14 +10958,14 @@ es-set-tostringtag@^2.0.1, es-set-tostringtag@^2.0.2: es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -11009,7 +10974,7 @@ es-to-primitive@^1.2.1: es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== dependencies: es6-iterator "^2.0.3" @@ -11018,7 +10983,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: es6-iterator@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== dependencies: d "1" @@ -11027,7 +10992,7 @@ es6-iterator@^2.0.3: es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== dependencies: d "^1.0.1" @@ -11035,19 +11000,19 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3: esbuild-plugin-alias@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb" + resolved "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz" integrity sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ== esbuild-register@^3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.5.0.tgz#449613fb29ab94325c722f560f800dd946dc8ea8" + resolved "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz" integrity sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A== dependencies: debug "^4.3.4" esbuild@^0.18.0, esbuild@^0.18.10: version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz" integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== optionalDependencies: "@esbuild/android-arm" "0.18.20" @@ -11075,7 +11040,7 @@ esbuild@^0.18.0, esbuild@^0.18.10: esbuild@^0.20.1: version "0.20.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== optionalDependencies: "@esbuild/aix-ppc64" "0.20.2" @@ -11104,42 +11069,42 @@ esbuild@^0.20.1: escalade@^3.1.1: version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escalade@^3.1.2: version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escape-string-regexp@5.0.0, escape-string-regexp@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escodegen@^2.0.0, escodegen@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== dependencies: esprima "^4.0.1" @@ -11150,12 +11115,12 @@ escodegen@^2.0.0, escodegen@^2.1.0: eslint-config-prettier@^9.0.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-plugin-prettier@^5.0.1: version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz" integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== dependencies: prettier-linter-helpers "^1.0.0" @@ -11163,12 +11128,12 @@ eslint-plugin-prettier@^5.0.1: eslint-plugin-react-hooks@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== eslint-plugin-react@^7.33.2: version "7.33.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== dependencies: array-includes "^3.1.6" @@ -11190,12 +11155,12 @@ eslint-plugin-react@^7.33.2: eslint-plugin-simple-import-sort@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz#cc4ceaa81ba73252427062705b64321946f61351" + resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz" integrity sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw== eslint-plugin-sort-keys-fix@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-sort-keys-fix/-/eslint-plugin-sort-keys-fix-1.1.2.tgz#00c8b5791612ec32162b8d7a0563e9c6eb27ec59" + resolved "https://registry.npmjs.org/eslint-plugin-sort-keys-fix/-/eslint-plugin-sort-keys-fix-1.1.2.tgz" integrity sha512-DNPHFGCA0/hZIsfODbeLZqaGY/+q3vgtshF85r+YWDNCQ2apd9PNs/zL6ttKm0nD1IFwvxyg3YOTI7FHl4unrw== dependencies: espree "^6.1.2" @@ -11205,7 +11170,7 @@ eslint-plugin-sort-keys-fix@^1.1.2: eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -11213,7 +11178,7 @@ eslint-scope@5.1.1: eslint-scope@^7.1.1, eslint-scope@^7.2.2: version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" @@ -11221,17 +11186,17 @@ eslint-scope@^7.1.1, eslint-scope@^7.2.2: eslint-visitor-keys@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.51.0, eslint@^8.7.0: version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" @@ -11275,7 +11240,7 @@ eslint@^8.51.0, eslint@^8.7.0: espree@^6.1.2: version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== dependencies: acorn "^7.1.1" @@ -11284,7 +11249,7 @@ espree@^6.1.2: espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" @@ -11293,43 +11258,43 @@ espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-attach-comments@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz#ee44f4ff6890ee7dfb3237ac7810154c94c63f84" + resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz" integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w== dependencies: "@types/estree" "^1.0.0" estree-util-build-jsx@^2.0.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz#32f8a239fb40dc3f3dca75bb5dcf77a831e4e47b" + resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz" integrity sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -11338,17 +11303,17 @@ estree-util-build-jsx@^2.0.0: estree-util-is-identifier-name@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz#fb70a432dcb19045e77b05c8e732f1364b4b49b2" + resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz" integrity sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ== estree-util-is-identifier-name@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" + resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== estree-util-to-js@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz#0f80d42443e3b13bd32f7012fffa6f93603f4a36" + resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz" integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -11357,14 +11322,14 @@ estree-util-to-js@^1.1.0: estree-util-value-to-estree@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz#1d3125594b4d6680f666644491e7ac1745a3df49" + resolved "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz" integrity sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw== dependencies: is-plain-obj "^3.0.0" estree-util-visit@^1.0.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.1.tgz#8bc2bc09f25b00827294703835aabee1cc9ec69d" + resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz" integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw== dependencies: "@types/estree-jsx" "^1.0.0" @@ -11372,24 +11337,24 @@ estree-util-visit@^1.0.0: estree-walker@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== dependencies: "@types/estree" "^1.0.0" esutils@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-emitter@^0.3.5: version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== dependencies: d "1" @@ -11397,32 +11362,32 @@ event-emitter@^0.3.5: event-target-shim@^5.0.0, event-target-shim@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== eventemitter2@5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452" + resolved "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz" integrity sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg== eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== events@^3.2.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== exec-async@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/exec-async/-/exec-async-2.2.0.tgz#c7c5ad2eef3478d38390c6dd3acfe8af0efc8301" + resolved "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz" integrity sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw== execa@8.0.1, execa@^8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: cross-spawn "^7.0.3" @@ -11437,7 +11402,7 @@ execa@8.0.1, execa@^8.0.1: execa@^0.8.0: version "0.8.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + resolved "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz" integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA== dependencies: cross-spawn "^5.0.1" @@ -11450,7 +11415,7 @@ execa@^0.8.0: execa@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" @@ -11463,7 +11428,7 @@ execa@^1.0.0: execa@^2.0.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99" + resolved "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz" integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw== dependencies: cross-spawn "^7.0.0" @@ -11478,7 +11443,7 @@ execa@^2.0.1: execa@^5.0.0, execa@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -11493,12 +11458,12 @@ execa@^5.0.0, execa@^5.1.1: exit@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expect@^29.0.0, expect@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: "@jest/expect-utils" "^29.7.0" @@ -11509,7 +11474,7 @@ expect@^29.0.0, expect@^29.7.0: expo-asset@~9.0.2: version "9.0.2" - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-9.0.2.tgz#e8a6b6da356d5fc97955599d2fa49af78c7f0bfd" + resolved "https://registry.npmjs.org/expo-asset/-/expo-asset-9.0.2.tgz" integrity sha512-PzYKME1MgUOoUvwtdzhAyXkjXOXGiSYqGKG/MsXwWr0Ef5wlBaBm2DCO9V6KYbng5tBPFu6hTjoRNil1tBOSow== dependencies: "@react-native/assets-registry" "~0.73.1" @@ -11521,38 +11486,38 @@ expo-asset@~9.0.2: expo-constants@~15.4.0, expo-constants@~15.4.5: version "15.4.5" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-15.4.5.tgz#81756a4c4e1c020f840a419cd86a124a6d1fb35b" + resolved "https://registry.npmjs.org/expo-constants/-/expo-constants-15.4.5.tgz" integrity sha512-1pVVjwk733hbbIjtQcvUFCme540v4gFemdNlaxM2UXKbfRCOh2hzgKN5joHMOysoXQe736TTUrRj7UaZI5Yyhg== dependencies: "@expo/config" "~8.5.0" expo-file-system@~16.0.0, expo-file-system@~16.0.6: version "16.0.6" - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-16.0.6.tgz#07a140a7bcb44b42bd3f0b465e7583cc7f7d7078" + resolved "https://registry.npmjs.org/expo-file-system/-/expo-file-system-16.0.6.tgz" integrity sha512-ATCHL7nEg2WwKeamW/SDTR9jBEqM5wncFq594ftKS5QFmhKIrX48d9jyPFGnNq+6h8AGPg4QKh2KCA4OY49L4g== expo-font@~11.10.2: version "11.10.2" - resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-11.10.2.tgz#233195c4fa0321763bd89bd7919bf7271a439c3f" + resolved "https://registry.npmjs.org/expo-font/-/expo-font-11.10.2.tgz" integrity sha512-AE0Q0LiWiVosQ/jlKUPoWoob7p3GwYM2xmLoUkuopO9RYh9NL1hZKHiMKcWBZyDG8Gww1GtBQwh7ZREST8+jjQ== dependencies: fontfaceobserver "^2.1.0" expo-image@^1.10.6: version "1.10.6" - resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-1.10.6.tgz#b0e54d31d97742505296c076a5f18d094ba9a8cc" + resolved "https://registry.npmjs.org/expo-image/-/expo-image-1.10.6.tgz" integrity sha512-vcnAIym1eU8vQgV1re1E7rVQZStJimBa4aPDhjFfzMzbddAF7heJuagyewiUkTzbZUwYzPaZAie6VJPyWx9Ueg== dependencies: "@react-native/assets-registry" "~0.73.1" expo-keep-awake@~12.8.2: version "12.8.2" - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-12.8.2.tgz#6cfdf8ad02b5fa130f99d4a1eb98e459d5b4332e" + resolved "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.8.2.tgz" integrity sha512-uiQdGbSX24Pt8nGbnmBtrKq6xL/Tm3+DuDRGBk/3ZE/HlizzNosGRIufIMJ/4B4FRw4dw8KU81h2RLuTjbay6g== expo-modules-autolinking@1.10.3: version "1.10.3" - resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-1.10.3.tgz#19f349884a90f3f27ec9d64e8f2fa6be609558c5" + resolved "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.10.3.tgz" integrity sha512-pn4n2Dl4iRh/zUeiChjRIe1C7EqOw1qhccr85viQV7W6l5vgRpY0osE51ij5LKg/kJmGRcJfs12+PwbdTplbKw== dependencies: "@expo/config" "~8.5.0" @@ -11564,26 +11529,26 @@ expo-modules-autolinking@1.10.3: expo-modules-core@1.11.8: version "1.11.8" - resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-1.11.8.tgz#b0bdb31e70e1e570b70a9613f4b6392306c99a80" + resolved "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.11.8.tgz" integrity sha512-rlctE3nCNLCGv3LosGQNaTuwGrr2SyQA+hOgci/0l+VRc0gFNtvl0gskph9C0tnN1jzBeb8rRZQYVj5ih1yxcA== dependencies: invariant "^2.2.4" expo-splash-screen@~0.26.4: version "0.26.4" - resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.26.4.tgz#bc1fb226c6eae03ee351a3ebe5521a37f868cbc7" + resolved "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.26.4.tgz" integrity sha512-2DwofTQ0FFQCsvDysm/msENsbyNsJiAJwK3qK/oXeizECAPqD7bK19J4z9kuEbr7ORPX9MLnTQYKl6kmX3keUg== dependencies: "@expo/prebuild-config" "6.7.4" expo-status-bar@~1.11.1: version "1.11.1" - resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.11.1.tgz#a11318741d361048c11db2b16c4364a79a74af30" + resolved "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.11.1.tgz" integrity sha512-ddQEtCOgYHTLlFUe/yH67dDBIoct5VIULthyT3LRJbEwdpzAgueKsX2FYK02ldh440V87PWKCamh7R9evk1rrg== expo@^50.0.6: version "50.0.6" - resolved "https://registry.yarnpkg.com/expo/-/expo-50.0.6.tgz#36135b59e51a40a166d47de845da313fc0184da5" + resolved "https://registry.npmjs.org/expo/-/expo-50.0.6.tgz" integrity sha512-CVg0h9bmYeTWtw4EOL0HKNL+zu84YZl5nLWRPKrcpt8jox1VQQAYmvJGMdM5gSRxq5CFNLlWGxq9O8Zvfi1SOQ== dependencies: "@babel/runtime" "^7.20.0" @@ -11604,7 +11569,7 @@ expo@^50.0.6: "express@4.16.4 ": version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + resolved "https://registry.npmjs.org/express/-/express-4.16.4.tgz" integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== dependencies: accepts "~1.3.5" @@ -11640,7 +11605,7 @@ expo@^50.0.6: express@^4.17.3: version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" @@ -11677,26 +11642,26 @@ express@^4.17.3: ext@^1.1.2: version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== dependencies: type "^2.7.2" extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend@^3.0.0, extend@^3.0.1: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== extract-zip@^1.6.6: version "1.7.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== dependencies: concat-stream "^1.6.2" @@ -11706,22 +11671,22 @@ extract-zip@^1.6.6: fast-deep-equal@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" integrity sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -11732,60 +11697,60 @@ fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.0: fast-json-parse@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" + resolved "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz" integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw== fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-loops@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" + resolved "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz" integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4: version "4.3.4" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz#385cc256ad7bbc57b91515a38a22502a9e1fca0d" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz" integrity sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA== dependencies: strnum "^1.0.5" fastq@^1.6.0: version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" fbemitter@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" + resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== dependencies: fbjs "^3.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== fbjs@^3.0.0, fbjs@^3.0.4: version "3.0.5" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz" integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== dependencies: cross-fetch "^3.1.5" @@ -11798,38 +11763,38 @@ fbjs@^3.0.0, fbjs@^3.0.4: fd-slicer@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" fetch-retry@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-4.1.1.tgz#fafe0bb22b54f4d0a9c788dff6dd7f8673ca63f3" + resolved "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz" integrity sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA== fetch-retry@^5.0.2: version "5.0.6" - resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.6.tgz#17d0bc90423405b7a88b74355bf364acd2a7fa56" + resolved "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz" integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ== file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-selector@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz" integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== dependencies: tslib "^2.4.0" file-system-cache@2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-2.3.0.tgz#201feaf4c8cd97b9d0d608e96861bb6005f46fe6" + resolved "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.3.0.tgz" integrity sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ== dependencies: fs-extra "11.1.1" @@ -11837,26 +11802,26 @@ file-system-cache@2.3.0: filelist@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: minimatch "^5.0.1" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" filter-obj@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== finalhandler@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz" integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== dependencies: debug "2.6.9" @@ -11869,7 +11834,7 @@ finalhandler@1.1.1: finalhandler@1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== dependencies: debug "2.6.9" @@ -11882,7 +11847,7 @@ finalhandler@1.1.2: finalhandler@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" @@ -11895,7 +11860,7 @@ finalhandler@1.2.0: find-cache-dir@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== dependencies: commondir "^1.0.1" @@ -11904,7 +11869,7 @@ find-cache-dir@^2.0.0: find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" @@ -11913,7 +11878,7 @@ find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: find-cache-dir@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz" integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: common-path-prefix "^3.0.0" @@ -11921,19 +11886,19 @@ find-cache-dir@^4.0.0: find-root@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -11941,7 +11906,7 @@ find-up@^4.0.0, find-up@^4.1.0: find-up@^5.0.0, find-up@~5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -11949,7 +11914,7 @@ find-up@^5.0.0, find-up@~5.0.0: find-up@^6.3.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== dependencies: locate-path "^7.1.0" @@ -11957,14 +11922,14 @@ find-up@^6.3.0: find-yarn-workspace-root@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: micromatch "^4.0.2" flaschenpost@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/flaschenpost/-/flaschenpost-1.1.3.tgz#2c1e7bf4eecf9f30333dd672b427a174c2d37449" + resolved "https://registry.npmjs.org/flaschenpost/-/flaschenpost-1.1.3.tgz" integrity sha512-1VAYPvDsVBGFJyUrOa/6clnJwZYC3qVq9nJLcypy6lvaaNbo1wOQiH8HQ+4Fw/k51pVG7JHzSf5epb8lmIW86g== dependencies: "@babel/runtime" "7.2.0" @@ -11984,7 +11949,7 @@ flaschenpost@1.1.3: flat-cache@^3.0.4: version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" @@ -11993,64 +11958,64 @@ flat-cache@^3.0.4: flat@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== flatten-tailwindcss-theme@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/flatten-tailwindcss-theme/-/flatten-tailwindcss-theme-1.0.0.tgz#e1ce77c4b4979fe432e799cc2dad469a7a664b86" + resolved "https://registry.npmjs.org/flatten-tailwindcss-theme/-/flatten-tailwindcss-theme-1.0.0.tgz" integrity sha512-7B795m0qzLF0yQYGkfGanO3NOisEI4EaVObnr3DBq7Qc8Ygq4yWGa0Gpx2rtb10NSgIcimUqu4Xaqh+0bkC87w== flexsearch@^0.7.31: version "0.7.43" - resolved "https://registry.yarnpkg.com/flexsearch/-/flexsearch-0.7.43.tgz#34f89b36278a466ce379c5bf6fb341965ed3f16c" + resolved "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.43.tgz" integrity sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg== flow-enums-runtime@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" + resolved "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz" integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== flow-parser@0.*: version "0.228.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.228.0.tgz#0b801507c8cf44257338596b49bd0904caea2026" + resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.228.0.tgz" integrity sha512-xPWkzCO07AnS8X+fQFpWm+tJ+C7aeaiVzJ+rSepbkCXUvUJ6l6squEl63axoMcixyH4wLjmypOzq/+zTD0O93w== flow-parser@^0.206.0: version "0.206.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef" + resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz" integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w== focus-visible@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/focus-visible/-/focus-visible-5.2.0.tgz#3a9e41fccf587bd25dcc2ef045508284f0a4d6b3" + resolved "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz" integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ== follow-redirects@^1.15.6: version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== fontfaceobserver@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz#5fb392116e75d5024b7ec8e4f2ce92106d1488c8" + resolved "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz" integrity sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" foreground-child@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== dependencies: cross-spawn "^7.0.0" @@ -12058,7 +12023,7 @@ foreground-child@^3.1.0: fork-ts-checker-webpack-plugin@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz" integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== dependencies: "@babel/code-frame" "^7.16.7" @@ -12076,7 +12041,7 @@ fork-ts-checker-webpack-plugin@^8.0.0: form-data@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== dependencies: asynckit "^0.4.0" @@ -12085,7 +12050,7 @@ form-data@^3.0.1: form-data@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" @@ -12094,22 +12059,22 @@ form-data@^4.0.0: formats@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/formats/-/formats-1.0.0.tgz#327154084786eac09d3b839cab28d150b982b163" + resolved "https://registry.npmjs.org/formats/-/formats-1.0.0.tgz" integrity sha512-For0Y8egwEK96JgJo4NONErPhtl7H2QzeB2NYGmzeGeJ8a1JZqPgLYOtM3oJRCYhmgsdDFd6KGRYyfe37XY4Yg== forwarded@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.3.7: version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== framer-motion@^10.16.4, framer-motion@^10.18.0: version "10.18.0" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-10.18.0.tgz#1f4fc51403996ea7170af885bd44a7079d255950" + resolved "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz" integrity sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w== dependencies: tslib "^2.4.0" @@ -12118,22 +12083,22 @@ framer-motion@^10.16.4, framer-motion@^10.18.0: freeport-async@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/freeport-async/-/freeport-async-2.0.0.tgz#6adf2ec0c629d11abff92836acd04b399135bab4" + resolved "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz" integrity sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ== fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-constants@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== fs-extra@11.1.1: version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== dependencies: graceful-fs "^4.2.0" @@ -12142,7 +12107,7 @@ fs-extra@11.1.1: fs-extra@9.0.0: version "9.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz" integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g== dependencies: at-least-node "^1.0.0" @@ -12152,7 +12117,7 @@ fs-extra@9.0.0: fs-extra@^10.0.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -12161,7 +12126,7 @@ fs-extra@^10.0.0: fs-extra@^11.1.0: version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" @@ -12170,7 +12135,7 @@ fs-extra@^11.1.0: fs-extra@^8.1.0, fs-extra@~8.1.0: version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: graceful-fs "^4.2.0" @@ -12179,7 +12144,7 @@ fs-extra@^8.1.0, fs-extra@~8.1.0: fs-extra@^9.0.0, fs-extra@^9.1.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -12189,34 +12154,34 @@ fs-extra@^9.0.0, fs-extra@^9.1.0: fs-minipass@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" fs-monkey@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" @@ -12226,12 +12191,12 @@ function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gauge@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== dependencies: aproba "^1.0.3 || ^2.0.0" @@ -12246,22 +12211,22 @@ gauge@^3.0.0: gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-east-asian-width@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" + resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz" integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: es-errors "^1.3.0" @@ -12272,66 +12237,66 @@ get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@ get-nonce@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + resolved "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz" integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== get-npm-tarball-url@^2.0.3: version "2.1.0" - resolved "https://registry.yarnpkg.com/get-npm-tarball-url/-/get-npm-tarball-url-2.1.0.tgz#cbd6bb25884622bc3191c761466c93ac83343213" + resolved "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.1.0.tgz" integrity sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA== get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-port@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + resolved "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz" integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== get-port@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== get-stream@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== get-stream@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" get-stream@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-stream@^8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== get-symbol-description@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: call-bind "^1.0.5" @@ -12340,12 +12305,12 @@ get-symbol-description@^1.0.0: getenv@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31" + resolved "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz" integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg== giget@^1.0.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/giget/-/giget-1.2.1.tgz#4f42779aae57a5f664a1c4d50401b008e9810f4c" + resolved "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz" integrity sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g== dependencies: citty "^0.1.5" @@ -12359,7 +12324,7 @@ giget@^1.0.0: git-up@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" + resolved "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz" integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== dependencies: is-ssh "^1.4.0" @@ -12367,43 +12332,43 @@ git-up@^7.0.0: git-url-parse@^13.1.0: version "13.1.1" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.1.tgz#664bddf0857c6a75b3c1f0ae6239abb08a1486d4" + resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.1.tgz" integrity sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ== dependencies: git-up "^7.0.0" github-slugger@^1.0.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== github-slugger@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-2.0.0.tgz#52cf2f9279a21eb6c59dd385b410f0c0adda8f1a" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz" integrity sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob-to-regexp@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@7.1.6: version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" @@ -12413,9 +12378,9 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.0.0, glob@^10.3.10, glob@^10.3.7: +glob@^10.0.0, glob@^10.3.10: version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== dependencies: foreground-child "^3.1.0" @@ -12424,9 +12389,21 @@ glob@^10.0.0, glob@^10.3.10, glob@^10.3.7: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" +glob@^10.3.7: + version "10.4.5" + resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + glob@^6.0.1: version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== dependencies: inflight "^1.0.4" @@ -12437,7 +12414,7 @@ glob@^6.0.1: glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@^7.2.3: version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -12449,26 +12426,26 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@^7.2.3: globals@^11.1.0: version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -12480,7 +12457,7 @@ globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: globby@^13.1.4: version "13.2.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" + resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== dependencies: dir-glob "^3.0.1" @@ -12491,7 +12468,7 @@ globby@^13.1.4: globby@^7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + resolved "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz" integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== dependencies: array-union "^1.0.1" @@ -12503,41 +12480,41 @@ globby@^7.1.1: goober@^2.1.10: version "2.1.14" - resolved "https://registry.yarnpkg.com/goober/-/goober-2.1.14.tgz#4a5c94fc34dc086a8e6035360ae1800005135acd" + resolved "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz" integrity sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg== gopd@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== graphql-tag@^2.10.1: version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== dependencies: tslib "^2.1.0" graphql@15.8.0: version "15.8.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" + resolved "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== gray-matter@^4.0.3: version "4.0.3" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -12547,7 +12524,7 @@ gray-matter@^4.0.3: gunzip-maybe@^1.4.2: version "1.4.2" - resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz#b913564ae3be0eda6f3de36464837a9cd94b98ac" + resolved "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz" integrity sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw== dependencies: browserify-zlib "^0.1.4" @@ -12559,7 +12536,7 @@ gunzip-maybe@^1.4.2: handlebars@^4.7.7: version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== dependencies: minimist "^1.2.5" @@ -12571,75 +12548,75 @@ handlebars@^4.7.7: hard-rejection@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-ansi@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== dependencies: ansi-regex "^2.0.0" has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" integrity sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: get-intrinsic "^1.2.2" has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" has-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" has-unicode@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== hase@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/hase/-/hase-2.0.0.tgz#344aed71d00826c45d0a37cdf94fe7faf7154c60" + resolved "https://registry.npmjs.org/hase/-/hase-2.0.0.tgz" integrity sha512-L83pBR/oZvQQNjv4kw9aUpTqBxERPiY7B42jsmkt1VDeUaRVhYkEIKzkCqrppjtxHe2EZqzZJzuhMXsWsxYIsw== dependencies: "@babel/runtime" "7.1.2" @@ -12647,7 +12624,7 @@ hase@2.0.0: hash-obj@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/hash-obj/-/hash-obj-4.0.0.tgz#3fafeb0b5f17994441dbe04efbdee82e26b74c8c" + resolved "https://registry.npmjs.org/hash-obj/-/hash-obj-4.0.0.tgz" integrity sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg== dependencies: is-obj "^3.0.0" @@ -12656,14 +12633,14 @@ hash-obj@^4.0.0: hasown@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== dependencies: function-bind "^1.1.2" hast-util-from-dom@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz#d32edd25bf28f4b178b5ae318f8d05762e67bd16" + resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz" integrity sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg== dependencies: "@types/hast" "^3.0.0" @@ -12672,7 +12649,7 @@ hast-util-from-dom@^5.0.0: hast-util-from-html-isomorphic@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz#b31baee386a899a2472326a3c5692f29f86d1d3c" + resolved "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz" integrity sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw== dependencies: "@types/hast" "^3.0.0" @@ -12682,7 +12659,7 @@ hast-util-from-html-isomorphic@^2.0.0: hast-util-from-html@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz#9cd38ee81bf40b2607368b92a04b0905fa987488" + resolved "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz" integrity sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g== dependencies: "@types/hast" "^3.0.0" @@ -12694,7 +12671,7 @@ hast-util-from-html@^2.0.0: hast-util-from-parse5@^8.0.0: version "8.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz#654a5676a41211e14ee80d1b1758c399a0327651" + resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz" integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== dependencies: "@types/hast" "^3.0.0" @@ -12708,28 +12685,28 @@ hast-util-from-parse5@^8.0.0: hast-util-is-element@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz#6e31a6532c217e5b533848c7e52c9d9369ca0932" + resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz" integrity sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g== dependencies: "@types/hast" "^3.0.0" hast-util-parse-selector@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz" integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== dependencies: "@types/hast" "^2.0.0" hast-util-parse-selector@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz" integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== dependencies: "@types/hast" "^3.0.0" hast-util-raw@^9.0.0: version "9.0.2" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.0.2.tgz#39b4a4886bd9f0a5dd42e86d02c966c2c152884c" + resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz" integrity sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== dependencies: "@types/hast" "^3.0.0" @@ -12748,7 +12725,7 @@ hast-util-raw@^9.0.0: hast-util-to-estree@^2.0.0: version "2.3.3" - resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz#da60142ffe19a6296923ec222aba73339c8bf470" + resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz" integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ== dependencies: "@types/estree" "^1.0.0" @@ -12769,7 +12746,7 @@ hast-util-to-estree@^2.0.0: hast-util-to-jsx-runtime@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz#3ed27caf8dc175080117706bf7269404a0aa4f7c" + resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== dependencies: "@types/estree" "^1.0.0" @@ -12790,7 +12767,7 @@ hast-util-to-jsx-runtime@^2.0.0: hast-util-to-parse5@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed" + resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz" integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== dependencies: "@types/hast" "^3.0.0" @@ -12803,7 +12780,7 @@ hast-util-to-parse5@^8.0.0: hast-util-to-text@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz#7f33a45d0bf7981ead44e82d9d8d75f511b3642f" + resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz" integrity sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w== dependencies: "@types/hast" "^3.0.0" @@ -12813,19 +12790,19 @@ hast-util-to-text@^4.0.0: hast-util-whitespace@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz" integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== hast-util-whitespace@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== dependencies: "@types/hast" "^3.0.0" hastscript@^7.0.2: version "7.2.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz" integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== dependencies: "@types/hast" "^2.0.0" @@ -12836,7 +12813,7 @@ hastscript@^7.0.2: hastscript@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-8.0.0.tgz#4ef795ec8dee867101b9f23cc830d4baf4fd781a" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz" integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== dependencies: "@types/hast" "^3.0.0" @@ -12847,91 +12824,91 @@ hastscript@^8.0.0: he@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== heap@^0.2.6: version "0.2.7" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz" integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== hermes-estree@0.15.0: version "0.15.0" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.15.0.tgz#e32f6210ab18c7b705bdcb375f7700f2db15d6ba" + resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz" integrity sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ== hermes-estree@0.19.1: version "0.19.1" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.19.1.tgz#d5924f5fac2bf0532547ae9f506d6db8f3c96392" + resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz" integrity sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g== hermes-parser@0.15.0: version "0.15.0" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.15.0.tgz#f611a297c2a2dbbfbce8af8543242254f604c382" + resolved "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz" integrity sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q== dependencies: hermes-estree "0.15.0" hermes-parser@0.19.1: version "0.19.1" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.19.1.tgz#1044348097165b7c93dc198a80b04ed5130d6b1a" + resolved "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz" integrity sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A== dependencies: hermes-estree "0.19.1" hermes-profile-transformer@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b" + resolved "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz" integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ== dependencies: source-map "^0.7.3" hoist-non-react-statics@^3.3.0: version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^3.0.2: version "3.0.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" hosted-git-info@^4.0.1: version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" html-encoding-sniffer@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== dependencies: whatwg-encoding "^2.0.0" html-entities@^2.1.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-minifier-terser@^6.0.2: version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: camel-case "^4.1.2" @@ -12944,29 +12921,29 @@ html-minifier-terser@^6.0.2: html-parse-stringify@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + resolved "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz" integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== dependencies: void-elements "3.1.0" html-tags@^3.1.0: version "3.3.1" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== html-url-attributes@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.0.tgz#fc4abf0c3fb437e2329c678b80abb3c62cff6f08" + resolved "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz" integrity sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow== html-void-elements@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" + resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz" integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== html-webpack-plugin@^5.5.0: version "5.6.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0" + resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz" integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== dependencies: "@types/html-minifier-terser" "^6.0.0" @@ -12977,7 +12954,7 @@ html-webpack-plugin@^5.5.0: htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -12987,7 +12964,7 @@ htmlparser2@^6.1.0: http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" @@ -12997,7 +12974,7 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: http-errors@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -13008,7 +12985,7 @@ http-errors@2.0.0: http-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: "@tootallnate/once" "2" @@ -13017,7 +12994,7 @@ http-proxy-agent@^5.0.0: https-proxy-agent@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz" integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== dependencies: agent-base "5" @@ -13025,7 +13002,7 @@ https-proxy-agent@^4.0.0: https-proxy-agent@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" @@ -13033,99 +13010,99 @@ https-proxy-agent@^5.0.1: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== human-signals@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== husky@^8.0.3: version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz" integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== hyphenate-style-name@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== i18next@^23.11.2: version "23.11.2" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.2.tgz#4c0e8192a9ba230fe7dc68b76459816ab601826e" + resolved "https://registry.npmjs.org/i18next/-/i18next-23.11.2.tgz" integrity sha512-qMBm7+qT8jdpmmDw/kQD16VpmkL9BdL+XNAK5MNbNFaf1iQQq35ZbPrSlqmnNPOSUY4m342+c0t0evinF5l7sA== dependencies: "@babel/runtime" "^7.23.2" iconv-lite@0.4.23: version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz" integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== dependencies: safer-buffer ">= 2.1.2 < 3" iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" iconv-lite@0.6, iconv-lite@0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz" integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: postcss "^7.0.14" icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ieee754@^1.1.13: version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^3.3.5: version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + resolved "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== ignore@^5.2.0, ignore@^5.2.4: version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== image-size@^1.0.2: version "1.1.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac" + resolved "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz" integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== dependencies: queue "6.0.2" immediate@~3.0.5: version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== immer@^10.0.4: version "10.0.4" - resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.4.tgz#09af41477236b99449f9d705369a4daaf780362b" + resolved "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz" integrity sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw== import-fresh@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== dependencies: caller-path "^2.0.0" @@ -13133,7 +13110,7 @@ import-fresh@^2.0.0: import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -13141,7 +13118,7 @@ import-fresh@^3.2.1, import-fresh@^3.3.0: import-local@^3.0.2: version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz" integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" @@ -13149,27 +13126,27 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== indent-string@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz" integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== infer-owner@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -13177,32 +13154,32 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@~1.3.0: version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== inline-style-parser@0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== inline-style-parser@0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.2.tgz#d498b4e6de0373458fc610ff793f6b14ebf45633" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz" integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== inline-style-prefixer@^6.0.1: version "6.0.4" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz#4290ed453ab0e4441583284ad86e41ad88384f44" + resolved "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz" integrity sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg== dependencies: css-in-js-utils "^3.1.0" @@ -13210,7 +13187,7 @@ inline-style-prefixer@^6.0.1: internal-ip@4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== dependencies: default-gateway "^4.2.0" @@ -13218,7 +13195,7 @@ internal-ip@4.3.0: internal-slot@^1.0.4, internal-slot@^1.0.5, internal-slot@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: es-errors "^1.3.0" @@ -13227,59 +13204,59 @@ internal-slot@^1.0.4, internal-slot@^1.0.5, internal-slot@^1.0.7: "internmap@1 - 2": version "2.0.3" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz" integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== internmap@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz" integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== intersection-observer@^0.12.2: version "0.12.2" - resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.12.2.tgz#4a45349cc0cd91916682b1f44c28d7ec737dc375" + resolved "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz" integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg== invariant@2.2.4, invariant@^2.2.4: version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" ip-regex@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== ip@^1.1.5: version "1.1.8" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== ip@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" + resolved "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz" integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== is-absolute-url@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== is-alphabetical@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumerical@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" @@ -13287,7 +13264,7 @@ is-alphanumerical@^2.0.0: is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" @@ -13295,7 +13272,7 @@ is-arguments@^1.0.4, is-arguments@^1.1.1: is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" @@ -13303,38 +13280,38 @@ is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-arrayish@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-async-function@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== dependencies: has-tostringtag "^1.0.0" is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -13342,153 +13319,153 @@ is-boolean-object@^1.1.0: is-buffer@^2.0.0: version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-buffer@~1.1.1, is-buffer@~1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.13.0, is-core-module@^2.5.0: version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: hasown "^2.0.0" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-decimal@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== is-deflate@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" + resolved "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz" integrity sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ== is-directory@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extendable@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extglob@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww== is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-finalizationregistry@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== dependencies: call-bind "^1.0.2" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-fullwidth-code-point@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== is-fullwidth-code-point@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz" integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== dependencies: get-east-asian-width "^1.0.0" is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-generator-function@^1.0.10, is-generator-function@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== dependencies: has-tostringtag "^1.0.0" is-glob@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" integrity sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg== dependencies: is-extglob "^1.0.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-gzip@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" + resolved "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz" integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ== is-hexadecimal@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== is-interactive@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== is-invalid-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34" + resolved "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz" integrity sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ== dependencies: is-glob "^2.0.0" is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== is-nan@^1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== dependencies: call-bind "^1.0.0" @@ -13496,93 +13473,93 @@ is-nan@^1.3.2: is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-obj@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-3.0.0.tgz#b0889f1f9f8cb87e87df53a8d1230a2250f8b9be" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-3.0.0.tgz" integrity sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ== is-path-cwd@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-inside@^3.0.2, is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-path-inside@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-4.0.0.tgz#805aeb62c47c1b12fc3fd13bfb3ed1e7430071db" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz" integrity sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== is-plain-obj@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-obj@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-plain-object@5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-potential-custom-element-name@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== is-reference@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" + resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== dependencies: "@types/estree" "*" is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -13590,96 +13567,96 @@ is-regex@^1.1.4: is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== is-set@^2.0.1, is-set@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-ssh@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" + resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz" integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== dependencies: protocols "^2.0.1" is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-stream@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.13, is-typed-array@^1.1.3, is-typed-array@^1.1.9: version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: which-typed-array "^1.1.14" is-unicode-supported@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== is-valid-glob@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + resolved "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz" integrity sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA== is-valid-path@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df" + resolved "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz" integrity sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A== dependencies: is-invalid-path "^0.1.0" is-weakmap@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-weakset@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== dependencies: call-bind "^1.0.2" @@ -13687,54 +13664,54 @@ is-weakset@^2.0.1: is-what@^4.1.8: version "4.1.16" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f" + resolved "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz" integrity sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A== is-wsl@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" isarray@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^5.0.4: version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" @@ -13745,7 +13722,7 @@ istanbul-lib-instrument@^5.0.4: istanbul-lib-instrument@^6.0.0: version "6.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz" integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== dependencies: "@babel/core" "^7.23.9" @@ -13756,7 +13733,7 @@ istanbul-lib-instrument@^6.0.0: istanbul-lib-report@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -13765,7 +13742,7 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" @@ -13774,7 +13751,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.1.3: version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== dependencies: html-escaper "^2.0.0" @@ -13782,7 +13759,7 @@ istanbul-reports@^3.1.3: iterator.prototype@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== dependencies: define-properties "^1.2.1" @@ -13793,16 +13770,25 @@ iterator.prototype@^1.1.2: jackspeak@^2.3.5: version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jake@^10.8.5: version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz" integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== dependencies: async "^3.2.3" @@ -13812,7 +13798,7 @@ jake@^10.8.5: jest-changed-files@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== dependencies: execa "^5.0.0" @@ -13821,7 +13807,7 @@ jest-changed-files@^29.7.0: jest-circus@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== dependencies: "@jest/environment" "^29.7.0" @@ -13847,7 +13833,7 @@ jest-circus@^29.7.0: jest-cli@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== dependencies: "@jest/core" "^29.7.0" @@ -13864,7 +13850,7 @@ jest-cli@^29.7.0: jest-config@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== dependencies: "@babel/core" "^7.11.6" @@ -13892,7 +13878,7 @@ jest-config@^29.7.0: jest-diff@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" @@ -13902,14 +13888,14 @@ jest-diff@^29.7.0: jest-docblock@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" jest-each@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== dependencies: "@jest/types" "^29.6.3" @@ -13920,7 +13906,7 @@ jest-each@^29.7.0: jest-environment-jsdom@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz" integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== dependencies: "@jest/environment" "^29.7.0" @@ -13934,7 +13920,7 @@ jest-environment-jsdom@^29.7.0: jest-environment-node@^29.6.3, jest-environment-node@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== dependencies: "@jest/environment" "^29.7.0" @@ -13946,12 +13932,12 @@ jest-environment-node@^29.6.3, jest-environment-node@^29.7.0: jest-get-type@^29.6.3: version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== jest-haste-map@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: "@jest/types" "^29.6.3" @@ -13970,7 +13956,7 @@ jest-haste-map@^29.7.0: jest-leak-detector@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: jest-get-type "^29.6.3" @@ -13978,7 +13964,7 @@ jest-leak-detector@^29.7.0: jest-matcher-utils@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" @@ -13988,7 +13974,7 @@ jest-matcher-utils@^29.7.0: jest-message-util@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" @@ -14003,7 +13989,7 @@ jest-message-util@^29.7.0: jest-mock@^27.0.6: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== dependencies: "@jest/types" "^27.5.1" @@ -14011,7 +13997,7 @@ jest-mock@^27.0.6: jest-mock@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: "@jest/types" "^29.6.3" @@ -14020,17 +14006,17 @@ jest-mock@^29.7.0: jest-pnp-resolver@^1.2.2: version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== jest-regex-util@^29.6.3: version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== jest-resolve-dependencies@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: jest-regex-util "^29.6.3" @@ -14038,7 +14024,7 @@ jest-resolve-dependencies@^29.7.0: jest-resolve@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== dependencies: chalk "^4.0.0" @@ -14053,7 +14039,7 @@ jest-resolve@^29.7.0: jest-runner@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== dependencies: "@jest/console" "^29.7.0" @@ -14080,7 +14066,7 @@ jest-runner@^29.7.0: jest-runtime@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== dependencies: "@jest/environment" "^29.7.0" @@ -14108,7 +14094,7 @@ jest-runtime@^29.7.0: jest-snapshot@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: "@babel/core" "^7.11.6" @@ -14134,7 +14120,7 @@ jest-snapshot@^29.7.0: jest-util@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: "@jest/types" "^29.6.3" @@ -14146,7 +14132,7 @@ jest-util@^29.7.0: jest-validate@^29.6.3, jest-validate@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== dependencies: "@jest/types" "^29.6.3" @@ -14158,7 +14144,7 @@ jest-validate@^29.6.3, jest-validate@^29.7.0: jest-watcher@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: "@jest/test-result" "^29.7.0" @@ -14172,7 +14158,7 @@ jest-watcher@^29.7.0: jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" @@ -14181,7 +14167,7 @@ jest-worker@^27.4.5: jest-worker@^29.6.3, jest-worker@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" @@ -14191,7 +14177,7 @@ jest-worker@^29.6.3, jest-worker@^29.7.0: jest@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== dependencies: "@jest/core" "^29.7.0" @@ -14201,17 +14187,17 @@ jest@^29.7.0: jimp-compact@0.16.1: version "0.16.1" - resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3" + resolved "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz" integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== jiti@^1.18.2, jiti@^1.19.1, jiti@^1.20.0, jiti@^1.21.0: version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== joi@^17.2.1: version "17.12.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.1.tgz#3347ecf4cd3301962d42191c021b165eef1f395b" + resolved "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz" integrity sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ== dependencies: "@hapi/hoek" "^9.3.0" @@ -14222,17 +14208,17 @@ joi@^17.2.1: join-component@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/join-component/-/join-component-1.1.0.tgz#b8417b750661a392bee2c2537c68b2a9d4977cd5" + resolved "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz" integrity sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -14240,24 +14226,24 @@ js-yaml@^3.13.1: js-yaml@^4.0.0, js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsc-android@^250231.0.0: version "250231.0.0" - resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250231.0.0.tgz#91720f8df382a108872fa4b3f558f33ba5e95262" + resolved "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz" integrity sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw== jsc-safe-url@^0.2.2, jsc-safe-url@^0.2.4: version "0.2.4" - resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" + resolved "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz" integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== jscodeshift@^0.14.0: version "0.14.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881" + resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz" integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA== dependencies: "@babel/core" "^7.13.16" @@ -14282,7 +14268,7 @@ jscodeshift@^0.14.0: jscodeshift@^0.15.1: version "0.15.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.15.1.tgz#6c7a9572acdfa4f54098e958f71a05716a4e546b" + resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.1.tgz" integrity sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg== dependencies: "@babel/core" "^7.23.0" @@ -14308,7 +14294,7 @@ jscodeshift@^0.15.1: jsdom@^20.0.0: version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + resolved "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz" integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== dependencies: abab "^2.0.6" @@ -14340,39 +14326,39 @@ jsdom@^20.0.0: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-lines@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/json-lines/-/json-lines-1.0.0.tgz#4ac6d7531deec3b928516c7f86897b548f82711d" + resolved "https://registry.npmjs.org/json-lines/-/json-lines-1.0.0.tgz" integrity sha512-ytuLZb4RBQb3bTRsG/QBenyIo5oHLpjeCVph3s2NnoAsZE9K6h+uR+OWpEOWV1UeHdX63tYctGppBpGAc+JNMA== dependencies: timer2 "1.0.0" json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-deref-sync@^0.13.0: version "0.13.0" - resolved "https://registry.yarnpkg.com/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz#cb08b4ff435a48b5a149652d7750fdd071009823" + resolved "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz" integrity sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg== dependencies: clone "^2.1.2" @@ -14386,46 +14372,46 @@ json-schema-deref-sync@^0.13.0: json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonc-parser@^3.2.0: version "3.2.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -14434,7 +14420,7 @@ jsonfile@^6.0.1: jsonwebtoken@8.5.0: version "8.5.0" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz#ebd0ca2a69797816e1c5af65b6c759787252947e" + resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz" integrity sha512-IqEycp0znWHNA11TpYi77bVgyBO/pGESDh7Ajhas+u0ttkGkKYIIAjniL4Bw5+oVejVF+SYkaI7XKfwCCyeTuA== dependencies: jws "^3.2.1" @@ -14450,7 +14436,7 @@ jsonwebtoken@8.5.0: "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== dependencies: array-includes "^3.1.6" @@ -14460,7 +14446,7 @@ jsonwebtoken@8.5.0: jszip@^3.7.1: version "3.10.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== dependencies: lie "~3.3.0" @@ -14470,12 +14456,12 @@ jszip@^3.7.1: junk@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/junk/-/junk-4.0.1.tgz#7ee31f876388c05177fe36529ee714b07b50fbed" + resolved "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz" integrity sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== jwa@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== dependencies: buffer-equal-constant-time "1.0.1" @@ -14484,7 +14470,7 @@ jwa@^1.4.1: jws@^3.2.1: version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== dependencies: jwa "^1.4.1" @@ -14492,51 +14478,51 @@ jws@^3.2.1: katex@^0.16.0, katex@^0.16.9: version "0.16.9" - resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.9.tgz#bc62d8f7abfea6e181250f85a56e4ef292dcb1fa" + resolved "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz" integrity sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ== dependencies: commander "^8.3.0" keyv@^4.5.3: version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" khroma@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1" + resolved "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz" integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== kleur@^4.0.3: version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== klona@^2.0.4: version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + resolved "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz" integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== layout-base@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-1.0.2.tgz#1291e296883c322a9dd4c5dd82063721b53e26e2" + resolved "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz" integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg== lazy-universal-dotenv@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz#0b220c264e89a042a37181a4928cdd298af73422" + resolved "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz" integrity sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg== dependencies: app-root-dir "^1.0.2" @@ -14545,12 +14531,12 @@ lazy-universal-dotenv@^4.0.0: leven@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -14558,21 +14544,21 @@ levn@^0.4.1: lie@3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== dependencies: immediate "~3.0.5" lie@~3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== dependencies: immediate "~3.0.5" lighthouse-logger@^1.0.0: version "1.4.2" - resolved "https://registry.yarnpkg.com/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz#aef90f9e97cd81db367c7634292ee22079280aaa" + resolved "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz" integrity sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g== dependencies: debug "^2.6.9" @@ -14580,7 +14566,7 @@ lighthouse-logger@^1.0.0: lightningcss-darwin-arm64@1.19.0: version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz#56ab071e932f845dbb7667f44f5b78441175a343" + resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz" integrity sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg== lightningcss-darwin-x64@1.19.0: @@ -14620,7 +14606,7 @@ lightningcss-win32-x64-msvc@1.19.0: lightningcss@~1.19.0: version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.19.0.tgz#fbbad0975de66252e38d96b5bdd2a62f2dd0ffbf" + resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.19.0.tgz" integrity sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA== dependencies: detect-libc "^1.0.3" @@ -14636,17 +14622,17 @@ lightningcss@~1.19.0: lilconfig@3.0.0, lilconfig@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== lilconfig@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== limes@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/limes/-/limes-2.0.0.tgz#32b9fa0c62fe728262c8b2316ca3496ede7153fe" + resolved "https://registry.npmjs.org/limes/-/limes-2.0.0.tgz" integrity sha512-evWD0pnTgPX7QueaSoJl5JBUL30T1ZVzo34ke97tIKmeagqhBTYK/JkKL0vtG3MpNApw8ZY9TlbybfwEz9knBA== dependencies: "@babel/runtime" "7.3.4" @@ -14654,12 +14640,12 @@ limes@2.0.0: lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@^15.0.1: version "15.2.2" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz" integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== dependencies: chalk "5.3.0" @@ -14675,7 +14661,7 @@ lint-staged@^15.0.1: listr2@8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + resolved "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz" integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== dependencies: cli-truncate "^4.0.0" @@ -14687,12 +14673,12 @@ listr2@8.0.1: loader-runner@^4.2.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^1.2.3: version "1.4.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz" integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== dependencies: big.js "^5.2.2" @@ -14701,7 +14687,7 @@ loader-utils@^1.2.3: loader-utils@^2.0.0, loader-utils@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" @@ -14710,14 +14696,14 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: localforage@*, localforage@^1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + resolved "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz" integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== dependencies: lie "3.1.1" locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -14725,145 +14711,145 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" locate-path@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz" integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== dependencies: p-locate "^6.0.0" lodash-es@^4.17.21: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== lodash.castarray@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" + resolved "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz" integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q== lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.foreach@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + resolved "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz" integrity sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ== lodash.get@^4.4.2: version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== lodash.groupby@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" + resolved "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz" integrity sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw== lodash.includes@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== lodash.isboolean@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.isinteger@^4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== lodash.isnumber@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== lodash.isstring@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== lodash.merge@^4.6.0, lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.once@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== lodash.sortby@^4.7.0: version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== lodash.throttle@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== lodash.uniqby@^4.7.0: version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + resolved "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== lodash.upperfirst@^4.3.1: version "4.3.1" - resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== lodash@4.17.11: version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== lodash@4.17.5: version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz" integrity sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw== lodash@^4.17.13, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: chalk "^2.0.1" log-symbols@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: chalk "^4.1.0" @@ -14871,7 +14857,7 @@ log-symbols@^4.1.0: log-update@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" + resolved "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz" integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== dependencies: ansi-escapes "^6.2.0" @@ -14882,7 +14868,7 @@ log-update@^6.0.0: logkitty@^0.7.1: version "0.7.1" - resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" + resolved "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz" integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ== dependencies: ansi-fragments "^0.2.1" @@ -14891,7 +14877,7 @@ logkitty@^0.7.1: loglevel-colored-level-prefix@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz#6a40218fdc7ae15fc76c3d0f3e676c465388603e" + resolved "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz" integrity sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA== dependencies: chalk "^1.1.3" @@ -14899,31 +14885,36 @@ loglevel-colored-level-prefix@^1.0.0: loglevel@^1.4.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz" integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== longest-streak@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lower-case@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: tslib "^2.0.3" +lru-cache@^10.2.0: + version "10.2.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + lru-cache@^4.0.1: version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" @@ -14931,55 +14922,50 @@ lru-cache@^4.0.1: lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - lucide-react-native@^0.330.0: version "0.330.0" - resolved "https://registry.yarnpkg.com/lucide-react-native/-/lucide-react-native-0.330.0.tgz#d76d46ab452e6926d71ff6d7655ff8f43a88728e" + resolved "https://registry.npmjs.org/lucide-react-native/-/lucide-react-native-0.330.0.tgz" integrity sha512-XHeCNGLIHNbk4oRTPZht8NxzUB+f9TLt2d4jWgawLmcwVae4nJiqOn3GJNpYvo5x5Z8rtxP1frVk8PnN/ICSnQ== lucide-react@=0.428.0: version "0.428.0" - resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.428.0.tgz#dfd96d682c74f78c2961040036d8c1265ccce039" + resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.428.0.tgz" integrity sha512-rGrzslfEcgqwh+TLBC5qJ8wvVIXhLvAIXVFKNHndYyb1utSxxn9rXOC+1CNJLi6yNOooyPqIs6+3YCp6uSiEvg== lusca@1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/lusca/-/lusca-1.6.1.tgz#f7445e50c720030f5ee53d1336e9e53d1786c34f" + resolved "https://registry.npmjs.org/lusca/-/lusca-1.6.1.tgz" integrity sha512-+JzvUMH/rsE/4XfHdDOl70bip0beRcHSviYATQM0vtls59uVtdn1JMu4iD7ZShBpAmFG8EnaA+PrYG9sECMIOQ== dependencies: tsscmp "^1.0.5" lz-string@^1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.30.5: version "0.30.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz" integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: pify "^4.0.1" @@ -14987,73 +14973,73 @@ make-dir@^2.0.0, make-dir@^2.1.0: make-dir@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" make-dir@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== dependencies: semver "^7.5.3" make-error@^1.1.1: version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== makeerror@1.0.12: version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: tmpl "1.0.5" map-obj@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0, map-obj@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== map-or-similar@^1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" + resolved "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== markdown-extensions@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" + resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz" integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== markdown-table@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" + resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== markdown-to-jsx@^7.1.8: version "7.4.1" - resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz#1ed6a60f8f9cd944bec39d9923fbbc8d3d60dcb9" + resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz" integrity sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A== marks-pane@^1.0.9: version "1.0.9" - resolved "https://registry.yarnpkg.com/marks-pane/-/marks-pane-1.0.9.tgz#c0b5ab813384d8cd81faaeb3bbf3397dc809c1b3" + resolved "https://registry.npmjs.org/marks-pane/-/marks-pane-1.0.9.tgz" integrity sha512-Ahs4oeG90tbdPWwAJkAAoHg2lRR8lAs9mZXETNPO9hYg3AkjUJBKi1NQ4aaIQZVGrig7c/3NUV1jANl8rFTeMg== marky@^1.2.2: version "1.2.5" - resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.5.tgz#55796b688cbd72390d2d399eaaf1832c9413e3c0" + resolved "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz" integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== match-sorter@^6.3.1: version "6.3.4" - resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.3.4.tgz#afa779d8e922c81971fbcb4781c7003ace781be7" + resolved "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz" integrity sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg== dependencies: "@babel/runtime" "^7.23.8" @@ -15061,14 +15047,14 @@ match-sorter@^6.3.1: md5-file@^3.2.3: version "3.2.3" - resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f" + resolved "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz" integrity sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw== dependencies: buffer-alloc "^1.1.0" md5@^2.2.1: version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== dependencies: charenc "0.0.2" @@ -15077,7 +15063,7 @@ md5@^2.2.1: md5@~2.2.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" + resolved "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz" integrity sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ== dependencies: charenc "~0.0.1" @@ -15086,19 +15072,19 @@ md5@~2.2.0: md5hex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/md5hex/-/md5hex-1.0.0.tgz#ed74b477a2ee9369f75efee2f08d5915e52a42e8" + resolved "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz" integrity sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ== mdast-util-definitions@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== dependencies: unist-util-visit "^2.0.0" mdast-util-definitions@^5.0.0: version "5.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz" integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== dependencies: "@types/mdast" "^3.0.0" @@ -15107,7 +15093,7 @@ mdast-util-definitions@^5.0.0: mdast-util-directive@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz#3fb1764e705bbdf0afb0d3f889e4404c3e82561f" + resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== dependencies: "@types/mdast" "^4.0.0" @@ -15121,7 +15107,7 @@ mdast-util-directive@^3.0.0: mdast-util-find-and-replace@^2.0.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz#cc2b774f7f3630da4bd592f61966fecade8b99b1" + resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz" integrity sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw== dependencies: "@types/mdast" "^3.0.0" @@ -15131,7 +15117,7 @@ mdast-util-find-and-replace@^2.0.0: mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0, mdast-util-from-markdown@^1.3.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz" integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== dependencies: "@types/mdast" "^3.0.0" @@ -15149,7 +15135,7 @@ mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0, mdast-util-fro mdast-util-from-markdown@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz" integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== dependencies: "@types/mdast" "^4.0.0" @@ -15167,7 +15153,7 @@ mdast-util-from-markdown@^2.0.0: mdast-util-gfm-autolink-literal@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz#67a13abe813d7eba350453a5333ae1bc0ec05c06" + resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz" integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA== dependencies: "@types/mdast" "^3.0.0" @@ -15177,7 +15163,7 @@ mdast-util-gfm-autolink-literal@^1.0.0: mdast-util-gfm-footnote@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz#ce5e49b639c44de68d5bf5399877a14d5020424e" + resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz" integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ== dependencies: "@types/mdast" "^3.0.0" @@ -15186,7 +15172,7 @@ mdast-util-gfm-footnote@^1.0.0: mdast-util-gfm-strikethrough@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz#5470eb105b483f7746b8805b9b989342085795b7" + resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz" integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ== dependencies: "@types/mdast" "^3.0.0" @@ -15194,7 +15180,7 @@ mdast-util-gfm-strikethrough@^1.0.0: mdast-util-gfm-table@^1.0.0: version "1.0.7" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz#3552153a146379f0f9c4c1101b071d70bbed1a46" + resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz" integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg== dependencies: "@types/mdast" "^3.0.0" @@ -15204,7 +15190,7 @@ mdast-util-gfm-table@^1.0.0: mdast-util-gfm-task-list-item@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz#b280fcf3b7be6fd0cc012bbe67a59831eb34097b" + resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz" integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ== dependencies: "@types/mdast" "^3.0.0" @@ -15212,7 +15198,7 @@ mdast-util-gfm-task-list-item@^1.0.0: mdast-util-gfm@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz#e92f4d8717d74bdba6de57ed21cc8b9552e2d0b6" + resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz" integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg== dependencies: mdast-util-from-markdown "^1.0.0" @@ -15225,7 +15211,7 @@ mdast-util-gfm@^2.0.0: mdast-util-math@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-math/-/mdast-util-math-2.0.2.tgz#19a06a81f31643f48cc805e7c31edb7ce739242c" + resolved "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-2.0.2.tgz" integrity sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ== dependencies: "@types/mdast" "^3.0.0" @@ -15234,7 +15220,7 @@ mdast-util-math@^2.0.0: mdast-util-mdx-expression@^1.0.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz#d027789e67524d541d6de543f36d51ae2586f220" + resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz" integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -15245,7 +15231,7 @@ mdast-util-mdx-expression@^1.0.0: mdast-util-mdx-expression@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz#4968b73724d320a379110d853e943a501bfd9d87" + resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz" integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== dependencies: "@types/estree-jsx" "^1.0.0" @@ -15257,7 +15243,7 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-mdx-jsx@^2.0.0: version "2.1.4" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz#7c1f07f10751a78963cfabee38017cbc8b7786d1" + resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz" integrity sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -15275,7 +15261,7 @@ mdast-util-mdx-jsx@^2.0.0: mdast-util-mdx-jsx@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz#5f7f204cf3f380cba1a8441142406eede1bc7660" + resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz" integrity sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w== dependencies: "@types/estree-jsx" "^1.0.0" @@ -15294,7 +15280,7 @@ mdast-util-mdx-jsx@^3.0.0: mdast-util-mdx@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz#49b6e70819b99bb615d7223c088d295e53bb810f" + resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz" integrity sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw== dependencies: mdast-util-from-markdown "^1.0.0" @@ -15305,7 +15291,7 @@ mdast-util-mdx@^2.0.0: mdast-util-mdxjs-esm@^1.0.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz#645d02cd607a227b49721d146fd81796b2e2d15b" + resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz" integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w== dependencies: "@types/estree-jsx" "^1.0.0" @@ -15316,7 +15302,7 @@ mdast-util-mdxjs-esm@^1.0.0: mdast-util-mdxjs-esm@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" + resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz" integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -15328,7 +15314,7 @@ mdast-util-mdxjs-esm@^2.0.0: mdast-util-phrasing@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" + resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz" integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== dependencies: "@types/mdast" "^3.0.0" @@ -15336,7 +15322,7 @@ mdast-util-phrasing@^3.0.0: mdast-util-phrasing@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" + resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== dependencies: "@types/mdast" "^4.0.0" @@ -15344,7 +15330,7 @@ mdast-util-phrasing@^4.0.0: mdast-util-to-hast@^12.1.0: version "12.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz" integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== dependencies: "@types/hast" "^2.0.0" @@ -15358,7 +15344,7 @@ mdast-util-to-hast@^12.1.0: mdast-util-to-hast@^13.0.0: version "13.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz#1ae54d903150a10fe04d59f03b2b95fd210b2124" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz" integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== dependencies: "@types/hast" "^3.0.0" @@ -15373,7 +15359,7 @@ mdast-util-to-hast@^13.0.0: mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz" integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== dependencies: "@types/mdast" "^3.0.0" @@ -15387,7 +15373,7 @@ mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: mdast-util-to-markdown@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz#9813f1d6e0cdaac7c244ec8c6dabfdb2102ea2b4" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== dependencies: "@types/mdast" "^4.0.0" @@ -15401,65 +15387,65 @@ mdast-util-to-markdown@^2.0.0: mdast-util-to-string@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz" integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== dependencies: "@types/mdast" "^3.0.0" mdast-util-to-string@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== dependencies: "@types/mdast" "^4.0.0" mdn-data@2.0.14: version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.4.1, memfs@^3.4.12: version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: fs-monkey "^1.0.4" memoize-one@^5.0.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== memoize-one@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz" integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== memoizerific@^1.11.3: version "1.11.3" - resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" + resolved "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz" integrity sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog== dependencies: map-or-similar "^1.5.0" memory-cache@~0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/memory-cache/-/memory-cache-0.2.0.tgz#7890b01d52c00c8ebc9d533e1f8eb17e3034871a" + resolved "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz" integrity sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA== meow@^10.1.2: version "10.1.5" - resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.5.tgz#be52a1d87b5f5698602b0f32875ee5940904aa7f" + resolved "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz" integrity sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw== dependencies: "@types/minimist" "^1.2.2" @@ -15477,12 +15463,12 @@ meow@^10.1.2: meow@^12.0.1: version "12.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" + resolved "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz" integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== meow@^6.0.0: version "6.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" + resolved "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz" integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== dependencies: "@types/minimist" "^1.2.0" @@ -15499,29 +15485,29 @@ meow@^6.0.0: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-options@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + resolved "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz" integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== dependencies: is-plain-obj "^2.1.0" merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== mermaid@^10.2.2: version "10.8.0" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.8.0.tgz#557123be494e216a9173bbaca3b5be5551428644" + resolved "https://registry.npmjs.org/mermaid/-/mermaid-10.8.0.tgz" integrity sha512-9CzfSreRjdDJxX796+jW4zjEq0DVw5xVF0nWsqff8OTbrt+ml0TZ5PyYUjjUZJa2NYxYJZZXewEquxGiM8qZEA== dependencies: "@braintree/sanitize-url" "^6.0.1" @@ -15546,12 +15532,12 @@ mermaid@^10.2.2: methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== metro-babel-transformer@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.80.6.tgz#49df74af71ecc9871636cf469726debcb5a1c858" + resolved "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.6.tgz" integrity sha512-ssuoVC4OzqaOt3LpwfUbDfBlFGRu9v1Yf2JJnKPz0ROYHNjSBws4aUesqQQ/Ea8DbiH7TK4j4cJmm+XjdHmgqA== dependencies: "@babel/core" "^7.20.0" @@ -15560,12 +15546,12 @@ metro-babel-transformer@0.80.6: metro-cache-key@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.80.6.tgz#48fe84477f6408478a33c363a8f5eaceea5cf853" + resolved "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.6.tgz" integrity sha512-DFmjQacC8m/S3HpELklLMWkPGP/fZPX3BSgjd0xQvwIvWyFwk8Nn/lfp/uWdEVDtDSIr64/anXU5uWohGwlWXw== metro-cache@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.80.6.tgz#05fdd83482f4132243b27713716c289532bd41c3" + resolved "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.6.tgz" integrity sha512-NP81pHSPkzs+iNlpVkJqijrpcd6lfuDAunYH9/Rn8oLNz0yLfkl8lt+xOdUU4IkFt3oVcTBEFCnzAzv4B8YhyA== dependencies: metro-core "0.80.6" @@ -15573,7 +15559,7 @@ metro-cache@0.80.6: metro-config@0.80.6, metro-config@^0.80.3: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.80.6.tgz#b404e2f24b22c9c683abcf8da3efa8c87e382ad7" + resolved "https://registry.npmjs.org/metro-config/-/metro-config-0.80.6.tgz" integrity sha512-vHYYvJpRTWYbmvqlR7i04xQpZCHJ6yfZ/xIcPdz2ssbdJGGJbiT1Aar9wr8RAhsccSxdJgfE5B1DB8Mo+DnhIg== dependencies: connect "^3.6.5" @@ -15586,7 +15572,7 @@ metro-config@0.80.6, metro-config@^0.80.3: metro-core@0.80.6, metro-core@^0.80.3, metro-core@^0.80.5: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.80.6.tgz#b13fa98417e70203d2533c5d0f5c4d541f3d9fbe" + resolved "https://registry.npmjs.org/metro-core/-/metro-core-0.80.6.tgz" integrity sha512-fn4rryTUAwzFJWj7VIPDH4CcW/q7MV4oGobqR6NsuxZoIGYrVpK7pBasumu5YbCqifuErMs5s23BhmrDNeZURw== dependencies: lodash.throttle "^4.1.1" @@ -15594,7 +15580,7 @@ metro-core@0.80.6, metro-core@^0.80.3, metro-core@^0.80.5: metro-file-map@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.80.6.tgz#9d96e54bd3bde6747b6860702a098a333599bba2" + resolved "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.6.tgz" integrity sha512-S3CUqvpXpc+q3q+hCEWvFKhVqgq0VmXdZQDF6u7ue86E2elq1XLnfLOt9JSpwyhpMQRyysjSCnd/Yh6GZMNHoQ== dependencies: anymatch "^3.0.3" @@ -15612,26 +15598,26 @@ metro-file-map@0.80.6: metro-minify-terser@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.80.6.tgz#27193867ec177c5a9b636725ff1c94c65ce701cc" + resolved "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.6.tgz" integrity sha512-83eZaH2+B+jP92KuodPqXknzwmiboKAuZY4doRfTEEXAG57pNVNN6cqSRJlwDnmaTBKRffxoncBXbYqHQgulgg== dependencies: terser "^5.15.0" metro-resolver@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.80.6.tgz#b648b8c661bc4cf091efd11affa010dd11f58bec" + resolved "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.6.tgz" integrity sha512-R7trfglG4zY4X9XyM9cvuffAhQ9W1reWoahr1jdEWa6rOI8PyM0qXjcsb8l+fsOQhdSiVlkKcYAmkyrs1S/zrA== metro-runtime@0.80.6, metro-runtime@^0.80.3: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.80.6.tgz#efd566a02e63e6f2bd08b5e2a8fe57333f1a2c4e" + resolved "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.6.tgz" integrity sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw== dependencies: "@babel/runtime" "^7.0.0" metro-source-map@0.80.6, metro-source-map@^0.80.3: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.80.6.tgz#f129a36bb5b74e3ae0d4cbbcdc62904fa0161fb1" + resolved "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.6.tgz" integrity sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg== dependencies: "@babel/traverse" "^7.20.0" @@ -15645,7 +15631,7 @@ metro-source-map@0.80.6, metro-source-map@^0.80.3: metro-symbolicate@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz#8690af051f33c98c0e8efcd779aebbfdea9fabef" + resolved "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.6.tgz" integrity sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A== dependencies: invariant "^2.2.4" @@ -15657,7 +15643,7 @@ metro-symbolicate@0.80.6: metro-transform-plugins@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.6.tgz#f9039384692fc8cd51a67d1cd7c35964e7d374e8" + resolved "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.6.tgz" integrity sha512-e04tdTC5Fy1vOQrTTXb5biao0t7nR/h+b1IaBTlM5UaHaAJZr658uVOoZhkRxKjbhF2mIwJ/8DdorD2CA15BCg== dependencies: "@babel/core" "^7.20.0" @@ -15668,7 +15654,7 @@ metro-transform-plugins@0.80.6: metro-transform-worker@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.6.tgz#fc09822ce360eaa929b14408e4af97a2fa8feba6" + resolved "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.6.tgz" integrity sha512-jV+VgCLiCj5jQadW/h09qJaqDreL6XcBRY52STCoz2xWn6WWLLMB5nXzQtvFNPmnIOps+Xu8+d5hiPcBNOhYmA== dependencies: "@babel/core" "^7.20.0" @@ -15686,7 +15672,7 @@ metro-transform-worker@0.80.6: metro@0.80.6, metro@^0.80.3, metro@^0.80.5: version "0.80.6" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.80.6.tgz#11cf77700b8be767f6663c1d6f6ed287dd686535" + resolved "https://registry.npmjs.org/metro/-/metro-0.80.6.tgz" integrity sha512-f6Nhnht9TxVRP6zdBq9J2jNdeDBxRmJFnjxhQS1GeCpokBvI6fTXq+wHTLz5jZA+75fwbkPSzBxBJzQa6xi0AQ== dependencies: "@babel/code-frame" "^7.0.0" @@ -15735,7 +15721,7 @@ metro@0.80.6, metro@^0.80.3, metro@^0.80.5: micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz" integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== dependencies: decode-named-character-reference "^1.0.0" @@ -15757,7 +15743,7 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: micromark-core-commonmark@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz" integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== dependencies: decode-named-character-reference "^1.0.0" @@ -15779,7 +15765,7 @@ micromark-core-commonmark@^2.0.0: micromark-extension-directive@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz#527869de497a6de9024138479091bc885dae076b" + resolved "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz" integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== dependencies: devlop "^1.0.0" @@ -15792,7 +15778,7 @@ micromark-extension-directive@^3.0.0: micromark-extension-gfm-autolink-literal@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz#5853f0e579bbd8ef9e39a7c0f0f27c5a063a66e7" + resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz" integrity sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg== dependencies: micromark-util-character "^1.0.0" @@ -15802,7 +15788,7 @@ micromark-extension-gfm-autolink-literal@^1.0.0: micromark-extension-gfm-footnote@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz#05e13034d68f95ca53c99679040bc88a6f92fe2e" + resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz" integrity sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q== dependencies: micromark-core-commonmark "^1.0.0" @@ -15816,7 +15802,7 @@ micromark-extension-gfm-footnote@^1.0.0: micromark-extension-gfm-strikethrough@^1.0.0: version "1.0.7" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz#c8212c9a616fa3bf47cb5c711da77f4fdc2f80af" + resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz" integrity sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw== dependencies: micromark-util-chunked "^1.0.0" @@ -15828,7 +15814,7 @@ micromark-extension-gfm-strikethrough@^1.0.0: micromark-extension-gfm-table@^1.0.0: version "1.0.7" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz#dcb46074b0c6254c3fc9cc1f6f5002c162968008" + resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz" integrity sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw== dependencies: micromark-factory-space "^1.0.0" @@ -15839,14 +15825,14 @@ micromark-extension-gfm-table@^1.0.0: micromark-extension-gfm-tagfilter@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz#aa7c4dd92dabbcb80f313ebaaa8eb3dac05f13a7" + resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz" integrity sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g== dependencies: micromark-util-types "^1.0.0" micromark-extension-gfm-task-list-item@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz#b52ce498dc4c69b6a9975abafc18f275b9dde9f4" + resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz" integrity sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ== dependencies: micromark-factory-space "^1.0.0" @@ -15857,7 +15843,7 @@ micromark-extension-gfm-task-list-item@^1.0.0: micromark-extension-gfm@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz#e517e8579949a5024a493e49204e884aa74f5acf" + resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz" integrity sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ== dependencies: micromark-extension-gfm-autolink-literal "^1.0.0" @@ -15871,7 +15857,7 @@ micromark-extension-gfm@^2.0.0: micromark-extension-math@^2.0.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-2.1.2.tgz#52c70cc8266cd20ada1ef5a479bfed9a19b789bf" + resolved "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-2.1.2.tgz" integrity sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg== dependencies: "@types/katex" "^0.16.0" @@ -15884,7 +15870,7 @@ micromark-extension-math@^2.0.0: micromark-extension-mdx-expression@^1.0.0: version "1.0.8" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz#5bc1f5fd90388e8293b3ef4f7c6f06c24aff6314" + resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz" integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw== dependencies: "@types/estree" "^1.0.0" @@ -15898,7 +15884,7 @@ micromark-extension-mdx-expression@^1.0.0: micromark-extension-mdx-jsx@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz#e72d24b7754a30d20fb797ece11e2c4e2cae9e82" + resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz" integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA== dependencies: "@types/acorn" "^4.0.0" @@ -15914,14 +15900,14 @@ micromark-extension-mdx-jsx@^1.0.0: micromark-extension-mdx-md@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz#595d4b2f692b134080dca92c12272ab5b74c6d1a" + resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz" integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA== dependencies: micromark-util-types "^1.0.0" micromark-extension-mdxjs-esm@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz#e4f8be9c14c324a80833d8d3a227419e2b25dec1" + resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz" integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w== dependencies: "@types/estree" "^1.0.0" @@ -15936,7 +15922,7 @@ micromark-extension-mdxjs-esm@^1.0.0: micromark-extension-mdxjs@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz#f78d4671678d16395efeda85170c520ee795ded8" + resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz" integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q== dependencies: acorn "^8.0.0" @@ -15950,7 +15936,7 @@ micromark-extension-mdxjs@^1.0.0: micromark-factory-destination@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz" integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== dependencies: micromark-util-character "^1.0.0" @@ -15959,7 +15945,7 @@ micromark-factory-destination@^1.0.0: micromark-factory-destination@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz" integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== dependencies: micromark-util-character "^2.0.0" @@ -15968,7 +15954,7 @@ micromark-factory-destination@^2.0.0: micromark-factory-label@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz" integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== dependencies: micromark-util-character "^1.0.0" @@ -15978,7 +15964,7 @@ micromark-factory-label@^1.0.0: micromark-factory-label@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== dependencies: devlop "^1.0.0" @@ -15988,7 +15974,7 @@ micromark-factory-label@^2.0.0: micromark-factory-mdx-expression@^1.0.0: version "1.0.9" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz#57ba4571b69a867a1530f34741011c71c73a4976" + resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz" integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA== dependencies: "@types/estree" "^1.0.0" @@ -16002,7 +15988,7 @@ micromark-factory-mdx-expression@^1.0.0: micromark-factory-space@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== dependencies: micromark-util-character "^1.0.0" @@ -16010,7 +15996,7 @@ micromark-factory-space@^1.0.0: micromark-factory-space@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz" integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== dependencies: micromark-util-character "^2.0.0" @@ -16018,7 +16004,7 @@ micromark-factory-space@^2.0.0: micromark-factory-title@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz" integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== dependencies: micromark-factory-space "^1.0.0" @@ -16028,7 +16014,7 @@ micromark-factory-title@^1.0.0: micromark-factory-title@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== dependencies: micromark-factory-space "^2.0.0" @@ -16038,7 +16024,7 @@ micromark-factory-title@^2.0.0: micromark-factory-whitespace@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz" integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== dependencies: micromark-factory-space "^1.0.0" @@ -16048,7 +16034,7 @@ micromark-factory-whitespace@^1.0.0: micromark-factory-whitespace@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== dependencies: micromark-factory-space "^2.0.0" @@ -16058,7 +16044,7 @@ micromark-factory-whitespace@^2.0.0: micromark-util-character@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz" integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== dependencies: micromark-util-symbol "^1.0.0" @@ -16066,7 +16052,7 @@ micromark-util-character@^1.0.0: micromark-util-character@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.0.tgz#31320ace16b4644316f6bf057531689c71e2aee1" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz" integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== dependencies: micromark-util-symbol "^2.0.0" @@ -16074,21 +16060,21 @@ micromark-util-character@^2.0.0: micromark-util-chunked@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz" integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== dependencies: micromark-util-symbol "^1.0.0" micromark-util-chunked@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== dependencies: micromark-util-symbol "^2.0.0" micromark-util-classify-character@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz" integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== dependencies: micromark-util-character "^1.0.0" @@ -16097,7 +16083,7 @@ micromark-util-classify-character@^1.0.0: micromark-util-classify-character@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== dependencies: micromark-util-character "^2.0.0" @@ -16106,7 +16092,7 @@ micromark-util-classify-character@^2.0.0: micromark-util-combine-extensions@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz" integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== dependencies: micromark-util-chunked "^1.0.0" @@ -16114,7 +16100,7 @@ micromark-util-combine-extensions@^1.0.0: micromark-util-combine-extensions@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== dependencies: micromark-util-chunked "^2.0.0" @@ -16122,21 +16108,21 @@ micromark-util-combine-extensions@^2.0.0: micromark-util-decode-numeric-character-reference@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz" integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== dependencies: micromark-util-symbol "^1.0.0" micromark-util-decode-numeric-character-reference@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz#2698bbb38f2a9ba6310e359f99fcb2b35a0d2bd5" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== dependencies: micromark-util-symbol "^2.0.0" micromark-util-decode-string@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz" integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== dependencies: decode-named-character-reference "^1.0.0" @@ -16146,7 +16132,7 @@ micromark-util-decode-string@^1.0.0: micromark-util-decode-string@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== dependencies: decode-named-character-reference "^1.0.0" @@ -16156,17 +16142,17 @@ micromark-util-decode-string@^2.0.0: micromark-util-encode@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz" integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== micromark-util-encode@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== micromark-util-events-to-acorn@^1.0.0: version "1.2.3" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz#a4ab157f57a380e646670e49ddee97a72b58b557" + resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz" integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w== dependencies: "@types/acorn" "^4.0.0" @@ -16180,45 +16166,45 @@ micromark-util-events-to-acorn@^1.0.0: micromark-util-html-tag-name@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz" integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== micromark-util-html-tag-name@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== micromark-util-normalize-identifier@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz" integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== dependencies: micromark-util-symbol "^1.0.0" micromark-util-normalize-identifier@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== dependencies: micromark-util-symbol "^2.0.0" micromark-util-resolve-all@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz" integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== dependencies: micromark-util-types "^1.0.0" micromark-util-resolve-all@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== dependencies: micromark-util-types "^2.0.0" micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz" integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== dependencies: micromark-util-character "^1.0.0" @@ -16227,7 +16213,7 @@ micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: micromark-util-sanitize-uri@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== dependencies: micromark-util-character "^2.0.0" @@ -16236,7 +16222,7 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-subtokenize@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz" integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== dependencies: micromark-util-chunked "^1.0.0" @@ -16246,7 +16232,7 @@ micromark-util-subtokenize@^1.0.0: micromark-util-subtokenize@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== dependencies: devlop "^1.0.0" @@ -16256,27 +16242,27 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== micromark-util-symbol@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== micromark-util-types@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== micromark@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" + resolved "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz" integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== dependencies: "@types/debug" "^4.0.0" @@ -16299,7 +16285,7 @@ micromark@^3.0.0: micromark@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249" + resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== dependencies: "@types/debug" "^4.0.0" @@ -16322,7 +16308,7 @@ micromark@^4.0.0: micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -16330,80 +16316,87 @@ micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" mime@1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + resolved "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== mime@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.0.3, mime@^2.4.1: version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-fn@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== min-indent@^1.0.0, min-indent@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-svg-data-uri@^1.2.3: version "1.4.4" - resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" + resolved "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz" integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimatch@9.0.3, minimatch@^9.0.1: version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== dependencies: brace-expansion "^2.0.1" minimatch@^5.0.1: version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0, minimist-options@^4.0.2: version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" @@ -16412,50 +16405,55 @@ minimist-options@4.1.0, minimist-options@^4.0.2: minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass-collect@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== dependencies: minipass "^3.0.0" minipass-flush@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== dependencies: minipass "^3.0.0" minipass-pipeline@^1.2.2: version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" minipass@3.3.6, minipass@^3.0.0, minipass@^3.1.1: version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" minipass@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== "minipass@^5.0.0 || ^6.0.2 || ^7.0.0": version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + minizlib@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -16463,29 +16461,29 @@ minizlib@^2.1.1: mkdirp-classic@^0.5.2: version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@~0.5.1: version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== moment@2.22.2: version "2.22.2" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" + resolved "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz" integrity sha512-LRvkBHaJGnrcWvqsElsOhHCzj8mU39wLx5pQ0pc6s153GynCTsPdGdqsVNKAQD9sKnWj11iF7TZx9fpLwdD3fw== morgan@1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" + resolved "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz" integrity sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA== dependencies: basic-auth "~2.0.0" @@ -16496,7 +16494,7 @@ morgan@1.9.1: mount-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/mount-point/-/mount-point-3.0.0.tgz#665cb9edebe80d110e658db56c31d0aef51a8f97" + resolved "https://registry.npmjs.org/mount-point/-/mount-point-3.0.0.tgz" integrity sha512-jAhfD7ZCG+dbESZjcY1SdFVFqSJkh/yGbdsifHcPkvuLRO5ugK0Ssmd9jdATu29BTd4JiN+vkpMzVvsUgP3SZA== dependencies: "@sindresorhus/df" "^1.0.1" @@ -16505,7 +16503,7 @@ mount-point@^3.0.0: move-cli@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/move-cli/-/move-cli-2.0.0.tgz#8228083707b9f3be4818821c2536efcc6cf63c93" + resolved "https://registry.npmjs.org/move-cli/-/move-cli-2.0.0.tgz" integrity sha512-/YUsTv5Gwemt9Iv2YkyVJvqphssA97I5fc2fr1Ak+Buh4pSDIPCTunx+wespnsEK3m31xVYwj8btzmdfUM90Dw== dependencies: meow "^6.0.0" @@ -16513,34 +16511,34 @@ move-cli@2.0.0: move-file@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/move-file/-/move-file-3.1.0.tgz#ea9675d54852708242462bfe60d56b3c3854cdf7" + resolved "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz" integrity sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== dependencies: path-exists "^5.0.0" mri@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@2.1.3, ms@^2.1.1: version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mv@^2.1.1, mv@~2: version "2.1.1" - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" + resolved "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz" integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== dependencies: mkdirp "~0.5.1" @@ -16549,7 +16547,7 @@ mv@^2.1.1, mv@~2: mz@^2.7.0: version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" @@ -16558,12 +16556,12 @@ mz@^2.7.0: nanoid@^3.1.23, nanoid@^3.3.6, nanoid@^3.3.7: version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== nativewind@^2.0.11: version "2.0.11" - resolved "https://registry.yarnpkg.com/nativewind/-/nativewind-2.0.11.tgz#aaa80a65b663a49856b26bd4f3153161f70299d7" + resolved "https://registry.npmjs.org/nativewind/-/nativewind-2.0.11.tgz" integrity sha512-qCEXUwKW21RYJ33KRAJl3zXq2bCq82WoI564fI21D/TiqhfmstZOqPN53RF8qK1NDK6PGl56b2xaTxgObEePEg== dependencies: "@babel/generator" "^7.18.7" @@ -16582,37 +16580,37 @@ nativewind@^2.0.11: natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== ncp@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + resolved "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.5.0, neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nested-error-stacks@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" + resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz" integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== nested-error-stacks@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz#d2cc9fc5235ddb371fc44d506234339c8e4b0a4b" + resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz" integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== next-mdx-remote@^4.2.1: version "4.4.1" - resolved "https://registry.yarnpkg.com/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz#96b16e2adc54dbcd0a7f204a9a3c3fd269d41abf" + resolved "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz" integrity sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ== dependencies: "@mdx-js/mdx" "^2.2.1" @@ -16622,22 +16620,22 @@ next-mdx-remote@^4.2.1: next-seo@^6.0.0: version "6.5.0" - resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-6.5.0.tgz#5ccfbcfaced9d296499aa88f074b9e82e252a9c8" + resolved "https://registry.npmjs.org/next-seo/-/next-seo-6.5.0.tgz" integrity sha512-MfzUeWTN/x/rsKp/1n0213eojO97lIl0unxqbeCY+6pAucViHDA8GSLRRcXpgjsSmBxfCFdfpu7LXbt4ANQoNQ== next-themes@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.1.tgz#0c9f128e847979daf6c67f70b38e6b6567856e45" + resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz" integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A== next-tick@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== next@^13.5.6: version "13.5.6" - resolved "https://registry.yarnpkg.com/next/-/next-13.5.6.tgz#e964b5853272236c37ce0dd2c68302973cf010b1" + resolved "https://registry.npmjs.org/next/-/next-13.5.6.tgz" integrity sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw== dependencies: "@next/env" "13.5.6" @@ -16660,7 +16658,7 @@ next@^13.5.6: nextra-theme-docs@^2.13.2: version "2.13.3" - resolved "https://registry.yarnpkg.com/nextra-theme-docs/-/nextra-theme-docs-2.13.3.tgz#32057ca14e4f5b821f681e43dfcdb0b5bc46bc91" + resolved "https://registry.npmjs.org/nextra-theme-docs/-/nextra-theme-docs-2.13.3.tgz" integrity sha512-B6xrnR86Gg4GzV56AomSwtmvSyAvnJz1xKOGGav1XKxkwvC8QeI17jdt/CqiKyIObJ+5bLqSFiKhaAZ5DYQP3g== dependencies: "@headlessui/react" "^1.7.17" @@ -16679,7 +16677,7 @@ nextra-theme-docs@^2.13.2: nextra@^2.13.2: version "2.13.3" - resolved "https://registry.yarnpkg.com/nextra/-/nextra-2.13.3.tgz#0b24d17fc5581a9b50eede8a195ea33b9aba4920" + resolved "https://registry.npmjs.org/nextra/-/nextra-2.13.3.tgz" integrity sha512-OBVuyQKh+oqrbVt0AosgNYnuReWuNrtJVEN7q18b/oEg2wEpuiq3UJfmIvGgOdNYc3zv3OYrzbcq7IhwtdHHEw== dependencies: "@headlessui/react" "^1.7.17" @@ -16711,12 +16709,12 @@ nextra@^2.13.2: nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== no-case@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: lower-case "^2.0.2" @@ -16724,83 +16722,83 @@ no-case@^3.0.4: nocache@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.0.0.tgz#202b48021a0c4cbde2df80de15a17443c8b43980" + resolved "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz" integrity sha512-YdKcy2x0dDwOh+8BEuHvA+mnOKAhmMQDgKBOCUGaLpewdmsRYguYZSom3yA+/OrE61O/q+NMQANnun65xpI1Hw== nocache@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + resolved "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz" integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + resolved "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz" integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== node-dir@^0.1.17: version "0.1.17" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + resolved "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== dependencies: minimatch "^3.0.2" node-fetch-native@^1.6.1: version "1.6.2" - resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.2.tgz#f439000d972eb0c8a741b65dcda412322955e1c6" + resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz" integrity sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w== node-fetch@^2.0.0, node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" node-forge@^1.2.1, node-forge@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.14: version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== node-releases@^2.0.18: version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== node-rsa@0.4.2: version "0.4.2" - resolved "https://registry.yarnpkg.com/node-rsa/-/node-rsa-0.4.2.tgz#d6391729ec16a830ed5a38042b3157d2d5d72530" + resolved "https://registry.npmjs.org/node-rsa/-/node-rsa-0.4.2.tgz" integrity sha512-Bvso6Zi9LY4otIZefYrscsUpo2mUpiAVIEmSZV2q41sP8tHZoert3Yu6zv4f/RXJqMNZQKCtnhDugIuCma23YA== dependencies: asn1 "0.2.3" node-statsd@0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/node-statsd/-/node-statsd-0.1.1.tgz#27a59348763d0af7a037ac2a031fef3f051013d3" + resolved "https://registry.npmjs.org/node-statsd/-/node-statsd-0.1.1.tgz" integrity sha512-QDf6R8VXF56QVe1boek8an/Rb3rSNaxoFWb7Elpsv2m1+Noua1yy0F1FpKpK5VluF8oymWM4w764A4KsYL4pDg== node-stream-zip@^1.9.1: version "1.15.0" - resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" + resolved "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz" integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== non-layered-tidy-tree-layout@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz#57d35d13c356643fc296a55fb11ac15e74da7804" + resolved "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz" integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== normalize-package-data@^2.5.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -16810,7 +16808,7 @@ normalize-package-data@^2.5.0: normalize-package-data@^3.0.2: version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: hosted-git-info "^4.0.1" @@ -16820,17 +16818,17 @@ normalize-package-data@^3.0.2: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== npm-package-arg@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-7.0.0.tgz#52cdf08b491c0c59df687c4c925a89102ef794a5" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz" integrity sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g== dependencies: hosted-git-info "^3.0.2" @@ -16840,40 +16838,40 @@ npm-package-arg@^7.0.0: npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" npm-run-path@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz" integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg== dependencies: path-key "^3.0.0" npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npm-run-path@^5.1.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.2.0.tgz#224cdd22c755560253dd71b83a1ef2f758b2e955" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz" integrity sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg== dependencies: path-key "^4.0.0" npm-to-yarn@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/npm-to-yarn/-/npm-to-yarn-2.1.0.tgz#ff4e18028d18eb844691f1ccb556be5f3ccfde34" + resolved "https://registry.npmjs.org/npm-to-yarn/-/npm-to-yarn-2.1.0.tgz" integrity sha512-2C1IgJLdJngq1bSER7K7CGFszRr9s2rijEwvENPEgI0eK9xlD3tNwDc0UJnRj7FIT2aydWm72jB88uVswAhXHA== npmlog@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== dependencies: are-we-there-yet "^2.0.0" @@ -16883,29 +16881,29 @@ npmlog@^5.0.1: nprogress@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" nullthrows@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== nwsapi@^2.2.2: version "2.2.12" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz" integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== nypm@^0.3.3: version "0.3.6" - resolved "https://registry.yarnpkg.com/nypm/-/nypm-0.3.6.tgz#940b558e6e56c2ed5dc43adf6dcf2c16577a80ff" + resolved "https://registry.npmjs.org/nypm/-/nypm-0.3.6.tgz" integrity sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ== dependencies: citty "^0.1.5" @@ -16915,27 +16913,27 @@ nypm@^0.3.3: ob1@0.80.6: version "0.80.6" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.6.tgz#61d7881f458333ed2a73b90cea4aa62f8ca9e045" + resolved "https://registry.npmjs.org/ob1/-/ob1-0.80.6.tgz" integrity sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg== object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-hash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== object-inspect@^1.13.1: version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== object-is@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: call-bind "^1.0.2" @@ -16943,12 +16941,12 @@ object-is@^1.1.5: object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.4: version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: call-bind "^1.0.5" @@ -16958,7 +16956,7 @@ object.assign@^4.1.4: object.entries@^1.1.6: version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== dependencies: call-bind "^1.0.2" @@ -16967,7 +16965,7 @@ object.entries@^1.1.6: object.fromentries@^2.0.6: version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== dependencies: call-bind "^1.0.2" @@ -16976,7 +16974,7 @@ object.fromentries@^2.0.6: object.getownpropertydescriptors@^2.0.3: version "2.1.7" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz" integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== dependencies: array.prototype.reduce "^1.0.6" @@ -16987,7 +16985,7 @@ object.getownpropertydescriptors@^2.0.3: object.hasown@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz" integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== dependencies: define-properties "^1.2.0" @@ -16995,7 +16993,7 @@ object.hasown@^1.1.2: object.values@^1.1.6: version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== dependencies: call-bind "^1.0.2" @@ -17004,71 +17002,71 @@ object.values@^1.1.6: objectorarray@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.5.tgz#2c05248bbefabd8f43ad13b41085951aac5e68a5" + resolved "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz" integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg== ohash@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07" + resolved "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz" integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw== on-finished@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" on-finished@~2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== dependencies: ee-first "1.1.1" on-headers@~1.0.1, on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== dependencies: mimic-fn "^1.0.0" onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" onetime@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: mimic-fn "^4.0.0" open@^6.2.0: version "6.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz" integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== dependencies: is-wsl "^1.1.0" open@^7.0.3: version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" @@ -17076,7 +17074,7 @@ open@^7.0.3: open@^8.0.4, open@^8.3.0, open@^8.4.0: version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" @@ -17085,7 +17083,7 @@ open@^8.0.4, open@^8.3.0, open@^8.4.0: optionator@^0.9.3: version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: "@aashutoshrathi/word-wrap" "^1.2.3" @@ -17097,7 +17095,7 @@ optionator@^0.9.3: ora@3.4.0, ora@^3.4.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + resolved "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz" integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== dependencies: chalk "^2.4.2" @@ -17109,7 +17107,7 @@ ora@3.4.0, ora@^3.4.0: ora@^5.4.1: version "5.4.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== dependencies: bl "^4.1.0" @@ -17124,17 +17122,17 @@ ora@^5.4.1: os-homedir@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== osenv@^0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: os-homedir "^1.0.0" @@ -17142,129 +17140,134 @@ osenv@^0.1.5: overlayscrollbars-react@^0.5.6: version "0.5.6" - resolved "https://registry.yarnpkg.com/overlayscrollbars-react/-/overlayscrollbars-react-0.5.6.tgz#e9779f9fc2c1a3288570a45c83f8e42518bfb8c1" + resolved "https://registry.npmjs.org/overlayscrollbars-react/-/overlayscrollbars-react-0.5.6.tgz" integrity sha512-E5To04bL5brn9GVCZ36SnfGanxa2I2MDkWoa4Cjo5wol7l+diAgi4DBc983V7l2nOk/OLJ6Feg4kySspQEGDBw== overlayscrollbars@^2.10.0: version "2.10.0" - resolved "https://registry.yarnpkg.com/overlayscrollbars/-/overlayscrollbars-2.10.0.tgz#a3348a6f5d9f16ae03638cebe99db4ff054b68a1" + resolved "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-2.10.0.tgz" integrity sha512-diNMeEafWTE0A4GJfwRpdBp2rE/BEvrhptBdBcDu8/UeytWcdCy9Td8tZWnztJeJ26f8/uHCWfPnPUC/dtgJdw== p-event@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-5.0.1.tgz#614624ec02ae7f4f13d09a721c90586184af5b0c" + resolved "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz" integrity sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== dependencies: p-timeout "^5.0.2" p-filter@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-3.0.0.tgz#ce50e03b24b23930e11679ab8694bd09a2d7ed35" + resolved "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz" integrity sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== dependencies: p-map "^5.1.0" p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-finally@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz" integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-limit@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== dependencies: yocto-queue "^1.0.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-locate@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== dependencies: p-limit "^4.0.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-map@^5.1.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-5.5.0.tgz#054ca8ca778dfa4cf3f8db6638ccb5b937266715" + resolved "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz" integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== dependencies: aggregate-error "^4.0.0" p-map@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-6.0.0.tgz#4d9c40d3171632f86c47601b709f4b4acd70fed4" + resolved "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz" integrity sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw== p-timeout@^5.0.2: version "5.1.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-5.1.0.tgz#b3c691cf4415138ce2d9cfe071dba11f0fee085b" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz" integrity sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + pako@~0.2.0: version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + resolved "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== pako@~1.0.2: version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== param-case@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" @@ -17272,14 +17275,14 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-entities@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== dependencies: "@types/unist" "^2.0.0" @@ -17293,7 +17296,7 @@ parse-entities@^4.0.0: parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" @@ -17301,7 +17304,7 @@ parse-json@^4.0.0: parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -17311,50 +17314,50 @@ parse-json@^5.0.0, parse-json@^5.2.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" + resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== parse-path@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" + resolved "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz" integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== dependencies: protocols "^2.0.0" parse-png@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-2.1.0.tgz#2a42ad719fedf90f81c59ebee7ae59b280d6b338" + resolved "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz" integrity sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ== dependencies: pngjs "^3.3.0" parse-url@^8.1.0: version "8.1.0" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" + resolved "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz" integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== dependencies: parse-path "^7.0.0" parse5@^7.0.0, parse5@^7.1.1: version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== partof@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/partof/-/partof-1.0.0.tgz#d9d7946a14a7d9d9738a59e7c88f478ec5c964ca" + resolved "https://registry.npmjs.org/partof/-/partof-1.0.0.tgz" integrity sha512-+TXdhKCySpJDynCxgAPoGVyAkiK3QPusQ63/BdU5t68QcYzyU6zkP/T7F3gkMQBVUYqdWEADKa6Kx5zg8QIKrg== pascal-case@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: no-case "^3.0.4" @@ -17362,7 +17365,7 @@ pascal-case@^3.1.2: password-prompt@^1.0.4: version "1.1.3" - resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.3.tgz#05e539f4e7ca4d6c865d479313f10eb9db63ee5f" + resolved "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz" integrity sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== dependencies: ansi-escapes "^4.3.2" @@ -17370,87 +17373,87 @@ password-prompt@^1.0.4: path-browserify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-exists@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-key@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-parse@^1.0.5, path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== +path-scurry@^1.10.1, path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: - lru-cache "^9.1.1 || ^10.0.0" + lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-type@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== path-webpack@0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/path-webpack/-/path-webpack-0.0.3.tgz#ff6dec749eec5a94605c04d5f63fc55607a03a16" + resolved "https://registry.npmjs.org/path-webpack/-/path-webpack-0.0.3.tgz" integrity sha512-AmeDxedoo5svf7aB3FYqSAKqMxys014lVKBzy1o/5vv9CtU7U4wgGWL1dA2o6MOzcD53ScN4Jmiq6VbtLz1vIQ== pathe@^1.1.1, pathe@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== peek-stream@^1.1.0: version "1.1.3" - resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67" + resolved "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz" integrity sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA== dependencies: buffer-from "^1.0.0" @@ -17459,17 +17462,17 @@ peek-stream@^1.1.0: pend@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== periscopic@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" + resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== dependencies: "@types/estree" "^1.0.0" @@ -17478,97 +17481,97 @@ periscopic@^3.0.0: picocolors@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picocolors@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== picomatch@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz" integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== pidtree@0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== pify@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== pkg-dir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pkg-dir@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz" integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== dependencies: find-up "^5.0.0" pkg-dir@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz" integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== dependencies: find-up "^6.3.0" plist@^3.0.5: version "3.1.0" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" + resolved "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz" integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== dependencies: "@xmldom/xmldom" "^0.8.8" @@ -17577,24 +17580,24 @@ plist@^3.0.5: pluralize@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== pngjs@^3.3.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + resolved "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz" integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== polished@^4.2.2: version "4.3.1" - resolved "https://registry.yarnpkg.com/polished/-/polished-4.3.1.tgz#5a00ae32715609f83d89f6f31d0f0261c6170548" + resolved "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz" integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA== dependencies: "@babel/runtime" "^7.17.8" postcss-calc@^8.2.4: version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== dependencies: postcss-selector-parser "^6.0.9" @@ -17602,14 +17605,14 @@ postcss-calc@^8.2.4: postcss-color-functional-notation@^4.2.2: version "4.2.4" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" + resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz" integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== dependencies: postcss-value-parser "^4.2.0" postcss-css-variables@^0.18.0: version "0.18.0" - resolved "https://registry.yarnpkg.com/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz#d97b6da19e86245eb817006e11117382f997bb93" + resolved "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz" integrity sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q== dependencies: balanced-match "^1.0.0" @@ -17618,7 +17621,7 @@ postcss-css-variables@^0.18.0: postcss-import@^15.1.0: version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" @@ -17627,14 +17630,14 @@ postcss-import@^15.1.0: postcss-js@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" postcss-load-config@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: lilconfig "^3.0.0" @@ -17642,7 +17645,7 @@ postcss-load-config@^4.0.1: postcss-loader@^4.2.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz" integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q== dependencies: cosmiconfig "^7.0.0" @@ -17653,7 +17656,7 @@ postcss-loader@^4.2.0: postcss-loader@^7.3.4: version "7.3.4" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz" integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== dependencies: cosmiconfig "^8.3.5" @@ -17662,24 +17665,24 @@ postcss-loader@^7.3.4: postcss-modules-extract-imports@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz" integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: postcss "^7.0.5" postcss-modules-extract-imports@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== postcss-modules-extract-imports@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz" integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== postcss-modules-local-by-default@^3.0.2: version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz" integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" @@ -17689,7 +17692,7 @@ postcss-modules-local-by-default@^3.0.2: postcss-modules-local-by-default@^4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz" integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== dependencies: icss-utils "^5.0.0" @@ -17698,7 +17701,7 @@ postcss-modules-local-by-default@^4.0.4: postcss-modules-local-by-default@^4.0.5: version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz" integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== dependencies: icss-utils "^5.0.0" @@ -17707,7 +17710,7 @@ postcss-modules-local-by-default@^4.0.5: postcss-modules-scope@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz" integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== dependencies: postcss "^7.0.6" @@ -17715,21 +17718,21 @@ postcss-modules-scope@^2.2.0: postcss-modules-scope@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz" integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== dependencies: postcss-selector-parser "^6.0.4" postcss-modules-scope@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz" integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== dependencies: postcss-selector-parser "^6.0.4" postcss-modules-values@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz" integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== dependencies: icss-utils "^4.0.0" @@ -17737,28 +17740,28 @@ postcss-modules-values@^3.0.0: postcss-modules-values@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: icss-utils "^5.0.0" postcss-nested@^5.0.6: version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz" integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== dependencies: postcss-selector-parser "^6.0.6" postcss-nested@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: postcss-selector-parser "^6.0.11" postcss-selector-parser@6.0.10: version "6.0.10" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== dependencies: cssesc "^3.0.0" @@ -17766,7 +17769,7 @@ postcss-selector-parser@6.0.10: postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: version "6.0.15" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== dependencies: cssesc "^3.0.0" @@ -17774,12 +17777,12 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.11, postcss-selecto postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@8.4.31: version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: nanoid "^3.3.6" @@ -17788,7 +17791,7 @@ postcss@8.4.31: postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: picocolors "^0.2.1" @@ -17796,7 +17799,7 @@ postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0. postcss@^8.4.12, postcss@^8.4.23, postcss@^8.4.27, postcss@^8.4.31, postcss@^8.4.33, postcss@~8.4.32: version "8.4.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== dependencies: nanoid "^3.3.7" @@ -17805,7 +17808,7 @@ postcss@^8.4.12, postcss@^8.4.23, postcss@^8.4.27, postcss@^8.4.31, postcss@^8.4 postcss@^8.4.38: version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: nanoid "^3.3.7" @@ -17814,12 +17817,12 @@ postcss@^8.4.38: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier-eslint@^16.1.1: version "16.3.0" - resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-16.3.0.tgz#8f7bbc863f35939948e386eafe72ffd653b2d80b" + resolved "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.3.0.tgz" integrity sha512-Lh102TIFCr11PJKUMQ2kwNmxGhTsv/KzUg9QYF2Gkw259g/kPgndZDWavk7/ycbRvj2oz4BPZ1gCU8bhfZH/Xg== dependencies: "@typescript-eslint/parser" "^6.7.5" @@ -17837,34 +17840,34 @@ prettier-eslint@^16.1.1: prettier-linter-helpers@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" prettier-plugin-tailwindcss@^0.5.6: version "0.5.11" - resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.11.tgz#1aa9308c3285b3cb7942aaeaec8d0e0775ac54d0" + resolved "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.11.tgz" integrity sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w== prettier@^2.8.0: version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== prettier@^3.0.1, prettier@^3.0.3, prettier@^3.2.5: version "3.2.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== pretty-bytes@5.6.0: version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== pretty-error@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" @@ -17872,7 +17875,7 @@ pretty-error@^4.0.0: pretty-format@^26.5.2, pretty-format@^26.6.2: version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== dependencies: "@jest/types" "^26.6.2" @@ -17882,7 +17885,7 @@ pretty-format@^26.5.2, pretty-format@^26.6.2: pretty-format@^27.0.2: version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== dependencies: ansi-regex "^5.0.1" @@ -17891,7 +17894,7 @@ pretty-format@^27.0.2: pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: "@jest/schemas" "^29.6.3" @@ -17900,53 +17903,53 @@ pretty-format@^29.0.0, pretty-format@^29.7.0: pretty-hrtime@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process@^0.11.10: version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== processenv@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/processenv/-/processenv-1.1.0.tgz#3867422468954f1af82ce7bfb944c8adadd5cdf7" + resolved "https://registry.npmjs.org/processenv/-/processenv-1.1.0.tgz" integrity sha512-SymqIsn8GjEUy8nG7HiyEjgbfk1xFosRIakUX1NHLpriq3vVpKniGrr9RdMWCaGYWByIovbRt2f/WvmP/IOApQ== dependencies: babel-runtime "6.26.0" progress@2.0.3, progress@^2.0.1: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== promise-inflight@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise@^7.1.1: version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" promise@^8.3.0: version "8.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== dependencies: asap "~2.0.6" prompts@^2.0.1, prompts@^2.3.2, prompts@^2.4.0, prompts@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -17954,7 +17957,7 @@ prompts@^2.0.1, prompts@^2.3.2, prompts@^2.4.0, prompts@^2.4.2: prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -17963,17 +17966,17 @@ prop-types@^15.7.2, prop-types@^15.8.1: property-information@^6.0.0: version "6.4.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.1.tgz#de8b79a7415fd2107dfbe65758bb2cc9dfcf60ac" + resolved "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz" integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== protocols@^2.0.0, protocols@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" + resolved "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz" integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== proxy-addr@~2.0.4, proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" @@ -17981,22 +17984,22 @@ proxy-addr@~2.0.4, proxy-addr@~2.0.7: proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.33: version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== dependencies: end-of-stream "^1.1.0" @@ -18004,7 +18007,7 @@ pump@^2.0.0: pump@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" @@ -18012,7 +18015,7 @@ pump@^3.0.0: pumpify@^1.3.3: version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== dependencies: duplexify "^3.6.0" @@ -18021,17 +18024,17 @@ pumpify@^1.3.3: punycode@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== puppeteer-core@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-2.1.1.tgz#e9b3fbc1237b4f66e25999832229e9db3e0b90ed" + resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz" integrity sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w== dependencies: "@types/mime-types" "^2.1.0" @@ -18047,43 +18050,43 @@ puppeteer-core@^2.1.1: pure-rand@^6.0.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== qrcode-terminal@0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz#ffc6c28a2fc0bfb47052b47e23f4f446a5fbdb9e" + resolved "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz" integrity sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ== qs@6.11.0: version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: side-channel "^1.0.4" qs@6.5.2: version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== qs@^6.10.0, qs@^6.11.2: version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz" integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== dependencies: side-channel "^1.0.4" qs@^6.12.1: version "6.12.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" + resolved "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz" integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== dependencies: side-channel "^1.0.6" query-string@^7.1.3: version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== dependencies: decode-uri-component "^0.2.2" @@ -18093,58 +18096,58 @@ query-string@^7.1.3: querystringify@^2.1.1: version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== queue@6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== dependencies: inherits "~2.0.3" quick-lru@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== quick-lru@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== raf@^3.4.1: version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== dependencies: performance-now "^2.1.0" ramda@0.29.0: version "0.29.0" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.29.0.tgz#fbbb67a740a754c8a4cbb41e2a6e0eb8507f55fb" + resolved "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz" integrity sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" range-parser@^1.2.1, range-parser@~1.2.0, range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz" integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== dependencies: bytes "3.0.0" @@ -18154,7 +18157,7 @@ raw-body@2.3.3: raw-body@2.5.1: version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" @@ -18164,7 +18167,7 @@ raw-body@2.5.1: rc@~1.2.7: version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -18174,24 +18177,24 @@ rc@~1.2.7: react-colorful@^5.1.2: version "5.6.1" - resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" + resolved "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz" integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== react-confetti@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/react-confetti/-/react-confetti-6.1.0.tgz#03dc4340d955acd10b174dbf301f374a06e29ce6" + resolved "https://registry.npmjs.org/react-confetti/-/react-confetti-6.1.0.tgz" integrity sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw== dependencies: tween-functions "^1.2.0" react-day-picker@^8.10.0: version "8.10.0" - resolved "https://registry.yarnpkg.com/react-day-picker/-/react-day-picker-8.10.0.tgz#729c5b9564967a924213978fb9c0751884a60595" + resolved "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.0.tgz" integrity sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg== react-devtools-core@^4.27.7: version "4.28.5" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.5.tgz#c8442b91f068cdf0c899c543907f7f27d79c2508" + resolved "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.5.tgz" integrity sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== dependencies: shell-quote "^1.6.1" @@ -18199,12 +18202,12 @@ react-devtools-core@^4.27.7: react-docgen-typescript@^2.2.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz#4611055e569edc071204aadb20e1c93e1ab1659c" + resolved "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz" integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg== react-docgen@^7.0.0: version "7.0.3" - resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-7.0.3.tgz#f811b785f07b1f2023cb899b6bcf9d522b21b95d" + resolved "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.3.tgz" integrity sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ== dependencies: "@babel/core" "^7.18.9" @@ -18220,7 +18223,7 @@ react-docgen@^7.0.0: react-dom@18.2.0, react-dom@^18.2.0: version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: loose-envify "^1.1.0" @@ -18228,7 +18231,7 @@ react-dom@18.2.0, react-dom@^18.2.0: react-dropzone@^14.2.3: version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz" integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== dependencies: attr-accept "^2.2.2" @@ -18237,7 +18240,7 @@ react-dropzone@^14.2.3: react-element-to-jsx-string@^15.0.0: version "15.0.0" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz#1cafd5b6ad41946ffc8755e254da3fc752a01ac6" + resolved "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz" integrity sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ== dependencies: "@base2/pretty-print-object" "1.0.1" @@ -18246,24 +18249,24 @@ react-element-to-jsx-string@^15.0.0: react-error-boundary@^4.0.13: version "4.0.13" - resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz#80386b7b27b1131c5fbb7368b8c0d983354c7947" + resolved "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.13.tgz" integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ== dependencies: "@babel/runtime" "^7.12.5" react-fast-compare@^3.1.1: version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== react-freeze@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.3.tgz#5e3ca90e682fed1d73a7cb50c2c7402b3e85618d" + resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz" integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g== react-helmet@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.1.0.tgz#a750d5165cb13cf213e44747502652e794468726" + resolved "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz" integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw== dependencies: object-assign "^4.1.1" @@ -18273,24 +18276,24 @@ react-helmet@^6.1.0: react-hook-form@^7.53.0: version "7.53.0" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.53.0.tgz#3cf70951bf41fa95207b34486203ebefbd3a05ab" + resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.53.0.tgz" integrity sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ== react-hot-toast@^2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/react-hot-toast/-/react-hot-toast-2.4.1.tgz#df04295eda8a7b12c4f968e54a61c8d36f4c0994" + resolved "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz" integrity sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ== dependencies: goober "^2.1.10" react-hotkeys-hook@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/react-hotkeys-hook/-/react-hotkeys-hook-4.5.0.tgz#807b389b15256daf6a813a1ec09e6698064fe97f" + resolved "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.5.0.tgz" integrity sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug== react-i18next@^14.1.0: version "14.1.0" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.1.0.tgz#44da74fbffd416f5d0c5307ef31735cf10cc91d9" + resolved "https://registry.npmjs.org/react-i18next/-/react-i18next-14.1.0.tgz" integrity sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ== dependencies: "@babel/runtime" "^7.23.9" @@ -18298,27 +18301,27 @@ react-i18next@^14.1.0: react-is@18.1.0: version "18.1.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz" integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.1.0: version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^17.0.1: version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-markdown@^9.0.1: version "9.0.1" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-9.0.1.tgz#c05ddbff67fd3b3f839f8c648e6fb35d022397d1" + resolved "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz" integrity sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg== dependencies: "@types/hast" "^3.0.0" @@ -18334,7 +18337,7 @@ react-markdown@^9.0.1: react-native-fs@^2.20.0: version "2.20.0" - resolved "https://registry.yarnpkg.com/react-native-fs/-/react-native-fs-2.20.0.tgz#05a9362b473bfc0910772c0acbb73a78dbc810f6" + resolved "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.20.0.tgz" integrity sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ== dependencies: base-64 "^0.1.0" @@ -18342,7 +18345,7 @@ react-native-fs@^2.20.0: react-native-gesture-handler@~2.14.0: version "2.14.1" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz#930640231024b7921435ab476aa501dd4a6b2e01" + resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz" integrity sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA== dependencies: "@egjs/hammerjs" "^2.0.17" @@ -18353,7 +18356,7 @@ react-native-gesture-handler@~2.14.0: react-native-reanimated@~3.6.2: version "3.6.2" - resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.6.2.tgz#8a48c37251cbd3b665a659444fa9778f5b510356" + resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.6.2.tgz" integrity sha512-IIMREMOrxhtK35drfpzh2UhxNqAOHnuvGgtMofj7yHcMj16tmWZR2zFvMUf6z2MfmXv+aVgFQ6TRZ6yKYf7LNA== dependencies: "@babel/plugin-transform-object-assign" "^7.16.7" @@ -18363,12 +18366,12 @@ react-native-reanimated@~3.6.2: react-native-safe-area-context@4.8.2: version "4.8.2" - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.8.2.tgz#e6b3d8acf3c6afcb4b5db03a97f9c37df7668f65" + resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.2.tgz" integrity sha512-ffUOv8BJQ6RqO3nLml5gxJ6ab3EestPiyWekxdzO/1MQ7NF8fW1Mzh1C5QE9yq573Xefnc7FuzGXjtesZGv7cQ== react-native-screens@~3.29.0: version "3.29.0" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.29.0.tgz#1dee0326defbc1d4ef4e68287abb32a8e6b76b29" + resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz" integrity sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg== dependencies: react-freeze "^1.0.0" @@ -18376,7 +18379,7 @@ react-native-screens@~3.29.0: react-native-svg@14.1.0: version "14.1.0" - resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-14.1.0.tgz#7903bddd3c71bf3a8a503918253c839e6edaa724" + resolved "https://registry.npmjs.org/react-native-svg/-/react-native-svg-14.1.0.tgz" integrity sha512-HeseElmEk+AXGwFZl3h56s0LtYD9HyGdrpg8yd9QM26X+d7kjETrRQ9vCjtxuT5dCZEIQ5uggU1dQhzasnsCWA== dependencies: css-select "^5.1.0" @@ -18384,14 +18387,14 @@ react-native-svg@14.1.0: react-native-url-polyfill@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz#c1763de0f2a8c22cc3e959b654c8790622b6ef6a" + resolved "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz" integrity sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ== dependencies: whatwg-url-without-unicode "8.0.0-3" react-native-web@~0.19.10: version "0.19.10" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.19.10.tgz#5f7205f8909c0889bc89c9fde7c6e287defa7c63" + resolved "https://registry.npmjs.org/react-native-web/-/react-native-web-0.19.10.tgz" integrity sha512-IQoHiTQq8egBCVVwmTrYcFLgEFyb4LMZYEktHn4k22JMk9+QTCEz5WTfvr+jdNoeqj/7rtE81xgowKbfGO74qg== dependencies: "@babel/runtime" "^7.18.6" @@ -18405,7 +18408,7 @@ react-native-web@~0.19.10: react-native-webview@13.6.4: version "13.6.4" - resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-13.6.4.tgz#6ef66db9dd78b2a2ae1b4fe79e1e3597aa29186e" + resolved "https://registry.npmjs.org/react-native-webview/-/react-native-webview-13.6.4.tgz" integrity sha512-AdgmaMBHPcyERTvng9eSGgHX6AleyUlSusWAxngSOSdiYGgHW81T6C5A8j/ImJAF9oZg0bQDxp43Hu56tzENZQ== dependencies: escape-string-regexp "2.0.0" @@ -18413,7 +18416,7 @@ react-native-webview@13.6.4: react-native@0.73.4: version "0.73.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.73.4.tgz#81e07d4e7b6308c4649d5fa24038c0e87b17f2e1" + resolved "https://registry.npmjs.org/react-native/-/react-native-0.73.4.tgz" integrity sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg== dependencies: "@jest/create-cache-key-function" "^29.6.3" @@ -18457,12 +18460,12 @@ react-native@0.73.4: react-refresh@0.14.0, react-refresh@^0.14.0: version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== react-remove-scroll-bar@^2.3.3: version "2.3.4" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" + resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz" integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== dependencies: react-style-singleton "^2.2.1" @@ -18470,7 +18473,7 @@ react-remove-scroll-bar@^2.3.3: react-remove-scroll-bar@^2.3.4: version "2.3.6" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" + resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz" integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== dependencies: react-style-singleton "^2.2.1" @@ -18478,7 +18481,7 @@ react-remove-scroll-bar@^2.3.4: react-remove-scroll@2.5.4: version "2.5.4" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz#afe6491acabde26f628f844b67647645488d2ea0" + resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz" integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== dependencies: react-remove-scroll-bar "^2.3.3" @@ -18489,7 +18492,7 @@ react-remove-scroll@2.5.4: react-remove-scroll@2.5.5: version "2.5.5" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" + resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz" integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== dependencies: react-remove-scroll-bar "^2.3.3" @@ -18500,7 +18503,7 @@ react-remove-scroll@2.5.5: react-remove-scroll@2.5.7: version "2.5.7" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz#15a1fd038e8497f65a695bf26a4a57970cac1ccb" + resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz" integrity sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA== dependencies: react-remove-scroll-bar "^2.3.4" @@ -18511,7 +18514,7 @@ react-remove-scroll@2.5.7: react-router-dom@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.23.0.tgz#8b80ad92ad28f4dc38972e92d84b4c208150545a" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz" integrity sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ== dependencies: "@remix-run/router" "1.16.0" @@ -18519,19 +18522,19 @@ react-router-dom@^6.23.0: react-router@6.23.0, react-router@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.23.0.tgz#2f2d7492c66a6bdf760be4c6bdf9e1d672fa154b" + resolved "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz" integrity sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA== dependencies: "@remix-run/router" "1.16.0" react-scrollbar-size@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/react-scrollbar-size/-/react-scrollbar-size-5.0.0.tgz#29892779dfcb9077ce18e2483d1dba6400c58fb0" + resolved "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-5.0.0.tgz" integrity sha512-Ly3OuRMz4yDFViTh+ANH6TrG8EqrgjC1uxxm2a/95+2Ijy3XT+bWtzm4QmgZUcUVg+8BCKzmPMM7z39ZtucDIQ== react-shallow-renderer@^16.15.0: version "16.15.0" - resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" + resolved "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz" integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== dependencies: object-assign "^4.1.1" @@ -18539,12 +18542,12 @@ react-shallow-renderer@^16.15.0: react-side-effect@^2.1.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.2.tgz#dc6345b9e8f9906dc2eeb68700b615e0b4fe752a" + resolved "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz" integrity sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw== react-style-singleton@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + resolved "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz" integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== dependencies: get-nonce "^1.0.0" @@ -18553,41 +18556,41 @@ react-style-singleton@^2.2.1: react-swipeable@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/react-swipeable/-/react-swipeable-7.0.1.tgz#cd299f5986c5e4a7ee979839658c228f660e1e0c" + resolved "https://registry.npmjs.org/react-swipeable/-/react-swipeable-7.0.1.tgz" integrity sha512-RKB17JdQzvECfnVj9yDZsiYn3vH0eyva/ZbrCZXZR0qp66PBRhtg4F9yJcJTWYT5Adadi+x4NoG53BxKHwIYLQ== react-use-websocket@^4.8.1: version "4.8.1" - resolved "https://registry.yarnpkg.com/react-use-websocket/-/react-use-websocket-4.8.1.tgz#be06a0bc956c6d56391a29cbe2caa6ae8edb5615" + resolved "https://registry.npmjs.org/react-use-websocket/-/react-use-websocket-4.8.1.tgz" integrity sha512-FTXuG5O+LFozmu1BRfrzl7UIQngECvGJmL7BHsK4TYXuVt+mCizVA8lT0hGSIF0Z0TedF7bOo1nRzOUdginhDw== react-virtualized-auto-sizer@^1.0.24: version "1.0.24" - resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.24.tgz#3ebdc92f4b05ad65693b3cc8e7d8dd54924c0227" + resolved "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.24.tgz" integrity sha512-3kCn7N9NEb3FlvJrSHWGQ4iVl+ydQObq2fHMn12i5wbtm74zHOPhz/i64OL3c1S1vi9i2GXtZqNqUJTQ+BnNfg== react-virtuoso@^4.10.3: version "4.10.3" - resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-4.10.3.tgz#83c16add3c9f3d9bb505d57336fdd4e60be1f77f" + resolved "https://registry.npmjs.org/react-virtuoso/-/react-virtuoso-4.10.3.tgz" integrity sha512-9XK9wLAv8aatT1zA+VuDM548NnYd3nwg73/M46ctgZGB7HEc8v0uLTceYhkYx4TC8pXWzpzChSq9ATf4AQ3AAw== react@18.2.0, react@^18.2.0: version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: loose-envify "^1.1.0" read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" @@ -18596,7 +18599,7 @@ read-pkg-up@^7.0.1: read-pkg-up@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz" integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== dependencies: find-up "^5.0.0" @@ -18605,7 +18608,7 @@ read-pkg-up@^8.0.0: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -18615,7 +18618,7 @@ read-pkg@^5.2.0: read-pkg@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz" integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== dependencies: "@types/normalize-package-data" "^2.4.0" @@ -18625,7 +18628,7 @@ read-pkg@^6.0.0: "readable-stream@1.x >=1.1.9": version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== dependencies: core-util-is "~1.0.0" @@ -18635,7 +18638,7 @@ read-pkg@^6.0.0: readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -18648,7 +18651,7 @@ readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@~2.3.6: readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" @@ -18657,24 +18660,24 @@ readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" reading-time@^1.3.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== readline@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" + resolved "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz" integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== recast@^0.21.0: version "0.21.5" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495" + resolved "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz" integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg== dependencies: ast-types "0.15.2" @@ -18684,7 +18687,7 @@ recast@^0.21.0: recast@^0.23.1, recast@^0.23.3: version "0.23.4" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.4.tgz#ca1bac7bfd3011ea5a28dfecb5df678559fb1ddf" + resolved "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz" integrity sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw== dependencies: assert "^2.0.0" @@ -18695,7 +18698,7 @@ recast@^0.23.1, recast@^0.23.3: redent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -18703,7 +18706,7 @@ redent@^3.0.0: redent@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-4.0.0.tgz#0c0ba7caabb24257ab3bb7a4fd95dd1d5c5681f9" + resolved "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz" integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag== dependencies: indent-string "^5.0.0" @@ -18711,7 +18714,7 @@ redent@^4.0.0: reflect.getprototypeof@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz#e0bd28b597518f16edaf9c0e292c631eb13e0674" + resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz" integrity sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ== dependencies: call-bind "^1.0.5" @@ -18724,46 +18727,46 @@ reflect.getprototypeof@^1.0.4: regenerate-unicode-properties@^10.1.0: version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.11.0: version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.12.0: version "0.12.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz" integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regenerator-runtime@^0.13.2: version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regenerator-runtime@^0.14.0: version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regenerator-transform@^0.15.2: version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: call-bind "^1.0.2" @@ -18772,7 +18775,7 @@ regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: regexpu-core@^5.3.1: version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== dependencies: "@babel/regjsgen" "^0.8.0" @@ -18784,14 +18787,14 @@ regexpu-core@^5.3.1: regjsparser@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" rehype-katex@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/rehype-katex/-/rehype-katex-7.0.0.tgz#f5e9e2825981175a7b0a4d58ed9816c33576dfed" + resolved "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.0.tgz" integrity sha512-h8FPkGE00r2XKU+/acgqwWUlyzve1IiOKwsEkg4pDL3k48PiE0Pt+/uLtVHDVkN1yA4iurZN6UES8ivHVEQV6Q== dependencies: "@types/hast" "^3.0.0" @@ -18804,7 +18807,7 @@ rehype-katex@^7.0.0: rehype-pretty-code@0.9.11: version "0.9.11" - resolved "https://registry.yarnpkg.com/rehype-pretty-code/-/rehype-pretty-code-0.9.11.tgz#742017cbcfd5bd85466dfedd65b33a954aff7f2a" + resolved "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.11.tgz" integrity sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA== dependencies: "@types/hast" "^2.0.0" @@ -18813,7 +18816,7 @@ rehype-pretty-code@0.9.11: rehype-raw@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" + resolved "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz" integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== dependencies: "@types/hast" "^3.0.0" @@ -18822,12 +18825,12 @@ rehype-raw@^7.0.0: relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-directive-rehype@^0.4.2: version "0.4.2" - resolved "https://registry.yarnpkg.com/remark-directive-rehype/-/remark-directive-rehype-0.4.2.tgz#044040455523a3281a7be7fdde304714d29021b5" + resolved "https://registry.npmjs.org/remark-directive-rehype/-/remark-directive-rehype-0.4.2.tgz" integrity sha512-T6e+IG+BwqU4++MK54vFb+KDFjs3a+tHeK6E0T0ctR1FSyngolfDtAEzqxHWlRzQZqGi2sB4DFXry6oqH87D/g== dependencies: hastscript "^7.0.2" @@ -18835,7 +18838,7 @@ remark-directive-rehype@^0.4.2: remark-directive@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.0.tgz#34452d951b37e6207d2e2a4f830dc33442923268" + resolved "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz" integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== dependencies: "@types/mdast" "^4.0.0" @@ -18845,7 +18848,7 @@ remark-directive@^3.0.0: remark-external-links@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-8.0.0.tgz#308de69482958b5d1cd3692bc9b725ce0240f345" + resolved "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz" integrity sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA== dependencies: extend "^3.0.0" @@ -18856,7 +18859,7 @@ remark-external-links@^8.0.0: remark-gfm@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== dependencies: "@types/mdast" "^3.0.0" @@ -18866,7 +18869,7 @@ remark-gfm@^3.0.1: remark-math@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-5.1.1.tgz#459e798d978d4ca032e745af0bac81ddcdf94964" + resolved "https://registry.npmjs.org/remark-math/-/remark-math-5.1.1.tgz" integrity sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw== dependencies: "@types/mdast" "^3.0.0" @@ -18876,7 +18879,7 @@ remark-math@^5.1.1: remark-mdx@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.3.0.tgz#efe678025a8c2726681bde8bf111af4a93943db4" + resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz" integrity sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g== dependencies: mdast-util-mdx "^2.0.0" @@ -18884,7 +18887,7 @@ remark-mdx@^2.0.0: remark-parse@^10.0.0: version "10.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz" integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== dependencies: "@types/mdast" "^3.0.0" @@ -18893,7 +18896,7 @@ remark-parse@^10.0.0: remark-parse@^11.0.0: version "11.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz" integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== dependencies: "@types/mdast" "^4.0.0" @@ -18903,7 +18906,7 @@ remark-parse@^11.0.0: remark-reading-time@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/remark-reading-time/-/remark-reading-time-2.0.1.tgz#fe8bb8e420db7678dc749385167adb4fc99318f7" + resolved "https://registry.npmjs.org/remark-reading-time/-/remark-reading-time-2.0.1.tgz" integrity sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw== dependencies: estree-util-is-identifier-name "^2.0.0" @@ -18913,7 +18916,7 @@ remark-reading-time@^2.0.1: remark-rehype@^10.0.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz" integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== dependencies: "@types/hast" "^2.0.0" @@ -18923,7 +18926,7 @@ remark-rehype@^10.0.0: remark-rehype@^11.0.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.0.tgz#d5f264f42bcbd4d300f030975609d01a1697ccdc" + resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz" integrity sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g== dependencies: "@types/hast" "^3.0.0" @@ -18934,7 +18937,7 @@ remark-rehype@^11.0.0: remark-slug@^6.0.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.1.0.tgz#0503268d5f0c4ecb1f33315c00465ccdd97923ce" + resolved "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz" integrity sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ== dependencies: github-slugger "^1.0.0" @@ -18943,22 +18946,22 @@ remark-slug@^6.0.0: remove-accents@0.4.2: version "0.4.2" - resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5" + resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz" integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA== remove-accents@0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.5.0.tgz#77991f37ba212afba162e375b627631315bed687" + resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz" integrity sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A== remove-trailing-slash@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz#be2285a59f39c74d1bce4f825950061915e3780d" + resolved "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz" integrity sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA== renderkid@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" @@ -18969,27 +18972,27 @@ renderkid@^3.0.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== require-relative@^0.8.7: version "0.8.7" - resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + resolved "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz" integrity sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg== requireg@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/requireg/-/requireg-0.2.2.tgz#437e77a5316a54c9bcdbbf5d1f755fe093089830" + resolved "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz" integrity sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg== dependencies: nested-error-stacks "~2.0.1" @@ -18998,44 +19001,44 @@ requireg@^0.2.2: requireindex@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" + resolved "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz" integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve.exports@^2.0.0, resolve.exports@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2: version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" @@ -19044,7 +19047,7 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22 resolve@^2.0.0-next.4: version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: is-core-module "^2.13.0" @@ -19053,14 +19056,14 @@ resolve@^2.0.0-next.4: resolve@~1.7.1: version "1.7.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz" integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== dependencies: path-parse "^1.0.5" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== dependencies: onetime "^2.0.0" @@ -19068,7 +19071,7 @@ restore-cursor@^2.0.0: restore-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" @@ -19076,7 +19079,7 @@ restore-cursor@^3.1.0: restore-cursor@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz" integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== dependencies: onetime "^5.1.0" @@ -19084,22 +19087,22 @@ restore-cursor@^4.0.0: retry@0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== reusify@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz" integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rimraf@^2.6.1, rimraf@^2.6.2: version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" @@ -19112,41 +19115,41 @@ rimraf@^3.0.2: glob "^7.1.3" rimraf@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" - integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== + version "5.0.10" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz" + integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== dependencies: glob "^10.3.7" rimraf@~2.4.0: version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz" integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== dependencies: glob "^6.0.1" rimraf@~2.6.2: version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" robust-predicates@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" + resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== rollup@^3.27.1: version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== optionalDependencies: fsevents "~2.3.2" rollup@^4.13.0: version "4.14.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.14.2.tgz#992df3c3bb4ca84ce6b00d51aacb1e5a62d0a14c" + resolved "https://registry.npmjs.org/rollup/-/rollup-4.14.2.tgz" integrity sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ== dependencies: "@types/estree" "1.0.5" @@ -19170,7 +19173,7 @@ rollup@^4.13.0: rooks@^7.14.1: version "7.14.1" - resolved "https://registry.yarnpkg.com/rooks/-/rooks-7.14.1.tgz#f3660752c299da02eb6cc733c55f8270c3376a87" + resolved "https://registry.npmjs.org/rooks/-/rooks-7.14.1.tgz" integrity sha512-oPuLNGm3OaFm3WfZHzmDvJvRit8QrXGm9/Kn49Bz8lJUjkThSBtERWzuQ9wb5DveqrpUZvmNyBXjBE0KWVt13w== dependencies: fast-deep-equal "^3.1.3" @@ -19180,33 +19183,33 @@ rooks@^7.14.1: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" rw@1: version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz" integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== rxjs@^7.8.1: version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" sade@^1.7.3: version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== dependencies: mri "^1.1.0" safe-array-concat@^1.0.0, safe-array-concat@^1.0.1, safe-array-concat@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz" integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== dependencies: call-bind "^1.0.5" @@ -19216,22 +19219,22 @@ safe-array-concat@^1.0.0, safe-array-concat@^1.0.1, safe-array-concat@^1.1.0: safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-json-stringify@~1: version "1.2.0" - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" + resolved "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== safe-regex-test@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: call-bind "^1.0.6" @@ -19240,38 +19243,38 @@ safe-regex-test@^1.0.0: "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@>=0.6.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== saxes@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== dependencies: xmlchars "^2.2.0" scheduler@0.24.0-canary-efb381bbf-20230505: version "0.24.0-canary-efb381bbf-20230505" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz" integrity sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA== dependencies: loose-envify "^1.1.0" scheduler@^0.23.0: version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: loose-envify "^1.1.0" schema-utils@^2.7.0: version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" @@ -19280,7 +19283,7 @@ schema-utils@^2.7.0: schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" @@ -19289,7 +19292,7 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: schema-utils@^4.0.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== dependencies: "@types/json-schema" "^7.0.9" @@ -19299,14 +19302,14 @@ schema-utils@^4.0.0: scroll-into-view-if-needed@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f" + resolved "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz" integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== dependencies: compute-scroll-into-view "^3.0.2" section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" @@ -19314,36 +19317,36 @@ section-matter@^1.0.0: "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@7.3.2: version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== semver@7.5.3: version "7.5.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz" integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== dependencies: lru-cache "^6.0.0" semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== dependencies: lru-cache "^6.0.0" send@0.16.2: version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + resolved "https://registry.npmjs.org/send/-/send-0.16.2.tgz" integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== dependencies: debug "2.6.9" @@ -19362,7 +19365,7 @@ send@0.16.2: send@0.18.0, send@^0.18.0: version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" @@ -19381,19 +19384,19 @@ send@0.18.0, send@^0.18.0: serialize-error@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" + resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz" integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw== serialize-javascript@^6.0.1: version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" serve-static@1.13.2: version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz" integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== dependencies: encodeurl "~1.0.2" @@ -19403,7 +19406,7 @@ serve-static@1.13.2: serve-static@1.15.0, serve-static@^1.13.1: version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" @@ -19413,12 +19416,12 @@ serve-static@1.15.0, serve-static@^1.13.1: set-blocking@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-function-length@^1.2.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz" integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== dependencies: define-data-property "^1.1.2" @@ -19430,7 +19433,7 @@ set-function-length@^1.2.0: set-function-length@^1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: define-data-property "^1.1.4" @@ -19442,7 +19445,7 @@ set-function-length@^1.2.1: set-function-name@^2.0.0, set-function-name@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== dependencies: define-data-property "^1.0.1" @@ -19451,63 +19454,63 @@ set-function-name@^2.0.0, set-function-name@^2.0.1: setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== sha-1@0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/sha-1/-/sha-1-0.1.1.tgz#2a39304bf41bbab11dd9efb7474ec25b1a92c257" + resolved "https://registry.npmjs.org/sha-1/-/sha-1-0.1.1.tgz" integrity sha512-dexizf3hB7d4Jq6Cd0d/NYQiqgEqIfZIpuMfwPfvSb6h06DZKmHyUe55jYwpHC12R42wpqXO6ouhiBpRzIcD/g== shallow-clone@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1, shell-quote@^1.7.3, shell-quote@^1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== shiki@^0.14.3: version "0.14.7" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.7.tgz#c3c9e1853e9737845f1d2ef81b31bcfb07056d4e" + resolved "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz" integrity sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg== dependencies: ansi-sequence-parser "^1.1.0" @@ -19517,7 +19520,7 @@ shiki@^0.14.3: side-channel@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz" integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== dependencies: call-bind "^1.0.6" @@ -19527,7 +19530,7 @@ side-channel@^1.0.4: side-channel@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== dependencies: call-bind "^1.0.7" @@ -19537,17 +19540,17 @@ side-channel@^1.0.6: signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== simple-plist@^1.1.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" + resolved "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz" integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== dependencies: bplist-creator "0.1.0" @@ -19556,34 +19559,34 @@ simple-plist@^1.1.0: simple-swizzle@^0.2.2: version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== dependencies: is-arrayish "^0.3.1" sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + resolved "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slash@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== slice-ansi@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: ansi-styles "^3.2.0" @@ -19592,7 +19595,7 @@ slice-ansi@^2.0.0: slice-ansi@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: ansi-styles "^6.0.0" @@ -19600,7 +19603,7 @@ slice-ansi@^5.0.0: slice-ansi@^7.0.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz" integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== dependencies: ansi-styles "^6.2.1" @@ -19608,29 +19611,29 @@ slice-ansi@^7.0.0: slugify@^1.3.4, slugify@^1.6.6: version "1.6.6" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" + resolved "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz" integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== sort-keys@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-5.0.0.tgz#5d775f8ae93ecc29bc7312bbf3acac4e36e3c446" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz" integrity sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw== dependencies: is-plain-obj "^4.0.0" source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== source-map-js@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map-support@0.5.13: version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" @@ -19638,7 +19641,7 @@ source-map-support@0.5.13: source-map-support@^0.5.16, source-map-support@~0.5.20, source-map-support@~0.5.21: version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" @@ -19646,37 +19649,37 @@ source-map-support@^0.5.16, source-map-support@~0.5.20, source-map-support@~0.5. source-map@^0.5.6: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.0, source-map@^0.7.3: version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== space-separated-tokens@^1.0.0: version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== space-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== spawn-command@0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" + resolved "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz" integrity sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ== spdx-correct@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" @@ -19684,12 +19687,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz" integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -19697,101 +19700,101 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.17" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz" integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== split-on-first@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== split2@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.0.0.tgz#55057cd560687a7ef6464471597404577ff1735d" + resolved "https://registry.npmjs.org/split2/-/split2-3.0.0.tgz" integrity sha512-Cp7G+nUfKJyHCrAI8kze3Q00PFGEG1pMgrAlTFlDbn+GW24evSZHJuMl+iUJx1w/NTRDeBiTgvwnf6YOt94FMw== dependencies: readable-stream "^3.0.0" split@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== dependencies: through "2" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssri@^8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== dependencies: minipass "^3.1.1" stack-trace@0.0.10: version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== stack-utils@^2.0.3: version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" stackframe@^1.3.4: version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== stacktrace-parser@^0.1.10: version "0.1.10" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" + resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== dependencies: type-fest "^0.7.1" statuses@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== "statuses@>= 1.4.0 < 2", statuses@~1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== statuses@~1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz" integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== stethoskop@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stethoskop/-/stethoskop-1.0.0.tgz#b838e8f6f78f8e66f86139524e8058e4a2f78b62" + resolved "https://registry.npmjs.org/stethoskop/-/stethoskop-1.0.0.tgz" integrity sha512-4JnZ+UmTs9SFfDjSHFlD/EoXcb1bfwntkt4h1ipNGrpxtRzmHTxOmdquCJvIrVu608Um7a09cGX0ZSOSllWJNQ== dependencies: node-statsd "0.1.1" stop-iteration-iterator@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz" integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== dependencies: internal-slot "^1.0.4" store2@^2.14.2: version "2.14.2" - resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" + resolved "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz" integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w== storybook-dark-mode@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/storybook-dark-mode/-/storybook-dark-mode-3.0.3.tgz#7301c58646aae05f754de23046305aa5250546db" + resolved "https://registry.npmjs.org/storybook-dark-mode/-/storybook-dark-mode-3.0.3.tgz" integrity sha512-ZLBLVpkuKTdtUv3DTuOjeP/bE7DHhOxVpDROKc0NtEYq9JHLUu6z05LLZinE3v6QPXQZ9TMQPm3Xe/0BcLEZlw== dependencies: "@storybook/addons" "^7.0.0" @@ -19805,44 +19808,44 @@ storybook-dark-mode@^3.0.3: storybook-tailwind-dark-mode@^1.0.22: version "1.0.22" - resolved "https://registry.yarnpkg.com/storybook-tailwind-dark-mode/-/storybook-tailwind-dark-mode-1.0.22.tgz#1a873e36375d53ea709ad61169cb12840c07ae39" + resolved "https://registry.npmjs.org/storybook-tailwind-dark-mode/-/storybook-tailwind-dark-mode-1.0.22.tgz" integrity sha512-I0HSVCuvo3OkaGDnCjLM7V1OYmQccrUCAGZ5ZaJfl9s3e93WA6DKFpQRbuoSidci+PTy+KvgrINgE08rA16bWA== storybook@^7.6.17: version "7.6.17" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.6.17.tgz#d7fdbbf57d61d386b3ccc6721285bc914f54269b" + resolved "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz" integrity sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA== dependencies: "@storybook/cli" "7.6.17" stream-buffers@2.2.x: version "2.2.0" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" + resolved "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz" integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== stream-shift@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz" integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== streamsearch@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== strict-uri-encode@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== string-argv@0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-length@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" @@ -19850,7 +19853,7 @@ string-length@^4.0.1: "string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -19859,7 +19862,7 @@ string-length@^4.0.1: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -19868,7 +19871,7 @@ string-width@^5.0.1, string-width@^5.1.2: string-width@^7.0.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" + resolved "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz" integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== dependencies: emoji-regex "^10.3.0" @@ -19877,7 +19880,7 @@ string-width@^7.0.0: string.prototype.matchall@^4.0.8: version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz" integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== dependencies: call-bind "^1.0.2" @@ -19892,7 +19895,7 @@ string.prototype.matchall@^4.0.8: string.prototype.trim@^1.2.8: version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== dependencies: call-bind "^1.0.2" @@ -19901,7 +19904,7 @@ string.prototype.trim@^1.2.8: string.prototype.trimend@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== dependencies: call-bind "^1.0.2" @@ -19910,7 +19913,7 @@ string.prototype.trimend@^1.0.7: string.prototype.trimstart@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== dependencies: call-bind "^1.0.2" @@ -19919,26 +19922,26 @@ string.prototype.trimstart@^1.0.7: string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-entities@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== dependencies: character-entities-html4 "^2.0.0" @@ -19946,7 +19949,7 @@ stringify-entities@^4.0.0: stringify-object@3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" @@ -19955,99 +19958,99 @@ stringify-object@3.3.0: "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" strip-ansi@^5.0.0, strip-ansi@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-bom-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-final-newline@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" strip-indent@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-4.0.0.tgz#b41379433dd06f5eae805e21d631e07ee670d853" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz" integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA== dependencies: min-indent "^1.0.1" strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== strip-json-comments@^3.0.1, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strnum@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== structured-headers@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-0.4.1.tgz#77abd9410622c6926261c09b9d16cf10592694d1" + resolved "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz" integrity sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg== style-loader@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz" integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== dependencies: loader-utils "^2.0.0" @@ -20055,43 +20058,43 @@ style-loader@^1.3.0: style-loader@^3.3.1, style-loader@^3.3.4: version "3.3.4" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz" integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== style-to-object@^0.4.1: version "0.4.4" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== dependencies: inline-style-parser "0.1.1" style-to-object@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.5.tgz#5e918349bc3a39eee3a804497d97fcbbf2f0d7c0" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz" integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== dependencies: inline-style-parser "0.2.2" styled-jsx@5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== dependencies: client-only "0.0.1" styleq@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/styleq/-/styleq-0.1.3.tgz#8efb2892debd51ce7b31dc09c227ad920decab71" + resolved "https://registry.npmjs.org/styleq/-/styleq-0.1.3.tgz" integrity sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA== stylis@^4.1.3: version "4.3.1" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz" integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== sucrase@3.34.0: version "3.34.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz" integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -20104,7 +20107,7 @@ sucrase@3.34.0: sucrase@^3.32.0: version "3.35.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -20117,62 +20120,62 @@ sucrase@^3.32.0: sudo-prompt@9.1.1: version "9.1.1" - resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.1.1.tgz#73853d729770392caec029e2470db9c221754db0" + resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz" integrity sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA== sudo-prompt@^8.2.0: version "8.2.5" - resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" + resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz" integrity sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw== sudo-prompt@^9.0.0: version "9.2.1" - resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.2.1.tgz#77efb84309c9ca489527a4e749f287e6bdd52afd" + resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz" integrity sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw== superjson@^1.10.0: version "1.13.3" - resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.13.3.tgz#3bd64046f6c0a47062850bb3180ef352a471f930" + resolved "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz" integrity sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg== dependencies: copy-anything "^3.0.2" supports-color@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== supports-color@^4.0.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" integrity sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw== dependencies: has-flag "^2.0.0" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" @@ -20180,29 +20183,29 @@ supports-hyperlinks@^2.0.0: supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== swc-loader@^0.2.3: version "0.2.6" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" + resolved "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz" integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== dependencies: "@swc/counter" "^0.1.3" symbol-tree@^3.2.4: version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== synchronous-promise@^2.0.15: version "2.0.17" - resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.17.tgz#38901319632f946c982152586f2caf8ddc25c032" + resolved "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz" integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g== synckit@^0.8.6: version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" + resolved "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz" integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== dependencies: "@pkgr/core" "^0.1.0" @@ -20210,17 +20213,17 @@ synckit@^0.8.6: tailwind-merge@^1.14.0: version "1.14.0" - resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-1.14.0.tgz#e677f55d864edc6794562c63f5001f45093cdb8b" + resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz" integrity sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ== tailwind-scrollbar-hide@^1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/tailwind-scrollbar-hide/-/tailwind-scrollbar-hide-1.1.7.tgz#90b481fb2e204030e3919427416650c54f56f847" + resolved "https://registry.npmjs.org/tailwind-scrollbar-hide/-/tailwind-scrollbar-hide-1.1.7.tgz" integrity sha512-X324n9OtpTmOMqEgDUEA/RgLrNfBF/jwJdctaPZDzB3mppxJk7TLIDmOreEDm1Bq4R9LSPu4Epf8VSdovNU+iA== tailwind@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/tailwind/-/tailwind-4.0.0.tgz#070b5e5f1c2c190e4c0d1280a46b36c7369ea46e" + resolved "https://registry.npmjs.org/tailwind/-/tailwind-4.0.0.tgz" integrity sha512-LlUNoD/5maFG1h5kQ6/hXfFPdcnYw+1Z7z+kUD/W/E71CUMwcnrskxiBM8c3G8wmPsD1VvCuqGYMHviI8+yrmg== dependencies: "@babel/runtime" "7.3.4" @@ -20253,31 +20256,31 @@ tailwind@^4.0.0: tailwindcss-animate@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz#318b692c4c42676cc9e67b19b78775742388bef4" + resolved "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz" integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA== tailwindcss-autofill@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/tailwindcss-autofill/-/tailwindcss-autofill-1.0.2.tgz#8f4c4ef68bf1f8ed08fbb98ede20a8a9e6cca025" + resolved "https://registry.npmjs.org/tailwindcss-autofill/-/tailwindcss-autofill-1.0.2.tgz" integrity sha512-gbm/ZKvU7EW2kzSoyCREwsNSQlsgEmNWnagggz6dGl1QgtM9RkmeWRicAY+eSnI9VFnfYCQOAthW9gDKZjda4Q== tailwindcss-shadow-fill@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tailwindcss-shadow-fill/-/tailwindcss-shadow-fill-1.0.1.tgz#80ebaf75ee0a9df3004ac3b2df526a96cb3bef73" + resolved "https://registry.npmjs.org/tailwindcss-shadow-fill/-/tailwindcss-shadow-fill-1.0.1.tgz" integrity sha512-GvPU6IEXFprcvz/qz7SbAdlciWHg5CFg427nmrCPN1BYaDxTKxcxmFy/vh35i2/4RW3AHIRBp/h6VADMpYryww== dependencies: flatten-tailwindcss-theme "^1.0.0" tailwindcss-text-fill@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/tailwindcss-text-fill/-/tailwindcss-text-fill-0.2.0.tgz#2e91228e265c947babc2ffcd523a147b5c4407b4" + resolved "https://registry.npmjs.org/tailwindcss-text-fill/-/tailwindcss-text-fill-0.2.0.tgz" integrity sha512-3lo6a/9jXSx4+24onFv7xnHO/1DZCk6qM+LoCsEUxn79sAeoc/ts74LSH0vRhLvWe4Yn+YglFfT+lxDv6wn2sQ== dependencies: flatten-tailwindcss-theme "^1.0.0" tailwindcss@3.3.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz" integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== dependencies: "@alloc/quick-lru" "^5.2.0" @@ -20306,7 +20309,7 @@ tailwindcss@3.3.2: tailwindcss@^3.3.3: version "3.4.1" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz" integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== dependencies: "@alloc/quick-lru" "^5.2.0" @@ -20334,7 +20337,7 @@ tailwindcss@^3.3.3: tailwindcss@^3.4.3: version "3.4.3" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.3.tgz#be48f5283df77dfced705451319a5dffb8621519" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz" integrity sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A== dependencies: "@alloc/quick-lru" "^5.2.0" @@ -20362,12 +20365,12 @@ tailwindcss@^3.4.3: tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tar-fs@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== dependencies: chownr "^1.1.1" @@ -20377,7 +20380,7 @@ tar-fs@^2.1.1: tar-stream@^2.1.4: version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: bl "^4.0.3" @@ -20388,7 +20391,7 @@ tar-stream@^2.1.4: tar@^6.0.2, tar@^6.0.5, tar@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz" integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== dependencies: chownr "^2.0.0" @@ -20398,39 +20401,33 @@ tar@^6.0.2, tar@^6.0.5, tar@^6.2.0: mkdirp "^1.0.3" yallist "^4.0.0" -"tauri-plugin-store-api@https://github.com/tauri-apps/tauri-plugin-store#v1": - version "0.0.0" - resolved "https://github.com/tauri-apps/tauri-plugin-store#2352f0bda53b4725ef1d2f51cd5774e4396a20d1" - dependencies: - "@tauri-apps/api" "1.6.0" - telejson@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/telejson/-/telejson-7.2.0.tgz#3994f6c9a8f8d7f2dba9be2c7c5bbb447e876f32" + resolved "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz" integrity sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ== dependencies: memoizerific "^1.11.3" temp-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== temp-dir@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== temp@^0.8.4: version "0.8.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + resolved "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== dependencies: rimraf "~2.6.2" tempy@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8" + resolved "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz" integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== dependencies: temp-dir "^1.0.0" @@ -20439,7 +20436,7 @@ tempy@0.3.0: tempy@^0.7.1: version "0.7.1" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.7.1.tgz#5a654e6dbd1747cdd561efb112350b55cd9c1d46" + resolved "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz" integrity sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg== dependencies: del "^6.0.0" @@ -20450,7 +20447,7 @@ tempy@^0.7.1: tempy@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" + resolved "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz" integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== dependencies: del "^6.0.0" @@ -20461,7 +20458,7 @@ tempy@^1.0.1: terminal-link@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: ansi-escapes "^4.2.1" @@ -20469,7 +20466,7 @@ terminal-link@^2.1.1: terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.7: version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== dependencies: "@jridgewell/trace-mapping" "^0.3.20" @@ -20480,7 +20477,7 @@ terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.10, terser-webpack-plug terser@^5.10.0, terser@^5.15.0, terser@^5.26.0: version "5.27.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + resolved "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz" integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== dependencies: "@jridgewell/source-map" "^0.3.3" @@ -20490,7 +20487,7 @@ terser@^5.10.0, terser@^5.15.0, terser@^5.26.0: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" @@ -20499,31 +20496,31 @@ test-exclude@^6.0.0: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" throat@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== through2@^2.0.1, through2@^2.0.3: version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" @@ -20531,22 +20528,22 @@ through2@^2.0.1, through2@^2.0.3: through@2: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== timer2@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/timer2/-/timer2-1.0.0.tgz#7a2441569c6564cb891f605788eef0377d89f5de" + resolved "https://registry.npmjs.org/timer2/-/timer2-1.0.0.tgz" integrity sha512-UOZql+P2ET0da+B7V3/RImN3IhC5ghb+9cpecfUhmYGIm0z73dDr3A781nBLnFYmRzeT1AmoT4w9Lgr8n7n7xg== tiny-invariant@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== title@^3.5.3: version "3.5.3" - resolved "https://registry.yarnpkg.com/title/-/title-3.5.3.tgz#b338d701a3d949db6b49b2c86f409f9c2f36cd91" + resolved "https://registry.npmjs.org/title/-/title-3.5.3.tgz" integrity sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q== dependencies: arg "1.0.0" @@ -20556,46 +20553,46 @@ title@^3.5.3: titleize@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a" + resolved "https://registry.npmjs.org/titleize/-/titleize-1.0.0.tgz" integrity sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw== tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" tmpl@1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tocbot@^4.20.1: version "4.25.0" - resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.25.0.tgz#bc38aea5ec8f076779bb39636f431b044129a237" + resolved "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz" integrity sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA== toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== tough-cookie@^4.1.2: version "4.1.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz" integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" @@ -20605,19 +20602,19 @@ tough-cookie@^4.1.2: tr46@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + resolved "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz" integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== dependencies: punycode "^2.1.1" tr46@~0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trash-cli@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/trash-cli/-/trash-cli-5.0.0.tgz#144e6405b54212641c811f877e647ec0eed27c26" + resolved "https://registry.npmjs.org/trash-cli/-/trash-cli-5.0.0.tgz" integrity sha512-HdSljBzHHk4HlD3uqvDGBRPB9ta7R8fwPSRSVOTk9qkOqeBT1nO4WCtj2t62rWsU1yg2WGCFNo8UBmlRXgkigA== dependencies: meow "^10.1.2" @@ -20625,7 +20622,7 @@ trash-cli@^5.0.0: trash@^8.0.0: version "8.1.1" - resolved "https://registry.yarnpkg.com/trash/-/trash-8.1.1.tgz#3040370444e0a6ee13edecd15a49f8570739a1d9" + resolved "https://registry.npmjs.org/trash/-/trash-8.1.1.tgz" integrity sha512-r15NUF+BJpDBKLTyOXaB+PhF8qh53TAOTpu/wCt6bqpu488jamsiOV7VdC//yPwAnyGIv1EJgetEnjLNer5XVw== dependencies: "@sindresorhus/chunkify" "^0.2.0" @@ -20639,57 +20636,57 @@ trash@^8.0.0: traverse@~0.6.6: version "0.6.8" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.8.tgz#5e5e0c41878b57e4b73ad2f3d1e36a715ea4ab15" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz" integrity sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA== tree-kill@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== trim-lines@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trim-newlines@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== trim-newlines@^4.0.2: version "4.1.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.1.1.tgz#28c88deb50ed10c7ba6dc2474421904a00139125" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz" integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== trough@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== ts-api-utils@^1.0.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.2.1.tgz#f716c7e027494629485b21c0df6180f4d08f5e8b" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz" integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" + resolved "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz" integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== ts-essentials@^10.0.2: version "10.0.2" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-10.0.2.tgz#8c7aa74ed79580ffe49df5ca28d06cc6bea0ff3c" + resolved "https://registry.npmjs.org/ts-essentials/-/ts-essentials-10.0.2.tgz" integrity sha512-Xwag0TULqriaugXqVdDiGZ5wuZpqABZlpwQ2Ho4GDyiu/R2Xjkp/9+zcFxL7uzeLl/QCPrflnvpVYyS3ouT7Zw== ts-interface-checker@^0.1.9: version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== ts-node@^10.9.2: version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" @@ -20708,12 +20705,12 @@ ts-node@^10.9.2: ts-pattern@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/ts-pattern/-/ts-pattern-5.1.1.tgz#600e0a3d23ab1b0eb30b7c897d0898e940504544" + resolved "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.1.1.tgz" integrity sha512-i+owkHr5RYdQxj8olUgRrqpiWH9x27PuWVfXwDmJ/n/CoF/SAa7WW1i2oUpPDMQpJ4U+bGRUcZkVq7i1m3zFCg== tsconfig@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + resolved "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz" integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== dependencies: "@types/strip-bom" "^3.0.0" @@ -20723,22 +20720,22 @@ tsconfig@^7.0.0: tslib@^1.13.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2: version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== tsscmp@^1.0.5: version "1.0.6" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" + resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz" integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== tw-colors@^3.3.1: version "3.3.1" - resolved "https://registry.yarnpkg.com/tw-colors/-/tw-colors-3.3.1.tgz#7691292ff4d6f4b8ad4ac5baf6870b68796034c4" + resolved "https://registry.npmjs.org/tw-colors/-/tw-colors-3.3.1.tgz" integrity sha512-PH6NShNtDzPCm6zjl0SZe3kmdYSfDS7Sk4mWa9+KzaeSH1ZmpLRrBjZoBJKaFcDB3o7iuFPPg9+HtW05pGPQyQ== dependencies: color "^4.2.3" @@ -20747,79 +20744,79 @@ tw-colors@^3.3.1: tween-functions@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff" + resolved "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz" integrity sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-detect@4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.13.1: version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== type-fest@^0.16.0: version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.7.1: version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== type-fest@^1.0.1, type-fest@^1.0.2, type-fest@^1.2.1, type-fest@^1.2.2: version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== type-fest@^2.19.0, type-fest@~2.19: version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type-fest@^3.0.0: version "3.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== type-is@~1.6.16, type-is@~1.6.18: version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -20827,17 +20824,17 @@ type-is@~1.6.16, type-is@~1.6.18: type@^1.0.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.7.2: version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== typed-array-buffer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz#0608ffe6bca71bf15a45bff0ca2604107a1325f5" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz" integrity sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ== dependencies: call-bind "^1.0.6" @@ -20846,7 +20843,7 @@ typed-array-buffer@^1.0.0: typed-array-byte-length@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== dependencies: call-bind "^1.0.2" @@ -20856,7 +20853,7 @@ typed-array-byte-length@^1.0.0: typed-array-byte-offset@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== dependencies: available-typed-arrays "^1.0.5" @@ -20867,7 +20864,7 @@ typed-array-byte-offset@^1.0.0: typed-array-length@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== dependencies: call-bind "^1.0.2" @@ -20876,42 +20873,42 @@ typed-array-length@^1.0.4: typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript-paths@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/typescript-paths/-/typescript-paths-1.5.1.tgz#975cf5883915b24f9287315a8fa70b3b3451e32e" + resolved "https://registry.npmjs.org/typescript-paths/-/typescript-paths-1.5.1.tgz" integrity sha512-lYErSLCON2MSplVV5V/LBgD4UNjMgY3guATdFCZY2q1Nr6OZEu4q6zX/rYMsG1TaWqqQSszg6C9EU7AGWMDrIw== -typescript@^5.2.2, typescript@^5.3.3: +typescript@^5.2.2: version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== -typescript@^5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== +typescript@^5.3.3, typescript@^5.4.5: + version "5.6.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== ua-parser-js@^1.0.35: version "1.0.37" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz" integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== ufo@^1.3.2: version "1.4.0" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.4.0.tgz#39845b31be81b4f319ab1d99fd20c56cac528d32" + resolved "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz" integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ== uglify-js@^3.1.4: version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -20921,17 +20918,17 @@ unbox-primitive@^1.0.2: undici-types@~5.26.4: version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" @@ -20939,17 +20936,17 @@ unicode-match-property-ecmascript@^2.0.0: unicode-match-property-value-ecmascript@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@^10.0.0: version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== dependencies: "@types/unist" "^2.0.0" @@ -20962,7 +20959,7 @@ unified@^10.0.0: unified@^11.0.0: version "11.0.4" - resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015" + resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== dependencies: "@types/unist" "^3.0.0" @@ -20975,35 +20972,35 @@ unified@^11.0.0: unique-filename@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" unique-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz" integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== dependencies: crypto-random-string "^1.0.0" unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" unist-util-find-after@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz#3fccc1b086b56f34c8b798e1ff90b5c54468e896" + resolved "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz" integrity sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ== dependencies: "@types/unist" "^3.0.0" @@ -21011,59 +21008,59 @@ unist-util-find-after@^5.0.0: unist-util-generated@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" + resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz" integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== unist-util-is@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-is@^5.0.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz" integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== dependencies: "@types/unist" "^2.0.0" unist-util-is@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz" integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== dependencies: "@types/unist" "^3.0.0" unist-util-map@^3.1.2: version "3.1.3" - resolved "https://registry.yarnpkg.com/unist-util-map/-/unist-util-map-3.1.3.tgz#5ae708cafb8400439f0a8e590a20be05223f78e1" + resolved "https://registry.npmjs.org/unist-util-map/-/unist-util-map-3.1.3.tgz" integrity sha512-4/mDauoxqZ6geK97lJ6n2kDk6JK88Vh+hWMSJqyaaP/7eqN1dDhjcjnNxKNm3YU6Sw7PVJtcFMUbnmHvYzb6Vg== dependencies: "@types/unist" "^2.0.0" unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz#8ac2480027229de76512079e377afbcabcfcce22" + resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz" integrity sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww== dependencies: "@types/unist" "^2.0.0" unist-util-position@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz" integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== dependencies: "@types/unist" "^2.0.0" unist-util-position@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz" integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== dependencies: "@types/unist" "^3.0.0" unist-util-remove-position@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz#a89be6ea72e23b1a402350832b02a91f6a9afe51" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz" integrity sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ== dependencies: "@types/unist" "^2.0.0" @@ -21071,7 +21068,7 @@ unist-util-remove-position@^4.0.0: unist-util-remove-position@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== dependencies: "@types/unist" "^3.0.0" @@ -21079,7 +21076,7 @@ unist-util-remove-position@^5.0.0: unist-util-remove@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-4.0.0.tgz#94b7d6bbd24e42d2f841e947ed087be5c82b222e" + resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-4.0.0.tgz" integrity sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg== dependencies: "@types/unist" "^3.0.0" @@ -21088,21 +21085,21 @@ unist-util-remove@^4.0.0: unist-util-stringify-position@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz" integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== dependencies: "@types/unist" "^2.0.0" unist-util-stringify-position@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== dependencies: "@types/unist" "^3.0.0" unist-util-visit-parents@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" @@ -21110,7 +21107,7 @@ unist-util-visit-parents@^3.0.0: unist-util-visit-parents@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz#e83559a4ad7e6048a46b1bdb22614f2f3f4724f2" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz" integrity sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw== dependencies: "@types/unist" "^2.0.0" @@ -21118,7 +21115,7 @@ unist-util-visit-parents@^4.0.0: unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1: version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz" integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== dependencies: "@types/unist" "^2.0.0" @@ -21126,7 +21123,7 @@ unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1: unist-util-visit-parents@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== dependencies: "@types/unist" "^3.0.0" @@ -21134,7 +21131,7 @@ unist-util-visit-parents@^6.0.0: unist-util-visit@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" @@ -21143,7 +21140,7 @@ unist-util-visit@^2.0.0: unist-util-visit@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-3.1.0.tgz#9420d285e1aee938c7d9acbafc8e160186dbaf7b" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz" integrity sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA== dependencies: "@types/unist" "^2.0.0" @@ -21152,7 +21149,7 @@ unist-util-visit@^3.1.0: unist-util-visit@^4.0.0: version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== dependencies: "@types/unist" "^2.0.0" @@ -21161,7 +21158,7 @@ unist-util-visit@^4.0.0: unist-util-visit@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== dependencies: "@types/unist" "^3.0.0" @@ -21170,32 +21167,32 @@ unist-util-visit@^5.0.0: universalify@^0.1.0: version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + resolved "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== universalify@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unplugin@^1.3.1: version "1.7.1" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.7.1.tgz#009571e3128640f4e327f33680d2db27afaf1e11" + resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz" integrity sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw== dependencies: acorn "^8.11.3" @@ -21205,17 +21202,17 @@ unplugin@^1.3.1: untildify@3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" + resolved "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz" integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== untildify@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== update-browserslist-db@^1.0.13: version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" @@ -21223,7 +21220,7 @@ update-browserslist-db@^1.0.13: update-browserslist-db@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz" integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: escalade "^3.1.2" @@ -21231,19 +21228,19 @@ update-browserslist-db@^1.1.0: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url-join@4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a" + resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz" integrity sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA== url-parse@^1.5.3: version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== dependencies: querystringify "^2.1.1" @@ -21251,7 +21248,7 @@ url-parse@^1.5.3: url@^0.11.0: version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + resolved "https://registry.npmjs.org/url/-/url-0.11.3.tgz" integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== dependencies: punycode "^1.4.1" @@ -21259,38 +21256,38 @@ url@^0.11.0: use-callback-ref@^1.3.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.1.tgz#9be64c3902cbd72b07fe55e56408ae3a26036fd0" + resolved "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.1.tgz" integrity sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ== dependencies: tslib "^2.0.0" use-count-up@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/use-count-up/-/use-count-up-3.0.1.tgz#315edf4e4be91ead94e6dd34444349d9b8c2c6c3" + resolved "https://registry.npmjs.org/use-count-up/-/use-count-up-3.0.1.tgz" integrity sha512-jlVsXJYje6jh+xwQaCEYrwHoB+nRyillNEmr21bhe9kw7tpRzyrSq9jQs9UOlo+8hCFkuOmjUihL3IjEK/piVg== dependencies: use-elapsed-time "3.0.2" use-elapsed-time@3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/use-elapsed-time/-/use-elapsed-time-3.0.2.tgz#ef22bf520e60f9873fd102925a2d5cbc5d4faaf5" + resolved "https://registry.npmjs.org/use-elapsed-time/-/use-elapsed-time-3.0.2.tgz" integrity sha512-2EY9lJ5DWbAvT8wWiEp6Ztnl46DjXz2j78uhWbXaz/bg3OfpbgVucCAlcN8Bih6hTJfFTdVYX9L6ySMn5py/wQ== use-latest-callback@^0.1.7: version "0.1.9" - resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a" + resolved "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.9.tgz" integrity sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw== use-resize-observer@^9.1.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/use-resize-observer/-/use-resize-observer-9.1.0.tgz#14735235cf3268569c1ea468f8a90c5789fc5c6c" + resolved "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz" integrity sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow== dependencies: "@juggle/resize-observer" "^3.3.1" use-sidecar@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + resolved "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz" integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== dependencies: detect-node-es "^1.1.0" @@ -21298,29 +21295,29 @@ use-sidecar@^1.1.2: use-sync-external-store@1.2.0, use-sync-external-store@^1.1.0, use-sync-external-store@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== user-home@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + resolved "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" integrity sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ== dependencies: os-homedir "^1.0.0" utf8@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + resolved "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util.promisify@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== dependencies: define-properties "^1.1.2" @@ -21328,7 +21325,7 @@ util.promisify@1.0.0: util@^0.12.4, util@^0.12.5: version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== dependencies: inherits "^2.0.3" @@ -21339,37 +21336,37 @@ util@^0.12.4, util@^0.12.5: utila@~0.4: version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@3.3.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== uuid@^7.0.3: version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + resolved "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== uuid@^8.0.0, uuid@^8.3.2: version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^9.0.0: version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== uuidv4@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-2.0.0.tgz#3ec764288f9e9c4e40f8027ad309c2c528be2976" + resolved "https://registry.npmjs.org/uuidv4/-/uuidv4-2.0.0.tgz" integrity sha512-sAUlwUVepcVk6bwnaW/oi6LCwMdueako5QQzRr90ioAVVcms6p1mV0PaSxK8gyAC4CRvKddsk217uUpZUbKd2Q== dependencies: sha-1 "0.1.1" @@ -21377,14 +21374,14 @@ uuidv4@2.0.0: uuidv4@3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-3.0.1.tgz#31751b0ab78f50c9e42dbf231693210b3435b673" + resolved "https://registry.npmjs.org/uuidv4/-/uuidv4-3.0.1.tgz" integrity sha512-PPzksdWRl2a5C9hrs3OOYrArTeyoR0ftJ3jtOy+BnVHkT2UlrrzPNt9nTdiGuxmQItHM/AcTXahwZZC57Njojg== dependencies: uuid "3.3.2" uvu@^0.5.0: version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + resolved "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" @@ -21394,12 +21391,12 @@ uvu@^0.5.0: v8-compile-cache-lib@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-to-istanbul@^9.0.1: version "9.3.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz" integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" @@ -21408,12 +21405,12 @@ v8-to-istanbul@^9.0.1: valid-url@~1.0.9: version "1.0.9" - resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -21421,31 +21418,31 @@ validate-npm-package-license@^3.0.1: validate-npm-package-name@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== dependencies: builtins "^1.0.3" varname@2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/varname/-/varname-2.0.3.tgz#05e8dc64fbb6e59170de44aad4ddeab8ab87b68e" + resolved "https://registry.npmjs.org/varname/-/varname-2.0.3.tgz" integrity sha512-+DofT9mJAUALhnr9ipZ5Z2icwaEZ7DAajOZT4ffXy3MQqnXtG3b7atItLQEJCkfcJTOf9WcsywneOEibD4eqJg== vary@^1, vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vaul@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/vaul/-/vaul-1.0.0.tgz#b2c84e626ffa417ee9352cdfc435b26e8f60f547" + resolved "https://registry.npmjs.org/vaul/-/vaul-1.0.0.tgz" integrity sha512-TegfMkwy86RSvSiIVREG6OqgRL7agqRsKYyWYacyVUAdpcIi34QoCOED476Mbf8J5d06e1hygSdvJhehlxEBhQ== dependencies: "@radix-ui/react-dialog" "^1.1.1" vfile-location@^5.0.0: version "5.0.2" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.2.tgz#220d9ca1ab6f8b2504a4db398f7ebc149f9cb464" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz" integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== dependencies: "@types/unist" "^3.0.0" @@ -21453,7 +21450,7 @@ vfile-location@^5.0.0: vfile-matter@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/vfile-matter/-/vfile-matter-3.0.1.tgz#85e26088e43aa85c04d42ffa3693635fa2bc5624" + resolved "https://registry.npmjs.org/vfile-matter/-/vfile-matter-3.0.1.tgz" integrity sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg== dependencies: "@types/js-yaml" "^4.0.0" @@ -21462,7 +21459,7 @@ vfile-matter@^3.0.1: vfile-message@^3.0.0: version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== dependencies: "@types/unist" "^2.0.0" @@ -21470,7 +21467,7 @@ vfile-message@^3.0.0: vfile-message@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== dependencies: "@types/unist" "^3.0.0" @@ -21478,7 +21475,7 @@ vfile-message@^4.0.0: vfile@^5.0.0, vfile@^5.3.0: version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz" integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== dependencies: "@types/unist" "^2.0.0" @@ -21488,7 +21485,7 @@ vfile@^5.0.0, vfile@^5.3.0: vfile@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" + resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== dependencies: "@types/unist" "^3.0.0" @@ -21497,14 +21494,14 @@ vfile@^6.0.0: vite-plugin-tsconfig-paths@^1.3.1, vite-plugin-tsconfig-paths@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/vite-plugin-tsconfig-paths/-/vite-plugin-tsconfig-paths-1.4.1.tgz#77ece05689a09f9f2c5a63e2dbef747271c0c099" + resolved "https://registry.npmjs.org/vite-plugin-tsconfig-paths/-/vite-plugin-tsconfig-paths-1.4.1.tgz" integrity sha512-pGpvsPGDpiM5z7I9ZhBe7H2WAH0gAC2Lh55rM3pE+84V2q7qojNO28wdUl4i/M4XUfJcilhyucmbc9D7IKqpXA== dependencies: typescript-paths "^1.5.1" vite@^4.5.0: version "4.5.2" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.2.tgz#d6ea8610e099851dad8c7371599969e0f8b97e82" + resolved "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz" integrity sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w== dependencies: esbuild "^0.18.10" @@ -21515,7 +21512,7 @@ vite@^4.5.0: vite@^4.5.3: version "4.5.3" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.3.tgz#d88a4529ea58bae97294c7e2e6f0eab39a50fb1a" + resolved "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz" integrity sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg== dependencies: esbuild "^0.18.10" @@ -21526,7 +21523,7 @@ vite@^4.5.3: vite@^5.2.8: version "5.2.8" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.8.tgz#a99e09939f1a502992381395ce93efa40a2844aa" + resolved "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz" integrity sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA== dependencies: esbuild "^0.20.1" @@ -21537,27 +21534,27 @@ vite@^5.2.8: vlq@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" + resolved "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz" integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== void-elements@3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + resolved "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== vscode-oniguruma@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + resolved "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz" integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== vscode-textmate@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" + resolved "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz" integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== vue-eslint-parser@^9.1.0: version "9.4.2" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz#02ffcce82042b082292f2d1672514615f0d95b6d" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz" integrity sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ== dependencies: debug "^4.3.4" @@ -21570,26 +21567,26 @@ vue-eslint-parser@^9.1.0: w3c-xmlserializer@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz" integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== dependencies: xml-name-validator "^4.0.0" walker@^1.0.7, walker@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: makeerror "1.0.12" warn-once@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.1.tgz#952088f4fb56896e73fd4e6a3767272a3fccce43" + resolved "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz" integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q== watchpack@2.4.0, watchpack@^2.2.0, watchpack@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" @@ -21597,39 +21594,39 @@ watchpack@2.4.0, watchpack@^2.2.0, watchpack@^2.4.0: wcwidth@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== dependencies: defaults "^1.0.3" web-namespaces@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== web-worker@^1.2.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.3.0.tgz#e5f2df5c7fe356755a5fb8f8410d4312627e6776" + resolved "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz" integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webidl-conversions@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== webidl-conversions@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== webpack-dev-middleware@^6.1.1: version "6.1.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz#6bbc257ec83ae15522de7a62f995630efde7cc3d" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz" integrity sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ== dependencies: colorette "^2.0.10" @@ -21640,7 +21637,7 @@ webpack-dev-middleware@^6.1.1: webpack-hot-middleware@^2.25.1: version "2.26.1" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz#87214f1e3f9f3acab9271fef9e6ed7b637d719c0" + resolved "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz" integrity sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A== dependencies: ansi-html-community "0.0.8" @@ -21649,22 +21646,22 @@ webpack-hot-middleware@^2.25.1: webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack-virtual-modules@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" + resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz" integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== webpack-virtual-modules@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz#ac6fdb9c5adb8caecd82ec241c9631b7a3681b6f" + resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz" integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg== webpack@5: version "5.90.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz" integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== dependencies: "@types/eslint-scope" "^3.7.3" @@ -21694,7 +21691,7 @@ webpack@5: webpack@5.89.0: version "5.89.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" @@ -21724,24 +21721,24 @@ webpack@5.89.0: whatwg-encoding@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== dependencies: iconv-lite "0.6.3" whatwg-fetch@^3.0.0: version "3.6.20" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" + resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz" integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== whatwg-mimetype@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz" integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== whatwg-url-without-unicode@8.0.0-3: version "8.0.0-3" - resolved "https://registry.yarnpkg.com/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz#ab6df4bf6caaa6c85a59f6e82c026151d4bb376b" + resolved "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz" integrity sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig== dependencies: buffer "^5.4.3" @@ -21750,7 +21747,7 @@ whatwg-url-without-unicode@8.0.0-3: whatwg-url@^11.0.0: version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz" integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== dependencies: tr46 "^3.0.0" @@ -21758,7 +21755,7 @@ whatwg-url@^11.0.0: whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -21766,7 +21763,7 @@ whatwg-url@^5.0.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -21777,7 +21774,7 @@ which-boxed-primitive@^1.0.2: which-builtin-type@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== dependencies: function.prototype.name "^1.1.5" @@ -21795,7 +21792,7 @@ which-builtin-type@^1.1.3: which-collection@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== dependencies: is-map "^2.0.1" @@ -21805,12 +21802,12 @@ which-collection@^1.0.1: which-module@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.2, which-typed-array@^1.1.9: version "1.1.14" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz" integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== dependencies: available-typed-arrays "^1.0.6" @@ -21821,43 +21818,43 @@ which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.2, which@^1.2.9: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" wide-align@^1.1.2: version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" wonka@^4.0.14: version "4.0.15" - resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.15.tgz#9aa42046efa424565ab8f8f451fcca955bf80b89" + resolved "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz" integrity sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg== wonka@^6.3.2: version "6.3.4" - resolved "https://registry.yarnpkg.com/wonka/-/wonka-6.3.4.tgz#76eb9316e3d67d7febf4945202b5bdb2db534594" + resolved "https://registry.npmjs.org/wonka/-/wonka-6.3.4.tgz" integrity sha512-CjpbqNtBGNAeyNS/9W6q3kSkKE52+FjIj7AkFlLr11s/VWGUu6a2CdYSdGxocIhIVjaW/zchesBQUKPVU69Cqg== wordwrap@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -21866,7 +21863,7 @@ wordwrap@^1.0.0: wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" @@ -21875,7 +21872,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -21884,7 +21881,7 @@ wrap-ansi@^8.1.0: wrap-ansi@^9.0.0: version "9.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz" integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== dependencies: ansi-styles "^6.2.1" @@ -21893,12 +21890,12 @@ wrap-ansi@^9.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^2.3.0: version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" @@ -21907,7 +21904,7 @@ write-file-atomic@^2.3.0: write-file-atomic@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" @@ -21915,36 +21912,36 @@ write-file-atomic@^4.0.2: ws@6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.0.tgz#13806d9913b2a5f3cbb9ba47b563c002cbc7c526" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz" integrity sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w== dependencies: async-limiter "~1.0.0" ws@^6.1.0, ws@^6.2.2: version "6.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" ws@^7, ws@^7.5.1: version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.11.0: version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== ws@^8.12.1, ws@^8.2.3: version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== xcode@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" + resolved "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz" integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== dependencies: simple-plist "^1.1.0" @@ -21952,12 +21949,12 @@ xcode@^3.0.1: xdg-basedir@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== xdg-trashdir@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/xdg-trashdir/-/xdg-trashdir-3.1.0.tgz#7294262d5793eb5488c2f529fba883ec32a24ea0" + resolved "https://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-3.1.0.tgz" integrity sha512-N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ== dependencies: "@sindresorhus/df" "^3.1.1" @@ -21967,12 +21964,12 @@ xdg-trashdir@^3.1.0: xml-name-validator@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== xml2js@0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.0.tgz#07afc447a97d2bd6507a1f76eeadddb09f7a8282" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz" integrity sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w== dependencies: sax ">=0.6.0" @@ -21980,67 +21977,67 @@ xml2js@0.6.0: xmlbuilder@^14.0.0: version "14.0.0" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-14.0.0.tgz#876b5aec4f05ffd5feb97b0a871c855d16fbeb8c" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz" integrity sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg== xmlbuilder@^15.1.1: version "15.1.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== xmlbuilder@~11.0.0: version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== xmlchars@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== xtend@~4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@2.3.4, yaml@^2.2.1, yaml@^2.3.4: version "2.3.4" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== yaml@^1.10.0: version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" @@ -22048,17 +22045,17 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3: yargs-parser@^20.2.9: version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs-parser@^21.1.1: version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^15.1.0: version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" @@ -22075,7 +22072,7 @@ yargs@^15.1.0: yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2: version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" @@ -22088,7 +22085,7 @@ yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2: yauzl@^2.10.0: version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" @@ -22096,44 +22093,44 @@ yauzl@^2.10.0: yn@3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yocto-queue@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== zod@^3.22.3, zod@^3.22.4: version "3.22.4" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" + resolved "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz" integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== zod@^3.23.8: version "3.23.8" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" + resolved "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz" integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== zustand@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.0.tgz#141354af56f91de378aa6c4b930032ab338f3ef0" + resolved "https://registry.npmjs.org/zustand/-/zustand-4.5.0.tgz" integrity sha512-zlVFqS5TQ21nwijjhJlx4f9iGrXSL0o/+Dpy4txAP22miJ8Ti6c1Ol1RLNN98BMib83lmDH/2KmLwaNXpjrO1A== dependencies: use-sync-external-store "1.2.0" zustand@^4.5.2: version "4.5.2" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.2.tgz#fddbe7cac1e71d45413b3682cdb47b48034c3848" + resolved "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz" integrity sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g== dependencies: use-sync-external-store "1.2.0" zwitch@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 75f97cc9fa94ed73b5c649cd79f389a17d3dfcec Mon Sep 17 00:00:00 2001 From: Aaron Leopold <36278431+aaronleopold@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:32:21 -0700 Subject: [PATCH 02/17] =?UTF-8?q?=F0=9F=96=A5=EF=B8=8F=20Desktop-related?= =?UTF-8?q?=20cleanup=20and=20fixes=20(#483)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/desktop/package.json | 4 ++-- apps/desktop/src/App.tsx | 2 +- packages/browser/src/scenes/auth/LoginOrClaimScene.tsx | 1 + packages/components/src/card/Card.tsx | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7be3aa253..84d701227 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -12,8 +12,8 @@ "vite": "vite --", "dev": "tauri dev", "build": "tauri build", - "build:mac-universal": "tauri build --target universal-apple-darwin -- --features bundled-server", - "build:mac-arm": "tauri build --target aarch64-apple-darwin -- --features bundled-server", + "build:mac-universal": "yarn exec vite build && tauri build --target universal-apple-darwin -- --features bundled-server", + "build:mac-arm": "yarn exec vite build && tauri build --target aarch64-apple-darwin -- --features bundled-server", "build:windows": "tauri build --target x86_64-pc-windows-msvc -- --features bundled-server", "nuke": "yarn exec rimraf node_modules" }, diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 1a3269644..2b03ebd3d 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -82,7 +82,7 @@ function App() { return ( Date: Sat, 19 Oct 2024 17:46:11 -0700 Subject: [PATCH 03/17] :bug: Fix auth redirect issue after logout (#485) --- apps/server/src/config/session/utils.rs | 2 +- apps/server/src/routers/api/v1/auth.rs | 27 ++++- .../components/navigation/sidebar/Logout.tsx | 2 +- .../components/navigation/sidebar/SignOut.tsx | 4 +- .../src/scenes/auth/LoginOrClaimScene.tsx | 98 +++++++++---------- 5 files changed, 74 insertions(+), 59 deletions(-) diff --git a/apps/server/src/config/session/utils.rs b/apps/server/src/config/session/utils.rs index 78e7500fc..7147f46dc 100644 --- a/apps/server/src/config/session/utils.rs +++ b/apps/server/src/config/session/utils.rs @@ -46,7 +46,7 @@ pub fn delete_cookie_header() -> (String, String) { ( "Set-Cookie".to_string(), format!( - "{}={}; Path={}; Domain={}; Expires={}; Max-Age=0", + "{}={}; HttpOnly; SameSite=Lax; Path={}; Domain={}; Expires={}; Max-Age=0", SESSION_NAME, "", SESSION_PATH, "", "Thu, 01 Jan 1970 00:00:00 GMT" ), ) diff --git a/apps/server/src/routers/api/v1/auth.rs b/apps/server/src/routers/api/v1/auth.rs index 569f563a7..98b55e4f7 100644 --- a/apps/server/src/routers/api/v1/auth.rs +++ b/apps/server/src/routers/api/v1/auth.rs @@ -1,6 +1,8 @@ use axum::{ extract::{ConnectInfo, Query, State}, + http::{Response, StatusCode}, middleware, + response::IntoResponse, routing::{get, post}, Extension, Json, Router, }; @@ -20,7 +22,7 @@ use utoipa::ToSchema; use crate::{ config::{ jwt::{create_user_jwt, CreatedToken}, - session::SESSION_USER_KEY, + session::{delete_cookie_header, SESSION_USER_KEY}, state::AppState, }, errors::{api_error_message, APIError, APIResult}, @@ -341,9 +343,28 @@ async fn login( ) )] /// Destroys the session and logs the user out. -async fn logout(session: Session) -> APIResult<()> { +async fn logout(session: Session) -> APIResult { session.delete().await?; - Ok(()) + + let body = serde_json::json!({ + "status": 200, + "message": "OK", + }); + + let base_response = Json(body).into_response(); + + let (name, value) = delete_cookie_header(); + let builder = Response::builder() + .status(200) + .header("Content-Type", "application/json") + .header(name, value); + + Ok(builder + .body(base_response.into_body()) + .unwrap_or_else(|error| { + tracing::error!(?error, "Failed to build response"); + (StatusCode::INTERNAL_SERVER_ERROR, error.to_string()).into_response() + })) } #[utoipa::path( diff --git a/packages/browser/src/components/navigation/sidebar/Logout.tsx b/packages/browser/src/components/navigation/sidebar/Logout.tsx index 332180ec6..34ef63984 100644 --- a/packages/browser/src/components/navigation/sidebar/Logout.tsx +++ b/packages/browser/src/components/navigation/sidebar/Logout.tsx @@ -22,7 +22,7 @@ export default function Logout({ trigger }: Props) { .promise(sdk.auth.logout(), { error: 'There was an error logging you out. Please try again.', loading: null, - success: 'You have been logged out. Redirecting...', + success: 'You have been logged out', }) .then(() => { invalidateQueries({ keys: [sdk.server.keys.claimedStatus] }) diff --git a/packages/browser/src/components/navigation/sidebar/SignOut.tsx b/packages/browser/src/components/navigation/sidebar/SignOut.tsx index 4bb019603..031ceb8be 100644 --- a/packages/browser/src/components/navigation/sidebar/SignOut.tsx +++ b/packages/browser/src/components/navigation/sidebar/SignOut.tsx @@ -1,4 +1,4 @@ -import { invalidateQueries, useSDK } from '@stump/client' +import { queryClient, useSDK } from '@stump/client' import { ConfirmationModal, Text, useBoolean } from '@stump/components' import { LogOut } from 'lucide-react' import toast from 'react-hot-toast' @@ -21,7 +21,7 @@ export default function SignOut() { success: 'You have been logged out. Redirecting...', }) .then(() => { - invalidateQueries({ keys: [sdk.server.keys.claimedStatus] }) + queryClient.clear() setUser(null) navigate('/auth') }) diff --git a/packages/browser/src/scenes/auth/LoginOrClaimScene.tsx b/packages/browser/src/scenes/auth/LoginOrClaimScene.tsx index 50d46e358..cd5b34c9a 100644 --- a/packages/browser/src/scenes/auth/LoginOrClaimScene.tsx +++ b/packages/browser/src/scenes/auth/LoginOrClaimScene.tsx @@ -1,14 +1,14 @@ import { zodResolver } from '@hookform/resolvers/zod' -import { queryClient, useLoginOrRegister } from '@stump/client' +import { queryClient, useLoginOrRegister, useSDK } from '@stump/client' import { Alert, Button, cx, Form, Heading, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { isAxiosError } from '@stump/sdk' import { motion, Variants } from 'framer-motion' import { ArrowLeft, ArrowRight, ShieldAlert } from 'lucide-react' -import { useState } from 'react' +import { useCallback, useState } from 'react' import { FieldValues, useForm } from 'react-hook-form' import { toast } from 'react-hot-toast' -import { Navigate } from 'react-router' +import { useNavigate } from 'react-router' import { useSearchParams } from 'react-router-dom' import { z } from 'zod' @@ -16,17 +16,17 @@ import { ConfiguredServersList } from '@/components/savedServer' import { useAppStore, useUserStore } from '@/stores' export default function LoginOrClaimScene() { + const navigate = useNavigate() + const [params] = useSearchParams() - const redirect = params.get('redirect') || '/' + const [redirect] = useState(() => params.get('redirect') || '/') const [showServers, setShowServers] = useState(false) - const { user, setUser } = useUserStore((store) => ({ - setUser: store.setUser, - user: store.user, - })) + const setUser = useUserStore((store) => store.setUser) const isDesktop = useAppStore((store) => store.platform !== 'browser') + const { sdk } = useSDK() const { t } = useLocaleContext() const { isClaimed, @@ -37,7 +37,15 @@ export default function LoginOrClaimScene() { isRegistering, loginError, } = useLoginOrRegister({ - onSuccess: setUser, + onSuccess: async (user) => { + setUser(user) + await queryClient.refetchQueries([sdk.auth.keys.me], { exact: false }) + if (redirect.includes('/swagger')) { + window.location.href = redirect + } else { + navigate(redirect, { replace: true }) + } + }, refetchClaimed: !showServers, }) @@ -50,52 +58,34 @@ export default function LoginOrClaimScene() { resolver: zodResolver(schema), }) - async function handleSubmit(values: FieldValues) { - const { username, password } = values - const doLogin = async (firstTime = false) => - toast.promise(loginUser({ password, username }), { - error: (error) => { - console.error('Error logging in:', error) - return t('authScene.toasts.loginFailed') - }, - loading: t('authScene.toasts.loggingIn'), - success: firstTime - ? t('authScene.toasts.loggedInFirstTime') - : t('authScene.toasts.loggedIn'), - }) - if (isClaimed) { + const login = useCallback( + async ({ username, password }: FieldValues) => { try { - await doLogin() - } catch (_) { - // We already report the error from above with toast, but - // it still throws there error (annoyingly). In order for - // the form to not log up (i.e. get stuck in submitting state) - // we need to at the very least catch the error here + await loginUser({ password, username }) + } catch (error) { + console.error('Error logging in:', error) + toast.error(t('authScene.toasts.loginFailed')) } - } else { - toast - .promise(registerUser({ password, username }), { - error: t('authScene.toasts.registrationFailed'), - loading: t('authScene.toasts.registering'), - success: t('authScene.toasts.registered'), - }) - .then(() => doLogin(true)) - } - } - - if (user) { - queryClient.invalidateQueries(['getLibraries']) - // NOTE: if swagger UI, we need a redirect outside of react-router context, otherwise - // we will get a 404 trying to route to a server-rendered page via react-router - if (redirect.includes('/swagger')) { - window.location.href = redirect - return null - } + }, + [loginUser, t], + ) - return - } else if (isCheckingClaimed) { - return null - } + const handleSubmit = useCallback( + async ({ username, password }: FieldValues) => { + if (isClaimed) { + await login({ password, username }) + } else { + try { + await registerUser({ password, username }) + await login({ password, username }) + } catch (error) { + console.error('Error registering', error) + toast.error(t('authScene.toasts.registrationFailed')) + } + } + }, + [isClaimed, login, registerUser, t], + ) const renderHeader = () => { if (isClaimed) { @@ -136,6 +126,10 @@ export default function LoginOrClaimScene() { return null } + if (isCheckingClaimed) { + return null + } + return (
Date: Sun, 20 Oct 2024 12:55:20 -0700 Subject: [PATCH 04/17] :arrow_up: Upgrade frontend-tooling and docs (#486) * wip: fix tsc errors * wip: add lerna, pre-start upgrading dev tooling * wip: upgrade eslint * wip: fix lints * wip: so many * wow * lots of changes * wip: more fixes * fix components tsc checks * fix lints! * fix oopsie * wow * adjust ci * ugh * upgrade docs * fix redirects, add sdk docs * bump node version in ci * fix docs lint * bump docker node version * sigh * ignore transpiled tests * small doc changes --- .eslintignore | 8 - .eslintrc.js | 63 - .github/actions/setup-yarn/action.yml | 4 +- .github/workflows/ci.yaml | 4 - .husky/pre-commit | 1 - .vscode/.todo | 6 - apps/desktop/package.json | 3 +- apps/desktop/src/App.tsx | 1 - apps/expo/src/AppEntry.tsx | 1 + .../components/reader/UnsupportedReader.tsx | 2 - .../components/reader/epub/EpubJSFooter.tsx | 1 - .../components/reader/epub/EpubJSReader.tsx | 2 +- .../reader/epub/EpubJSReaderContainer.tsx | 1 - .../components/reader/epub/LoadingSpinner.tsx | 2 +- .../reader/image/ImageBasedReader.tsx | 2 +- .../reader/image/ReaderContainer.tsx | 2 - apps/expo/src/constants/colors.ts | 2 - apps/expo/src/screens/LoginOrClaim.tsx | 6 +- apps/expo/src/screens/ServerNotAccessible.tsx | 2 - .../authenticated/AuthenticatedNavigator.tsx | 1 - apps/expo/src/screens/authenticated/Home.tsx | 1 - .../authenticated/MainTabNavigator.tsx | 1 - .../authenticated/book/BookReaderScreen.tsx | 1 - .../screens/authenticated/explore/Explore.tsx | 2 +- .../authenticated/libraries/LibrariesList.tsx | 2 +- .../libraries/LibrarySeriesBooks.tsx | 2 +- .../libraries/LibrarySeriesList.tsx | 2 +- .../settings/SettingsListItem.tsx | 1 - .../settings/SettingsNavigator.tsx | 1 - .../authenticated/settings/SettingsRoot.tsx | 2 - .../settings/app/ColorSchemeToggle.tsx | 1 - .../settings/app/TabNameToggle.tsx | 1 - apps/expo/src/screens/offline/Downloads.tsx | 2 - apps/expo/tailwind.config.js | 2 - apps/server/package.json | 15 - apps/web/tsconfig.json | 4 + core/package.json | 16 - core/src/lib.rs | 1 - docker/Dockerfile | 2 +- docs/components/DownloadLinks.tsx | 3 +- docs/components/Footer.tsx | 1 - docs/next-env.d.ts | 2 +- docs/next.config.js | 48 - docs/next.config.mjs | 31 + docs/package.json | 9 +- docs/pages/_app.mdx | 5 - docs/pages/_app.tsx | 7 + docs/pages/_meta.json | 15 - docs/pages/_meta.ts | 17 + docs/pages/contributing.mdx | 2 +- docs/pages/guides/_meta.json | 15 - docs/pages/guides/_meta.ts | 19 + docs/pages/guides/access-control/_meta.json | 6 - docs/pages/guides/access-control/_meta.ts | 8 + .../access-control/age-restrictions.mdx | 2 +- docs/pages/guides/api.mdx | 47 +- docs/pages/guides/basics/_meta.json | 10 - docs/pages/guides/basics/_meta.ts | 12 + docs/pages/guides/basics/books.md | 2 +- docs/pages/guides/basics/readers.mdx | 2 +- docs/pages/guides/basics/series.mdx | 2 +- docs/pages/guides/basics/tags.mdx | 5 +- docs/pages/guides/basics/thumbnails.mdx | 2 +- docs/pages/guides/book-clubs/overview.mdx | 2 +- docs/pages/guides/configuration/_meta.json | 4 - docs/pages/guides/configuration/_meta.ts | 6 + docs/pages/guides/desktop/_meta.json | 3 - docs/pages/guides/desktop/_meta.ts | 5 + docs/pages/guides/desktop/index.mdx | 15 + docs/pages/guides/desktop/overview.mdx | 17 - docs/pages/guides/file-explorer.mdx | 2 +- .../guides/{getting-started.md => index.md} | 0 docs/pages/guides/mobile/_meta.json | 4 - docs/pages/guides/mobile/_meta.ts | 6 + docs/pages/guides/mobile/app.mdx | 15 +- docs/pages/guides/reading-list.mdx | 2 +- docs/pages/guides/smart-list.mdx | 2 +- docs/pages/installation/_meta.json | 16 - docs/pages/installation/_meta.ts | 18 + docs/pages/installation/docker.mdx | 4 +- docs/pages/installation/executable.mdx | 2 +- .../{getting-started.mdx => index.mdx} | 2 +- eslint.config.mjs | 61 + lerna.json | 6 + package.json | 76 +- packages/browser/babel.config.json | 2 +- packages/browser/jest.config.ts | 5 +- packages/browser/package.json | 5 +- packages/browser/src/App.tsx | 17 +- packages/browser/src/AppRouter.tsx | 2 +- .../src/components/GenericEmptyState.tsx | 1 - .../src/components/HorizontalCardList.tsx | 10 +- packages/browser/src/components/LinkBadge.tsx | 1 - packages/browser/src/components/ListItem.tsx | 2 +- .../src/components/PagePopoverForm.tsx | 2 +- .../components/ServerOwnerRouteWrapper.tsx | 1 - packages/browser/src/components/Spinner.tsx | 2 - .../src/components/TableOrGridLayout.tsx | 1 - packages/browser/src/components/TagSelect.tsx | 2 +- packages/browser/src/components/UserMenu.tsx | 4 +- .../browser/src/components/book/BookCard.tsx | 4 +- .../src/components/book/BookSearch.tsx | 17 +- .../src/components/book/BookSearchOverlay.tsx | 2 +- .../components/book/table/BookLinksCell.tsx | 1 - .../src/components/book/table/BookTable.tsx | 2 +- .../components/book/table/CoverImageCell.tsx | 4 +- .../createOrUpdateForm/MembershipOptions.tsx | 1 - .../createOrUpdateForm/RoleMappingForm.tsx | 1 - .../schedule/BookClubScheduleItem.tsx | 4 +- .../src/components/container/Container.tsx | 4 +- .../components/container/SceneContainer.tsx | 3 +- .../src/components/entity/AuthImage.tsx | 3 +- .../src/components/entity/EntityCard.tsx | 10 +- .../src/components/entity/EntityImage.tsx | 4 +- .../explorer/FileExplorerFooter.tsx | 2 +- .../explorer/FileExplorerHeader.tsx | 2 +- .../explorer/FileExplorerProvider.tsx | 2 +- .../src/components/explorer/FileThumbnail.tsx | 2 +- .../src/components/explorer/LayoutButtons.tsx | 1 - .../src/components/explorer/grid/FileGrid.tsx | 1 - .../components/explorer/grid/FileGridItem.tsx | 2 +- .../components/explorer/table/FileTable.tsx | 2 +- .../src/components/filters/FilterDisplay.tsx | 2 +- .../src/components/filters/FilterProvider.tsx | 8 +- .../components/filters/FilterSlideOver.tsx | 2 +- .../src/components/filters/FilterToolBar.tsx | 2 - .../src/components/filters/OrderBy.tsx | 2 +- .../browser/src/components/filters/Search.tsx | 4 +- .../components/filters/URLFilterContainer.tsx | 2 +- .../components/filters/URLFilterDrawer.tsx | 3 +- .../src/components/filters/URLOrdering.tsx | 2 +- .../src/components/filters/URLPageSize.tsx | 2 +- .../src/components/filters/URLPagination.tsx | 2 +- .../filters/form/AgeRatingFilter.tsx | 2 +- .../filters/form/ExtensionSelect.tsx | 1 - .../filters/form/GenericFilterMultiselect.tsx | 2 +- .../filters/form/MediaFilterForm.tsx | 2 +- .../filters/form/OrderByDirection.tsx | 1 - .../components/filters/form/OrderBySelect.tsx | 2 +- .../filters/form/ReadStatusSelect.tsx | 2 - .../filters/form/SeriesFilterForm.tsx | 1 - .../components/library/LastVisitedLibrary.tsx | 1 - .../sections/DefaultReadingSettings.tsx | 1 - .../sections/FileConversionOptions.tsx | 15 +- .../sections/IgnoreRulesConfig.tsx | 2 +- .../sections/ScannerOptInFeatures.tsx | 2 +- .../components/markdown/MarkdownEditor.tsx | 2 +- .../components/markdown/MarkdownPreview.tsx | 2 +- .../navigation/sidebar/Settings.tsx | 1 - .../components/navigation/sidebar/SideBar.tsx | 2 +- .../navigation/sidebar/SideBarButtonLink.tsx | 2 +- .../navigation/sidebar/SideBarFooter.tsx | 2 - .../sections/bookClub/BookClubEmoji.tsx | 1 - .../bookClub/BookClubSideBarSection.tsx | 1 - .../sidebar/sections/library/LibraryEmoji.tsx | 1 - .../library/LibrarySideBarSection.tsx | 2 +- .../components/navigation/topbar/TopBar.tsx | 2 +- .../navigation/topbar/TopBarButtonItem.tsx | 4 +- .../navigation/topbar/TopBarLinkListItem.tsx | 2 +- .../navigation/topbar/TopBarNavLink.tsx | 2 +- .../navigation/topbar/sections/UserMenu.tsx | 1 - .../book-club/BookClubNavigationItem.tsx | 1 - .../library/LibraryNavigationItem.tsx | 2 +- .../settings/SettingsNavigationItem.tsx | 1 - .../components/readers/epub/EpubJsReader.tsx | 216 +- .../readers/epub/EpubStreamReader.tsx | 33 +- .../readers/epub/controls/ControlButton.tsx | 2 +- .../readers/epub/controls/FontSizeControl.tsx | 2 +- .../epub/controls/FullScreenToggle.tsx | 1 - .../epub/controls/ReadingDirection.tsx | 1 - .../readers/epub/controls/SearchCommand.tsx | 2 +- .../readers/epub/controls/ThemeControls.tsx | 1 - .../readers/epub/locations/Bookmarks.tsx | 2 +- .../epub/locations/LocationManager.tsx | 2 +- .../epub/locations/TableOfContents.tsx | 2 +- .../readers/imageBased/ImageBasedReader.tsx | 22 +- .../container/BrightnessControl.tsx | 2 +- .../imageBased/container/ControlButton.tsx | 2 +- .../container/DoubleSpreadToggle.tsx | 1 - .../container/ImageScalingSelect.tsx | 2 +- .../imageBased/container/ReaderContainer.tsx | 6 +- .../container/ReadingDirectionSelect.tsx | 2 +- .../container/ReadingModeSelect.tsx | 2 +- .../continuous/ContinuousScrollReader.tsx | 2 +- .../imageBased/paged/AnimatedPagedReader.tsx | 54 +- .../readers/imageBased/paged/PagedReader.tsx | 2 +- .../readers/pdf/NativePDFViewer.tsx | 34 +- .../configuredServers/AddServerModal.tsx | 2 +- .../ConfiguredServersList.tsx | 2 +- .../DeleteServerConfirmation.tsx | 2 +- .../RemoveAllTokensConfirm.tsx | 2 +- .../RemoveAllTokensSection.tsx | 1 - .../ResetConfigurationConfirmation.tsx | 2 +- .../SwitchToServerConfirmation.tsx | 1 - .../CreateOrUpdateSavedServerForm.tsx | 1 - .../series/SeriesExplorationLayout.tsx | 1 - .../series/table/CoverImageCell.tsx | 4 +- .../components/series/table/SeriesTable.tsx | 2 +- .../settings/GenericSettingsHeader.tsx | 2 +- .../GenericSettingsSelectNavigation.tsx | 2 +- .../createOrUpdate/queryBuilder/GroupBy.tsx | 2 +- .../queryBuilder/filterGroup/FilterGroup.tsx | 2 +- .../queryBuilder/filterGroup/GroupJoiner.tsx | 1 - .../filterGroup/OperatorSelect.tsx | 2 +- .../filterGroup/filterValue/FilterValue.tsx | 2 +- .../sections/AccessSettings.tsx | 1 - .../createOrUpdate/sections/BasicDetails.tsx | 1 - .../sections/FilterConfigJSON.tsx | 2 +- .../steppedForm/SteppedFormIndicators.tsx | 2 +- .../steppedForm/SteppedFormSceneHeader.tsx | 1 - .../steppedForm/SteppedFormStepDetails.tsx | 1 - .../src/components/table/EntityTable.tsx | 4 +- .../table/EntityTableColumnConfiguration.tsx | 2 +- .../thumbnail/EditThumbnailDropdown.tsx | 2 +- .../components/thumbnail/UploadImageModal.tsx | 2 +- .../unimplemented/UnderConstruction.tsx | 1 - .../book/BookCompletionToggleButton.tsx | 2 +- .../src/scenes/book/BookFileInformation.tsx | 2 +- .../scenes/book/BookLibrarySeriesLinks.tsx | 6 +- .../src/scenes/book/BookOverviewScene.tsx | 14 +- .../src/scenes/book/BookReaderDropdown.tsx | 2 +- .../browser/src/scenes/book/BookRouter.tsx | 2 +- .../src/scenes/book/BooksAfterCursor.tsx | 20 +- .../src/scenes/book/EmailBookDropdown.tsx | 2 +- .../book/settings/BookManagementScene.tsx | 2 +- .../src/scenes/book/settings/BookPageGrid.tsx | 20 +- .../book/settings/BookThumbnailSelector.tsx | 2 +- .../src/scenes/bookClub/BookClubHeader.tsx | 1 - .../src/scenes/bookClub/BookClubLayout.tsx | 2 +- .../scenes/bookClub/BookClubNavigation.tsx | 2 +- .../src/scenes/bookClub/BookClubRouter.tsx | 2 +- .../scenes/bookClub/UserBookClubsScene.tsx | 1 - .../createClub/CreateBookClubForm.tsx | 2 +- .../createClub/CreateBookClubScene.tsx | 2 +- .../bookClub/createClub/CreateClubReview.tsx | 1 - .../bookClub/explore/BookClubExploreScene.tsx | 1 - .../discussion/BookClubDiscussionScene.tsx | 1 - .../bookClub/tabs/discussion/ChatMessage.tsx | 1 - .../tabs/home/BookClubOverviewScene.tsx | 4 +- .../tabs/members/BookClubMembersScene.tsx | 2 - .../tabs/settings/BookClubSettingsRouter.tsx | 10 +- .../tabs/settings/BookClubSettingsSideBar.tsx | 1 - .../tabs/settings/MemberSpecDisplay.tsx | 1 - .../settings/basics/BasicSettingsScene.tsx | 2 +- .../settings/danger/BookClubDeletionScene.tsx | 2 - .../settings/members/ManageMembersScene.tsx | 2 - .../tabs/settings/members/MembersTable.tsx | 2 +- .../tabs/settings/scheduler/AddBookCard.tsx | 26 +- .../scheduler/BookClubSchedulerScene.tsx | 2 - .../scheduler/CreateOrAddToScheduleForm.tsx | 3 +- .../src/scenes/bookSearch/BookSearchScene.tsx | 24 +- .../scenes/createLibrary/LibraryReview.tsx | 2 +- .../createSmartList/CreateSmartListForm.tsx | 2 +- .../createSmartList/CreateSmartListScene.tsx | 2 +- .../error/ServerConnectionErrorScene.tsx | 27 +- .../src/scenes/library/LibraryHeader.tsx | 1 - .../src/scenes/library/LibraryLayout.tsx | 2 +- .../src/scenes/library/LibraryNavigation.tsx | 2 +- .../src/scenes/library/LibraryRouter.tsx | 2 +- .../library/tabs/books/LibraryBooksScene.tsx | 22 +- .../tabs/series/LibrarySeriesScene.tsx | 38 +- .../tabs/settings/LibrarySeriesGrid.tsx | 20 +- .../tabs/settings/LibrarySettingsHeader.tsx | 2 +- .../tabs/settings/LibrarySettingsRouter.tsx | 18 +- .../LibrarySettingsSelectNavigation.tsx | 2 +- .../tabs/settings/LibrarySettingsSidebar.tsx | 1 - .../settings/basics/BasicSettingsScene.tsx | 2 +- .../accessControl/AccessControlScene.tsx | 2 - .../accessControl/LibraryExclusions.tsx | 2 +- .../settings/danger/deletion/CleanLibrary.tsx | 2 +- .../danger/deletion/DeleteLibrary.tsx | 2 +- .../danger/deletion/DeletionScene.tsx | 2 - .../FileConversionOptionsPatchForm.tsx | 2 +- .../settings/options/IgnoreRulesPatchForm.tsx | 2 +- .../options/ScannerFeaturesPatchForm.tsx | 2 +- .../options/analysis/AnalyzeMedia.tsx | 2 +- .../options/analysis/LibraryAnalysisScene.tsx | 1 - .../readingDefaults/ReadingDefaultsScene.tsx | 2 +- .../thumbnails/DeleteLibraryThumbnails.tsx | 2 +- .../thumbnails/LibraryThumbnailSelector.tsx | 2 +- .../thumbnails/RegenerateThumbnails.tsx | 1 - .../thumbnails/ThumbnailManagementSection.tsx | 1 - .../thumbnails/ThumbnailSettingsScene.tsx | 2 +- .../librarySearch/LibrarySearchScene.tsx | 2 - .../scenes/onboarding/OnBoardingRouter.tsx | 2 +- .../src/scenes/series/SeriesHeader.tsx | 1 - .../src/scenes/series/SeriesLayout.tsx | 1 - .../src/scenes/series/SeriesNavigation.tsx | 2 +- .../src/scenes/series/SeriesRouter.tsx | 2 +- .../series/tabs/books/SeriesBooksScene.tsx | 22 +- .../series/tabs/files/SeriesExplorerScene.tsx | 2 - .../series/tabs/settings/SeriesBookGrid.tsx | 20 +- .../tabs/settings/SeriesThumbnailSelector.tsx | 2 +- .../scenes/seriesSearch/SeriesSearchScene.tsx | 2 - .../src/scenes/settings/PreferenceToggle.tsx | 1 - .../src/scenes/settings/SettingsHeader.tsx | 2 +- .../src/scenes/settings/SettingsRouter.tsx | 1 - .../scenes/settings/SettingsSideBarLink.tsx | 1 - .../scenes/settings/app/AppSettingsRouter.tsx | 2 +- .../appearance/AppearanceSettingsScene.tsx | 2 +- .../settings/app/appearance/FontSelect.tsx | 2 +- .../app/appearance/GradientToggle.tsx | 1 - .../app/appearance/HideScrollbarToggle.tsx | 2 +- .../app/appearance/LiveRefetchToggle.tsx | 1 - .../app/appearance/MaxWidthPreference.tsx | 1 - .../app/appearance/PreferColorToggle.tsx | 2 - .../app/appearance/QueryIndicatorToggle.tsx | 4 +- .../app/appearance/ShowThumbnailsInHeader.tsx | 2 +- .../settings/app/appearance/ThemeSelect.tsx | 1 - .../navigation-arrangement/EntityOptions.tsx | 1 - .../NavigationArrangement.tsx | 2 +- .../NavigationArrangementItem.tsx | 2 +- .../settings-sidebar/DoubleSidebarToggle.tsx | 2 +- .../ReplacePrimarySidebarToggle.tsx | 2 +- .../app/desktop/DesktopSettingsScene.tsx | 1 - .../app/desktop/features/BundledServer.tsx | 2 +- .../features/DiscordPresenceSwitch.tsx | 1 - .../features/OptionalFeaturesSection.tsx | 1 - .../app/reader/PreloadPagesSection.tsx | 1 - .../app/reader/ReaderDefaultSettingsScene.tsx | 1 - .../settings/server/ServerSettingsRouter.tsx | 2 +- .../server/email/CreateEmailerScene.tsx | 2 +- .../server/email/EditEmailerScene.tsx | 2 +- .../server/email/EmailSettingsRouter.tsx | 2 +- .../server/email/EmailSettingsScene.tsx | 1 - .../devices/CreateOrUpdateDeviceModal.tsx | 2 +- .../devices/DeleteDeviceConfirmation.tsx | 2 +- .../server/email/devices/DeviceActionMenu.tsx | 1 - .../server/email/devices/DevicesSection.tsx | 2 +- .../server/email/devices/DevicesTable.tsx | 2 +- .../emailers/CreateOrUpdateEmailerForm.tsx | 2 +- .../email/emailers/EmailerActionMenu.tsx | 1 - .../server/email/emailers/EmailerListItem.tsx | 2 +- .../email/emailers/EmailerSendHistory.tsx | 2 +- .../emailers/EmailerSendHistoryTable.tsx | 6 +- .../EmailerSendRecordAttachmentTable.tsx | 2 +- .../server/email/emailers/EmailersList.tsx | 1 - .../server/email/emailers/EmailersSection.tsx | 2 +- .../general/GeneralServerSettingsScene.tsx | 1 - .../server/general/ServerInfoSection.tsx | 2 +- .../server/general/ServerPublicURL.tsx | 1 - .../settings/server/jobs/DeleteAllSection.tsx | 1 - .../settings/server/jobs/JobActionMenu.tsx | 2 +- .../settings/server/jobs/JobDataInspector.tsx | 1 - .../settings/server/jobs/JobScheduler.tsx | 2 +- .../scenes/settings/server/jobs/JobTable.tsx | 2 +- .../server/jobs/RunningJobElapsedTime.tsx | 2 +- .../server/logs/live-logs/LiveLogsFeed.tsx | 2 +- .../server/logs/live-logs/LiveLogsSection.tsx | 1 - .../logs/persisted-logs/LogLevelBadge.tsx | 2 +- .../persisted-logs/PersistedLogsSection.tsx | 1 - .../persisted-logs/PersistedLogsTable.tsx | 3 +- .../settings/server/users/UsersRouter.tsx | 2 +- .../settings/server/users/UsersStats.tsx | 71 +- .../users/create-or-update/AccountDetails.tsx | 2 +- .../CreateOrUpdateUserForm.tsx | 6 +- .../create-or-update/CreateUserScene.tsx | 1 - .../create-or-update/MaxSessionsAllowed.tsx | 2 +- .../create-or-update/UpdateUserScene.tsx | 1 - .../create-or-update/UserRestrictionsForm.tsx | 2 +- .../login-activity/ClearActivitySection.tsx | 1 - .../login-activity/LoginActivitySection.tsx | 1 - .../login-activity/LoginActivityTable.tsx | 4 +- .../users/user-table/InspectUserSlideOver.tsx | 1 - .../users/user-table/UserActionMenu.tsx | 4 +- .../src/scenes/smartList/SmartListCard.tsx | 2 +- .../src/scenes/smartList/SmartListRouter.tsx | 2 +- .../scenes/smartList/UserSmartListHeader.tsx | 1 - .../scenes/smartList/UserSmartListLayout.tsx | 4 +- .../smartList/UserSmartListNavigation.tsx | 2 +- .../scenes/smartList/UserSmartListRouter.tsx | 2 +- .../scenes/smartList/UserSmartListsScene.tsx | 2 +- .../items/UserSmartListItemsScene.tsx | 1 - .../items/list/GroupedSmartListItemList.tsx | 4 +- .../GroupedSmartListItemListGroupContent.tsx | 6 +- .../smartList/items/table/BookLinksCell.tsx | 1 - .../smartList/items/table/CoverImageCell.tsx | 4 +- .../items/table/CreateOrUpdateTableView.tsx | 2 +- .../items/table/FilterBottomDrawer.tsx | 1 - .../items/table/GroupedSmartListItemTable.tsx | 6 +- .../items/table/SavedViewSelector.tsx | 2 +- .../items/table/SmartListBookTable.tsx | 4 +- .../items/table/TableColumnsBottomDrawer.tsx | 2 +- .../items/table/TableHeaderActions.tsx | 2 +- .../items/table/ViewManagerDropdown.tsx | 4 +- .../settings/SmartListSettingsRouter.tsx | 10 +- .../settings/SmartListSettingsSideBar.tsx | 2 +- .../access/ChangeVisibilityConfirmation.tsx | 1 - .../settings/access/UserAccessManager.tsx | 1 - packages/browser/src/stores/desktop.ts | 42 +- packages/browser/tsconfig.json | 6 +- packages/client/package.json | 1 + packages/client/src/hooks/useCoreEvent.ts | 2 - packages/client/src/hooks/useStumpSse.ts | 23 +- packages/client/src/hooks/useStumpWs.ts | 3 +- packages/client/src/queries/auth.ts | 2 +- packages/client/src/queries/job.ts | 4 +- packages/client/src/queries/series.ts | 4 +- packages/client/src/sdk/SDKProvider.tsx | 5 - packages/client/tsconfig.json | 4 +- packages/components/.storybook/main.js | 1 + packages/components/.storybook/preview.js | 4 +- packages/components/package.json | 2 +- .../components/src/accordian/Accordion.tsx | 15 +- packages/components/src/alert/Alert.tsx | 7 +- packages/components/src/badge/Badge.tsx | 3 +- .../components/src/button/ButtonOrLink.tsx | 1 - packages/components/src/button/IconButton.tsx | 4 +- packages/components/src/card/Card.tsx | 9 +- packages/components/src/card/HoverCard.tsx | 9 +- .../components/src/command/primitives.tsx | 32 +- packages/components/src/container/Divider.tsx | 7 +- .../src/context-menu/ContextMenu.tsx | 6 +- .../src/context-menu/primitives.tsx | 34 +- packages/components/src/dialog/primitives.tsx | 24 +- packages/components/src/drawer/Drawer.tsx | 21 +- .../components/src/dropdown/DropdownMenu.tsx | 8 +- .../components/src/dropdown/primitives.tsx | 37 +- .../src/emoji/EmojiPicker.stories.tsx | 1 + packages/components/src/emoji/EmojiPicker.tsx | 2 +- packages/components/src/form/Form.tsx | 2 +- packages/components/src/form/Label.tsx | 6 +- packages/components/src/image/Avatar.tsx | 3 +- packages/components/src/image/primitives.tsx | 14 +- packages/components/src/input/Input.tsx | 9 +- .../components/src/input/raw/RawCheckBox.tsx | 5 +- .../components/src/input/raw/RawSwitch.tsx | 5 +- packages/components/src/link/Link.tsx | 9 +- .../src/navigation/NavigationMenu.tsx | 29 +- packages/components/src/popover/Popover.tsx | 8 +- .../components/src/progress/ProgressBar.tsx | 5 +- .../src/progress/ProgressSpinner.tsx | 5 +- packages/components/src/radio/primitives.tsx | 10 +- .../components/src/scroll-area/ScrollArea.tsx | 11 +- packages/components/src/select/primitives.tsx | 22 +- packages/components/src/sheet/Sheet.tsx | 10 +- packages/components/src/sheet/primitives.tsx | 80 +- packages/components/src/slider/Slider.tsx | 9 +- packages/components/src/tabs/Tabs.tsx | 18 +- packages/components/src/text/Heading.tsx | 5 +- packages/components/src/text/Separator.tsx | 6 +- packages/components/src/text/Statistic.tsx | 8 +- packages/components/src/text/Text.tsx | 5 +- packages/components/src/toast/primitives.tsx | 30 +- .../components/src/tooltip/primitives.tsx | 8 +- packages/components/tailwind/tailwind.js | 109 - packages/components/themes/autumn.ts | 5 + packages/components/themes/ocean.ts | 5 + packages/components/themes/types.ts | 2 +- packages/components/tsconfig.json | 7 +- packages/i18n/package.json | 1 + packages/i18n/src/LocaleProvider.tsx | 1 - packages/i18n/src/config.ts | 1 + packages/sdk/jest.config.ts | 5 + packages/sdk/package.json | 1 + packages/sdk/src/controllers/job-api.ts | 4 +- packages/sdk/src/types/generated.ts | 1 - packages/sdk/tsconfig.json | 8 +- scripts/release/bump-version.sh | 2 +- tsconfig.eslint.json | 1 + tsconfig.json | 5 +- yarn.lock | 6679 ++++++++++++----- 462 files changed, 6035 insertions(+), 3503 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.js delete mode 100644 .vscode/.todo delete mode 100644 apps/server/package.json delete mode 100644 core/package.json delete mode 100644 docs/next.config.js create mode 100644 docs/next.config.mjs delete mode 100644 docs/pages/_app.mdx create mode 100644 docs/pages/_app.tsx delete mode 100644 docs/pages/_meta.json create mode 100644 docs/pages/_meta.ts delete mode 100644 docs/pages/guides/_meta.json create mode 100644 docs/pages/guides/_meta.ts delete mode 100644 docs/pages/guides/access-control/_meta.json create mode 100644 docs/pages/guides/access-control/_meta.ts delete mode 100644 docs/pages/guides/basics/_meta.json create mode 100644 docs/pages/guides/basics/_meta.ts delete mode 100644 docs/pages/guides/configuration/_meta.json create mode 100644 docs/pages/guides/configuration/_meta.ts delete mode 100644 docs/pages/guides/desktop/_meta.json create mode 100644 docs/pages/guides/desktop/_meta.ts create mode 100644 docs/pages/guides/desktop/index.mdx delete mode 100644 docs/pages/guides/desktop/overview.mdx rename docs/pages/guides/{getting-started.md => index.md} (100%) delete mode 100644 docs/pages/guides/mobile/_meta.json create mode 100644 docs/pages/guides/mobile/_meta.ts delete mode 100644 docs/pages/installation/_meta.json create mode 100644 docs/pages/installation/_meta.ts rename docs/pages/installation/{getting-started.mdx => index.mdx} (94%) create mode 100644 eslint.config.mjs create mode 100644 lerna.json delete mode 100644 packages/components/tailwind/tailwind.js create mode 100644 packages/sdk/jest.config.ts diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index faf75a52f..000000000 --- a/.eslintignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules/ -*.min.js -*.map -*.snap -**/prisma/src/db.ts -**/prisma-cli/** -**/dist/** -**/target/** \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 8c578309c..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,63 +0,0 @@ -// TODO: Update this config... https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/ -// TODO: Please I already forgot :sob: -module.exports = { - env: { - browser: true, - node: true, - }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react/recommended', - 'plugin:react-hooks/recommended', - 'prettier', - ], - overrides: [ - { - files: ['*.jsx', '*.tsx', '*.ts'], - rules: { - '@typescript-eslint/no-non-null-assertion': 'off', - 'no-console': ['error', { allow: ['warn', 'error', 'debug'] }], - 'react/react-in-jsx-scope': 'off', - }, - }, - { - files: ['*.config.js', '.eslintrc.js'], - rules: { - '@typescript-eslint/no-var-requires': 'off', - 'import/no-commonjs': 'off', - 'sort-keys': 'off', - 'unicorn/prefer-module': 'off', - }, - }, - { - files: ['**/__tests__/**/*', '*.test.ts', '*.test.tsx'], - rules: { - '@typescript-eslint/no-explicit-any': 'off', - }, - }, - ], - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - project: 'tsconfig.eslint.json', - tsconfigRootDir: __dirname, - }, - plugins: ['@typescript-eslint', 'simple-import-sort', 'prettier', 'sort-keys-fix', 'react'], - root: true, - rules: { - 'import/no-unresolved': 'off', - 'import/no-useless-path-segments': 'off', - 'no-console': 'error', - 'simple-import-sort/exports': 'error', - 'simple-import-sort/imports': 'error', - 'sort-keys-fix/sort-keys-fix': 'warn', - }, - settings: { - react: { - version: 'detect', - }, - }, -} diff --git a/.github/actions/setup-yarn/action.yml b/.github/actions/setup-yarn/action.yml index c335da9a6..4d98b550a 100644 --- a/.github/actions/setup-yarn/action.yml +++ b/.github/actions/setup-yarn/action.yml @@ -13,7 +13,7 @@ runs: - name: Setup node uses: actions/setup-node@v4 with: - node-version: '20.0.0' + node-version: '20.9.0' - name: Install yarn shell: bash @@ -23,7 +23,7 @@ runs: if: ${{ inputs.cache-dependencies == 'true' }} uses: actions/setup-node@v4 with: - node-version: '20.0.0' + node-version: '20.9.0' cache: 'yarn' - name: Install dependencies diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 296511de5..ad4779a46 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -100,9 +100,5 @@ jobs: - name: Run TypeScript lints run: yarn lint - # TODO: Figure out how to run tests in parallel, I don't really want to upgrade to berry which - # means perhaps lerna is the only option? It isn't a big deal now since there is really only one - # package that defines tests, but this will change over time - name: Run TypeScript tests run: yarn test - working-directory: ./packages/browser diff --git a/.husky/pre-commit b/.husky/pre-commit index c37466e2b..210877eea 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,3 @@ #!/bin/sh -. "$(dirname "$0")/_/husky.sh" npx lint-staged \ No newline at end of file diff --git a/.vscode/.todo b/.vscode/.todo deleted file mode 100644 index bd81cde3e..000000000 --- a/.vscode/.todo +++ /dev/null @@ -1,6 +0,0 @@ -- [ ] remove prelude crate and put all the structs/enums/etc in corresponding files - - [ ] things only used in `apps/server` should be moved there, rather than living in `core` -- [ ] explore https://prisma.brendonovich.dev/extra/partial-types -- [ ] find all `NOTE: EPUB feature tracking!` comments once I have time to start epub progress tracking.. -- [ ] start documenting code better!! - - honestly it will be much easier I think 1. to maintain and 2. to onboard new contributors if everything and every decision is documented diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 84d701227..4396d1688 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -4,8 +4,7 @@ "description": "", "license": "MIT", "scripts": { - "lint": "cargo clippy --package stump_desktop -- -D warnings", - "format": "cargo fmt --package stump_desktop", + "lint": "eslint .", "tauri": "tauri", "start": "tauri dev --no-watch", "start-bundled": "yarn tauri dev --no-watch -- --features bundled-server", diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 2b03ebd3d..e29fca346 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -51,7 +51,6 @@ function App() { try { const currentServer = await store.get('active_server') if (token && currentServer) { - console.debug('Saving API token for', currentServer.name) await tauriRPC.setApiToken(currentServer.name, token) } } catch (err) { diff --git a/apps/expo/src/AppEntry.tsx b/apps/expo/src/AppEntry.tsx index 2b124949e..e5efab3d2 100644 --- a/apps/expo/src/AppEntry.tsx +++ b/apps/expo/src/AppEntry.tsx @@ -11,6 +11,7 @@ SplashScreen.preventAutoHideAsync() export function AppEntry() { const [loaded, error] = useFonts({ + // eslint-disable-next-line @typescript-eslint/no-require-imports SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'), }) diff --git a/apps/expo/src/components/reader/UnsupportedReader.tsx b/apps/expo/src/components/reader/UnsupportedReader.tsx index 3a6f7ad1a..e3d9c5ebd 100644 --- a/apps/expo/src/components/reader/UnsupportedReader.tsx +++ b/apps/expo/src/components/reader/UnsupportedReader.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { ScreenRootView, Text } from '../primitives' export default function UnsupportedReader() { diff --git a/apps/expo/src/components/reader/epub/EpubJSFooter.tsx b/apps/expo/src/components/reader/epub/EpubJSFooter.tsx index 3d7f66a03..aac93a375 100644 --- a/apps/expo/src/components/reader/epub/EpubJSFooter.tsx +++ b/apps/expo/src/components/reader/epub/EpubJSFooter.tsx @@ -1,5 +1,4 @@ import { useReader } from '@epubjs-react-native/core' -import React from 'react' import { useSafeAreaInsets } from 'react-native-safe-area-context' import { Text, View } from '@/components/primitives' diff --git a/apps/expo/src/components/reader/epub/EpubJSReader.tsx b/apps/expo/src/components/reader/epub/EpubJSReader.tsx index 92f49ac1a..edb965a27 100644 --- a/apps/expo/src/components/reader/epub/EpubJSReader.tsx +++ b/apps/expo/src/components/reader/epub/EpubJSReader.tsx @@ -4,7 +4,7 @@ import { useSDK } from '@stump/client' import { isAxiosError } from '@stump/sdk' import { Media } from '@stump/sdk' import { useColorScheme } from 'nativewind' -import React, { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' import { useWindowDimensions } from 'react-native' import EpubJSReaderContainer from './EpubJSReaderContainer' diff --git a/apps/expo/src/components/reader/epub/EpubJSReaderContainer.tsx b/apps/expo/src/components/reader/epub/EpubJSReaderContainer.tsx index bc61d6ca7..fc570a6d1 100644 --- a/apps/expo/src/components/reader/epub/EpubJSReaderContainer.tsx +++ b/apps/expo/src/components/reader/epub/EpubJSReaderContainer.tsx @@ -1,5 +1,4 @@ import { ReaderProvider } from '@epubjs-react-native/core' -import React from 'react' import { ScreenRootView, View } from '@/components/primitives' diff --git a/apps/expo/src/components/reader/epub/LoadingSpinner.tsx b/apps/expo/src/components/reader/epub/LoadingSpinner.tsx index a8a7facc3..1afe0c4ae 100644 --- a/apps/expo/src/components/reader/epub/LoadingSpinner.tsx +++ b/apps/expo/src/components/reader/epub/LoadingSpinner.tsx @@ -1,5 +1,5 @@ import { LoadingFileProps } from '@epubjs-react-native/core' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import { Text, View } from '@/components/primitives' diff --git a/apps/expo/src/components/reader/image/ImageBasedReader.tsx b/apps/expo/src/components/reader/image/ImageBasedReader.tsx index 4b8f9533d..54ff83ff9 100644 --- a/apps/expo/src/components/reader/image/ImageBasedReader.tsx +++ b/apps/expo/src/components/reader/image/ImageBasedReader.tsx @@ -2,7 +2,7 @@ import { useSDK, useUpdateMediaProgress } from '@stump/client' import { isAxiosError } from '@stump/sdk' import { Media } from '@stump/sdk' import { useColorScheme } from 'nativewind' -import React, { useCallback, useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' import { FlatList, TouchableWithoutFeedback, useWindowDimensions } from 'react-native' import { useSafeAreaInsets } from 'react-native-safe-area-context' diff --git a/apps/expo/src/components/reader/image/ReaderContainer.tsx b/apps/expo/src/components/reader/image/ReaderContainer.tsx index 7473286b3..d139136ab 100644 --- a/apps/expo/src/components/reader/image/ReaderContainer.tsx +++ b/apps/expo/src/components/reader/image/ReaderContainer.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { ScreenRootView } from '@/components/primitives' type Props = { diff --git a/apps/expo/src/constants/colors.ts b/apps/expo/src/constants/colors.ts index 36822392c..ba3b1734c 100644 --- a/apps/expo/src/constants/colors.ts +++ b/apps/expo/src/constants/colors.ts @@ -1,5 +1,3 @@ -/* eslint-disable sort-keys-fix/sort-keys-fix */ - export const gray = { DEFAULT: '#292C30', 50: '#E2E4E6', diff --git a/apps/expo/src/screens/LoginOrClaim.tsx b/apps/expo/src/screens/LoginOrClaim.tsx index 93eaea6e8..d3a26882c 100644 --- a/apps/expo/src/screens/LoginOrClaim.tsx +++ b/apps/expo/src/screens/LoginOrClaim.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useLoginOrRegister } from '@stump/client' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { Controller, useForm } from 'react-hook-form' import { Image, Text, TouchableOpacity, View } from 'react-native' import { z } from 'zod' @@ -41,7 +41,7 @@ export default function LoginOrClaim() { await registerUser({ password, username }) await loginUser({ password, username }) } - } catch (error) { + } catch { // TODO: alert error or set error somewhere } }, @@ -53,6 +53,7 @@ export default function LoginOrClaim() { // just return a view with the icon.png: return ( + {/* eslint-disable-next-line @typescript-eslint/no-require-imports */} ) @@ -63,6 +64,7 @@ export default function LoginOrClaim() { Enter a username and password to claim it + {/* eslint-disable-next-line @typescript-eslint/no-require-imports */} ) diff --git a/apps/expo/src/screens/ServerNotAccessible.tsx b/apps/expo/src/screens/ServerNotAccessible.tsx index 5362b7dc0..306dc73c5 100644 --- a/apps/expo/src/screens/ServerNotAccessible.tsx +++ b/apps/expo/src/screens/ServerNotAccessible.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { ScreenRootView, Text } from '@/components' // TODO: This component needs to be aware: diff --git a/apps/expo/src/screens/authenticated/AuthenticatedNavigator.tsx b/apps/expo/src/screens/authenticated/AuthenticatedNavigator.tsx index 0db64dc03..d42266821 100644 --- a/apps/expo/src/screens/authenticated/AuthenticatedNavigator.tsx +++ b/apps/expo/src/screens/authenticated/AuthenticatedNavigator.tsx @@ -1,5 +1,4 @@ import { createNativeStackNavigator } from '@react-navigation/native-stack' -import React from 'react' import { BookStackNavigator } from './book' import MainTabNavigator from './MainTabNavigator' diff --git a/apps/expo/src/screens/authenticated/Home.tsx b/apps/expo/src/screens/authenticated/Home.tsx index 7fba2ad3c..648646beb 100644 --- a/apps/expo/src/screens/authenticated/Home.tsx +++ b/apps/expo/src/screens/authenticated/Home.tsx @@ -1,5 +1,4 @@ import { queryClient, useSDK } from '@stump/client' -import React from 'react' import { Button } from 'react-native' import { ScreenRootView, Text } from '@/components' diff --git a/apps/expo/src/screens/authenticated/MainTabNavigator.tsx b/apps/expo/src/screens/authenticated/MainTabNavigator.tsx index e3ce3ff14..c9c4e19cc 100644 --- a/apps/expo/src/screens/authenticated/MainTabNavigator.tsx +++ b/apps/expo/src/screens/authenticated/MainTabNavigator.tsx @@ -7,7 +7,6 @@ import { Settings as SettingsIcon, } from 'lucide-react-native' import { useColorScheme } from 'nativewind' -import React from 'react' import { gray } from '@/constants/colors' import { usePreferencesStore } from '@/stores' diff --git a/apps/expo/src/screens/authenticated/book/BookReaderScreen.tsx b/apps/expo/src/screens/authenticated/book/BookReaderScreen.tsx index 83ad45f3a..49b9ff1cf 100644 --- a/apps/expo/src/screens/authenticated/book/BookReaderScreen.tsx +++ b/apps/expo/src/screens/authenticated/book/BookReaderScreen.tsx @@ -1,6 +1,5 @@ import { RouteProp, useRoute } from '@react-navigation/native' import { ARCHIVE_EXTENSION, EBOOK_EXTENSION, PDF_EXTENSION, useMediaByIdQuery } from '@stump/client' -import React from 'react' import { EpubJSReader, ImageBasedReader, UnsupportedReader } from '@/components/reader' diff --git a/apps/expo/src/screens/authenticated/explore/Explore.tsx b/apps/expo/src/screens/authenticated/explore/Explore.tsx index 54deb89b6..d152d1fc3 100644 --- a/apps/expo/src/screens/authenticated/explore/Explore.tsx +++ b/apps/expo/src/screens/authenticated/explore/Explore.tsx @@ -1,6 +1,6 @@ import { useNavigation } from '@react-navigation/native' import { useMediaCursorQuery } from '@stump/client' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { FlatList } from 'react-native' import { ScreenRootView, View } from '@/components' diff --git a/apps/expo/src/screens/authenticated/libraries/LibrariesList.tsx b/apps/expo/src/screens/authenticated/libraries/LibrariesList.tsx index 5ce9e1892..a346a3610 100644 --- a/apps/expo/src/screens/authenticated/libraries/LibrariesList.tsx +++ b/apps/expo/src/screens/authenticated/libraries/LibrariesList.tsx @@ -1,7 +1,7 @@ import { useNavigation } from '@react-navigation/native' import { useLibraries } from '@stump/client' import { Library } from '@stump/sdk' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { FlatList, TouchableOpacity } from 'react-native' import { ScreenRootView, Text, View } from '@/components' diff --git a/apps/expo/src/screens/authenticated/libraries/LibrarySeriesBooks.tsx b/apps/expo/src/screens/authenticated/libraries/LibrarySeriesBooks.tsx index af371406a..45e077f28 100644 --- a/apps/expo/src/screens/authenticated/libraries/LibrarySeriesBooks.tsx +++ b/apps/expo/src/screens/authenticated/libraries/LibrarySeriesBooks.tsx @@ -1,6 +1,6 @@ import { type RouteProp, useNavigation, useRoute } from '@react-navigation/native' import { useMediaCursorQuery } from '@stump/client' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { FlatList } from 'react-native' import { ScreenRootView, View } from '@/components' diff --git a/apps/expo/src/screens/authenticated/libraries/LibrarySeriesList.tsx b/apps/expo/src/screens/authenticated/libraries/LibrarySeriesList.tsx index f9861cfef..a3392d7f8 100644 --- a/apps/expo/src/screens/authenticated/libraries/LibrarySeriesList.tsx +++ b/apps/expo/src/screens/authenticated/libraries/LibrarySeriesList.tsx @@ -1,7 +1,7 @@ import { type RouteProp, useNavigation, useRoute } from '@react-navigation/native' import { useSeriesCursorQuery } from '@stump/client' import { Series } from '@stump/sdk' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { FlatList, TouchableOpacity } from 'react-native' import { ScreenRootView, Text, View } from '@/components' diff --git a/apps/expo/src/screens/authenticated/settings/SettingsListItem.tsx b/apps/expo/src/screens/authenticated/settings/SettingsListItem.tsx index 267baef7e..02ec5aaeb 100644 --- a/apps/expo/src/screens/authenticated/settings/SettingsListItem.tsx +++ b/apps/expo/src/screens/authenticated/settings/SettingsListItem.tsx @@ -1,6 +1,5 @@ import { ChevronRight } from 'lucide-react-native' import { useColorScheme } from 'nativewind' -import React from 'react' import { Link, Text, View } from '@/components' import { gray } from '@/constants/colors' diff --git a/apps/expo/src/screens/authenticated/settings/SettingsNavigator.tsx b/apps/expo/src/screens/authenticated/settings/SettingsNavigator.tsx index 4153328d7..51e014265 100644 --- a/apps/expo/src/screens/authenticated/settings/SettingsNavigator.tsx +++ b/apps/expo/src/screens/authenticated/settings/SettingsNavigator.tsx @@ -1,6 +1,5 @@ import { NavigationProp } from '@react-navigation/native' import { createNativeStackNavigator } from '@react-navigation/native-stack' -import React from 'react' import { AccountSettings, AppearanceSettings } from './app' import SettingsRoot from './SettingsRoot' diff --git a/apps/expo/src/screens/authenticated/settings/SettingsRoot.tsx b/apps/expo/src/screens/authenticated/settings/SettingsRoot.tsx index 51d2fcad9..60b31479d 100644 --- a/apps/expo/src/screens/authenticated/settings/SettingsRoot.tsx +++ b/apps/expo/src/screens/authenticated/settings/SettingsRoot.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { ScreenRootView, Text, View } from '@/components' import SettingsListItem from './SettingsListItem' diff --git a/apps/expo/src/screens/authenticated/settings/app/ColorSchemeToggle.tsx b/apps/expo/src/screens/authenticated/settings/app/ColorSchemeToggle.tsx index e8ee0337d..e8ec3bd18 100644 --- a/apps/expo/src/screens/authenticated/settings/app/ColorSchemeToggle.tsx +++ b/apps/expo/src/screens/authenticated/settings/app/ColorSchemeToggle.tsx @@ -1,5 +1,4 @@ import { useColorScheme } from 'nativewind' -import React from 'react' import { Switch } from 'react-native' import { Text, View } from '@/components' diff --git a/apps/expo/src/screens/authenticated/settings/app/TabNameToggle.tsx b/apps/expo/src/screens/authenticated/settings/app/TabNameToggle.tsx index d50e560d9..6736c1871 100644 --- a/apps/expo/src/screens/authenticated/settings/app/TabNameToggle.tsx +++ b/apps/expo/src/screens/authenticated/settings/app/TabNameToggle.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Switch } from 'react-native' import { Text, View } from '@/components' diff --git a/apps/expo/src/screens/offline/Downloads.tsx b/apps/expo/src/screens/offline/Downloads.tsx index 5d0f0e093..69647b13d 100644 --- a/apps/expo/src/screens/offline/Downloads.tsx +++ b/apps/expo/src/screens/offline/Downloads.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { ScreenRootView, Text } from '@/components' export default function Downloads() { diff --git a/apps/expo/tailwind.config.js b/apps/expo/tailwind.config.js index 864220295..efe687fd7 100644 --- a/apps/expo/tailwind.config.js +++ b/apps/expo/tailwind.config.js @@ -1,5 +1,3 @@ -/* eslint-disable sort-keys-fix/sort-keys-fix */ - /** @type {import('tailwindcss').Config} */ module.exports = { content: ['./src/**/*.{js,jsx,ts,tsx}'], diff --git a/apps/server/package.json b/apps/server/package.json deleted file mode 100644 index fcbef93f3..000000000 --- a/apps/server/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@stump/server", - "private": true, - "version": "0.0.7", - "scripts": { - "lint": "cargo clippy --package stump_server -- -D warnings", - "format": "cargo fmt --package stump_server", - "start": "cargo run --release --package stump_server", - "dev": "cargo watch --ignore core/prisma -x run", - "build": "cargo build --release --package stump_server", - "delete-webapp": "trash \"dist/*\" \"!dist/.placeholder\"", - "get-webapp": "cp -r ../web/dist ./dist", - "nuke": "rimraf node_modules" - } -} diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index e32a6421e..85e8cc931 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -6,6 +6,10 @@ "jsx": "preserve", "module": "es2022", "moduleResolution": "Node", + "composite": true, + "declaration": true, + "emitDeclarationOnly": true, + "outDir": "dist", "paths": { "@stump/client": ["../../packages/client/src/index.ts"], "@stump/client/*": ["../../packages/client/src/*"], diff --git a/core/package.json b/core/package.json deleted file mode 100644 index cbc3c1652..000000000 --- a/core/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "@stump/core", - "version": "0.0.0", - "description": "", - "keywords": [], - "license": "MIT", - "scripts": { - "lint": "cargo clippy --package stump_core -- -D warnings", - "prisma": "cargo prisma", - "studio": "yarn dlx prisma studio", - "build": "cargo build --release", - "format": "cargo fmt --package stump_core", - "integration-tests": "cargo integration-tests", - "nuke": "rimraf node_modules" - } -} diff --git a/core/src/lib.rs b/core/src/lib.rs index 33fc70c2d..fec8d6d1e 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -274,7 +274,6 @@ mod tests { let mut file = File::create(path)?; - file.write_all(b"/* eslint-disable @typescript-eslint/ban-types */\n")?; file.write_all(b"// DO NOT MODIFY THIS FILE, IT IS AUTOGENERATED\n\n")?; file.write_all(b"// CORE TYPE GENERATION\n\n")?; diff --git a/docker/Dockerfile b/docker/Dockerfile index 5d6c3a6e0..712db7988 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,7 +2,7 @@ # Frontend Build Stage # ------------------------------------------------------------------------------ -FROM node:20.0.0-alpine3.16 AS frontend +FROM node:20.9.0-alpine3.18 AS frontend ARG TARGETARCH WORKDIR /app diff --git a/docs/components/DownloadLinks.tsx b/docs/components/DownloadLinks.tsx index 4f8afd092..fa80ea348 100644 --- a/docs/components/DownloadLinks.tsx +++ b/docs/components/DownloadLinks.tsx @@ -8,7 +8,6 @@ import { } from '@icons-pack/react-simple-icons' import clsx from 'clsx' import { motion } from 'framer-motion' -import React from 'react' const BASE_DELAY = 1.5 const getDelay = (idx: number) => BASE_DELAY + (idx + 1) * 0.25 @@ -25,7 +24,7 @@ export default function DownloadLinks() { > // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. diff --git a/docs/next.config.js b/docs/next.config.js deleted file mode 100644 index 4d7ddc55a..000000000 --- a/docs/next.config.js +++ /dev/null @@ -1,48 +0,0 @@ -// @ts-expect-error: idk y though -const withNextra = require('nextra')({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.tsx', -}) - -module.exports = { - ...withNextra(), - async redirects() { - return [ - { - destination: '/installation/getting-started', - permanent: true, - source: '/installation', - }, - { - destination: '/guides/getting-started', - permanent: true, - source: '/guides', - }, - { - destination: '/guides/access-control/age-restrictions', - permanent: true, - source: '/guides/access-control', - }, - { - destination: '/guides/basics/books', - permanent: true, - source: '/guides/basics', - }, - { - destination: '/guides/book-clubs/overview', - permanent: true, - source: '/guides/book-clubs', - }, - { - destination: '/guides/configuration/server-options', - permanent: true, - source: '/guides/configuration', - }, - { - destination: '/guides/desktop/overview', - permanent: true, - source: '/guides/desktop', - }, - ] - }, -} diff --git a/docs/next.config.mjs b/docs/next.config.mjs new file mode 100644 index 000000000..0f0a2a14c --- /dev/null +++ b/docs/next.config.mjs @@ -0,0 +1,31 @@ +import nextra from 'nextra' + +const withNextra = nextra({ + theme: 'nextra-theme-docs', + themeConfig: './theme.config.tsx', +}) + +export default withNextra({ + redirects: async () => [ + { + source: '/guides/access-control', + destination: '/guides/access-control/age-restrictions', + permanent: true, + }, + { + source: '/guides/basics', + destination: '/guides/basics/books', + permanent: true, + }, + { + source: '/guides/book-clubs', + destination: '/guides/book-clubs/overview', + permanent: true, + }, + { + source: '/guides/configuration', + destination: '/guides/configuration/server-options', + permanent: true, + }, + ], +}) diff --git a/docs/package.json b/docs/package.json index b830949df..61856fe9b 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,7 +8,7 @@ "build": "next build", "export": "next export", "start": "next start", - "lint": "next lint", + "lint": "eslint .", "deploy-preview": "vercel", "deploy": "vercel --prod", "nuke": "rimraf node_modules" @@ -20,15 +20,16 @@ "@icons-pack/react-simple-icons": "=9.1.0", "clsx": "2.0.0", "framer-motion": "^10.16.4", - "next": "^13.5.6", - "nextra": "^2.13.2", - "nextra-theme-docs": "^2.13.2", + "next": "^14.2.15", + "nextra": "^3.0.15", + "nextra-theme-docs": "^3.0.15", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { "@types/node": "^20.8.7", "autoprefixer": "^10.4.16", + "eslint-config-next": "^14.2.15", "postcss": "^8.4.31", "tailwindcss": "^3.3.3", "typescript": "^5.3.3" diff --git a/docs/pages/_app.mdx b/docs/pages/_app.mdx deleted file mode 100644 index d0c3cf5c7..000000000 --- a/docs/pages/_app.mdx +++ /dev/null @@ -1,5 +0,0 @@ -import '../globals.css' - -export default function App({ Component, pageProps }) { - return -} diff --git a/docs/pages/_app.tsx b/docs/pages/_app.tsx new file mode 100644 index 000000000..d46dd7ced --- /dev/null +++ b/docs/pages/_app.tsx @@ -0,0 +1,7 @@ +import '../globals.css' + +import { AppProps } from 'next/app' + +export default function App({ Component, pageProps }: AppProps) { + return +} diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json deleted file mode 100644 index 181984ea6..000000000 --- a/docs/pages/_meta.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "index": { - "display": "hidden", - "title": "Home", - "theme": { - "layout": "raw", - "sidebar": false, - "toc": false - } - }, - "installation": "Installation", - "guides": "Guides", - "contributing": "Contributing", - "faq": "FAQ" -} diff --git a/docs/pages/_meta.ts b/docs/pages/_meta.ts new file mode 100644 index 000000000..b3c11550b --- /dev/null +++ b/docs/pages/_meta.ts @@ -0,0 +1,17 @@ +import { Meta } from 'nextra' + +export default { + index: { + display: 'hidden', + title: 'Home', + theme: { + layout: 'raw', + sidebar: false, + toc: false, + }, + }, + installation: 'Installation', + guides: 'Guides', + contributing: 'Contributing', + faq: 'FAQ', +} satisfies Meta diff --git a/docs/pages/contributing.mdx b/docs/pages/contributing.mdx index fff9af64a..ed6f40b73 100644 --- a/docs/pages/contributing.mdx +++ b/docs/pages/contributing.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Contributing diff --git a/docs/pages/guides/_meta.json b/docs/pages/guides/_meta.json deleted file mode 100644 index 6c1bb6aa9..000000000 --- a/docs/pages/guides/_meta.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "getting-started": "Getting Started", - "access-control": "Access Control", - "basics": "Basics", - "book-clubs": "Book Clubs", - "configuration": "Configuration", - "smart-list": "Smart Lists", - "reading-list": "Reading Lists", - "file-explorer": "File Explorer", - "opds": "OPDS", - "api": "API", - "cli": "CLI", - "desktop": "Desktop App", - "mobile": "Mobile App" -} diff --git a/docs/pages/guides/_meta.ts b/docs/pages/guides/_meta.ts new file mode 100644 index 000000000..527b99666 --- /dev/null +++ b/docs/pages/guides/_meta.ts @@ -0,0 +1,19 @@ +import { Meta } from 'nextra' + +export default { + index: { + display: 'hidden', + }, + 'access-control': 'Access Control', + basics: 'Basics', + 'book-clubs': 'Book Clubs', + configuration: 'Configuration', + 'smart-list': 'Smart Lists', + 'reading-list': 'Reading Lists', + 'file-explorer': 'File Explorer', + opds: 'OPDS', + api: 'API', + cli: 'CLI', + desktop: 'Desktop App', + mobile: 'Mobile App', +} satisfies Meta diff --git a/docs/pages/guides/access-control/_meta.json b/docs/pages/guides/access-control/_meta.json deleted file mode 100644 index e262c6d98..000000000 --- a/docs/pages/guides/access-control/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "age-restrictions": "Age Restrictions", - "library-exclusions": "Library Exclusions", - "permissions": "Permissions", - "users": "User Management" -} diff --git a/docs/pages/guides/access-control/_meta.ts b/docs/pages/guides/access-control/_meta.ts new file mode 100644 index 000000000..b3846d207 --- /dev/null +++ b/docs/pages/guides/access-control/_meta.ts @@ -0,0 +1,8 @@ +import { Meta } from 'nextra' + +export default { + 'age-restrictions': 'Age Restrictions', + 'library-exclusions': 'Library Exclusions', + permissions: 'Permissions', + users: 'User Management', +} satisfies Meta diff --git a/docs/pages/guides/access-control/age-restrictions.mdx b/docs/pages/guides/access-control/age-restrictions.mdx index 696fd457b..1ec90977d 100644 --- a/docs/pages/guides/access-control/age-restrictions.mdx +++ b/docs/pages/guides/access-control/age-restrictions.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Age Restrictions diff --git a/docs/pages/guides/api.mdx b/docs/pages/guides/api.mdx index 24405b049..7610e881d 100644 --- a/docs/pages/guides/api.mdx +++ b/docs/pages/guides/api.mdx @@ -1,9 +1,43 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # REST API Stump exposes a REST API that allows you to interact with your Stump server. +## Stump SDK + +Stump provides a [TypeScript SDK](https://github.com/stumpapp/stump/tree/main/packages/sdk) that you can use to create your own applications and integrations with Stump. If the demand is high enough, I will prioritize a proper NPM publish workflow. For the time being, you can load the dependency using something like [gitpkg](https://gitpkg.vercel.app/). + +```bash +yarn add 'https://gitpkg.now.sh/stumpapp/stump/packages/sdk?main' +``` + +Then use the SDK in your application like so: + +```typescript +import { Api } from '@stump/sdk' + +const sdk = new Api({ + baseURL: 'http://localhost:10801', + // You may also use 'session' if you configure it properly + authMethod: 'token', +}) + +// A token will be managed for you in-memory, but you can store it yourself +// using the returned `LoginResponse` object +await sdk.auth.login({ + username: 'oromei', + password: 'password', +}) + +const favoriteBook = await sdk.media.get({ + name: ['The Cybernetic Tea Shop'], + limit: 1, +}) +``` + +A full SDK guide will be available in the future to better support these integrations. + ## Authentication ### Sessions @@ -21,12 +55,7 @@ Stump supports [Basic Authentication](https://developer.mozilla.org/en-US/docs/W ### JWT Access Tokens - - This functionality is not fully implemented and subject to change. You can track the progress on - this feature in [this issue](https://github.com/stumpapp/stump/issues/219) - - -Short-lived JWT access tokens are available for API access, aimed at better enabling third-party applications and extensions to interact with Stump. While you can generate these tokens and use them to authenticate API requests, the API is still in development and subject to change. Once the API is more stable, we will provide more relevant documentation on how to generate and use these tokens. +Short-lived JWT access tokens are available for API access, aimed at better enabling third-party applications and extensions to interact with Stump. While you can generate these tokens and use them to authenticate API requests, **the API is still in development and subject to change**. ## Swagger UI @@ -35,3 +64,7 @@ Stump's REST API is documented using Swagger. You can access Swagger UI by visit ### Disabling Swagger UI If you don't want to expose Swagger UI, you can disable it by setting the `ENABLE_SWAGGER_UI` environment variable to `false`. See the [configuration guide](/guides/configuration) for more information. + +``` + +``` diff --git a/docs/pages/guides/basics/_meta.json b/docs/pages/guides/basics/_meta.json deleted file mode 100644 index b45cd6f8d..000000000 --- a/docs/pages/guides/basics/_meta.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "books": "Books", - "progress": "Book Progress", - "readers": "Book Readers", - "series": "Series", - "libraries": "Libraries", - "tags": "Tags", - "scanner": "Scanner", - "thumbnails": "Thumbnails" -} diff --git a/docs/pages/guides/basics/_meta.ts b/docs/pages/guides/basics/_meta.ts new file mode 100644 index 000000000..3fc2179e7 --- /dev/null +++ b/docs/pages/guides/basics/_meta.ts @@ -0,0 +1,12 @@ +import { Meta } from 'nextra' + +export default { + books: 'Books', + progress: 'Book Progress', + readers: 'Book Readers', + series: 'Series', + libraries: 'Libraries', + tags: 'Tags', + scanner: 'Scanner', + thumbnails: 'Thumbnails', +} satisfies Meta diff --git a/docs/pages/guides/basics/books.md b/docs/pages/guides/basics/books.md index 47184edff..445fa2428 100644 --- a/docs/pages/guides/basics/books.md +++ b/docs/pages/guides/basics/books.md @@ -57,7 +57,7 @@ EPUB files typically store their metadata in an `OPF` file, but it is more limit #### PDF -PDF files do not generally have very good metadata support. In general, I have seen only a few fields that are consistently populated, such as the title and author. PDF files are somewhat smelly 💩 +PDF files do not generally have very good metadata support. In general, I have seen only a few fields that are consistently populated, such as the title and author. ### Additional sources diff --git a/docs/pages/guides/basics/readers.mdx b/docs/pages/guides/basics/readers.mdx index bbc91c8a8..edd8952b5 100644 --- a/docs/pages/guides/basics/readers.mdx +++ b/docs/pages/guides/basics/readers.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Built-in Readers diff --git a/docs/pages/guides/basics/series.mdx b/docs/pages/guides/basics/series.mdx index 64dcc6e23..5ecc7a7ee 100644 --- a/docs/pages/guides/basics/series.mdx +++ b/docs/pages/guides/basics/series.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Series diff --git a/docs/pages/guides/basics/tags.mdx b/docs/pages/guides/basics/tags.mdx index 12831480f..a4c5734b3 100644 --- a/docs/pages/guides/basics/tags.mdx +++ b/docs/pages/guides/basics/tags.mdx @@ -1,9 +1,10 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Tags - This functionality is not yet fully implemented. Check back soon for updates. + The access control features around tags are still in development. This page will be updated when + they are ready. You may still use tags for categorization and organization Tags are a way to categorize and organize your content, and can be used for [access control](/guides/access-control/tag-restrictions) as well. diff --git a/docs/pages/guides/basics/thumbnails.mdx b/docs/pages/guides/basics/thumbnails.mdx index aaf3d9f58..06a8c878e 100644 --- a/docs/pages/guides/basics/thumbnails.mdx +++ b/docs/pages/guides/basics/thumbnails.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Thumbnails diff --git a/docs/pages/guides/book-clubs/overview.mdx b/docs/pages/guides/book-clubs/overview.mdx index f053d5662..4b581240f 100644 --- a/docs/pages/guides/book-clubs/overview.mdx +++ b/docs/pages/guides/book-clubs/overview.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Book Clubs diff --git a/docs/pages/guides/configuration/_meta.json b/docs/pages/guides/configuration/_meta.json deleted file mode 100644 index 4f5a73b49..000000000 --- a/docs/pages/guides/configuration/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "server-options": "Server options", - "theming": "Theming" -} diff --git a/docs/pages/guides/configuration/_meta.ts b/docs/pages/guides/configuration/_meta.ts new file mode 100644 index 000000000..2895d0b47 --- /dev/null +++ b/docs/pages/guides/configuration/_meta.ts @@ -0,0 +1,6 @@ +import { Meta } from 'nextra' + +export default { + 'server-options': 'Server options', + theming: 'Theming', +} satisfies Meta diff --git a/docs/pages/guides/desktop/_meta.json b/docs/pages/guides/desktop/_meta.json deleted file mode 100644 index 504b7dec5..000000000 --- a/docs/pages/guides/desktop/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "overview": "Overview" -} diff --git a/docs/pages/guides/desktop/_meta.ts b/docs/pages/guides/desktop/_meta.ts new file mode 100644 index 000000000..ef0e81974 --- /dev/null +++ b/docs/pages/guides/desktop/_meta.ts @@ -0,0 +1,5 @@ +import { Meta } from 'nextra' + +export default { + index: 'Overview', +} satisfies Meta diff --git a/docs/pages/guides/desktop/index.mdx b/docs/pages/guides/desktop/index.mdx new file mode 100644 index 000000000..174bdd2f5 --- /dev/null +++ b/docs/pages/guides/desktop/index.mdx @@ -0,0 +1,15 @@ +import { Callout } from 'nextra/components' + +# Desktop App + + + This app is not yet available for download. I expect an initial **unstable** release to be + available towards the end of 2024. Expect bugs and missing features, but stay tuned for updates! + + +The very same app you use in your browser, but with added features: + +- **Standalone**: No need to keep a browser tab open +- **Discord Rich Presence**: Show off what you're doing in Stump to your friends +- **Bundled Server**: Run your Stump server from the app itself, so you don't need to configure one separately +- **Multiple Instances**: Connect to as many Stump instances as you want diff --git a/docs/pages/guides/desktop/overview.mdx b/docs/pages/guides/desktop/overview.mdx deleted file mode 100644 index 93312b97a..000000000 --- a/docs/pages/guides/desktop/overview.mdx +++ /dev/null @@ -1,17 +0,0 @@ -import { Callout } from 'nextra-theme-docs' - -# Desktop App - - - This app is still in development, and is not yet available for download. I expect an initial - release to be available towards the end of 2024 for macOS and Linux users. Unfortunately, Windows - users will have to wait a little longer (see [#219](https://github.com/stumpapp/stump/issues/219)) - - -The very same app you use in your browser, but with added features: - -- **Standalone**: No need to keep a browser tab open -- **Discord Rich Presence**: Show off what you're doing in Stump to your friends, if you want -- **Bundled Server**: Optionally run your Stump server from the app itself, so you don't need to configure one separately - - Note: This feature is not recommended yet unless you will be accessing Stump solely from the desktop app. This will be improved in the future to access it from the browser as well -- **Multiple Instances**: Connect to as many Stump instances as you want, all from the same app diff --git a/docs/pages/guides/file-explorer.mdx b/docs/pages/guides/file-explorer.mdx index 018125c08..698c6da00 100644 --- a/docs/pages/guides/file-explorer.mdx +++ b/docs/pages/guides/file-explorer.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # File Explorer diff --git a/docs/pages/guides/getting-started.md b/docs/pages/guides/index.md similarity index 100% rename from docs/pages/guides/getting-started.md rename to docs/pages/guides/index.md diff --git a/docs/pages/guides/mobile/_meta.json b/docs/pages/guides/mobile/_meta.json deleted file mode 100644 index 2e962fd40..000000000 --- a/docs/pages/guides/mobile/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "app": "App", - "tachiyomi": "Tachiyomi" -} diff --git a/docs/pages/guides/mobile/_meta.ts b/docs/pages/guides/mobile/_meta.ts new file mode 100644 index 000000000..30abe2666 --- /dev/null +++ b/docs/pages/guides/mobile/_meta.ts @@ -0,0 +1,6 @@ +import { Meta } from 'nextra' + +export default { + app: 'App', + tachiyomi: 'Tachiyomi', +} satisfies Meta diff --git a/docs/pages/guides/mobile/app.mdx b/docs/pages/guides/mobile/app.mdx index 4f1be9f8c..7b99242bd 100644 --- a/docs/pages/guides/mobile/app.mdx +++ b/docs/pages/guides/mobile/app.mdx @@ -1,12 +1,11 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Mobile App -A mobile app is currently in the **very early** stages of development, thanks primarily to the efforts of two contributors! If you are a mobile developer and would like to help out, please feel free to reach out. - -If you're interested in updates, you can track the broad progress via the [are we mobile yet](https://github.com/orgs/stumpapp/projects/8) project board. - + A mobile app is currently in a **POC** (proof of concept) stage. If you're interested in updates, + you can track the broad progress [here](https://github.com/orgs/stumpapp/projects/8). If you're a + mobile developer and would like to help out, please feel free to reach out! ## Supported Platforms @@ -18,9 +17,9 @@ The mobile app is being developed using [React Native](https://reactnative.dev/) The mobile app will be a bit more trimmed down in scope compared to the built in web app, but will aim to provide a more focused experience that is particularly tailored to on-the-go, mobile use cases. Here are some of the planned features: - Multi-server configurations, in case you have multiple Stump instances to swap between -- Explore all of the Stump content you are familiar with, such as: libraries, series, books, smart lists, and book clubs -- Minimalist readers for the supported book formats (e.g. CBZ/CBR, EPUB, PDF, etc.) -- Offline mode for reading content without an active connection with your Stump instance(s) +- OPDS support, so you can use the app with other OPDS-compatible services (e.g. [Kavita](https://wiki.kavitareader.com/)) +- Readers for the supported book formats (e.g. CBZ/CBR, EPUB, PDF, etc.) +- Offline reading support so you don't need an active connection to your Stump/OPDS instance(s) ## Contributing diff --git a/docs/pages/guides/reading-list.mdx b/docs/pages/guides/reading-list.mdx index 244a9f8a6..1692bdb68 100644 --- a/docs/pages/guides/reading-list.mdx +++ b/docs/pages/guides/reading-list.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Reading Lists diff --git a/docs/pages/guides/smart-list.mdx b/docs/pages/guides/smart-list.mdx index c9838c104..438948a8c 100644 --- a/docs/pages/guides/smart-list.mdx +++ b/docs/pages/guides/smart-list.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Smart lists diff --git a/docs/pages/installation/_meta.json b/docs/pages/installation/_meta.json deleted file mode 100644 index 77e652032..000000000 --- a/docs/pages/installation/_meta.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "getting-started": "Getting Started", - "docker": { - "title": "Docker", - "theme": { - "toc": false - } - }, - "executable": { - "title": "Executable", - "theme": { - "toc": false - } - }, - "source": "Source" -} diff --git a/docs/pages/installation/_meta.ts b/docs/pages/installation/_meta.ts new file mode 100644 index 000000000..b4e637fa7 --- /dev/null +++ b/docs/pages/installation/_meta.ts @@ -0,0 +1,18 @@ +import { Meta } from 'nextra' + +export default { + index: 'Getting Started', + docker: { + title: 'Docker', + theme: { + toc: false, + }, + }, + executable: { + title: 'Executable', + theme: { + toc: false, + }, + }, + source: 'Source', +} satisfies Meta diff --git a/docs/pages/installation/docker.mdx b/docs/pages/installation/docker.mdx index 0e2a0ed35..d85f8775b 100644 --- a/docs/pages/installation/docker.mdx +++ b/docs/pages/installation/docker.mdx @@ -1,6 +1,4 @@ -import { Callout } from 'nextra-theme-docs' -import { Steps } from 'nextra/components' -import { Tabs } from 'nextra/components' +import { Callout, Tabs, Steps } from 'nextra/components' # Docker diff --git a/docs/pages/installation/executable.mdx b/docs/pages/installation/executable.mdx index df5489a7c..024229827 100644 --- a/docs/pages/installation/executable.mdx +++ b/docs/pages/installation/executable.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' import { Steps } from 'nextra/components' import { Tabs } from 'nextra/components' diff --git a/docs/pages/installation/getting-started.mdx b/docs/pages/installation/index.mdx similarity index 94% rename from docs/pages/installation/getting-started.mdx rename to docs/pages/installation/index.mdx index 443765880..70f9f6e76 100644 --- a/docs/pages/installation/getting-started.mdx +++ b/docs/pages/installation/index.mdx @@ -1,4 +1,4 @@ -import { Callout } from 'nextra-theme-docs' +import { Callout } from 'nextra/components' # Getting Started diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..5b28bd0fa --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,61 @@ +import pluginJs from '@eslint/js' +import prettierPlugin from 'eslint-plugin-prettier/recommended' +import pluginReact from 'eslint-plugin-react' +import pluginReactHooks from 'eslint-plugin-react-hooks' +import simpleImportSort from 'eslint-plugin-simple-import-sort' +import keySort from 'eslint-plugin-sort-keys-fix' +import globals from 'globals' +import tseslint from 'typescript-eslint' + +export default [ + { + ignores: ['**/dist/*', '**/target/**', '**/.next/**', '**/.vercel/**'], + }, + { + files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'], + plugins: { + 'simple-import-sort': simpleImportSort, + react: pluginReact, + 'react-hooks': pluginReactHooks, + 'sort-keys-fix': keySort, + }, + settings: { + react: { + version: 'detect', + }, + }, + rules: { + 'no-console': ['error', { allow: ['warn', 'error'] }], + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + 'sort-imports': 'off', + semi: 0, + 'prettier/prettier': [ + 'error', + { + semi: false, + }, + ], + }, + }, + { languageOptions: { globals: globals.node } }, + { languageOptions: { globals: globals.browser } }, + pluginJs.configs.recommended, + ...tseslint.configs.recommended, + prettierPlugin, + pluginReact.configs.flat.recommended, + pluginReact.configs.flat['jsx-runtime'], + { + files: ['**/*.test.{ts,tsx}', '**/__tests__/**'], + languageOptions: { globals: globals.jest }, + rules: { + '@typescript-eslint/no-explicit-any': 'off', + }, + }, + { + files: ['**/*.config.js'], + rules: { + '@typescript-eslint/no-require-imports': 'off', + }, + }, +] diff --git a/lerna.json b/lerna.json new file mode 100644 index 000000000..7e3251418 --- /dev/null +++ b/lerna.json @@ -0,0 +1,6 @@ +{ + "$schema": "node_modules/lerna/schemas/lerna-schema.json", + "packages": ["apps/*", "docs", "packages/*"], + "version": "0.0.0", + "npmClient": "yarn" +} diff --git a/package.json b/package.json index 41ccee7be..c1cde86b6 100644 --- a/package.json +++ b/package.json @@ -7,56 +7,53 @@ "private": true, "workspaces": [ "apps/*", - "core", "docs", "packages/*" ], "scripts": { - "prepare": "husky install", + "prepare": "husky", "setup": "yarn && yarn web build && cargo codegen", - "lint": "eslint --ext .ts,.tsx,.cts,.mts,.js,.jsx,.cjs,.mjs --fix --report-unused-disable-directives --no-error-on-unmatched-pattern --exit-on-fatal-error --ignore-path .gitignore .", - "client": "yarn workspace @stump/client", - "desktop": "yarn workspace @stump/desktop", - "expo": "yarn workspace @stump/expo", - "browser": "yarn workspace @stump/browser", - "web": "yarn workspace @stump/web", - "docs": "yarn workspace @stump/docs", - "server": "yarn workspace @stump/server", + "lint": "lerna run lint --stream --parallel && yarn check-types", + "check-types": "lerna run check-types --stream --parallel", + "test": "lerna run test", + "client": "lerna run --scope @stump/client", + "desktop": "lerna run --scope @stump/desktop", + "expo": "lerna run --scope @stump/expo", + "browser": "lerna run --scope @stump/browser", + "web": "lerna run --scope @stump/web", + "docs": "lerna run --scope @stump/docs", "start:desktop": "concurrently -n server,desktop -c green.bold,blue.bold \"cargo run -p stump_server\" \"yarn desktop start\"", "dev:desktop": "concurrently -n server,desktop -c green.bold,blue.bold \"cargo run -p stump_server\" \"yarn desktop dev\"", - "dev:web": "concurrently -n server,web -c green.bold,blue.bold \"yarn run server dev\" \"yarn web dev\"", - "dev:expo": "concurrently -n server,expo -c green.bold,blue.bold \"yarn run server dev\" \"yarn expo dev\"", - "core": "yarn workspace @stump/core", - "prisma": "yarn core prisma", - "codegen": "cargo run --package codegen", - "build:server": "yarn run server build", - "build:web": "yarn web build && yarn build:server", - "build:desktop": "yarn desktop build", - "prettify": "prettier --config prettier.config.js --ignore-path .prettierignore --write .", - "nuke": "yarn workspaces run nuke && yarn install" + "dev:web": "concurrently -n server,web -c green.bold,blue.bold \"cargo watch --ignore core/prisma -x run -p stump_server\" \"yarn web dev\"", + "dev:expo": "concurrently -n server,expo -c green.bold,blue.bold \"cargo watch --ignore core/prisma -x run -p stump_server\" \"yarn expo dev\"", + "prisma-studio": "npx prisma studio --schema core/prisma/schema.prisma", + "format": "prettier --config prettier.config.js --ignore-path .prettierignore --write .", + "nuke": "lerna run nuke" }, "devDependencies": { - "@babel/core": "^7.23.2", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", + "@babel/core": "^7.25.8", + "@babel/traverse": "^7.25.7", + "@eslint/js": "^9.13.0", + "@typescript-eslint/eslint-plugin": "^8.10.0", + "@typescript-eslint/parser": "^8.10.0", "concurrently": "^8.2.2", - "cpy-cli": "^5.0.0", - "eslint": "^8.51.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint": "^9.13.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.37.1", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-sort-keys-fix": "^1.1.2", - "husky": "^8.0.3", - "lint-staged": "^15.0.1", - "move-cli": "2.0.0", - "prettier": "^3.0.3", - "prettier-eslint": "^16.1.1", - "prettier-plugin-tailwindcss": "^0.5.6", + "globals": "^15.11.0", + "husky": "^9.1.6", + "lerna": "^8.1.8", + "lint-staged": "^15.2.10", + "prettier": "=3.3.2", + "prettier-eslint": "^16.3.0", + "prettier-plugin-tailwindcss": "^0.6.8", "rimraf": "^5.0.5", - "trash-cli": "^5.0.0", - "typescript": "^5.3.3" + "typescript": "^5.6.3", + "typescript-eslint": "^8.10.0" }, "lint-staged": { "*.{js,jsx,ts,tsx,md,json}": [ @@ -78,5 +75,6 @@ "@babel/core" ] } - } + }, + "dependencies": {} } diff --git a/packages/browser/babel.config.json b/packages/browser/babel.config.json index 33bf03ce8..7039f7511 100644 --- a/packages/browser/babel.config.json +++ b/packages/browser/babel.config.json @@ -5,7 +5,7 @@ "@babel/preset-react", { // Note: This is to allow React to automatically import the JSX runtime, i.e. - // we don't need to have `import React from 'react'` in every file. + // we don't need to have `` in every file. "runtime": "automatic" } ], diff --git a/packages/browser/jest.config.ts b/packages/browser/jest.config.ts index 3348ed706..5189c6913 100644 --- a/packages/browser/jest.config.ts +++ b/packages/browser/jest.config.ts @@ -1,10 +1,13 @@ +import type { Config } from 'jest' + export default { moduleNameMapper: { '^@/(.*)$': '/src/$1', }, setupFilesAfterEnv: ['/jest.setup.ts'], + modulePathIgnorePatterns: ['/dist/'], testEnvironment: 'jsdom', transform: { '^.+\\.tsx?$': 'babel-jest', }, -} +} satisfies Config diff --git a/packages/browser/package.json b/packages/browser/package.json index 043f26e2b..8ca2e1bd3 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -6,8 +6,9 @@ "private": true, "main": "src/index.ts", "scripts": { - "check-types": "tsc --build tsconfig.json", - "lint": "eslint --ext .ts,.tsx,.cts,.mts,.js,.jsx,.cjs,.mjs --fix --report-unused-disable-directives --no-error-on-unmatched-pattern --exit-on-fatal-error --ignore-path ../../.gitignore .", + "check-types": "tsc -b tsconfig.json", + "lint": "eslint .", + "format": "eslint --fix . && prettier --config ../../prettier.config.js --ignore-path ../../.prettierignore --write .", "test": "jest", "nuke": "rimraf node_modules" }, diff --git a/packages/browser/src/App.tsx b/packages/browser/src/App.tsx index 65a68ccac..b0360fa93 100644 --- a/packages/browser/src/App.tsx +++ b/packages/browser/src/App.tsx @@ -45,18 +45,13 @@ function RouterContainer(props: StumpClientProps) { setPlatform: store.setPlatform, })) - useEffect( - () => { - if (!baseUrl && props.baseUrl) { - setBaseUrl(props.baseUrl) - } - - setMounted(true) - }, + useEffect(() => { + if (!baseUrl && props.baseUrl) { + setBaseUrl(props.baseUrl) + } - // eslint-disable-next-line react-hooks/exhaustive-deps - [baseUrl], - ) + setMounted(true) + }, [baseUrl]) useEffect(() => { setPlatform(props.platform) diff --git a/packages/browser/src/AppRouter.tsx b/packages/browser/src/AppRouter.tsx index a2f2a4702..1a73b2ce2 100644 --- a/packages/browser/src/AppRouter.tsx +++ b/packages/browser/src/AppRouter.tsx @@ -1,6 +1,6 @@ import { LocaleProvider } from '@stump/i18n' import { type AllowedLocale } from '@stump/i18n' -import React, { lazy } from 'react' +import { lazy } from 'react' import { Route, Routes } from 'react-router-dom' import { AppLayout } from './AppLayout.tsx' diff --git a/packages/browser/src/components/GenericEmptyState.tsx b/packages/browser/src/components/GenericEmptyState.tsx index 72ed93f9c..64c1ad884 100644 --- a/packages/browser/src/components/GenericEmptyState.tsx +++ b/packages/browser/src/components/GenericEmptyState.tsx @@ -1,6 +1,5 @@ import { cn, Heading, Text } from '@stump/components' import { CircleSlash2 } from 'lucide-react' -import React from 'react' type Props = { title: string diff --git a/packages/browser/src/components/HorizontalCardList.tsx b/packages/browser/src/components/HorizontalCardList.tsx index 0e18a0dfd..3d0c20346 100644 --- a/packages/browser/src/components/HorizontalCardList.tsx +++ b/packages/browser/src/components/HorizontalCardList.tsx @@ -56,13 +56,9 @@ export default function HorizontalCardList({ const canSkipBackward = (lowerBound ?? 0) > 0 const canSkipForward = !!cards.length && (upperBound || 0) + 1 < cards.length - useEffect( - () => { - columnVirtualizer.measure() - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [isAtLeastMedium, isAtLeastSmall], - ) + useEffect(() => { + columnVirtualizer.measure() + }, [isAtLeastMedium, isAtLeastSmall]) useEffect(() => { const [lastItem] = [...virtualItems].reverse() diff --git a/packages/browser/src/components/LinkBadge.tsx b/packages/browser/src/components/LinkBadge.tsx index cb3cf1715..5bfd18ad2 100644 --- a/packages/browser/src/components/LinkBadge.tsx +++ b/packages/browser/src/components/LinkBadge.tsx @@ -1,6 +1,5 @@ import { Badge, Link } from '@stump/components' import { ExternalLink } from 'lucide-react' -import React from 'react' type Props = { href: string diff --git a/packages/browser/src/components/ListItem.tsx b/packages/browser/src/components/ListItem.tsx index ff6da4d31..e40679c65 100644 --- a/packages/browser/src/components/ListItem.tsx +++ b/packages/browser/src/components/ListItem.tsx @@ -23,7 +23,7 @@ export default function ListItem({ id, title, subtitle, href }: Props) { size="sm" className={cx( 'line-clamp-1 shrink-0', - { ' w-1/2 md:w-1/3 lg:w-1/4 xl:w-[23%]': !!subtitle }, + { 'w-1/2 md:w-1/3 lg:w-1/4 xl:w-[23%]': !!subtitle }, { 'w-full': !subtitle }, )} > diff --git a/packages/browser/src/components/PagePopoverForm.tsx b/packages/browser/src/components/PagePopoverForm.tsx index f3941012e..d19e9564a 100644 --- a/packages/browser/src/components/PagePopoverForm.tsx +++ b/packages/browser/src/components/PagePopoverForm.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form, Input, Popover, useBoolean } from '@stump/components' -import React, { useMemo, useRef } from 'react' +import { useMemo, useRef } from 'react' import { FieldValues, useForm } from 'react-hook-form' import { z } from 'zod' diff --git a/packages/browser/src/components/ServerOwnerRouteWrapper.tsx b/packages/browser/src/components/ServerOwnerRouteWrapper.tsx index 5c1a804c6..677184d07 100644 --- a/packages/browser/src/components/ServerOwnerRouteWrapper.tsx +++ b/packages/browser/src/components/ServerOwnerRouteWrapper.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Navigate, Outlet } from 'react-router' import { useAppContext } from '../context' diff --git a/packages/browser/src/components/Spinner.tsx b/packages/browser/src/components/Spinner.tsx index 558e26fd2..073e69999 100644 --- a/packages/browser/src/components/Spinner.tsx +++ b/packages/browser/src/components/Spinner.tsx @@ -1,5 +1,3 @@ -import React from 'react' - export default function Spinner() { return ( diff --git a/packages/browser/src/components/TableOrGridLayout.tsx b/packages/browser/src/components/TableOrGridLayout.tsx index 03c229f3c..9bcf427a6 100644 --- a/packages/browser/src/components/TableOrGridLayout.tsx +++ b/packages/browser/src/components/TableOrGridLayout.tsx @@ -1,6 +1,5 @@ import { IconButton, ToolTip } from '@stump/components' import { LayoutGrid, Table } from 'lucide-react' -import React from 'react' type Props = { layout: 'GRID' | 'TABLE' diff --git a/packages/browser/src/components/TagSelect.tsx b/packages/browser/src/components/TagSelect.tsx index 3bfa92eee..23641e688 100644 --- a/packages/browser/src/components/TagSelect.tsx +++ b/packages/browser/src/components/TagSelect.tsx @@ -1,6 +1,6 @@ import { TagOption, useTags } from '@stump/client' import { ComboBox } from '@stump/components' -import React, { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' type Props = { label?: string diff --git a/packages/browser/src/components/UserMenu.tsx b/packages/browser/src/components/UserMenu.tsx index b1e5c680d..278f95930 100644 --- a/packages/browser/src/components/UserMenu.tsx +++ b/packages/browser/src/components/UserMenu.tsx @@ -1,6 +1,6 @@ import { Avatar, Card, cn, Popover, Text } from '@stump/components' import { Bell, Settings } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { Link } from 'react-router-dom' import AutoSizer from 'react-virtualized-auto-sizer' @@ -64,7 +64,7 @@ export default function UserMenu({ variant = 'sidebar' }: Props) { to={paths.notifications()} onClick={() => setIsOpen(false)} > - + Notifications diff --git a/packages/browser/src/components/book/BookCard.tsx b/packages/browser/src/components/book/BookCard.tsx index f5e5639af..fdf2321e7 100644 --- a/packages/browser/src/components/book/BookCard.tsx +++ b/packages/browser/src/components/book/BookCard.tsx @@ -2,7 +2,7 @@ import { usePrefetchMediaByID, useSDK } from '@stump/client' import { Text } from '@stump/components' import { Media } from '@stump/sdk' import pluralize from 'pluralize' -import { useCallback, useMemo } from 'react' +import { type ComponentPropsWithoutRef, useCallback, useMemo } from 'react' import paths from '@/paths' import { formatBookName, formatBytes } from '@/utils/format' @@ -18,7 +18,7 @@ export type BookCardProps = { onSelect?: (media: Media) => void } -type EntityCardProps = React.ComponentPropsWithoutRef +type EntityCardProps = ComponentPropsWithoutRef export default function BookCard({ media, diff --git a/packages/browser/src/components/book/BookSearch.tsx b/packages/browser/src/components/book/BookSearch.tsx index c58e54037..f225fa4c8 100644 --- a/packages/browser/src/components/book/BookSearch.tsx +++ b/packages/browser/src/components/book/BookSearch.tsx @@ -1,7 +1,7 @@ import { usePagedMediaQuery, usePrefetchMediaPaged } from '@stump/client' import { usePreviousIsDifferent } from '@stump/components' import { Media } from '@stump/sdk' -import React, { useCallback, useEffect, useMemo } from 'react' +import { useCallback, useEffect, useMemo } from 'react' import useIsInView from '@/hooks/useIsInView' @@ -52,16 +52,11 @@ export default function BookSearch({ page, page_size, setPage, onBookSelect, sho const [containerRef, isInView] = useIsInView() const isOnFirstPage = current_page === 1 // TODO: detect if going from page > 1 to page = 1 and scroll to top - useEffect( - () => { - if (!isInView && !isOnFirstPage) { - containerRef.current?.scrollIntoView() - } - }, - - // eslint-disable-next-line react-hooks/exhaustive-deps - [current_page, isOnFirstPage], - ) + useEffect(() => { + if (!isInView && !isOnFirstPage) { + containerRef.current?.scrollIntoView() + } + }, [current_page, isOnFirstPage]) const hasStuff = total_pages !== undefined && current_page !== undefined && total_pages > 0 const hasFilters = Object.keys(filters || {}).length > 0 diff --git a/packages/browser/src/components/book/BookSearchOverlay.tsx b/packages/browser/src/components/book/BookSearchOverlay.tsx index ec6d9532e..005769bf1 100644 --- a/packages/browser/src/components/book/BookSearchOverlay.tsx +++ b/packages/browser/src/components/book/BookSearchOverlay.tsx @@ -1,7 +1,7 @@ import { Button, Sheet } from '@stump/components' import { Media } from '@stump/sdk' import { Search } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { ManualFilterProvider } from '../filters/FilterProvider' import BookSearch from './BookSearch' diff --git a/packages/browser/src/components/book/table/BookLinksCell.tsx b/packages/browser/src/components/book/table/BookLinksCell.tsx index c5b93ccee..ec0eec3e3 100644 --- a/packages/browser/src/components/book/table/BookLinksCell.tsx +++ b/packages/browser/src/components/book/table/BookLinksCell.tsx @@ -1,6 +1,5 @@ import { Badge } from '@stump/components' import { ExternalLink } from 'lucide-react' -import React from 'react' type Props = { links: string[] diff --git a/packages/browser/src/components/book/table/BookTable.tsx b/packages/browser/src/components/book/table/BookTable.tsx index 6e46af4ee..7bc3655b4 100644 --- a/packages/browser/src/components/book/table/BookTable.tsx +++ b/packages/browser/src/components/book/table/BookTable.tsx @@ -1,6 +1,6 @@ import { Media } from '@stump/sdk' import { OnChangeFn, SortingState } from '@tanstack/react-table' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { orderingToTableSort, tableSortToOrdering, useFilterContext } from '@/components/filters' import { EntityTable, EntityTableProps } from '@/components/table' diff --git a/packages/browser/src/components/book/table/CoverImageCell.tsx b/packages/browser/src/components/book/table/CoverImageCell.tsx index 54980e31b..0f4656afe 100644 --- a/packages/browser/src/components/book/table/CoverImageCell.tsx +++ b/packages/browser/src/components/book/table/CoverImageCell.tsx @@ -1,6 +1,6 @@ import { useSDK } from '@stump/client' import { Book } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { EntityImage } from '@/components/entity' @@ -29,7 +29,7 @@ export default function CoverImageCell({ id, title }: Props) { try { await loadImage() setShowFallback(false) - } catch (e) { + } catch { setShowFallback(true) } } diff --git a/packages/browser/src/components/bookClub/createOrUpdateForm/MembershipOptions.tsx b/packages/browser/src/components/bookClub/createOrUpdateForm/MembershipOptions.tsx index e7df4e565..535538ccc 100644 --- a/packages/browser/src/components/bookClub/createOrUpdateForm/MembershipOptions.tsx +++ b/packages/browser/src/components/bookClub/createOrUpdateForm/MembershipOptions.tsx @@ -1,6 +1,5 @@ import { CheckBox, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useFormContext } from 'react-hook-form' import { CreateOrUpdateBookClubSchema } from './schema' diff --git a/packages/browser/src/components/bookClub/createOrUpdateForm/RoleMappingForm.tsx b/packages/browser/src/components/bookClub/createOrUpdateForm/RoleMappingForm.tsx index ab3b6d8ce..e2eea5d15 100644 --- a/packages/browser/src/components/bookClub/createOrUpdateForm/RoleMappingForm.tsx +++ b/packages/browser/src/components/bookClub/createOrUpdateForm/RoleMappingForm.tsx @@ -1,6 +1,5 @@ import { Card, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useFormContext, useFormState } from 'react-hook-form' import { CreateOrUpdateBookClubSchema } from './schema' diff --git a/packages/browser/src/components/bookClub/schedule/BookClubScheduleItem.tsx b/packages/browser/src/components/bookClub/schedule/BookClubScheduleItem.tsx index 47ba7ff77..187deada9 100644 --- a/packages/browser/src/components/bookClub/schedule/BookClubScheduleItem.tsx +++ b/packages/browser/src/components/bookClub/schedule/BookClubScheduleItem.tsx @@ -4,7 +4,7 @@ import { BookClubBook } from '@stump/sdk' import dayjs from 'dayjs' import { Book } from 'lucide-react' import pluralize from 'pluralize' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { match } from 'ts-pattern' import { EntityImage } from '@/components/entity' @@ -183,7 +183,7 @@ export default function BookClubScheduleTimelineItem({ book }: Props) { {renderBookInfo()}
& { +type ContainerProps = ComponentPropsWithoutRef<'div'> & { to?: To } type Props = { @@ -72,7 +70,7 @@ export default function EntityCard({ as: 'div', }), ...props, - } as React.ComponentPropsWithoutRef<'div'> & React.ComponentPropsWithoutRef + } as ComponentPropsWithoutRef<'div'> & ComponentPropsWithoutRef const hasClickAction = !!href || !!containerProps.onClick || !!containerProps.onDoubleClick @@ -178,4 +176,4 @@ export default function EntityCard({ * A scuffed wrapper around a `div` used in the `EntityCard` component to conditionally render a `Link` or `div` as * the container element */ -const Div = (props: React.ComponentPropsWithoutRef<'div'>) =>
+const Div = (props: ComponentPropsWithoutRef<'div'>) =>
diff --git a/packages/browser/src/components/entity/EntityImage.tsx b/packages/browser/src/components/entity/EntityImage.tsx index 3623587ca..071c3ca7b 100644 --- a/packages/browser/src/components/entity/EntityImage.tsx +++ b/packages/browser/src/components/entity/EntityImage.tsx @@ -1,7 +1,5 @@ -/* eslint-disable react/prop-types */ - import { useSDK } from '@stump/client' -import React, { forwardRef, Suspense } from 'react' +import { forwardRef, Suspense } from 'react' import { AuthImage } from './AuthImage' diff --git a/packages/browser/src/components/explorer/FileExplorerFooter.tsx b/packages/browser/src/components/explorer/FileExplorerFooter.tsx index db96695a1..b633a6bcd 100644 --- a/packages/browser/src/components/explorer/FileExplorerFooter.tsx +++ b/packages/browser/src/components/explorer/FileExplorerFooter.tsx @@ -1,5 +1,5 @@ import { Text } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useFileExplorerContext } from './context' diff --git a/packages/browser/src/components/explorer/FileExplorerHeader.tsx b/packages/browser/src/components/explorer/FileExplorerHeader.tsx index e9622b3d0..7e8ab3bb6 100644 --- a/packages/browser/src/components/explorer/FileExplorerHeader.tsx +++ b/packages/browser/src/components/explorer/FileExplorerHeader.tsx @@ -1,5 +1,5 @@ import { Text } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useFileExplorerContext } from './context' import FileExplorerNavigation from './FileExplorerNavigation' diff --git a/packages/browser/src/components/explorer/FileExplorerProvider.tsx b/packages/browser/src/components/explorer/FileExplorerProvider.tsx index d821a0592..5b60ce4d4 100644 --- a/packages/browser/src/components/explorer/FileExplorerProvider.tsx +++ b/packages/browser/src/components/explorer/FileExplorerProvider.tsx @@ -1,6 +1,6 @@ import { useDirectoryListing, useSDK } from '@stump/client' import { DirectoryListingFile } from '@stump/sdk' -import React, { useState } from 'react' +import { useState } from 'react' import toast from 'react-hot-toast' import { useNavigate } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/components/explorer/FileThumbnail.tsx b/packages/browser/src/components/explorer/FileThumbnail.tsx index beb0717fa..ec18aa4d7 100644 --- a/packages/browser/src/components/explorer/FileThumbnail.tsx +++ b/packages/browser/src/components/explorer/FileThumbnail.tsx @@ -73,7 +73,7 @@ export default function FileThumbnail({ try { await loadImage() setShowFallback(false) - } catch (e) { + } catch { setShowFallback(true) } } diff --git a/packages/browser/src/components/explorer/LayoutButtons.tsx b/packages/browser/src/components/explorer/LayoutButtons.tsx index f5dd97b13..4da8aed4c 100644 --- a/packages/browser/src/components/explorer/LayoutButtons.tsx +++ b/packages/browser/src/components/explorer/LayoutButtons.tsx @@ -1,6 +1,5 @@ import { IconButton, ToolTip } from '@stump/components' import { Grid2X2, Table } from 'lucide-react' -import React from 'react' import { useFileExplorerContext } from './context' diff --git a/packages/browser/src/components/explorer/grid/FileGrid.tsx b/packages/browser/src/components/explorer/grid/FileGrid.tsx index 862c9f806..98c13f8e1 100644 --- a/packages/browser/src/components/explorer/grid/FileGrid.tsx +++ b/packages/browser/src/components/explorer/grid/FileGrid.tsx @@ -1,5 +1,4 @@ import { cn } from '@stump/components' -import React from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { VirtuosoGrid } from 'react-virtuoso' diff --git a/packages/browser/src/components/explorer/grid/FileGridItem.tsx b/packages/browser/src/components/explorer/grid/FileGridItem.tsx index 42d35ab35..4ea74f265 100644 --- a/packages/browser/src/components/explorer/grid/FileGridItem.tsx +++ b/packages/browser/src/components/explorer/grid/FileGridItem.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Text, ToolTip } from '@stump/components' import { DirectoryListingFile, Media } from '@stump/sdk' -import React, { useEffect, useMemo, useState } from 'react' +import { useEffect, useMemo, useState } from 'react' import { formatBookName } from '@/utils/format' diff --git a/packages/browser/src/components/explorer/table/FileTable.tsx b/packages/browser/src/components/explorer/table/FileTable.tsx index e1662e35c..32d270502 100644 --- a/packages/browser/src/components/explorer/table/FileTable.tsx +++ b/packages/browser/src/components/explorer/table/FileTable.tsx @@ -9,7 +9,7 @@ import { SortingState, useReactTable, } from '@tanstack/react-table' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { useWindowSize } from 'rooks' diff --git a/packages/browser/src/components/filters/FilterDisplay.tsx b/packages/browser/src/components/filters/FilterDisplay.tsx index 88f216359..fe2d03fa3 100644 --- a/packages/browser/src/components/filters/FilterDisplay.tsx +++ b/packages/browser/src/components/filters/FilterDisplay.tsx @@ -1,5 +1,5 @@ import { Badge, Card, Text } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useFilterContext } from './context' diff --git a/packages/browser/src/components/filters/FilterProvider.tsx b/packages/browser/src/components/filters/FilterProvider.tsx index 9b3663766..51edfc612 100644 --- a/packages/browser/src/components/filters/FilterProvider.tsx +++ b/packages/browser/src/components/filters/FilterProvider.tsx @@ -1,5 +1,5 @@ import { toObjectParams, toUrlParams } from '@stump/sdk' -import React, { useMemo } from 'react' +import { useMemo, useState } from 'react' import { useSearchParams } from 'react-router-dom' import { FilterContext } from './context' @@ -68,6 +68,8 @@ export default function FilterProvider({ children }: Props) { return ( >({}) + const [filters, setFilters] = useState>({}) /** * An object representation of the ordering params @@ -129,6 +131,8 @@ export function ManualFilterProvider({ children }: Props) { return ( diff --git a/packages/browser/src/components/filters/URLFilterContainer.tsx b/packages/browser/src/components/filters/URLFilterContainer.tsx index bec056ec2..f0463f9b2 100644 --- a/packages/browser/src/components/filters/URLFilterContainer.tsx +++ b/packages/browser/src/components/filters/URLFilterContainer.tsx @@ -1,5 +1,5 @@ import { cn } from '@stump/components' -import React, { forwardRef, useEffect, useMemo } from 'react' +import { forwardRef, useEffect, useMemo } from 'react' import useScrollbarSize from 'react-scrollbar-size' import { useMediaMatch } from 'rooks' import { create } from 'zustand' diff --git a/packages/browser/src/components/filters/URLFilterDrawer.tsx b/packages/browser/src/components/filters/URLFilterDrawer.tsx index 0ef7e5d65..66bfec423 100644 --- a/packages/browser/src/components/filters/URLFilterDrawer.tsx +++ b/packages/browser/src/components/filters/URLFilterDrawer.tsx @@ -1,6 +1,6 @@ import { Button, IconButton, Sheet, ToolTip } from '@stump/components' import { Bolt } from 'lucide-react' -import React, { useCallback, useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' import { useMediaMatch } from 'rooks' import { clearFilters, getActiveFilterCount, useFilterContext } from '.' @@ -35,7 +35,6 @@ export default function URLFilterDrawer({ entity }: Props) { } else if (entity === 'series') { return } else { - console.debug('Not implemented yet') return null } } diff --git a/packages/browser/src/components/filters/URLOrdering.tsx b/packages/browser/src/components/filters/URLOrdering.tsx index 2780835aa..6d38a238d 100644 --- a/packages/browser/src/components/filters/URLOrdering.tsx +++ b/packages/browser/src/components/filters/URLOrdering.tsx @@ -1,6 +1,6 @@ import { IconButton, Popover, ToolTip } from '@stump/components' import { ArrowUpDown } from 'lucide-react' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' import { useMediaMatch } from 'rooks' import { useFilterContext } from './context' diff --git a/packages/browser/src/components/filters/URLPageSize.tsx b/packages/browser/src/components/filters/URLPageSize.tsx index 95a7f4426..8e1231753 100644 --- a/packages/browser/src/components/filters/URLPageSize.tsx +++ b/packages/browser/src/components/filters/URLPageSize.tsx @@ -1,5 +1,5 @@ import { Input, Text } from '@stump/components' -import React, { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' import { useFilterContext } from './context' diff --git a/packages/browser/src/components/filters/URLPagination.tsx b/packages/browser/src/components/filters/URLPagination.tsx index fcfd0e021..b624c4c49 100644 --- a/packages/browser/src/components/filters/URLPagination.tsx +++ b/packages/browser/src/components/filters/URLPagination.tsx @@ -1,6 +1,6 @@ import { IconButton, Input, Text, ToolTip } from '@stump/components' import { ChevronLeft, ChevronRight } from 'lucide-react' -import React, { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' type Props = { pages: number diff --git a/packages/browser/src/components/filters/form/AgeRatingFilter.tsx b/packages/browser/src/components/filters/form/AgeRatingFilter.tsx index ba8149f58..a66be3770 100644 --- a/packages/browser/src/components/filters/form/AgeRatingFilter.tsx +++ b/packages/browser/src/components/filters/form/AgeRatingFilter.tsx @@ -1,5 +1,5 @@ import { Input, Label, RadioGroup } from '@stump/components' -import React, { useState } from 'react' +import { useState } from 'react' import { useFormContext } from 'react-hook-form' type Props = { diff --git a/packages/browser/src/components/filters/form/ExtensionSelect.tsx b/packages/browser/src/components/filters/form/ExtensionSelect.tsx index 2472e2346..4f218d47b 100644 --- a/packages/browser/src/components/filters/form/ExtensionSelect.tsx +++ b/packages/browser/src/components/filters/form/ExtensionSelect.tsx @@ -1,5 +1,4 @@ import { Label, NativeSelect } from '@stump/components' -import React from 'react' import { useFormContext } from 'react-hook-form' import { MediaFilterFormSchema } from './MediaFilterForm' diff --git a/packages/browser/src/components/filters/form/GenericFilterMultiselect.tsx b/packages/browser/src/components/filters/form/GenericFilterMultiselect.tsx index eab723f70..43bf3a417 100644 --- a/packages/browser/src/components/filters/form/GenericFilterMultiselect.tsx +++ b/packages/browser/src/components/filters/form/GenericFilterMultiselect.tsx @@ -1,5 +1,5 @@ import { ComboBox } from '@stump/components' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useFormContext } from 'react-hook-form' type Props = { diff --git a/packages/browser/src/components/filters/form/MediaFilterForm.tsx b/packages/browser/src/components/filters/form/MediaFilterForm.tsx index a858f4a23..0aac45563 100644 --- a/packages/browser/src/components/filters/form/MediaFilterForm.tsx +++ b/packages/browser/src/components/filters/form/MediaFilterForm.tsx @@ -2,7 +2,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useQuery, useSDK } from '@stump/client' import { CheckBox, Form } from '@stump/components' import { MediaMetadataFilter } from '@stump/sdk' -import React, { useEffect, useMemo, useState } from 'react' +import { useEffect, useMemo, useState } from 'react' import { FieldValues, useForm } from 'react-hook-form' import z from 'zod' diff --git a/packages/browser/src/components/filters/form/OrderByDirection.tsx b/packages/browser/src/components/filters/form/OrderByDirection.tsx index 6d7205dfd..1b98ae1c6 100644 --- a/packages/browser/src/components/filters/form/OrderByDirection.tsx +++ b/packages/browser/src/components/filters/form/OrderByDirection.tsx @@ -1,6 +1,5 @@ import { Button, cx } from '@stump/components' import { SortAsc } from 'lucide-react' -import React from 'react' type Direction = 'asc' | 'desc' type Props = { diff --git a/packages/browser/src/components/filters/form/OrderBySelect.tsx b/packages/browser/src/components/filters/form/OrderBySelect.tsx index 32ff5f839..b1ef5fe55 100644 --- a/packages/browser/src/components/filters/form/OrderBySelect.tsx +++ b/packages/browser/src/components/filters/form/OrderBySelect.tsx @@ -1,5 +1,5 @@ import { Label, NativeSelect } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { FilterableEntity } from '.' diff --git a/packages/browser/src/components/filters/form/ReadStatusSelect.tsx b/packages/browser/src/components/filters/form/ReadStatusSelect.tsx index ac031625d..377145a47 100644 --- a/packages/browser/src/components/filters/form/ReadStatusSelect.tsx +++ b/packages/browser/src/components/filters/form/ReadStatusSelect.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import GenericFilterMultiselect from './GenericFilterMultiselect' export default function ReadStatusSelect() { diff --git a/packages/browser/src/components/filters/form/SeriesFilterForm.tsx b/packages/browser/src/components/filters/form/SeriesFilterForm.tsx index 743a6563c..a20456c4e 100644 --- a/packages/browser/src/components/filters/form/SeriesFilterForm.tsx +++ b/packages/browser/src/components/filters/form/SeriesFilterForm.tsx @@ -1,6 +1,5 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form } from '@stump/components' -import React from 'react' import { FieldValues, useForm } from 'react-hook-form' import z from 'zod' diff --git a/packages/browser/src/components/library/LastVisitedLibrary.tsx b/packages/browser/src/components/library/LastVisitedLibrary.tsx index 84b4c8176..cc855c9af 100644 --- a/packages/browser/src/components/library/LastVisitedLibrary.tsx +++ b/packages/browser/src/components/library/LastVisitedLibrary.tsx @@ -1,6 +1,5 @@ import { useQuery, useSDK } from '@stump/client' import { Label, Text } from '@stump/components' -import React from 'react' import paths from '@/paths' diff --git a/packages/browser/src/components/library/createOrUpdate/sections/DefaultReadingSettings.tsx b/packages/browser/src/components/library/createOrUpdate/sections/DefaultReadingSettings.tsx index 396decead..2dfab4086 100644 --- a/packages/browser/src/components/library/createOrUpdate/sections/DefaultReadingSettings.tsx +++ b/packages/browser/src/components/library/createOrUpdate/sections/DefaultReadingSettings.tsx @@ -1,6 +1,5 @@ import { Label, NativeSelect, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useFormContext } from 'react-hook-form' import { CreateOrUpdateLibrarySchema } from '../schema' diff --git a/packages/browser/src/components/library/createOrUpdate/sections/FileConversionOptions.tsx b/packages/browser/src/components/library/createOrUpdate/sections/FileConversionOptions.tsx index 85f004ec4..9051e7d49 100644 --- a/packages/browser/src/components/library/createOrUpdate/sections/FileConversionOptions.tsx +++ b/packages/browser/src/components/library/createOrUpdate/sections/FileConversionOptions.tsx @@ -29,16 +29,11 @@ export default function FileConversionOptions({ onDidChange }: Props) { const { t } = useLocaleContext() - useEffect( - () => { - if (!convertRarToZip && hardDeleteConversions) { - form.setValue('hard_delete_conversions', false) - } - }, - - // eslint-disable-next-line react-hooks/exhaustive-deps - [convertRarToZip, hardDeleteConversions], - ) + useEffect(() => { + if (!convertRarToZip && hardDeleteConversions) { + form.setValue('hard_delete_conversions', false) + } + }, [convertRarToZip, hardDeleteConversions]) /*** * An effect that triggers the `onDidChange` callback when the form values change. diff --git a/packages/browser/src/components/library/createOrUpdate/sections/IgnoreRulesConfig.tsx b/packages/browser/src/components/library/createOrUpdate/sections/IgnoreRulesConfig.tsx index afa195494..37eed7e4e 100644 --- a/packages/browser/src/components/library/createOrUpdate/sections/IgnoreRulesConfig.tsx +++ b/packages/browser/src/components/library/createOrUpdate/sections/IgnoreRulesConfig.tsx @@ -13,7 +13,7 @@ import { useLocaleContext } from '@stump/i18n' import { AnimatePresence, motion } from 'framer-motion' import isValidGlob from 'is-valid-glob' import { Check, Edit, Lock, Trash, Unlock, X } from 'lucide-react' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' import { useFieldArray, useFormContext } from 'react-hook-form' import { useLibraryContextSafe } from '@/scenes/library/context' diff --git a/packages/browser/src/components/library/createOrUpdate/sections/ScannerOptInFeatures.tsx b/packages/browser/src/components/library/createOrUpdate/sections/ScannerOptInFeatures.tsx index 81dbdd758..3cf0ed259 100644 --- a/packages/browser/src/components/library/createOrUpdate/sections/ScannerOptInFeatures.tsx +++ b/packages/browser/src/components/library/createOrUpdate/sections/ScannerOptInFeatures.tsx @@ -1,6 +1,6 @@ import { Alert, CheckBox, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useEffect } from 'react' +import { useEffect } from 'react' import { useFormContext } from 'react-hook-form' import { useDebouncedValue } from 'rooks' diff --git a/packages/browser/src/components/markdown/MarkdownEditor.tsx b/packages/browser/src/components/markdown/MarkdownEditor.tsx index 7d6eecd1f..0be17e019 100644 --- a/packages/browser/src/components/markdown/MarkdownEditor.tsx +++ b/packages/browser/src/components/markdown/MarkdownEditor.tsx @@ -1,6 +1,6 @@ import { Card, cx, Divider, IconButton, Tabs, Text, ToolTip } from '@stump/components' import { Asterisk, AtSign } from 'lucide-react' -import React, { useRef, useState } from 'react' +import { useRef, useState } from 'react' import MarkdownPreview from './MarkdownPreview' diff --git a/packages/browser/src/components/markdown/MarkdownPreview.tsx b/packages/browser/src/components/markdown/MarkdownPreview.tsx index 494627001..feb65df28 100644 --- a/packages/browser/src/components/markdown/MarkdownPreview.tsx +++ b/packages/browser/src/components/markdown/MarkdownPreview.tsx @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { cn, cx, Divider, Heading, Text } from '@stump/components' -import React, { PropsWithChildren, useState } from 'react' +import { PropsWithChildren, useState } from 'react' import ReactMarkdown from 'react-markdown' import remarkDirective from 'remark-directive' import remarkDirectiveRehype from 'remark-directive-rehype' diff --git a/packages/browser/src/components/navigation/sidebar/Settings.tsx b/packages/browser/src/components/navigation/sidebar/Settings.tsx index 334ee9bd8..75b3ba5cc 100644 --- a/packages/browser/src/components/navigation/sidebar/Settings.tsx +++ b/packages/browser/src/components/navigation/sidebar/Settings.tsx @@ -1,6 +1,5 @@ import { cn, IconButton, ToolTip } from '@stump/components' import { Settings } from 'lucide-react' -import React from 'react' import { useLocation, useNavigate } from 'react-router' import paths from '../../../paths' diff --git a/packages/browser/src/components/navigation/sidebar/SideBar.tsx b/packages/browser/src/components/navigation/sidebar/SideBar.tsx index 5ae54774d..420abf0e5 100644 --- a/packages/browser/src/components/navigation/sidebar/SideBar.tsx +++ b/packages/browser/src/components/navigation/sidebar/SideBar.tsx @@ -4,7 +4,7 @@ import { useLocaleContext } from '@stump/i18n' import { NavigationItem } from '@stump/sdk' import { motion } from 'framer-motion' import { Book, Home } from 'lucide-react' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useLocation } from 'react-router' import { useMediaMatch } from 'rooks' import { match } from 'ts-pattern' diff --git a/packages/browser/src/components/navigation/sidebar/SideBarButtonLink.tsx b/packages/browser/src/components/navigation/sidebar/SideBarButtonLink.tsx index 33f3677e0..98dc59f5d 100644 --- a/packages/browser/src/components/navigation/sidebar/SideBarButtonLink.tsx +++ b/packages/browser/src/components/navigation/sidebar/SideBarButtonLink.tsx @@ -1,5 +1,5 @@ import { cn } from '@stump/components' -import React, { ComponentProps } from 'react' +import { ComponentProps } from 'react' import { Link } from 'react-router-dom' // TODO: tooltips, but currently they don't work with links... diff --git a/packages/browser/src/components/navigation/sidebar/SideBarFooter.tsx b/packages/browser/src/components/navigation/sidebar/SideBarFooter.tsx index ee46df53c..7866bcae9 100644 --- a/packages/browser/src/components/navigation/sidebar/SideBarFooter.tsx +++ b/packages/browser/src/components/navigation/sidebar/SideBarFooter.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import SettingsButton from './Settings' export default function SideBarFooter() { diff --git a/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubEmoji.tsx b/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubEmoji.tsx index 7d8722573..ed56cdcd5 100644 --- a/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubEmoji.tsx +++ b/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubEmoji.tsx @@ -1,7 +1,6 @@ import { useUpdateBookClub } from '@stump/client' import { EmojiPicker } from '@stump/components' import { BookClub } from '@stump/sdk' -import React from 'react' import toast from 'react-hot-toast' type Props = { diff --git a/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubSideBarSection.tsx b/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubSideBarSection.tsx index 28ca0cbcf..e80038262 100644 --- a/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubSideBarSection.tsx +++ b/packages/browser/src/components/navigation/sidebar/sections/bookClub/BookClubSideBarSection.tsx @@ -2,7 +2,6 @@ import { useBookClubsQuery } from '@stump/client' import { Accordion, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Club } from 'lucide-react' -import React from 'react' import { useLocation } from 'react-router' import { EntityOptionProps } from '@/components/navigation/types' diff --git a/packages/browser/src/components/navigation/sidebar/sections/library/LibraryEmoji.tsx b/packages/browser/src/components/navigation/sidebar/sections/library/LibraryEmoji.tsx index bf41e5273..ef324a36f 100644 --- a/packages/browser/src/components/navigation/sidebar/sections/library/LibraryEmoji.tsx +++ b/packages/browser/src/components/navigation/sidebar/sections/library/LibraryEmoji.tsx @@ -1,7 +1,6 @@ import { useUpdateLibrary } from '@stump/client' import { EmojiPicker } from '@stump/components' import { Library } from '@stump/sdk' -import React from 'react' type Props = { emoji?: string diff --git a/packages/browser/src/components/navigation/sidebar/sections/library/LibrarySideBarSection.tsx b/packages/browser/src/components/navigation/sidebar/sections/library/LibrarySideBarSection.tsx index ded0d43be..5fa7412f7 100644 --- a/packages/browser/src/components/navigation/sidebar/sections/library/LibrarySideBarSection.tsx +++ b/packages/browser/src/components/navigation/sidebar/sections/library/LibrarySideBarSection.tsx @@ -2,7 +2,7 @@ import { useLibraries } from '@stump/client' import { Accordion, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Library } from 'lucide-react' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useAppContext } from '@/context' diff --git a/packages/browser/src/components/navigation/topbar/TopBar.tsx b/packages/browser/src/components/navigation/topbar/TopBar.tsx index fbc7bf21e..b59d87dc5 100644 --- a/packages/browser/src/components/navigation/topbar/TopBar.tsx +++ b/packages/browser/src/components/navigation/topbar/TopBar.tsx @@ -3,7 +3,7 @@ import { NavigationMenu } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { NavigationItem } from '@stump/sdk' import { Book, Home } from 'lucide-react' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useLocation } from 'react-router' import { match } from 'ts-pattern' diff --git a/packages/browser/src/components/navigation/topbar/TopBarButtonItem.tsx b/packages/browser/src/components/navigation/topbar/TopBarButtonItem.tsx index 219735182..b08490f34 100644 --- a/packages/browser/src/components/navigation/topbar/TopBarButtonItem.tsx +++ b/packages/browser/src/components/navigation/topbar/TopBarButtonItem.tsx @@ -1,7 +1,5 @@ -/* eslint-disable react/prop-types */ - import { cn } from '@stump/components' -import React, { forwardRef } from 'react' +import { forwardRef } from 'react' type Props = { isDisabled?: boolean diff --git a/packages/browser/src/components/navigation/topbar/TopBarLinkListItem.tsx b/packages/browser/src/components/navigation/topbar/TopBarLinkListItem.tsx index 4c34399d7..16ee2ad38 100644 --- a/packages/browser/src/components/navigation/topbar/TopBarLinkListItem.tsx +++ b/packages/browser/src/components/navigation/topbar/TopBarLinkListItem.tsx @@ -1,5 +1,5 @@ import { cn, NavigationMenu } from '@stump/components' -import React, { PropsWithChildren } from 'react' +import { PropsWithChildren } from 'react' import { To } from 'react-router' import { Link } from 'react-router-dom' diff --git a/packages/browser/src/components/navigation/topbar/TopBarNavLink.tsx b/packages/browser/src/components/navigation/topbar/TopBarNavLink.tsx index 001cd973c..c83f0e49d 100644 --- a/packages/browser/src/components/navigation/topbar/TopBarNavLink.tsx +++ b/packages/browser/src/components/navigation/topbar/TopBarNavLink.tsx @@ -1,5 +1,5 @@ import { cn, NavigationMenu, navigationMenuTriggerStyle } from '@stump/components' -import React, { PropsWithChildren } from 'react' +import { PropsWithChildren } from 'react' import { To } from 'react-router' import { Link } from 'react-router-dom' diff --git a/packages/browser/src/components/navigation/topbar/sections/UserMenu.tsx b/packages/browser/src/components/navigation/topbar/sections/UserMenu.tsx index d5fa83ee7..d87924389 100644 --- a/packages/browser/src/components/navigation/topbar/sections/UserMenu.tsx +++ b/packages/browser/src/components/navigation/topbar/sections/UserMenu.tsx @@ -1,7 +1,6 @@ import { invalidateQueries, useSDK } from '@stump/client' import { Avatar, cn, NavigationMenu } from '@stump/components' import { Bell, LogOut } from 'lucide-react' -import React from 'react' import toast from 'react-hot-toast' import { useNavigate } from 'react-router' diff --git a/packages/browser/src/components/navigation/topbar/sections/book-club/BookClubNavigationItem.tsx b/packages/browser/src/components/navigation/topbar/sections/book-club/BookClubNavigationItem.tsx index e75a68835..a741a0ac0 100644 --- a/packages/browser/src/components/navigation/topbar/sections/book-club/BookClubNavigationItem.tsx +++ b/packages/browser/src/components/navigation/topbar/sections/book-club/BookClubNavigationItem.tsx @@ -1,5 +1,4 @@ import { NavigationMenu } from '@stump/components' -import React from 'react' import { EntityOptionProps } from '@/components/navigation/types' diff --git a/packages/browser/src/components/navigation/topbar/sections/library/LibraryNavigationItem.tsx b/packages/browser/src/components/navigation/topbar/sections/library/LibraryNavigationItem.tsx index 56f03fb94..98c792cb1 100644 --- a/packages/browser/src/components/navigation/topbar/sections/library/LibraryNavigationItem.tsx +++ b/packages/browser/src/components/navigation/topbar/sections/library/LibraryNavigationItem.tsx @@ -1,7 +1,7 @@ import { useLibraries } from '@stump/client' import { cn, cx, Label, NavigationMenu, ScrollArea, Text } from '@stump/components' import { CircleSlash2, Library, LibrarySquare } from 'lucide-react' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router-dom' import AutoSizer from 'react-virtualized-auto-sizer' diff --git a/packages/browser/src/components/navigation/topbar/sections/settings/SettingsNavigationItem.tsx b/packages/browser/src/components/navigation/topbar/sections/settings/SettingsNavigationItem.tsx index 6c24f2694..b533098f8 100644 --- a/packages/browser/src/components/navigation/topbar/sections/settings/SettingsNavigationItem.tsx +++ b/packages/browser/src/components/navigation/topbar/sections/settings/SettingsNavigationItem.tsx @@ -1,7 +1,6 @@ import { cn, Label, NavigationMenu } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Cog } from 'lucide-react' -import React from 'react' import { useLocation } from 'react-router-dom' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/components/readers/epub/EpubJsReader.tsx b/packages/browser/src/components/readers/epub/EpubJsReader.tsx index dde9dbb0e..0a7212470 100644 --- a/packages/browser/src/components/readers/epub/EpubJsReader.tsx +++ b/packages/browser/src/components/readers/epub/EpubJsReader.tsx @@ -127,7 +127,7 @@ export default function EpubJsReader({ id, initialCfi }: EpubJsReaderProps) { if (iframe) { iframe.focus() } else { - console.debug('Failed to find iframe in epub reader') + console.warn('Failed to find iframe in epub reader') } } @@ -192,56 +192,52 @@ export default function EpubJsReader({ id, initialCfi }: EpubJsReaderProps) { * when the book is has been loaded. It will also set the initial location and theme * for the rendition. */ - useEffect( - () => { - if (!book) return + useEffect(() => { + if (!book) return - book.ready.then(() => { - if (book.spine) { - const defaultLoc = book.rendition?.location?.start?.cfi + book.ready.then(() => { + if (book.spine) { + const defaultLoc = book.rendition?.location?.start?.cfi - const rendition_ = book.renderTo(ref.current!, { - height: '100%', - width: '100%', - }) + const rendition_ = book.renderTo(ref.current!, { + height: '100%', + width: '100%', + }) - //? TODO: I guess here I would need to wait for and load in custom theme blobs... - //* Color manipulation reference: https://github.com/futurepress/epub.js/issues/1019 - rendition_.themes.register('stump-dark', stumpDark) - rendition_.on('relocated', handleLocationChange) + //? TODO: I guess here I would need to wait for and load in custom theme blobs... + //* Color manipulation reference: https://github.com/futurepress/epub.js/issues/1019 + rendition_.themes.register('stump-dark', stumpDark) + rendition_.on('relocated', handleLocationChange) - // This callback is used to change the page when a keydown event is recieved. - const keydown_callback = (event: KeyboardEvent) => { - // Check arrow keys - if (event.key == 'ArrowLeft') { - rendition_.prev() - } - if (event.key == 'ArrowRight') { - rendition_.next() - } + // This callback is used to change the page when a keydown event is recieved. + const keydown_callback = (event: KeyboardEvent) => { + // Check arrow keys + if (event.key == 'ArrowLeft') { + rendition_.prev() } - // The rendition fires keydown events when the epub page is in focus - rendition_.on('keydown', keydown_callback) - // When the epub page isn't in focus, the window fires them instead - window.addEventListener('keydown', keydown_callback) - - applyEpubPreferences(rendition_, epubPreferences) - setRendition(rendition_) - - const targetCfi = epub?.media_entity.active_reading_session?.epubcfi ?? initialCfi - if (targetCfi) { - rendition_.display(targetCfi) - } else if (defaultLoc) { - rendition_.display(defaultLoc) - } else { - rendition_.display() + if (event.key == 'ArrowRight') { + rendition_.next() } } - }) - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [book], - ) + // The rendition fires keydown events when the epub page is in focus + rendition_.on('keydown', keydown_callback) + // When the epub page isn't in focus, the window fires them instead + window.addEventListener('keydown', keydown_callback) + + applyEpubPreferences(rendition_, epubPreferences) + setRendition(rendition_) + + const targetCfi = epub?.media_entity.active_reading_session?.epubcfi ?? initialCfi + if (targetCfi) { + rendition_.display(targetCfi) + } else if (defaultLoc) { + rendition_.display(defaultLoc) + } else { + rendition_.display() + } + } + }) + }, [book]) // TODO: this needs to have fullscreen as an effect dependency /** @@ -285,16 +281,11 @@ export default function EpubJsReader({ id, initialCfi }: EpubJsReaderProps) { * preferences change. It will only run when the epub preferences change and the * rendition instance is set. */ - useEffect( - () => { - if (rendition) { - applyEpubPreferences(rendition, epubPreferences) - } - }, - - // eslint-disable-next-line react-hooks/exhaustive-deps - [rendition, epubPreferences, theme], - ) + useEffect(() => { + if (rendition) { + applyEpubPreferences(rendition, epubPreferences) + } + }, [rendition, epubPreferences, theme]) /** * This effect is responsible for invalidating the in progress media query whenever @@ -423,74 +414,69 @@ export default function EpubJsReader({ id, initialCfi }: EpubJsReaderProps) { * this information, or the pieces of information needed to calculate it. Be sure to * review the comments in this effect carefully before making any changes. */ - useEffect( - () => { - //* We can't do anything without the entity, so short circuit. This shouldn't - //* really happen, though. - if (!epub) return - - /** - * - * @param payload The payload to send to the server. Contains all of the information - * needed to update the progress of the epub. - * @returns A promise which resolves to the updated progress information. - */ - const handleUpdateProgress = async (payload: UpdateEpubProgress) => { - try { - await sdk.epub.updateProgress({ ...payload, id: epub.media_entity.id }) - } catch (err) { - console.error(err) - } + useEffect(() => { + //* We can't do anything without the entity, so short circuit. This shouldn't + //* really happen, though. + if (!epub) return + + /** + * + * @param payload The payload to send to the server. Contains all of the information + * needed to update the progress of the epub. + * @returns A promise which resolves to the updated progress information. + */ + const handleUpdateProgress = async (payload: UpdateEpubProgress) => { + try { + await sdk.epub.updateProgress({ ...payload, id: epub.media_entity.id }) + } catch (err) { + console.error(err) } + } - if (!currentLocation) { - return - } + if (!currentLocation) { + return + } - const { start, end, atEnd } = currentLocation + const { start, end, atEnd } = currentLocation - if (!start && !end) { - return - } - - let percentage: number | null = null - - if (spineSize) { - const currentChapterPage = start.displayed.page - const pagesInChapter = start.displayed.total - - const chapterCount = spineSize //* not a great assumption - //* The percentage of the book that has been read based on the chapter index. - //* E.g. if you are on chapter 15 of 20, this will be 0.75. - const totalChapterPercentage = start.index / chapterCount - //* The percentage of the current chapter that has been read based on the page number. - //* E.g. if you are on page 2 of 20 in the current chapter, this will be 0.1. - const chapterPercentage = currentChapterPage / pagesInChapter - //* The percentage of the book that has been read based on the current page, assuming - //* that each chapter is the same length. This is obviously not ideal, but epubjs is - //* terrible and doesn't provide a better way to do this. - const naiveAdjustment = chapterPercentage * (1 / chapterCount) - - const naitveTotal = totalChapterPercentage + naiveAdjustment - const isAtEnd = Math.abs(naitveTotal - 1) < 0.02 - if (isAtEnd) { - //* if total is +- 0.02 of 1, then we are at the end of the book. - percentage = 1.0 - } else { - percentage = naitveTotal - } + if (!start && !end) { + return + } - handleUpdateProgress({ - epubcfi: start.cfi, - is_complete: atEnd ?? percentage === 1.0, - percentage, - }) + let percentage: number | null = null + + if (spineSize) { + const currentChapterPage = start.displayed.page + const pagesInChapter = start.displayed.total + + const chapterCount = spineSize //* not a great assumption + //* The percentage of the book that has been read based on the chapter index. + //* E.g. if you are on chapter 15 of 20, this will be 0.75. + const totalChapterPercentage = start.index / chapterCount + //* The percentage of the current chapter that has been read based on the page number. + //* E.g. if you are on page 2 of 20 in the current chapter, this will be 0.1. + const chapterPercentage = currentChapterPage / pagesInChapter + //* The percentage of the book that has been read based on the current page, assuming + //* that each chapter is the same length. This is obviously not ideal, but epubjs is + //* terrible and doesn't provide a better way to do this. + const naiveAdjustment = chapterPercentage * (1 / chapterCount) + + const naitveTotal = totalChapterPercentage + naiveAdjustment + const isAtEnd = Math.abs(naitveTotal - 1) < 0.02 + if (isAtEnd) { + //* if total is +- 0.02 of 1, then we are at the end of the book. + percentage = 1.0 + } else { + percentage = naitveTotal } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [currentLocation, spineSize], - ) + handleUpdateProgress({ + epubcfi: start.cfi, + is_complete: atEnd ?? percentage === 1.0, + percentage, + }) + } + }, [currentLocation, spineSize]) /** * A callback for attempting to extract preview text from a given cfi. This is used for bookmarks, diff --git a/packages/browser/src/components/readers/epub/EpubStreamReader.tsx b/packages/browser/src/components/readers/epub/EpubStreamReader.tsx index 4d3b449d9..c96edaf0d 100644 --- a/packages/browser/src/components/readers/epub/EpubStreamReader.tsx +++ b/packages/browser/src/components/readers/epub/EpubStreamReader.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ // FIXME: this file is a mess import { UseEpubReturn, useSDK } from '@stump/client' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import { useNavigate } from 'react-router-dom' /* @@ -33,24 +33,19 @@ export default function EpubStreamReader({ epub, actions, ...rest }: UseEpubRetu const [content, setContent] = useState() - useEffect( - () => { - sdk.epub - .fetchResource({ - id: epub.media_entity.id, - resourceId: actions.currentResource()?.content!, - root: epub.root_base, - }) - .then((res) => { - console.debug(res) - // FIXME: don't cast - setContent(rest.correctHtmlUrls(res as string)) - }) - }, - - // eslint-disable-next-line react-hooks/exhaustive-deps - [], - ) + useEffect(() => { + sdk.epub + .fetchResource({ + id: epub.media_entity.id, + resourceId: actions.currentResource()?.content!, + root: epub.root_base, + }) + .then((res) => { + // console.debug(res) + // FIXME: don't cast + setContent(rest.correctHtmlUrls(res as string)) + }) + }, []) function handleClickEvent(e: React.MouseEvent) { if (e.target instanceof HTMLAnchorElement && e.target.href) { diff --git a/packages/browser/src/components/readers/epub/controls/ControlButton.tsx b/packages/browser/src/components/readers/epub/controls/ControlButton.tsx index 1ed265027..beac06b4b 100644 --- a/packages/browser/src/components/readers/epub/controls/ControlButton.tsx +++ b/packages/browser/src/components/readers/epub/controls/ControlButton.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { IconButton } from '@stump/components' -import React, { ComponentProps, forwardRef } from 'react' +import { ComponentProps, forwardRef } from 'react' const ControlButton = forwardRef>( ({ className, ...props }, ref) => { diff --git a/packages/browser/src/components/readers/epub/controls/FontSizeControl.tsx b/packages/browser/src/components/readers/epub/controls/FontSizeControl.tsx index 1d375f64a..919e983ed 100644 --- a/packages/browser/src/components/readers/epub/controls/FontSizeControl.tsx +++ b/packages/browser/src/components/readers/epub/controls/FontSizeControl.tsx @@ -1,7 +1,7 @@ import { useEpubReader } from '@stump/client' import { cx, Label, Text, TEXT_VARIANTS } from '@stump/components' import { Minus, Plus } from 'lucide-react' -import React, { useCallback, useEffect, useRef } from 'react' +import { useCallback, useEffect, useRef } from 'react' import { usePressAndHold } from '@/hooks/usePressAndHold' diff --git a/packages/browser/src/components/readers/epub/controls/FullScreenToggle.tsx b/packages/browser/src/components/readers/epub/controls/FullScreenToggle.tsx index 055b9c213..d013e5a3f 100644 --- a/packages/browser/src/components/readers/epub/controls/FullScreenToggle.tsx +++ b/packages/browser/src/components/readers/epub/controls/FullScreenToggle.tsx @@ -1,5 +1,4 @@ import { Fullscreen } from 'lucide-react' -import React from 'react' import { useEpubReaderControls } from '../context' import ControlButton from './ControlButton' diff --git a/packages/browser/src/components/readers/epub/controls/ReadingDirection.tsx b/packages/browser/src/components/readers/epub/controls/ReadingDirection.tsx index 9f7cb2b4f..ea390b27b 100644 --- a/packages/browser/src/components/readers/epub/controls/ReadingDirection.tsx +++ b/packages/browser/src/components/readers/epub/controls/ReadingDirection.tsx @@ -1,6 +1,5 @@ import { useEpubReader } from '@stump/client' import { Label, NativeSelect } from '@stump/components' -import React from 'react' export default function ReadingDirection() { const { readingDirection, setReadingDirection } = useEpubReader((store) => ({ diff --git a/packages/browser/src/components/readers/epub/controls/SearchCommand.tsx b/packages/browser/src/components/readers/epub/controls/SearchCommand.tsx index 08d14943c..ecda27b77 100644 --- a/packages/browser/src/components/readers/epub/controls/SearchCommand.tsx +++ b/packages/browser/src/components/readers/epub/controls/SearchCommand.tsx @@ -1,6 +1,6 @@ import { cn, Command, Text } from '@stump/components' import { Search } from 'lucide-react' -import React, { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' import Spinner from '@/components/Spinner' diff --git a/packages/browser/src/components/readers/epub/controls/ThemeControls.tsx b/packages/browser/src/components/readers/epub/controls/ThemeControls.tsx index 3abf034ab..7be6025d9 100644 --- a/packages/browser/src/components/readers/epub/controls/ThemeControls.tsx +++ b/packages/browser/src/components/readers/epub/controls/ThemeControls.tsx @@ -1,6 +1,5 @@ import { Popover } from '@stump/components' import { Paintbrush } from 'lucide-react' -import React from 'react' import ControlButton from './ControlButton' import FontSizeControl from './FontSizeControl' diff --git a/packages/browser/src/components/readers/epub/locations/Bookmarks.tsx b/packages/browser/src/components/readers/epub/locations/Bookmarks.tsx index 40dc609f1..3e1a56062 100644 --- a/packages/browser/src/components/readers/epub/locations/Bookmarks.tsx +++ b/packages/browser/src/components/readers/epub/locations/Bookmarks.tsx @@ -1,5 +1,5 @@ import { Text } from '@stump/components' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import GenericEmptyState from '@/components/GenericEmptyState' diff --git a/packages/browser/src/components/readers/epub/locations/LocationManager.tsx b/packages/browser/src/components/readers/epub/locations/LocationManager.tsx index 26636aabd..f80e41350 100644 --- a/packages/browser/src/components/readers/epub/locations/LocationManager.tsx +++ b/packages/browser/src/components/readers/epub/locations/LocationManager.tsx @@ -1,6 +1,6 @@ import { Dialog, Tabs, Text } from '@stump/components' import { List } from 'lucide-react' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' import ControlButton from '../controls/ControlButton' import Bookmarks from './Bookmarks' diff --git a/packages/browser/src/components/readers/epub/locations/TableOfContents.tsx b/packages/browser/src/components/readers/epub/locations/TableOfContents.tsx index 28db32904..d4c9009d6 100644 --- a/packages/browser/src/components/readers/epub/locations/TableOfContents.tsx +++ b/packages/browser/src/components/readers/epub/locations/TableOfContents.tsx @@ -1,5 +1,5 @@ import { Text } from '@stump/components' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useEpubReaderContext } from '../context' diff --git a/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx b/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx index 884d06993..488954e0e 100644 --- a/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx +++ b/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx @@ -1,6 +1,6 @@ import { queryClient, useSDK, useUpdateMediaProgress } from '@stump/client' import { Media } from '@stump/sdk' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import { useNavigate } from 'react-router' import { usePreloadPage } from '@/hooks/usePreloadPage' @@ -129,18 +129,14 @@ export default function ImageBasedReader({ * when the user navigates away from the reader, the in-progress media is accurately reflected with * the latest reading session. */ - useEffect( - () => { - return () => { - setSettings({ - showToolBar: false, - }) - queryClient.invalidateQueries([sdk.media.keys.inProgress], { exact: false }) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [], - ) + useEffect(() => { + return () => { + setSettings({ + showToolBar: false, + }) + queryClient.invalidateQueries([sdk.media.keys.inProgress], { exact: false }) + } + }, []) const renderReader = () => { if (readingMode.startsWith('continuous')) { diff --git a/packages/browser/src/components/readers/imageBased/container/BrightnessControl.tsx b/packages/browser/src/components/readers/imageBased/container/BrightnessControl.tsx index 67a8415e9..f64866bd0 100644 --- a/packages/browser/src/components/readers/imageBased/container/BrightnessControl.tsx +++ b/packages/browser/src/components/readers/imageBased/container/BrightnessControl.tsx @@ -1,5 +1,5 @@ import { Label, Slider } from '@stump/components' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' diff --git a/packages/browser/src/components/readers/imageBased/container/ControlButton.tsx b/packages/browser/src/components/readers/imageBased/container/ControlButton.tsx index 1ed265027..beac06b4b 100644 --- a/packages/browser/src/components/readers/imageBased/container/ControlButton.tsx +++ b/packages/browser/src/components/readers/imageBased/container/ControlButton.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { IconButton } from '@stump/components' -import React, { ComponentProps, forwardRef } from 'react' +import { ComponentProps, forwardRef } from 'react' const ControlButton = forwardRef>( ({ className, ...props }, ref) => { diff --git a/packages/browser/src/components/readers/imageBased/container/DoubleSpreadToggle.tsx b/packages/browser/src/components/readers/imageBased/container/DoubleSpreadToggle.tsx index 8d986ed92..79c813ec3 100644 --- a/packages/browser/src/components/readers/imageBased/container/DoubleSpreadToggle.tsx +++ b/packages/browser/src/components/readers/imageBased/container/DoubleSpreadToggle.tsx @@ -1,5 +1,4 @@ import { CheckBox } from '@stump/components' -import React from 'react' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' diff --git a/packages/browser/src/components/readers/imageBased/container/ImageScalingSelect.tsx b/packages/browser/src/components/readers/imageBased/container/ImageScalingSelect.tsx index 282fa3d45..60cf16b9d 100644 --- a/packages/browser/src/components/readers/imageBased/container/ImageScalingSelect.tsx +++ b/packages/browser/src/components/readers/imageBased/container/ImageScalingSelect.tsx @@ -1,6 +1,6 @@ import { BookImageScalingFit } from '@stump/client' import { Label, NativeSelect } from '@stump/components' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' diff --git a/packages/browser/src/components/readers/imageBased/container/ReaderContainer.tsx b/packages/browser/src/components/readers/imageBased/container/ReaderContainer.tsx index 084a6217b..734fcff06 100644 --- a/packages/browser/src/components/readers/imageBased/container/ReaderContainer.tsx +++ b/packages/browser/src/components/readers/imageBased/container/ReaderContainer.tsx @@ -1,4 +1,4 @@ -import React, { PropsWithChildren } from 'react' +import { Fragment, PropsWithChildren } from 'react' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' @@ -15,11 +15,11 @@ const ReaderContainer = ({ children }: PropsWithChildren) => { const showBottomToolbar = readingMode === 'paged' return ( - + {children} {showBottomToolbar && } - + ) } diff --git a/packages/browser/src/components/readers/imageBased/container/ReadingDirectionSelect.tsx b/packages/browser/src/components/readers/imageBased/container/ReadingDirectionSelect.tsx index 725a74db1..cc77c5345 100644 --- a/packages/browser/src/components/readers/imageBased/container/ReadingDirectionSelect.tsx +++ b/packages/browser/src/components/readers/imageBased/container/ReadingDirectionSelect.tsx @@ -1,5 +1,5 @@ import { Label, NativeSelect } from '@stump/components' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' diff --git a/packages/browser/src/components/readers/imageBased/container/ReadingModeSelect.tsx b/packages/browser/src/components/readers/imageBased/container/ReadingModeSelect.tsx index 26750195d..fc943fea8 100644 --- a/packages/browser/src/components/readers/imageBased/container/ReadingModeSelect.tsx +++ b/packages/browser/src/components/readers/imageBased/container/ReadingModeSelect.tsx @@ -1,6 +1,6 @@ import { Label, NativeSelect } from '@stump/components' import { ReadingMode } from '@stump/sdk' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useSearchParams } from 'react-router-dom' import { useBookPreferences } from '@/scenes/book/reader/useBookPreferences' diff --git a/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx b/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx index 837618a4f..12923565f 100644 --- a/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx +++ b/packages/browser/src/components/readers/imageBased/continuous/ContinuousScrollReader.tsx @@ -1,7 +1,7 @@ import { BookImageScaling } from '@stump/client' import { cn, usePrevious } from '@stump/components' import { Media } from '@stump/sdk' -import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react' +import { forwardRef, useCallback, useEffect, useRef, useState } from 'react' import { useSearchParams } from 'react-router-dom' import AutoSizer from 'react-virtualized-auto-sizer' import { ScrollerProps, Virtuoso } from 'react-virtuoso' diff --git a/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx b/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx index 823cb4228..6743408a7 100644 --- a/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx +++ b/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx @@ -117,31 +117,27 @@ export default function AnimatedPagedReader({ currPageRef.current = currentPage }, [currentPage]) - const imageUrls = useMemo( - () => { - const urls = [] - - // if has previous - if (currentPage > 1) { - urls.push(getPageUrl(currentPage - 1)) - } else { - urls.push(undefined) - } + const imageUrls = useMemo(() => { + const urls = [] + + // if has previous + if (currentPage > 1) { + urls.push(getPageUrl(currentPage - 1)) + } else { + urls.push(undefined) + } - urls.push(getPageUrl(currentPage)) + urls.push(getPageUrl(currentPage)) - // if has next - if (currentPage < media.pages) { - urls.push(getPageUrl(currentPage + 1)) - } else { - urls.push(undefined) - } + // if has next + if (currentPage < media.pages) { + urls.push(getPageUrl(currentPage + 1)) + } else { + urls.push(undefined) + } - return urls - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [currentPage], - ) + return urls + }, [currentPage]) function startNextPageAnimation() { Promise.all([ @@ -161,15 +157,11 @@ export default function AnimatedPagedReader({ }) } - useEffect( - () => { - controls.set(RESET_CONTROLS) - nextControls.set({ left: '100%' }) - prevControls.set({ right: '100%' }) - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [currentPage], - ) + useEffect(() => { + controls.set(RESET_CONTROLS) + nextControls.set({ left: '100%' }) + prevControls.set({ right: '100%' }) + }, [currentPage]) function handleHotKeyPagination(direction: 'next' | 'prev') { if (direction === 'next' && currPageRef.current < media.pages) { diff --git a/packages/browser/src/components/readers/imageBased/paged/PagedReader.tsx b/packages/browser/src/components/readers/imageBased/paged/PagedReader.tsx index 719612b83..78d51b76d 100644 --- a/packages/browser/src/components/readers/imageBased/paged/PagedReader.tsx +++ b/packages/browser/src/components/readers/imageBased/paged/PagedReader.tsx @@ -1,6 +1,6 @@ import type { Media } from '@stump/sdk' import clsx from 'clsx' -import React, { memo, useCallback, useMemo, useRef } from 'react' +import { memo, useCallback, useMemo, useRef } from 'react' import { useHotkeys } from 'react-hotkeys-hook' import { Hotkey } from 'react-hotkeys-hook/dist/types' import { useSwipeable } from 'react-swipeable' diff --git a/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx b/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx index c1f58225a..e8c8c9848 100644 --- a/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx +++ b/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx @@ -26,27 +26,23 @@ export default function NativePDFViewer({ id }: Props) { * An effect that fetches the PDF and creates an object URL for it. * When the component unmounts, the object URL is revoked. */ - useEffect( - () => { - async function fetchPdf() { - const response = await fetch(sdk.media.downloadURL(id), { - credentials: 'include', - }) - const blob = await response.blob() - const arrayBuffer = await blob.arrayBuffer() - setPdfObjectUrl(URL.createObjectURL(new Blob([arrayBuffer], { type: 'application/pdf' }))) - } - fetchPdf() + useEffect(() => { + async function fetchPdf() { + const response = await fetch(sdk.media.downloadURL(id), { + credentials: 'include', + }) + const blob = await response.blob() + const arrayBuffer = await blob.arrayBuffer() + setPdfObjectUrl(URL.createObjectURL(new Blob([arrayBuffer], { type: 'application/pdf' }))) + } + fetchPdf() - return () => { - if (pdfObjectUrl) { - URL.revokeObjectURL(pdfObjectUrl) - } + return () => { + if (pdfObjectUrl) { + URL.revokeObjectURL(pdfObjectUrl) } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [], - ) + } + }, []) // TODO: consider some sort of loading state here if (!pdfObjectUrl) { diff --git a/packages/browser/src/components/savedServer/configuredServers/AddServerModal.tsx b/packages/browser/src/components/savedServer/configuredServers/AddServerModal.tsx index efe3e6fdd..22d71fd27 100644 --- a/packages/browser/src/components/savedServer/configuredServers/AddServerModal.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/AddServerModal.tsx @@ -1,7 +1,7 @@ import { Button, ConfirmationModal } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { SavedServer } from '@stump/sdk' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' import { CREATE_OR_UPDATE_SERVER_FORM_ID, diff --git a/packages/browser/src/components/savedServer/configuredServers/ConfiguredServersList.tsx b/packages/browser/src/components/savedServer/configuredServers/ConfiguredServersList.tsx index 98e244462..e16611001 100644 --- a/packages/browser/src/components/savedServer/configuredServers/ConfiguredServersList.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/ConfiguredServersList.tsx @@ -4,7 +4,7 @@ import { useLocaleContext } from '@stump/i18n' import { checkUrl, formatApiURL } from '@stump/sdk' import { SavedServer } from '@stump/sdk' import { useQueries } from '@tanstack/react-query' -import React, { useCallback, useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' import { useLocation, useNavigate } from 'react-router' import { useTauriRPC } from '@/hooks/useTauriRPC' diff --git a/packages/browser/src/components/savedServer/configuredServers/DeleteServerConfirmation.tsx b/packages/browser/src/components/savedServer/configuredServers/DeleteServerConfirmation.tsx index 33b672c1c..8875f6693 100644 --- a/packages/browser/src/components/savedServer/configuredServers/DeleteServerConfirmation.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/DeleteServerConfirmation.tsx @@ -1,6 +1,6 @@ import { Alert, ConfirmationModal } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback } from 'react' +import { useCallback } from 'react' type Props = { isOpen: boolean diff --git a/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx index b70fea369..d9ea0c16f 100644 --- a/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensConfirm.tsx @@ -1,6 +1,6 @@ import { Alert, Button, ConfirmationModal } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' type Props = { onConfirmClear: () => Promise diff --git a/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx index cc1c9aa5f..c9756a01f 100644 --- a/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/RemoveAllTokensSection.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import RemoveAllTokensConfirm from './RemoveAllTokensConfirm' diff --git a/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx b/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx index 36fa55de4..cf02f762a 100644 --- a/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/ResetConfigurationConfirmation.tsx @@ -1,6 +1,6 @@ import { Alert, Button, ConfirmationModal } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' type Props = { onConfirmReset: () => Promise diff --git a/packages/browser/src/components/savedServer/configuredServers/SwitchToServerConfirmation.tsx b/packages/browser/src/components/savedServer/configuredServers/SwitchToServerConfirmation.tsx index d03a281f2..4562998f1 100644 --- a/packages/browser/src/components/savedServer/configuredServers/SwitchToServerConfirmation.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/SwitchToServerConfirmation.tsx @@ -1,7 +1,6 @@ import { ConfirmationModal, Label, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { SavedServer } from '@stump/sdk' -import React from 'react' import { useCurrentOrPrevious } from '@/hooks/useCurrentOrPrevious' diff --git a/packages/browser/src/components/savedServer/createOrUpdate/CreateOrUpdateSavedServerForm.tsx b/packages/browser/src/components/savedServer/createOrUpdate/CreateOrUpdateSavedServerForm.tsx index e9e7ca4d0..636b08720 100644 --- a/packages/browser/src/components/savedServer/createOrUpdate/CreateOrUpdateSavedServerForm.tsx +++ b/packages/browser/src/components/savedServer/createOrUpdate/CreateOrUpdateSavedServerForm.tsx @@ -2,7 +2,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { SavedServer } from '@stump/sdk' -import React from 'react' import { useForm, useFormState } from 'react-hook-form' import { buildSchema, CreateOrUpdateServerSchema } from './schema' diff --git a/packages/browser/src/components/series/SeriesExplorationLayout.tsx b/packages/browser/src/components/series/SeriesExplorationLayout.tsx index ef7be9893..a4f3be4e2 100644 --- a/packages/browser/src/components/series/SeriesExplorationLayout.tsx +++ b/packages/browser/src/components/series/SeriesExplorationLayout.tsx @@ -1,6 +1,5 @@ import { IconButton, ToolTip } from '@stump/components' import { LayoutGrid, Table } from 'lucide-react' -import React from 'react' import { useSeriesLayout } from '@/stores/layout' diff --git a/packages/browser/src/components/series/table/CoverImageCell.tsx b/packages/browser/src/components/series/table/CoverImageCell.tsx index f663ea6fd..7119eedff 100644 --- a/packages/browser/src/components/series/table/CoverImageCell.tsx +++ b/packages/browser/src/components/series/table/CoverImageCell.tsx @@ -1,6 +1,6 @@ import { useSDK } from '@stump/client' import { Book } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { EntityImage } from '@/components/entity' @@ -35,7 +35,7 @@ export default function CoverImageCell({ id, title }: Props) { try { await loadImage() setShowFallback(false) - } catch (e) { + } catch { setShowFallback(true) } } diff --git a/packages/browser/src/components/series/table/SeriesTable.tsx b/packages/browser/src/components/series/table/SeriesTable.tsx index 2811b6958..692b9b198 100644 --- a/packages/browser/src/components/series/table/SeriesTable.tsx +++ b/packages/browser/src/components/series/table/SeriesTable.tsx @@ -1,6 +1,6 @@ import { Series } from '@stump/sdk' import { OnChangeFn, SortingState } from '@tanstack/react-table' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { orderingToTableSort, tableSortToOrdering, useFilterContext } from '@/components/filters' import { EntityTable, EntityTableProps } from '@/components/table' diff --git a/packages/browser/src/components/settings/GenericSettingsHeader.tsx b/packages/browser/src/components/settings/GenericSettingsHeader.tsx index 3b863a515..6e62be17b 100644 --- a/packages/browser/src/components/settings/GenericSettingsHeader.tsx +++ b/packages/browser/src/components/settings/GenericSettingsHeader.tsx @@ -1,6 +1,6 @@ import { cn, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/components/settings/GenericSettingsSelectNavigation.tsx b/packages/browser/src/components/settings/GenericSettingsSelectNavigation.tsx index 9d214f215..21c47f6de 100644 --- a/packages/browser/src/components/settings/GenericSettingsSelectNavigation.tsx +++ b/packages/browser/src/components/settings/GenericSettingsSelectNavigation.tsx @@ -1,6 +1,6 @@ import { NativeSelect } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { ComponentProps, useMemo } from 'react' +import { ComponentProps, useMemo } from 'react' import { useLocation, useNavigate } from 'react-router' import { formatRouteKey, useRouteGroups } from '@/hooks/useRouteGroups' diff --git a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/GroupBy.tsx b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/GroupBy.tsx index 89485b8ae..a672c40db 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/GroupBy.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/GroupBy.tsx @@ -1,6 +1,6 @@ import { Label, NativeSelect, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useFormContext } from 'react-hook-form' import { isGrouping, SmartListFormSchema, SmartListGroupBy } from '../schema' diff --git a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/FilterGroup.tsx b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/FilterGroup.tsx index a0fdfc66c..62989e475 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/FilterGroup.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/FilterGroup.tsx @@ -27,7 +27,7 @@ export default function FilterGroup({ idx, group }: Props) { return ( -
+
{!group.filters.length && (
diff --git a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/GroupJoiner.tsx b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/GroupJoiner.tsx index a9cba9448..51c417a50 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/GroupJoiner.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/GroupJoiner.tsx @@ -1,6 +1,5 @@ import { cn, Tabs, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useFormContext } from 'react-hook-form' import { FilterGroupJoiner, SmartListFormSchema } from '../../schema' diff --git a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/OperatorSelect.tsx b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/OperatorSelect.tsx index 387bf8ccf..ffd08fc27 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/OperatorSelect.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/OperatorSelect.tsx @@ -1,6 +1,6 @@ import { Button, cn, Command, Popover } from '@stump/components' import { ChevronsUpDown } from 'lucide-react' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import { useFieldArray, useFormContext } from 'react-hook-form' import { match } from 'ts-pattern' diff --git a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/filterValue/FilterValue.tsx b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/filterValue/FilterValue.tsx index ee1206083..1ba708882 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/filterValue/FilterValue.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/queryBuilder/filterGroup/filterValue/FilterValue.tsx @@ -1,7 +1,7 @@ import { cn, DatePicker, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import dayjs from 'dayjs' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useFormContext } from 'react-hook-form' import { match } from 'ts-pattern' diff --git a/packages/browser/src/components/smartList/createOrUpdate/sections/AccessSettings.tsx b/packages/browser/src/components/smartList/createOrUpdate/sections/AccessSettings.tsx index 3b22aa6e1..bc5c6430e 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/sections/AccessSettings.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/sections/AccessSettings.tsx @@ -1,7 +1,6 @@ import { Alert, Label, NativeSelect, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { EntityVisibility } from '@stump/sdk' -import React from 'react' import { useFormContext } from 'react-hook-form' import { SmartListFormSchema } from '../schema' diff --git a/packages/browser/src/components/smartList/createOrUpdate/sections/BasicDetails.tsx b/packages/browser/src/components/smartList/createOrUpdate/sections/BasicDetails.tsx index d1304ae25..ddce7a0b4 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/sections/BasicDetails.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/sections/BasicDetails.tsx @@ -1,6 +1,5 @@ import { Input, TextArea } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useFormContext } from 'react-hook-form' import { SmartListFormSchema } from '../schema' diff --git a/packages/browser/src/components/smartList/createOrUpdate/sections/FilterConfigJSON.tsx b/packages/browser/src/components/smartList/createOrUpdate/sections/FilterConfigJSON.tsx index 2116d2bc5..4e231633d 100644 --- a/packages/browser/src/components/smartList/createOrUpdate/sections/FilterConfigJSON.tsx +++ b/packages/browser/src/components/smartList/createOrUpdate/sections/FilterConfigJSON.tsx @@ -1,5 +1,5 @@ import { Accordion, Text } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useFormContext, useWatch } from 'react-hook-form' import { FilterGroupSchema, intoAPIFilters, SmartListFormSchema } from '../schema' diff --git a/packages/browser/src/components/steppedForm/SteppedFormIndicators.tsx b/packages/browser/src/components/steppedForm/SteppedFormIndicators.tsx index eeb3c6793..73d4e0a69 100644 --- a/packages/browser/src/components/steppedForm/SteppedFormIndicators.tsx +++ b/packages/browser/src/components/steppedForm/SteppedFormIndicators.tsx @@ -1,7 +1,7 @@ import { cn, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Check } from 'lucide-react' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useSteppedFormContext } from './context' diff --git a/packages/browser/src/components/steppedForm/SteppedFormSceneHeader.tsx b/packages/browser/src/components/steppedForm/SteppedFormSceneHeader.tsx index 5fee5e719..4ed1f97ff 100644 --- a/packages/browser/src/components/steppedForm/SteppedFormSceneHeader.tsx +++ b/packages/browser/src/components/steppedForm/SteppedFormSceneHeader.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useSteppedFormContext } from './context' import SteppedFormIndicators from './SteppedFormIndicators' diff --git a/packages/browser/src/components/steppedForm/SteppedFormStepDetails.tsx b/packages/browser/src/components/steppedForm/SteppedFormStepDetails.tsx index ef2505ba1..304bcb691 100644 --- a/packages/browser/src/components/steppedForm/SteppedFormStepDetails.tsx +++ b/packages/browser/src/components/steppedForm/SteppedFormStepDetails.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useSteppedFormContext } from './context' diff --git a/packages/browser/src/components/table/EntityTable.tsx b/packages/browser/src/components/table/EntityTable.tsx index 3eb0c36ca..30559b4e3 100644 --- a/packages/browser/src/components/table/EntityTable.tsx +++ b/packages/browser/src/components/table/EntityTable.tsx @@ -10,7 +10,7 @@ import { SortingState, useReactTable, } from '@tanstack/react-table' -import React, { PropsWithChildren } from 'react' +import { Fragment, PropsWithChildren } from 'react' import SortIcon from './SortIcon' @@ -89,7 +89,7 @@ export default function EntityTable({ }) const { rows } = table.getRowModel() - const Container = render ?? React.Fragment + const Container = render ?? Fragment return ( diff --git a/packages/browser/src/components/table/EntityTableColumnConfiguration.tsx b/packages/browser/src/components/table/EntityTableColumnConfiguration.tsx index 4db63dfcb..6bcbb5813 100644 --- a/packages/browser/src/components/table/EntityTableColumnConfiguration.tsx +++ b/packages/browser/src/components/table/EntityTableColumnConfiguration.tsx @@ -19,7 +19,7 @@ import { Button, IconButton, Sheet, Text, ToolTip } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ReactTableColumnSort } from '@stump/sdk' import { Columns, Eye, EyeOff } from 'lucide-react' -import React, { useCallback, useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' import { useMediaMatch } from 'rooks' import { bookTableColumnMap } from '../book/table' diff --git a/packages/browser/src/components/thumbnail/EditThumbnailDropdown.tsx b/packages/browser/src/components/thumbnail/EditThumbnailDropdown.tsx index 4460de237..7829e953f 100644 --- a/packages/browser/src/components/thumbnail/EditThumbnailDropdown.tsx +++ b/packages/browser/src/components/thumbnail/EditThumbnailDropdown.tsx @@ -1,7 +1,7 @@ import { Button, DropdownMenu } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ChevronDown } from 'lucide-react' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import { useAppContext } from '@/context' diff --git a/packages/browser/src/components/thumbnail/UploadImageModal.tsx b/packages/browser/src/components/thumbnail/UploadImageModal.tsx index 91fd9a9ad..6ece70cbc 100644 --- a/packages/browser/src/components/thumbnail/UploadImageModal.tsx +++ b/packages/browser/src/components/thumbnail/UploadImageModal.tsx @@ -1,7 +1,7 @@ import { Button, cx, Dialog, IconButton, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { X } from 'lucide-react' -import React, { useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' import { type FileRejection, useDropzone } from 'react-dropzone' import toast from 'react-hot-toast' diff --git a/packages/browser/src/components/unimplemented/UnderConstruction.tsx b/packages/browser/src/components/unimplemented/UnderConstruction.tsx index b0e2cfecd..04048233a 100644 --- a/packages/browser/src/components/unimplemented/UnderConstruction.tsx +++ b/packages/browser/src/components/unimplemented/UnderConstruction.tsx @@ -1,6 +1,5 @@ import { ButtonOrLink, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import paths from '@/paths' diff --git a/packages/browser/src/scenes/book/BookCompletionToggleButton.tsx b/packages/browser/src/scenes/book/BookCompletionToggleButton.tsx index 95c99640f..f90de50df 100644 --- a/packages/browser/src/scenes/book/BookCompletionToggleButton.tsx +++ b/packages/browser/src/scenes/book/BookCompletionToggleButton.tsx @@ -1,7 +1,7 @@ import { invalidateQueries, useMutation, useSDK } from '@stump/client' import { Button } from '@stump/components' import { Media, PutMediaCompletionStatus } from '@stump/sdk' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import toast from 'react-hot-toast' import { EBOOK_EXTENSION } from '@/utils/patterns' diff --git a/packages/browser/src/scenes/book/BookFileInformation.tsx b/packages/browser/src/scenes/book/BookFileInformation.tsx index 114861fdf..216929fc3 100644 --- a/packages/browser/src/scenes/book/BookFileInformation.tsx +++ b/packages/browser/src/scenes/book/BookFileInformation.tsx @@ -12,7 +12,7 @@ export default function BookFileInformation({ media }: Props) { const { library } = useLibraryQuery({ params: { series: { - id: media.series_id, + id: [media.series_id], }, }, }) diff --git a/packages/browser/src/scenes/book/BookLibrarySeriesLinks.tsx b/packages/browser/src/scenes/book/BookLibrarySeriesLinks.tsx index 417d0d235..13925510a 100644 --- a/packages/browser/src/scenes/book/BookLibrarySeriesLinks.tsx +++ b/packages/browser/src/scenes/book/BookLibrarySeriesLinks.tsx @@ -1,7 +1,7 @@ import { useSeriesByIdQuery } from '@stump/client' import { cx, Link, Text } from '@stump/components' import { Series } from '@stump/sdk' -import React from 'react' +import { Fragment } from 'react' import paths from '../../paths' import SeriesLibraryLink from '../series/SeriesLibraryLink' @@ -51,7 +51,7 @@ export default function BookLibrarySeriesLinks({ const Component = segment.to ? Link : Text return ( - + / {segment.label} - + ) })}
diff --git a/packages/browser/src/scenes/book/BookOverviewScene.tsx b/packages/browser/src/scenes/book/BookOverviewScene.tsx index 53c2f5c39..4ea9b03dc 100644 --- a/packages/browser/src/scenes/book/BookOverviewScene.tsx +++ b/packages/browser/src/scenes/book/BookOverviewScene.tsx @@ -47,15 +47,11 @@ export default function BookOverviewScene() { const { media, isLoading, remove } = useMediaByIdQuery(id) - useEffect( - () => { - return () => { - remove() - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [], - ) + useEffect(() => { + return () => { + remove() + } + }, []) if (isLoading) { return null diff --git a/packages/browser/src/scenes/book/BookReaderDropdown.tsx b/packages/browser/src/scenes/book/BookReaderDropdown.tsx index 5decb5137..d00a6f15d 100644 --- a/packages/browser/src/scenes/book/BookReaderDropdown.tsx +++ b/packages/browser/src/scenes/book/BookReaderDropdown.tsx @@ -1,7 +1,7 @@ import { ButtonOrLink, DropdownMenu, IconButton } from '@stump/components' import { Media } from '@stump/sdk' import { ChevronDown } from 'lucide-react' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useNavigate } from 'react-router' import paths from '@/paths' diff --git a/packages/browser/src/scenes/book/BookRouter.tsx b/packages/browser/src/scenes/book/BookRouter.tsx index 680bd0490..95ae995b7 100644 --- a/packages/browser/src/scenes/book/BookRouter.tsx +++ b/packages/browser/src/scenes/book/BookRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, Suspense } from 'react' +import { lazy, Suspense } from 'react' import { Navigate, Route, Routes } from 'react-router' import ServerOwnerRouteWrapper from '@/components/ServerOwnerRouteWrapper.tsx' diff --git a/packages/browser/src/scenes/book/BooksAfterCursor.tsx b/packages/browser/src/scenes/book/BooksAfterCursor.tsx index 457d35d20..194c9b061 100644 --- a/packages/browser/src/scenes/book/BooksAfterCursor.tsx +++ b/packages/browser/src/scenes/book/BooksAfterCursor.tsx @@ -23,18 +23,14 @@ export default function BooksAfterCurrent({ cursor }: Props) { const title = cursor.series ? `Next in ${cursor.series.name}` : 'Next in Series' const cards = media.map((media) => ) - useEffect( - () => { - // NOTE: I'm honestly not sure why this is even required... Without this, no matter WHAT I do, - // previous data seems to stick around. Manually removing from the cache on unmount seems to - // fix it... - return () => { - remove() - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [], - ) + useEffect(() => { + // NOTE: I'm honestly not sure why this is even required... Without this, no matter WHAT I do, + // previous data seems to stick around. Manually removing from the cache on unmount seems to + // fix it... + return () => { + remove() + } + }, []) return ( (null) + const parentRef = useRef(null) const isAtLeastSmall = useMediaMatch('(min-width: 640px)') const isAtLeastMedium = useMediaMatch('(min-width: 768px)') @@ -47,14 +47,10 @@ export default function BookPageGrid({ bookId, pages, selectedPage, onSelectPage overscan: 5, }) - useEffect( - () => { - rowVirtualizer.measure() - columnVirtualizer.measure() - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [isAtLeastMedium, isAtLeastSmall], - ) + useEffect(() => { + rowVirtualizer.measure() + columnVirtualizer.measure() + }, [isAtLeastMedium, isAtLeastSmall]) return (
@@ -76,7 +72,7 @@ export default function BookPageGrid({ bookId, pages, selectedPage, onSelectPage }} > {rowVirtualizer.getVirtualItems().map((virtualRow) => ( - + {columnVirtualizer.getVirtualItems().map((virtualColumn) => { const virtualPage = virtualRow.index * 4 + virtualColumn.index + 1 const imageUrl = sdk.media.bookPageURL(bookId, virtualPage) @@ -109,7 +105,7 @@ export default function BookPageGrid({ bookId, pages, selectedPage, onSelectPage
) })} - + ))}
diff --git a/packages/browser/src/scenes/book/settings/BookThumbnailSelector.tsx b/packages/browser/src/scenes/book/settings/BookThumbnailSelector.tsx index 7587c2c2c..6b60dbb8b 100644 --- a/packages/browser/src/scenes/book/settings/BookThumbnailSelector.tsx +++ b/packages/browser/src/scenes/book/settings/BookThumbnailSelector.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Button, Dialog } from '@stump/components' import { Media } from '@stump/sdk' -import React, { useState } from 'react' +import { useState } from 'react' import toast from 'react-hot-toast' import { EntityCard } from '@/components/entity' diff --git a/packages/browser/src/scenes/bookClub/BookClubHeader.tsx b/packages/browser/src/scenes/bookClub/BookClubHeader.tsx index f029b96c4..5d7300690 100644 --- a/packages/browser/src/scenes/bookClub/BookClubHeader.tsx +++ b/packages/browser/src/scenes/bookClub/BookClubHeader.tsx @@ -1,7 +1,6 @@ import { Avatar, Card, cn, Heading, Text } from '@stump/components' import dayjs from 'dayjs' import pluralize from 'pluralize' -import React from 'react' import { useBookClubContext } from '@/components/bookClub' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/bookClub/BookClubLayout.tsx b/packages/browser/src/scenes/bookClub/BookClubLayout.tsx index 130617a63..1da0214cb 100644 --- a/packages/browser/src/scenes/bookClub/BookClubLayout.tsx +++ b/packages/browser/src/scenes/bookClub/BookClubLayout.tsx @@ -2,7 +2,7 @@ import { useBookClubQuery } from '@stump/client' import { cn } from '@stump/components' import { BookClub, Media, User } from '@stump/sdk' import dayjs from 'dayjs' -import React, { Suspense, useMemo } from 'react' +import { Suspense, useMemo } from 'react' import { Navigate, Outlet, useLocation, useParams } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/scenes/bookClub/BookClubNavigation.tsx b/packages/browser/src/scenes/bookClub/BookClubNavigation.tsx index d1b17a4cf..541cebda7 100644 --- a/packages/browser/src/scenes/bookClub/BookClubNavigation.tsx +++ b/packages/browser/src/scenes/bookClub/BookClubNavigation.tsx @@ -1,6 +1,6 @@ import { usePrefetchClubChat } from '@stump/client' import { cn, cx, Link } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useBookClubContext } from '@/components/bookClub' diff --git a/packages/browser/src/scenes/bookClub/BookClubRouter.tsx b/packages/browser/src/scenes/bookClub/BookClubRouter.tsx index 9962489e3..b51ee399b 100644 --- a/packages/browser/src/scenes/bookClub/BookClubRouter.tsx +++ b/packages/browser/src/scenes/bookClub/BookClubRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useEffect } from 'react' +import { lazy, useEffect } from 'react' import { Navigate, Route, Routes, useNavigate } from 'react-router' import { UnderConstruction } from '@/components/unimplemented' diff --git a/packages/browser/src/scenes/bookClub/UserBookClubsScene.tsx b/packages/browser/src/scenes/bookClub/UserBookClubsScene.tsx index c97216c53..a64bbaa0f 100644 --- a/packages/browser/src/scenes/bookClub/UserBookClubsScene.tsx +++ b/packages/browser/src/scenes/bookClub/UserBookClubsScene.tsx @@ -3,7 +3,6 @@ import { ButtonOrLink, Card, cx, Heading, Text } from '@stump/components' import { BookClub } from '@stump/sdk' import dayjs from 'dayjs' import pluralize from 'pluralize' -import React from 'react' import { Helmet } from 'react-helmet' import { SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/bookClub/createClub/CreateBookClubForm.tsx b/packages/browser/src/scenes/bookClub/createClub/CreateBookClubForm.tsx index e847abc9c..3c062f181 100644 --- a/packages/browser/src/scenes/bookClub/createClub/CreateBookClubForm.tsx +++ b/packages/browser/src/scenes/bookClub/createClub/CreateBookClubForm.tsx @@ -2,7 +2,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useBookClubsQuery } from '@stump/client' import { Button, cn, Form } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm } from 'react-hook-form' import { diff --git a/packages/browser/src/scenes/bookClub/createClub/CreateBookClubScene.tsx b/packages/browser/src/scenes/bookClub/createClub/CreateBookClubScene.tsx index a336ea27f..bb3984a55 100644 --- a/packages/browser/src/scenes/bookClub/createClub/CreateBookClubScene.tsx +++ b/packages/browser/src/scenes/bookClub/createClub/CreateBookClubScene.tsx @@ -1,7 +1,7 @@ import { useCreateBookClub } from '@stump/client' import { Alert } from '@stump/components' import { BookClubMemberRoleSpec, CreateBookClub } from '@stump/sdk' -import React, { Suspense, useCallback, useState } from 'react' +import { Suspense, useCallback, useState } from 'react' import { Helmet } from 'react-helmet' import { useNavigate } from 'react-router' diff --git a/packages/browser/src/scenes/bookClub/createClub/CreateClubReview.tsx b/packages/browser/src/scenes/bookClub/createClub/CreateClubReview.tsx index 07966b1a6..22861261c 100644 --- a/packages/browser/src/scenes/bookClub/createClub/CreateClubReview.tsx +++ b/packages/browser/src/scenes/bookClub/createClub/CreateClubReview.tsx @@ -1,6 +1,5 @@ import { Label, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useFormContext } from 'react-hook-form' import { CreateOrUpdateBookClubSchema } from '@/components/bookClub/createOrUpdateForm' diff --git a/packages/browser/src/scenes/bookClub/explore/BookClubExploreScene.tsx b/packages/browser/src/scenes/bookClub/explore/BookClubExploreScene.tsx index 614460d2d..4af2ad503 100644 --- a/packages/browser/src/scenes/bookClub/explore/BookClubExploreScene.tsx +++ b/packages/browser/src/scenes/bookClub/explore/BookClubExploreScene.tsx @@ -1,6 +1,5 @@ import { useBookClubsQuery } from '@stump/client' import { ButtonOrLink, cx } from '@stump/components' -import React from 'react' import { SceneContainer } from '@/components/container' import GenericEmptyState from '@/components/GenericEmptyState' diff --git a/packages/browser/src/scenes/bookClub/tabs/discussion/BookClubDiscussionScene.tsx b/packages/browser/src/scenes/bookClub/tabs/discussion/BookClubDiscussionScene.tsx index 814ea43b4..a7b12633f 100644 --- a/packages/browser/src/scenes/bookClub/tabs/discussion/BookClubDiscussionScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/discussion/BookClubDiscussionScene.tsx @@ -1,7 +1,6 @@ import { useDiscussionQuery } from '@stump/client' import { ButtonOrLink, Card } from '@stump/components' import { BookClubDiscussionMessage, User } from '@stump/sdk' -import React from 'react' import { Navigate, useSearchParams } from 'react-router-dom' import { useBookClubContext } from '@/components/bookClub' diff --git a/packages/browser/src/scenes/bookClub/tabs/discussion/ChatMessage.tsx b/packages/browser/src/scenes/bookClub/tabs/discussion/ChatMessage.tsx index acf5d55e5..9d4fec524 100644 --- a/packages/browser/src/scenes/bookClub/tabs/discussion/ChatMessage.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/discussion/ChatMessage.tsx @@ -4,7 +4,6 @@ import { BookClubDiscussionMessage } from '@stump/sdk' import dayjs from 'dayjs' import { MessageCircle, ThumbsUp } from 'lucide-react' import pluralize from 'pluralize' -import React from 'react' import { Link } from 'react-router-dom' import { useBookClubContext } from '@/components/bookClub' diff --git a/packages/browser/src/scenes/bookClub/tabs/home/BookClubOverviewScene.tsx b/packages/browser/src/scenes/bookClub/tabs/home/BookClubOverviewScene.tsx index 91d3cdfe2..c013dcc2f 100644 --- a/packages/browser/src/scenes/bookClub/tabs/home/BookClubOverviewScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/home/BookClubOverviewScene.tsx @@ -1,7 +1,5 @@ -import React from 'react' - import { BookClubSchedule } from '@/components/bookClub' export default function BookClubHomeScene() { - return + return } diff --git a/packages/browser/src/scenes/bookClub/tabs/members/BookClubMembersScene.tsx b/packages/browser/src/scenes/bookClub/tabs/members/BookClubMembersScene.tsx index 6c59fbc55..9d60e3388 100644 --- a/packages/browser/src/scenes/bookClub/tabs/members/BookClubMembersScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/members/BookClubMembersScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - export default function BookClubMembersScene() { return (
diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsRouter.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsRouter.tsx index a967b10dd..ee86218bc 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsRouter.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsRouter.tsx @@ -1,16 +1,16 @@ import { useUpdateBookClub } from '@stump/client' import { UpdateBookClub } from '@stump/sdk' -import React, { Suspense, useCallback } from 'react' +import { lazy, Suspense, useCallback } from 'react' import { Navigate, Route, Routes } from 'react-router' import { useBookClubContext } from '@/components/bookClub' import { BookClubManagementContext } from './context' -const BasicSettingsScene = React.lazy(() => import('./basics')) -const MemberManagementScene = React.lazy(() => import('./members')) -const DeletionScene = React.lazy(() => import('./danger')) -const BookClubSchedulerScene = React.lazy(() => import('./scheduler')) +const BasicSettingsScene = lazy(() => import('./basics')) +const MemberManagementScene = lazy(() => import('./members')) +const DeletionScene = lazy(() => import('./danger')) +const BookClubSchedulerScene = lazy(() => import('./scheduler')) export default function BookClubSettingsRouter() { const { bookClub } = useBookClubContext() diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx index f84fe622f..a8e7f5afb 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx @@ -1,7 +1,6 @@ import { ButtonOrLink, cn, IconButton, Label } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ArrowLeft, Home } from 'lucide-react' -import React from 'react' import { useLocation, useNavigate } from 'react-router' import { useBookClubContext } from '@/components/bookClub' diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/MemberSpecDisplay.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/MemberSpecDisplay.tsx index e09d14a93..a5306a86a 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/MemberSpecDisplay.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/MemberSpecDisplay.tsx @@ -1,5 +1,4 @@ import { Card, Heading, Text } from '@stump/components' -import React from 'react' import { useBookClubContext } from '@/components/bookClub' diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/basics/BasicSettingsScene.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/basics/BasicSettingsScene.tsx index 5aee49dad..3d7e7a23d 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/basics/BasicSettingsScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/basics/BasicSettingsScene.tsx @@ -2,7 +2,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useBookClubsQuery } from '@stump/client' import { Button, Form } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm } from 'react-hook-form' import { diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/danger/BookClubDeletionScene.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/danger/BookClubDeletionScene.tsx index fa4b401c1..e722a074d 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/danger/BookClubDeletionScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/danger/BookClubDeletionScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import DeleteBookClubSection from './DeleteBookClubSection' export default function BookClubDeletionScene() { diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/members/ManageMembersScene.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/members/ManageMembersScene.tsx index 9f6fce254..04c35a877 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/members/ManageMembersScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/members/ManageMembersScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import MembersTable from './MembersTable' export default function ManageMembersScene() { diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/members/MembersTable.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/members/MembersTable.tsx index 5abd89710..414466950 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/members/MembersTable.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/members/MembersTable.tsx @@ -3,7 +3,7 @@ import { Avatar, Card } from '@stump/components' import { BookClubMember, BookClubMemberRoleSpec } from '@stump/sdk' import { ColumnDef, createColumnHelper } from '@tanstack/react-table' import upperFirst from 'lodash/upperFirst' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import { Table } from '@/components/table' diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx index 0bc7b7498..5c05d7400 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { AspectRatio, Button, Card, DatePicker, Heading, Input, Text } from '@stump/components' import { Media } from '@stump/sdk' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import { useFormContext } from 'react-hook-form' import BookSearchOverlay from '@/components/book/BookSearchOverlay' @@ -37,20 +37,16 @@ export default function AddBookCard({ index }: Props) { [externalBook], ) - useEffect( - () => { - if (!selectedBook && isEntityBook) { - form.setValue(`books.${index}.book.id`, '') - } else if (selectedBook) { - // TODO: this is annoying and not ideal - form.setValue(`books.${index}.book.title`, '') - form.setValue(`books.${index}.book.author`, '') - form.setValue(`books.${index}.book.url`, undefined) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [isEntityBook, selectedBook], - ) + useEffect(() => { + if (!selectedBook && isEntityBook) { + form.setValue(`books.${index}.book.id`, '') + } else if (selectedBook) { + // TODO: this is annoying and not ideal + form.setValue(`books.${index}.book.title`, '') + form.setValue(`books.${index}.book.author`, '') + form.setValue(`books.${index}.book.url`, undefined) + } + }, [isEntityBook, selectedBook]) const handleSelectBook = useCallback( (book: Media) => { diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/BookClubSchedulerScene.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/BookClubSchedulerScene.tsx index 2ee06d990..7a67c6f88 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/BookClubSchedulerScene.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/BookClubSchedulerScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { BookClubSchedule, useBookClubContext } from '@/components/bookClub' import CreateOrAddToScheduleForm from './CreateOrAddToScheduleForm' diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/CreateOrAddToScheduleForm.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/CreateOrAddToScheduleForm.tsx index 2f7cf4bb1..f81d5ce2d 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/CreateOrAddToScheduleForm.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/CreateOrAddToScheduleForm.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form, Input } from '@stump/components' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useForm } from 'react-hook-form' import { z } from 'zod' @@ -43,6 +43,7 @@ export default function CreateOrAddToScheduleForm() { const books = form.watch('books') const handleSubmit = (data: Schema) => { + // eslint-disable-next-line no-console console.debug(data) } diff --git a/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx b/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx index 476ce1268..434847fb1 100644 --- a/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx +++ b/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx @@ -1,6 +1,6 @@ import { usePagedMediaQuery, usePrefetchMediaPaged } from '@stump/client' import { usePrevious, usePreviousIsDifferent } from '@stump/components' -import React, { useCallback, useEffect, useMemo } from 'react' +import { useCallback, useEffect, useMemo } from 'react' import { Helmet } from 'react-helmet' import { BookTable } from '@/components/book' @@ -75,19 +75,15 @@ export default function BookSearchScene() { const previousPage = usePrevious(current_page) const shouldScroll = !!previousPage && previousPage !== current_page - useEffect( - () => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [shouldScroll], - ) + useEffect(() => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, [shouldScroll]) const renderContent = () => { if (layoutMode === 'GRID') { diff --git a/packages/browser/src/scenes/createLibrary/LibraryReview.tsx b/packages/browser/src/scenes/createLibrary/LibraryReview.tsx index 1cf1b259e..937951c88 100644 --- a/packages/browser/src/scenes/createLibrary/LibraryReview.tsx +++ b/packages/browser/src/scenes/createLibrary/LibraryReview.tsx @@ -1,7 +1,7 @@ import { Heading, Label, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import pluralize from 'pluralize' -import React, { PropsWithChildren } from 'react' +import { PropsWithChildren } from 'react' import { useFormContext } from 'react-hook-form' import { CreateOrUpdateLibrarySchema } from '@/components/library/createOrUpdate' diff --git a/packages/browser/src/scenes/createSmartList/CreateSmartListForm.tsx b/packages/browser/src/scenes/createSmartList/CreateSmartListForm.tsx index a3c9b244a..3000adf43 100644 --- a/packages/browser/src/scenes/createSmartList/CreateSmartListForm.tsx +++ b/packages/browser/src/scenes/createSmartList/CreateSmartListForm.tsx @@ -2,7 +2,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useSmartListsQuery } from '@stump/client' import { Button, cn, Form } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useForm } from 'react-hook-form' import { ContentContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/createSmartList/CreateSmartListScene.tsx b/packages/browser/src/scenes/createSmartList/CreateSmartListScene.tsx index 5b43c256f..95758b39b 100644 --- a/packages/browser/src/scenes/createSmartList/CreateSmartListScene.tsx +++ b/packages/browser/src/scenes/createSmartList/CreateSmartListScene.tsx @@ -1,7 +1,7 @@ import { useCreateSmartList } from '@stump/client' import { Alert } from '@stump/components' import { handleApiError } from '@stump/sdk' -import React, { Suspense, useCallback, useMemo, useState } from 'react' +import { Suspense, useCallback, useMemo, useState } from 'react' import { useNavigate } from 'react-router' import { SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx b/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx index c0fe8b65b..b758e607a 100644 --- a/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx +++ b/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx @@ -54,22 +54,17 @@ export default function ServerConnectionErrorScene() { return undefined }, [baseURL]) - useEffect( - () => { - if (backOnline) { - toast - .promise(new Promise((resolve) => setTimeout(resolve, 2000)), { - error: t('serverSOS.reconnectFailed'), - loading: t('serverSOS.reconnected'), - success: t('serverSOS.reconnected'), - }) - .then(() => setGoHome(true)) - } - }, - - // eslint-disable-next-line react-hooks/exhaustive-deps - [backOnline], - ) + useEffect(() => { + if (backOnline) { + toast + .promise(new Promise((resolve) => setTimeout(resolve, 2000)), { + error: t('serverSOS.reconnectFailed'), + loading: t('serverSOS.reconnected'), + success: t('serverSOS.reconnected'), + }) + .then(() => setGoHome(true)) + } + }, [backOnline]) if (goHome) { const from = location.state?.from || '/' diff --git a/packages/browser/src/scenes/library/LibraryHeader.tsx b/packages/browser/src/scenes/library/LibraryHeader.tsx index ca1e89ae6..c13104c1d 100644 --- a/packages/browser/src/scenes/library/LibraryHeader.tsx +++ b/packages/browser/src/scenes/library/LibraryHeader.tsx @@ -1,6 +1,5 @@ import { useSDK } from '@stump/client' import { AspectRatio, cn, Heading, Text } from '@stump/components' -import React from 'react' import { EntityImage } from '@/components/entity' import ReadMore from '@/components/ReadMore' diff --git a/packages/browser/src/scenes/library/LibraryLayout.tsx b/packages/browser/src/scenes/library/LibraryLayout.tsx index 5cbeb514b..c4332e64a 100644 --- a/packages/browser/src/scenes/library/LibraryLayout.tsx +++ b/packages/browser/src/scenes/library/LibraryLayout.tsx @@ -1,6 +1,6 @@ import { useLibraryByID, useLibraryStats } from '@stump/client' import { cn } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { Suspense, useEffect } from 'react' import { Outlet, useLocation, useNavigate, useParams } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/scenes/library/LibraryNavigation.tsx b/packages/browser/src/scenes/library/LibraryNavigation.tsx index 82043f9b0..47be4d2b7 100644 --- a/packages/browser/src/scenes/library/LibraryNavigation.tsx +++ b/packages/browser/src/scenes/library/LibraryNavigation.tsx @@ -4,7 +4,7 @@ import { usePrefetchLibrarySeries, } from '@stump/client' import { cn, Link, useSticky } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/scenes/library/LibraryRouter.tsx b/packages/browser/src/scenes/library/LibraryRouter.tsx index accc0eacc..d6ab358b6 100644 --- a/packages/browser/src/scenes/library/LibraryRouter.tsx +++ b/packages/browser/src/scenes/library/LibraryRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useMemo } from 'react' +import { lazy, useMemo } from 'react' import { Navigate, Route, Routes } from 'react-router' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx b/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx index 62394a0e8..a0b7ec1ae 100644 --- a/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx +++ b/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx @@ -81,19 +81,15 @@ export default function LibraryBooksScene() { ) const shouldScroll = usePreviousIsDifferent(current_page) - useEffect( - () => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [shouldScroll], - ) + useEffect(() => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, [shouldScroll]) const renderContent = () => { if (layoutMode === 'GRID') { diff --git a/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx b/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx index 334efd991..daf9345ca 100644 --- a/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx +++ b/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx @@ -101,30 +101,22 @@ function LibrarySeriesScene() { const previousPage = usePrevious(current_page) const shouldScroll = !!previousPage && previousPage !== current_page - useEffect( - () => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [shouldScroll], - ) + useEffect(() => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, [shouldScroll]) - useEffect( - () => { - if (library?.id && !alreadyVisited.current) { - alreadyVisited.current = true - visitLibrary(library.id) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [library?.id], - ) + useEffect(() => { + if (library?.id && !alreadyVisited.current) { + alreadyVisited.current = true + visitLibrary(library.id) + } + }, [library?.id]) if (isLoading) { return null diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx index a555908e2..766c35b2a 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx @@ -1,7 +1,7 @@ import { useSDK, useSeriesCursorQuery } from '@stump/client' import { Series } from '@stump/sdk' import { useVirtualizer } from '@tanstack/react-virtual' -import React, { useCallback, useEffect } from 'react' +import { Fragment, useCallback, useEffect, useRef } from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { useMediaMatch } from 'rooks' @@ -21,7 +21,7 @@ export default function LibrarySeriesGrid({ libraryId, onSelectSeries }: Props) }, }) - const parentRef = React.useRef(null) + const parentRef = useRef(null) const isAtLeastSmall = useMediaMatch('(min-width: 640px)') const isAtLeastMedium = useMediaMatch('(min-width: 768px)') @@ -54,14 +54,10 @@ export default function LibrarySeriesGrid({ libraryId, onSelectSeries }: Props) overscan: 5, }) - useEffect( - () => { - rowVirtualizer.measure() - columnVirtualizer.measure() - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [isAtLeastMedium, isAtLeastSmall], - ) + useEffect(() => { + rowVirtualizer.measure() + columnVirtualizer.measure() + }, [isAtLeastMedium, isAtLeastSmall]) const handleScroll = () => { if (!hasNextPage) return @@ -94,7 +90,7 @@ export default function LibrarySeriesGrid({ libraryId, onSelectSeries }: Props) }} > {rowVirtualizer.getVirtualItems().map((virtualRow) => ( - + {columnVirtualizer.getVirtualItems().map((virtualColumn) => { const virtualPage = virtualRow.index * 4 + virtualColumn.index + 1 const thisSeries = series[virtualPage - 1] @@ -125,7 +121,7 @@ export default function LibrarySeriesGrid({ libraryId, onSelectSeries }: Props)
) })} - + ))}
diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsHeader.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsHeader.tsx index ce466d970..c85bd2fe8 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsHeader.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsHeader.tsx @@ -1,6 +1,6 @@ import { cn, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx index 2b31cc930..0b7d45b09 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx @@ -1,21 +1,19 @@ import { useUpdateLibrary } from '@stump/client' import { UpdateLibrary } from '@stump/sdk' -import React, { Suspense, useCallback } from 'react' +import { lazy, Suspense, useCallback } from 'react' import { Navigate, Route, Routes } from 'react-router' import { useLibraryContext } from '../../context' import { LibraryManagementContext } from './context' -const BasicSettingsScene = React.lazy(() => import('./basics/BasicSettingsScene')) -const ThumbnailSettingsScene = React.lazy( - () => import('./options/thumbnails/ThumbnailSettingsScene'), -) -const ScannerBehaviorScene = React.lazy(() => import('./options/ScannerBehaviorScene')) -const LibraryAnalysisScene = React.lazy(() => import('./options/analysis')) -const LibraryReadingDefaultsScene = React.lazy(() => import('./options/readingDefaults')) +const BasicSettingsScene = lazy(() => import('./basics/BasicSettingsScene')) +const ThumbnailSettingsScene = lazy(() => import('./options/thumbnails/ThumbnailSettingsScene')) +const ScannerBehaviorScene = lazy(() => import('./options/ScannerBehaviorScene')) +const LibraryAnalysisScene = lazy(() => import('./options/analysis')) +const LibraryReadingDefaultsScene = lazy(() => import('./options/readingDefaults')) -const AccessControlScene = React.lazy(() => import('./danger/accessControl')) -const DeletionScene = React.lazy(() => import('./danger/deletion')) +const AccessControlScene = lazy(() => import('./danger/accessControl')) +const DeletionScene = lazy(() => import('./danger/deletion')) // Note: library:manage permission is enforced in the parent router export default function LibrarySettingsRouter() { diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSelectNavigation.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSelectNavigation.tsx index 29c6d1374..dc98aa38e 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSelectNavigation.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSelectNavigation.tsx @@ -1,6 +1,6 @@ import { NativeSelect } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation, useNavigate } from 'react-router' import { formatRouteKey, useRouteGroups } from '@/hooks/useRouteGroups' diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSidebar.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSidebar.tsx index 68bf708da..4545c9661 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSidebar.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsSidebar.tsx @@ -1,7 +1,6 @@ import { ButtonOrLink, cn, IconButton, Label } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ArrowLeft, Home } from 'lucide-react' -import React from 'react' import { useLocation, useNavigate } from 'react-router' import { usePreferences } from '@/hooks/usePreferences' diff --git a/packages/browser/src/scenes/library/tabs/settings/basics/BasicSettingsScene.tsx b/packages/browser/src/scenes/library/tabs/settings/basics/BasicSettingsScene.tsx index 1dba1cd3a..7cb7d98cd 100644 --- a/packages/browser/src/scenes/library/tabs/settings/basics/BasicSettingsScene.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/basics/BasicSettingsScene.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Button, Form } from '@stump/components' -import React, { useCallback, useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' import { useForm } from 'react-hook-form' import DirectoryPickerModal from '@/components/DirectoryPickerModal' diff --git a/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/AccessControlScene.tsx b/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/AccessControlScene.tsx index 83e0713ff..1c88ee242 100644 --- a/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/AccessControlScene.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/AccessControlScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import LibraryExclusions from './LibraryExclusions' // TODO: add a section which shows the users not allowed to access the library from the tags diff --git a/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/LibraryExclusions.tsx b/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/LibraryExclusions.tsx index 7fada0dea..c70b78375 100644 --- a/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/LibraryExclusions.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/danger/accessControl/LibraryExclusions.tsx @@ -1,7 +1,7 @@ import { useLibraryExclusions, useUpdateLibraryExclusions, useUsersQuery } from '@stump/client' import { Alert, ComboBox, Heading, Text, usePrevious } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import toast from 'react-hot-toast' import { useDebouncedValue } from 'rooks' diff --git a/packages/browser/src/scenes/library/tabs/settings/danger/deletion/CleanLibrary.tsx b/packages/browser/src/scenes/library/tabs/settings/danger/deletion/CleanLibrary.tsx index 4814f979c..26cc550c8 100644 --- a/packages/browser/src/scenes/library/tabs/settings/danger/deletion/CleanLibrary.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/danger/deletion/CleanLibrary.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Alert, Button, ConfirmationModal, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useState } from 'react' +import { useState } from 'react' import { toast } from 'react-hot-toast' import { useLibraryManagement } from '../../context' diff --git a/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeleteLibrary.tsx b/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeleteLibrary.tsx index 4d4ba0269..9674f6457 100644 --- a/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeleteLibrary.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeleteLibrary.tsx @@ -1,6 +1,6 @@ import { Button, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useState } from 'react' +import { useState } from 'react' import DeleteLibraryConfirmation from '@/components/library/DeleteLibraryConfirmation' diff --git a/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeletionScene.tsx b/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeletionScene.tsx index 729bef8e0..1de3af96c 100644 --- a/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeletionScene.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/danger/deletion/DeletionScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import CleanLibrary from './CleanLibrary' import DeleteLibrary from './DeleteLibrary' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/FileConversionOptionsPatchForm.tsx b/packages/browser/src/scenes/library/tabs/settings/options/FileConversionOptionsPatchForm.tsx index 1136d87fc..481e813b5 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/FileConversionOptionsPatchForm.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/FileConversionOptionsPatchForm.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form } from '@stump/components' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm } from 'react-hook-form' import { diff --git a/packages/browser/src/scenes/library/tabs/settings/options/IgnoreRulesPatchForm.tsx b/packages/browser/src/scenes/library/tabs/settings/options/IgnoreRulesPatchForm.tsx index cff720f88..012386b7f 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/IgnoreRulesPatchForm.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/IgnoreRulesPatchForm.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form } from '@stump/components' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm } from 'react-hook-form' import { diff --git a/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx b/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx index cbd5a11aa..f18be5956 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form } from '@stump/components' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm } from 'react-hook-form' import { diff --git a/packages/browser/src/scenes/library/tabs/settings/options/analysis/AnalyzeMedia.tsx b/packages/browser/src/scenes/library/tabs/settings/options/analysis/AnalyzeMedia.tsx index bec837f92..61542e63a 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/analysis/AnalyzeMedia.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/analysis/AnalyzeMedia.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Alert, Button, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { useLibraryContext } from '@/scenes/library/context' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/analysis/LibraryAnalysisScene.tsx b/packages/browser/src/scenes/library/tabs/settings/options/analysis/LibraryAnalysisScene.tsx index 3c8947287..4f473bd77 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/analysis/LibraryAnalysisScene.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/analysis/LibraryAnalysisScene.tsx @@ -1,5 +1,4 @@ import { Alert } from '@stump/components' -import React from 'react' import AnalyzeMedia from './AnalyzeMedia' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/readingDefaults/ReadingDefaultsScene.tsx b/packages/browser/src/scenes/library/tabs/settings/options/readingDefaults/ReadingDefaultsScene.tsx index 575df0650..11903e547 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/readingDefaults/ReadingDefaultsScene.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/readingDefaults/ReadingDefaultsScene.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Button, Form } from '@stump/components' -import React, { useCallback, useEffect, useMemo } from 'react' +import { useCallback, useEffect, useMemo } from 'react' import { useForm } from 'react-hook-form' import { useDebouncedValue } from 'rooks' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/DeleteLibraryThumbnails.tsx b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/DeleteLibraryThumbnails.tsx index d396c7675..d7b11e4c5 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/DeleteLibraryThumbnails.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/DeleteLibraryThumbnails.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Alert, Button, ConfirmationModal } from '@stump/components' import { AlertTriangle } from 'lucide-react' -import React, { useCallback, useState } from 'react' +import { useCallback, useState } from 'react' import { toast } from 'react-hot-toast' import { useLibraryManagement } from '../../context' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/LibraryThumbnailSelector.tsx b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/LibraryThumbnailSelector.tsx index c64937c75..130695952 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/LibraryThumbnailSelector.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/LibraryThumbnailSelector.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Button, Dialog, Label, Text } from '@stump/components' import { Media, Series } from '@stump/sdk' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import toast from 'react-hot-toast' import EditThumbnailDropdown from '@/components/thumbnail/EditThumbnailDropdown' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/RegenerateThumbnails.tsx b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/RegenerateThumbnails.tsx index aceddc1d8..7a32b1d3d 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/RegenerateThumbnails.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/RegenerateThumbnails.tsx @@ -1,7 +1,6 @@ import { useMutation, useSDK } from '@stump/client' import { Button, DropdownMenu, Label, Text } from '@stump/components' import { AlertTriangle, ChevronDown, ImagePlus } from 'lucide-react' -import React from 'react' import { useLibraryContext } from '@/scenes/library/context' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailManagementSection.tsx b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailManagementSection.tsx index 1d44e8f53..34cc22c0a 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailManagementSection.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailManagementSection.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import DeleteLibraryThumbnails from './DeleteLibraryThumbnails' import LibraryThumbnailSelector from './LibraryThumbnailSelector' diff --git a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailSettingsScene.tsx b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailSettingsScene.tsx index 1d46e71d5..06504ac58 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailSettingsScene.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/thumbnails/ThumbnailSettingsScene.tsx @@ -1,6 +1,6 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Form } from '@stump/components' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm } from 'react-hook-form' import { diff --git a/packages/browser/src/scenes/librarySearch/LibrarySearchScene.tsx b/packages/browser/src/scenes/librarySearch/LibrarySearchScene.tsx index ecd36f604..6872230b1 100644 --- a/packages/browser/src/scenes/librarySearch/LibrarySearchScene.tsx +++ b/packages/browser/src/scenes/librarySearch/LibrarySearchScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { UnderConstruction } from '@/components/unimplemented' export default function LibraryListScene() { diff --git a/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx b/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx index c7456efee..e847c9809 100644 --- a/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx +++ b/packages/browser/src/scenes/onboarding/OnBoardingRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, Suspense } from 'react' +import { lazy, Suspense } from 'react' import { Navigate, Route, Routes } from 'react-router' const OnBoardingScene = lazy(() => import('./OnBoardingScene')) diff --git a/packages/browser/src/scenes/series/SeriesHeader.tsx b/packages/browser/src/scenes/series/SeriesHeader.tsx index 4741f5efb..5a24faa4c 100644 --- a/packages/browser/src/scenes/series/SeriesHeader.tsx +++ b/packages/browser/src/scenes/series/SeriesHeader.tsx @@ -1,6 +1,5 @@ import { useSDK } from '@stump/client' import { AspectRatio, cn, Heading } from '@stump/components' -import React from 'react' import { EntityImage } from '@/components/entity' import ReadMore from '@/components/ReadMore' diff --git a/packages/browser/src/scenes/series/SeriesLayout.tsx b/packages/browser/src/scenes/series/SeriesLayout.tsx index 8f4bfb017..7965e967d 100644 --- a/packages/browser/src/scenes/series/SeriesLayout.tsx +++ b/packages/browser/src/scenes/series/SeriesLayout.tsx @@ -1,6 +1,5 @@ import { useSeriesByIdQuery } from '@stump/client' import { cn } from '@stump/components' -import React from 'react' import { Suspense, useEffect } from 'react' import { Outlet, useNavigate, useParams } from 'react-router' diff --git a/packages/browser/src/scenes/series/SeriesNavigation.tsx b/packages/browser/src/scenes/series/SeriesNavigation.tsx index f2dcaaef7..0aa131b43 100644 --- a/packages/browser/src/scenes/series/SeriesNavigation.tsx +++ b/packages/browser/src/scenes/series/SeriesNavigation.tsx @@ -1,6 +1,6 @@ import { usePrefetchFiles, usePrefetchSeriesBooks } from '@stump/client' import { cn, Link, useSticky } from '@stump/components' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/scenes/series/SeriesRouter.tsx b/packages/browser/src/scenes/series/SeriesRouter.tsx index d1ccee110..3f87fcce8 100644 --- a/packages/browser/src/scenes/series/SeriesRouter.tsx +++ b/packages/browser/src/scenes/series/SeriesRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useMemo } from 'react' +import { lazy, useMemo } from 'react' import { Navigate, Route, Routes } from 'react-router' import ServerOwnerRouteWrapper from '@/components/ServerOwnerRouteWrapper.tsx' diff --git a/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx b/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx index fef78c43e..3318ddefd 100644 --- a/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx +++ b/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx @@ -82,19 +82,15 @@ export default function SeriesOverviewScene() { const previousPage = usePrevious(current_page) const shouldScroll = !!previousPage && previousPage !== current_page - useEffect( - () => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [shouldScroll], - ) + useEffect(() => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, [shouldScroll]) const renderContent = () => { if (layoutMode === 'GRID') { diff --git a/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx b/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx index 14f02495c..f782e5e19 100644 --- a/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx +++ b/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { FileExplorer } from '@/components/explorer' import { useSeriesContext } from '../../context' diff --git a/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx b/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx index 1256191dc..a187437ad 100644 --- a/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx +++ b/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx @@ -1,7 +1,7 @@ import { useMediaCursorQuery, useSDK } from '@stump/client' import { Media } from '@stump/sdk' import { useVirtualizer } from '@tanstack/react-virtual' -import React, { useCallback, useEffect } from 'react' +import { Fragment, useCallback, useEffect, useRef } from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { useMediaMatch } from 'rooks' @@ -25,7 +25,7 @@ export default function SeriesBookGrid({ seriesId, onSelectBook }: Props) { }, }) - const parentRef = React.useRef(null) + const parentRef = useRef(null) const isAtLeastSmall = useMediaMatch('(min-width: 640px)') const isAtLeastMedium = useMediaMatch('(min-width: 768px)') @@ -58,14 +58,10 @@ export default function SeriesBookGrid({ seriesId, onSelectBook }: Props) { overscan: 5, }) - useEffect( - () => { - rowVirtualizer.measure() - columnVirtualizer.measure() - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [isAtLeastMedium, isAtLeastSmall], - ) + useEffect(() => { + rowVirtualizer.measure() + columnVirtualizer.measure() + }, [isAtLeastMedium, isAtLeastSmall]) const handleScroll = () => { if (!hasNextPage) return @@ -98,7 +94,7 @@ export default function SeriesBookGrid({ seriesId, onSelectBook }: Props) { }} > {rowVirtualizer.getVirtualItems().map((virtualRow) => ( - + {columnVirtualizer.getVirtualItems().map((virtualColumn) => { const virtualPage = virtualRow.index * 4 + virtualColumn.index + 1 const book = books[virtualPage - 1] @@ -129,7 +125,7 @@ export default function SeriesBookGrid({ seriesId, onSelectBook }: Props) {
) })} - + ))}
diff --git a/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx b/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx index 96ed817c1..2b0cb3580 100644 --- a/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx +++ b/packages/browser/src/scenes/series/tabs/settings/SeriesThumbnailSelector.tsx @@ -1,7 +1,7 @@ import { useSDK } from '@stump/client' import { Button, Dialog } from '@stump/components' import { Media, Series } from '@stump/sdk' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import toast from 'react-hot-toast' import { EntityCard } from '@/components/entity' diff --git a/packages/browser/src/scenes/seriesSearch/SeriesSearchScene.tsx b/packages/browser/src/scenes/seriesSearch/SeriesSearchScene.tsx index ecd36f604..6872230b1 100644 --- a/packages/browser/src/scenes/seriesSearch/SeriesSearchScene.tsx +++ b/packages/browser/src/scenes/seriesSearch/SeriesSearchScene.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import { UnderConstruction } from '@/components/unimplemented' export default function LibraryListScene() { diff --git a/packages/browser/src/scenes/settings/PreferenceToggle.tsx b/packages/browser/src/scenes/settings/PreferenceToggle.tsx index 1723abc39..6a360a5d1 100644 --- a/packages/browser/src/scenes/settings/PreferenceToggle.tsx +++ b/packages/browser/src/scenes/settings/PreferenceToggle.tsx @@ -1,5 +1,4 @@ import { cx, Label, RawSwitch, Text } from '@stump/components' -import React from 'react' // TODO: rename and relocate this component diff --git a/packages/browser/src/scenes/settings/SettingsHeader.tsx b/packages/browser/src/scenes/settings/SettingsHeader.tsx index 261f25b4e..b35b479af 100644 --- a/packages/browser/src/scenes/settings/SettingsHeader.tsx +++ b/packages/browser/src/scenes/settings/SettingsHeader.tsx @@ -1,6 +1,6 @@ import { cx, Heading, Link, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { useSceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/SettingsRouter.tsx b/packages/browser/src/scenes/settings/SettingsRouter.tsx index 62bada43a..592ae406a 100644 --- a/packages/browser/src/scenes/settings/SettingsRouter.tsx +++ b/packages/browser/src/scenes/settings/SettingsRouter.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Navigate, Route, Routes } from 'react-router' import { AppSettingsRouter } from './app/index.ts' diff --git a/packages/browser/src/scenes/settings/SettingsSideBarLink.tsx b/packages/browser/src/scenes/settings/SettingsSideBarLink.tsx index 97271137c..b0895044e 100644 --- a/packages/browser/src/scenes/settings/SettingsSideBarLink.tsx +++ b/packages/browser/src/scenes/settings/SettingsSideBarLink.tsx @@ -1,6 +1,5 @@ import { cn } from '@stump/components' import { LucideIcon } from 'lucide-react' -import React from 'react' import { Link } from 'react-router-dom' type Props = { diff --git a/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx b/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx index 287c0c3a3..024a4d968 100644 --- a/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx +++ b/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy } from 'react' +import { lazy } from 'react' import { Navigate, Route, Routes } from 'react-router' import { useAppStore } from '@/stores' diff --git a/packages/browser/src/scenes/settings/app/appearance/AppearanceSettingsScene.tsx b/packages/browser/src/scenes/settings/app/appearance/AppearanceSettingsScene.tsx index 5ef83c942..a93f2518a 100644 --- a/packages/browser/src/scenes/settings/app/appearance/AppearanceSettingsScene.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/AppearanceSettingsScene.tsx @@ -1,5 +1,5 @@ import { useLocaleContext } from '@stump/i18n' -import React, { Suspense } from 'react' +import { Suspense } from 'react' import { Helmet } from 'react-helmet' import { Container, ContentContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/app/appearance/FontSelect.tsx b/packages/browser/src/scenes/settings/app/appearance/FontSelect.tsx index 07111ec66..0be6eaf73 100644 --- a/packages/browser/src/scenes/settings/app/appearance/FontSelect.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/FontSelect.tsx @@ -1,7 +1,7 @@ import { Label, NativeSelect, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { isSupportedFont } from '@stump/sdk' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { usePreferences } from '@/hooks/usePreferences' diff --git a/packages/browser/src/scenes/settings/app/appearance/GradientToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/GradientToggle.tsx index 6043292bc..fbdc3baa2 100644 --- a/packages/browser/src/scenes/settings/app/appearance/GradientToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/GradientToggle.tsx @@ -1,5 +1,4 @@ import { useUpdatePreferences } from '@stump/client' -import React from 'react' import { useUserStore } from '@/stores' diff --git a/packages/browser/src/scenes/settings/app/appearance/HideScrollbarToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/HideScrollbarToggle.tsx index b144c9b7e..539915f8f 100644 --- a/packages/browser/src/scenes/settings/app/appearance/HideScrollbarToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/HideScrollbarToggle.tsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/settings/app/appearance/LiveRefetchToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/LiveRefetchToggle.tsx index e297dc97e..ab6ece265 100644 --- a/packages/browser/src/scenes/settings/app/appearance/LiveRefetchToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/LiveRefetchToggle.tsx @@ -1,5 +1,4 @@ import { useUpdatePreferences } from '@stump/client' -import React from 'react' import { useUserStore } from '@/stores' diff --git a/packages/browser/src/scenes/settings/app/appearance/MaxWidthPreference.tsx b/packages/browser/src/scenes/settings/app/appearance/MaxWidthPreference.tsx index a7bb4857b..da6b121ee 100644 --- a/packages/browser/src/scenes/settings/app/appearance/MaxWidthPreference.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/MaxWidthPreference.tsx @@ -1,5 +1,4 @@ import { cx, Label, NativeSelect, Text } from '@stump/components' -import React from 'react' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/settings/app/appearance/PreferColorToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/PreferColorToggle.tsx index a8437cb05..fd95669ba 100644 --- a/packages/browser/src/scenes/settings/app/appearance/PreferColorToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/PreferColorToggle.tsx @@ -1,5 +1,3 @@ -import React from 'react' - import PreferenceToggle from '../../PreferenceToggle' // TODO: Implement this diff --git a/packages/browser/src/scenes/settings/app/appearance/QueryIndicatorToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/QueryIndicatorToggle.tsx index 8730d493a..92a5e127c 100644 --- a/packages/browser/src/scenes/settings/app/appearance/QueryIndicatorToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/QueryIndicatorToggle.tsx @@ -1,5 +1,5 @@ import { useUpdatePreferences } from '@stump/client' -import React from 'react' +import { UpdateUserPreferences } from '@stump/sdk' import { useUserStore } from '@/stores' @@ -20,7 +20,7 @@ export default function QueryIndicatorToggle() { update({ ...preferences, show_query_indicator: !preferences.show_query_indicator, - }) + } as UpdateUserPreferences) } } diff --git a/packages/browser/src/scenes/settings/app/appearance/ShowThumbnailsInHeader.tsx b/packages/browser/src/scenes/settings/app/appearance/ShowThumbnailsInHeader.tsx index ce7f908d2..fc5dec9bd 100644 --- a/packages/browser/src/scenes/settings/app/appearance/ShowThumbnailsInHeader.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/ShowThumbnailsInHeader.tsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/settings/app/appearance/ThemeSelect.tsx b/packages/browser/src/scenes/settings/app/appearance/ThemeSelect.tsx index ac8887b35..16d4656db 100644 --- a/packages/browser/src/scenes/settings/app/appearance/ThemeSelect.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/ThemeSelect.tsx @@ -1,6 +1,5 @@ import { Label, Link, NativeSelect, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useTheme } from '@/hooks' diff --git a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/EntityOptions.tsx b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/EntityOptions.tsx index caaeacecf..28c45c3db 100644 --- a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/EntityOptions.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/EntityOptions.tsx @@ -1,6 +1,5 @@ import { CheckBox } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { IEntityOptions } from './types' diff --git a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx index 90cef83c5..d2365864c 100644 --- a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx @@ -19,7 +19,7 @@ import { useLocaleContext } from '@stump/i18n' import { NavigationItem } from '@stump/sdk' import isEqual from 'lodash/isEqual' import { Lock, Unlock } from 'lucide-react' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import toast from 'react-hot-toast' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangementItem.tsx b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangementItem.tsx index 83d6b8b8b..b46596b91 100644 --- a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangementItem.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangementItem.tsx @@ -4,7 +4,7 @@ import { cn, IconButton, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { NavigationItem } from '@stump/sdk' import { Bolt, Eye, EyeOff } from 'lucide-react' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import EntityOptions from './EntityOptions' import { IEntityOptions, isNavigationItemWithEntityOptions } from './types' diff --git a/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/DoubleSidebarToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/DoubleSidebarToggle.tsx index a70dac5f5..b33c65051 100644 --- a/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/DoubleSidebarToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/DoubleSidebarToggle.tsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/ReplacePrimarySidebarToggle.tsx b/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/ReplacePrimarySidebarToggle.tsx index 38d83a588..925c016f8 100644 --- a/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/ReplacePrimarySidebarToggle.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/settings-sidebar/ReplacePrimarySidebarToggle.tsx @@ -1,4 +1,4 @@ -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/settings/app/desktop/DesktopSettingsScene.tsx b/packages/browser/src/scenes/settings/app/desktop/DesktopSettingsScene.tsx index 4166c2a8a..3c7fbf379 100644 --- a/packages/browser/src/scenes/settings/app/desktop/DesktopSettingsScene.tsx +++ b/packages/browser/src/scenes/settings/app/desktop/DesktopSettingsScene.tsx @@ -1,5 +1,4 @@ import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { Helmet } from 'react-helmet' import { ContentContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/app/desktop/features/BundledServer.tsx b/packages/browser/src/scenes/settings/app/desktop/features/BundledServer.tsx index bf2201dfe..e28c16732 100644 --- a/packages/browser/src/scenes/settings/app/desktop/features/BundledServer.tsx +++ b/packages/browser/src/scenes/settings/app/desktop/features/BundledServer.tsx @@ -1,5 +1,5 @@ import { useLocaleContext } from '@stump/i18n' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import PreferenceToggle from '@/scenes/settings/PreferenceToggle' import { useTauriStore } from '@/stores' diff --git a/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx b/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx index 02a1d00e8..b379816d5 100644 --- a/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx +++ b/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx @@ -2,7 +2,6 @@ import { useUpdatePreferences } from '@stump/client' import { IconButton, Label, RawSwitch, Text, ToolTip } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { RefreshCcw } from 'lucide-react' -import React from 'react' import toast from 'react-hot-toast' import { useTauriRPC } from '@/hooks/useTauriRPC' diff --git a/packages/browser/src/scenes/settings/app/desktop/features/OptionalFeaturesSection.tsx b/packages/browser/src/scenes/settings/app/desktop/features/OptionalFeaturesSection.tsx index a9fcde61c..84ce102cc 100644 --- a/packages/browser/src/scenes/settings/app/desktop/features/OptionalFeaturesSection.tsx +++ b/packages/browser/src/scenes/settings/app/desktop/features/OptionalFeaturesSection.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import BundledServer from './BundledServer' import DiscordPresenceSwitch from './DiscordPresenceSwitch' diff --git a/packages/browser/src/scenes/settings/app/reader/PreloadPagesSection.tsx b/packages/browser/src/scenes/settings/app/reader/PreloadPagesSection.tsx index c506cc390..80ee9685b 100644 --- a/packages/browser/src/scenes/settings/app/reader/PreloadPagesSection.tsx +++ b/packages/browser/src/scenes/settings/app/reader/PreloadPagesSection.tsx @@ -1,6 +1,5 @@ import { Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { useReaderStore } from '@/stores' diff --git a/packages/browser/src/scenes/settings/app/reader/ReaderDefaultSettingsScene.tsx b/packages/browser/src/scenes/settings/app/reader/ReaderDefaultSettingsScene.tsx index abe158bdf..f7c1390e6 100644 --- a/packages/browser/src/scenes/settings/app/reader/ReaderDefaultSettingsScene.tsx +++ b/packages/browser/src/scenes/settings/app/reader/ReaderDefaultSettingsScene.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { Helmet } from 'react-helmet' import { Container, ContentContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/server/ServerSettingsRouter.tsx b/packages/browser/src/scenes/settings/server/ServerSettingsRouter.tsx index 593bd7027..2eea93456 100644 --- a/packages/browser/src/scenes/settings/server/ServerSettingsRouter.tsx +++ b/packages/browser/src/scenes/settings/server/ServerSettingsRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useEffect, useMemo } from 'react' +import { lazy, useEffect, useMemo } from 'react' import { Route, Routes, useNavigate } from 'react-router' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/settings/server/email/CreateEmailerScene.tsx b/packages/browser/src/scenes/settings/server/email/CreateEmailerScene.tsx index 4e9724708..911ed6f73 100644 --- a/packages/browser/src/scenes/settings/server/email/CreateEmailerScene.tsx +++ b/packages/browser/src/scenes/settings/server/email/CreateEmailerScene.tsx @@ -1,6 +1,6 @@ import { useEmailersQuery, useMutation, useSDK } from '@stump/client' import { CreateOrUpdateEmailer } from '@stump/sdk' -import React, { useEffect } from 'react' +import { useEffect } from 'react' import { useNavigate } from 'react-router' import { ContentContainer, SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/server/email/EditEmailerScene.tsx b/packages/browser/src/scenes/settings/server/email/EditEmailerScene.tsx index 66c42ad39..fa0a1ce5a 100644 --- a/packages/browser/src/scenes/settings/server/email/EditEmailerScene.tsx +++ b/packages/browser/src/scenes/settings/server/email/EditEmailerScene.tsx @@ -1,5 +1,5 @@ import { useEmailerQuery, useEmailersQuery, useUpdateEmailer } from '@stump/client' -import React, { useEffect, useMemo } from 'react' +import { useEffect, useMemo } from 'react' import { useNavigate, useParams } from 'react-router' import { ContentContainer, SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/server/email/EmailSettingsRouter.tsx b/packages/browser/src/scenes/settings/server/email/EmailSettingsRouter.tsx index 8e81ab797..333790166 100644 --- a/packages/browser/src/scenes/settings/server/email/EmailSettingsRouter.tsx +++ b/packages/browser/src/scenes/settings/server/email/EmailSettingsRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, Suspense, useEffect } from 'react' +import { lazy, Suspense, useEffect } from 'react' import { Route, Routes, useNavigate } from 'react-router' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/settings/server/email/EmailSettingsScene.tsx b/packages/browser/src/scenes/settings/server/email/EmailSettingsScene.tsx index 67ce7ae25..4eb4903c2 100644 --- a/packages/browser/src/scenes/settings/server/email/EmailSettingsScene.tsx +++ b/packages/browser/src/scenes/settings/server/email/EmailSettingsScene.tsx @@ -1,5 +1,4 @@ import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { Helmet } from 'react-helmet' import { ContentContainer, SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/server/email/devices/CreateOrUpdateDeviceModal.tsx b/packages/browser/src/scenes/settings/server/email/devices/CreateOrUpdateDeviceModal.tsx index 06982efc2..eb00d7b3e 100644 --- a/packages/browser/src/scenes/settings/server/email/devices/CreateOrUpdateDeviceModal.tsx +++ b/packages/browser/src/scenes/settings/server/email/devices/CreateOrUpdateDeviceModal.tsx @@ -8,7 +8,7 @@ import { import { Button, CheckBox, Dialog, Form, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { RegisteredEmailDevice } from '@stump/sdk' -import React, { useEffect, useMemo } from 'react' +import { useEffect, useMemo } from 'react' import { useForm } from 'react-hook-form' import toast from 'react-hot-toast' import { z } from 'zod' diff --git a/packages/browser/src/scenes/settings/server/email/devices/DeleteDeviceConfirmation.tsx b/packages/browser/src/scenes/settings/server/email/devices/DeleteDeviceConfirmation.tsx index fca641730..2d5bef75b 100644 --- a/packages/browser/src/scenes/settings/server/email/devices/DeleteDeviceConfirmation.tsx +++ b/packages/browser/src/scenes/settings/server/email/devices/DeleteDeviceConfirmation.tsx @@ -2,7 +2,7 @@ import { invalidateQueries, useDeleteEmailDevice, useSDK } from '@stump/client' import { ConfirmationModal } from '@stump/components' import { isAxiosError } from '@stump/sdk' import { RegisteredEmailDevice } from '@stump/sdk' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import toast from 'react-hot-toast' type Props = { diff --git a/packages/browser/src/scenes/settings/server/email/devices/DeviceActionMenu.tsx b/packages/browser/src/scenes/settings/server/email/devices/DeviceActionMenu.tsx index 51f8a8059..acba33356 100644 --- a/packages/browser/src/scenes/settings/server/email/devices/DeviceActionMenu.tsx +++ b/packages/browser/src/scenes/settings/server/email/devices/DeviceActionMenu.tsx @@ -1,6 +1,5 @@ import { DropdownMenu, IconButton } from '@stump/components' import { Edit, MoreVertical, Trash2 } from 'lucide-react' -import React from 'react' type Props = { onEdit: () => void diff --git a/packages/browser/src/scenes/settings/server/email/devices/DevicesSection.tsx b/packages/browser/src/scenes/settings/server/email/devices/DevicesSection.tsx index f39ecb517..29c5b5e7e 100644 --- a/packages/browser/src/scenes/settings/server/email/devices/DevicesSection.tsx +++ b/packages/browser/src/scenes/settings/server/email/devices/DevicesSection.tsx @@ -1,7 +1,7 @@ import { Button, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { RegisteredEmailDevice } from '@stump/sdk' -import React, { Suspense, useState } from 'react' +import { Suspense, useState } from 'react' import { useEmailerSettingsContext } from '../context' import CreateOrUpdateDeviceModal from './CreateOrUpdateDeviceModal' diff --git a/packages/browser/src/scenes/settings/server/email/devices/DevicesTable.tsx b/packages/browser/src/scenes/settings/server/email/devices/DevicesTable.tsx index a4abcdce3..e5c924240 100644 --- a/packages/browser/src/scenes/settings/server/email/devices/DevicesTable.tsx +++ b/packages/browser/src/scenes/settings/server/email/devices/DevicesTable.tsx @@ -4,7 +4,7 @@ import { useLocaleContext } from '@stump/i18n' import { RegisteredEmailDevice } from '@stump/sdk' import { ColumnDef, createColumnHelper } from '@tanstack/react-table' import { CircleSlash2 } from 'lucide-react' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import { Table } from '@/components/table' diff --git a/packages/browser/src/scenes/settings/server/email/emailers/CreateOrUpdateEmailerForm.tsx b/packages/browser/src/scenes/settings/server/email/emailers/CreateOrUpdateEmailerForm.tsx index 62bf8f1b6..80e5e3902 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/CreateOrUpdateEmailerForm.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/CreateOrUpdateEmailerForm.tsx @@ -12,7 +12,7 @@ import { } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { SMTPEmailer } from '@stump/sdk' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useForm, useFormState } from 'react-hook-form' import { CreateOrUpdateEmailerSchema, createSchema, formDefaults } from './schema' diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailerActionMenu.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailerActionMenu.tsx index 14fd2c3bc..5099a93f8 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailerActionMenu.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailerActionMenu.tsx @@ -1,6 +1,5 @@ import { DropdownMenu, IconButton } from '@stump/components' import { Edit, MoreVertical, Trash2 } from 'lucide-react' -import React from 'react' type Props = { onEdit: () => void diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailerListItem.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailerListItem.tsx index d3a551c34..96021ac26 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailerListItem.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailerListItem.tsx @@ -3,7 +3,7 @@ import { Badge, Card, Text, ToolTip } from '@stump/components' import { SMTPEmailer } from '@stump/sdk' import dayjs from 'dayjs' import { Sparkles } from 'lucide-react' -import React, { Suspense, useCallback, useMemo } from 'react' +import { Suspense, useCallback, useMemo } from 'react' import { useNavigate } from 'react-router' import paths from '@/paths' diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistory.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistory.tsx index 0167bc8c4..99a7805d1 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistory.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistory.tsx @@ -4,7 +4,7 @@ import { useLocaleContext } from '@stump/i18n' import dayjs from 'dayjs' import localizedFormat from 'dayjs/plugin/localizedFormat' import relativeTime from 'dayjs/plugin/relativeTime' -import React, { useState } from 'react' +import { useState } from 'react' import GenericEmptyState from '@/components/GenericEmptyState' diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistoryTable.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistoryTable.tsx index 13c0ac3ae..dc244ac03 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistoryTable.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendHistoryTable.tsx @@ -9,7 +9,7 @@ import { } from '@tanstack/react-table' import dayjs from 'dayjs' import { ChevronDown, Copy } from 'lucide-react' -import React, { useState } from 'react' +import { Fragment, useState } from 'react' import { getTableModels, SortIcon } from '@/components/table' @@ -56,7 +56,7 @@ export default function EmailerSendHistoryTable({ records }: Props) { {rows.map((row) => ( - + {row.getVisibleCells().map((cell) => ( @@ -73,7 +73,7 @@ export default function EmailerSendHistoryTable({ records }: Props) { )} - + ))} diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendRecordAttachmentTable.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendRecordAttachmentTable.tsx index 8296dc0c1..c9859e2bd 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendRecordAttachmentTable.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailerSendRecordAttachmentTable.tsx @@ -7,7 +7,7 @@ import { SortingState, useReactTable, } from '@tanstack/react-table' -import React, { useState } from 'react' +import { useState } from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { getTableModels, SortIcon } from '@/components/table' diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailersList.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailersList.tsx index 2a5604cc8..3cbba9d28 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailersList.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailersList.tsx @@ -2,7 +2,6 @@ import { useEmailersQuery } from '@stump/client' import { ButtonOrLink, Card, Heading } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { CircleSlash2 } from 'lucide-react' -import React from 'react' import paths from '@/paths' diff --git a/packages/browser/src/scenes/settings/server/email/emailers/EmailersSection.tsx b/packages/browser/src/scenes/settings/server/email/emailers/EmailersSection.tsx index 7482b0ebc..e13fe9775 100644 --- a/packages/browser/src/scenes/settings/server/email/emailers/EmailersSection.tsx +++ b/packages/browser/src/scenes/settings/server/email/emailers/EmailersSection.tsx @@ -1,6 +1,6 @@ import { Alert, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { Suspense } from 'react' +import { Suspense } from 'react' import EmailersList from './EmailersList' diff --git a/packages/browser/src/scenes/settings/server/general/GeneralServerSettingsScene.tsx b/packages/browser/src/scenes/settings/server/general/GeneralServerSettingsScene.tsx index 73f8bb3b8..da46ed8d2 100644 --- a/packages/browser/src/scenes/settings/server/general/GeneralServerSettingsScene.tsx +++ b/packages/browser/src/scenes/settings/server/general/GeneralServerSettingsScene.tsx @@ -1,7 +1,6 @@ import { useCheckForServerUpdate } from '@stump/client' import { Alert } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { Helmet } from 'react-helmet' import { ContentContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/server/general/ServerInfoSection.tsx b/packages/browser/src/scenes/settings/server/general/ServerInfoSection.tsx index 9d69fec59..fa4778d1a 100644 --- a/packages/browser/src/scenes/settings/server/general/ServerInfoSection.tsx +++ b/packages/browser/src/scenes/settings/server/general/ServerInfoSection.tsx @@ -2,7 +2,7 @@ import { useStumpVersion } from '@stump/client' import { cn, Heading, Label, Link, Text, TEXT_VARIANTS } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import dayjs from 'dayjs' -import React, { useMemo } from 'react' +import { useMemo } from 'react' const REPO_URL = 'https://github.com/stumpapp/stump' diff --git a/packages/browser/src/scenes/settings/server/general/ServerPublicURL.tsx b/packages/browser/src/scenes/settings/server/general/ServerPublicURL.tsx index 00c78b16e..06246462c 100644 --- a/packages/browser/src/scenes/settings/server/general/ServerPublicURL.tsx +++ b/packages/browser/src/scenes/settings/server/general/ServerPublicURL.tsx @@ -1,6 +1,5 @@ import { Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' export default function ServerPublicURL() { const { t } = useLocaleContext() diff --git a/packages/browser/src/scenes/settings/server/jobs/DeleteAllSection.tsx b/packages/browser/src/scenes/settings/server/jobs/DeleteAllSection.tsx index 19113dce5..366dbbd02 100644 --- a/packages/browser/src/scenes/settings/server/jobs/DeleteAllSection.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/DeleteAllSection.tsx @@ -2,7 +2,6 @@ import { invalidateQueries, useSDK } from '@stump/client' import { Alert, Button } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { AlertTriangle } from 'lucide-react' -import React from 'react' import { toast } from 'react-hot-toast' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/settings/server/jobs/JobActionMenu.tsx b/packages/browser/src/scenes/settings/server/jobs/JobActionMenu.tsx index a47ba537b..1b4bf316c 100644 --- a/packages/browser/src/scenes/settings/server/jobs/JobActionMenu.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/JobActionMenu.tsx @@ -2,7 +2,7 @@ import { invalidateQueries, useSDK } from '@stump/client' import { DropdownMenu, IconButton } from '@stump/components' import { CoreJobOutput, PersistedJob } from '@stump/sdk' import { Ban, Database, FileClock, ListX, MoreVertical, Trash2 } from 'lucide-react' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { toast } from 'react-hot-toast' import { useNavigate } from 'react-router' diff --git a/packages/browser/src/scenes/settings/server/jobs/JobDataInspector.tsx b/packages/browser/src/scenes/settings/server/jobs/JobDataInspector.tsx index 5d6e3ed7c..b792bc2e6 100644 --- a/packages/browser/src/scenes/settings/server/jobs/JobDataInspector.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/JobDataInspector.tsx @@ -1,6 +1,5 @@ import { Sheet, Text, usePrevious } from '@stump/components' import { CoreJobOutput } from '@stump/sdk' -import React from 'react' type Props = { data?: CoreJobOutput | null diff --git a/packages/browser/src/scenes/settings/server/jobs/JobScheduler.tsx b/packages/browser/src/scenes/settings/server/jobs/JobScheduler.tsx index 5217b85a3..8e0116bc9 100644 --- a/packages/browser/src/scenes/settings/server/jobs/JobScheduler.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/JobScheduler.tsx @@ -2,7 +2,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useJobSchedulerConfig, useLibraries } from '@stump/client' import { Alert, Button, ComboBox, Form, Input, Label, NativeSelect } from '@stump/components' import { Construction } from 'lucide-react' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import { useForm } from 'react-hook-form' import toast from 'react-hot-toast' import { useMediaMatch } from 'rooks' diff --git a/packages/browser/src/scenes/settings/server/jobs/JobTable.tsx b/packages/browser/src/scenes/settings/server/jobs/JobTable.tsx index 68c25d00b..aa4aa4e12 100644 --- a/packages/browser/src/scenes/settings/server/jobs/JobTable.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/JobTable.tsx @@ -6,7 +6,7 @@ import dayjs from 'dayjs' import duration from 'dayjs/plugin/duration' import relativeTime from 'dayjs/plugin/relativeTime' import { CircleSlash2 } from 'lucide-react' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import { Table } from '@/components/table' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx b/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx index 049fd3d07..c135949da 100644 --- a/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx @@ -2,7 +2,7 @@ import { Text } from '@stump/components' import { PersistedJob } from '@stump/sdk' import dayjs from 'dayjs' import { Duration } from 'dayjs/plugin/duration' -import React, { useEffect, useMemo, useState } from 'react' +import { useEffect, useMemo, useState } from 'react' type Props = { job: PersistedJob diff --git a/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsFeed.tsx b/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsFeed.tsx index 50d9a694d..07e922515 100644 --- a/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsFeed.tsx +++ b/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsFeed.tsx @@ -1,5 +1,5 @@ import { useSDK } from '@stump/client' -import React, { useEffect, useRef, useState } from 'react' +import { useEffect, useRef, useState } from 'react' const MAX_BUFFER_SIZE = 1000 diff --git a/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsSection.tsx b/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsSection.tsx index dc2281f12..1b7e0dee6 100644 --- a/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsSection.tsx +++ b/packages/browser/src/scenes/settings/server/logs/live-logs/LiveLogsSection.tsx @@ -1,7 +1,6 @@ import { Alert, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Construction } from 'lucide-react' -import React from 'react' import LiveLogsFeed from './LiveLogsFeed' diff --git a/packages/browser/src/scenes/settings/server/logs/persisted-logs/LogLevelBadge.tsx b/packages/browser/src/scenes/settings/server/logs/persisted-logs/LogLevelBadge.tsx index 13d495cb0..7d2483218 100644 --- a/packages/browser/src/scenes/settings/server/logs/persisted-logs/LogLevelBadge.tsx +++ b/packages/browser/src/scenes/settings/server/logs/persisted-logs/LogLevelBadge.tsx @@ -1,6 +1,6 @@ import { Badge, BadgeProps, PickSelect } from '@stump/components' import { LogLevel } from '@stump/sdk' -import React, { useMemo } from 'react' +import { useMemo } from 'react' type Props = { level: LogLevel diff --git a/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsSection.tsx b/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsSection.tsx index 6a6f57e64..9fb2799c0 100644 --- a/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsSection.tsx +++ b/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsSection.tsx @@ -1,6 +1,5 @@ import { Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import PersistedLogsTable from './PersistedLogsTable' diff --git a/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsTable.tsx b/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsTable.tsx index e030e5810..31fbe5de5 100644 --- a/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsTable.tsx +++ b/packages/browser/src/scenes/settings/server/logs/persisted-logs/PersistedLogsTable.tsx @@ -7,7 +7,7 @@ import dayjs from 'dayjs' import duration from 'dayjs/plugin/duration' import relativeTime from 'dayjs/plugin/relativeTime' import { CircleSlash2 } from 'lucide-react' -import React, { useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import { useSearchParams } from 'react-router-dom' import { Table } from '@/components/table' @@ -102,7 +102,6 @@ export default function PersistedLogsTable() { direction: firstSort.desc ? 'desc' : 'asc', job_id: jobId, order_by: firstSort.id, - zero_based: true, }, }) const pageCount = pageData?.total_pages ?? 1 diff --git a/packages/browser/src/scenes/settings/server/users/UsersRouter.tsx b/packages/browser/src/scenes/settings/server/users/UsersRouter.tsx index 089ef9bd7..4cb60152a 100644 --- a/packages/browser/src/scenes/settings/server/users/UsersRouter.tsx +++ b/packages/browser/src/scenes/settings/server/users/UsersRouter.tsx @@ -1,7 +1,7 @@ import { useUsersQuery } from '@stump/client' import { User } from '@stump/sdk' import { PaginationState } from '@tanstack/react-table' -import React, { lazy, useState } from 'react' +import { lazy, useState } from 'react' import { Route, Routes } from 'react-router' import { UserManagementContext } from './context.ts' diff --git a/packages/browser/src/scenes/settings/server/users/UsersStats.tsx b/packages/browser/src/scenes/settings/server/users/UsersStats.tsx index 1acc3f97d..54f25cb20 100644 --- a/packages/browser/src/scenes/settings/server/users/UsersStats.tsx +++ b/packages/browser/src/scenes/settings/server/users/UsersStats.tsx @@ -1,7 +1,7 @@ import { Statistic } from '@stump/components' import { ActiveReadingSession, FinishedReadingSession, User } from '@stump/sdk' -import groupBy from 'lodash/groupBy' -import sortBy from 'lodash/sortBy' +// import groupBy from 'lodash/groupBy' +// import sortBy from 'lodash/sortBy' import uniqBy from 'lodash/uniqBy' import pluralize from 'pluralize' import { useMemo } from 'react' @@ -18,10 +18,10 @@ type BookReadStats = { inProgressCount: number } -type TopBook = { - bookId: string - readers: string[] -} +// type TopBook = { +// bookId: string +// readers: string[] +// } export default function UsersStats() { const { users } = useUserManagementContext() @@ -101,36 +101,35 @@ export default function UsersStats() { /** * The IDs of the top-3 books read on the server */ - const topBooks = useMemo(() => { - const usersAndBooks = users.reduce( - (acc, user) => { - const finishedUserBooks = (finishedSessionMap[user.id] || []).map( - ({ media_id, user_id }) => ({ media_id, user_id }), - ) - const activeUserBooks = (activeSessionMap[user.id] || []).map(({ media_id, user_id }) => ({ - media_id, - user_id, - })) - const allForUser = finishedUserBooks.concat(activeUserBooks) - const dedupedAll = uniqBy(allForUser, ({ media_id }) => media_id) - return acc.concat(dedupedAll) - }, - [] as { - media_id: string - user_id: string - }[], - ) - const groupedByBook = groupBy(usersAndBooks, ({ media_id }) => media_id) - - return sortBy( - Object.entries(groupedByBook).map(([bookId, values]) => ({ - bookId, - readers: values.map(({ user_id }) => user_id), - })), - ({ readers }) => readers.length, - ).slice(0, 3) - }, [users, activeSessionMap, finishedSessionMap]) - console.debug(topBooks) + // const topBooks = useMemo(() => { + // const usersAndBooks = users.reduce( + // (acc, user) => { + // const finishedUserBooks = (finishedSessionMap[user.id] || []).map( + // ({ media_id, user_id }) => ({ media_id, user_id }), + // ) + // const activeUserBooks = (activeSessionMap[user.id] || []).map(({ media_id, user_id }) => ({ + // media_id, + // user_id, + // })) + // const allForUser = finishedUserBooks.concat(activeUserBooks) + // const dedupedAll = uniqBy(allForUser, ({ media_id }) => media_id) + // return acc.concat(dedupedAll) + // }, + // [] as { + // media_id: string + // user_id: string + // }[], + // ) + // const groupedByBook = groupBy(usersAndBooks, ({ media_id }) => media_id) + + // return sortBy( + // Object.entries(groupedByBook).map(([bookId, values]) => ({ + // bookId, + // readers: values.map(({ user_id }) => user_id), + // })), + // ({ readers }) => readers.length, + // ).slice(0, 3) + // }, [users, activeSessionMap, finishedSessionMap]) return (
diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/AccountDetails.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/AccountDetails.tsx index 825d3027c..ef465366e 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/AccountDetails.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/AccountDetails.tsx @@ -1,6 +1,6 @@ import { Button, IconButton, Input } from '@stump/components' import { Eye, EyeOff, Shield } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { useFormContext, useFormState } from 'react-hook-form' import { CreateOrUpdateUserSchema } from './schema' diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/CreateOrUpdateUserForm.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/CreateOrUpdateUserForm.tsx index 88ea02ca1..8ae80632f 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/CreateOrUpdateUserForm.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/CreateOrUpdateUserForm.tsx @@ -3,7 +3,7 @@ import { invalidateQueries, useCreateUser, useSDK, useUpdateUser } from '@stump/ import { Alert, Button, Form, Heading, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { User } from '@stump/sdk' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useForm, useFormState } from 'react-hook-form' import toast from 'react-hot-toast' import { useNavigate } from 'react-router' @@ -62,14 +62,13 @@ export default function CreateOrUpdateUserForm({ user }: Props) { : null if (isCreating && password) { - const result = await createAsync({ + await createAsync({ age_restriction, max_sessions_allowed, password: password, permissions, username, }) - console.debug('Created user', { result }) toast.success('User created successfully') await invalidateQueries({ keys: [sdk.user.keys.get, sdk.user.keys.getByID] }) form.reset() @@ -82,7 +81,6 @@ export default function CreateOrUpdateUserForm({ user }: Props) { permissions, username, }) - console.debug('Updated user', { result }) toast.success('User updated successfully') await invalidateQueries({ keys: [sdk.user.keys.get, sdk.user.keys.getByID] }) form.reset({ diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/CreateUserScene.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/CreateUserScene.tsx index 0171b4944..4e209073a 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/CreateUserScene.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/CreateUserScene.tsx @@ -1,5 +1,4 @@ import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { Helmet } from 'react-helmet' import { SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/MaxSessionsAllowed.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/MaxSessionsAllowed.tsx index 9bf9ebf34..eb59146c1 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/MaxSessionsAllowed.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/MaxSessionsAllowed.tsx @@ -1,5 +1,5 @@ import { Input } from '@stump/components' -import React, { useCallback, useEffect } from 'react' +import { useCallback, useEffect } from 'react' import { useFormContext, useFormState } from 'react-hook-form' import { CreateOrUpdateUserSchema } from './schema' diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/UpdateUserScene.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/UpdateUserScene.tsx index ba37475e5..c29ba83af 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/UpdateUserScene.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/UpdateUserScene.tsx @@ -1,6 +1,5 @@ import { useUserQuery } from '@stump/client' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { Helmet } from 'react-helmet' import { useParams } from 'react-router' diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/UserRestrictionsForm.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/UserRestrictionsForm.tsx index e68510d4f..46d4949b4 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/UserRestrictionsForm.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/UserRestrictionsForm.tsx @@ -1,6 +1,6 @@ import { CheckBox, Heading, Input, Link, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useEffect } from 'react' +import { useCallback, useEffect } from 'react' import { useFormContext } from 'react-hook-form' import paths from '@/paths' diff --git a/packages/browser/src/scenes/settings/server/users/login-activity/ClearActivitySection.tsx b/packages/browser/src/scenes/settings/server/users/login-activity/ClearActivitySection.tsx index 8abb7d19e..005c342cc 100644 --- a/packages/browser/src/scenes/settings/server/users/login-activity/ClearActivitySection.tsx +++ b/packages/browser/src/scenes/settings/server/users/login-activity/ClearActivitySection.tsx @@ -1,7 +1,6 @@ import { invalidateQueries, useSDK } from '@stump/client' import { Alert, Button } from '@stump/components' import { AlertTriangle } from 'lucide-react' -import React from 'react' import { toast } from 'react-hot-toast' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivitySection.tsx b/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivitySection.tsx index 5b11e7cbd..3a0705c67 100644 --- a/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivitySection.tsx +++ b/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivitySection.tsx @@ -1,5 +1,4 @@ import { Heading, Text } from '@stump/components' -import React from 'react' import ClearActivitySection from './ClearActivitySection' import LoginActivityTable from './LoginActivityTable' diff --git a/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivityTable.tsx b/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivityTable.tsx index a68376519..759ed0afc 100644 --- a/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivityTable.tsx +++ b/packages/browser/src/scenes/settings/server/users/login-activity/LoginActivityTable.tsx @@ -8,7 +8,7 @@ import { PaginationState, } from '@tanstack/react-table' import dayjs from 'dayjs' -import React, { useState } from 'react' +import { useState } from 'react' import { Table } from '@/components/table' @@ -44,7 +44,7 @@ const baseColumns = [ }), columnHelper.accessor('ip_address', { cell: ({ row: { original: activity } }) => ( - + {activity.ip_address} ), diff --git a/packages/browser/src/scenes/settings/server/users/user-table/InspectUserSlideOver.tsx b/packages/browser/src/scenes/settings/server/users/user-table/InspectUserSlideOver.tsx index 95d69d057..c97a34556 100644 --- a/packages/browser/src/scenes/settings/server/users/user-table/InspectUserSlideOver.tsx +++ b/packages/browser/src/scenes/settings/server/users/user-table/InspectUserSlideOver.tsx @@ -1,6 +1,5 @@ import { Sheet } from '@stump/components' import { User } from '@stump/sdk' -import React from 'react' type Props = { user: User | null diff --git a/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx b/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx index e683c9bf7..2d886e4d5 100644 --- a/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx +++ b/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx @@ -2,7 +2,7 @@ import { invalidateQueries, useSDK } from '@stump/client' import { DropdownMenu, IconButton } from '@stump/components' import { User } from '@stump/sdk' import { Database, Lock, MoreVertical, Pencil, Search, Trash, Unlock } from 'lucide-react' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import toast from 'react-hot-toast' import { useNavigate } from 'react-router' @@ -101,7 +101,7 @@ export default function UserActionMenu({ user, onSelectForInspect }: Props) { ], }, ], - // eslint-disable-next-line react-hooks/exhaustive-deps + [setDeletingUser, user, isSelf, userSessionsCount], ) diff --git a/packages/browser/src/scenes/smartList/SmartListCard.tsx b/packages/browser/src/scenes/smartList/SmartListCard.tsx index 2160a0cfe..5b97633f6 100644 --- a/packages/browser/src/scenes/smartList/SmartListCard.tsx +++ b/packages/browser/src/scenes/smartList/SmartListCard.tsx @@ -3,7 +3,7 @@ import { Card, Spacer, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { SmartList } from '@stump/sdk' import pluralize from 'pluralize' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { Link } from 'react-router-dom' import { match, P } from 'ts-pattern' diff --git a/packages/browser/src/scenes/smartList/SmartListRouter.tsx b/packages/browser/src/scenes/smartList/SmartListRouter.tsx index 0dd7c2c8f..c899ba739 100644 --- a/packages/browser/src/scenes/smartList/SmartListRouter.tsx +++ b/packages/browser/src/scenes/smartList/SmartListRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, useEffect } from 'react' +import { lazy, useEffect } from 'react' import { Navigate, Route, Routes, useNavigate } from 'react-router' import { useAppContext } from '@/context' diff --git a/packages/browser/src/scenes/smartList/UserSmartListHeader.tsx b/packages/browser/src/scenes/smartList/UserSmartListHeader.tsx index 04288de5a..209873f31 100644 --- a/packages/browser/src/scenes/smartList/UserSmartListHeader.tsx +++ b/packages/browser/src/scenes/smartList/UserSmartListHeader.tsx @@ -1,6 +1,5 @@ import { cn, Heading, Link, Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { usePreferences } from '@/hooks' import paths from '@/paths' diff --git a/packages/browser/src/scenes/smartList/UserSmartListLayout.tsx b/packages/browser/src/scenes/smartList/UserSmartListLayout.tsx index 2491a06b1..8d3049ae8 100644 --- a/packages/browser/src/scenes/smartList/UserSmartListLayout.tsx +++ b/packages/browser/src/scenes/smartList/UserSmartListLayout.tsx @@ -6,7 +6,7 @@ import { import { cn } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { AccessRole, SmartList, SmartListView } from '@stump/sdk' -import React, { Suspense, useCallback, useEffect, useMemo, useState } from 'react' +import { Suspense, useCallback, useEffect, useMemo, useState } from 'react' import toast from 'react-hot-toast' import { Outlet, useLocation, useParams } from 'react-router' import { useMediaMatch } from 'rooks' @@ -32,7 +32,7 @@ export default function UserSmartListLayout() { const { t } = useLocaleContext() // TODO: I don't think I need both TBH, esp with how many more features I can add to the table... - const [layout, setLayout] = React.useState<'table' | 'list'>(() => getDefaultLayout()) + const [layout, setLayout] = useState<'table' | 'list'>(() => getDefaultLayout()) const [selectedView, setSelectedView] = useState() const [workingView, setWorkingView] = useState() diff --git a/packages/browser/src/scenes/smartList/UserSmartListNavigation.tsx b/packages/browser/src/scenes/smartList/UserSmartListNavigation.tsx index be0287a81..4bcd79fa2 100644 --- a/packages/browser/src/scenes/smartList/UserSmartListNavigation.tsx +++ b/packages/browser/src/scenes/smartList/UserSmartListNavigation.tsx @@ -1,7 +1,7 @@ import { usePrefetchListItems } from '@stump/client' import { cn, Link } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation } from 'react-router' import { usePreferences } from '@/hooks' diff --git a/packages/browser/src/scenes/smartList/UserSmartListRouter.tsx b/packages/browser/src/scenes/smartList/UserSmartListRouter.tsx index 6ed29be15..477bab888 100644 --- a/packages/browser/src/scenes/smartList/UserSmartListRouter.tsx +++ b/packages/browser/src/scenes/smartList/UserSmartListRouter.tsx @@ -1,4 +1,4 @@ -import React, { lazy, Suspense } from 'react' +import { lazy, Suspense } from 'react' import { Navigate, Route, Routes } from 'react-router' import { useSmartListContext } from './context.ts' diff --git a/packages/browser/src/scenes/smartList/UserSmartListsScene.tsx b/packages/browser/src/scenes/smartList/UserSmartListsScene.tsx index 0f5555e8c..f0a1f0036 100644 --- a/packages/browser/src/scenes/smartList/UserSmartListsScene.tsx +++ b/packages/browser/src/scenes/smartList/UserSmartListsScene.tsx @@ -11,7 +11,7 @@ import { import { useLocaleContext } from '@stump/i18n' import { Search } from 'lucide-react' import pluralize from 'pluralize' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import { useDebouncedValue } from 'rooks' import { SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/smartList/items/UserSmartListItemsScene.tsx b/packages/browser/src/scenes/smartList/items/UserSmartListItemsScene.tsx index 19020a12c..d12a722f1 100644 --- a/packages/browser/src/scenes/smartList/items/UserSmartListItemsScene.tsx +++ b/packages/browser/src/scenes/smartList/items/UserSmartListItemsScene.tsx @@ -1,7 +1,6 @@ import { useSmartListItemsQuery } from '@stump/client' import { cn } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' import { SceneContainer } from '@/components/container' diff --git a/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemList.tsx b/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemList.tsx index adba92171..fd526c0d2 100644 --- a/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemList.tsx +++ b/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemList.tsx @@ -2,7 +2,7 @@ import { Accordion, cn, Text } from '@stump/components' import { Library, Series, SmartListItemGroup } from '@stump/sdk' import { useVirtualizer } from '@tanstack/react-virtual' import pluralize from 'pluralize' -import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { usePreferences } from '@/hooks' @@ -84,7 +84,7 @@ export default function GroupedSmartListItemList({ items }: Props) { [accordionState], ) - const scrollRef = React.useRef(null) + const scrollRef = useRef(null) const groupVirtualizer = useVirtualizer({ count: items.length, diff --git a/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx b/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx index 0e06581a4..897cd07b2 100644 --- a/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx +++ b/packages/browser/src/scenes/smartList/items/list/GroupedSmartListItemListGroupContent.tsx @@ -2,7 +2,7 @@ import { useSDK } from '@stump/client' import { Accordion, cn, Text } from '@stump/components' import { Media } from '@stump/sdk' import { useVirtualizer } from '@tanstack/react-virtual' -import React from 'react' +import { useCallback, useRef } from 'react' import { Link } from 'react-router-dom' import { EntityImage } from '@/components/entity' @@ -19,11 +19,11 @@ type Props = { export default function GroupedSmartListItemListGroupContent({ books }: Props) { const { sdk } = useSDK() - const scrollRef = React.useRef(null) + const scrollRef = useRef(null) const rowVirtualizer = useVirtualizer({ count: books.length, - estimateSize: React.useCallback(() => ACCORDION_CONTENT_ITEM_HEIGHT, []), + estimateSize: useCallback(() => ACCORDION_CONTENT_ITEM_HEIGHT, []), getScrollElement: () => scrollRef.current, overscan: 5, }) diff --git a/packages/browser/src/scenes/smartList/items/table/BookLinksCell.tsx b/packages/browser/src/scenes/smartList/items/table/BookLinksCell.tsx index c5b93ccee..ec0eec3e3 100644 --- a/packages/browser/src/scenes/smartList/items/table/BookLinksCell.tsx +++ b/packages/browser/src/scenes/smartList/items/table/BookLinksCell.tsx @@ -1,6 +1,5 @@ import { Badge } from '@stump/components' import { ExternalLink } from 'lucide-react' -import React from 'react' type Props = { links: string[] diff --git a/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx b/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx index c5b55778b..2135193c6 100644 --- a/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx +++ b/packages/browser/src/scenes/smartList/items/table/CoverImageCell.tsx @@ -1,6 +1,6 @@ import { useSDK } from '@stump/client' import { Book } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { EntityImage } from '@/components/entity' @@ -28,7 +28,7 @@ export default function CoverImageCell({ id, title }: Props) { try { await loadImage() setShowFallback(false) - } catch (e) { + } catch { setShowFallback(true) } } diff --git a/packages/browser/src/scenes/smartList/items/table/CreateOrUpdateTableView.tsx b/packages/browser/src/scenes/smartList/items/table/CreateOrUpdateTableView.tsx index aed7955a1..6731e3cf3 100644 --- a/packages/browser/src/scenes/smartList/items/table/CreateOrUpdateTableView.tsx +++ b/packages/browser/src/scenes/smartList/items/table/CreateOrUpdateTableView.tsx @@ -1,7 +1,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { Button, Dialog, Form, Input } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useEffect } from 'react' +import { useCallback, useEffect } from 'react' import { useForm } from 'react-hook-form' import toast from 'react-hot-toast' import { z } from 'zod' diff --git a/packages/browser/src/scenes/smartList/items/table/FilterBottomDrawer.tsx b/packages/browser/src/scenes/smartList/items/table/FilterBottomDrawer.tsx index d1c75df91..081c29a7b 100644 --- a/packages/browser/src/scenes/smartList/items/table/FilterBottomDrawer.tsx +++ b/packages/browser/src/scenes/smartList/items/table/FilterBottomDrawer.tsx @@ -1,7 +1,6 @@ import { Accordion, Alert, Button, Drawer, IconButton, Text, ToolTip } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Construction, Filter } from 'lucide-react' -import React from 'react' import { useSmartListContext } from '../../context' diff --git a/packages/browser/src/scenes/smartList/items/table/GroupedSmartListItemTable.tsx b/packages/browser/src/scenes/smartList/items/table/GroupedSmartListItemTable.tsx index a089bae93..675534535 100644 --- a/packages/browser/src/scenes/smartList/items/table/GroupedSmartListItemTable.tsx +++ b/packages/browser/src/scenes/smartList/items/table/GroupedSmartListItemTable.tsx @@ -11,7 +11,7 @@ import { SortingState, useReactTable, } from '@tanstack/react-table' -import React, { useCallback, useMemo, useState } from 'react' +import { Fragment, useCallback, useMemo, useState } from 'react' import { SortIcon } from '@/components/table' @@ -136,7 +136,7 @@ export default function GroupedSmartListItemTable({ items }: Props) { {rows.map((row) => ( - + )} - + ))} diff --git a/packages/browser/src/scenes/smartList/items/table/SavedViewSelector.tsx b/packages/browser/src/scenes/smartList/items/table/SavedViewSelector.tsx index 40cfabcd8..060904732 100644 --- a/packages/browser/src/scenes/smartList/items/table/SavedViewSelector.tsx +++ b/packages/browser/src/scenes/smartList/items/table/SavedViewSelector.tsx @@ -1,6 +1,6 @@ import { NativeSelect } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React, { useCallback, useMemo } from 'react' +import { useCallback, useMemo } from 'react' import { useSmartListContext } from '../../context' diff --git a/packages/browser/src/scenes/smartList/items/table/SmartListBookTable.tsx b/packages/browser/src/scenes/smartList/items/table/SmartListBookTable.tsx index 6cdf414dc..d81820c47 100644 --- a/packages/browser/src/scenes/smartList/items/table/SmartListBookTable.tsx +++ b/packages/browser/src/scenes/smartList/items/table/SmartListBookTable.tsx @@ -9,7 +9,7 @@ import { SortingState, useReactTable, } from '@tanstack/react-table' -import React, { PropsWithChildren, useCallback, useMemo } from 'react' +import { Fragment, PropsWithChildren, useCallback, useMemo } from 'react' import AutoSizer from 'react-virtualized-auto-sizer' import { SortIcon } from '@/components/table' @@ -90,7 +90,7 @@ export default function SmartListBookTable({ books, isIsolatedTable = true }: Pr {children}
) - : React.Fragment + : Fragment return ( diff --git a/packages/browser/src/scenes/smartList/items/table/TableColumnsBottomDrawer.tsx b/packages/browser/src/scenes/smartList/items/table/TableColumnsBottomDrawer.tsx index 274431518..dceef5644 100644 --- a/packages/browser/src/scenes/smartList/items/table/TableColumnsBottomDrawer.tsx +++ b/packages/browser/src/scenes/smartList/items/table/TableColumnsBottomDrawer.tsx @@ -9,7 +9,7 @@ import { ToolTip, } from '@stump/components' import { TableProperties } from 'lucide-react' -import React, { useEffect, useMemo, useState } from 'react' +import { useEffect, useMemo, useState } from 'react' import toast from 'react-hot-toast' import { useSafeWorkingView, useSmartListContext } from '../../context' diff --git a/packages/browser/src/scenes/smartList/items/table/TableHeaderActions.tsx b/packages/browser/src/scenes/smartList/items/table/TableHeaderActions.tsx index 09abcda5e..1f601484c 100644 --- a/packages/browser/src/scenes/smartList/items/table/TableHeaderActions.tsx +++ b/packages/browser/src/scenes/smartList/items/table/TableHeaderActions.tsx @@ -1,5 +1,5 @@ import { useLocaleContext } from '@stump/i18n' -import React, { useCallback } from 'react' +import { useCallback } from 'react' import { Search } from '@/components/filters' diff --git a/packages/browser/src/scenes/smartList/items/table/ViewManagerDropdown.tsx b/packages/browser/src/scenes/smartList/items/table/ViewManagerDropdown.tsx index eb4fd5290..83afea176 100644 --- a/packages/browser/src/scenes/smartList/items/table/ViewManagerDropdown.tsx +++ b/packages/browser/src/scenes/smartList/items/table/ViewManagerDropdown.tsx @@ -1,7 +1,7 @@ import { Button, Dropdown } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ChevronDown } from 'lucide-react' -import React, { useState } from 'react' +import { useState } from 'react' import { useSmartListContext } from '../../context' import CreateOrUpdateTableView from './CreateOrUpdateTableView' @@ -26,7 +26,7 @@ export default function ViewManagerDropdown() { >
{t('common.save')} - +
diff --git a/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx b/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx index 7b6e8d937..b22ebf86a 100644 --- a/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx +++ b/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx @@ -1,15 +1,15 @@ import { useUpdateSmartList } from '@stump/client' import { CreateOrUpdateSmartList } from '@stump/sdk' -import React, { Suspense, useCallback } from 'react' +import { lazy, Suspense, useCallback } from 'react' import { Navigate, Route, Routes } from 'react-router' import { useSmartListContext } from '../context' import { SmartListSettingsContext } from './context' -const BasicSettingsScene = React.lazy(() => import('./basics')) -const AccessSettingsScene = React.lazy(() => import('./access')) -const FiltersSettingsScene = React.lazy(() => import('./filters')) -const DangerSettingsScene = React.lazy(() => import('./danger')) +const BasicSettingsScene = lazy(() => import('./basics')) +const AccessSettingsScene = lazy(() => import('./access')) +const FiltersSettingsScene = lazy(() => import('./filters')) +const DangerSettingsScene = lazy(() => import('./danger')) export default function SmartListSettingsRouter() { const { list } = useSmartListContext() diff --git a/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx b/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx index ceb8ce194..0778b90c0 100644 --- a/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx +++ b/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx @@ -1,7 +1,7 @@ import { ButtonOrLink, cn, IconButton, Label } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ArrowLeft, Home } from 'lucide-react' -import React, { useMemo } from 'react' +import { useMemo } from 'react' import { useLocation, useNavigate } from 'react-router' import { usePreferences } from '@/hooks/usePreferences' diff --git a/packages/browser/src/scenes/smartList/settings/access/ChangeVisibilityConfirmation.tsx b/packages/browser/src/scenes/smartList/settings/access/ChangeVisibilityConfirmation.tsx index b05392a12..d1ec80192 100644 --- a/packages/browser/src/scenes/smartList/settings/access/ChangeVisibilityConfirmation.tsx +++ b/packages/browser/src/scenes/smartList/settings/access/ChangeVisibilityConfirmation.tsx @@ -1,7 +1,6 @@ import { ConfirmationModal } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { EntityVisibility } from '@stump/sdk' -import React from 'react' type Props = { isOpen: boolean diff --git a/packages/browser/src/scenes/smartList/settings/access/UserAccessManager.tsx b/packages/browser/src/scenes/smartList/settings/access/UserAccessManager.tsx index 6f8b5ab83..d9377877a 100644 --- a/packages/browser/src/scenes/smartList/settings/access/UserAccessManager.tsx +++ b/packages/browser/src/scenes/smartList/settings/access/UserAccessManager.tsx @@ -1,6 +1,5 @@ import { Alert } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import React from 'react' // TODO: lock down access to CoCreator? export default function UserAccessManager() { diff --git a/packages/browser/src/stores/desktop.ts b/packages/browser/src/stores/desktop.ts index 91e7f8698..2c8b8e2d0 100644 --- a/packages/browser/src/stores/desktop.ts +++ b/packages/browser/src/stores/desktop.ts @@ -51,32 +51,28 @@ export const useTauriStore = () => { /** * An effect to load the store from disk on mount and sync it with the local store */ - useEffect( - () => { - const init = async () => { - try { - const storeEntries = await store.entries() - const loadedStore = storeEntries.reduce( - (acc, [key, value]) => { - acc[key] = value - return acc - }, - {} as Record, - ) - // TODO: smarter type assertions here - if ('connected_servers' in loadedStore) { - localStore.set(loadedStore as DesktopAppStore) - } - } catch (e) { - console.error('Failed to load store', e) + useEffect(() => { + const init = async () => { + try { + const storeEntries = await store.entries() + const loadedStore = storeEntries.reduce( + (acc, [key, value]) => { + acc[key] = value + return acc + }, + {} as Record, + ) + // TODO: smarter type assertions here + if ('connected_servers' in loadedStore) { + localStore.set(loadedStore as DesktopAppStore) } + } catch (e) { + console.error('Failed to load store', e) } + } - init() - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [], - ) + init() + }, []) /** * Add a server to the list of connected servers. If this is the first server added, diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json index e08d34303..a467fa204 100644 --- a/packages/browser/tsconfig.json +++ b/packages/browser/tsconfig.json @@ -1,13 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + "composite": true, "types": ["vite/client", "node", "jest", "@testing-library/jest-dom"], "skipLibCheck": true, "allowImportingTsExtensions": true, - "jsx": "preserve", + "jsx": "react-jsx", "module": "ES2022", "moduleResolution": "Node", - "outDir": "./dist", + "emitDeclarationOnly": true, + "outDir": "dist", "paths": { "@stump/sdk": ["../sdk/src/index.ts"], "@stump/sdk/*": ["../sdk/src/*"], diff --git a/packages/client/package.json b/packages/client/package.json index dae8f6c88..4e2009b09 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -7,6 +7,7 @@ ".": "./src/index.ts" }, "scripts": { + "check-types": "tsc -b tsconfig.json", "nuke": "yarn exec rimraf node_modules" }, "dependencies": { diff --git a/packages/client/src/hooks/useCoreEvent.ts b/packages/client/src/hooks/useCoreEvent.ts index 3af80574f..2ffff1851 100644 --- a/packages/client/src/hooks/useCoreEvent.ts +++ b/packages/client/src/hooks/useCoreEvent.ts @@ -112,8 +112,6 @@ const handleJobOutput = async (output: CoreJobOutput, sdk: Api) => { } catch (e) { console.error('Failed to invalidate queries', e) } - } else { - console.debug('No keys to invalidate') } } else { console.warn('Unhandled job output', output) diff --git a/packages/client/src/hooks/useStumpSse.ts b/packages/client/src/hooks/useStumpSse.ts index 1f5a2c0e8..55f6962f6 100644 --- a/packages/client/src/hooks/useStumpSse.ts +++ b/packages/client/src/hooks/useStumpSse.ts @@ -49,21 +49,16 @@ function useSse(url: string, { onOpen, onClose, onMessage }: SseOptions = {}) { } }, [onClose, onMessage, onOpen, url]) - useEffect( - () => { - initEventSource() - - return () => { - sse?.close() - if (timoutRef.current) { - clearTimeout(timoutRef.current) - } - } - }, + useEffect(() => { + initEventSource() - // eslint-disable-next-line react-hooks/exhaustive-deps - [url], - ) + return () => { + sse?.close() + if (timoutRef.current) { + clearTimeout(timoutRef.current) + } + } + }, [url]) return { readyState: sse?.readyState, diff --git a/packages/client/src/hooks/useStumpWs.ts b/packages/client/src/hooks/useStumpWs.ts index c2c1114b9..e08b71376 100644 --- a/packages/client/src/hooks/useStumpWs.ts +++ b/packages/client/src/hooks/useStumpWs.ts @@ -36,12 +36,11 @@ export function useStumpWs({ onEvent, onConnectionWithServerChanged }: Props) { } function handleOpen() { - console.debug('Websocket connected') onConnectionWithServerChanged?.(true) } function handleClose() { - console.debug('Websocket closed') + console.warn('Websocket closed') onConnectionWithServerChanged?.(false) } diff --git a/packages/client/src/queries/auth.ts b/packages/client/src/queries/auth.ts index 5945c6eeb..236bcfe74 100644 --- a/packages/client/src/queries/auth.ts +++ b/packages/client/src/queries/auth.ts @@ -13,7 +13,7 @@ export function useAuthQuery(options: QueryOptions = {}) { async () => { const data = await sdk.auth.me() if (!isUser(data)) { - console.debug('Malformed response recieved from server', data) + console.warn('Malformed response recieved from server', data) throw new Error('Malformed response recieved from server') } return data diff --git a/packages/client/src/queries/job.ts b/packages/client/src/queries/job.ts index 8e4e1d6d4..35ea9e011 100644 --- a/packages/client/src/queries/job.ts +++ b/packages/client/src/queries/job.ts @@ -1,4 +1,4 @@ -import type { JobSchedulerConfig, PersistedJob } from '@stump/sdk' +import type { PersistedJob, UpdateSchedulerConfig } from '@stump/sdk' import { PageQueryOptions, useMutation, usePageQuery, useQuery } from '../client' import { useSDK } from '../sdk' @@ -37,7 +37,7 @@ export function useJobSchedulerConfig() { mutate: update, isLoading: isUpdating, isError: isUpdateError, - } = useMutation([sdk.job.keys.updateSchedulerConfig], (payload: JobSchedulerConfig) => + } = useMutation([sdk.job.keys.updateSchedulerConfig], (payload: UpdateSchedulerConfig) => sdk.job.updateSchedulerConfig(payload), ) diff --git a/packages/client/src/queries/series.ts b/packages/client/src/queries/series.ts index 6134b6ef4..d0ad86695 100644 --- a/packages/client/src/queries/series.ts +++ b/packages/client/src/queries/series.ts @@ -1,4 +1,4 @@ -import type { Media, Series, SeriesFilter } from '@stump/sdk' +import type { Media, Series, SeriesFilter, SeriesQueryRelation } from '@stump/sdk' import { AxiosError } from 'axios' import { useCallback } from 'react' @@ -79,7 +79,7 @@ export const usePrefetchLibrarySeries = ({ id }: { id: string }) => { } type SeriesByIdOptions = { - params?: SeriesFilter + params?: SeriesFilter & SeriesQueryRelation } & QueryOptions export function useSeriesByIdQuery(id: string, { params, ...options }: SeriesByIdOptions = {}) { const { sdk } = useSDK() diff --git a/packages/client/src/sdk/SDKProvider.tsx b/packages/client/src/sdk/SDKProvider.tsx index c3718eefc..939a0df6a 100644 --- a/packages/client/src/sdk/SDKProvider.tsx +++ b/packages/client/src/sdk/SDKProvider.tsx @@ -20,21 +20,17 @@ export function SDKProvider({ useEffect(() => { if (!baseURL && !tauriRPC) { - console.debug('No baseURL or Tauri RPC, likely running in browser') return } - console.debug('Initializing SDK with', baseURL, authMethod) const instance = new Api(baseURL, authMethod) if (!tauriRPC || authMethod === 'session') { - console.debug('No Tauri RPC or using session auth method') setSDK(instance) return } const setExistingToken = async () => { - console.debug('Checking for existing token') try { const currentServer = await tauriRPC.getCurrentServerName() if (!currentServer) { @@ -45,7 +41,6 @@ export function SDKProvider({ const token = await tauriRPC.getApiToken(currentServer) if (token) { - console.debug('Found existing token for', currentServer) instance.token = token } } catch (error) { diff --git a/packages/client/tsconfig.json b/packages/client/tsconfig.json index 33f5f8217..59d6a0d04 100644 --- a/packages/client/tsconfig.json +++ b/packages/client/tsconfig.json @@ -1,9 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "composite": true, "jsx": "preserve", "skipLibCheck": true, + "emitDeclarationOnly": true, + "outDir": "dist", "paths": { "@stump/sdk": ["../sdk/src/index.ts"], "@stump/sdk/*": ["../sdk/src/*"], diff --git a/packages/components/.storybook/main.js b/packages/components/.storybook/main.js index cfc6f677e..06f41549a 100644 --- a/packages/components/.storybook/main.js +++ b/packages/components/.storybook/main.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-require-imports */ const path = require('path') module.exports = { diff --git a/packages/components/.storybook/preview.js b/packages/components/.storybook/preview.js index da8e2befe..7b0f88192 100644 --- a/packages/components/.storybook/preview.js +++ b/packages/components/.storybook/preview.js @@ -1,9 +1,9 @@ -import { themes } from '@storybook/theming' - import '../src/styles/tailwind.css' import '../src/styles/preview.css' import '../src/styles/overrides.css' +import { themes } from '@storybook/theming' + // TODO: I think the dark variants are being purged? I honestly don't know, but // dark mode toggle isn't working and it is so annoying. export const parameters = { diff --git a/packages/components/package.json b/packages/components/package.json index ab941c5fc..cbb283164 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -4,11 +4,11 @@ "exports": { ".": "./src/index.ts", "./styles/overrides.css": "./src/styles/overrides.css", - "./tailwind/tailwind.js": "./tailwind/tailwind.js", "./tailwind": "./tailwind/index.ts", "./themes": "./themes/index.ts" }, "scripts": { + "check-types": "tsc -b tsconfig.json", "build": "tsc", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", diff --git a/packages/components/src/accordian/Accordion.tsx b/packages/components/src/accordian/Accordion.tsx index 53810d880..8738f77f8 100644 --- a/packages/components/src/accordian/Accordion.tsx +++ b/packages/components/src/accordian/Accordion.tsx @@ -1,7 +1,6 @@ -/* eslint-disable react/prop-types */ - import * as AccordionPrimitive from '@radix-ui/react-accordion' import { ChevronDownIcon } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import * as React from 'react' import { cn } from '../utils' @@ -9,8 +8,8 @@ import { cn } from '../utils' const Accordion = AccordionPrimitive.Root const AccordionItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )) @@ -19,9 +18,9 @@ AccordionItem.displayName = 'AccordionItem' type TriggerProps = { noUnderline?: boolean asLabel?: boolean -} & React.ComponentPropsWithoutRef +} & ComponentPropsWithoutRef const AccordionTrigger = React.forwardRef< - React.ElementRef, + ElementRef, TriggerProps >(({ className, children, noUnderline, asLabel, ...props }, ref) => ( @@ -48,9 +47,9 @@ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName // TODO: variant for no or quickened animation type ContentProps = { containerClassName?: string -} & React.ComponentPropsWithoutRef +} & ComponentPropsWithoutRef const AccordionContent = React.forwardRef< - React.ElementRef, + ElementRef, ContentProps >(({ className, children, containerClassName, ...props }, ref) => ( & - React.ComponentPropsWithoutRef<'div'> + ComponentPropsWithoutRef<'div'> const Alert = forwardRef( ({ className, level, rounded, icon, alignIcon = 'center', children, ...props }, ref) => { @@ -102,7 +103,7 @@ const Alert = forwardRef( ) Alert.displayName = 'Alert' -const AlertContent = forwardRef>( +const AlertContent = forwardRef>( ({ className, ...props }, ref) => { return (
>( +const AlertTitle = forwardRef>( ({ className, ...props }, ref) => { return ( diff --git a/packages/components/src/badge/Badge.tsx b/packages/components/src/badge/Badge.tsx index b4ca59381..68a927392 100644 --- a/packages/components/src/badge/Badge.tsx +++ b/packages/components/src/badge/Badge.tsx @@ -1,4 +1,5 @@ import { cva, VariantProps } from 'class-variance-authority' +import type { ComponentPropsWithoutRef } from 'react' import { forwardRef } from 'react' import { cn } from '../utils' @@ -33,7 +34,7 @@ const badgeVariants = cva('inline-flex items-center font-medium', { }, }) -export type BadgeProps = VariantProps & React.ComponentPropsWithoutRef<'div'> +export type BadgeProps = VariantProps & ComponentPropsWithoutRef<'div'> export const Badge = forwardRef( ({ className, variant, size, rounded, ...props }, ref) => { return ( diff --git a/packages/components/src/button/ButtonOrLink.tsx b/packages/components/src/button/ButtonOrLink.tsx index c7afb7fe5..770231159 100644 --- a/packages/components/src/button/ButtonOrLink.tsx +++ b/packages/components/src/button/ButtonOrLink.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Link } from 'react-router-dom' import { cn } from '../utils' diff --git a/packages/components/src/button/IconButton.tsx b/packages/components/src/button/IconButton.tsx index b3ac5274e..a6b6b6954 100644 --- a/packages/components/src/button/IconButton.tsx +++ b/packages/components/src/button/IconButton.tsx @@ -1,5 +1,5 @@ import { cva, VariantProps } from 'class-variance-authority' -import React from 'react' +import { forwardRef } from 'react' import { cn } from '../utils' import { BUTTON_BASE_CLASSES, BUTTON_ROUNDED_VARIANTS, BUTTON_VARIANTS } from './Button' @@ -29,7 +29,7 @@ export type IconButtonProps = React.ButtonHTMLAttributes & primaryFocus?: boolean } -const IconButton = React.forwardRef( +const IconButton = forwardRef( ( { className, variant, size, rounded, pressEffect = true, primaryFocus = true, ...props }, ref, diff --git a/packages/components/src/card/Card.tsx b/packages/components/src/card/Card.tsx index c5dd477eb..00acd80fc 100644 --- a/packages/components/src/card/Card.tsx +++ b/packages/components/src/card/Card.tsx @@ -1,12 +1,11 @@ -/* eslint-disable react/prop-types */ - +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React, { forwardRef } from 'react' import { cn } from '../utils' -type CardBaseProps = React.ComponentPropsWithoutRef<'div'> +type CardBaseProps = ComponentPropsWithoutRef<'div'> export type CardProps = CardBaseProps -export const Card = React.forwardRef, CardProps>( +export const Card = React.forwardRef, CardProps>( ({ className, ...props }, ref) => { return (
, CardProps>( ) Card.displayName = 'Card' -export const CardGrid = forwardRef>( +export const CardGrid = forwardRef>( ({ className, ...props }, ref) => { return (
+} & ComponentPropsWithoutRef -export type HoverCardContentProps = React.ComponentPropsWithoutRef< - typeof HoverCardPrimitiveContent -> & { +export type HoverCardContentProps = ComponentPropsWithoutRef & { className?: string align?: 'start' | 'center' | 'end' sideOffset?: number } const HoverCardContent = React.forwardRef< - React.ElementRef, + ElementRef, HoverCardContentProps >(({ className, align = 'center', sideOffset = 4, ...props }, ref) => ( -const Command = React.forwardRef, CommandProps>( +export type CommandProps = ComponentPropsWithoutRef +const Command = React.forwardRef, CommandProps>( ({ className, ...props }, ref) => ( { } const CommandInput = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => (
, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >((props, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( +} & ComponentPropsWithoutRef const CommandIcon = ({ icon: Icon, className, ...props }: CommandIconProps) => { return } diff --git a/packages/components/src/container/Divider.tsx b/packages/components/src/container/Divider.tsx index d24e28b30..96e870ee9 100644 --- a/packages/components/src/container/Divider.tsx +++ b/packages/components/src/container/Divider.tsx @@ -1,6 +1,5 @@ -/* eslint-disable react/prop-types */ import * as SeparatorPrimitive from '@radix-ui/react-separator' -import React from 'react' +import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react' import { cn } from '../utils' @@ -11,9 +10,9 @@ export const DIVIDER_VARIANTS = { export type DividerProps = { variant?: keyof typeof DIVIDER_VARIANTS -} & React.ComponentPropsWithoutRef +} & ComponentPropsWithoutRef -const Divider = React.forwardRef, DividerProps>( +const Divider = forwardRef, DividerProps>( ( { className, orientation = 'horizontal', decorative = true, variant = 'default', ...props }, ref, diff --git a/packages/components/src/context-menu/ContextMenu.tsx b/packages/components/src/context-menu/ContextMenu.tsx index ce5c5c383..2a9e5228e 100644 --- a/packages/components/src/context-menu/ContextMenu.tsx +++ b/packages/components/src/context-menu/ContextMenu.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import { Fragment } from 'react' import { GenericMenu } from '../dropdown' import { cn } from '../utils' @@ -82,11 +82,11 @@ export function ContextMenu({ {children} {groups.map((group, groupIndex) => ( - + {group.title && {group.title}} {groupIndex > 0 && } {renderItems(group.items)} - + ))} diff --git a/packages/components/src/context-menu/primitives.tsx b/packages/components/src/context-menu/primitives.tsx index e6104e249..f08e738a0 100644 --- a/packages/components/src/context-menu/primitives.tsx +++ b/packages/components/src/context-menu/primitives.tsx @@ -1,8 +1,8 @@ -/* eslint-disable react/prop-types */ // FIXME: https://github.com/jsx-eslint/eslint-plugin-react/issues/3284 import * as ContextMenu from '@radix-ui/react-context-menu' import { Check, ChevronRight, Circle } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../utils' @@ -15,8 +15,8 @@ const ContextMenuPrimitiveSub = ContextMenu.Sub const ContextMenuPrimitiveRadioGroup = ContextMenu.RadioGroup const ContextMenuPrimitiveSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { inset?: boolean } >(({ className, inset, children, ...props }, ref) => ( @@ -36,8 +36,8 @@ const ContextMenuPrimitiveSubTrigger = React.forwardRef< ContextMenuPrimitiveSubTrigger.displayName = ContextMenu.SubTrigger.displayName const ContextMenuPrimitiveSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { inset?: boolean } >(({ className, inset, ...props }, ref) => ( @@ -86,8 +86,8 @@ const ContextMenuPrimitiveItem = React.forwardRef< ContextMenuPrimitiveItem.displayName = ContextMenu.Item.displayName const ContextMenuPrimitiveCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, checked, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( , - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { inset?: boolean } >(({ className, inset, ...props }, ref) => ( @@ -149,8 +149,8 @@ const ContextMenuPrimitiveLabel = React.forwardRef< ContextMenuPrimitiveLabel.displayName = ContextMenu.Label.displayName const ContextMenuPrimitiveSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , + ComponentPropsWithoutRef, 'children' > const DialogOverlay = React.forwardRef< - React.ElementRef, + ElementRef, DialogOverlayProps >(({ className, ...props }, ref) => ( & { +export type DialogContentProps = ComponentPropsWithoutRef & { size?: keyof typeof DIALOG_CONTENT_SIZES } const DialogContent = React.forwardRef< - React.ElementRef, + ElementRef, DialogContentProps >(({ className, children, size = 'md', ...props }, ref) => ( @@ -83,8 +81,8 @@ const DialogFooter = ({ className, ...props }: React.HTMLAttributes, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( ) => ( +}: ComponentPropsWithoutRef) => ( ) Drawer.displayName = 'Drawer' @@ -20,8 +19,8 @@ const DrawerPortal = DrawerPrimitive.Portal const DrawerClose = DrawerPrimitive.Close const DrawerOverlay = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( +} & ComponentPropsWithoutRef const DrawerContent = React.forwardRef< - React.ElementRef, + ElementRef, DrawerContentProps >(({ className, children, showTopIndicator = true, ...props }, ref) => ( @@ -71,8 +70,8 @@ const DrawerFooter = ({ className, ...props }: React.HTMLAttributes, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( {groups.map((group, groupIndex) => ( - + {group.title && {group.title}} {groupIndex > 0 && } {renderItems(group.items)} - + ))} diff --git a/packages/components/src/dropdown/primitives.tsx b/packages/components/src/dropdown/primitives.tsx index 07219f26b..6f782be65 100644 --- a/packages/components/src/dropdown/primitives.tsx +++ b/packages/components/src/dropdown/primitives.tsx @@ -1,7 +1,6 @@ -/* eslint-disable react/prop-types */ - import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu' import { Check, ChevronRight, Circle } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../utils' @@ -16,8 +15,8 @@ const DropdownSub = DropdownMenuPrimitive.Sub const DropdownRadioGroup = DropdownMenuPrimitive.RadioGroup const DropdownSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { inset?: boolean } >(({ className, inset, children, ...props }, ref) => ( @@ -37,8 +36,8 @@ const DropdownSubTrigger = React.forwardRef< DropdownSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName const DropdownSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( +export type DropdownContentProps = ComponentPropsWithoutRef const DropdownContent = React.forwardRef< - React.ElementRef, + ElementRef, DropdownContentProps >(({ className, sideOffset = 4, ...props }, ref) => ( @@ -74,8 +71,8 @@ const DropdownContent = React.forwardRef< DropdownContent.displayName = DropdownMenuPrimitive.Content.displayName const DropdownItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { inset?: boolean } >(({ className, inset, ...props }, ref) => ( @@ -92,8 +89,8 @@ const DropdownItem = React.forwardRef< DropdownItem.displayName = DropdownMenuPrimitive.Item.displayName const DropdownCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, checked, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( , - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { inset?: boolean } >(({ className, inset, ...props }, ref) => ( @@ -151,8 +148,8 @@ const DropdownLabel = React.forwardRef< DropdownLabel.displayName = DropdownMenuPrimitive.Label.displayName const DropdownSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( export const Default: Story = { args: { + // eslint-disable-next-line no-console onEmojiSelect: console.debug, onLoadError: console.error, }, diff --git a/packages/components/src/emoji/EmojiPicker.tsx b/packages/components/src/emoji/EmojiPicker.tsx index d8712547f..a5392e98f 100644 --- a/packages/components/src/emoji/EmojiPicker.tsx +++ b/packages/components/src/emoji/EmojiPicker.tsx @@ -1,5 +1,5 @@ import Picker from '@emoji-mart/react' -import React, { useEffect, useState } from 'react' +import { useEffect, useState } from 'react' import { IconButton } from '../button' import { Dropdown } from '../dropdown' diff --git a/packages/components/src/form/Form.tsx b/packages/components/src/form/Form.tsx index 9b83fff21..ca08e159c 100644 --- a/packages/components/src/form/Form.tsx +++ b/packages/components/src/form/Form.tsx @@ -1,4 +1,4 @@ -import React, { forwardRef } from 'react' +import { forwardRef } from 'react' import { FieldValues, FormProvider, SubmitHandler, UseFormReturn } from 'react-hook-form' import { cn } from '../utils' diff --git a/packages/components/src/form/Label.tsx b/packages/components/src/form/Label.tsx index 5180e11ea..b0a2fadb5 100644 --- a/packages/components/src/form/Label.tsx +++ b/packages/components/src/form/Label.tsx @@ -1,14 +1,14 @@ import * as LabelPrimitive from '@radix-ui/react-label' -import React from 'react' +import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react' import { cn } from '../utils' // FIXME: https://github.com/jsx-eslint/eslint-plugin-react/issues/3284 -export type LabelProps = React.ComponentPropsWithoutRef & { +export type LabelProps = ComponentPropsWithoutRef & { className?: string } -const Label = React.forwardRef, LabelProps>( +const Label = forwardRef, LabelProps>( ({ className, ...props }, ref) => ( +} & ComponentPropsWithoutRef export const Avatar = forwardRef( ( { diff --git a/packages/components/src/image/primitives.tsx b/packages/components/src/image/primitives.tsx index c574ebf49..7e7c582ef 100644 --- a/packages/components/src/image/primitives.tsx +++ b/packages/components/src/image/primitives.tsx @@ -1,14 +1,14 @@ -/* eslint-disable react/prop-types */ import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio' import * as AvatarRadix from '@radix-ui/react-avatar' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../utils' -export type AvatarPrimitiveRef = React.ElementRef +export type AvatarPrimitiveRef = ElementRef const AvatarPrimitive = React.forwardRef< AvatarPrimitiveRef, - React.ComponentPropsWithoutRef + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , 'children'> + labelProps?: Omit, 'children'> /** The optional description for the input. */ description?: string /** The optional position for the description. */ descriptionPosition?: 'top' | 'bottom' /** The optional props for the description. */ - descriptionProps?: Omit, 'children'> + descriptionProps?: Omit, 'children'> /** The optional variant for the input. */ fullWidth?: boolean /** The optional error message to display. */ @@ -29,7 +30,7 @@ export type InputProps = { rightDecoration?: React.ReactNode } & RawInputProps -export const Input = React.forwardRef( +export const Input = forwardRef( ( { label, diff --git a/packages/components/src/input/raw/RawCheckBox.tsx b/packages/components/src/input/raw/RawCheckBox.tsx index b2436323d..3555d57ed 100644 --- a/packages/components/src/input/raw/RawCheckBox.tsx +++ b/packages/components/src/input/raw/RawCheckBox.tsx @@ -1,6 +1,7 @@ import * as CheckboxPrimitive from '@radix-ui/react-checkbox' import { cva, VariantProps } from 'class-variance-authority' import { Check } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../../utils' @@ -35,9 +36,9 @@ export const checkboxVariants = cva(RAW_CHECKBOX_BASE_CLASSES, { }, }) -export type RawCheckBoxRef = React.ElementRef +export type RawCheckBoxRef = ElementRef export type RawCheckBoxProps = VariantProps & - React.ComponentPropsWithoutRef + ComponentPropsWithoutRef export const RawCheckBox = React.forwardRef( ({ className, variant, size, rounded, ...props }, ref) => ( diff --git a/packages/components/src/input/raw/RawSwitch.tsx b/packages/components/src/input/raw/RawSwitch.tsx index 41f1aafdd..28a4386f9 100644 --- a/packages/components/src/input/raw/RawSwitch.tsx +++ b/packages/components/src/input/raw/RawSwitch.tsx @@ -1,5 +1,6 @@ import * as SwitchPrimitives from '@radix-ui/react-switch' import { cva, VariantProps } from 'class-variance-authority' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../../utils' @@ -34,9 +35,9 @@ export const switchVariants = cva(SWITCH_BASE_CLASSES, { }, }) -export type RawSwitchRef = React.ElementRef +export type RawSwitchRef = ElementRef export type RawSwitchProps = VariantProps & - React.ComponentPropsWithoutRef & { + ComponentPropsWithoutRef & { primaryRing?: boolean } diff --git a/packages/components/src/link/Link.tsx b/packages/components/src/link/Link.tsx index c7df05cf1..ee764907e 100644 --- a/packages/components/src/link/Link.tsx +++ b/packages/components/src/link/Link.tsx @@ -1,5 +1,6 @@ import { cva, VariantProps } from 'class-variance-authority' -import React from 'react' +import type { ComponentPropsWithoutRef } from 'react' +import { forwardRef } from 'react' import { Link as RouterLink } from 'react-router-dom' import { cn } from '../utils' @@ -20,8 +21,8 @@ const linkVariants = cva( }, ) -type BaseProps = React.ComponentPropsWithoutRef<'a'> & - Omit, 'to'> & +type BaseProps = ComponentPropsWithoutRef<'a'> & + Omit, 'to'> & VariantProps & { to?: string } @@ -30,7 +31,7 @@ export type LinkProps = { underline?: boolean } & BaseProps -export const Link = React.forwardRef( +export const Link = forwardRef( ({ underline = true, to, href, className, variant, ...props }, ref) => { const destination = { [to ? 'to' : 'href']: to ?? href, diff --git a/packages/components/src/navigation/NavigationMenu.tsx b/packages/components/src/navigation/NavigationMenu.tsx index e7380d81c..630310dae 100644 --- a/packages/components/src/navigation/NavigationMenu.tsx +++ b/packages/components/src/navigation/NavigationMenu.tsx @@ -1,18 +1,17 @@ -/* eslint-disable react/prop-types */ - import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu' import { cva } from 'class-variance-authority' import { ChevronDown } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import * as React from 'react' import { cn } from '../utils' type NavigationMenuProps = { viewPortProps?: Pick -} & React.ComponentPropsWithoutRef +} & ComponentPropsWithoutRef const NavigationMenu = React.forwardRef< - React.ElementRef, + ElementRef, NavigationMenuProps >(({ className, children, viewPortProps, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef & { + ElementRef, + ComponentPropsWithoutRef & { showChevron?: boolean } >(({ className, children, showChevron = true, ...props }, ref) => ( @@ -72,13 +71,13 @@ const NavigationMenuTrigger = React.forwardRef< NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName const NavigationMenuContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( +} & ComponentPropsWithoutRef const NavigationMenuViewport = React.forwardRef< - React.ElementRef, + ElementRef, NavigationMenuViewportProps >(({ className, containerClassName, align = 'left', ...props }, ref) => (
, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( +} & ComponentPropsWithoutRef const PopoverContent = React.forwardRef< - React.ElementRef, + ElementRef, PopoverContentProps >(({ className, align = 'center', sideOffset = 4, size, ...props }, ref) => ( @@ -27,7 +27,7 @@ const PopoverContent = React.forwardRef< align={align} sideOffset={sideOffset} className={cn( - 'z-50 rounded-md border border-edge bg-background p-4 shadow-md outline-none animate-in data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ', + 'z-50 rounded-md border border-edge bg-background p-4 shadow-md outline-none animate-in data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', POPOVER_SIZE_VARIANTS[size || 'default'] ?? POPOVER_SIZE_VARIANTS.default, className, )} diff --git a/packages/components/src/progress/ProgressBar.tsx b/packages/components/src/progress/ProgressBar.tsx index fe91317ae..8e00883fa 100644 --- a/packages/components/src/progress/ProgressBar.tsx +++ b/packages/components/src/progress/ProgressBar.tsx @@ -1,5 +1,6 @@ import * as ProgressPrimitive from '@radix-ui/react-progress' import { cva, VariantProps } from 'class-variance-authority' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React, { useMemo } from 'react' import { cn, cx } from '../utils' @@ -38,7 +39,7 @@ const progressVariants = cva('relative w-full overflow-hidden', { }, }) -type BaseProps = React.ComponentPropsWithoutRef & +type BaseProps = ComponentPropsWithoutRef & VariantProps // TODO: indeterminate state @@ -56,7 +57,7 @@ const safeValue = (value: number | null) => { } export const ProgressBar = React.forwardRef< - React.ElementRef, + ElementRef, ProgressBarProps >(({ className, value, variant, size, rounded, isIndeterminate, ...props }, ref) => { const adjustedValue = useMemo(() => safeValue(value ?? null), [value]) diff --git a/packages/components/src/progress/ProgressSpinner.tsx b/packages/components/src/progress/ProgressSpinner.tsx index c018f0f98..00f91ac77 100644 --- a/packages/components/src/progress/ProgressSpinner.tsx +++ b/packages/components/src/progress/ProgressSpinner.tsx @@ -1,4 +1,5 @@ import { cva, VariantProps } from 'class-variance-authority' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import { forwardRef } from 'react' import { useButtonContext } from '../button/context' @@ -28,10 +29,10 @@ const spinnerVariants = cva('animate-spin text-gray-200 dark:text-gray-600', { }) export type ProgressSpinnerProps = VariantProps & - React.ComponentPropsWithoutRef<'svg'> + ComponentPropsWithoutRef<'svg'> // TODO: make this component not indeterminate, i.e. take in progress... -export const ProgressSpinner = forwardRef, ProgressSpinnerProps>( +export const ProgressSpinner = forwardRef, ProgressSpinnerProps>( ({ className, variant, size, ...props }, ref) => { const buttonContext = useButtonContext() diff --git a/packages/components/src/radio/primitives.tsx b/packages/components/src/radio/primitives.tsx index 3df0d0c91..dee8751ea 100644 --- a/packages/components/src/radio/primitives.tsx +++ b/packages/components/src/radio/primitives.tsx @@ -1,15 +1,15 @@ -/* eslint-disable react/prop-types */ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group' import { Circle } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import * as React from 'react' import { cn } from '../utils' import { RadioGroupContext } from './context' import { RadioCardItem } from './RadioCardItem' -export type RadioGroupProps = React.ComponentPropsWithoutRef +export type RadioGroupProps = ComponentPropsWithoutRef export const RadioGroup = React.forwardRef< - React.ElementRef, + ElementRef, RadioGroupProps >(({ className, ...props }, ref) => { return ( @@ -21,11 +21,11 @@ export const RadioGroup = React.forwardRef< RadioGroup.displayName = RadioGroupPrimitive.Root.displayName export type RadioGroupItemProps = Omit< - React.ComponentPropsWithoutRef, + ComponentPropsWithoutRef, 'children' > const RadioGroupItem = React.forwardRef< - React.ElementRef, + ElementRef, RadioGroupItemProps >(({ className, ...props }, ref) => { return ( diff --git a/packages/components/src/scroll-area/ScrollArea.tsx b/packages/components/src/scroll-area/ScrollArea.tsx index d6c2ab791..25b983718 100644 --- a/packages/components/src/scroll-area/ScrollArea.tsx +++ b/packages/components/src/scroll-area/ScrollArea.tsx @@ -1,13 +1,12 @@ -/* eslint-disable react/prop-types */ - import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import * as React from 'react' import { cn } from '../utils' const ScrollArea = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, orientation = 'vertical', ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( { - onClose?.() - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [location], - ) + useEffect(() => { + onClose?.() + }, [location]) return ( diff --git a/packages/components/src/sheet/primitives.tsx b/packages/components/src/sheet/primitives.tsx index dc5fa1da2..915ab36e1 100644 --- a/packages/components/src/sheet/primitives.tsx +++ b/packages/components/src/sheet/primitives.tsx @@ -1,7 +1,7 @@ -/* eslint-disable react/prop-types */ import * as SheetPrimitive from '@radix-ui/react-dialog' import { cva, VariantProps } from 'class-variance-authority' import { X } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React, { ComponentProps } from 'react' import { cn } from '../utils' @@ -15,22 +15,21 @@ const SheetTrigger = (props: ComponentProps) => ( const SheetPortal = SheetPrimitive.Portal export type SheetOverlayProps = Omit< - React.ComponentPropsWithoutRef, + ComponentPropsWithoutRef, 'children' > -const SheetOverlay = React.forwardRef< - React.ElementRef, - SheetOverlayProps ->(({ className, ...props }, ref) => ( - -)) +const SheetOverlay = React.forwardRef, SheetOverlayProps>( + ({ className, ...props }, ref) => ( + + ), +) SheetOverlay.displayName = SheetPrimitive.Overlay.displayName const sheetVariants = cva( @@ -126,30 +125,29 @@ const sheetVariants = cva( export type SheetContentProps = { closeIcon?: boolean rounded?: boolean -} & React.ComponentPropsWithoutRef & +} & ComponentPropsWithoutRef & VariantProps -const SheetContent = React.forwardRef< - React.ElementRef, - SheetContentProps ->(({ position, size, className, children, closeIcon, rounded, ...props }, ref) => ( - - - - {children} - {closeIcon && ( - - - Close - - )} - - -)) +const SheetContent = React.forwardRef, SheetContentProps>( + ({ position, size, className, children, closeIcon, rounded, ...props }, ref) => ( + + + + {children} + {closeIcon && ( + + + Close + + )} + + + ), +) SheetContent.displayName = SheetPrimitive.Content.displayName const SheetHeader = ({ className, ...props }: React.HTMLAttributes) => ( @@ -169,8 +167,8 @@ const SheetFooter = ({ className, ...props }: React.HTMLAttributes, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef +const Slider = forwardRef< + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( = { export type TabsProps = { variant?: TabsVariant activeOnHover?: boolean -} & React.ComponentPropsWithoutRef -const Tabs = React.forwardRef, TabsProps>( +} & ComponentPropsWithoutRef +const Tabs = React.forwardRef, TabsProps>( ({ variant = 'default', activeOnHover, ...props }, ref) => ( @@ -26,8 +26,8 @@ const Tabs = React.forwardRef, TabsP Tabs.displayName = TabsPrimitive.Root.displayName const TabsList = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( {({ activeOnHover }) => ( @@ -46,8 +46,8 @@ const TabsList = React.forwardRef< TabsList.displayName = TabsPrimitive.List.displayName const TabsTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( {({ variant, activeOnHover }) => ( @@ -72,8 +72,8 @@ const TabsTrigger = React.forwardRef< TabsTrigger.displayName = TabsPrimitive.Trigger.displayName const TabsContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( & React.ComponentPropsWithoutRef +type BaseProps = VariantProps & ComponentPropsWithoutRef // TODO: truncate option export type HeadingProps = { as?: As @@ -39,7 +40,7 @@ export type HeadingProps = { bold?: boolean } & BaseProps -export const Heading = React.forwardRef, HeadingProps>( +export const Heading = React.forwardRef, HeadingProps>( ({ className, as, size, variant, bold, ...props }, ref) => { const Component = as ?? 'h1' return ( diff --git a/packages/components/src/text/Separator.tsx b/packages/components/src/text/Separator.tsx index cde4a94d6..a07c2f1cf 100644 --- a/packages/components/src/text/Separator.tsx +++ b/packages/components/src/text/Separator.tsx @@ -1,12 +1,12 @@ -/* eslint-disable react/prop-types */ import * as SeparatorPrimitive from '@radix-ui/react-separator' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import * as React from 'react' import { cn } from '../utils' const Separator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => ( +type StatisticProps = ComponentPropsWithoutRef<'dl'> const StatisticRoot = forwardRef( ({ className, ...props }, ref) => (
@@ -17,7 +17,7 @@ const StatisticRoot = forwardRef( ) StatisticRoot.displayName = 'Statistic' -type StatisticLabelProps = VariantProps & React.ComponentPropsWithoutRef<'dt'> +type StatisticLabelProps = VariantProps & ComponentPropsWithoutRef<'dt'> const StatisticLabel = forwardRef( ({ className, variant, size = 'sm', ...props }, ref) => (
( ) StatisticLabel.displayName = 'StatisticLabel' -type StatisticNumberProps = VariantProps & React.ComponentPropsWithoutRef<'dd'> +type StatisticNumberProps = VariantProps & ComponentPropsWithoutRef<'dd'> const StatisticNumber = forwardRef( ({ className, variant, size = 'lg', ...props }, ref) => (
& React.ComponentPropsWithoutRef<'p'> +type BaseProps = VariantProps & ComponentPropsWithoutRef<'p'> // FIXME: https://github.com/jsx-eslint/eslint-plugin-react/issues/3284 export type TextProps = { className?: string } & BaseProps -const Text = React.forwardRef, TextProps>( +const Text = React.forwardRef, TextProps>( ({ className, variant, size, ...props }, ref) => (

), diff --git a/packages/components/src/toast/primitives.tsx b/packages/components/src/toast/primitives.tsx index a672408a9..acaf02471 100644 --- a/packages/components/src/toast/primitives.tsx +++ b/packages/components/src/toast/primitives.tsx @@ -1,9 +1,7 @@ -/* eslint-disable react/prop-types */ -// FIXME: https://github.com/jsx-eslint/eslint-plugin-react/issues/3284 - import * as ToastPrimitives from '@radix-ui/react-toast' import { cva, VariantProps } from 'class-variance-authority' import { X } from 'lucide-react' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../utils' @@ -11,8 +9,8 @@ import { cn } from '../utils' const ToastProvider = ToastPrimitives.Provider const ToastViewport = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef & VariantProps + ElementRef, + ComponentPropsWithoutRef & VariantProps >(({ className, variant, ...props }, ref) => { return ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( , - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )) ToastTitle.displayName = ToastPrimitives.Title.displayName const ToastDescription = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( +type ToastProps = ComponentPropsWithoutRef type ToastActionElement = React.ReactElement diff --git a/packages/components/src/tooltip/primitives.tsx b/packages/components/src/tooltip/primitives.tsx index 76b862e54..0d349b0c1 100644 --- a/packages/components/src/tooltip/primitives.tsx +++ b/packages/components/src/tooltip/primitives.tsx @@ -1,5 +1,5 @@ -/* eslint-disable react/prop-types */ import * as TooltipPrimitive from '@radix-ui/react-tooltip' +import type { ComponentPropsWithoutRef, ElementRef } from 'react' import React from 'react' import { cn } from '../utils' @@ -8,10 +8,10 @@ const ToolTipProvider = TooltipPrimitive.Provider const Tooltip = TooltipPrimitive.Root as typeof TooltipPrimitive.Root & ToolTipSubComponents const TooltipTrigger = TooltipPrimitive.Trigger -export type ToolTipContentProps = React.ComponentPropsWithoutRef +export type ToolTipContentProps = ComponentPropsWithoutRef const TooltipContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef + ElementRef, + ComponentPropsWithoutRef >(({ className, sideOffset = 4, ...props }, ref) => ( & { subtle: string diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index 02fd2877e..3a80d00c2 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -2,8 +2,11 @@ "extends": "../../tsconfig.options.json", "references": [], "compilerOptions": { - "outDir": "./dist", - "jsx": "preserve", + "composite": true, + "skipLibCheck": true, + "emitDeclarationOnly": true, + "outDir": "dist", + "jsx": "react-jsx", "esModuleInterop": true, "module": "es2022", "moduleResolution": "Node" diff --git a/packages/i18n/package.json b/packages/i18n/package.json index b35cf5bf4..1fb3e11d9 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -7,6 +7,7 @@ ".": "./src/index.ts" }, "scripts": { + "check-types": "tsc -b tsconfig.json", "nuke": "rimraf node_modules" }, "license": "MIT", diff --git a/packages/i18n/src/LocaleProvider.tsx b/packages/i18n/src/LocaleProvider.tsx index bb3dd7bc6..fce44296a 100644 --- a/packages/i18n/src/LocaleProvider.tsx +++ b/packages/i18n/src/LocaleProvider.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Suspense, useEffect } from 'react' import { useTranslation } from 'react-i18next' diff --git a/packages/i18n/src/config.ts b/packages/i18n/src/config.ts index af4ad6881..cbb6d75bf 100644 --- a/packages/i18n/src/config.ts +++ b/packages/i18n/src/config.ts @@ -135,6 +135,7 @@ function parseMissingKeyHandler(missingKey: string) { return missingKey } catch (error) { + console.error('Failed to parse missing key', error) return missingKey } } diff --git a/packages/sdk/jest.config.ts b/packages/sdk/jest.config.ts new file mode 100644 index 000000000..91ee04537 --- /dev/null +++ b/packages/sdk/jest.config.ts @@ -0,0 +1,5 @@ +import type { Config } from 'jest' + +export default { + modulePathIgnorePatterns: ['/dist/'], +} satisfies Config diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 82ba70c0c..76cfec4aa 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -7,6 +7,7 @@ ".": "./src/index.ts" }, "scripts": { + "check-types": "tsc -b tsconfig.json", "test": "jest" }, "license": "MIT", diff --git a/packages/sdk/src/controllers/job-api.ts b/packages/sdk/src/controllers/job-api.ts index 24b4d588e..359e3cf04 100644 --- a/packages/sdk/src/controllers/job-api.ts +++ b/packages/sdk/src/controllers/job-api.ts @@ -1,5 +1,5 @@ import { APIBase } from '../base' -import { JobSchedulerConfig, Pageable, PersistedJob } from '../types' +import { JobSchedulerConfig, Pageable, PersistedJob, UpdateSchedulerConfig } from '../types' import { ClassQueryKeys, PagedQueryParams } from './types' import { createRouteURLHandler } from './utils' @@ -64,7 +64,7 @@ export class JobAPI extends APIBase { /** * Update the config for the job scheduler */ - async updateSchedulerConfig(config: JobSchedulerConfig): Promise { + async updateSchedulerConfig(config: UpdateSchedulerConfig): Promise { const { data: updatedConfig } = await this.axios.put( jobURL('scheduler-config'), config, diff --git a/packages/sdk/src/types/generated.ts b/packages/sdk/src/types/generated.ts index 9374b5fde..2e643ab6a 100644 --- a/packages/sdk/src/types/generated.ts +++ b/packages/sdk/src/types/generated.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-types */ // DO NOT MODIFY THIS FILE, IT IS AUTOGENERATED // CORE TYPE GENERATION diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index b0d414009..f78f81629 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -1,8 +1,12 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", - "skipLibCheck": true + "module": "ES2022", + "moduleResolution": "Node", + "composite": true, + "skipLibCheck": true, + "emitDeclarationOnly": true, + "outDir": "dist" }, "include": ["src"], "exclude": ["node_modules"] diff --git a/scripts/release/bump-version.sh b/scripts/release/bump-version.sh index b45f220f4..ff2ea72ab 100755 --- a/scripts/release/bump-version.sh +++ b/scripts/release/bump-version.sh @@ -38,7 +38,7 @@ if [[ $_TARGETS == *"core"* ]]; then done # Fix the formatting of the JSON files from the previous step - yarn prettify + yarn format fi # https://docs.gitmoji-changelog.dev/#/?id=%f0%9f%93%9a-how-it-works diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 012659477..5aac76b7b 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -7,6 +7,7 @@ "docs", "packages/**/*", "**/.eslintrc.js", + "**/.eslint.config.mjs", "**/*.config.js", "prettier.config.js" ], diff --git a/tsconfig.json b/tsconfig.json index 711c3af47..a96b7b306 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,6 +31,9 @@ } ], "compilerOptions": { - "module": "NodeNext" + "module": "NodeNext", + "composite": true, + "declaration": true, + "emitDeclarationOnly": true } } diff --git a/yarn.lock b/yarn.lock index d15667a7f..860fe5e2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,6 +30,19 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" +"@antfu/install-pkg@^0.4.0": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.4.1.tgz#d1d7f3be96ecdb41581629cafe8626d1748c0cf1" + integrity sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw== + dependencies: + package-manager-detector "^0.2.0" + tinyexec "^0.3.0" + +"@antfu/utils@^0.7.10": + version "0.7.10" + resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.10.tgz#ae829f170158e297a9b6a28f161a8e487d00814d" + integrity sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww== + "@aw-web-design/x-default-browser@1.4.126": version "1.4.126" resolved "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz" @@ -68,6 +81,14 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" +"@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" @@ -83,6 +104,11 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== +"@babel/compat-data@^7.25.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" + integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== + "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.18.9", "@babel/core@^7.19.3", "@babel/core@^7.20.0", "@babel/core@^7.23.0", "@babel/core@^7.23.2", "@babel/core@^7.23.5": version "7.23.9" resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz" @@ -146,6 +172,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6" + integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helpers" "^7.25.7" + "@babel/parser" "^7.25.8" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.8" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/generator@^7.18.7", "@babel/generator@^7.20.0", "@babel/generator@^7.20.5", "@babel/generator@^7.23.0", "@babel/generator@^7.23.6": version "7.23.6" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz" @@ -176,6 +223,16 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== + dependencies: + "@babel/types" "^7.25.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" @@ -227,6 +284,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== + dependencies: + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.9": version "7.23.10" resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz" @@ -385,6 +453,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" @@ -406,6 +482,16 @@ "@babel/helper-validator-identifier" "^7.24.7" "@babel/traverse" "^7.25.2" +"@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" @@ -495,6 +581,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" @@ -527,6 +621,11 @@ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz" integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" @@ -537,6 +636,11 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + "@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" @@ -547,6 +651,11 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz" integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== +"@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== + "@babel/helper-wrap-function@^7.22.20": version "7.22.20" resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" @@ -591,6 +700,14 @@ "@babel/template" "^7.25.0" "@babel/types" "^7.25.6" +"@babel/helpers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== + dependencies: + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" @@ -620,6 +737,16 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9": version "7.23.9" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz" @@ -637,6 +764,13 @@ dependencies: "@babel/types" "^7.25.6" +"@babel/parser@^7.25.7", "@babel/parser@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2" + integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ== + dependencies: + "@babel/types" "^7.25.8" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": version "7.24.4" resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz" @@ -2748,7 +2882,7 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4": version "7.23.9" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz" integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== @@ -2789,6 +2923,15 @@ "@babel/parser" "^7.25.0" "@babel/types" "^7.25.0" +"@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/traverse@^7.18.9", "@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.9": version "7.23.9" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz" @@ -2834,6 +2977,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@7.19.0": version "7.19.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz" @@ -2870,6 +3026,15 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" +"@babel/types@^7.25.7", "@babel/types@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1" + integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg== + dependencies: + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz" @@ -2880,10 +3045,42 @@ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@braintree/sanitize-url@^6.0.1": - version "6.0.4" - resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz" - integrity sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A== +"@braintree/sanitize-url@^7.0.1": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz#048e48aab4f1460e3121e22aa62459d16653dc85" + integrity sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg== + +"@chevrotain/cst-dts-gen@11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz#5e0863cc57dc45e204ccfee6303225d15d9d4783" + integrity sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ== + dependencies: + "@chevrotain/gast" "11.0.3" + "@chevrotain/types" "11.0.3" + lodash-es "4.17.21" + +"@chevrotain/gast@11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@chevrotain/gast/-/gast-11.0.3.tgz#e84d8880323fe8cbe792ef69ce3ffd43a936e818" + integrity sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q== + dependencies: + "@chevrotain/types" "11.0.3" + lodash-es "4.17.21" + +"@chevrotain/regexp-to-ast@11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz#11429a81c74a8e6a829271ce02fc66166d56dcdb" + integrity sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA== + +"@chevrotain/types@11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@chevrotain/types/-/types-11.0.3.tgz#f8a03914f7b937f594f56eb89312b3b8f1c91848" + integrity sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ== + +"@chevrotain/utils@11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@chevrotain/utils/-/utils-11.0.3.tgz#e39999307b102cff3645ec4f5b3665f5297a2224" + integrity sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ== "@colors/colors@1.5.0": version "1.5.0" @@ -2940,6 +3137,28 @@ dependencies: "@types/hammerjs" "^2.0.36" +"@emnapi/core@^1.1.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.3.1.tgz#9c62d185372d1bddc94682b87f376e03dfac3f16" + integrity sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog== + dependencies: + "@emnapi/wasi-threads" "1.0.1" + tslib "^2.4.0" + +"@emnapi/runtime@^1.1.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" + integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz#d7ae71fd2166b1c916c6cd2d0df2ef565a2e1a5b" + integrity sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw== + dependencies: + tslib "^2.4.0" + "@emoji-mart/react@^1.1.1": version "1.1.1" resolved "https://registry.npmjs.org/@emoji-mart/react/-/react-1.1.1.tgz" @@ -3204,11 +3423,30 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" + integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== + +"@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== +"@eslint/config-array@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d" + integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== + dependencies: + "@eslint/object-schema" "^2.1.4" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/core@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.7.0.tgz#a1bb4b6a4e742a5ff1894b7ee76fbf884ec72bd3" + integrity sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw== + "@eslint/eslintrc@^2.1.4": version "2.1.4" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" @@ -3224,11 +3462,43 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" + integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + "@eslint/js@8.56.0": version "8.56.0" resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@9.13.0", "@eslint/js@^9.13.0": + version "9.13.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.13.0.tgz#c5f89bcd57eb54d5d4fa8b77693e9c28dc97e547" + integrity sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA== + +"@eslint/object-schema@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" + integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== + +"@eslint/plugin-kit@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.1.tgz#cd14fe2db79fa639839dfef4105e83bad1814482" + integrity sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw== + dependencies: + levn "^0.4.1" + "@expo/bunyan@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz" @@ -3578,6 +3848,14 @@ dependencies: "@floating-ui/utils" "^0.2.1" +"@floating-ui/dom@^1.0.0": + version "1.6.11" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.11.tgz#8631857838d34ee5712339eb7cbdfb8ad34da723" + integrity sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.8" + "@floating-ui/dom@^1.6.1": version "1.6.1" resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz" @@ -3593,11 +3871,39 @@ dependencies: "@floating-ui/dom" "^1.6.1" +"@floating-ui/react-dom@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.2.tgz#a1349bbf6a0e5cb5ded55d023766f20a4d439a31" + integrity sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/react@^0.26.16": + version "0.26.25" + resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.25.tgz#cf4c8a2b89fab1a71712d15e6551df3bfbd2ea1d" + integrity sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A== + dependencies: + "@floating-ui/react-dom" "^2.1.2" + "@floating-ui/utils" "^0.2.8" + tabbable "^6.0.0" + "@floating-ui/utils@^0.2.1": version "0.2.1" resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz" integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== +"@floating-ui/utils@^0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" + integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== + +"@formatjs/intl-localematcher@^0.5.4": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.5.tgz#b24f100f30658104d5f6db35b0b8d97235298681" + integrity sha512-t5tOGMgZ/i5+ALl2/offNqAQq/lfUnKLEw0mXQI4N4bqpedhrSE+fyKLpwnd22sK0dif6AV+ufQcTsKShB9J1g== + dependencies: + tslib "^2.7.0" + "@gar/promisify@^1.0.1": version "1.1.3" resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" @@ -3620,7 +3926,7 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@headlessui/react@^1.7.17", "@headlessui/react@^1.7.18": +"@headlessui/react@^1.7.18": version "1.7.18" resolved "https://registry.npmjs.org/@headlessui/react/-/react-1.7.18.tgz" integrity sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ== @@ -3628,6 +3934,16 @@ "@tanstack/react-virtual" "^3.0.0-beta.60" client-only "^0.0.1" +"@headlessui/react@^2.1.2": + version "2.1.10" + resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-2.1.10.tgz#99cd4ca6464129726af94059bce84f931698571e" + integrity sha512-6mLa2fjMDAFQi+/R10B+zU3edsUk/MDtENB2zHho0lqKU1uzhAfJLUduWds4nCo8wbl3vULtC5rJfZAQ1yqIng== + dependencies: + "@floating-ui/react" "^0.26.16" + "@react-aria/focus" "^3.17.1" + "@react-aria/interactions" "^3.21.3" + "@tanstack/react-virtual" "^3.8.1" + "@hookform/resolvers@^3.3.2": version "3.3.4" resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.4.tgz" @@ -3638,6 +3954,19 @@ resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.9.0.tgz" integrity sha512-bU0Gr4EepJ/EQsH/IwEzYLsT/PEj5C0ynLQ4m+GSHS+xKH4TfSelhluTgOaoc4kA5s7eCsQbM4wvZLzELmWzUg== +"@humanfs/core@^0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.0.tgz#08db7a8c73bb07673d9ebd925f2dad746411fcec" + integrity sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw== + +"@humanfs/node@^0.16.5": + version "0.16.5" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.5.tgz#a9febb7e7ad2aff65890fdc630938f8d20aa84ba" + integrity sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg== + dependencies: + "@humanfs/core" "^0.19.0" + "@humanwhocodes/retry" "^0.3.0" + "@humanwhocodes/config-array@^0.11.13": version "0.11.14" resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" @@ -3657,6 +3986,34 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== +"@humanwhocodes/retry@^0.3.0", "@humanwhocodes/retry@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + +"@iconify/types@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" + integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== + +"@iconify/utils@^2.1.32": + version "2.1.33" + resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.1.33.tgz#cbf7242a52fd0ec58c42d37d28e4406b5327e8c0" + integrity sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw== + dependencies: + "@antfu/install-pkg" "^0.4.0" + "@antfu/utils" "^0.7.10" + "@iconify/types" "^2.0.0" + debug "^4.3.6" + kolorist "^1.8.0" + local-pkg "^0.5.0" + mlly "^1.7.1" + "@icons-pack/react-simple-icons@=9.1.0": version "9.1.0" resolved "https://registry.npmjs.org/@icons-pack/react-simple-icons/-/react-simple-icons-9.1.0.tgz" @@ -3674,6 +4031,11 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + "@isaacs/ttlcache@^1.4.1": version "1.4.1" resolved "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz" @@ -3996,30 +4358,114 @@ resolved "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== -"@mdx-js/mdx@^2.2.1", "@mdx-js/mdx@^2.3.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz" - integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA== +"@lerna/create@8.1.8": + version "8.1.8" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-8.1.8.tgz#be70d620f1d6b71e9d6b9d20049b784168b6ca19" + integrity sha512-wi72R01tgjBjzG2kjRyTHl4yCTKDfDMIXRyKz9E/FBa9SkFvUOAE4bdyY9MhEsRZmSWL7+CYE8Flv/HScRpBbA== + dependencies: + "@npmcli/arborist" "7.5.4" + "@npmcli/package-json" "5.2.0" + "@npmcli/run-script" "8.1.0" + "@nx/devkit" ">=17.1.2 < 20" + "@octokit/plugin-enterprise-rest" "6.0.1" + "@octokit/rest" "19.0.11" + aproba "2.0.0" + byte-size "8.1.1" + chalk "4.1.0" + clone-deep "4.0.1" + cmd-shim "6.0.3" + color-support "1.1.3" + columnify "1.6.0" + console-control-strings "^1.1.0" + conventional-changelog-core "5.0.1" + conventional-recommended-bump "7.0.1" + cosmiconfig "^8.2.0" + dedent "1.5.3" + execa "5.0.0" + fs-extra "^11.2.0" + get-stream "6.0.0" + git-url-parse "14.0.0" + glob-parent "6.0.2" + globby "11.1.0" + graceful-fs "4.2.11" + has-unicode "2.0.1" + ini "^1.3.8" + init-package-json "6.0.3" + inquirer "^8.2.4" + is-ci "3.0.1" + is-stream "2.0.0" + js-yaml "4.1.0" + libnpmpublish "9.0.9" + load-json-file "6.2.0" + lodash "^4.17.21" + make-dir "4.0.0" + minimatch "3.0.5" + multimatch "5.0.0" + node-fetch "2.6.7" + npm-package-arg "11.0.2" + npm-packlist "8.0.2" + npm-registry-fetch "^17.1.0" + nx ">=17.1.2 < 20" + p-map "4.0.0" + p-map-series "2.1.0" + p-queue "6.6.2" + p-reduce "^2.1.0" + pacote "^18.0.6" + pify "5.0.0" + read-cmd-shim "4.0.0" + resolve-from "5.0.0" + rimraf "^4.4.1" + semver "^7.3.4" + set-blocking "^2.0.0" + signal-exit "3.0.7" + slash "^3.0.0" + ssri "^10.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" + strong-log-transformer "2.1.0" + tar "6.2.1" + temp-dir "1.0.0" + upath "2.0.1" + uuid "^10.0.0" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "5.0.1" + wide-align "1.1.5" + write-file-atomic "5.0.1" + write-pkg "4.0.0" + yargs "17.7.2" + yargs-parser "21.1.1" + +"@mdx-js/mdx@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3" + integrity sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw== dependencies: + "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" "@types/mdx" "^2.0.0" - estree-util-build-jsx "^2.0.0" - estree-util-is-identifier-name "^2.0.0" - estree-util-to-js "^1.1.0" + collapse-white-space "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-util-scope "^1.0.0" estree-walker "^3.0.0" - hast-util-to-estree "^2.0.0" - markdown-extensions "^1.0.0" - periscopic "^3.0.0" - remark-mdx "^2.0.0" - remark-parse "^10.0.0" - remark-rehype "^10.0.0" - unified "^10.0.0" - unist-util-position-from-estree "^1.0.0" - unist-util-stringify-position "^3.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - -"@mdx-js/react@^2.1.5", "@mdx-js/react@^2.2.1", "@mdx-js/react@^2.3.0": + hast-util-to-jsx-runtime "^2.0.0" + markdown-extensions "^2.0.0" + recma-build-jsx "^1.0.0" + recma-jsx "^1.0.0" + recma-stringify "^1.0.0" + rehype-recma "^1.0.0" + remark-mdx "^3.0.0" + remark-parse "^11.0.0" + remark-rehype "^11.0.0" + source-map "^0.7.0" + unified "^11.0.0" + unist-util-position-from-estree "^2.0.0" + unist-util-stringify-position "^4.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +"@mdx-js/react@^2.1.5": version "2.3.0" resolved "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz" integrity sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g== @@ -4027,6 +4473,20 @@ "@types/mdx" "^2.0.0" "@types/react" ">=16" +"@mdx-js/react@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" + integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== + dependencies: + "@types/mdx" "^2.0.0" + +"@mermaid-js/parser@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@mermaid-js/parser/-/parser-0.3.0.tgz#7a28714599f692f93df130b299fa1aadc9f9c8ab" + integrity sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA== + dependencies: + langium "3.0.0" + "@napi-rs/simple-git-android-arm-eabi@0.1.16": version "0.1.16" resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.16.tgz#36b752f84a7e75a9dada3d8b307817f0b015a57d" @@ -4099,6 +4559,15 @@ "@napi-rs/simple-git-win32-arm64-msvc" "0.1.16" "@napi-rs/simple-git-win32-x64-msvc" "0.1.16" +"@napi-rs/wasm-runtime@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz#d27788176f250d86e498081e3c5ff48a17606918" + integrity sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ== + dependencies: + "@emnapi/core" "^1.1.0" + "@emnapi/runtime" "^1.1.0" + "@tybys/wasm-util" "^0.9.0" + "@ndelangen/get-tarball@^3.0.7": version "3.0.9" resolved "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz" @@ -4108,55 +4577,62 @@ pump "^3.0.0" tar-fs "^2.1.1" -"@next/env@13.5.6": - version "13.5.6" - resolved "https://registry.npmjs.org/@next/env/-/env-13.5.6.tgz" - integrity sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw== - -"@next/swc-darwin-arm64@13.5.6": - version "13.5.6" - resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz" - integrity sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA== - -"@next/swc-darwin-x64@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz#9c72ee31cc356cb65ce6860b658d807ff39f1578" - integrity sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA== - -"@next/swc-linux-arm64-gnu@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz#59f5f66155e85380ffa26ee3d95b687a770cfeab" - integrity sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg== - -"@next/swc-linux-arm64-musl@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz#f012518228017052736a87d69bae73e587c76ce2" - integrity sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q== - -"@next/swc-linux-x64-gnu@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz#339b867a7e9e7ee727a700b496b269033d820df4" - integrity sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw== - -"@next/swc-linux-x64-musl@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz#ae0ae84d058df758675830bcf70ca1846f1028f2" - integrity sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ== - -"@next/swc-win32-arm64-msvc@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz#a5cc0c16920485a929a17495064671374fdbc661" - integrity sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg== - -"@next/swc-win32-ia32-msvc@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz#6a2409b84a2cbf34bf92fe714896455efb4191e4" - integrity sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg== - -"@next/swc-win32-x64-msvc@13.5.6": - version "13.5.6" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz#4a3e2a206251abc729339ba85f60bc0433c2865d" - integrity sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ== +"@next/env@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.15.tgz#06d984e37e670d93ddd6790af1844aeb935f332f" + integrity sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ== + +"@next/eslint-plugin-next@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.15.tgz#796ae942a95b859e1add58e5b7ae78cfd55d59bb" + integrity sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ== + dependencies: + glob "10.3.10" + +"@next/swc-darwin-arm64@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.15.tgz#6386d585f39a1c490c60b72b1f76612ba4434347" + integrity sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA== + +"@next/swc-darwin-x64@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.15.tgz#b7baeedc6a28f7545ad2bc55adbab25f7b45cb89" + integrity sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg== + +"@next/swc-linux-arm64-gnu@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.15.tgz#fa13c59d3222f70fb4cb3544ac750db2c6e34d02" + integrity sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw== + +"@next/swc-linux-arm64-musl@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.15.tgz#30e45b71831d9a6d6d18d7ac7d611a8d646a17f9" + integrity sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ== + +"@next/swc-linux-x64-gnu@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.15.tgz#5065db17fc86f935ad117483f21f812dc1b39254" + integrity sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA== + +"@next/swc-linux-x64-musl@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.15.tgz#3c4a4568d8be7373a820f7576cf33388b5dab47e" + integrity sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ== + +"@next/swc-win32-arm64-msvc@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.15.tgz#fb812cc4ca0042868e32a6a021da91943bb08b98" + integrity sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g== + +"@next/swc-win32-ia32-msvc@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.15.tgz#ec26e6169354f8ced240c1427be7fd485c5df898" + integrity sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ== + +"@next/swc-win32-x64-msvc@14.2.15": + version "14.2.15" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.15.tgz#18d68697002b282006771f8d92d79ade9efd35c4" + integrity sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -4179,6 +4655,63 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nolyfill/is-core-module@1.0.39": + version "1.0.39" + resolved "https://registry.yarnpkg.com/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e" + integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== + +"@npmcli/agent@^2.0.0": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@npmcli/agent/-/agent-2.2.2.tgz#967604918e62f620a648c7975461c9c9e74fc5d5" + integrity sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og== + dependencies: + agent-base "^7.1.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.1" + lru-cache "^10.0.1" + socks-proxy-agent "^8.0.3" + +"@npmcli/arborist@7.5.4": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-7.5.4.tgz#3dd9e531d6464ef6715e964c188e0880c471ac9b" + integrity sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/fs" "^3.1.1" + "@npmcli/installed-package-contents" "^2.1.0" + "@npmcli/map-workspaces" "^3.0.2" + "@npmcli/metavuln-calculator" "^7.1.1" + "@npmcli/name-from-folder" "^2.0.0" + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/package-json" "^5.1.0" + "@npmcli/query" "^3.1.0" + "@npmcli/redact" "^2.0.0" + "@npmcli/run-script" "^8.1.0" + bin-links "^4.0.4" + cacache "^18.0.3" + common-ancestor-path "^1.0.1" + hosted-git-info "^7.0.2" + json-parse-even-better-errors "^3.0.2" + json-stringify-nice "^1.1.4" + lru-cache "^10.2.2" + minimatch "^9.0.4" + nopt "^7.2.1" + npm-install-checks "^6.2.0" + npm-package-arg "^11.0.2" + npm-pick-manifest "^9.0.1" + npm-registry-fetch "^17.0.1" + pacote "^18.0.6" + parse-conflict-json "^3.0.0" + proc-log "^4.2.0" + proggy "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^3.0.1" + read-package-json-fast "^3.0.2" + semver "^7.3.7" + ssri "^10.0.6" + treeverse "^3.0.0" + walk-up-path "^3.0.1" + "@npmcli/fs@^1.0.0": version "1.1.1" resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" @@ -4187,6 +4720,57 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" +"@npmcli/fs@^3.1.0", "@npmcli/fs@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" + integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== + dependencies: + semver "^7.3.5" + +"@npmcli/git@^5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-5.0.8.tgz#8ba3ff8724192d9ccb2735a2aa5380a992c5d3d1" + integrity sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ== + dependencies: + "@npmcli/promise-spawn" "^7.0.0" + ini "^4.1.3" + lru-cache "^10.0.1" + npm-pick-manifest "^9.0.0" + proc-log "^4.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^4.0.0" + +"@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" + integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== + dependencies: + npm-bundled "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +"@npmcli/map-workspaces@^3.0.2": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz#27dc06c20c35ef01e45a08909cab9cb3da08cea6" + integrity sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA== + dependencies: + "@npmcli/name-from-folder" "^2.0.0" + glob "^10.2.2" + minimatch "^9.0.0" + read-package-json-fast "^3.0.0" + +"@npmcli/metavuln-calculator@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz#4d3b6c3192f72bc8ad59476de0da939c33877fcf" + integrity sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g== + dependencies: + cacache "^18.0.0" + json-parse-even-better-errors "^3.0.0" + pacote "^18.0.0" + proc-log "^4.1.0" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": version "1.1.2" resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" @@ -4195,6 +4779,269 @@ mkdirp "^1.0.4" rimraf "^3.0.2" +"@npmcli/name-from-folder@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" + integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== + +"@npmcli/node-gyp@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" + integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== + +"@npmcli/package-json@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-5.2.0.tgz#a1429d3111c10044c7efbfb0fce9f2c501f4cfad" + integrity sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ== + dependencies: + "@npmcli/git" "^5.0.0" + glob "^10.2.2" + hosted-git-info "^7.0.0" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^6.0.0" + proc-log "^4.0.0" + semver "^7.5.3" + +"@npmcli/package-json@^5.0.0", "@npmcli/package-json@^5.1.0": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-5.2.1.tgz#df69477b1023b81ff8503f2b9db4db4faea567ed" + integrity sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ== + dependencies: + "@npmcli/git" "^5.0.0" + glob "^10.2.2" + hosted-git-info "^7.0.0" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^6.0.0" + proc-log "^4.0.0" + semver "^7.5.3" + +"@npmcli/promise-spawn@^7.0.0": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz#1d53d34ffeb5d151bfa8ec661bcccda8bbdfd532" + integrity sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ== + dependencies: + which "^4.0.0" + +"@npmcli/query@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.1.0.tgz#bc202c59e122a06cf8acab91c795edda2cdad42c" + integrity sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ== + dependencies: + postcss-selector-parser "^6.0.10" + +"@npmcli/redact@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/redact/-/redact-2.0.1.tgz#95432fd566e63b35c04494621767a4312c316762" + integrity sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw== + +"@npmcli/run-script@8.1.0", "@npmcli/run-script@^8.0.0", "@npmcli/run-script@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-8.1.0.tgz#a563e5e29b1ca4e648a6b1bbbfe7220b4bfe39fc" + integrity sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg== + dependencies: + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/package-json" "^5.0.0" + "@npmcli/promise-spawn" "^7.0.0" + node-gyp "^10.0.0" + proc-log "^4.0.0" + which "^4.0.0" + +"@nrwl/devkit@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.8.6.tgz#1910190afd7d0e4464161813b27960e4349d7d8f" + integrity sha512-F6+4Lv2hSS+02H7aqa+jYIHzbmip7082DF9/NkNtUAEqLUi8STsbung0nchaR1Tjg20E+BZujEsZgTC3GJegLQ== + dependencies: + "@nx/devkit" "19.8.6" + +"@nrwl/tao@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.8.6.tgz#b3e606d5eca7ea76c6333543ea02456c1e54781f" + integrity sha512-ibxGL7aDpNARgPegXQ8HAocemZ1WvZE5+NHkXDs7jSmnSt9qaXIKE1dXotDTqp3TqCirlje1/RMMTqzCl2oExQ== + dependencies: + nx "19.8.6" + tslib "^2.3.0" + +"@nx/devkit@19.8.6", "@nx/devkit@>=17.1.2 < 20": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.8.6.tgz#c426e0134a5ec796eb363dc277ec77b86a8d3c96" + integrity sha512-8NAdnqwzki3srj2sAImWQ9cQiq79NqwqVqx/XOdg0XHR6siugn+sAAXWpM3xJVdv4uRbcyz7BO1GWYxMW0AOYA== + dependencies: + "@nrwl/devkit" "19.8.6" + ejs "^3.1.7" + enquirer "~2.3.6" + ignore "^5.0.4" + minimatch "9.0.3" + semver "^7.5.3" + tmp "~0.2.1" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@nx/nx-darwin-arm64@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.8.6.tgz#e1e5611e6ede8bcdcbaa8847599c25f0cf402fb1" + integrity sha512-lzFV07gUgvy07lPtRFJFhlQdcR0qNTPPq7/ZB+3alwUIDdAn706ZVzf6apCJWOBIgNFKbAQiy/du0zmuKPSzXA== + +"@nx/nx-darwin-x64@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.8.6.tgz#b16e26fc9c1637d09d6a100d27c60c74d312fc17" + integrity sha512-1ZmOXwJva14jCcTHM8jmsEBp33CCLng/tXK8/554ACwL3Kk4kbtdLfUjM/VEMZ3v3c1D7cJWxyYfTav5meumxg== + +"@nx/nx-freebsd-x64@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.8.6.tgz#7ab548a6a82bd7a169cdd0d5ae9d2f108ebdeec6" + integrity sha512-1a681ZqSS05H1pC6JG3ae0BLhnxGtISkCigl9R6W5NeyFLBgP+Y4BLh+H9cCAlKzzLwiKWWRmhbxvjpnlhzB+w== + +"@nx/nx-linux-arm-gnueabihf@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.8.6.tgz#55de11d6eb19769a9989bc2b37e1bd871a28a3fe" + integrity sha512-qGztEgbEjMsFr9IjedQXJNmXLHCpSldW/sEtXoVZ8tXIzGr86GXbv+mLdZSZHrlJaNOq0y2K6XpVd2UH4ndwnQ== + +"@nx/nx-linux-arm64-gnu@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.8.6.tgz#10237b5a0ee722c49b45f01bb99e58bca7ea591f" + integrity sha512-rSwsEISx5odXkg1kjXBZ6kjXCnM3fnAA+8YU1muRr7PmhUfM/zuCnNYcwmjtCRc7rRYBKzxmyE3T95fGK/NOIg== + +"@nx/nx-linux-arm64-musl@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.8.6.tgz#f5182bed44717ca0420ab5046882f5fbb0148efc" + integrity sha512-7rW21+uFj5KJx3z/HXhl6PUcp8+mQ8r/nUGbS59HjmMdVMZDd7PZKUVJF9Tu1ESproOCYSeJbOVk4WGiHtbF9Q== + +"@nx/nx-linux-x64-gnu@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.8.6.tgz#8aafaab742b8c2c923aef62ddb6a2df35656a670" + integrity sha512-2/5WDr2wwWyvbqlB//ICWS5q3rRF4GyNX2NOp/tVkmh1RfDhH0ZAVZ/oJ7QvE1mKLQh0AM7bQBHsF5ikmMhUXw== + +"@nx/nx-linux-x64-musl@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.8.6.tgz#e222bd6372032da1f77d3545fc3bf43cd1897426" + integrity sha512-G3UIMk+C090WR/btOaJCrBgRa7gjTj6ZBHinFceO7rii8r3D1SiN5cW1Njd1pV2K7IjJaSTuRtd9c1eLcIj9rQ== + +"@nx/nx-win32-arm64-msvc@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.8.6.tgz#9119d82337b07bb1b4b2522817028b623ce9b414" + integrity sha512-8dfUstJkN2ChbIcj3TfcHgWyJy0b9za+3gU9IvZm82P9EeDCjEGoE/ld9VALGa+2UnX2Ve5BqlWGTD8BqYTeCA== + +"@nx/nx-win32-x64-msvc@19.8.6": + version "19.8.6" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.8.6.tgz#10faa8b170f7acdd5d93d2d881e9c1df8e88a618" + integrity sha512-kbWDZGD9kwP60UykTnfMR1hOUMDK0evXb5EnF4MAf4o18+b5KSzHyaL2TyNl+3s6lYdtZ2kYC679R+eJErKG8w== + +"@octokit/auth-token@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db" + integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== + +"@octokit/core@^4.2.1": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.4.tgz#d8769ec2b43ff37cc3ea89ec4681a20ba58ef907" + integrity sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ== + 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" "^9.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^7.0.0": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.6.tgz#791f65d3937555141fb6c08f91d618a7d645f1e2" + integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== + dependencies: + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^5.0.0": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.6.tgz#9eac411ac4353ccc5d3fca7d76736e6888c5d248" + integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^18.0.0": + version "18.1.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.1.1.tgz#09bdfdabfd8e16d16324326da5148010d765f009" + integrity sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw== + +"@octokit/plugin-enterprise-rest@6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== + +"@octokit/plugin-paginate-rest@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz#f86456a7a1fe9e58fec6385a85cf1b34072341f8" + integrity sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ== + dependencies: + "@octokit/tsconfig" "^1.0.2" + "@octokit/types" "^9.2.3" + +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + +"@octokit/plugin-rest-endpoint-methods@^7.1.2": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz#37a84b171a6cb6658816c82c4082ac3512021797" + integrity sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA== + dependencies: + "@octokit/types" "^10.0.0" + +"@octokit/request-error@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" + integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== + dependencies: + "@octokit/types" "^9.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^6.0.0": + version "6.2.8" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.8.tgz#aaf480b32ab2b210e9dadd8271d187c93171d8eb" + integrity sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw== + dependencies: + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/rest@19.0.11": + version "19.0.11" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.11.tgz#2ae01634fed4bd1fca5b642767205ed3fd36177c" + integrity sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw== + dependencies: + "@octokit/core" "^4.2.1" + "@octokit/plugin-paginate-rest" "^6.1.2" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^7.1.2" + +"@octokit/tsconfig@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@octokit/tsconfig/-/tsconfig-1.0.2.tgz#59b024d6f3c0ed82f00d08ead5b3750469125af7" + integrity sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA== + +"@octokit/types@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-10.0.0.tgz#7ee19c464ea4ada306c43f1a45d444000f419a4a" + integrity sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg== + dependencies: + "@octokit/openapi-types" "^18.0.0" + +"@octokit/types@^9.0.0", "@octokit/types@^9.2.3": + version "9.3.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.3.2.tgz#3f5f89903b69f6a2d196d78ec35f888c0013cac5" + integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== + dependencies: + "@octokit/openapi-types" "^18.0.0" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" @@ -4220,11 +5067,6 @@ schema-utils "^3.0.0" source-map "^0.7.3" -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - "@radix-ui/number@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz" @@ -5204,6 +6046,45 @@ dependencies: "@babel/runtime" "^7.13.10" +"@react-aria/focus@^3.17.1": + version "3.18.4" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.18.4.tgz#a6e95896bc8680d1b5bcd855e983fc2c195a1a55" + integrity sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA== + dependencies: + "@react-aria/interactions" "^3.22.4" + "@react-aria/utils" "^3.25.3" + "@react-types/shared" "^3.25.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/interactions@^3.21.3", "@react-aria/interactions@^3.22.4": + version "3.22.4" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.22.4.tgz#88ed61ab6a485f869bc1f65ae6688d48ca96064b" + integrity sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww== + dependencies: + "@react-aria/ssr" "^3.9.6" + "@react-aria/utils" "^3.25.3" + "@react-types/shared" "^3.25.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.9.6": + version "3.9.6" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.6.tgz#a9e8b351acdc8238f2b5215b0ce904636c6ea690" + integrity sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@^3.25.3": + version "3.25.3" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.25.3.tgz#cad9bffc07b045cdc283df2cb65c18747acbf76d" + integrity sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA== + dependencies: + "@react-aria/ssr" "^3.9.6" + "@react-stately/utils" "^3.10.4" + "@react-types/shared" "^3.25.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + "@react-native-async-storage/async-storage@1.21.0": version "1.21.0" resolved "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz" @@ -5564,6 +6445,18 @@ dependencies: nanoid "^3.1.23" +"@react-stately/utils@^3.10.4": + version "3.10.4" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.10.4.tgz#310663a834b67048d305e1680ed258130092fe51" + integrity sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-types/shared@^3.25.0": + version "3.25.0" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.25.0.tgz#7223baf72256e918a3c29081bb1ecc6fad4fbf58" + integrity sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ== + "@remix-run/router@1.16.0": version "1.16.0" resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz" @@ -5644,6 +6537,16 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.2.tgz#5d2d9dc96b436469dc74ef93de069b14fb12aace" integrity sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q== +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@rushstack/eslint-patch@^1.3.3": + version "1.10.4" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1" + integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== + "@segment/loosely-validate-event@^2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz" @@ -5652,6 +6555,57 @@ component-type "^1.2.1" join-component "^1.1.0" +"@shikijs/core@1.22.0": + version "1.22.0" + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.22.0.tgz#74e5d4485e5f7afa85109e322b42e400686f92bb" + integrity sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q== + dependencies: + "@shikijs/engine-javascript" "1.22.0" + "@shikijs/engine-oniguruma" "1.22.0" + "@shikijs/types" "1.22.0" + "@shikijs/vscode-textmate" "^9.3.0" + "@types/hast" "^3.0.4" + hast-util-to-html "^9.0.3" + +"@shikijs/engine-javascript@1.22.0": + version "1.22.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-javascript/-/engine-javascript-1.22.0.tgz#2e5db29f0421755492f5279f8224ef7a7f907a29" + integrity sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw== + dependencies: + "@shikijs/types" "1.22.0" + "@shikijs/vscode-textmate" "^9.3.0" + oniguruma-to-js "0.4.3" + +"@shikijs/engine-oniguruma@1.22.0": + version "1.22.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.0.tgz#74c661fac4cd1f08f2c09b5d6e2fd2a6720d0401" + integrity sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw== + dependencies: + "@shikijs/types" "1.22.0" + "@shikijs/vscode-textmate" "^9.3.0" + +"@shikijs/twoslash@^1.0.0": + version "1.22.0" + resolved "https://registry.yarnpkg.com/@shikijs/twoslash/-/twoslash-1.22.0.tgz#8f7f22f0273148343831246667f4a6647cc7e6f6" + integrity sha512-r5F/x4GTh18XzhAREehgT9lCDFZlISBSIsOFZQQaqjiOLG81PIqJN1I1D6XY58UN9OJt+3mffuKq19K4FOJKJA== + dependencies: + "@shikijs/core" "1.22.0" + "@shikijs/types" "1.22.0" + twoslash "^0.2.12" + +"@shikijs/types@1.22.0": + version "1.22.0" + resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-1.22.0.tgz#d2a572381395c9308b472c8199b8e0289753b9ad" + integrity sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww== + dependencies: + "@shikijs/vscode-textmate" "^9.3.0" + "@types/hast" "^3.0.4" + +"@shikijs/vscode-textmate@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz#b2f1776e488c1d6c2b6cd129bab62f71bbc9c7ab" + integrity sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA== + "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz" @@ -5669,27 +6623,56 @@ resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/chunkify@^0.2.0": - version "0.2.0" - resolved "https://registry.npmjs.org/@sindresorhus/chunkify/-/chunkify-0.2.0.tgz" - integrity sha512-mOAiwqu+bIIkNFDCXFJxZEmF9p9WHfSBbpLLmgysYnNkEs7aA0/AvU9+6zLHFqI7JnqdqwAuWu8CbGwGIszRdw== - -"@sindresorhus/df@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz" - integrity sha512-1Hyp7NQnD/u4DSxR2DGW78TF9k7R0wZ8ev0BpMAIzA6yTQSHqNb5wTuvtcPYf4FWbVse2rW7RgDsyL8ua2vXHw== - -"@sindresorhus/df@^3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@sindresorhus/df/-/df-3.1.1.tgz" - integrity sha512-SME/vtXaJcnQ/HpeV6P82Egy+jThn11IKfwW8+/XVoRD0rmPHVTeKMtww1oWdVnMykzVPjmrDN9S8NBndPEHCQ== +"@sigstore/bundle@^2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-2.3.2.tgz#ad4dbb95d665405fd4a7a02c8a073dbd01e4e95e" + integrity sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA== dependencies: - execa "^2.0.1" + "@sigstore/protobuf-specs" "^0.3.2" + +"@sigstore/core@^1.0.0", "@sigstore/core@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@sigstore/core/-/core-1.1.0.tgz#5583d8f7ffe599fa0a89f2bf289301a5af262380" + integrity sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg== + +"@sigstore/protobuf-specs@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz#5becf88e494a920f548d0163e2978f81b44b7d6f" + integrity sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw== + +"@sigstore/sign@^2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-2.3.2.tgz#d3d01e56d03af96fd5c3a9b9897516b1233fc1c4" + integrity sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA== + dependencies: + "@sigstore/bundle" "^2.3.2" + "@sigstore/core" "^1.0.0" + "@sigstore/protobuf-specs" "^0.3.2" + make-fetch-happen "^13.0.1" + proc-log "^4.2.0" + promise-retry "^2.0.1" + +"@sigstore/tuf@^2.3.4": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-2.3.4.tgz#da1d2a20144f3b87c0172920cbc8dcc7851ca27c" + integrity sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw== + dependencies: + "@sigstore/protobuf-specs" "^0.3.2" + tuf-js "^2.2.1" + +"@sigstore/verify@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@sigstore/verify/-/verify-1.2.1.tgz#c7e60241b432890dcb8bd8322427f6062ef819e1" + integrity sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g== + dependencies: + "@sigstore/bundle" "^2.3.2" + "@sigstore/core" "^1.1.0" + "@sigstore/protobuf-specs" "^0.3.2" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sinonjs/commons@^3.0.0": version "3.0.1" @@ -6495,11 +7478,6 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" -"@stroncium/procfs@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@stroncium/procfs/-/procfs-1.2.1.tgz" - integrity sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA== - "@swc/core-darwin-arm64@1.4.0": version "1.4.0" resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.0.tgz" @@ -6574,10 +7552,18 @@ resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== -"@swc/helpers@0.5.2": - version "0.5.2" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz" - integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw== +"@swc/helpers@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.5.tgz#12689df71bfc9b21c4f4ca00ae55f2f16c8b77c0" + integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== + dependencies: + "@swc/counter" "^0.1.3" + tslib "^2.4.0" + +"@swc/helpers@^0.5.0": + version "0.5.13" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.13.tgz#33e63ff3cd0cade557672bd7888a39ce7d115a8c" + integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w== dependencies: tslib "^2.4.0" @@ -6649,7 +7635,7 @@ dependencies: "@tanstack/table-core" "8.16.0" -"@tanstack/react-virtual@3.10.8": +"@tanstack/react-virtual@3.10.8", "@tanstack/react-virtual@^3.8.1": version "3.10.8" resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.10.8.tgz" integrity sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA== @@ -6802,20 +7788,20 @@ resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz" integrity sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ== -"@theguild/remark-mermaid@^0.0.5": - version "0.0.5" - resolved "https://registry.npmjs.org/@theguild/remark-mermaid/-/remark-mermaid-0.0.5.tgz" - integrity sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw== +"@theguild/remark-mermaid@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@theguild/remark-mermaid/-/remark-mermaid-0.1.3.tgz#55bd0ff5cd890c49f8137e76b5158abd787c3642" + integrity sha512-2FjVlaaKXK7Zj7UJAgOVTyaahn/3/EAfqYhyXg0BfDBVUl+lXcoIWRaxzqfnDr2rv8ax6GsC5mNh6hAaT86PDw== dependencies: - mermaid "^10.2.2" + mermaid "^11.0.0" unist-util-visit "^5.0.0" -"@theguild/remark-npm2yarn@^0.2.0": - version "0.2.1" - resolved "https://registry.npmjs.org/@theguild/remark-npm2yarn/-/remark-npm2yarn-0.2.1.tgz" - integrity sha512-jUTFWwDxtLEFtGZh/TW/w30ySaDJ8atKWH8dq2/IiQF61dPrGfETpl0WxD0VdBfuLOeU14/kop466oBSRO/5CA== +"@theguild/remark-npm2yarn@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@theguild/remark-npm2yarn/-/remark-npm2yarn-0.3.2.tgz#536b121d00793800ad856789068ffca87d17da1a" + integrity sha512-H9T/GOuS/+4H7AY1cfD5DJIIIcGIIw1zMCB8OeTgXk7azJULsnuOurZ/CR54rvuTD+Krx0MVQccaUCvCWfP+vw== dependencies: - npm-to-yarn "^2.1.0" + npm-to-yarn "^3.0.0" unist-util-visit "^5.0.0" "@tootallnate/once@2": @@ -6843,6 +7829,26 @@ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== +"@tufjs/canonical-json@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz#a52f61a3d7374833fca945b2549bc30a2dd40d0a" + integrity sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA== + +"@tufjs/models@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-2.0.1.tgz#e429714e753b6c2469af3212e7f320a6973c2812" + integrity sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg== + dependencies: + "@tufjs/canonical-json" "2.0.0" + minimatch "^9.0.4" + +"@tybys/wasm-util@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355" + integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== + dependencies: + tslib "^2.4.0" + "@types/acorn@^4.0.0": version "4.0.6" resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" @@ -6917,23 +7923,6 @@ dependencies: "@types/node" "*" -"@types/d3-scale-chromatic@^3.0.0": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz" - integrity sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw== - -"@types/d3-scale@^4.0.3": - version "4.0.8" - resolved "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz" - integrity sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ== - dependencies: - "@types/d3-time" "*" - -"@types/d3-time@*": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz" - integrity sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw== - "@types/debug@^4.0.0": version "4.1.12" resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz" @@ -7009,6 +7998,11 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/express-serve-static-core@^4.17.33": version "4.17.43" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz" @@ -7053,7 +8047,7 @@ dependencies: "@types/unist" "^2" -"@types/hast@^3.0.0": +"@types/hast@^3.0.0", "@types/hast@^3.0.4": version "3.0.4" resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== @@ -7107,11 +8101,6 @@ expect "^29.0.0" pretty-format "^29.0.0" -"@types/js-yaml@^4.0.0": - version "4.0.9" - resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz" - integrity sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg== - "@types/jsdom@^20.0.0": version "20.0.1" resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz" @@ -7121,11 +8110,16 @@ "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + "@types/katex@^0.16.0": version "0.16.7" resolved "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz" @@ -7178,13 +8172,6 @@ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz" integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== -"@types/mdast@^3.0.0": - version "3.0.15" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz" - integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== - dependencies: - "@types/unist" "^2" - "@types/mdast@^4.0.0": version "4.0.3" resolved "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz" @@ -7212,7 +8199,12 @@ resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== -"@types/minimist@^1.2.0", "@types/minimist@^1.2.2": +"@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/minimist@^1.2.0": version "1.2.5" resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== @@ -7222,6 +8214,13 @@ resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== +"@types/nlcst@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/nlcst/-/nlcst-2.0.3.tgz#31cad346eaab48a9a8a58465d3d05e2530dda762" + integrity sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA== + dependencies: + "@types/unist" "*" + "@types/node-fetch@^2.6.4": version "2.6.11" resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz" @@ -7369,7 +8368,7 @@ resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== -"@types/semver@^7.3.4", "@types/semver@^7.5.0": +"@types/semver@^7.3.4": version "7.5.6" resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz" integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== @@ -7452,24 +8451,33 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^6.8.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz" - integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/type-utils" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" +"@typescript-eslint/eslint-plugin@8.10.0", "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/eslint-plugin@^8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.10.0.tgz#9c8218ed62f9a322df10ded7c34990f014df44f2" + integrity sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.10.0" + "@typescript-eslint/type-utils" "8.10.0" + "@typescript-eslint/utils" "8.10.0" + "@typescript-eslint/visitor-keys" "8.10.0" graphemer "^1.4.0" - ignore "^5.2.4" + ignore "^5.3.1" natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@8.10.0", "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser@^8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.10.0.tgz#3cbe7206f5e42835878a74a76da533549f977662" + integrity sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg== + dependencies: + "@typescript-eslint/scope-manager" "8.10.0" + "@typescript-eslint/types" "8.10.0" + "@typescript-eslint/typescript-estree" "8.10.0" + "@typescript-eslint/visitor-keys" "8.10.0" + debug "^4.3.4" -"@typescript-eslint/parser@^6.7.5", "@typescript-eslint/parser@^6.8.0": +"@typescript-eslint/parser@^6.7.5": version "6.21.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz" integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== @@ -7488,21 +8496,34 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/type-utils@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz" - integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== +"@typescript-eslint/scope-manager@8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.10.0.tgz#606ffe18314d7b5c2f118f2f02aaa2958107a19c" + integrity sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw== dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" + "@typescript-eslint/types" "8.10.0" + "@typescript-eslint/visitor-keys" "8.10.0" + +"@typescript-eslint/type-utils@8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.10.0.tgz#99f1d2e21f8c74703e7d9c4a67a87271eaf57597" + integrity sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg== + dependencies: + "@typescript-eslint/typescript-estree" "8.10.0" + "@typescript-eslint/utils" "8.10.0" debug "^4.3.4" - ts-api-utils "^1.0.1" + ts-api-utils "^1.3.0" "@typescript-eslint/types@6.21.0": version "6.21.0" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== +"@typescript-eslint/types@8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.10.0.tgz#eb29c4bc2ed23489348c297469c76d28c38fb618" + integrity sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w== + "@typescript-eslint/typescript-estree@6.21.0": version "6.21.0" resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz" @@ -7517,18 +8538,29 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz" - integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== +"@typescript-eslint/typescript-estree@8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.10.0.tgz#36cc66e06c5f44d6781f95cb03b132e985273a33" + integrity sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w== + dependencies: + "@typescript-eslint/types" "8.10.0" + "@typescript-eslint/visitor-keys" "8.10.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.10.0.tgz#d78d1ce3ea3d2a88a2593ebfb1c98490131d00bf" + integrity sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" + "@typescript-eslint/scope-manager" "8.10.0" + "@typescript-eslint/types" "8.10.0" + "@typescript-eslint/typescript-estree" "8.10.0" "@typescript-eslint/visitor-keys@6.21.0": version "6.21.0" @@ -7538,6 +8570,21 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" +"@typescript-eslint/visitor-keys@8.10.0": + version "8.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.10.0.tgz#7ce4c0c3b82140415c9cd9babe09e0000b4e9979" + integrity sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A== + dependencies: + "@typescript-eslint/types" "8.10.0" + eslint-visitor-keys "^3.4.3" + +"@typescript/vfs@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.6.0.tgz#9c90d8c43f7ac53cc77d5959e5c4c9b639f0959e" + integrity sha512-hvJUjNVeBMp77qPINuUvYXj4FyWeeMMKZkxEATEU3hqBAQ7qdTBCUFT7Sp0Zu0faeEtFf+ldXxMEDr/bk73ISg== + dependencies: + debug "^4.1.1" + "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" @@ -7742,11 +8789,44 @@ "@types/emscripten" "^1.39.6" tslib "^1.13.0" +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@yarnpkg/parsers@3.0.0-rc.46": + version "3.0.0-rc.46" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" + integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@zkochan/js-yaml@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz#4b0cb785220d7c28ce0ec4d0804deb5d821eae89" + integrity sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ== + dependencies: + argparse "^2.0.1" + +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abab@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== +abbrev@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" + integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" @@ -7802,6 +8882,16 @@ acorn@^8.0.0, acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.4.1, acorn@^8 resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.12.0, acorn@^8.12.1: + version "8.13.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.13.0.tgz#2a30d670818ad16ddd6a35d3842dacec9e5d7ca3" + integrity sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w== + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + address@^1.0.1: version "1.2.2" resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" @@ -7819,6 +8909,13 @@ agent-base@6: dependencies: debug "4" +agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" @@ -7827,14 +8924,6 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -aggregate-error@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz" - integrity sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w== - dependencies: - clean-stack "^4.0.0" - indent-string "^5.0.0" - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" @@ -7900,6 +8989,11 @@ anser@^1.4.9: resolved "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz" integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" @@ -7907,12 +9001,12 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: dependencies: type-fest "^0.21.3" -ansi-escapes@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz" - integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== +ansi-escapes@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.0.0.tgz#00fc19f491bbb18e1d481b97868204f92109bfe7" + integrity sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== dependencies: - type-fest "^3.0.0" + environment "^1.0.0" ansi-fragments@^0.2.1: version "0.2.1" @@ -7948,11 +9042,6 @@ ansi-regex@^6.0.1: resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== -ansi-sequence-parser@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz" - integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" @@ -8015,9 +9104,9 @@ application-config-path@^0.1.0: resolved "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.1.tgz" integrity sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw== -"aproba@^1.0.3 || ^2.0.0": +aproba@2.0.0, "aproba@^1.0.3 || ^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== arch@^2.1.0: @@ -8067,7 +9156,7 @@ aria-hidden@^1.1.1: dependencies: tslib "^2.0.0" -aria-query@5.1.3: +aria-query@5.1.3, aria-query@~5.1.3: version "5.1.3" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== @@ -8089,11 +9178,21 @@ array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: call-bind "^1.0.5" is-array-buffer "^3.0.4" +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + array-includes@^3.1.6: version "3.1.7" resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" @@ -8105,24 +9204,53 @@ array-includes@^3.1.6: get-intrinsic "^1.2.1" is-string "^1.0.7" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== +array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - array-uniq "^1.0.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-iterate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-2.0.1.tgz#6efd43f8295b3fee06251d3d62ead4bd9805dd24" + integrity sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg== array-union@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" -array.prototype.flat@^1.3.1: +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: version "1.3.2" resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== @@ -8132,9 +9260,9 @@ array.prototype.flat@^1.3.1: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.1: +array.prototype.flatmap@^1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" @@ -8153,18 +9281,18 @@ array.prototype.reduce@^1.0.6: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" -array.prototype.tosorted@^1.1.1: - version "1.1.3" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz" - integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.1.0" + es-abstract "^1.23.3" + es-errors "^1.3.0" es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.2: +arraybuffer.prototype.slice@^1.0.2, arraybuffer.prototype.slice@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== @@ -8183,10 +9311,10 @@ arrify@^1.0.1: resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== -arrify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz" - integrity sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== asap@~2.0.3, asap@~2.0.6: version "2.0.6" @@ -8209,6 +9337,11 @@ assert@^2.0.0, assert@^2.1.0: object.assign "^4.1.4" util "^0.12.5" +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + ast-types@0.15.2: version "0.15.2" resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz" @@ -8250,13 +9383,6 @@ async@^3.2.3: resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" @@ -8301,6 +9427,18 @@ available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz" integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axe-core@^4.10.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.1.tgz#7d2589b0183f05b0f23e55c2f4cdf97b5bdc66d9" + integrity sha512-qPC9o+kD8Tir0lzNGLeghbOrWMr3ZJpaRlCIb6Uobt/7N4FiEDvqUMnxzCHRHmg8vOg14kr5gVNyScRmbMaJ9g== + axios@^1.6.8: version "1.6.8" resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz" @@ -8310,6 +9448,20 @@ axios@^1.6.8: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.7.4: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== + babel-core@^7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" @@ -8547,6 +9699,11 @@ basic-auth@~2.0.0: dependencies: safe-buffer "5.1.2" +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + better-opn@^3.0.2, better-opn@~3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz" @@ -8554,6 +9711,13 @@ better-opn@^3.0.2, better-opn@~3.0.2: dependencies: open "^8.0.4" +better-react-mathjax@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/better-react-mathjax/-/better-react-mathjax-2.0.3.tgz#202dc6fe5c7263278f2491516f43f70ba188122f" + integrity sha512-wfifT8GFOKb1TWm2+E50I6DJpLZ5kLbch283Lu043EJtwSv0XvZDjr4YfR4d2MjAhqP6SH4VjjrKgbX8R00oCQ== + dependencies: + mathjax-full "^3.2.2" + big-integer@1.6.x, big-integer@^1.6.44: version "1.6.52" resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz" @@ -8564,6 +9728,16 @@ big.js@^5.2.2: resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bin-links@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" + integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== + dependencies: + cmd-shim "^6.0.0" + npm-normalize-package-bin "^3.0.0" + read-cmd-shim "^4.0.0" + write-file-atomic "^5.0.0" + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" @@ -8684,6 +9858,13 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + browser-assert@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" @@ -8726,6 +9907,16 @@ browserslist@^4.23.1, browserslist@^4.23.3: node-releases "^2.0.18" update-browserslist-db "^1.1.0" +browserslist@^4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== + dependencies: + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" @@ -8791,6 +9982,11 @@ busboy@1.6.0: dependencies: streamsearch "^1.1.0" +byte-size@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-8.1.1.tgz#3424608c62d59de5bfda05d31e0313c6174842ae" + integrity sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg== + bytes@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" @@ -8825,6 +10021,24 @@ cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" +cacache@^18.0.0, cacache@^18.0.3: + version "18.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-18.0.4.tgz#4601d7578dadb59c66044e157d02a3314682d6a5" + integrity sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^3.0.0" + glob "^10.2.2" + lru-cache "^10.0.1" + minipass "^7.0.3" + minipass-collect "^2.0.1" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz" @@ -8892,22 +10106,12 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase-keys@^7.0.0: - version "7.0.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0, camelcase@^6.3.0: +camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -8917,16 +10121,16 @@ camelize@^1.0.0: resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== -caniuse-lite@^1.0.30001406: - version "1.0.30001589" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz" - integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg== - caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001580: version "1.0.30001585" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz" integrity sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q== +caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001663: + version "1.0.30001669" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz#fda8f1d29a8bfdc42de0c170d7f34a9cf19ed7a3" + integrity sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w== + caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: version "1.0.30001609" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz" @@ -8965,10 +10169,13 @@ chalk@2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== +chalk@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" chalk@^1.1.3: version "1.1.3" @@ -8998,7 +10205,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -9006,6 +10213,11 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" @@ -9031,11 +10243,35 @@ character-reference-invalid@^2.0.0: resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + charenc@0.0.2, charenc@~0.0.1: version "0.0.2" resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== +chevrotain-allstar@~0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz#b7412755f5d83cc139ab65810cdb00d8db40e6ca" + integrity sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw== + dependencies: + lodash-es "^4.17.21" + +chevrotain@~11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-11.0.3.tgz#88ffc1fb4b5739c715807eaeedbbf200e202fc1b" + integrity sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw== + dependencies: + "@chevrotain/cst-dts-gen" "11.0.3" + "@chevrotain/gast" "11.0.3" + "@chevrotain/regexp-to-ast" "11.0.3" + "@chevrotain/types" "11.0.3" + "@chevrotain/utils" "11.0.3" + lodash-es "4.17.21" + chokidar@^3.5.3: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" @@ -9098,6 +10334,11 @@ ci-info@^3.2.0, ci-info@^3.3.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== + citty@^0.1.5: version "0.1.5" resolved "https://registry.npmjs.org/citty/-/citty-0.1.5.tgz" @@ -9134,12 +10375,12 @@ clean-stack@^2.0.0: resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -clean-stack@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz" - integrity sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg== +cli-cursor@3.1.0, cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: - escape-string-regexp "5.0.0" + restore-cursor "^3.1.0" cli-cursor@^2.1.0: version "2.1.0" @@ -9148,19 +10389,17 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== dependencies: - restore-cursor "^3.1.0" + restore-cursor "^5.0.0" -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== - dependencies: - restore-cursor "^4.0.0" +cli-spinners@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== cli-spinners@^2.0.0, cli-spinners@^2.5.0: version "2.9.2" @@ -9184,6 +10423,11 @@ cli-truncate@^4.0.0: slice-ansi "^5.0.0" string-width "^7.0.0" +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + client-only@0.0.1, client-only@^0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" @@ -9206,6 +10450,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + cliui@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" @@ -9215,9 +10468,9 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -clone-deep@^4.0.1: +clone-deep@4.0.1, clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" @@ -9244,6 +10497,11 @@ clsx@^2.0.0, clsx@^2.1.0: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== +cmd-shim@6.0.3, cmd-shim@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" + integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== + cmdk@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/cmdk/-/cmdk-0.2.1.tgz" @@ -9256,6 +10514,11 @@ co@^4.6.0: resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== +collapse-white-space@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" + integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== + collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" @@ -9293,9 +10556,9 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.2: +color-support@1.1.3, color-support@^1.1.2: version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== color@^4.2.3: @@ -9316,6 +10579,14 @@ colorette@^2.0.10, colorette@^2.0.20: resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== +columnify@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" @@ -9333,16 +10604,16 @@ command-exists@^1.2.4, command-exists@^1.2.8: resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" - integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== - commander@7, commander@^7.2.0: version "7.2.0" resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" + integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== + commander@^2.20.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" @@ -9368,6 +10639,11 @@ commander@^9.4.1: resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== +commander@~12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + commands-events@1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/commands-events/-/commands-events-1.0.4.tgz" @@ -9377,7 +10653,12 @@ commands-events@1.0.4: formats "1.0.0" uuidv4 "2.0.0" -common-path-prefix@^3.0.0: +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + +common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== @@ -9392,6 +10673,14 @@ commondir@^1.0.1: resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + comparejs@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/comparejs/-/comparejs-1.0.0.tgz" @@ -9455,6 +10744,16 @@ concat-stream@^1.6.2: readable-stream "^2.2.2" typedarray "^0.0.6" +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + concurrently@^8.2.2: version "8.2.2" resolved "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz" @@ -9470,6 +10769,11 @@ concurrently@^8.2.2: tree-kill "^1.2.2" yargs "^17.7.2" +confbox@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" + integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== + connect@^3.6.5, connect@^3.7.0: version "3.7.0" resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" @@ -9517,6 +10821,79 @@ content-type@~1.0.4: resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== +conventional-changelog-angular@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" + integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-core@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-5.0.1.tgz#3c331b155d5b9850f47b4760aeddfc983a92ad49" + integrity sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A== + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^6.0.0" + conventional-commits-parser "^4.0.0" + dateformat "^3.0.3" + get-pkg-repo "^4.2.1" + git-raw-commits "^3.0.0" + git-remote-origin-url "^2.0.0" + git-semver-tags "^5.0.0" + normalize-package-data "^3.0.3" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + +conventional-changelog-preset-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz#14975ef759d22515d6eabae6396c2ae721d4c105" + integrity sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA== + +conventional-changelog-writer@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz#d8d3bb5e1f6230caed969dcc762b1c368a8f7b01" + integrity sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ== + dependencies: + conventional-commits-filter "^3.0.0" + dateformat "^3.0.3" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + meow "^8.1.2" + semver "^7.0.0" + split "^1.0.1" + +conventional-commits-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz#bf1113266151dd64c49cd269e3eb7d71d7015ee2" + integrity sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.1" + +conventional-commits-parser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz#02ae1178a381304839bce7cea9da5f1b549ae505" + integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== + dependencies: + JSONStream "^1.3.5" + is-text-path "^1.0.1" + meow "^8.1.2" + split2 "^3.2.2" + +conventional-recommended-bump@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz#ec01f6c7f5d0e2491c2d89488b0d757393392424" + integrity sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA== + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^3.0.0" + conventional-commits-filter "^3.0.0" + conventional-commits-parser "^4.0.0" + git-raw-commits "^3.0.0" + git-semver-tags "^5.0.0" + meow "^8.1.2" + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" @@ -9600,6 +10977,13 @@ cose-base@^1.0.0: dependencies: layout-base "^1.0.0" +cose-base@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-2.2.0.tgz#1c395c35b6e10bb83f9769ca8b817d614add5c01" + integrity sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g== + dependencies: + layout-base "^2.0.0" + cosmiconfig@^5.0.5, cosmiconfig@^5.1.0: version "5.2.1" resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" @@ -9621,9 +11005,9 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" -cosmiconfig@^8.3.5: +cosmiconfig@^8.2.0, cosmiconfig@^8.3.5: version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: import-fresh "^3.3.0" @@ -9631,37 +11015,6 @@ cosmiconfig@^8.3.5: parse-json "^5.2.0" path-type "^4.0.0" -cp-file@^10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/cp-file/-/cp-file-10.0.0.tgz" - integrity sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg== - dependencies: - graceful-fs "^4.2.10" - nested-error-stacks "^2.1.1" - p-event "^5.0.1" - -cpy-cli@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/cpy-cli/-/cpy-cli-5.0.0.tgz" - integrity sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ== - dependencies: - cpy "^10.1.0" - meow "^12.0.1" - -cpy@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/cpy/-/cpy-10.1.0.tgz" - integrity sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ== - dependencies: - arrify "^3.0.0" - cp-file "^10.0.0" - globby "^13.1.4" - junk "^4.0.1" - micromatch "^4.0.5" - nested-error-stacks "^2.1.1" - p-filter "^3.0.0" - p-map "^6.0.0" - create-jest@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" @@ -9894,13 +11247,17 @@ cytoscape-cose-bilkent@^4.1.0: dependencies: cose-base "^1.0.0" -cytoscape@^3.28.1: - version "3.28.1" - resolved "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz" - integrity sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg== +cytoscape-fcose@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz#e4d6f6490df4fab58ae9cea9e5c3ab8d7472f471" + integrity sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ== dependencies: - heap "^0.2.6" - lodash "^4.17.21" + cose-base "^2.2.0" + +cytoscape@^3.29.2: + version "3.30.2" + resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.30.2.tgz#94149707fb6547a55e3b44f03ffe232706212161" + integrity sha512-oICxQsjW8uSaRmn4UK/jkczKOqTrVqt5/1WL0POiJUT2EKNc9STM4hYFHv917yu55aTBMFNRzymlJhVAiWPCxw== "d3-array@1 - 2": version "2.12.1" @@ -10137,7 +11494,7 @@ d3-zoom@3: d3-selection "2 - 3" d3-transition "2 - 3" -d3@^7.4.0, d3@^7.8.2: +d3@^7.8.2: version "7.8.5" resolved "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz" integrity sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA== @@ -10173,6 +11530,42 @@ d3@^7.4.0, d3@^7.8.2: d3-transition "3" d3-zoom "3" +d3@^7.9.0: + version "7.9.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.9.0.tgz#579e7acb3d749caf8860bd1741ae8d371070cd5d" + integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== + dependencies: + d3-array "3" + d3-axis "3" + d3-brush "3" + d3-chord "3" + d3-color "3" + d3-contour "4" + d3-delaunay "6" + d3-dispatch "3" + d3-drag "3" + d3-dsv "3" + d3-ease "3" + d3-fetch "3" + d3-force "3" + d3-format "3" + d3-geo "3" + d3-hierarchy "3" + d3-interpolate "3" + d3-path "3" + d3-polygon "3" + d3-quadtree "3" + d3-random "3" + d3-scale "4" + d3-scale-chromatic "3" + d3-selection "3" + d3-shape "3" + d3-time "3" + d3-time-format "4" + d3-timer "3" + d3-transition "3" + d3-zoom "3" + d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" @@ -10194,6 +11587,16 @@ dagre-d3-es@7.0.10: d3 "^7.8.2" lodash-es "^4.17.21" +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + data-urls@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz" @@ -10203,6 +11606,33 @@ data-urls@^3.0.2: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + datasette@1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/datasette/-/datasette-1.0.1.tgz" @@ -10219,7 +11649,12 @@ date-fns@^2.30.0: dependencies: "@babel/runtime" "^7.21.0" -dayjs@^1.11.10, dayjs@^1.11.7, dayjs@^1.8.15: +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +dayjs@^1.11.10, dayjs@^1.8.15: version "1.11.10" resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== @@ -10231,20 +11666,27 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.1.0: +debug@^3.1.0, debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" +debug@^4.3.5, debug@^4.3.6, debug@~4.3.6: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" @@ -10258,11 +11700,6 @@ decamelize@^1.1.0, decamelize@^1.2.0: resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decamelize@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz" - integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== - decimal.js@^10.4.2: version "10.4.3" resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" @@ -10280,16 +11717,16 @@ decode-uri-component@^0.2.2: resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +dedent@1.5.3, dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + dedent@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - deep-equal@^2.0.5, deep-equal@^2.2.3: version "2.2.3" resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz" @@ -10445,6 +11882,11 @@ deprecated-react-native-prop-types@^5.0.0: invariant "^2.2.4" prop-types "^15.8.1" +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + dequal@^2.0.0, dequal@^2.0.2, dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -10460,6 +11902,11 @@ destroy@~1.0.4: resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" integrity sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg== +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== + detect-indent@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" @@ -10517,18 +11964,6 @@ diff@^4.0.1: resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -dir-glob@^2.0.0: - version "2.2.2" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" @@ -10616,10 +12051,10 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -dompurify@^3.0.5: - version "3.0.9" - resolved "https://registry.npmjs.org/dompurify/-/dompurify-3.0.9.tgz" - integrity sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ== +"dompurify@^3.0.11 <3.1.7": + version "3.1.6" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.6.tgz#43c714a94c6a7b8801850f82e756685300a027e2" + integrity sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -10647,16 +12082,35 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + dotenv-expand@^10.0.0, dotenv-expand@~10.0.0: version "10.0.0" resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== +dotenv-expand@~11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.6.tgz#f2c840fd924d7c77a94eff98f153331d876882d3" + integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== + dependencies: + dotenv "^16.4.4" + dotenv@^16.0.0: version "16.4.2" resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.2.tgz" integrity sha512-rZSSFxke7d9nYQ5NeMIwp5PP+f8wXgKNljpOb7KtH6SKW1cEqcXAz9VSJYVLKe7Jhup/gUYOkaeSVyK8GJ+nBg== +dotenv@^16.4.4, dotenv@~16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + dotenv@~16.0.3: version "16.0.3" resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz" @@ -10669,6 +12123,11 @@ draht@1.0.1: dependencies: eventemitter2 "5.0.1" +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" @@ -10696,6 +12155,13 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== +ejs@^3.1.7: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + ejs@^3.1.8: version "3.1.9" resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" @@ -10713,16 +12179,16 @@ electron-to-chromium@^1.4.668: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz" integrity sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q== +electron-to-chromium@^1.5.28: + version "1.5.41" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz#eae1ba6c49a1a61d84cf8263351d3513b2bcc534" + integrity sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ== + electron-to-chromium@^1.5.4: version "1.5.13" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz" integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== -elkjs@^0.9.0: - version "0.9.1" - resolved "https://registry.npmjs.org/elkjs/-/elkjs-0.9.1.tgz" - integrity sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ== - emittery@^0.13.1: version "0.13.1" resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" @@ -10758,6 +12224,13 @@ encodeurl@~1.0.2: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" @@ -10782,6 +12255,13 @@ enhanced-resolve@^5.15.0: graceful-fs "^4.2.4" tapable "^2.2.0" +enquirer@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + entities@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" @@ -10797,11 +12277,26 @@ env-editor@^0.4.1: resolved "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz" integrity sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +envinfo@7.13.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" + integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + envinfo@^7.10.0, envinfo@^7.7.3: version "7.11.1" resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz" integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== + eol@^0.9.1: version "0.9.1" resolved "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz" @@ -10822,6 +12317,11 @@ epubjs@^0.3.93: marks-pane "^1.0.9" path-webpack "0.0.3" +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" @@ -10844,6 +12344,58 @@ errorhandler@^1.5.1: accepts "~1.3.7" escape-html "~1.0.3" +es-abstract@^1.17.5, es-abstract@^1.23.0, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + es-abstract@^1.22.1, es-abstract@^1.22.3: version "1.22.3" resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" @@ -10901,7 +12453,7 @@ es-define-property@^1.0.0: dependencies: get-intrinsic "^1.2.4" -es-errors@^1.0.0, es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.0.0, es-errors@^1.2.1, es-errors@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== @@ -10921,33 +12473,39 @@ es-get-iterator@^1.1.3: isarray "^2.0.5" stop-iteration-iterator "^1.0.0" -es-iterator-helpers@^1.0.12: - version "1.0.16" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.16.tgz" - integrity sha512-CREG2A9Vq7bpDRnldhFcMKuKArvkZtsH6Y0DHOHVg49qhf+LD8uEdUM3OkOAICv0EziGtDEnQtqY2/mfBILpFw== +es-iterator-helpers@^1.0.19: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" + integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.6" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.3" + es-abstract "^1.23.3" es-errors "^1.3.0" - es-set-tostringtag "^2.0.2" + es-set-tostringtag "^2.0.3" function-bind "^1.1.2" get-intrinsic "^1.2.4" - globalthis "^1.0.3" - has-property-descriptors "^1.0.1" - has-proto "^1.0.1" + globalthis "^1.0.4" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" has-symbols "^1.0.3" internal-slot "^1.0.7" - iterator.prototype "^1.1.2" - safe-array-concat "^1.1.0" + iterator.prototype "^1.1.3" + safe-array-concat "^1.1.2" es-module-lexer@^1.2.1, es-module-lexer@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== -es-set-tostringtag@^2.0.1, es-set-tostringtag@^2.0.2: +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== @@ -10956,6 +12514,15 @@ es-set-tostringtag@^2.0.1, es-set-tostringtag@^2.0.2: has-tostringtag "^1.0.0" hasown "^2.0.0" +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" @@ -10998,6 +12565,26 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3: d "^1.0.1" ext "^1.1.2" +esast-util-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" + integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + unist-util-position-from-estree "^2.0.0" + +esast-util-from-js@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225" + integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== + dependencies: + "@types/estree-jsx" "^1.0.0" + acorn "^8.0.0" + esast-util-from-estree "^2.0.0" + vfile-message "^4.0.0" + esbuild-plugin-alias@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz" @@ -11087,11 +12674,6 @@ escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escape-string-regexp@5.0.0, escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" @@ -11102,6 +12684,11 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + escodegen@^2.0.0, escodegen@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" @@ -11113,50 +12700,150 @@ escodegen@^2.0.0, escodegen@^2.1.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^9.0.0: +eslint-config-next@^14.2.15: + version "14.2.15" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.2.15.tgz#ff9661835eaf9f2ef1717ace55073a8f71037fab" + integrity sha512-mKg+NC/8a4JKLZRIOBplxXNdStgxy7lzWuedUaCc8tev+Al9mwDUTujQH6W6qXDH9kycWiVo28tADWGvpBsZcQ== + dependencies: + "@next/eslint-plugin-next" "14.2.15" + "@rushstack/eslint-patch" "^1.3.3" + "@typescript-eslint/eslint-plugin" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^3.5.2" + eslint-plugin-import "^2.28.1" + eslint-plugin-jsx-a11y "^6.7.1" + eslint-plugin-react "^7.33.2" + eslint-plugin-react-hooks "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + +eslint-config-prettier@^9.1.0: version "9.1.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== -eslint-plugin-prettier@^5.0.1: - version "5.1.3" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== +eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" -eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== +eslint-import-resolver-typescript@^3.5.2: + version "3.6.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz#bb8e388f6afc0f940ce5d2c5fd4a3d147f038d9e" + integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== + dependencies: + "@nolyfill/is-core-module" "1.0.39" + debug "^4.3.5" + enhanced-resolve "^5.15.0" + eslint-module-utils "^2.8.1" + fast-glob "^3.3.2" + get-tsconfig "^4.7.5" + is-bun-module "^1.0.2" + is-glob "^4.0.3" -eslint-plugin-react@^7.33.2: - version "7.33.2" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== +eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" + debug "^3.2.7" + +eslint-plugin-import@^2.28.1: + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + string.prototype.trimend "^1.0.8" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsx-a11y@^6.7.1: + version "6.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz#36fb9dead91cafd085ddbe3829602fb10ef28339" + integrity sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg== + dependencies: + aria-query "~5.1.3" + array-includes "^3.1.8" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "^4.10.0" + axobject-query "^4.1.0" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.19" + hasown "^2.0.2" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.0" + +eslint-plugin-prettier@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== + dependencies: + prettier-linter-helpers "^1.0.0" + synckit "^0.9.1" + +"eslint-plugin-react-hooks@^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": + version "5.0.0-canary-7118f5dd7-20230705" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz#4d55c50e186f1a2b0636433d2b0b2f592ddbccfd" + integrity sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw== + +eslint-plugin-react-hooks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz#72e2eefbac4b694f5324154619fee44f5f60f101" + integrity sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw== + +eslint-plugin-react@^7.33.2, eslint-plugin-react@^7.37.1: + version "7.37.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz#56493d7d69174d0d828bc83afeffe96903fdadbd" + integrity sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.2" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" + es-iterator-helpers "^1.0.19" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.values "^1.2.0" prop-types "^15.8.1" - resolve "^2.0.0-next.4" + resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.8" + string.prototype.matchall "^4.0.11" + string.prototype.repeat "^1.0.0" -eslint-plugin-simple-import-sort@^10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz" - integrity sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw== +eslint-plugin-simple-import-sort@^12.1.1: + version "12.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.1.1.tgz#e64bfdaf91c5b98a298619aa634a9f7aa43b709e" + integrity sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA== eslint-plugin-sort-keys-fix@^1.1.2: version "1.1.2" @@ -11184,6 +12871,14 @@ eslint-scope@^7.1.1, eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" +eslint-scope@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.1.0.tgz#70214a174d4cbffbc3e8a26911d8bf51b9ae9d30" + integrity sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" @@ -11194,7 +12889,12 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.51.0, eslint@^8.7.0: +eslint-visitor-keys@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz#1f785cc5e81eb7534523d85922248232077d2f8c" + integrity sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg== + +eslint@^8.7.0: version "8.56.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== @@ -11238,18 +12938,73 @@ eslint@^8.51.0, eslint@^8.7.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== +eslint@^9.13.0: + version "9.13.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.13.0.tgz#7659014b7dda1ff876ecbd990f726e11c61596e6" + integrity sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA== dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.11.0" + "@eslint/config-array" "^0.18.0" + "@eslint/core" "^0.7.0" + "@eslint/eslintrc" "^3.1.0" + "@eslint/js" "9.13.0" + "@eslint/plugin-kit" "^0.2.0" + "@humanfs/node" "^0.16.5" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.3.1" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.1.0" + eslint-visitor-keys "^4.1.0" + espree "^10.2.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + json-stable-stringify-without-jsonify "^1.0.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + text-table "^0.2.0" + +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +espree@^10.0.1, espree@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.2.0.tgz#f4bcead9e05b0615c968e85f83816bc386a45df6" + integrity sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g== + dependencies: + acorn "^8.12.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.1.0" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" @@ -11268,6 +13023,13 @@ esquery@^1.4.0, esquery@^1.4.2: dependencies: estraverse "^5.1.0" +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" @@ -11285,20 +13047,21 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-util-attach-comments@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz" - integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w== +estree-util-attach-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" + integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== dependencies: "@types/estree" "^1.0.0" -estree-util-build-jsx@^2.0.0: - version "2.2.2" - resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz" - integrity sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg== +estree-util-build-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" + integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== dependencies: "@types/estree-jsx" "^1.0.0" - estree-util-is-identifier-name "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" estree-walker "^3.0.0" estree-util-is-identifier-name@^2.0.0: @@ -11311,10 +13074,18 @@ estree-util-is-identifier-name@^3.0.0: resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== -estree-util-to-js@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz" - integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA== +estree-util-scope@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585" + integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + +estree-util-to-js@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" + integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== dependencies: "@types/estree-jsx" "^1.0.0" astring "^1.8.0" @@ -11327,13 +13098,20 @@ estree-util-value-to-estree@^1.3.0: dependencies: is-plain-obj "^3.0.0" -estree-util-visit@^1.0.0: - version "1.2.1" - resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz" - integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw== +estree-util-value-to-estree@^3.0.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.2.tgz#d2f0e5d350a6c181673eb7299743325b86a9bf5c" + integrity sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-visit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" + integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== dependencies: "@types/estree-jsx" "^1.0.0" - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" estree-walker@^3.0.0: version "3.0.3" @@ -11370,6 +13148,11 @@ eventemitter2@5.0.1: resolved "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz" integrity sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg== +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + eventemitter3@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" @@ -11385,20 +13168,20 @@ exec-async@^2.2.0: resolved "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz" integrity sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw== -execa@8.0.1, execa@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== +execa@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== dependencies: cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" execa@^0.8.0: version "0.8.0" @@ -11426,21 +13209,6 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^2.0.1: - version "2.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz" - integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^3.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" @@ -11456,6 +13224,21 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^8.0.1, execa@~8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" @@ -11567,6 +13350,11 @@ expo@^50.0.6: fbemitter "^3.0.0" whatwg-url-without-unicode "8.0.0-3" +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + "express@4.16.4 ": version "4.16.4" resolved "https://registry.npmjs.org/express/-/express-4.16.4.tgz" @@ -11659,6 +13447,15 @@ extend@^3.0.0, extend@^3.0.1: resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extract-zip@^1.6.6: version "1.7.0" resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" @@ -11684,7 +13481,7 @@ fast-diff@^1.1.2: resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.0: +fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -11729,6 +13526,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fault@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" + integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== + dependencies: + format "^0.2.0" + fb-watchman@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" @@ -11778,6 +13582,13 @@ fetch-retry@^5.0.2: resolved "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz" integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ== +figures@3.2.0, figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" @@ -11785,6 +13596,13 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + file-selector@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz" @@ -11814,6 +13632,13 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + filter-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" @@ -11889,6 +13714,13 @@ find-root@1.1.0: resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" @@ -11956,6 +13788,14 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + flat@^5.0.2: version "5.0.2" resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" @@ -11971,9 +13811,9 @@ flatten-tailwindcss-theme@^1.0.0: resolved "https://registry.npmjs.org/flatten-tailwindcss-theme/-/flatten-tailwindcss-theme-1.0.0.tgz" integrity sha512-7B795m0qzLF0yQYGkfGanO3NOisEI4EaVObnr3DBq7Qc8Ygq4yWGa0Gpx2rtb10NSgIcimUqu4Xaqh+0bkC87w== -flexsearch@^0.7.31: +flexsearch@^0.7.43: version "0.7.43" - resolved "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.43.tgz" + resolved "https://registry.yarnpkg.com/flexsearch/-/flexsearch-0.7.43.tgz#34f89b36278a466ce379c5bf6fb341965ed3f16c" integrity sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg== flow-enums-runtime@^0.0.6: @@ -11991,11 +13831,6 @@ flow-parser@^0.206.0: resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz" integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w== -focus-visible@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz" - integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ== - follow-redirects@^1.15.6: version "1.15.6" resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" @@ -12057,6 +13892,11 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +format@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== + formats@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/formats/-/formats-1.0.0.tgz" @@ -12091,6 +13931,13 @@ fresh@0.5.2: resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +front-matter@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-4.0.2.tgz#b14e54dc745cfd7293484f3210d15ea4edd7f4d5" + integrity sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== + dependencies: + js-yaml "^3.13.1" + fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" @@ -12124,9 +13971,9 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.1.0: +fs-extra@^11.1.0, fs-extra@^11.2.0: version "11.2.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" @@ -12159,6 +14006,13 @@ fs-minipass@^2.0.0: dependencies: minipass "^3.0.0" +fs-minipass@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.3.tgz#79a85981c4dc120065e96f62086bf6f9dc26cc54" + integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== + dependencies: + minipass "^7.0.3" + fs-monkey@^1.0.4: version "1.0.5" resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" @@ -12255,15 +14109,30 @@ get-package-type@^0.1.0: resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-pkg-repo@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== + dependencies: + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" + +get-port@5.1.1, get-port@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== + get-port@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz" integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== -get-port@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-stream@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" + integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== get-stream@^3.0.0: version "3.0.0" @@ -12277,13 +14146,6 @@ get-stream@^4.0.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" @@ -12294,7 +14156,7 @@ get-stream@^8.0.1: resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-symbol-description@^1.0.0: +get-symbol-description@^1.0.0, get-symbol-description@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== @@ -12303,6 +14165,13 @@ get-symbol-description@^1.0.0: es-errors "^1.3.0" get-intrinsic "^1.2.4" +get-tsconfig@^4.7.5: + version "4.8.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" + integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== + dependencies: + resolve-pkg-maps "^1.0.0" + getenv@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz" @@ -12322,6 +14191,31 @@ giget@^1.0.0: pathe "^1.1.1" tar "^6.2.0" +git-raw-commits@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-3.0.0.tgz#5432f053a9744f67e8db03dbc48add81252cfdeb" + integrity sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw== + dependencies: + dargs "^7.0.0" + meow "^8.1.2" + split2 "^3.2.2" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-5.0.1.tgz#db748aa0e43d313bf38dcd68624d8443234e1c15" + integrity sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA== + dependencies: + meow "^8.1.2" + semver "^7.0.0" + git-up@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz" @@ -12330,13 +14224,20 @@ git-up@^7.0.0: is-ssh "^1.4.0" parse-url "^8.1.0" -git-url-parse@^13.1.0: - version "13.1.1" - resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.1.tgz" - integrity sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ== +git-url-parse@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-14.0.0.tgz#18ce834726d5fbca0c25a4555101aa277017418f" + integrity sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ== dependencies: git-up "^7.0.0" +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== + dependencies: + ini "^1.3.2" + github-slugger@^1.0.0: version "1.5.0" resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" @@ -12347,6 +14248,13 @@ github-slugger@^2.0.0: resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz" integrity sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw== +glob-parent@6.0.2, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" @@ -12354,18 +14262,22 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +glob@10.3.10, glob@^10.0.0, glob@^10.3.10: + version "10.3.10" + resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@7.1.6: version "7.1.6" resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" @@ -12378,20 +14290,9 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.0.0, glob@^10.3.10: - version "10.3.10" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - -glob@^10.3.7: +glob@^10.2.2, glob@^10.3.7: version "10.4.5" - resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" @@ -12424,6 +14325,16 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.7, glob@^7.2.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^9.2.0: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + globals@^11.1.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" @@ -12436,6 +14347,16 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globals@^15.11.0: + version "15.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.11.0.tgz#b96ed4c6998540c6fb824b24b5499216d2438d6e" + integrity sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw== + globalthis@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" @@ -12443,7 +14364,15 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@11.1.0, globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -12455,29 +14384,6 @@ globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -globby@^13.1.4: - version "13.2.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz" - integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g== - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - goober@^2.1.10: version "2.1.14" resolved "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz" @@ -12490,7 +14396,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@4.2.11, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -12534,6 +14440,11 @@ gunzip-maybe@^1.4.2: pumpify "^1.3.3" through2 "^2.0.3" +hachure-fill@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/hachure-fill/-/hachure-fill-0.5.2.tgz#d19bc4cc8750a5962b47fb1300557a85fcf934cc" + integrity sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg== + handlebars@^4.7.7: version "4.7.8" resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" @@ -12597,21 +14508,26 @@ has-proto@^1.0.1: resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" -has-unicode@^2.0.1: +has-unicode@2.0.1, has-unicode@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== hase@2.0.0: @@ -12622,15 +14538,6 @@ hase@2.0.0: "@babel/runtime" "7.1.2" amqplib "0.5.2" -hash-obj@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/hash-obj/-/hash-obj-4.0.0.tgz" - integrity sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg== - dependencies: - is-obj "^3.0.0" - sort-keys "^5.0.0" - type-fest "^1.0.2" - hasown@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" @@ -12638,6 +14545,13 @@ hasown@^2.0.0: dependencies: function-bind "^1.1.2" +hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + hast-util-from-dom@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz" @@ -12723,37 +14637,17 @@ hast-util-raw@^9.0.0: web-namespaces "^2.0.0" zwitch "^2.0.0" -hast-util-to-estree@^2.0.0: - version "2.3.3" - resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz" - integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ== +hast-util-to-estree@^3.0.0, hast-util-to-estree@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz#f2afe5e869ddf0cf690c75f9fc699f3180b51b19" + integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - comma-separated-tokens "^2.0.0" - estree-util-attach-comments "^2.0.0" - estree-util-is-identifier-name "^2.0.0" - hast-util-whitespace "^2.0.0" - mdast-util-mdx-expression "^1.0.0" - mdast-util-mdxjs-esm "^1.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.1" - unist-util-position "^4.0.0" - zwitch "^2.0.0" - -hast-util-to-jsx-runtime@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" - integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== - dependencies: - "@types/estree" "^1.0.0" "@types/hast" "^3.0.0" - "@types/unist" "^3.0.0" comma-separated-tokens "^2.0.0" devlop "^1.0.0" + estree-util-attach-comments "^3.0.0" estree-util-is-identifier-name "^3.0.0" hast-util-whitespace "^3.0.0" mdast-util-mdx-expression "^2.0.0" @@ -12761,9 +14655,47 @@ hast-util-to-jsx-runtime@^2.0.0: mdast-util-mdxjs-esm "^2.0.0" property-information "^6.0.0" space-separated-tokens "^2.0.0" - style-to-object "^1.0.0" + style-to-object "^0.4.0" unist-util-position "^5.0.0" - vfile-message "^4.0.0" + zwitch "^2.0.0" + +hast-util-to-html@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz#a9999a0ba6b4919576a9105129fead85d37f302b" + integrity sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-to-jsx-runtime@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz" + integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^1.0.0" + unist-util-position "^5.0.0" + vfile-message "^4.0.0" hast-util-to-parse5@^8.0.0: version "8.0.0" @@ -12778,6 +14710,13 @@ hast-util-to-parse5@^8.0.0: web-namespaces "^2.0.0" zwitch "^2.0.0" +hast-util-to-string@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz#a4f15e682849326dd211c97129c94b0c3e76527c" + integrity sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A== + dependencies: + "@types/hast" "^3.0.0" + hast-util-to-text@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz" @@ -12788,11 +14727,6 @@ hast-util-to-text@^4.0.0: hast-util-is-element "^3.0.0" unist-util-find-after "^5.0.0" -hast-util-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== - hast-util-whitespace@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz" @@ -12827,11 +14761,6 @@ he@^1.2.0: resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -heap@^0.2.6: - version "0.2.7" - resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz" - integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== - hermes-estree@0.15.0: version "0.15.0" resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz" @@ -12882,13 +14811,20 @@ hosted-git-info@^3.0.2: dependencies: lru-cache "^6.0.0" -hosted-git-info@^4.0.1: +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" +hosted-git-info@^7.0.0, hosted-git-info@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" + integrity sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== + dependencies: + lru-cache "^10.0.1" + html-encoding-sniffer@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" @@ -12962,6 +14898,11 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" +http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: version "1.6.3" resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" @@ -12992,6 +14933,14 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" +http-proxy-agent@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + https-proxy-agent@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz" @@ -13008,6 +14957,14 @@ https-proxy-agent@^5.0.1: agent-base "6" debug "4" +https-proxy-agent@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" + integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== + dependencies: + agent-base "^7.0.2" + debug "4" + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" @@ -13018,10 +14975,10 @@ human-signals@^5.0.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== -husky@^8.0.3: - version "8.0.3" - resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@^9.1.6: + version "9.1.6" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.6.tgz#e23aa996b6203ab33534bdc82306b0cf2cb07d6c" + integrity sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A== hyphenate-style-name@^1.0.3: version "1.0.4" @@ -13042,16 +14999,16 @@ iconv-lite@0.4.23: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.6, iconv-lite@0.6.3: +iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.2: version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" @@ -13073,12 +15030,19 @@ ieee754@^1.1.13: resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== +ignore-walk@^6.0.4: + version "6.0.5" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" + integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== + dependencies: + minimatch "^9.0.0" + +ignore@^5.0.4, ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0: version "5.3.1" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== @@ -13116,6 +15080,14 @@ import-fresh@^3.2.1, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + import-local@^3.0.2: version "3.2.0" resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz" @@ -13134,11 +15106,6 @@ indent-string@^4.0.0: resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indent-string@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz" - integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== - infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" @@ -13162,11 +15129,29 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@~1.3.0: +ini@^1.3.2, ini@^1.3.8, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.3.tgz#4c359675a6071a46985eb39b14e4a2c0ec98a795" + integrity sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg== + +init-package-json@6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-6.0.3.tgz#2552fba75b6eed2495dc97f44183e2e5a5bcf8b0" + integrity sha512-Zfeb5ol+H+eqJWHTaGca9BovufyGeIfr4zaaBorPmJBMrJ+KBnN+kQx2ZtXdsotUTgldHmHQV44xvUWOUA7E2w== + dependencies: + "@npmcli/package-json" "^5.0.0" + npm-package-arg "^11.0.0" + promzard "^1.0.0" + read "^3.0.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^5.0.0" + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" @@ -13185,6 +15170,27 @@ inline-style-prefixer@^6.0.1: css-in-js-utils "^3.1.0" fast-loops "^1.1.3" +inquirer@^8.2.4: + version "8.2.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + internal-ip@4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" @@ -13212,11 +15218,6 @@ internmap@^1.0.0: resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz" integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== -intersection-observer@^0.12.2: - version "0.12.2" - resolved "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz" - integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg== - invariant@2.2.4, invariant@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" @@ -13224,6 +15225,14 @@ invariant@2.2.4, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" @@ -13317,21 +15326,30 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-buffer@~1.1.1, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-bun-module@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-1.2.1.tgz#495e706f42e29f086fd5fe1ac3c51f106062b9fc" + integrity sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q== + dependencies: + semver "^7.6.3" + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== +is-ci@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + is-core-module@^2.13.0, is-core-module@^2.5.0: version "2.13.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" @@ -13339,6 +15357,20 @@ is-core-module@^2.13.0, is-core-module@^2.5.0: dependencies: hasown "^2.0.0" +is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" @@ -13458,6 +15490,11 @@ is-invalid-path@^0.1.0: dependencies: is-glob "^2.0.0" +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" @@ -13476,6 +15513,11 @@ is-negative-zero@^2.0.2: resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + is-number-object@^1.0.4: version "1.0.7" resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" @@ -13493,10 +15535,10 @@ is-obj@^1.0.1: resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== -is-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-3.0.0.tgz" - integrity sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ== +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-path-cwd@^2.2.0: version "2.2.0" @@ -13508,12 +15550,7 @@ is-path-inside@^3.0.2, is-path-inside@^3.0.3: resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-path-inside@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz" - integrity sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA== - -is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== @@ -13533,9 +15570,9 @@ is-plain-obj@^4.0.0: resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -is-plain-object@5.0.0: +is-plain-object@5.0.0, is-plain-object@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-plain-object@^2.0.4: @@ -13550,13 +15587,6 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-reference@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" @@ -13582,6 +15612,13 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + is-ssh@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz" @@ -13589,6 +15626,11 @@ is-ssh@^1.4.0: dependencies: protocols "^2.0.1" +is-stream@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" @@ -13618,6 +15660,13 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.13, is-typed-array@^1.1.3, is-typed-array@^1.1.9: version "1.1.13" resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" @@ -13699,6 +15748,11 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isexe@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d" + integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== + isobject@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" @@ -13757,10 +15811,10 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== +iterator.prototype@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" + integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== dependencies: define-properties "^1.2.1" get-intrinsic "^1.2.1" @@ -13876,9 +15930,9 @@ jest-config@^29.7.0: slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^29.7.0: +"jest-diff@>=29.4.3 < 30", jest-diff@^29.4.1, jest-diff@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" @@ -14216,7 +16270,14 @@ join-component@^1.1.0: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.10.0, js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -14224,12 +16285,10 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.0.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== jsc-android@^250231.0.0: version "250231.0.0" @@ -14329,6 +16388,11 @@ jsesc@^2.5.1: resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" @@ -14356,6 +16420,11 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-parse-even-better-errors@^3.0.0, json-parse-even-better-errors@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== + json-schema-deref-sync@^0.13.0: version "0.13.0" resolved "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz" @@ -14385,7 +16454,17 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json5@^1.0.1: +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^1.0.1, json5@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== @@ -14397,10 +16476,10 @@ json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonc-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== jsonfile@^4.0.0: version "4.0.0" @@ -14418,6 +16497,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonparse@^1.2.0, jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + jsonwebtoken@8.5.0: version "8.5.0" resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz" @@ -14434,7 +16518,7 @@ jsonwebtoken@8.5.0: ms "^2.1.1" semver "^5.6.0" -"jsx-ast-utils@^2.4.1 || ^3.0.0": +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: version "3.3.5" resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== @@ -14454,10 +16538,15 @@ jszip@^3.7.1: readable-stream "~2.3.6" setimmediate "^1.0.5" -junk@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz" - integrity sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ== +just-diff-apply@^5.2.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== + +just-diff@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" + integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== jwa@^1.4.1: version "1.4.1" @@ -14483,16 +16572,16 @@ katex@^0.16.0, katex@^0.16.9: dependencies: commander "^8.3.0" -keyv@^4.5.3: +keyv@^4.5.3, keyv@^4.5.4: version "4.5.4" resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" -khroma@^2.0.0: +khroma@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1" integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: @@ -14505,21 +16594,49 @@ kleur@^3.0.3: resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -kleur@^4.0.3: - version "4.1.5" - resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - klona@^2.0.4: version "2.0.6" resolved "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz" integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== +kolorist@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" + integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== + +langium@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/langium/-/langium-3.0.0.tgz#4938294eb57c59066ef955070ac4d0c917b26026" + integrity sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg== + dependencies: + chevrotain "~11.0.3" + chevrotain-allstar "~0.3.0" + vscode-languageserver "~9.0.1" + vscode-languageserver-textdocument "~1.0.11" + vscode-uri "~3.0.8" + +language-subtag-registry@^0.3.20: + version "0.3.23" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + layout-base@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz" integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg== +layout-base@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-2.0.1.tgz#d0337913586c90f9c2c075292069f5c2da5dd285" + integrity sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg== + lazy-universal-dotenv@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz" @@ -14529,6 +16646,93 @@ lazy-universal-dotenv@^4.0.0: dotenv "^16.0.0" dotenv-expand "^10.0.0" +lerna@^8.1.8: + version "8.1.8" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-8.1.8.tgz#9edc9ce4fb4b6c7e22c994e9ef91d4e0370595b2" + integrity sha512-Rmo5ShMx73xM2CUcRixjmpZIXB7ZFlWEul1YvJyx/rH4onAwDHtUGD7Rx4NZYL8QSRiQHroglM2Oyq+WqA4BYg== + dependencies: + "@lerna/create" "8.1.8" + "@npmcli/arborist" "7.5.4" + "@npmcli/package-json" "5.2.0" + "@npmcli/run-script" "8.1.0" + "@nx/devkit" ">=17.1.2 < 20" + "@octokit/plugin-enterprise-rest" "6.0.1" + "@octokit/rest" "19.0.11" + aproba "2.0.0" + byte-size "8.1.1" + chalk "4.1.0" + clone-deep "4.0.1" + cmd-shim "6.0.3" + color-support "1.1.3" + columnify "1.6.0" + console-control-strings "^1.1.0" + conventional-changelog-angular "7.0.0" + conventional-changelog-core "5.0.1" + conventional-recommended-bump "7.0.1" + cosmiconfig "^8.2.0" + dedent "1.5.3" + envinfo "7.13.0" + execa "5.0.0" + fs-extra "^11.2.0" + get-port "5.1.1" + get-stream "6.0.0" + git-url-parse "14.0.0" + glob-parent "6.0.2" + globby "11.1.0" + graceful-fs "4.2.11" + has-unicode "2.0.1" + import-local "3.1.0" + ini "^1.3.8" + init-package-json "6.0.3" + inquirer "^8.2.4" + is-ci "3.0.1" + is-stream "2.0.0" + jest-diff ">=29.4.3 < 30" + js-yaml "4.1.0" + libnpmaccess "8.0.6" + libnpmpublish "9.0.9" + load-json-file "6.2.0" + lodash "^4.17.21" + make-dir "4.0.0" + minimatch "3.0.5" + multimatch "5.0.0" + node-fetch "2.6.7" + npm-package-arg "11.0.2" + npm-packlist "8.0.2" + npm-registry-fetch "^17.1.0" + nx ">=17.1.2 < 20" + p-map "4.0.0" + p-map-series "2.1.0" + p-pipe "3.1.0" + p-queue "6.6.2" + p-reduce "2.1.0" + p-waterfall "2.1.1" + pacote "^18.0.6" + pify "5.0.0" + read-cmd-shim "4.0.0" + resolve-from "5.0.0" + rimraf "^4.4.1" + semver "^7.3.8" + set-blocking "^2.0.0" + signal-exit "3.0.7" + slash "3.0.0" + ssri "^10.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" + strong-log-transformer "2.1.0" + tar "6.2.1" + temp-dir "1.0.0" + typescript ">=3 < 6" + upath "2.0.1" + uuid "^10.0.0" + validate-npm-package-license "3.0.4" + validate-npm-package-name "5.0.1" + wide-align "1.1.5" + write-file-atomic "5.0.1" + write-pkg "4.0.0" + yargs "17.7.2" + yargs-parser "21.1.1" + leven@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" @@ -14542,6 +16746,28 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libnpmaccess@8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-8.0.6.tgz#73be4c236258babc0a0bca6d3b6a93a6adf937cf" + integrity sha512-uM8DHDEfYG6G5gVivVl+yQd4pH3uRclHC59lzIbSvy7b5FEwR+mU49Zq1jEyRtRFv7+M99mUW9S0wL/4laT4lw== + dependencies: + npm-package-arg "^11.0.2" + npm-registry-fetch "^17.0.1" + +libnpmpublish@9.0.9: + version "9.0.9" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-9.0.9.tgz#e737378c09f09738377d2a276734be35cffb85e2" + integrity sha512-26zzwoBNAvX9AWOPiqqF6FG4HrSCPsHFkQm7nT+xU1ggAujL/eae81RnCv4CJ2In9q9fh10B88sYSzKCUh/Ghg== + dependencies: + ci-info "^4.0.0" + normalize-package-data "^6.0.1" + npm-package-arg "^11.0.2" + npm-registry-fetch "^17.0.1" + proc-log "^4.2.0" + semver "^7.3.7" + sigstore "^2.2.0" + ssri "^10.0.6" + lie@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" @@ -14620,16 +16846,21 @@ lightningcss@~1.19.0: lightningcss-linux-x64-musl "1.19.0" lightningcss-win32-x64-msvc "1.19.0" -lilconfig@3.0.0, lilconfig@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== - lilconfig@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lilconfig@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + limes@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/limes/-/limes-2.0.0.tgz" @@ -14638,39 +16869,64 @@ limes@2.0.0: "@babel/runtime" "7.3.4" jsonwebtoken "8.5.0" +lines-and-columns@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b" + integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^15.0.1: - version "15.2.2" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz" - integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== - dependencies: - chalk "5.3.0" - commander "11.1.0" - debug "4.3.4" - execa "8.0.1" - lilconfig "3.0.0" - listr2 "8.0.1" - micromatch "4.0.5" - pidtree "0.6.0" - string-argv "0.3.2" - yaml "2.3.4" - -listr2@8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz" - integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== +lint-staged@^15.2.10: + version "15.2.10" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.10.tgz#92ac222f802ba911897dcf23671da5bb80643cd2" + integrity sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg== + dependencies: + chalk "~5.3.0" + commander "~12.1.0" + debug "~4.3.6" + execa "~8.0.1" + lilconfig "~3.1.2" + listr2 "~8.2.4" + micromatch "~4.0.8" + pidtree "~0.6.0" + string-argv "~0.3.2" + yaml "~2.5.0" + +listr2@~8.2.4: + version "8.2.5" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.5.tgz#5c9db996e1afeb05db0448196d3d5f64fec2593d" + integrity sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" eventemitter3 "^5.0.1" - log-update "^6.0.0" - rfdc "^1.3.0" + log-update "^6.1.0" + rfdc "^1.4.1" wrap-ansi "^9.0.0" +load-json-file@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" @@ -14694,6 +16950,14 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: emojis-list "^3.0.0" json5 "^2.1.2" +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + localforage@*, localforage@^1.10.0: version "1.10.0" resolved "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz" @@ -14701,6 +16965,14 @@ localforage@*, localforage@^1.10.0: dependencies: lie "3.1.1" +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" @@ -14730,7 +17002,7 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" -lodash-es@^4.17.21: +lodash-es@4.17.21, lodash-es@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -14750,11 +17022,6 @@ lodash.foreach@^4.5.0: resolved "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz" integrity sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ== -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - lodash.groupby@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz" @@ -14780,6 +17047,11 @@ lodash.isinteger@^4.0.4: resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== + lodash.isnumber@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" @@ -14847,7 +17119,7 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -log-symbols@^4.1.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -14855,14 +17127,14 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-update@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz" - integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== dependencies: - ansi-escapes "^6.2.0" - cli-cursor "^4.0.0" - slice-ansi "^7.0.0" + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" strip-ansi "^7.1.0" wrap-ansi "^9.0.0" @@ -14907,6 +17179,11 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lru-cache@^10.0.1, lru-cache@^10.2.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^10.2.0: version "10.2.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" @@ -14963,6 +17240,13 @@ magic-string@^0.30.5: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +make-dir@4.0.0, make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" @@ -14978,18 +17262,29 @@ make-dir@^3.0.2: dependencies: semver "^6.0.0" -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - make-error@^1.1.1: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +make-fetch-happen@^13.0.0, make-fetch-happen@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz#273ba2f78f45e1f3a6dca91cede87d9fa4821e36" + integrity sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA== + dependencies: + "@npmcli/agent" "^2.0.0" + cacache "^18.0.0" + http-cache-semantics "^4.1.1" + is-lambda "^1.0.1" + minipass "^7.0.2" + minipass-fetch "^3.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + proc-log "^4.2.0" + promise-retry "^2.0.1" + ssri "^10.0.0" + makeerror@1.0.12: version "1.0.12" resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" @@ -15002,7 +17297,7 @@ map-obj@^1.0.0: resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== -map-obj@^4.0.0, map-obj@^4.1.0: +map-obj@^4.0.0: version "4.3.0" resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== @@ -15012,10 +17307,10 @@ map-or-similar@^1.5.0: resolved "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== -markdown-extensions@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz" - integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== +markdown-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" + integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== markdown-table@^3.0.0: version "3.0.3" @@ -15027,6 +17322,11 @@ markdown-to-jsx@^7.1.8: resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz" integrity sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A== +marked@^13.0.2: + version "13.0.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-13.0.3.tgz#5c5b4a5d0198060c7c9bc6ef9420a7fed30f822d" + integrity sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA== + marks-pane@^1.0.9: version "1.0.9" resolved "https://registry.npmjs.org/marks-pane/-/marks-pane-1.0.9.tgz" @@ -15037,13 +17337,15 @@ marky@^1.2.2: resolved "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz" integrity sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q== -match-sorter@^6.3.1: - version "6.3.4" - resolved "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz" - integrity sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg== +mathjax-full@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/mathjax-full/-/mathjax-full-3.2.2.tgz#43f02e55219db393030985d2b6537ceae82f1fa7" + integrity sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w== dependencies: - "@babel/runtime" "^7.23.8" - remove-accents "0.5.0" + esm "^3.2.25" + mhchemparser "^4.1.0" + mj-context-menu "^0.6.1" + speech-rule-engine "^4.0.6" md5-file@^3.2.3: version "3.2.3" @@ -15082,15 +17384,6 @@ mdast-util-definitions@^4.0.0: dependencies: unist-util-visit "^2.0.0" -mdast-util-definitions@^5.0.0: - version "5.1.2" - resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz" - integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - mdast-util-directive@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz" @@ -15105,33 +17398,15 @@ mdast-util-directive@^3.0.0: stringify-entities "^4.0.0" unist-util-visit-parents "^6.0.0" -mdast-util-find-and-replace@^2.0.0: - version "2.2.2" - resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz" - integrity sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw== +mdast-util-find-and-replace@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz#a6fc7b62f0994e973490e45262e4bc07607b04e0" + integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" escape-string-regexp "^5.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.0.0" - -mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0, mdast-util-from-markdown@^1.3.0: - version "1.3.1" - resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz" - integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" mdast-util-from-markdown@^2.0.0: version "2.0.0" @@ -15151,83 +17426,95 @@ mdast-util-from-markdown@^2.0.0: micromark-util-types "^2.0.0" unist-util-stringify-position "^4.0.0" -mdast-util-gfm-autolink-literal@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz" - integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA== +mdast-util-frontmatter@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" + integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + escape-string-regexp "^5.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + +mdast-util-gfm-autolink-literal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5" + integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" ccount "^2.0.0" - mdast-util-find-and-replace "^2.0.0" - micromark-util-character "^1.0.0" + devlop "^1.0.0" + mdast-util-find-and-replace "^3.0.0" + micromark-util-character "^2.0.0" -mdast-util-gfm-footnote@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz" - integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ== +mdast-util-gfm-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz#25a1753c7d16db8bfd53cd84fe50562bd1e6d6a9" + integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-markdown "^1.3.0" - micromark-util-normalize-identifier "^1.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" -mdast-util-gfm-strikethrough@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz" - integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ== +mdast-util-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" + integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-markdown "^1.3.0" + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" -mdast-util-gfm-table@^1.0.0: - version "1.0.7" - resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz" - integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg== +mdast-util-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" + integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== dependencies: - "@types/mdast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" markdown-table "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.3.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" -mdast-util-gfm-task-list-item@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz" - integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ== +mdast-util-gfm-task-list-item@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" + integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-markdown "^1.3.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" -mdast-util-gfm@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz" - integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg== - dependencies: - mdast-util-from-markdown "^1.0.0" - mdast-util-gfm-autolink-literal "^1.0.0" - mdast-util-gfm-footnote "^1.0.0" - mdast-util-gfm-strikethrough "^1.0.0" - mdast-util-gfm-table "^1.0.0" - mdast-util-gfm-task-list-item "^1.0.0" - mdast-util-to-markdown "^1.0.0" - -mdast-util-math@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-2.0.2.tgz" - integrity sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ== +mdast-util-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz#3f2aecc879785c3cb6a81ff3a243dc11eca61095" + integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== dependencies: - "@types/mdast" "^3.0.0" - longest-streak "^3.0.0" - mdast-util-to-markdown "^1.3.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-gfm-autolink-literal "^2.0.0" + mdast-util-gfm-footnote "^2.0.0" + mdast-util-gfm-strikethrough "^2.0.0" + mdast-util-gfm-table "^2.0.0" + mdast-util-gfm-task-list-item "^2.0.0" + mdast-util-to-markdown "^2.0.0" -mdast-util-mdx-expression@^1.0.0: - version "1.3.2" - resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz" - integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== +mdast-util-math@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-math/-/mdast-util-math-3.0.0.tgz#8d79dd3baf8ab8ac781f62b8853768190b9a00b0" + integrity sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + longest-streak "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.1.0" + unist-util-remove-position "^5.0.0" mdast-util-mdx-expression@^2.0.0: version "2.0.0" @@ -15241,24 +17528,6 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" -mdast-util-mdx-jsx@^2.0.0: - version "2.1.4" - resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz" - integrity sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA== - dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - ccount "^2.0.0" - mdast-util-from-markdown "^1.1.0" - mdast-util-to-markdown "^1.3.0" - parse-entities "^4.0.0" - stringify-entities "^4.0.0" - unist-util-remove-position "^4.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - mdast-util-mdx-jsx@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz" @@ -15278,27 +17547,16 @@ mdast-util-mdx-jsx@^3.0.0: unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" -mdast-util-mdx@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz" - integrity sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw== - dependencies: - mdast-util-from-markdown "^1.0.0" - mdast-util-mdx-expression "^1.0.0" - mdast-util-mdx-jsx "^2.0.0" - mdast-util-mdxjs-esm "^1.0.0" - mdast-util-to-markdown "^1.0.0" - -mdast-util-mdxjs-esm@^1.0.0: - version "1.3.1" - resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz" - integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w== +mdast-util-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" + integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== dependencies: - "@types/estree-jsx" "^1.0.0" - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - mdast-util-to-markdown "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + mdast-util-to-markdown "^2.0.0" mdast-util-mdxjs-esm@^2.0.0: version "2.0.1" @@ -15312,14 +17570,6 @@ mdast-util-mdxjs-esm@^2.0.0: mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" -mdast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz" - integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== - dependencies: - "@types/mdast" "^3.0.0" - unist-util-is "^5.0.0" - mdast-util-phrasing@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz" @@ -15328,20 +17578,6 @@ mdast-util-phrasing@^4.0.0: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" -mdast-util-to-hast@^12.1.0: - version "12.3.0" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz" - integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-definitions "^5.0.0" - micromark-util-sanitize-uri "^1.1.0" - trim-lines "^3.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - mdast-util-to-hast@^13.0.0: version "13.1.0" resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz" @@ -15357,21 +17593,7 @@ mdast-util-to-hast@^13.0.0: unist-util-visit "^5.0.0" vfile "^6.0.0" -mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: - version "1.5.0" - resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz" - integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^3.0.0" - mdast-util-to-string "^3.0.0" - micromark-util-decode-string "^1.0.0" - unist-util-visit "^4.0.0" - zwitch "^2.0.0" - -mdast-util-to-markdown@^2.0.0: +mdast-util-to-markdown@^2.0.0, mdast-util-to-markdown@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz" integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== @@ -15390,13 +17612,6 @@ mdast-util-to-string@^1.0.0: resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz" - integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz" @@ -15443,45 +17658,22 @@ memory-cache@~0.2.0: resolved "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz" integrity sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA== -meow@^10.1.2: - version "10.1.5" - resolved "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz" - integrity sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw== - dependencies: - "@types/minimist" "^1.2.2" - camelcase-keys "^7.0.0" - decamelize "^5.0.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.2" - read-pkg-up "^8.0.0" - redent "^4.0.0" - trim-newlines "^4.0.2" - type-fest "^1.2.2" - yargs-parser "^20.2.9" - -meow@^12.0.1: - version "12.1.1" - resolved "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz" - integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== - -meow@^6.0.0: - version "6.1.1" - resolved "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz" - integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== +meow@^8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" + type-fest "^0.18.0" + yargs-parser "^20.2.3" merge-descriptors@1.0.1: version "1.0.1" @@ -15505,30 +17697,30 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@^10.2.2: - version "10.8.0" - resolved "https://registry.npmjs.org/mermaid/-/mermaid-10.8.0.tgz" - integrity sha512-9CzfSreRjdDJxX796+jW4zjEq0DVw5xVF0nWsqff8OTbrt+ml0TZ5PyYUjjUZJa2NYxYJZZXewEquxGiM8qZEA== +mermaid@^11.0.0: + version "11.3.0" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-11.3.0.tgz#971c7a02c3a8e11058d42abf74196b72e70f2889" + integrity sha512-fFmf2gRXLtlGzug4wpIGN+rQdZ30M8IZEB1D3eZkXNqC7puhqeURBcD/9tbwXsqBO+A6Nzzo3MSSepmnw5xSeg== dependencies: - "@braintree/sanitize-url" "^6.0.1" - "@types/d3-scale" "^4.0.3" - "@types/d3-scale-chromatic" "^3.0.0" - cytoscape "^3.28.1" + "@braintree/sanitize-url" "^7.0.1" + "@iconify/utils" "^2.1.32" + "@mermaid-js/parser" "^0.3.0" + cytoscape "^3.29.2" cytoscape-cose-bilkent "^4.1.0" - d3 "^7.4.0" + cytoscape-fcose "^2.2.0" + d3 "^7.9.0" d3-sankey "^0.12.3" dagre-d3-es "7.0.10" - dayjs "^1.11.7" - dompurify "^3.0.5" - elkjs "^0.9.0" - khroma "^2.0.0" + dayjs "^1.11.10" + dompurify "^3.0.11 <3.1.7" + katex "^0.16.9" + khroma "^2.1.0" lodash-es "^4.17.21" - mdast-util-from-markdown "^1.3.0" - non-layered-tidy-tree-layout "^2.0.2" - stylis "^4.1.3" + marked "^13.0.2" + roughjs "^4.6.6" + stylis "^4.3.1" ts-dedent "^2.2.0" - uuid "^9.0.0" - web-worker "^1.2.0" + uuid "^9.0.1" methods@~1.1.2: version "1.1.2" @@ -15719,27 +17911,10 @@ metro@0.80.6, metro@^0.80.3, metro@^0.80.5: ws "^7.5.1" yargs "^17.6.2" -micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz" - integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" +mhchemparser@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/mhchemparser/-/mhchemparser-4.2.1.tgz#d73982e66bc06170a85b1985600ee9dabe157cb0" + integrity sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ== micromark-core-commonmark@^2.0.0: version "2.0.0" @@ -15776,172 +17951,174 @@ micromark-extension-directive@^3.0.0: micromark-util-types "^2.0.0" parse-entities "^4.0.0" -micromark-extension-gfm-autolink-literal@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz" - integrity sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg== +micromark-extension-frontmatter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" + integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== dependencies: - micromark-util-character "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + fault "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-extension-gfm-footnote@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz" - integrity sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q== - dependencies: - micromark-core-commonmark "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-extension-gfm-strikethrough@^1.0.0: - version "1.0.7" - resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz" - integrity sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw== +micromark-extension-gfm-autolink-literal@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-extension-gfm-table@^1.0.0: - version "1.0.7" - resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz" - integrity sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw== +micromark-extension-gfm-footnote@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-extension-gfm-tagfilter@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz" - integrity sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g== +micromark-extension-gfm-strikethrough@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== dependencies: - micromark-util-types "^1.0.0" + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-extension-gfm-task-list-item@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz" - integrity sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ== +micromark-extension-gfm-table@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz#5cadedfbb29fca7abf752447967003dc3b6583c9" + integrity sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g== dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-extension-gfm@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz" - integrity sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ== - dependencies: - micromark-extension-gfm-autolink-literal "^1.0.0" - micromark-extension-gfm-footnote "^1.0.0" - micromark-extension-gfm-strikethrough "^1.0.0" - micromark-extension-gfm-table "^1.0.0" - micromark-extension-gfm-tagfilter "^1.0.0" - micromark-extension-gfm-task-list-item "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-extension-math@^2.0.0: - version "2.1.2" - resolved "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-2.1.2.tgz" - integrity sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg== +micromark-extension-gfm-tagfilter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" + integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-gfm-task-list-item@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" + integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== + dependencies: + micromark-extension-gfm-autolink-literal "^2.0.0" + micromark-extension-gfm-footnote "^2.0.0" + micromark-extension-gfm-strikethrough "^2.0.0" + micromark-extension-gfm-table "^2.0.0" + micromark-extension-gfm-tagfilter "^2.0.0" + micromark-extension-gfm-task-list-item "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-math@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz#c42ee3b1dd5a9a03584e83dd8f08e3de510212c1" + integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== dependencies: "@types/katex" "^0.16.0" + devlop "^1.0.0" katex "^0.16.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" -micromark-extension-mdx-expression@^1.0.0: - version "1.0.8" - resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz" - integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw== +micromark-extension-mdx-expression@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz#1407b9ce69916cf5e03a196ad9586889df25302a" + integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== dependencies: "@types/estree" "^1.0.0" - micromark-factory-mdx-expression "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-extension-mdx-jsx@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz" - integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA== + devlop "^1.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz#5abb83da5ddc8e473a374453e6ea56fbd66b59ad" + integrity sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg== dependencies: "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" - estree-util-is-identifier-name "^2.0.0" - micromark-factory-mdx-expression "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-extension-mdx-md@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz" - integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA== + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdx-md@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" + integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== dependencies: - micromark-util-types "^1.0.0" + micromark-util-types "^2.0.0" -micromark-extension-mdxjs-esm@^1.0.0: - version "1.0.5" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz" - integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w== +micromark-extension-mdxjs-esm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" + integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== dependencies: "@types/estree" "^1.0.0" - micromark-core-commonmark "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-position-from-estree "^1.1.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-extension-mdxjs@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz" - integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q== + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdxjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" + integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== dependencies: acorn "^8.0.0" acorn-jsx "^5.0.0" - micromark-extension-mdx-expression "^1.0.0" - micromark-extension-mdx-jsx "^1.0.0" - micromark-extension-mdx-md "^1.0.0" - micromark-extension-mdxjs-esm "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-destination@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz" - integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" + micromark-extension-mdx-expression "^3.0.0" + micromark-extension-mdx-jsx "^3.0.0" + micromark-extension-mdx-md "^2.0.0" + micromark-extension-mdxjs-esm "^3.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" micromark-factory-destination@^2.0.0: version "2.0.0" @@ -15952,16 +18129,6 @@ micromark-factory-destination@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-label@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz" - integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - micromark-factory-label@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz" @@ -15972,27 +18139,20 @@ micromark-factory-label@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-mdx-expression@^1.0.0: - version "1.0.9" - resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz" - integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA== +micromark-factory-mdx-expression@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz#2afaa8ba6d5f63e0cead3e4dee643cad184ca260" + integrity sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw== dependencies: "@types/estree" "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-events-to-acorn "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-position-from-estree "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" micromark-factory-space@^2.0.0: version "2.0.0" @@ -16002,16 +18162,6 @@ micromark-factory-space@^2.0.0: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-title@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz" - integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-factory-title@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz" @@ -16022,16 +18172,6 @@ micromark-factory-title@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-factory-whitespace@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz" - integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-factory-whitespace@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz" @@ -16042,14 +18182,6 @@ micromark-factory-whitespace@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-character@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-util-character@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz" @@ -16058,13 +18190,6 @@ micromark-util-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-chunked@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz" - integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-chunked@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz" @@ -16072,15 +18197,6 @@ micromark-util-chunked@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" -micromark-util-classify-character@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz" - integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - micromark-util-classify-character@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz" @@ -16090,14 +18206,6 @@ micromark-util-classify-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-combine-extensions@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz" - integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" - micromark-util-combine-extensions@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz" @@ -16106,13 +18214,6 @@ micromark-util-combine-extensions@^2.0.0: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz" - integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-decode-numeric-character-reference@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz" @@ -16120,16 +18221,6 @@ micromark-util-decode-numeric-character-reference@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" -micromark-util-decode-string@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz" - integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-decode-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz" @@ -16140,47 +18231,30 @@ micromark-util-decode-string@^2.0.0: micromark-util-decode-numeric-character-reference "^2.0.0" micromark-util-symbol "^2.0.0" -micromark-util-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz" - integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== - micromark-util-encode@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz" integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== -micromark-util-events-to-acorn@^1.0.0: - version "1.2.3" - resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz" - integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w== +micromark-util-events-to-acorn@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz#4275834f5453c088bd29cd72dfbf80e3327cec07" + integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== dependencies: "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" - "@types/unist" "^2.0.0" - estree-util-visit "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - vfile-message "^3.0.0" - -micromark-util-html-tag-name@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz" - integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== + "@types/unist" "^3.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" micromark-util-html-tag-name@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz" integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== -micromark-util-normalize-identifier@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz" - integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-normalize-identifier@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz" @@ -16188,13 +18262,6 @@ micromark-util-normalize-identifier@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" -micromark-util-resolve-all@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz" - integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== - dependencies: - micromark-util-types "^1.0.0" - micromark-util-resolve-all@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz" @@ -16202,15 +18269,6 @@ micromark-util-resolve-all@^2.0.0: dependencies: micromark-util-types "^2.0.0" -micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz" - integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-sanitize-uri@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz" @@ -16220,16 +18278,6 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" -micromark-util-subtokenize@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz" - integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - micromark-util-subtokenize@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz" @@ -16240,49 +18288,16 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromark-util-symbol@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== - micromark-util-symbol@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== - micromark-util-types@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz" integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== -micromark@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz" - integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - micromark@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz" @@ -16306,7 +18321,7 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -16314,6 +18329,14 @@ micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" +micromatch@~4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" @@ -16356,6 +18379,11 @@ mimic-fn@^4.0.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== + min-indent@^1.0.0, min-indent@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" @@ -16373,6 +18401,13 @@ mini-svg-data-uri@^1.2.3: dependencies: brace-expansion "^1.1.7" +minimatch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + minimatch@9.0.3, minimatch@^9.0.1: version "9.0.3" resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" @@ -16387,14 +18422,21 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.4: +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.0, minimatch@^9.0.4: version "9.0.5" resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" -minimist-options@4.1.0, minimist-options@^4.0.2: +minimist-options@4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== @@ -16415,6 +18457,24 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" +minipass-collect@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-2.0.1.tgz#1621bc77e12258a12c60d34e2276ec5c20680863" + integrity sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== + dependencies: + minipass "^7.0.3" + +minipass-fetch@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" + integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== + dependencies: + minipass "^7.0.3" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" @@ -16422,13 +18482,20 @@ minipass-flush@^1.0.5: dependencies: minipass "^3.0.0" -minipass-pipeline@^1.2.2: +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + minipass@3.3.6, minipass@^3.0.0, minipass@^3.1.1: version "3.3.6" resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" @@ -16436,6 +18503,11 @@ minipass@3.3.6, minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + minipass@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" @@ -16446,12 +18518,12 @@ minipass@^5.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== -minipass@^7.1.2: +minipass@^7.0.2, minipass@^7.0.3, minipass@^7.1.2: version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== -minizlib@^2.1.1: +minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -16459,6 +18531,11 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" +mj-context-menu@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/mj-context-menu/-/mj-context-menu-0.6.1.tgz#a043c5282bf7e1cf3821de07b13525ca6f85aa69" + integrity sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA== + mkdirp-classic@^0.5.2: version "0.5.3" resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" @@ -16476,6 +18553,21 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mlly@^1.4.2, mlly@^1.7.1, mlly@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.2.tgz#21c0d04543207495b8d867eff0ac29fac9a023c0" + integrity sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA== + dependencies: + acorn "^8.12.1" + pathe "^1.1.2" + pkg-types "^1.2.0" + ufo "^1.5.4" + +modify-values@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== + moment@2.22.2: version "2.22.2" resolved "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz" @@ -16492,35 +18584,6 @@ morgan@1.9.1: on-finished "~2.3.0" on-headers "~1.0.1" -mount-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/mount-point/-/mount-point-3.0.0.tgz" - integrity sha512-jAhfD7ZCG+dbESZjcY1SdFVFqSJkh/yGbdsifHcPkvuLRO5ugK0Ssmd9jdATu29BTd4JiN+vkpMzVvsUgP3SZA== - dependencies: - "@sindresorhus/df" "^1.0.1" - pify "^2.3.0" - pinkie-promise "^2.0.1" - -move-cli@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/move-cli/-/move-cli-2.0.0.tgz" - integrity sha512-/YUsTv5Gwemt9Iv2YkyVJvqphssA97I5fc2fr1Ak+Buh4pSDIPCTunx+wespnsEK3m31xVYwj8btzmdfUM90Dw== - dependencies: - meow "^6.0.0" - mv "^2.1.1" - -move-file@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz" - integrity sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A== - dependencies: - path-exists "^5.0.0" - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -16531,12 +18594,33 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -mv@^2.1.1, mv@~2: +multimatch@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mute-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== + +mv@~2: version "2.1.1" resolved "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz" integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== @@ -16593,125 +18677,120 @@ negotiator@0.6.3: resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.5.0, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -nested-error-stacks@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz" - integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== - nested-error-stacks@~2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz" integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== -next-mdx-remote@^4.2.1: - version "4.4.1" - resolved "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz" - integrity sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ== - dependencies: - "@mdx-js/mdx" "^2.2.1" - "@mdx-js/react" "^2.2.1" - vfile "^5.3.0" - vfile-matter "^3.0.1" - -next-seo@^6.0.0: - version "6.5.0" - resolved "https://registry.npmjs.org/next-seo/-/next-seo-6.5.0.tgz" - integrity sha512-MfzUeWTN/x/rsKp/1n0213eojO97lIl0unxqbeCY+6pAucViHDA8GSLRRcXpgjsSmBxfCFdfpu7LXbt4ANQoNQ== - -next-themes@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz" - integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A== +next-themes@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.3.0.tgz#b4d2a866137a67d42564b07f3a3e720e2ff3871a" + integrity sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w== next-tick@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -next@^13.5.6: - version "13.5.6" - resolved "https://registry.npmjs.org/next/-/next-13.5.6.tgz" - integrity sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw== +next@^14.2.15: + version "14.2.15" + resolved "https://registry.yarnpkg.com/next/-/next-14.2.15.tgz#348e5603e22649775d19c785c09a89c9acb5189a" + integrity sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw== dependencies: - "@next/env" "13.5.6" - "@swc/helpers" "0.5.2" + "@next/env" "14.2.15" + "@swc/helpers" "0.5.5" busboy "1.6.0" - caniuse-lite "^1.0.30001406" + caniuse-lite "^1.0.30001579" + graceful-fs "^4.2.11" postcss "8.4.31" styled-jsx "5.1.1" - watchpack "2.4.0" optionalDependencies: - "@next/swc-darwin-arm64" "13.5.6" - "@next/swc-darwin-x64" "13.5.6" - "@next/swc-linux-arm64-gnu" "13.5.6" - "@next/swc-linux-arm64-musl" "13.5.6" - "@next/swc-linux-x64-gnu" "13.5.6" - "@next/swc-linux-x64-musl" "13.5.6" - "@next/swc-win32-arm64-msvc" "13.5.6" - "@next/swc-win32-ia32-msvc" "13.5.6" - "@next/swc-win32-x64-msvc" "13.5.6" - -nextra-theme-docs@^2.13.2: - version "2.13.3" - resolved "https://registry.npmjs.org/nextra-theme-docs/-/nextra-theme-docs-2.13.3.tgz" - integrity sha512-B6xrnR86Gg4GzV56AomSwtmvSyAvnJz1xKOGGav1XKxkwvC8QeI17jdt/CqiKyIObJ+5bLqSFiKhaAZ5DYQP3g== - dependencies: - "@headlessui/react" "^1.7.17" - "@popperjs/core" "^2.11.8" + "@next/swc-darwin-arm64" "14.2.15" + "@next/swc-darwin-x64" "14.2.15" + "@next/swc-linux-arm64-gnu" "14.2.15" + "@next/swc-linux-arm64-musl" "14.2.15" + "@next/swc-linux-x64-gnu" "14.2.15" + "@next/swc-linux-x64-musl" "14.2.15" + "@next/swc-win32-arm64-msvc" "14.2.15" + "@next/swc-win32-ia32-msvc" "14.2.15" + "@next/swc-win32-x64-msvc" "14.2.15" + +nextra-theme-docs@^3.0.15: + version "3.0.15" + resolved "https://registry.yarnpkg.com/nextra-theme-docs/-/nextra-theme-docs-3.0.15.tgz#62a2f57439c903249f075c7cec1b4ba19042a84e" + integrity sha512-AhvmgcjFYi7aT5nRjdozqCt1hW39tqCIRKi4+pIR62ri26miB3VxREBYlCTHezcML2VLunyYIjFiiQGUan09gA== + dependencies: + "@headlessui/react" "^2.1.2" clsx "^2.0.0" escape-string-regexp "^5.0.0" - flexsearch "^0.7.31" - focus-visible "^5.2.0" - git-url-parse "^13.1.0" - intersection-observer "^0.12.2" - match-sorter "^6.3.1" - next-seo "^6.0.0" - next-themes "^0.2.1" + flexsearch "^0.7.43" + next-themes "^0.3.0" scroll-into-view-if-needed "^3.1.0" zod "^3.22.3" -nextra@^2.13.2: - version "2.13.3" - resolved "https://registry.npmjs.org/nextra/-/nextra-2.13.3.tgz" - integrity sha512-OBVuyQKh+oqrbVt0AosgNYnuReWuNrtJVEN7q18b/oEg2wEpuiq3UJfmIvGgOdNYc3zv3OYrzbcq7IhwtdHHEw== +nextra@^3.0.15: + version "3.0.15" + resolved "https://registry.yarnpkg.com/nextra/-/nextra-3.0.15.tgz#b8ee88d9cdf2f5fef5e733574170096567b149f2" + integrity sha512-iLKFNYwq8sciXPK9RPRmgifELSA2JLgEfL5y54stq7MvXuKn44MZJNzdhkJF4MXvx1HobzYLHl3/e37/Yf2htA== dependencies: - "@headlessui/react" "^1.7.17" - "@mdx-js/mdx" "^2.3.0" - "@mdx-js/react" "^2.3.0" + "@formatjs/intl-localematcher" "^0.5.4" + "@headlessui/react" "^2.1.2" + "@mdx-js/mdx" "^3.0.0" + "@mdx-js/react" "^3.0.0" "@napi-rs/simple-git" "^0.1.9" - "@theguild/remark-mermaid" "^0.0.5" - "@theguild/remark-npm2yarn" "^0.2.0" + "@shikijs/twoslash" "^1.0.0" + "@theguild/remark-mermaid" "^0.1.3" + "@theguild/remark-npm2yarn" "^0.3.2" + better-react-mathjax "^2.0.3" clsx "^2.0.0" + estree-util-to-js "^2.0.0" + estree-util-value-to-estree "^3.0.1" github-slugger "^2.0.0" graceful-fs "^4.2.11" gray-matter "^4.0.3" + hast-util-to-estree "^3.1.0" katex "^0.16.9" - lodash.get "^4.4.2" - next-mdx-remote "^4.2.1" - p-limit "^3.1.0" + negotiator "^0.6.3" + p-limit "^6.0.0" rehype-katex "^7.0.0" - rehype-pretty-code "0.9.11" + rehype-pretty-code "0.14.0" rehype-raw "^7.0.0" - remark-gfm "^3.0.1" - remark-math "^5.1.1" + remark-frontmatter "^5.0.0" + remark-gfm "^4.0.0" + remark-math "^6.0.0" remark-reading-time "^2.0.1" - shiki "^0.14.3" - slash "^3.0.0" + remark-smartypants "^3.0.0" + shiki "^1.0.0" + slash "^5.1.0" title "^3.5.3" unist-util-remove "^4.0.0" unist-util-visit "^5.0.0" + yaml "^2.3.2" zod "^3.22.3" + zod-validation-error "^3.0.0" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +nlcst-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz#05511e8461ebfb415952eb0b7e9a1a7d40471bd4" + integrity sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA== + dependencies: + "@types/nlcst" "^2.0.0" + no-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" @@ -16747,6 +18826,13 @@ node-fetch-native@^1.6.1: resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz" integrity sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^2.0.0, node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: version "2.7.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" @@ -16759,11 +18845,32 @@ node-forge@^1.2.1, node-forge@^1.3.1: resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== +node-gyp@^10.0.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.2.0.tgz#80101c4aa4f7ab225f13fcc8daaaac4eb1a8dd86" + integrity sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^10.3.10" + graceful-fs "^4.2.6" + make-fetch-happen "^13.0.0" + nopt "^7.0.0" + proc-log "^4.1.0" + semver "^7.3.5" + tar "^6.2.1" + which "^4.0.0" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== +node-machine-id@1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" + integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== + node-releases@^2.0.14: version "2.0.14" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" @@ -16791,14 +18898,16 @@ node-stream-zip@^1.9.1: resolved "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz" integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== -non-layered-tidy-tree-layout@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz" - integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== +nopt@^7.0.0, nopt@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" + integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== + dependencies: + abbrev "^2.0.0" -normalize-package-data@^2.5.0: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -16806,9 +18915,9 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.2: +normalize-package-data@^3.0.0, normalize-package-data@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: hosted-git-info "^4.0.1" @@ -16816,6 +18925,15 @@ normalize-package-data@^3.0.2: semver "^7.3.4" validate-npm-package-license "^3.0.1" +normalize-package-data@^6.0.0, normalize-package-data@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.2.tgz#a7bc22167fe24025412bcff0a9651eb768b03506" + integrity sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g== + dependencies: + hosted-git-info "^7.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" @@ -16826,6 +18944,45 @@ normalize-range@^0.1.2: resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== +npm-bundled@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" + integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== + dependencies: + npm-normalize-package-bin "^3.0.0" + +npm-install-checks@^6.0.0, npm-install-checks@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.3.0.tgz#046552d8920e801fa9f919cad569545d60e826fe" + integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" + integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== + +npm-package-arg@11.0.2: + version "11.0.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.2.tgz#1ef8006c4a9e9204ddde403035f7ff7d718251ca" + integrity sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw== + dependencies: + hosted-git-info "^7.0.0" + proc-log "^4.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-package-arg@^11.0.0, npm-package-arg@^11.0.2: + version "11.0.3" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.3.tgz#dae0c21199a99feca39ee4bfb074df3adac87e2d" + integrity sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw== + dependencies: + hosted-git-info "^7.0.0" + proc-log "^4.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + npm-package-arg@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz" @@ -16836,6 +18993,37 @@ npm-package-arg@^7.0.0: semver "^5.6.0" validate-npm-package-name "^3.0.0" +npm-packlist@8.0.2, npm-packlist@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-8.0.2.tgz#5b8d1d906d96d21c85ebbeed2cf54147477c8478" + integrity sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA== + dependencies: + ignore-walk "^6.0.4" + +npm-pick-manifest@^9.0.0, npm-pick-manifest@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz#83562afde52b0b07cb6244361788d319ce7e8636" + integrity sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA== + dependencies: + npm-install-checks "^6.0.0" + npm-normalize-package-bin "^3.0.0" + npm-package-arg "^11.0.0" + semver "^7.3.5" + +npm-registry-fetch@^17.0.0, npm-registry-fetch@^17.0.1, npm-registry-fetch@^17.1.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz#fb69e8e762d456f08bda2f5f169f7638fb92beb1" + integrity sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA== + dependencies: + "@npmcli/redact" "^2.0.0" + jsonparse "^1.3.1" + make-fetch-happen "^13.0.0" + minipass "^7.0.2" + minipass-fetch "^3.0.0" + minizlib "^2.1.2" + npm-package-arg "^11.0.0" + proc-log "^4.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" @@ -16843,13 +19031,6 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz" - integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg== - dependencies: - path-key "^3.0.0" - npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" @@ -16864,10 +19045,10 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -npm-to-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/npm-to-yarn/-/npm-to-yarn-2.1.0.tgz" - integrity sha512-2C1IgJLdJngq1bSER7K7CGFszRr9s2rijEwvENPEgI0eK9xlD3tNwDc0UJnRj7FIT2aydWm72jB88uVswAhXHA== +npm-to-yarn@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-to-yarn/-/npm-to-yarn-3.0.0.tgz#05006d97359e285f0316e249dbbe56f377ca1182" + integrity sha512-76YnmsbfrYp0tMsWxM0RNX0Vs+x8JxpJGu6B/jDn4lW8+laiTcKmKi9MeMh4UikO4RkJ1oqURoDy9bXJmMXS6A== npmlog@^5.0.1: version "5.0.1" @@ -16901,6 +19082,57 @@ nwsapi@^2.2.2: resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz" integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== +nx@19.8.6, "nx@>=17.1.2 < 20": + version "19.8.6" + resolved "https://registry.yarnpkg.com/nx/-/nx-19.8.6.tgz#979a8b6183596a69fcaa975aeb74d01c37294309" + integrity sha512-VkEbXoCil4UnSDOJP5OcIKZgI13hKsFlQNf6oKhUHCYWoEHvVqpvabMv/ZY9mGG78skvqAorzn85BS3evlt0Cw== + dependencies: + "@napi-rs/wasm-runtime" "0.2.4" + "@nrwl/tao" "19.8.6" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "3.0.0-rc.46" + "@zkochan/js-yaml" "0.0.7" + axios "^1.7.4" + chalk "^4.1.0" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^8.0.1" + dotenv "~16.4.5" + dotenv-expand "~11.0.6" + enquirer "~2.3.6" + figures "3.2.0" + flat "^5.0.2" + front-matter "^4.0.2" + ignore "^5.0.4" + jest-diff "^29.4.1" + jsonc-parser "3.2.0" + lines-and-columns "2.0.3" + minimatch "9.0.3" + node-machine-id "1.1.12" + npm-run-path "^4.0.1" + open "^8.4.0" + ora "5.3.0" + semver "^7.5.3" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + yargs "^17.6.2" + yargs-parser "21.1.1" + optionalDependencies: + "@nx/nx-darwin-arm64" "19.8.6" + "@nx/nx-darwin-x64" "19.8.6" + "@nx/nx-freebsd-x64" "19.8.6" + "@nx/nx-linux-arm-gnueabihf" "19.8.6" + "@nx/nx-linux-arm64-gnu" "19.8.6" + "@nx/nx-linux-arm64-musl" "19.8.6" + "@nx/nx-linux-x64-gnu" "19.8.6" + "@nx/nx-linux-x64-musl" "19.8.6" + "@nx/nx-win32-arm64-msvc" "19.8.6" + "@nx/nx-win32-x64-msvc" "19.8.6" + nypm@^0.3.3: version "0.3.6" resolved "https://registry.npmjs.org/nypm/-/nypm-0.3.6.tgz" @@ -16944,7 +19176,7 @@ object-keys@^1.1.1: resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -16954,23 +19186,24 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== +object.entries@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -object.fromentries@^2.0.6: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" object.getownpropertydescriptors@^2.0.3: version "2.1.7" @@ -16983,13 +19216,14 @@ object.getownpropertydescriptors@^2.0.3: es-abstract "^1.22.1" safe-array-concat "^1.0.0" -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" object.values@^1.1.6: version "1.1.7" @@ -17000,6 +19234,15 @@ object.values@^1.1.6: define-properties "^1.2.0" es-abstract "^1.22.1" +object.values@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + objectorarray@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz" @@ -17057,6 +19300,20 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== + dependencies: + mimic-function "^5.0.0" + +oniguruma-to-js@0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz#8d899714c21f5c7d59a3c0008ca50e848086d740" + integrity sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ== + dependencies: + regex "^4.3.2" + open@^6.2.0: version "6.4.0" resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz" @@ -17105,6 +19362,20 @@ ora@3.4.0, ora@^3.4.0: strip-ansi "^5.2.0" wcwidth "^1.0.1" +ora@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" + integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== + dependencies: + bl "^4.0.3" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + log-symbols "^4.0.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + ora@^5.4.1: version "5.4.1" resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" @@ -17148,29 +19419,17 @@ overlayscrollbars@^2.10.0: resolved "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-2.10.0.tgz" integrity sha512-diNMeEafWTE0A4GJfwRpdBp2rE/BEvrhptBdBcDu8/UeytWcdCy9Td8tZWnztJeJ26f8/uHCWfPnPUC/dtgJdw== -p-event@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz" - integrity sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== - dependencies: - p-timeout "^5.0.2" - -p-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz" - integrity sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== - dependencies: - p-map "^5.1.0" - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" @@ -17193,6 +19452,20 @@ p-limit@^4.0.0: dependencies: yocto-queue "^1.0.0" +p-limit@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-6.1.0.tgz#d91f9364d3fdff89b0a45c70d04ad4e0df30a0e8" + integrity sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg== + dependencies: + yocto-queue "^1.1.1" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" @@ -17221,40 +19494,93 @@ p-locate@^6.0.0: dependencies: p-limit "^4.0.0" -p-map@^4.0.0: +p-map-series@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== + +p-map@4.0.0, p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" -p-map@^5.1.0: - version "5.5.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz" - integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== +p-pipe@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== + +p-queue@6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: - aggregate-error "^4.0.0" + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" -p-map@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-6.0.0.tgz" - integrity sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw== +p-reduce@2.1.0, p-reduce@^2.0.0, p-reduce@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== -p-timeout@^5.0.2: - version "5.1.0" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz" - integrity sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +p-waterfall@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== + dependencies: + p-reduce "^2.0.0" + package-json-from-dist@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== +package-manager-detector@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-0.2.2.tgz#fbbc8afe87cdaee471ca9b89c3700236c6d2d9e5" + integrity sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg== + +pacote@^18.0.0, pacote@^18.0.6: + version "18.0.6" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-18.0.6.tgz#ac28495e24f4cf802ef911d792335e378e86fac7" + integrity sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A== + dependencies: + "@npmcli/git" "^5.0.0" + "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/package-json" "^5.1.0" + "@npmcli/promise-spawn" "^7.0.0" + "@npmcli/run-script" "^8.0.0" + cacache "^18.0.0" + fs-minipass "^3.0.0" + minipass "^7.0.2" + npm-package-arg "^11.0.0" + npm-packlist "^8.0.0" + npm-pick-manifest "^9.0.0" + npm-registry-fetch "^17.0.0" + proc-log "^4.0.0" + promise-retry "^2.0.1" + sigstore "^2.2.0" + ssri "^10.0.0" + tar "^6.1.11" + pako@~0.2.0: version "0.2.9" resolved "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" @@ -17280,6 +19606,15 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-conflict-json@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" + integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== + dependencies: + json-parse-even-better-errors "^3.0.0" + just-diff "^6.0.0" + just-diff-apply "^5.2.0" + parse-entities@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz" @@ -17312,6 +19647,18 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-latin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-7.0.0.tgz#8dfacac26fa603f76417f36233fc45602a323e1d" + integrity sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ== + dependencies: + "@types/nlcst" "^2.0.0" + "@types/unist" "^3.0.0" + nlcst-to-string "^4.0.0" + unist-util-modify-children "^4.0.0" + unist-util-visit-children "^3.0.0" + vfile "^6.0.0" + parse-numeric-range@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" @@ -17376,6 +19723,11 @@ path-browserify@^1.0.1: resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== +path-data-parser@0.1.0, path-data-parser@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/path-data-parser/-/path-data-parser-0.1.0.tgz#8f5ba5cc70fc7becb3dcefaea08e2659aba60b8c" + integrity sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w== + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" @@ -17416,7 +19768,7 @@ path-parse@^1.0.5, path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1, path-scurry@^1.11.1: +path-scurry@^1.10.1, path-scurry@^1.11.1, path-scurry@^1.6.1: version "1.11.1" resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== @@ -17470,15 +19822,6 @@ performance-now@^2.1.0: resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - picocolors@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" @@ -17504,11 +19847,16 @@ picomatch@^3.0.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz" integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== -pidtree@0.6.0: +pidtree@~0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== +pify@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + pify@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" @@ -17524,18 +19872,6 @@ pify@^4.0.1: resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie-promise@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.6: version "4.0.6" resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" @@ -17569,6 +19905,15 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" +pkg-types@^1.0.3, pkg-types@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.1.tgz#6ac4e455a5bb4b9a6185c1c79abd544c901db2e5" + integrity sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw== + dependencies: + confbox "^0.1.8" + mlly "^1.7.2" + pathe "^1.1.2" + plist@^3.0.5: version "3.1.0" resolved "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz" @@ -17588,6 +19933,19 @@ pngjs@^3.3.0: resolved "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz" integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== +points-on-curve@0.2.0, points-on-curve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/points-on-curve/-/points-on-curve-0.2.0.tgz#7dbb98c43791859434284761330fa893cb81b4d1" + integrity sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A== + +points-on-path@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/points-on-path/-/points-on-path-0.2.1.tgz#553202b5424c53bed37135b318858eacff85dd52" + integrity sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g== + dependencies: + path-data-parser "0.1.0" + points-on-curve "0.2.0" + polished@^4.2.2: version "4.3.1" resolved "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz" @@ -17595,6 +19953,11 @@ polished@^4.2.2: dependencies: "@babel/runtime" "^7.17.8" +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-calc@^8.2.4: version "8.2.4" resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" @@ -17775,6 +20138,14 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.11, postcss-selecto cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-selector-parser@^6.0.10: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" @@ -17820,9 +20191,9 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier-eslint@^16.1.1: +prettier-eslint@^16.3.0: version "16.3.0" - resolved "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.3.0.tgz" + resolved "https://registry.yarnpkg.com/prettier-eslint/-/prettier-eslint-16.3.0.tgz#8f7bbc863f35939948e386eafe72ffd653b2d80b" integrity sha512-Lh102TIFCr11PJKUMQ2kwNmxGhTsv/KzUg9QYF2Gkw259g/kPgndZDWavk7/ycbRvj2oz4BPZ1gCU8bhfZH/Xg== dependencies: "@typescript-eslint/parser" "^6.7.5" @@ -17845,17 +20216,22 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier-plugin-tailwindcss@^0.5.6: - version "0.5.11" - resolved "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.11.tgz" - integrity sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w== +prettier-plugin-tailwindcss@^0.6.8: + version "0.6.8" + resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz#8a178e1679e3f941cc9de396f109c6cffea676d8" + integrity sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA== + +prettier@=3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== prettier@^2.8.0: version "2.8.8" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -prettier@^3.0.1, prettier@^3.0.3, prettier@^3.2.5: +prettier@^3.0.1, prettier@^3.2.5: version "3.2.5" resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== @@ -17906,6 +20282,11 @@ pretty-hrtime@^1.0.3: resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== +proc-log@^4.0.0, proc-log@^4.1.0, proc-log@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-4.2.0.tgz#b6f461e4026e75fdfe228b265e9f7a00779d7034" + integrity sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" @@ -17923,16 +20304,39 @@ processenv@1.1.0: dependencies: babel-runtime "6.26.0" +proggy@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/proggy/-/proggy-2.0.0.tgz#154bb0e41d3125b518ef6c79782455c2c47d94e1" + integrity sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A== + progress@2.0.3, progress@^2.0.1: version "2.0.3" resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-3.0.2.tgz#524b7f4b97729ff70417d93d24f46f0265efa4f9" + integrity sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw== + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + promise@^7.1.1: version "7.3.1" resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" @@ -17955,6 +20359,13 @@ prompts@^2.0.1, prompts@^2.3.2, prompts@^2.4.0, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" +promzard@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.2.tgz#2226e7c6508b1da3471008ae17066a7c3251e660" + integrity sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ== + dependencies: + read "^3.0.1" + prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" @@ -18116,11 +20527,6 @@ quick-lru@^4.0.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - raf@^3.4.1: version "3.4.1" resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" @@ -18588,6 +20994,27 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" +read-cmd-shim@4.0.0, read-cmd-shim@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" + integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== + +read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" + integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== + dependencies: + json-parse-even-better-errors "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" @@ -18597,14 +21024,14 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg-up@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz" - integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: - find-up "^5.0.0" - read-pkg "^6.0.0" - type-fest "^1.0.1" + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" read-pkg@^5.2.0: version "5.2.0" @@ -18616,15 +21043,12 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read-pkg@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz" - integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== +read@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read/-/read-3.0.1.tgz#926808f0f7c83fa95f1ef33c0e2c09dbb28fd192" + integrity sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw== dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^3.0.2" - parse-json "^5.2.0" - type-fest "^1.0.1" + mute-stream "^1.0.0" "readable-stream@1.x >=1.1.9": version "1.1.14" @@ -18649,7 +21073,7 @@ readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -18696,6 +21120,46 @@ recast@^0.23.1, recast@^0.23.3: source-map "~0.6.1" tslib "^2.0.1" +recma-build-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" + integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== + dependencies: + "@types/estree" "^1.0.0" + estree-util-build-jsx "^3.0.0" + vfile "^6.0.0" + +recma-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.0.tgz#f7bef02e571a49d6ba3efdfda8e2efab48dbe3aa" + integrity sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q== + dependencies: + acorn-jsx "^5.0.0" + estree-util-to-js "^2.0.0" + recma-parse "^1.0.0" + recma-stringify "^1.0.0" + unified "^11.0.0" + +recma-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52" + integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== + dependencies: + "@types/estree" "^1.0.0" + esast-util-from-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +recma-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130" + integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== + dependencies: + "@types/estree" "^1.0.0" + estree-util-to-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + redent@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" @@ -18704,14 +21168,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redent@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz" - integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag== - dependencies: - indent-string "^5.0.0" - strip-indent "^4.0.0" - reflect.getprototypeof@^1.0.4: version "1.0.5" resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz" @@ -18764,7 +21220,12 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: +regex@^4.3.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/regex/-/regex-4.3.3.tgz#8cda73ccbdfa7c5691881d02f9bb142dba9daa6a" + integrity sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg== + +regexp.prototype.flags@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== @@ -18773,6 +21234,16 @@ regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: define-properties "^1.2.0" set-function-name "^2.0.0" +regexp.prototype.flags@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.2" + regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" @@ -18805,14 +21276,26 @@ rehype-katex@^7.0.0: unist-util-visit-parents "^6.0.0" vfile "^6.0.0" -rehype-pretty-code@0.9.11: - version "0.9.11" - resolved "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.11.tgz" - integrity sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA== +rehype-parse@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-9.0.1.tgz#9993bda129acc64c417a9d3654a7be38b2a94c20" + integrity sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag== dependencies: - "@types/hast" "^2.0.0" - hash-obj "^4.0.0" + "@types/hast" "^3.0.0" + hast-util-from-html "^2.0.0" + unified "^11.0.0" + +rehype-pretty-code@0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/rehype-pretty-code/-/rehype-pretty-code-0.14.0.tgz#bdf828af4575737cc02204fb24d8097e6f010d37" + integrity sha512-hBeKF/Wkkf3zyUS8lal9RCUuhypDWLQc+h9UrP9Pav25FUm/AQAVh4m5gdvJxh4Oz+U+xKvdsV01p1LdvsZTiQ== + dependencies: + "@types/hast" "^3.0.4" + hast-util-to-string "^3.0.0" parse-numeric-range "^1.3.0" + rehype-parse "^9.0.0" + unified "^11.0.5" + unist-util-visit "^5.0.0" rehype-raw@^7.0.0: version "7.0.0" @@ -18823,6 +21306,15 @@ rehype-raw@^7.0.0: hast-util-raw "^9.0.0" vfile "^6.0.0" +rehype-recma@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76" + integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + hast-util-to-estree "^3.0.0" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" @@ -18857,42 +21349,45 @@ remark-external-links@^8.0.0: space-separated-tokens "^1.0.0" unist-util-visit "^2.0.0" -remark-gfm@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" - integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== +remark-frontmatter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" + integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-gfm "^2.0.0" - micromark-extension-gfm "^2.0.0" - unified "^10.0.0" + "@types/mdast" "^4.0.0" + mdast-util-frontmatter "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + unified "^11.0.0" -remark-math@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/remark-math/-/remark-math-5.1.1.tgz" - integrity sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw== +remark-gfm@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.0.tgz#aea777f0744701aa288b67d28c43565c7e8c35de" + integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-math "^2.0.0" - micromark-extension-math "^2.0.0" - unified "^10.0.0" + "@types/mdast" "^4.0.0" + mdast-util-gfm "^3.0.0" + micromark-extension-gfm "^3.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" -remark-mdx@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz" - integrity sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g== +remark-math@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-6.0.0.tgz#0acdf74675f1c195fea6efffa78582f7ed7fc0d7" + integrity sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA== dependencies: - mdast-util-mdx "^2.0.0" - micromark-extension-mdxjs "^1.0.0" + "@types/mdast" "^4.0.0" + mdast-util-math "^3.0.0" + micromark-extension-math "^3.0.0" + unified "^11.0.0" -remark-parse@^10.0.0: - version "10.0.2" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== +remark-mdx@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343" + integrity sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA== dependencies: - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - unified "^10.0.0" + mdast-util-mdx "^3.0.0" + micromark-extension-mdxjs "^3.0.0" remark-parse@^11.0.0: version "11.0.0" @@ -18914,16 +21409,6 @@ remark-reading-time@^2.0.1: reading-time "^1.3.0" unist-util-visit "^3.1.0" -remark-rehype@^10.0.0: - version "10.1.0" - resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz" - integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-to-hast "^12.1.0" - unified "^10.0.0" - remark-rehype@^11.0.0: version "11.1.0" resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz" @@ -18944,16 +21429,30 @@ remark-slug@^6.0.0: mdast-util-to-string "^1.0.0" unist-util-visit "^2.0.0" +remark-smartypants@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/remark-smartypants/-/remark-smartypants-3.0.2.tgz#cbaf2b39624c78fcbd6efa224678c1d2e9bc1dfb" + integrity sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA== + dependencies: + retext "^9.0.0" + retext-smartypants "^6.0.0" + unified "^11.0.4" + unist-util-visit "^5.0.0" + +remark-stringify@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" + remove-accents@0.4.2: version "0.4.2" resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz" integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA== -remove-accents@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz" - integrity sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A== - remove-trailing-slash@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz" @@ -19016,6 +21515,11 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" @@ -19026,17 +21530,17 @@ resolve-from@^4.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== resolve.exports@^2.0.0, resolve.exports@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -19045,9 +21549,9 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^2.0.0-next.4: +resolve@^2.0.0-next.5: version "2.0.0-next.5" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: is-core-module "^2.13.0" @@ -19077,17 +21581,54 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -restore-cursor@^4.0.0: +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== + dependencies: + onetime "^7.0.0" + signal-exit "^4.1.0" + +retext-latin@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + resolved "https://registry.yarnpkg.com/retext-latin/-/retext-latin-4.0.0.tgz#d02498aa1fd39f1bf00e2ff59b1384c05d0c7ce3" + integrity sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + "@types/nlcst" "^2.0.0" + parse-latin "^7.0.0" + unified "^11.0.0" + +retext-smartypants@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/retext-smartypants/-/retext-smartypants-6.2.0.tgz#4e852c2974cf2cfa253eeec427c97efc43b5d158" + integrity sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ== + dependencies: + "@types/nlcst" "^2.0.0" + nlcst-to-string "^4.0.0" + unist-util-visit "^5.0.0" + +retext-stringify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/retext-stringify/-/retext-stringify-4.0.0.tgz#501d5440bd4d121e351c7c509f8507de9611e159" + integrity sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA== + dependencies: + "@types/nlcst" "^2.0.0" + nlcst-to-string "^4.0.0" + unified "^11.0.0" + +retext@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/retext/-/retext-9.0.0.tgz#ab5cd72836894167b0ca6ae70fdcfaa166267f7a" + integrity sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA== + dependencies: + "@types/nlcst" "^2.0.0" + retext-latin "^4.0.0" + retext-stringify "^4.0.0" + unified "^11.0.0" -retry@0.12.0: +retry@0.12.0, retry@^0.12.0: version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== reusify@^1.0.4: @@ -19095,10 +21636,10 @@ reusify@^1.0.4: resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== +rfdc@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rimraf@^2.6.1, rimraf@^2.6.2: version "2.7.1" @@ -19114,6 +21655,13 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" + integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== + dependencies: + glob "^9.2.0" + rimraf@^5.0.5: version "5.0.10" resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz" @@ -19181,6 +21729,21 @@ rooks@^7.14.1: raf "^3.4.1" use-sync-external-store "^1.2.0" +roughjs@^4.6.6: + version "4.6.6" + resolved "https://registry.yarnpkg.com/roughjs/-/roughjs-4.6.6.tgz#1059f49a5e0c80dee541a005b20cc322b222158b" + integrity sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ== + dependencies: + hachure-fill "^0.5.2" + path-data-parser "^0.1.0" + points-on-curve "^0.2.0" + points-on-path "^0.2.1" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" @@ -19193,21 +21756,14 @@ rw@1: resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz" integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== -rxjs@^7.8.1: +rxjs@^7.5.5, rxjs@^7.8.1: version "7.8.1" resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-array-concat@^1.0.0, safe-array-concat@^1.0.1, safe-array-concat@^1.1.0: +safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: version "1.1.0" resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz" integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== @@ -19217,6 +21773,16 @@ safe-array-concat@^1.0.0, safe-array-concat@^1.0.1, safe-array-concat@^1.1.0: has-symbols "^1.0.3" isarray "^2.0.5" +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" @@ -19232,7 +21798,7 @@ safe-json-stringify@~1: resolved "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== -safe-regex-test@^1.0.0: +safe-regex-test@^1.0.0, safe-regex-test@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== @@ -19337,6 +21903,11 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7.0.0, semver@^7.1.1, semver@^7.3.8, semver@^7.6.0, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: version "7.6.0" resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" @@ -19452,6 +22023,16 @@ set-function-name@^2.0.0, set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.0" +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" @@ -19508,15 +22089,17 @@ shell-quote@^1.6.1, shell-quote@^1.7.3, shell-quote@^1.8.1: resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== -shiki@^0.14.3: - version "0.14.7" - resolved "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz" - integrity sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg== +shiki@^1.0.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.22.0.tgz#45d1dfff0e03a598af70e2ec8592f14ef07827b4" + integrity sha512-/t5LlhNs+UOKQCYBtl5ZsH/Vclz73GIqT2yQsCBygr8L/ppTdmpL4w3kPLoZJbMKVWtoG77Ue1feOjZfDxvMkw== dependencies: - ansi-sequence-parser "^1.1.0" - jsonc-parser "^3.2.0" - vscode-oniguruma "^1.7.0" - vscode-textmate "^8.0.0" + "@shikijs/core" "1.22.0" + "@shikijs/engine-javascript" "1.22.0" + "@shikijs/engine-oniguruma" "1.22.0" + "@shikijs/types" "1.22.0" + "@shikijs/vscode-textmate" "^9.3.0" + "@types/hast" "^3.0.4" side-channel@^1.0.4: version "1.0.5" @@ -19538,7 +22121,7 @@ side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@3.0.7, signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -19548,6 +22131,18 @@ signal-exit@^4.0.1, signal-exit@^4.1.0: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +sigstore@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-2.3.1.tgz#0755dd2cc4820f2e922506da54d3d628e13bfa39" + integrity sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ== + dependencies: + "@sigstore/bundle" "^2.3.2" + "@sigstore/core" "^1.0.0" + "@sigstore/protobuf-specs" "^0.3.2" + "@sigstore/sign" "^2.3.2" + "@sigstore/tuf" "^2.3.4" + "@sigstore/verify" "^1.2.1" + simple-plist@^1.1.0: version "1.3.1" resolved "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz" @@ -19569,20 +22164,15 @@ sisteransi@^1.0.5: resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - -slash@^3.0.0: +slash@3.0.0, slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== slice-ansi@^2.0.0: version "2.1.0" @@ -19601,9 +22191,9 @@ slice-ansi@^5.0.0: ansi-styles "^6.0.0" is-fullwidth-code-point "^4.0.0" -slice-ansi@^7.0.0: +slice-ansi@^7.1.0: version "7.1.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== dependencies: ansi-styles "^6.2.1" @@ -19614,12 +22204,34 @@ slugify@^1.3.4, slugify@^1.6.6: resolved "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz" integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== -sort-keys@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz" - integrity sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw== +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^8.0.3: + version "8.0.4" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" + integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== dependencies: - is-plain-obj "^4.0.0" + agent-base "^7.1.1" + debug "^4.3.4" + socks "^2.8.3" + +socks@^2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== + dependencies: + is-plain-obj "^1.0.0" source-map-js@^1.0.2: version "1.0.2" @@ -19703,6 +22315,15 @@ spdx-license-ids@^3.0.0: resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz" integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== +speech-rule-engine@^4.0.6: + version "4.0.7" + resolved "https://registry.yarnpkg.com/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz#b655dacbad3dae04acc0f7665e26ef258397dd09" + integrity sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g== + dependencies: + commander "9.2.0" + wicked-good-xpath "1.3.0" + xmldom-sre "0.1.31" + split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" @@ -19715,6 +22336,13 @@ split2@3.0.0: dependencies: readable-stream "^3.0.0" +split2@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + split@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" @@ -19722,11 +22350,23 @@ split@^1.0.1: dependencies: through "2" +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +ssri@^10.0.0, ssri@^10.0.6: + version "10.0.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" + integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== + dependencies: + minipass "^7.0.3" + ssri@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" @@ -19838,9 +22478,9 @@ strict-uri-encode@^2.0.0: resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== -string-argv@0.3.2: +string-argv@~0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-length@^4.0.1: @@ -19851,7 +22491,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -19878,20 +22527,40 @@ string-width@^7.0.0: get-east-asian-width "^1.0.0" strip-ansi "^7.1.0" -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== +string.prototype.includes@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + +string.prototype.matchall@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" string.prototype.trim@^1.2.8: version "1.2.8" @@ -19902,6 +22571,16 @@ string.prototype.trim@^1.2.8: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + string.prototype.trimend@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" @@ -19911,6 +22590,15 @@ string.prototype.trimend@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string.prototype.trimstart@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" @@ -19920,6 +22608,15 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" @@ -19956,7 +22653,7 @@ stringify-object@3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -19977,6 +22674,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" @@ -20043,6 +22747,15 @@ strnum@^1.0.5: resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== +strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + structured-headers@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz" @@ -20061,9 +22774,9 @@ style-loader@^3.3.1, style-loader@^3.3.4: resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz" integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== -style-to-object@^0.4.1: +style-to-object@^0.4.0: version "0.4.4" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== dependencies: inline-style-parser "0.1.1" @@ -20087,10 +22800,10 @@ styleq@^0.1.3: resolved "https://registry.npmjs.org/styleq/-/styleq-0.1.3.tgz" integrity sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA== -stylis@^4.1.3: - version "4.3.1" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz" - integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== +stylis@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.4.tgz#ca5c6c4a35c4784e4e93a2a24dc4e9fa075250a4" + integrity sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now== sucrase@3.34.0: version "3.34.0" @@ -20203,14 +22916,19 @@ synchronous-promise@^2.0.15: resolved "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz" integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g== -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.9.1: + version "0.9.2" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62" + integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw== dependencies: "@pkgr/core" "^0.1.0" tslib "^2.6.2" +tabbable@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== + tailwind-merge@^1.14.0: version "1.14.0" resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz" @@ -20378,9 +23096,9 @@ tar-fs@^2.1.1: pump "^3.0.0" tar-stream "^2.1.4" -tar-stream@^2.1.4: +tar-stream@^2.1.4, tar-stream@~2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: bl "^4.0.3" @@ -20389,6 +23107,18 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" +tar@6.2.1, tar@^6.1.11, tar@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + tar@^6.0.2, tar@^6.0.5, tar@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz" @@ -20408,9 +23138,9 @@ telejson@^7.2.0: dependencies: memoizerific "^1.11.3" -temp-dir@^1.0.0: +temp-dir@1.0.0, temp-dir@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== temp-dir@^2.0.0: @@ -20494,6 +23224,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -20518,17 +23253,17 @@ throat@^5.0.0: resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== -through2@^2.0.1, through2@^2.0.3: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: readable-stream "~2.3.6" xtend "~4.0.1" -through@2: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== timer2@1.0.0: @@ -20541,6 +23276,11 @@ tiny-invariant@^1.3.1: resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== +tinyexec@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" + integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== + title@^3.5.3: version "3.5.3" resolved "https://registry.npmjs.org/title/-/title-3.5.3.tgz" @@ -20563,6 +23303,11 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +tmp@~0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + tmpl@1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" @@ -20612,28 +23357,6 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -trash-cli@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/trash-cli/-/trash-cli-5.0.0.tgz" - integrity sha512-HdSljBzHHk4HlD3uqvDGBRPB9ta7R8fwPSRSVOTk9qkOqeBT1nO4WCtj2t62rWsU1yg2WGCFNo8UBmlRXgkigA== - dependencies: - meow "^10.1.2" - trash "^8.0.0" - -trash@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/trash/-/trash-8.1.1.tgz" - integrity sha512-r15NUF+BJpDBKLTyOXaB+PhF8qh53TAOTpu/wCt6bqpu488jamsiOV7VdC//yPwAnyGIv1EJgetEnjLNer5XVw== - dependencies: - "@sindresorhus/chunkify" "^0.2.0" - "@stroncium/procfs" "^1.2.1" - globby "^7.1.1" - is-path-inside "^4.0.0" - move-file "^3.0.0" - p-map "^5.1.0" - uuid "^8.3.2" - xdg-trashdir "^3.1.0" - traverse@~0.6.6: version "0.6.8" resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz" @@ -20644,6 +23367,11 @@ tree-kill@^1.2.2: resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== +treeverse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" + integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== + trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" @@ -20654,11 +23382,6 @@ trim-newlines@^3.0.0: resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -trim-newlines@^4.0.2: - version "4.1.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz" - integrity sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ== - trough@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" @@ -20669,6 +23392,11 @@ ts-api-utils@^1.0.1: resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz" integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz" @@ -20708,6 +23436,25 @@ ts-pattern@^5.1.1: resolved "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.1.1.tgz" integrity sha512-i+owkHr5RYdQxj8olUgRrqpiWH9x27PuWVfXwDmJ/n/CoF/SAa7WW1i2oUpPDMQpJ4U+bGRUcZkVq7i1m3zFCg== +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.1.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + tsconfig@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz" @@ -20728,11 +23475,25 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6 resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.3.0, tslib@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" + integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + tsscmp@^1.0.5: version "1.0.6" resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz" integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== +tuf-js@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-2.2.1.tgz#fdd8794b644af1a75c7aaa2b197ddffeb2911b56" + integrity sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA== + dependencies: + "@tufjs/models" "2.0.1" + debug "^4.3.4" + make-fetch-happen "^13.0.1" + tw-colors@^3.3.1: version "3.3.1" resolved "https://registry.npmjs.org/tw-colors/-/tw-colors-3.3.1.tgz" @@ -20747,6 +23508,19 @@ tween-functions@^1.2.0: resolved "https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz" integrity sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA== +twoslash-protocol@0.2.12: + version "0.2.12" + resolved "https://registry.yarnpkg.com/twoslash-protocol/-/twoslash-protocol-0.2.12.tgz#4c22fc287bc0fc32eec8e7faa6092b0dc5cc4ecb" + integrity sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg== + +twoslash@^0.2.12: + version "0.2.12" + resolved "https://registry.yarnpkg.com/twoslash/-/twoslash-0.2.12.tgz#46b11fb23ff3d950264ca32877576e2c2b4e997e" + integrity sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw== + dependencies: + "@typescript/vfs" "^1.6.0" + twoslash-protocol "0.2.12" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" @@ -20759,16 +23533,16 @@ type-detect@4.0.8: resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - type-fest@^0.16.0: version "0.16.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" @@ -20784,6 +23558,11 @@ type-fest@^0.3.1: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +type-fest@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" @@ -20799,21 +23578,11 @@ type-fest@^0.8.1: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-fest@^1.0.1, type-fest@^1.0.2, type-fest@^1.2.1, type-fest@^1.2.2: - version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - type-fest@^2.19.0, type-fest@~2.19: version "2.19.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^3.0.0: - version "3.13.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz" - integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== - type-is@~1.6.16, type-is@~1.6.18: version "1.6.18" resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" @@ -20841,6 +23610,15 @@ typed-array-buffer@^1.0.0: es-errors "^1.3.0" is-typed-array "^1.1.13" +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + typed-array-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" @@ -20851,6 +23629,17 @@ typed-array-byte-length@^1.0.0: has-proto "^1.0.1" is-typed-array "^1.1.10" +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + typed-array-byte-offset@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" @@ -20862,6 +23651,18 @@ typed-array-byte-offset@^1.0.0: has-proto "^1.0.1" is-typed-array "^1.1.10" +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" @@ -20871,26 +23672,47 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== +typescript-eslint@^8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.10.0.tgz#7f7d51577e9b93538cc8801f2cbfdd66098a00e7" + integrity sha512-YIu230PeN7z9zpu/EtqCIuRVHPs4iSlqW6TEvjbyDAE3MZsSl2RXBo+5ag+lbABCG8sFM1WVKEXhlQ8Ml8A3Fw== + dependencies: + "@typescript-eslint/eslint-plugin" "8.10.0" + "@typescript-eslint/parser" "8.10.0" + "@typescript-eslint/utils" "8.10.0" + typescript-paths@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/typescript-paths/-/typescript-paths-1.5.1.tgz" integrity sha512-lYErSLCON2MSplVV5V/LBgD4UNjMgY3guATdFCZY2q1Nr6OZEu4q6zX/rYMsG1TaWqqQSszg6C9EU7AGWMDrIw== +"typescript@>=3 < 6", typescript@^5.3.3, typescript@^5.4.5, typescript@^5.6.3: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + typescript@^5.2.2: version "5.3.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== -typescript@^5.3.3, typescript@^5.4.5: - version "5.6.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== - ua-parser-js@^1.0.35: version "1.0.37" resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz" @@ -20901,6 +23723,11 @@ ufo@^1.3.2: resolved "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz" integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ== +ufo@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" + integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== + uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz" @@ -20944,23 +23771,23 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unified@^10.0.0: - version "10.1.2" - resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== +unified@^11.0.0: + version "11.0.4" + resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" + integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" bail "^2.0.0" + devlop "^1.0.0" extend "^3.0.0" - is-buffer "^2.0.0" is-plain-obj "^4.0.0" trough "^2.0.0" - vfile "^5.0.0" + vfile "^6.0.0" -unified@^11.0.0: - version "11.0.4" - resolved "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== +unified@^11.0.4, unified@^11.0.5: + version "11.0.5" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== dependencies: "@types/unist" "^3.0.0" bail "^2.0.0" @@ -20977,6 +23804,13 @@ unique-filename@^1.1.1: dependencies: unique-slug "^2.0.0" +unique-filename@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" + integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== + dependencies: + unique-slug "^4.0.0" + unique-slug@^2.0.0: version "2.0.2" resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" @@ -20984,6 +23818,13 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-slug@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" + integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== + dependencies: + imurmurhash "^0.1.4" + unique-string@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz" @@ -21006,11 +23847,6 @@ unist-util-find-after@^5.0.0: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" -unist-util-generated@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== - unist-util-is@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" @@ -21037,19 +23873,20 @@ unist-util-map@^3.1.2: dependencies: "@types/unist" "^2.0.0" -unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz" - integrity sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww== +unist-util-modify-children@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz#981d6308e887b005d1f491811d3cbcc254b315e9" + integrity sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" + array-iterate "^2.0.0" -unist-util-position@^4.0.0: - version "4.0.4" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== +unist-util-position-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" + integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== dependencies: - "@types/unist" "^2.0.0" + "@types/unist" "^3.0.0" unist-util-position@^5.0.0: version "5.0.0" @@ -21058,14 +23895,6 @@ unist-util-position@^5.0.0: dependencies: "@types/unist" "^3.0.0" -unist-util-remove-position@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz" - integrity sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - unist-util-remove-position@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz" @@ -21083,13 +23912,6 @@ unist-util-remove@^4.0.0: unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" -unist-util-stringify-position@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz" @@ -21097,6 +23919,13 @@ unist-util-stringify-position@^4.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-visit-children@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz#4bced199b71d7f3c397543ea6cc39e7a7f37dc7e" + integrity sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA== + dependencies: + "@types/unist" "^3.0.0" + unist-util-visit-parents@^3.0.0: version "3.1.1" resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" @@ -21113,14 +23942,6 @@ unist-util-visit-parents@^4.0.0: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" -unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz" @@ -21147,15 +23968,6 @@ unist-util-visit@^3.1.0: unist-util-is "^5.0.0" unist-util-visit-parents "^4.0.0" -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" - unist-util-visit@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz" @@ -21165,6 +23977,11 @@ unist-util-visit@^5.0.0: unist-util-is "^6.0.0" unist-util-visit-parents "^6.0.0" +universal-user-agent@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" @@ -21210,6 +24027,11 @@ untildify@^4.0.0: resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== +upath@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== + update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" @@ -21298,13 +24120,6 @@ use-sync-external-store@1.2.0, use-sync-external-store@^1.1.0, use-sync-external resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" - integrity sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ== - dependencies: - os-homedir "^1.0.0" - utf8@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz" @@ -21349,6 +24164,11 @@ uuid@3.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294" + integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== + uuid@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz" @@ -21359,7 +24179,7 @@ uuid@^8.0.0, uuid@^8.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -uuid@^9.0.0: +uuid@^9.0.0, uuid@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== @@ -21379,16 +24199,6 @@ uuidv4@3.0.1: dependencies: uuid "3.3.2" -uvu@^0.5.0: - version "0.5.6" - resolved "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" - v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" @@ -21408,14 +24218,19 @@ valid-url@~1.0.9: resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== -validate-npm-package-license@^3.0.1: +validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@5.0.1, validate-npm-package-name@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" + integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== + validate-npm-package-name@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" @@ -21448,23 +24263,6 @@ vfile-location@^5.0.0: "@types/unist" "^3.0.0" vfile "^6.0.0" -vfile-matter@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/vfile-matter/-/vfile-matter-3.0.1.tgz" - integrity sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg== - dependencies: - "@types/js-yaml" "^4.0.0" - is-buffer "^2.0.0" - js-yaml "^4.0.0" - -vfile-message@^3.0.0: - version "3.1.4" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message@^4.0.0: version "4.0.2" resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz" @@ -21473,16 +24271,6 @@ vfile-message@^4.0.0: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" -vfile@^5.0.0, vfile@^5.3.0: - version "5.3.7" - resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - vfile@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz" @@ -21542,15 +24330,40 @@ void-elements@3.1.0: resolved "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== -vscode-oniguruma@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz" - integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== +vscode-jsonrpc@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz#f43dfa35fb51e763d17cd94dcca0c9458f35abf9" + integrity sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA== -vscode-textmate@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz" - integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== +vscode-languageserver-protocol@3.17.5: + version "3.17.5" + resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz#864a8b8f390835572f4e13bd9f8313d0e3ac4bea" + integrity sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg== + dependencies: + vscode-jsonrpc "8.2.0" + vscode-languageserver-types "3.17.5" + +vscode-languageserver-textdocument@~1.0.11: + version "1.0.12" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz#457ee04271ab38998a093c68c2342f53f6e4a631" + integrity sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA== + +vscode-languageserver-types@3.17.5: + version "3.17.5" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" + integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== + +vscode-languageserver@~9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz#500aef82097eb94df90d008678b0b6b5f474015b" + integrity sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g== + dependencies: + vscode-languageserver-protocol "3.17.5" + +vscode-uri@~3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" + integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== vue-eslint-parser@^9.1.0: version "9.4.2" @@ -21572,6 +24385,11 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" +walk-up-path@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" + integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== + walker@^1.0.7, walker@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" @@ -21584,7 +24402,7 @@ warn-once@^0.1.0: resolved "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz" integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q== -watchpack@2.4.0, watchpack@^2.2.0, watchpack@^2.4.0: +watchpack@^2.2.0, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -21592,7 +24410,7 @@ watchpack@2.4.0, watchpack@^2.2.0, watchpack@^2.4.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -wcwidth@^1.0.1: +wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== @@ -21604,11 +24422,6 @@ web-namespaces@^2.0.0: resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== -web-worker@^1.2.0: - version "1.3.0" - resolved "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz" - integrity sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA== - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" @@ -21816,6 +24629,17 @@ which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.2, gopd "^1.0.1" has-tostringtag "^1.0.1" +which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + which@^1.2.9: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" @@ -21830,9 +24654,21 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.2: +which@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/which/-/which-4.0.0.tgz#cd60b5e74503a3fbcfbf6cd6b4138a8bae644c1a" + integrity sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== + dependencies: + isexe "^3.1.1" + +wicked-good-xpath@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz#81b0e95e8650e49c94b22298fff8686b5553cf6c" + integrity sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw== + +wide-align@1.1.5, wide-align@^1.1.2: version "1.1.5" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" @@ -21852,7 +24688,7 @@ wordwrap@^1.0.0: resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -21861,15 +24697,24 @@ wordwrap@^1.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^6.2.0: +wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" @@ -21893,9 +24738,17 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^2.3.0: +write-file-atomic@5.0.1, write-file-atomic@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" + integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^4.0.1" + +write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" @@ -21910,6 +24763,27 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" +write-json-file@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.15" + make-dir "^2.1.0" + pify "^4.0.1" + sort-keys "^2.0.0" + write-file-atomic "^2.4.2" + +write-pkg@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== + dependencies: + sort-keys "^2.0.0" + type-fest "^0.4.1" + write-json-file "^3.2.0" + ws@6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz" @@ -21947,21 +24821,6 @@ xcode@^3.0.1: simple-plist "^1.1.0" uuid "^7.0.3" -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xdg-trashdir@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/xdg-trashdir/-/xdg-trashdir-3.1.0.tgz" - integrity sha512-N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ== - dependencies: - "@sindresorhus/df" "^3.1.1" - mount-point "^3.0.0" - user-home "^2.0.0" - xdg-basedir "^4.0.0" - xml-name-validator@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" @@ -21995,6 +24854,11 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xmldom-sre@0.1.31: + version "0.1.31" + resolved "https://registry.yarnpkg.com/xmldom-sre/-/xmldom-sre-0.1.31.tgz#10860d5bab2c603144597d04bf2c4980e98067f4" + integrity sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw== + xtend@~4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" @@ -22025,17 +24889,32 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@2.3.4, yaml@^2.2.1, yaml@^2.3.4: - version "2.3.4" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== - yaml@^1.10.0: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yaml@^2.2.1, yaml@^2.3.4: + version "2.3.4" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yaml@^2.3.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.0.tgz#14059ad9d0b1680d0f04d3a60fe00f3a857303c3" + integrity sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ== + +yaml@~2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" + integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== + +yargs-parser@21.1.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -22043,15 +24922,23 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.9: +yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs@17.7.2, yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" yargs@^15.1.0: version "15.4.1" @@ -22070,18 +24957,18 @@ yargs@^15.1.0: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: - cliui "^8.0.1" + cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.3" + string-width "^4.2.0" y18n "^5.0.5" - yargs-parser "^21.1.1" + yargs-parser "^20.2.2" yauzl@^2.10.0: version "2.10.0" @@ -22106,6 +24993,16 @@ yocto-queue@^1.0.0: resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +yocto-queue@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" + integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== + +zod-validation-error@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.4.0.tgz#3a8a1f55c65579822d7faa190b51336c61bee2a6" + integrity sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ== + zod@^3.22.3, zod@^3.22.4: version "3.22.4" resolved "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz" @@ -22130,7 +25027,7 @@ zustand@^4.5.2: dependencies: use-sync-external-store "1.2.0" -zwitch@^2.0.0: +zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 87471d7c06941d473ecb583365919165b12ad823 Mon Sep 17 00:00:00 2001 From: Aaron Leopold <36278431+aaronleopold@users.noreply.github.com> Date: Mon, 21 Oct 2024 00:04:50 -0700 Subject: [PATCH 05/17] :bug: Fix cursor-based media queries (#487) * rewrite horizontal scroller * fix library stat query * print startup text * fix a few warning lints * make list smarter wrt start/end disabled state --- apps/server/src/http_server.rs | 2 +- apps/server/src/routers/api/v1/library.rs | 9 +- eslint.config.mjs | 1 + packages/browser/src/App.tsx | 2 +- .../src/components/HorizontalCardList.tsx | 267 +++++++++--------- .../src/components/entity/EntityCard.tsx | 4 +- .../readers/epub/EpubStreamReader.tsx | 3 +- .../readers/imageBased/ImageBasedReader.tsx | 20 +- .../imageBased/paged/AnimatedPagedReader.tsx | 1 + .../readers/pdf/NativePDFViewer.tsx | 7 +- .../src/scenes/book/BookOverviewScene.tsx | 2 +- .../src/scenes/book/BooksAfterCursor.tsx | 45 ++- .../src/scenes/book/settings/BookPageGrid.tsx | 12 +- .../tabs/settings/scheduler/AddBookCard.tsx | 2 +- .../src/scenes/bookSearch/BookSearchScene.tsx | 22 +- .../error/ServerConnectionErrorScene.tsx | 2 +- .../src/scenes/home/ContinueReading.tsx | 45 ++- .../src/scenes/home/RecentlyAddedMedia.tsx | 49 ++-- .../src/scenes/home/RecentlyAddedSeries.tsx | 45 ++- .../library/tabs/books/LibraryBooksScene.tsx | 22 +- .../tabs/series/LibrarySeriesScene.tsx | 22 +- .../tabs/settings/LibrarySeriesGrid.tsx | 12 +- .../series/tabs/books/SeriesBooksScene.tsx | 22 +- .../series/tabs/settings/SeriesBookGrid.tsx | 12 +- .../users/user-table/UserActionMenu.tsx | 44 +-- packages/browser/src/stores/desktop.ts | 42 +-- packages/client/src/client.ts | 24 +- packages/components/src/button/Button.tsx | 7 +- packages/components/src/tooltip/ToolTip.tsx | 4 +- packages/i18n/src/locales/en.json | 14 +- packages/sdk/src/controllers/media-api.ts | 2 +- packages/sdk/src/controllers/series-api.ts | 4 +- packages/sdk/src/controllers/types.ts | 2 +- packages/sdk/src/controllers/utils.ts | 6 +- 34 files changed, 446 insertions(+), 333 deletions(-) diff --git a/apps/server/src/http_server.rs b/apps/server/src/http_server.rs index 9c35e9ec2..f30a9ebe4 100644 --- a/apps/server/src/http_server.rs +++ b/apps/server/src/http_server.rs @@ -53,7 +53,7 @@ pub async fn run_http_server(config: StumpConfig) -> ServerResult<()> { let app_state = server_ctx.arced(); let cors_layer = cors::get_cors_layer(config.clone()); - tracing::info!("{}", core.get_shadow_text()); + println!("{}", core.get_shadow_text()); let app = Router::new() .merge(routers::mount(app_state.clone())) diff --git a/apps/server/src/routers/api/v1/library.rs b/apps/server/src/routers/api/v1/library.rs index bcf4d64f2..7d9dd057f 100644 --- a/apps/server/src/routers/api/v1/library.rs +++ b/apps/server/src/routers/api/v1/library.rs @@ -1728,7 +1728,9 @@ async fn get_library_stats( media m LEFT JOIN finished_reading_sessions frs ON frs.media_id = m.id LEFT JOIN reading_sessions rs ON rs.media_id = m.id - WHERE {} IS TRUE OR (rs.user_id = {} OR frs.user_id = {}) + WHERE {} IS TRUE OR (rs.user_id = {} OR frs.user_id = {}) AND m.series_id IN ( + SELECT id FROM series WHERE library_id = {} + ) ) SELECT * @@ -1736,10 +1738,11 @@ async fn get_library_stats( base_counts INNER JOIN progress_counts; ", - PrismaValue::String(id), + PrismaValue::String(id.clone()), PrismaValue::Boolean(params.all_users), PrismaValue::String(user.id.clone()), - PrismaValue::String(user.id.clone()) + PrismaValue::String(user.id.clone()), + PrismaValue::String(id) )) .exec() .await? diff --git a/eslint.config.mjs b/eslint.config.mjs index 5b28bd0fa..1cfb34a56 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -36,6 +36,7 @@ export default [ semi: false, }, ], + ...pluginReactHooks.configs.recommended.rules, }, }, { languageOptions: { globals: globals.node } }, diff --git a/packages/browser/src/App.tsx b/packages/browser/src/App.tsx index b0360fa93..9365a7da7 100644 --- a/packages/browser/src/App.tsx +++ b/packages/browser/src/App.tsx @@ -51,7 +51,7 @@ function RouterContainer(props: StumpClientProps) { } setMounted(true) - }, [baseUrl]) + }, [baseUrl, props.baseUrl, setBaseUrl]) useEffect(() => { setPlatform(props.platform) diff --git a/packages/browser/src/components/HorizontalCardList.tsx b/packages/browser/src/components/HorizontalCardList.tsx index 3d0c20346..31c189061 100644 --- a/packages/browser/src/components/HorizontalCardList.tsx +++ b/packages/browser/src/components/HorizontalCardList.tsx @@ -1,182 +1,169 @@ -import { cx, Heading, IconButton, Text, ToolTip } from '@stump/components' -import { defaultRangeExtractor, Range, useVirtualizer } from '@tanstack/react-virtual' -import { ChevronLeft, ChevronRight } from 'lucide-react' -import { useCallback, useEffect, useRef } from 'react' -import { useMediaMatch } from 'rooks' +import { Button, cn, Heading, Text, ToolTip } from '@stump/components' +import { ChevronLeft, ChevronRight, CircleSlash2 } from 'lucide-react' +import { forwardRef, useCallback, useMemo, useRef, useState } from 'react' +import { ScrollerProps, Virtuoso, VirtuosoHandle } from 'react-virtuoso' +import { useInViewRef, useMediaMatch } from 'rooks' + +import { usePreferences } from '../hooks' type Props = { - cards: JSX.Element[] - title?: string - hasMore?: boolean - fetchNext?: () => void - emptyMessage?: string | (() => React.ReactNode) + title: string + items: JSX.Element[] + onFetchMore: () => void + emptyState?: React.ReactNode } -export default function HorizontalCardList({ - cards, - title, - fetchNext, - emptyMessage = 'No items to display', -}: Props) { - const parentRef = useRef(null) - const visibleRef = useRef([0, 0]) + +export default function HorizontalCardList_({ title, items, onFetchMore, emptyState }: Props) { + const virtuosoRef = useRef(null) const isAtLeastSmall = useMediaMatch('(min-width: 640px)') const isAtLeastMedium = useMediaMatch('(min-width: 768px)') - // NOTE: "When this function's memoization changes, the entire list is recalculated" - // Sure doesn't seem like it! >:( I had to create an effect that calls measure() when the - // memoization changes. This feels like a bug TBH. - const estimateSize = useCallback(() => { - if (!isAtLeastSmall) { - return 170 - } else if (!isAtLeastMedium) { - return 185 - } else { - return 205 - } - }, [isAtLeastSmall, isAtLeastMedium]) + const height = useMemo( + () => (!isAtLeastSmall ? 325 : !isAtLeastMedium ? 350 : 385), + [isAtLeastSmall, isAtLeastMedium], + ) - const columnVirtualizer = useVirtualizer({ - count: cards.length, - estimateSize, - getScrollElement: () => parentRef.current, - horizontal: true, - overscan: 15, - rangeExtractor: useCallback((range: Range) => { - visibleRef.current = [range.startIndex, range.endIndex] - return defaultRangeExtractor(range) - }, []), + const [firstCardRef, firstCardIsInView] = useInViewRef({ threshold: 0.5 }) + const [lastCardRef, lastCardIsInView] = useInViewRef({ threshold: 0.5 }) + const [visibleRange, setVisibleRange] = useState({ + endIndex: 0, + startIndex: 0, }) - const virtualItems = columnVirtualizer.getVirtualItems() - const isEmpty = virtualItems.length === 0 - - const [lowerBound, upperBound] = visibleRef.current - - const canSkipBackward = (lowerBound ?? 0) > 0 - const canSkipForward = !!cards.length && (upperBound || 0) + 1 < cards.length - - useEffect(() => { - columnVirtualizer.measure() - }, [isAtLeastMedium, isAtLeastSmall]) - - useEffect(() => { - const [lastItem] = [...virtualItems].reverse() - if (!lastItem) { - return - } - - // if we are 80% of the way to the end, fetch more - const start = upperBound || 0 - const threshold = lastItem.index * 0.8 - const closeToEnd = start >= threshold - - if (closeToEnd) { - fetchNext?.() - } - }, [virtualItems, fetchNext, upperBound]) - - const getItemOffset = (index: number) => { - return index * estimateSize() - } - - const handleSkipAhead = async (skipValue = 5) => { - const nextIndex = (upperBound || 5) + skipValue || 10 - const virtualItem = virtualItems.find((item) => item.index === nextIndex) - - if (!virtualItem) { - // NOTE: this is really just a guess, and this should never ~really~ happen - columnVirtualizer.scrollToOffset(getItemOffset(nextIndex), { behavior: 'smooth' }) - } else { - columnVirtualizer.scrollToIndex(nextIndex, { behavior: 'smooth' }) - } - } - - const handleSkipBackward = (skipValue = 5) => { - let nextIndex = (visibleRef?.current[0] ?? 0) - skipValue || 0 - if (nextIndex < 0) { - nextIndex = 0 - } + const { startIndex: lowerBound, endIndex: upperBound } = visibleRange + + const canSkipBackward = upperBound > 0 && !firstCardIsInView + const canSkipForward = items.length && !lastCardIsInView + + const handleSkipAhead = useCallback( + (skip = 5) => { + const nextIndex = Math.min(upperBound + skip, items.length - 1) + virtuosoRef.current?.scrollIntoView({ + index: nextIndex, + behavior: 'smooth', + align: 'start', + }) + }, + [upperBound, items.length], + ) - columnVirtualizer.scrollToIndex(nextIndex, { behavior: 'smooth' }) - } + const handleSkipBackward = useCallback( + (skip = 5) => { + const nextIndex = Math.max(lowerBound - skip, 0) + virtuosoRef.current?.scrollIntoView({ + index: nextIndex, + behavior: 'smooth', + align: 'start', + }) + }, + [lowerBound], + ) const renderContent = () => { - if (!cards.length) { - return typeof emptyMessage === 'string' ? ( - {emptyMessage} - ) : ( - emptyMessage() - ) - } - - return ( -

-
- {columnVirtualizer.getVirtualItems().map((virtualItem) => { - const card = cards[virtualItem.index] - - return ( -
- {card} + if (!items.length) { + return ( +
+ {emptyState || ( +
+ + + +
+ Nothing to show + + No results present to display +
- ) - })} +
+ )}
-
- ) + ) + } else { + return ( + ( +
+ {card} +
+ )} + endReached={onFetchMore} + increaseViewportBy={5 * (height / 3)} + rangeChanged={setVisibleRange} + overscan={{ main: 3, reverse: 3 }} + /> + ) + } } return ( -
+
{title} -
+
- - + - - +
+ {renderContent()}
) } + +const HorizontalScroller = forwardRef( + ({ children, ...props }, ref) => { + const { + preferences: { enable_hide_scrollbar }, + } = usePreferences() + + return ( +
+ {children} +
+ ) + }, +) +HorizontalScroller.displayName = 'HorizontalScroller' diff --git a/packages/browser/src/components/entity/EntityCard.tsx b/packages/browser/src/components/entity/EntityCard.tsx index 05afe99c2..2c814d9cf 100644 --- a/packages/browser/src/components/entity/EntityCard.tsx +++ b/packages/browser/src/components/entity/EntityCard.tsx @@ -84,7 +84,7 @@ export default function EntityCard({ const renderTitle = () => { if (typeof title === 'string') { return ( - + {title} ) @@ -150,7 +150,7 @@ export default function EntityCard({ ) { if (e.target instanceof HTMLAnchorElement && e.target.href) { diff --git a/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx b/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx index 488954e0e..722fd106d 100644 --- a/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx +++ b/packages/browser/src/components/readers/imageBased/ImageBasedReader.tsx @@ -129,14 +129,18 @@ export default function ImageBasedReader({ * when the user navigates away from the reader, the in-progress media is accurately reflected with * the latest reading session. */ - useEffect(() => { - return () => { - setSettings({ - showToolBar: false, - }) - queryClient.invalidateQueries([sdk.media.keys.inProgress], { exact: false }) - } - }, []) + useEffect( + () => { + return () => { + setSettings({ + showToolBar: false, + }) + queryClient.invalidateQueries([sdk.media.keys.inProgress], { exact: false }) + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [], + ) const renderReader = () => { if (readingMode.startsWith('continuous')) { diff --git a/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx b/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx index 6743408a7..ebc081a4c 100644 --- a/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx +++ b/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx @@ -1,3 +1,4 @@ +/* eslint-disable react-hooks/exhaustive-deps */ import { motion, useAnimation, useMotionValue, useTransform } from 'framer-motion' import { useEffect, useMemo, useRef } from 'react' import { useHotkeys } from 'react-hotkeys-hook' diff --git a/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx b/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx index e8c8c9848..95b8273d5 100644 --- a/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx +++ b/packages/browser/src/components/readers/pdf/NativePDFViewer.tsx @@ -35,14 +35,17 @@ export default function NativePDFViewer({ id }: Props) { const arrayBuffer = await blob.arrayBuffer() setPdfObjectUrl(URL.createObjectURL(new Blob([arrayBuffer], { type: 'application/pdf' }))) } - fetchPdf() + + if (!pdfObjectUrl) { + fetchPdf() + } return () => { if (pdfObjectUrl) { URL.revokeObjectURL(pdfObjectUrl) } } - }, []) + }, [sdk, id, pdfObjectUrl]) // TODO: consider some sort of loading state here if (!pdfObjectUrl) { diff --git a/packages/browser/src/scenes/book/BookOverviewScene.tsx b/packages/browser/src/scenes/book/BookOverviewScene.tsx index 4ea9b03dc..513237ab0 100644 --- a/packages/browser/src/scenes/book/BookOverviewScene.tsx +++ b/packages/browser/src/scenes/book/BookOverviewScene.tsx @@ -51,7 +51,7 @@ export default function BookOverviewScene() { return () => { remove() } - }, []) + }, [remove]) if (isLoading) { return null diff --git a/packages/browser/src/scenes/book/BooksAfterCursor.tsx b/packages/browser/src/scenes/book/BooksAfterCursor.tsx index 194c9b061..d772ff4f7 100644 --- a/packages/browser/src/scenes/book/BooksAfterCursor.tsx +++ b/packages/browser/src/scenes/book/BooksAfterCursor.tsx @@ -1,6 +1,8 @@ import { useMediaCursorQuery } from '@stump/client' +import { Text } from '@stump/components' import { Media } from '@stump/sdk' -import { useEffect } from 'react' +import { BookX } from 'lucide-react' +import { useCallback, useEffect } from 'react' import MediaCard from '@/components/book/BookCard' import HorizontalCardList from '@/components/HorizontalCardList' @@ -9,8 +11,8 @@ type Props = { cursor: Media } -export default function BooksAfterCurrent({ cursor }: Props) { - const { media, fetchNextPage, hasNextPage, remove } = useMediaCursorQuery({ +function BooksAfterCurrent({ cursor }: Props) { + const { media, fetchNextPage, hasNextPage, remove, isFetching } = useMediaCursorQuery({ initialCursor: cursor.id, limit: 20, params: { @@ -18,9 +20,10 @@ export default function BooksAfterCurrent({ cursor }: Props) { id: cursor.series_id, }, }, + suspense: true, + useErrorBoundary: false, }) - const title = cursor.series ? `Next in ${cursor.series.name}` : 'Next in Series' const cards = media.map((media) => ) useEffect(() => { @@ -30,14 +33,38 @@ export default function BooksAfterCurrent({ cursor }: Props) { return () => { remove() } - }, []) + }, [remove]) + + const handleFetchMore = useCallback(() => { + if (!hasNextPage || isFetching) { + return + } else { + fetchNextPage() + } + }, [fetchNextPage, hasNextPage, isFetching]) return ( + + + +
+ Nothing to show + + No books remain after this one + +
+
+ } /> ) } + +export default function BooksAfterCurrentContainer({ cursor }: Props) { + return +} diff --git a/packages/browser/src/scenes/book/settings/BookPageGrid.tsx b/packages/browser/src/scenes/book/settings/BookPageGrid.tsx index 5662b89ad..fd4e74ac8 100644 --- a/packages/browser/src/scenes/book/settings/BookPageGrid.tsx +++ b/packages/browser/src/scenes/book/settings/BookPageGrid.tsx @@ -47,10 +47,14 @@ export default function BookPageGrid({ bookId, pages, selectedPage, onSelectPage overscan: 5, }) - useEffect(() => { - rowVirtualizer.measure() - columnVirtualizer.measure() - }, [isAtLeastMedium, isAtLeastSmall]) + useEffect( + () => { + rowVirtualizer.measure() + columnVirtualizer.measure() + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [isAtLeastMedium, isAtLeastSmall], + ) return (
diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx index 5c05d7400..69cff3f70 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/scheduler/AddBookCard.tsx @@ -46,7 +46,7 @@ export default function AddBookCard({ index }: Props) { form.setValue(`books.${index}.book.author`, '') form.setValue(`books.${index}.book.url`, undefined) } - }, [isEntityBook, selectedBook]) + }, [isEntityBook, selectedBook, form, index]) const handleSelectBook = useCallback( (book: Media) => { diff --git a/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx b/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx index 434847fb1..5d7f58f4f 100644 --- a/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx +++ b/packages/browser/src/scenes/bookSearch/BookSearchScene.tsx @@ -75,15 +75,19 @@ export default function BookSearchScene() { const previousPage = usePrevious(current_page) const shouldScroll = !!previousPage && previousPage !== current_page - useEffect(() => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, [shouldScroll]) + useEffect( + () => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [isInView, shouldScroll], + ) const renderContent = () => { if (layoutMode === 'GRID') { diff --git a/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx b/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx index b758e607a..1a9cd2873 100644 --- a/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx +++ b/packages/browser/src/scenes/error/ServerConnectionErrorScene.tsx @@ -64,7 +64,7 @@ export default function ServerConnectionErrorScene() { }) .then(() => setGoHome(true)) } - }, [backOnline]) + }, [backOnline, t]) if (goHome) { const from = location.state?.from || '/' diff --git a/packages/browser/src/scenes/home/ContinueReading.tsx b/packages/browser/src/scenes/home/ContinueReading.tsx index f7bbb7a6e..aceca3e3e 100644 --- a/packages/browser/src/scenes/home/ContinueReading.tsx +++ b/packages/browser/src/scenes/home/ContinueReading.tsx @@ -1,36 +1,55 @@ import { useContinueReading } from '@stump/client' -import { Heading, Text } from '@stump/components' +import { Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import { CircleSlash2 } from 'lucide-react' +import { BookMarked } from 'lucide-react' +import { Suspense, useCallback } from 'react' import MediaCard from '@/components/book/BookCard' import HorizontalCardList from '@/components/HorizontalCardList' -export default function ContinueReadingMedia() { +function ContinueReadingMedia() { const { t } = useLocaleContext() - const { media, fetchNextPage, hasNextPage, isLoading } = useContinueReading({ + const { media, fetchNextPage, hasNextPage, isFetching } = useContinueReading({ limit: 20, + suspense: true, }) const cards = media.map((media) => ) + const handleFetchMore = useCallback(() => { + if (!hasNextPage || isFetching) { + return + } else { + fetchNextPage() + } + }, [fetchNextPage, hasNextPage, isFetching]) + return ( - isLoading ? null : ( -
- - {t('homeScene.continueReading.emptyState.heading')} + items={cards} + onFetchMore={handleFetchMore} + emptyState={ +
+ + + +
+ {t('homeScene.continueReading.emptyState.heading')} {t('homeScene.continueReading.emptyState.message')}
- ) +
} /> ) } + +export default function ContinueReadingMediaContainer() { + return ( + + + + ) +} diff --git a/packages/browser/src/scenes/home/RecentlyAddedMedia.tsx b/packages/browser/src/scenes/home/RecentlyAddedMedia.tsx index 4b898ddf2..b8a745267 100644 --- a/packages/browser/src/scenes/home/RecentlyAddedMedia.tsx +++ b/packages/browser/src/scenes/home/RecentlyAddedMedia.tsx @@ -1,40 +1,55 @@ import { useRecentlyAddedMediaQuery } from '@stump/client' -import { Heading, Text } from '@stump/components' +import { Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import { CircleSlash2 } from 'lucide-react' +import { BookX } from 'lucide-react' +import { Suspense, useCallback } from 'react' import MediaCard from '@/components/book/BookCard' import HorizontalCardList from '@/components/HorizontalCardList' -export default function RecentlyAddedMedia() { +function RecentlyAddedMedia() { const { t } = useLocaleContext() - const { data, media, isLoading, fetchNextPage, hasNextPage } = useRecentlyAddedMediaQuery({ + const { media, fetchNextPage, hasNextPage, isFetching } = useRecentlyAddedMediaQuery({ limit: 20, + suspense: true, }) - if (isLoading || !data) { - return null - } - const cards = media.map((media) => ) + const handleFetchMore = useCallback(() => { + if (!hasNextPage || isFetching) { + return + } else { + fetchNextPage() + } + }, [fetchNextPage, hasNextPage, isFetching]) + return ( - isLoading ? null : ( -
- - {t('homeScene.recentlyAddedBooks.emptyState.heading')} + items={cards} + onFetchMore={handleFetchMore} + emptyState={ +
+ + + +
+ {t('homeScene.recentlyAddedBooks.emptyState.heading')} {t('homeScene.recentlyAddedBooks.emptyState.message')}
- ) +
} /> ) } + +export default function RecentlyAddedMediaContainer() { + return ( + + + + ) +} diff --git a/packages/browser/src/scenes/home/RecentlyAddedSeries.tsx b/packages/browser/src/scenes/home/RecentlyAddedSeries.tsx index 0f09101cd..a3d87d403 100644 --- a/packages/browser/src/scenes/home/RecentlyAddedSeries.tsx +++ b/packages/browser/src/scenes/home/RecentlyAddedSeries.tsx @@ -1,15 +1,16 @@ import { useSDK, useSeriesCursorQuery } from '@stump/client' -import { Heading, Text } from '@stump/components' +import { Text } from '@stump/components' import { useLocaleContext } from '@stump/i18n' -import { CircleSlash2 } from 'lucide-react' +import { BookCopy } from 'lucide-react' +import { Suspense, useCallback } from 'react' import HorizontalCardList from '@/components/HorizontalCardList' import SeriesCard from '@/components/series/SeriesCard' -export default function RecentlyAddedSeries() { +function RecentlyAddedSeries() { const { sdk } = useSDK() const { t } = useLocaleContext() - const { series, fetchNextPage, hasNextPage, isLoading } = useSeriesCursorQuery({ + const { series, fetchNextPage, hasNextPage, isFetching } = useSeriesCursorQuery({ limit: 20, params: { count_media: true, @@ -17,29 +18,47 @@ export default function RecentlyAddedSeries() { order_by: 'created_at', }, queryKey: [sdk.series.keys.recentlyAdded], + suspense: true, }) const cards = series.map((series) => ( )) + const handleFetchMore = useCallback(() => { + if (!hasNextPage || isFetching) { + return + } else { + fetchNextPage() + } + }, [fetchNextPage, hasNextPage, isFetching]) + return ( - isLoading ? null : ( -
- - {t('homeScene.recentlyAddedSeries.emptyState.heading')} + items={cards} + onFetchMore={handleFetchMore} + emptyState={ +
+ + + +
+ {t('homeScene.recentlyAddedSeries.emptyState.heading')} {t('homeScene.recentlyAddedSeries.emptyState.message')}
- ) +
} /> ) } + +export default function RecentlyAddedSeriesContainer() { + return ( + + + + ) +} diff --git a/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx b/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx index a0b7ec1ae..36fb615e9 100644 --- a/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx +++ b/packages/browser/src/scenes/library/tabs/books/LibraryBooksScene.tsx @@ -81,15 +81,19 @@ export default function LibraryBooksScene() { ) const shouldScroll = usePreviousIsDifferent(current_page) - useEffect(() => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, [shouldScroll]) + useEffect( + () => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [isInView, shouldScroll], + ) const renderContent = () => { if (layoutMode === 'GRID') { diff --git a/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx b/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx index daf9345ca..2245e501b 100644 --- a/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx +++ b/packages/browser/src/scenes/library/tabs/series/LibrarySeriesScene.tsx @@ -101,15 +101,19 @@ function LibrarySeriesScene() { const previousPage = usePrevious(current_page) const shouldScroll = !!previousPage && previousPage !== current_page - useEffect(() => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, [shouldScroll]) + useEffect( + () => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [isInView, shouldScroll], + ) useEffect(() => { if (library?.id && !alreadyVisited.current) { diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx index 766c35b2a..698e7c45a 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx @@ -54,10 +54,14 @@ export default function LibrarySeriesGrid({ libraryId, onSelectSeries }: Props) overscan: 5, }) - useEffect(() => { - rowVirtualizer.measure() - columnVirtualizer.measure() - }, [isAtLeastMedium, isAtLeastSmall]) + useEffect( + () => { + rowVirtualizer.measure() + columnVirtualizer.measure() + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [isAtLeastMedium, isAtLeastSmall], + ) const handleScroll = () => { if (!hasNextPage) return diff --git a/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx b/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx index 3318ddefd..5b9b9bda1 100644 --- a/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx +++ b/packages/browser/src/scenes/series/tabs/books/SeriesBooksScene.tsx @@ -82,15 +82,19 @@ export default function SeriesOverviewScene() { const previousPage = usePrevious(current_page) const shouldScroll = !!previousPage && previousPage !== current_page - useEffect(() => { - if (!isInView && shouldScroll) { - containerRef.current?.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'start', - }) - } - }, [shouldScroll]) + useEffect( + () => { + if (!isInView && shouldScroll) { + containerRef.current?.scrollIntoView({ + behavior: 'smooth', + block: 'nearest', + inline: 'start', + }) + } + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [shouldScroll, isInView], + ) const renderContent = () => { if (layoutMode === 'GRID') { diff --git a/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx b/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx index a187437ad..f5648a1a7 100644 --- a/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx +++ b/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx @@ -58,10 +58,14 @@ export default function SeriesBookGrid({ seriesId, onSelectBook }: Props) { overscan: 5, }) - useEffect(() => { - rowVirtualizer.measure() - columnVirtualizer.measure() - }, [isAtLeastMedium, isAtLeastSmall]) + useEffect( + () => { + rowVirtualizer.measure() + columnVirtualizer.measure() + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [isAtLeastMedium, isAtLeastSmall], + ) const handleScroll = () => { if (!hasNextPage) return diff --git a/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx b/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx index 2d886e4d5..4cac81ae9 100644 --- a/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx +++ b/packages/browser/src/scenes/settings/server/users/user-table/UserActionMenu.tsx @@ -2,7 +2,7 @@ import { invalidateQueries, useSDK } from '@stump/client' import { DropdownMenu, IconButton } from '@stump/components' import { User } from '@stump/sdk' import { Database, Lock, MoreVertical, Pencil, Search, Trash, Unlock } from 'lucide-react' -import { useMemo } from 'react' +import { useCallback, useMemo } from 'react' import toast from 'react-hot-toast' import { useNavigate } from 'react-router' @@ -26,21 +26,24 @@ export default function UserActionMenu({ user, onSelectForInspect }: Props) { const userSessionsCount = users.find((u) => u.id === user.id)?.login_sessions_count || 0 - const handleSetLockStatus = async (lock: boolean) => { - try { - await sdk.user.lockUser(user.id, lock) - await invalidateQueries({ keys: [sdk.user.keys.get] }) - } catch (error) { - if (error instanceof Error) { - toast.error(error.message) - } else { - console.error(error) - toast.error('An unknown error occurred') + const handleSetLockStatus = useCallback( + async (lock: boolean) => { + try { + await sdk.user.lockUser(user.id, lock) + await invalidateQueries({ keys: [sdk.user.keys.get] }) + } catch (error) { + if (error instanceof Error) { + toast.error(error.message) + } else { + console.error(error) + toast.error('An unknown error occurred') + } } - } - } + }, + [sdk, user.id], + ) - const handleClearUserSessions = async () => { + const handleClearUserSessions = useCallback(async () => { try { await sdk.user.deleteUserSessions(user.id) if (isSelf) { @@ -56,7 +59,7 @@ export default function UserActionMenu({ user, onSelectForInspect }: Props) { toast.error('An unknown error occurred') } } - } + }, [sdk, user.id, isSelf, navigate]) const groups = useMemo( () => [ @@ -102,7 +105,16 @@ export default function UserActionMenu({ user, onSelectForInspect }: Props) { }, ], - [setDeletingUser, user, isSelf, userSessionsCount], + [ + setDeletingUser, + user, + isSelf, + userSessionsCount, + navigate, + onSelectForInspect, + handleClearUserSessions, + handleSetLockStatus, + ], ) if (!isServerOwner) { diff --git a/packages/browser/src/stores/desktop.ts b/packages/browser/src/stores/desktop.ts index 2c8b8e2d0..91e7f8698 100644 --- a/packages/browser/src/stores/desktop.ts +++ b/packages/browser/src/stores/desktop.ts @@ -51,28 +51,32 @@ export const useTauriStore = () => { /** * An effect to load the store from disk on mount and sync it with the local store */ - useEffect(() => { - const init = async () => { - try { - const storeEntries = await store.entries() - const loadedStore = storeEntries.reduce( - (acc, [key, value]) => { - acc[key] = value - return acc - }, - {} as Record, - ) - // TODO: smarter type assertions here - if ('connected_servers' in loadedStore) { - localStore.set(loadedStore as DesktopAppStore) + useEffect( + () => { + const init = async () => { + try { + const storeEntries = await store.entries() + const loadedStore = storeEntries.reduce( + (acc, [key, value]) => { + acc[key] = value + return acc + }, + {} as Record, + ) + // TODO: smarter type assertions here + if ('connected_servers' in loadedStore) { + localStore.set(loadedStore as DesktopAppStore) + } + } catch (e) { + console.error('Failed to load store', e) } - } catch (e) { - console.error('Failed to load store', e) } - } - init() - }, []) + init() + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [], + ) /** * Add a server to the list of connected servers. If this is the first server added, diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index 9b87b0334..06f0b9d7e 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -210,31 +210,15 @@ export function useCursorQuery( [initialCursor, limit, params, ...queryKey], async ({ pageParam }: CursorQueryContext) => { return queryFn({ - afterId: pageParam || initialCursor, + cursor: pageParam || initialCursor, limit: limit || 20, params, }) }, { - getNextPageParam: (lastPage) => { - const hasData = !!lastPage.data.length - if (!hasData) { - return undefined - } - - if (lastPage._cursor?.next_cursor) { - return lastPage._cursor?.next_cursor - } - - return undefined - }, - getPreviousPageParam: (firstPage) => { - const hasCursor = !!firstPage?._cursor?.current_cursor - if (hasCursor) { - return firstPage?._cursor?.current_cursor - } - return undefined - }, + getNextPageParam: (lastPage) => lastPage?._cursor?.next_cursor, + getPreviousPageParam: (firstPage) => firstPage?._cursor?.current_cursor, + keepPreviousData: true, ...restOptions, }, ) diff --git a/packages/components/src/button/Button.tsx b/packages/components/src/button/Button.tsx index ebd8d494a..d46328637 100644 --- a/packages/components/src/button/Button.tsx +++ b/packages/components/src/button/Button.tsx @@ -47,6 +47,7 @@ export const BUTTON_SIZE_VARIANTS = { md: 'h-9 px-3', sm: 'h-8 px-2', xs: 'h-6 px-1', + icon: 'h-6 w-6', } export const BUTTON_NY_SIZE_VARIANTS = { @@ -55,6 +56,7 @@ export const BUTTON_NY_SIZE_VARIANTS = { md: 'h-8 px-3', sm: 'h-7 px-2', xs: 'h-5 px-1', + icon: 'h-6 w-6', } const buttonVariants = cva(BUTTON_BASE_CLASSES, { @@ -141,7 +143,10 @@ const Button = React.forwardRef( {...props} > {isLoading ? ( - + ) : ( children )} diff --git a/packages/components/src/tooltip/ToolTip.tsx b/packages/components/src/tooltip/ToolTip.tsx index 8b93e5f34..126803fca 100644 --- a/packages/components/src/tooltip/ToolTip.tsx +++ b/packages/components/src/tooltip/ToolTip.tsx @@ -5,13 +5,13 @@ import { ToolTipContentProps, ToolTipPrimitive, ToolTipProvider } from './primit const toolTipVariants = cva(undefined, { defaultVariants: { - size: 'md', + size: 'sm', }, variants: { size: { lg: 'text-base', md: 'text-sm', - sm: 'p-1 text-sm', + sm: 'px-2 py-1 text-sm', xs: 'p-1 text-xs', }, }, diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index c7eb6542e..587880bbc 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -574,24 +574,24 @@ }, "homeScene": { "continueReading": { - "title": "Continue Reading", + "title": "Continue reading", "emptyState": { - "heading": "No books to display", - "message": "Any books you're currently reading will show up here" + "heading": "Nothing to show", + "message": "Any in-progress books you start will show up here" } }, "recentlyAddedSeries": { - "title": "Recently Added Series", + "title": "Recently added series", "emptyState": { "heading": "No series to display", "message": "Any series you add to your libraries will show up here" } }, "recentlyAddedBooks": { - "title": "Recently Added Books", + "title": "Recently added books", "emptyState": { - "heading": "No books to display", - "message": "Any books you add to your libraries will show up here" + "heading": "Nothing to show", + "message": "Any recent books you add will show up here" } } }, diff --git a/packages/sdk/src/controllers/media-api.ts b/packages/sdk/src/controllers/media-api.ts index 5af393568..3b0930593 100644 --- a/packages/sdk/src/controllers/media-api.ts +++ b/packages/sdk/src/controllers/media-api.ts @@ -35,7 +35,7 @@ export class MediaAPI extends APIBase { * Fetch media and maintain a cursor */ async getCursor(params: CursorQueryParams): Promise> { - const { data: media } = await this.axios.get>(mediaURL('cursor', params)) + const { data: media } = await this.axios.get>(mediaURL('', params)) return media } diff --git a/packages/sdk/src/controllers/series-api.ts b/packages/sdk/src/controllers/series-api.ts index 571ee1b5c..1fb1c2a00 100644 --- a/packages/sdk/src/controllers/series-api.ts +++ b/packages/sdk/src/controllers/series-api.ts @@ -87,11 +87,11 @@ export class SeriesAPI extends APIBase { */ async nextBooks( forSeries: string, - { afterId, limit = 25, params }: CursorQueryParams, + { cursor, limit = 25, params }: CursorQueryParams, ): Promise> { const bookAPI = new MediaAPI(this.api) return bookAPI.getCursor({ - afterId, + cursor, limit, params: { ...params, diff --git a/packages/sdk/src/controllers/types.ts b/packages/sdk/src/controllers/types.ts index bca925f29..32455b7c2 100644 --- a/packages/sdk/src/controllers/types.ts +++ b/packages/sdk/src/controllers/types.ts @@ -12,7 +12,7 @@ export type PagedQueryParams = { } export type CursorQueryParams = { - afterId?: string + cursor?: string limit?: number params?: Record } diff --git a/packages/sdk/src/controllers/utils.ts b/packages/sdk/src/controllers/utils.ts index 4a20a53bb..b3c7c24a0 100644 --- a/packages/sdk/src/controllers/utils.ts +++ b/packages/sdk/src/controllers/utils.ts @@ -103,13 +103,13 @@ export const toObjectParams = ( } export const mergeCursorParams = ({ - afterId, + cursor, limit, params, }: CursorQueryParams): URLSearchParams => { const searchParams = toUrlParams(params) - if (afterId) { - searchParams.set('cursor', afterId) + if (cursor) { + searchParams.set('cursor', cursor) } if (limit) { searchParams.set('limit', limit.toString()) From d4bf1218b5a10359470a56e1ab0a4455ac26f06f Mon Sep 17 00:00:00 2001 From: Joseph Micheli Date: Thu, 31 Oct 2024 19:42:16 -0500 Subject: [PATCH 06/17] =?UTF-8?q?=E2=9C=A8=20Add=20support=20for=20uploadi?= =?UTF-8?q?ng=20books=20(#492)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add upload feature, must be enabled via the `enable_upload` configuration variable. --------- Co-authored-by: Aaron Leopold <36278431+aaronleopold@users.noreply.github.com> Co-authored-by: Aaron Leopold --- Cargo.lock | 242 +++++--- Cargo.toml | 3 + apps/server/Cargo.toml | 4 + apps/server/src/routers/api/mod.rs | 7 + apps/server/src/routers/api/v1/config.rs | 64 +++ apps/server/src/routers/api/v1/library.rs | 9 +- .../src/routers/api/v1/media/thumbnails.rs | 9 +- apps/server/src/routers/api/v1/mod.rs | 16 +- apps/server/src/routers/api/v1/series.rs | 9 +- apps/server/src/routers/api/v1/upload.rs | 539 ++++++++++++++++++ apps/server/src/routers/api/v1/user.rs | 11 +- apps/server/src/utils/http.rs | 1 + apps/server/src/utils/upload.rs | 26 +- core/Cargo.toml | 5 +- core/src/config/stump_config.rs | 26 +- .../explorer/FileExplorerHeader.tsx | 6 +- .../explorer/FileExplorerProvider.tsx | 12 +- .../src/components/explorer/LayoutButtons.tsx | 8 +- .../src/components/explorer/context.ts | 34 +- .../components/explorer/upload/UploadMenu.tsx | 46 ++ .../explorer/upload/UploadModal.tsx | 333 +++++++++++ .../src/components/explorer/upload/index.ts | 1 + .../sections/BasicLibraryInformation.tsx | 11 +- .../src/scenes/library/LibraryNavigation.tsx | 5 +- .../tabs/files/LibraryExplorerScene.tsx | 11 +- .../src/scenes/series/SeriesNavigation.tsx | 5 +- .../series/tabs/files/SeriesExplorerScene.tsx | 9 +- packages/client/src/queries/filesystem.ts | 51 +- packages/components/src/dialog/primitives.tsx | 4 +- packages/components/src/tooltip/ToolTip.tsx | 8 +- packages/i18n/src/locales/en.json | 28 +- packages/sdk/src/api.ts | 5 + packages/sdk/src/controllers/index.ts | 1 + packages/sdk/src/controllers/types.ts | 7 + packages/sdk/src/controllers/upload-api.ts | 102 ++++ packages/sdk/src/types/generated.ts | 32 ++ 36 files changed, 1514 insertions(+), 176 deletions(-) create mode 100644 apps/server/src/routers/api/v1/config.rs create mode 100644 apps/server/src/routers/api/v1/upload.rs create mode 100644 packages/browser/src/components/explorer/upload/UploadMenu.tsx create mode 100644 packages/browser/src/components/explorer/upload/UploadModal.tsx create mode 100644 packages/browser/src/components/explorer/upload/index.ts create mode 100644 packages/sdk/src/controllers/upload-api.ts diff --git a/Cargo.lock b/Cargo.lock index 7349fd8ac..fcd236143 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -210,9 +210,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "37bf3594c4c988a53154954629820791dde498571819ae4ca50ca811e060cc95" [[package]] name = "arbitrary" @@ -509,6 +509,39 @@ dependencies = [ "url", ] +[[package]] +name = "axum_typed_multipart" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0412547e063ce471a3f5ccf8a5129ae5ff64c63e40ee1bf1079dec3fcede4e7" +dependencies = [ + "anyhow", + "axum", + "axum_typed_multipart_macros", + "bytes", + "chrono", + "futures-core", + "futures-util", + "tempfile", + "thiserror", + "tokio", + "uuid 1.10.0", +] + +[[package]] +name = "axum_typed_multipart_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bbb13e6a88be66ca8a226e4cee4d60eea0245bbdd4f22a95dfb90cbcf6be4b3" +dependencies = [ + "darling", + "heck 0.5.0", + "proc-macro-error2", + "quote", + "syn 2.0.79", + "ubyte", +] + [[package]] name = "backtrace" version = "0.3.67" @@ -719,9 +752,9 @@ dependencies = [ [[package]] name = "brotli" -version = "6.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -2226,9 +2259,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fastrand" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "fax" @@ -2406,9 +2439,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2416,9 +2449,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" @@ -2433,15 +2466,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -2450,15 +2483,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -2468,9 +2501,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3583,7 +3616,19 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc" dependencies = [ - "jsonptr", + "jsonptr 0.4.7", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr 0.6.3", "serde", "serde_json", "thiserror", @@ -3611,6 +3656,16 @@ dependencies = [ "serde_json", ] +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "jsonrpc-core" version = "17.1.0" @@ -3663,12 +3718,14 @@ dependencies = [ [[package]] name = "keyring" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd3d701d3de5b9c4b0d9d077f8c2c66f0388d75e96932ebbb7cdff8713d7f7c6" +checksum = "11351fce7c6e2b5f1871e3c8ed048d60d909ab6fea6b96bfe41a6409277a2ee5" dependencies = [ "byteorder", "dbus-secret-service", + "log", + "security-framework 2.7.0", "security-framework 3.0.0", "windows-sys 0.59.0", ] @@ -3781,9 +3838,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libdbus-sys" @@ -3946,9 +4003,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "loop9" @@ -4611,7 +4668,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 2.0.79", @@ -4890,9 +4947,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.66" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -4922,18 +4979,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.2+3.3.2" +version = "300.4.0+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" +checksum = "a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", @@ -4985,13 +5042,13 @@ checksum = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" [[package]] name = "os_info" -version = "3.8.2" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" dependencies = [ "log", "serde", - "windows-sys 0.52.0", + "winapi", ] [[package]] @@ -5109,9 +5166,9 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pathdiff" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" [[package]] name = "pdf" @@ -5409,9 +5466,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -5699,15 +5756,6 @@ dependencies = [ "toml_edit 0.20.7", ] -[[package]] -name = "proc-macro-crate" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" -dependencies = [ - "toml_edit 0.22.20", -] - [[package]] name = "proc-macro-error" version = "1.0.4" @@ -5732,6 +5780,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -6994,13 +7064,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 1.0.107", ] [[package]] @@ -7142,12 +7212,12 @@ dependencies = [ [[package]] name = "shared_child" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" +checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" dependencies = [ "libc", - "windows-sys 0.59.0", + "winapi", ] [[package]] @@ -7666,12 +7736,14 @@ dependencies = [ "axum-extra", "axum-macros", "axum-test", + "axum_typed_multipart", "base64 0.22.1", "bcrypt", "chrono", "cli", "futures-util", "hyper 0.14.27", + "infer", "jsonwebtoken", "linemux", "local-ip-address", @@ -7687,6 +7759,7 @@ dependencies = [ "serde_with", "specta", "stump_core", + "tempfile", "thiserror", "time", "tokio", @@ -7699,6 +7772,7 @@ dependencies = [ "utoipa", "utoipa-swagger-ui", "windows 0.58.0", + "zip 1.1.3", ] [[package]] @@ -7929,16 +8003,16 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935f9b3c49b22b3e2e485a57f46d61cd1ae07b1cbb2ba87387a387caf2d8c4e7" +checksum = "9f96827ccfb1aa40d55d0ded79562d18ba18566657a553f992a982d755148376" dependencies = [ "anyhow", "cargo_toml", "dirs", "glob", "heck 0.5.0", - "json-patch", + "json-patch 3.0.1", "schemars", "semver 1.0.16", "serde", @@ -7951,14 +8025,14 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e" +checksum = "8947f16f47becd9e9cd39b74ee337fd1981574d78819be18e4384d85e5a0b82f" dependencies = [ "base64 0.22.1", "brotli", "ico", - "json-patch", + "json-patch 2.0.0", "plist", "png", "proc-macro2", @@ -7978,9 +8052,9 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d2c0963ccfc3f5194415f2cce7acc975942a8797fbabfb0aa1ed6f59326ae7f" +checksum = "8bd1c8d4a66799d3438747c3a79705cd665a95d6f24cb5f315413ff7a981fe2a" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -7992,9 +8066,9 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e6660a409963e4d57b9bfab4addd141eeff41bd3a7fb14e13004a832cf7ef6" +checksum = "6fa4e6c94cb1d635f65a770c69e23de1bc054b0e4c554fa037a7cc7676333d39" dependencies = [ "anyhow", "glob", @@ -8027,9 +8101,9 @@ dependencies = [ [[package]] name = "tauri-plugin-shell" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "371fb9aca2823990a2d0db7970573be5fdf07881fcaa2b835b29631feb84aec1" +checksum = "0ad7880c5586b6b2104be451e3d7fc0f3800c84bda69e9ba81c828f87cb34267" dependencies = [ "encoding_rs", "log", @@ -8064,9 +8138,9 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8f437293d6f5e5dce829250f4dbdce4e0b52905e297a6689cc2963eb53ac728" +checksum = "a1ef7363e7229ac8d04e8a5d405670dbd43dde8fc4bc3bc56105c35452d03784" dependencies = [ "dpi", "gtk", @@ -8083,9 +8157,9 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1431602bcc71f2f840ad623915c9842ecc32999b867c4a787d975a17a9625cc6" +checksum = "62fa2068e8498ad007b54d5773d03d57c3ff6dd96f8c8ce58beff44d0d5e0d30" dependencies = [ "gtk", "http 1.1.0", @@ -8109,9 +8183,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045" +checksum = "1fc65d6f5c54e56b66258948a6d9e47a82ea41f4b5a7612bfbdd1634c2913ed0" dependencies = [ "brotli", "cargo_metadata", @@ -8120,7 +8194,7 @@ dependencies = [ "glob", "html5ever", "infer", - "json-patch", + "json-patch 2.0.0", "kuchikiki", "log", "memchr", @@ -8174,9 +8248,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", "fastrand", @@ -8801,6 +8875,12 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +[[package]] +name = "ubyte" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f720def6ce1ee2fc44d40ac9ed6d3a59c361c80a75a7aa8e75bb9baed31cf2ea" + [[package]] name = "ucd-trie" version = "0.1.5" @@ -9264,9 +9344,9 @@ checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-streams" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -9814,9 +9894,9 @@ dependencies = [ [[package]] name = "wry" -version = "0.46.1" +version = "0.46.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f8c948dc5f7c23bd93ba03b85b7f679852589bb78e150424d993171e4ef7b73" +checksum = "cd5cdf57c66813d97601181349c63b96994b3074fc3d7a31a8cce96e968e3bbd" dependencies = [ "base64 0.22.1", "block2", diff --git a/Cargo.toml b/Cargo.toml index 26b257a09..afe11d38e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ derive_builder = "0.20.0" chrono = { version = "0.4.38", features = ["serde"] } futures = "0.3.30" futures-util = "0.3.30" +infer = "0.16.0" itertools = "0.13.0" keyring = { version = "3.4.0", features = ["apple-native", "windows-native", "sync-secret-service"] } lettre = { version = "0.11.4", default-features = false, features = [ @@ -66,3 +67,5 @@ urlencoding = "2.1.3" proc-macro2 = "1.0.87" quote = "1.0.37" syn = "2.0.79" +# Note: We need to keep this downgraded for the time being. See https://github.com/stumpapp/stump/issues/427#issuecomment-2332857700 +zip = { version = "=1.1.3", features = ["deflate"], default-features = false } \ No newline at end of file diff --git a/apps/server/Cargo.toml b/apps/server/Cargo.toml index f4f7d8ec6..0e1462ef1 100644 --- a/apps/server/Cargo.toml +++ b/apps/server/Cargo.toml @@ -12,6 +12,7 @@ axum = { version = "0.7.5", features = [ "multipart", ] } axum-macros = "0.4.1" +axum_typed_multipart = "0.13.1" axum-extra = { version = "0.9.3", features = [ "typed-header", "query" @@ -22,6 +23,7 @@ cli = { path = "../../crates/cli" } chrono = { workspace = true } futures-util = { workspace = true } hyper = "0.14.27" +infer = { workspace = true } jsonwebtoken = "9.3.0" linemux = { git = "https://github.com/jmagnuson/linemux.git", rev = "acaafc602afac5d7a9cd3e087dafc937cac1e364" } local-ip-address = "0.6.2" @@ -36,6 +38,7 @@ serde-untagged = "0.1.2" serde_with = { workspace = true } specta = { workspace = true } stump_core = { path = "../../core" } +tempfile = "3.13.0" tower-http = { version = "0.5.2", features = [ "fs", "cors", @@ -52,6 +55,7 @@ tracing = { workspace = true } urlencoding = { workspace = true } utoipa = { version = "4.2.3", features = ["axum_extras"] } utoipa-swagger-ui = { version = "7.1.0", features = ["axum"] } +zip = { workspace = true } [dev-dependencies] axum-test = "15.3.1" diff --git a/apps/server/src/routers/api/mod.rs b/apps/server/src/routers/api/mod.rs index 26b3eb383..4fcf6584e 100644 --- a/apps/server/src/routers/api/mod.rs +++ b/apps/server/src/routers/api/mod.rs @@ -18,6 +18,8 @@ mod tests { NamedType, }; + use stump_core::config::StumpConfig; + use crate::{ config::jwt::CreatedToken, filter::{ @@ -35,6 +37,7 @@ mod tests { CreateBookClubScheduleBookOption, GetBookClubsParams, UpdateBookClub, UpdateBookClubMember, }, + config::UploadConfig, emailer::{ CreateOrUpdateEmailDevice, CreateOrUpdateEmailer, EmailerIncludeParams, EmailerSendRecordIncludeParams, PatchEmailDevice, @@ -240,6 +243,10 @@ mod tests { format!("{}\n\n", ts_export::()?).as_bytes(), )?; + file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; + + file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; + Ok(()) } } diff --git a/apps/server/src/routers/api/v1/config.rs b/apps/server/src/routers/api/v1/config.rs new file mode 100644 index 000000000..dadadff63 --- /dev/null +++ b/apps/server/src/routers/api/v1/config.rs @@ -0,0 +1,64 @@ +use axum::{extract::State, middleware, routing::get, Extension, Json, Router}; +use serde::{Deserialize, Serialize}; +use specta::Type; +use stump_core::{config::StumpConfig, db::entity::UserPermission}; + +use crate::{ + config::state::AppState, + errors::APIResult, + middleware::auth::{auth_middleware, RequestContext}, +}; + +pub(crate) fn mount(app_state: AppState) -> Router { + Router::new() + .route("/config", get(get_server_config)) + .route("/config/upload", get(get_upload_config)) + .layer(middleware::from_fn_with_state(app_state, auth_middleware)) +} + +#[utoipa::path( + get, + path = "/api/v1/config", + tag = "config", + responses( + (status = 200, description = "Successfully retrieved server config"), + (status = 401, description = "Unauthorized"), + (status = 500, description = "Internal server error") + ) +)] +async fn get_server_config( + State(ctx): State, + Extension(req): Extension, +) -> APIResult> { + req.enforce_permissions(&[UserPermission::ManageServer])?; + + Ok(Json(StumpConfig::clone(&ctx.config))) +} + +#[derive(Debug, Deserialize, Serialize, Type)] +pub struct UploadConfig { + enabled: bool, + max_file_upload_size: usize, +} + +#[utoipa::path( + get, + path = "/api/v1/config/upload", + tag = "config", + responses( + (status = 200, description = "Successfully retrieved upload config"), + (status = 401, description = "Unauthorized"), + (status = 500, description = "Internal server error") + ) +)] +async fn get_upload_config( + State(ctx): State, + Extension(req): Extension, +) -> APIResult> { + req.enforce_permissions(&[UserPermission::UploadFile])?; + + Ok(Json(UploadConfig { + enabled: ctx.config.enable_upload, + max_file_upload_size: ctx.config.max_file_upload_size, + })) +} diff --git a/apps/server/src/routers/api/v1/library.rs b/apps/server/src/routers/api/v1/library.rs index 7d9dd057f..e6b18ab28 100644 --- a/apps/server/src/routers/api/v1/library.rs +++ b/apps/server/src/routers/api/v1/library.rs @@ -728,11 +728,11 @@ async fn replace_library_thumbnail( .await? .ok_or(APIError::NotFound(String::from("Library not found")))?; - let (content_type, bytes) = + let upload_data = validate_and_load_image(&mut upload, Some(ctx.config.max_image_upload_size)) .await?; - let ext = content_type.extension(); + let ext = upload_data.content_type.extension(); let library_id = library.id; // Note: I chose to *safely* attempt the removal as to not block the upload, however after some @@ -745,10 +745,11 @@ async fn replace_library_thumbnail( ), } - let path_buf = place_thumbnail(&library_id, ext, &bytes, &ctx.config).await?; + let path_buf = + place_thumbnail(&library_id, ext, &upload_data.bytes, &ctx.config).await?; Ok(ImageResponse::from(( - content_type, + upload_data.content_type, fs::read(path_buf).await?, ))) } diff --git a/apps/server/src/routers/api/v1/media/thumbnails.rs b/apps/server/src/routers/api/v1/media/thumbnails.rs index f0037768c..7ae5b5dcf 100644 --- a/apps/server/src/routers/api/v1/media/thumbnails.rs +++ b/apps/server/src/routers/api/v1/media/thumbnails.rs @@ -266,10 +266,10 @@ pub(crate) async fn replace_media_thumbnail( .await? .ok_or(APIError::NotFound(String::from("Media not found")))?; - let (content_type, bytes) = + let upload_data = validate_and_load_image(&mut upload, Some(ctx.config.max_image_upload_size)) .await?; - let ext = content_type.extension(); + let ext = upload_data.content_type.extension(); let book_id = media.id; // Note: I chose to *safely* attempt the removal as to not block the upload, however after some @@ -283,10 +283,11 @@ pub(crate) async fn replace_media_thumbnail( ); } - let path_buf = place_thumbnail(&book_id, ext, &bytes, &ctx.config).await?; + let path_buf = + place_thumbnail(&book_id, ext, &upload_data.bytes, &ctx.config).await?; Ok(ImageResponse::from(( - content_type, + upload_data.content_type, fs::read(path_buf).await?, ))) } diff --git a/apps/server/src/routers/api/v1/mod.rs b/apps/server/src/routers/api/v1/mod.rs index 677df7050..a6c17d29d 100644 --- a/apps/server/src/routers/api/v1/mod.rs +++ b/apps/server/src/routers/api/v1/mod.rs @@ -20,6 +20,7 @@ use crate::{ pub(crate) mod auth; pub(crate) mod book_club; +pub(crate) mod config; pub(crate) mod emailer; pub(crate) mod epub; pub(crate) mod filesystem; @@ -33,10 +34,11 @@ pub(crate) mod reading_list; pub(crate) mod series; pub(crate) mod smart_list; pub(crate) mod tag; +pub(crate) mod upload; pub(crate) mod user; pub(crate) fn mount(app_state: AppState) -> Router { - Router::new() + let mut router = Router::new() .merge(auth::mount(app_state.clone())) .merge(epub::mount(app_state.clone())) .merge(emailer::mount(app_state.clone())) @@ -52,12 +54,20 @@ pub(crate) fn mount(app_state: AppState) -> Router { .merge(user::mount(app_state.clone())) .merge(reading_list::mount(app_state.clone())) .merge(smart_list::mount(app_state.clone())) - .merge(book_club::mount(app_state)) + .merge(book_club::mount(app_state.clone())) + .merge(config::mount(app_state.clone())) .route("/claim", get(claim)) .route("/ping", get(ping)) // TODO: should /version or /check-for-updates be behind any auth reqs? .route("/version", post(version)) - .route("/check-for-update", get(check_for_updates)) + .route("/check-for-update", get(check_for_updates)); + + // Conditionally attach upload routes based on settings. + if app_state.config.enable_upload { + router = router.merge(upload::mount(app_state.clone())); + } + + router } #[derive(Serialize, Type, ToSchema)] diff --git a/apps/server/src/routers/api/v1/series.rs b/apps/server/src/routers/api/v1/series.rs index 5e43e6833..c1b6c01ac 100644 --- a/apps/server/src/routers/api/v1/series.rs +++ b/apps/server/src/routers/api/v1/series.rs @@ -612,10 +612,10 @@ async fn replace_series_thumbnail( .await? .ok_or(APIError::NotFound(String::from("Series not found")))?; - let (content_type, bytes) = + let upload_data = validate_and_load_image(&mut upload, Some(ctx.config.max_image_upload_size)) .await?; - let ext = content_type.extension(); + let ext = upload_data.content_type.extension(); let series_id = series.id; // Note: I chose to *safely* attempt the removal as to not block the upload, however after some @@ -628,10 +628,11 @@ async fn replace_series_thumbnail( ), } - let path_buf = place_thumbnail(&series_id, ext, &bytes, &ctx.config).await?; + let path_buf = + place_thumbnail(&series_id, ext, &upload_data.bytes, &ctx.config).await?; Ok(ImageResponse::from(( - content_type, + upload_data.content_type, fs::read(path_buf).await?, ))) } diff --git a/apps/server/src/routers/api/v1/upload.rs b/apps/server/src/routers/api/v1/upload.rs new file mode 100644 index 000000000..fc2f46f06 --- /dev/null +++ b/apps/server/src/routers/api/v1/upload.rs @@ -0,0 +1,539 @@ +use std::{ + io::Read, + path::{self, PathBuf}, + sync::Arc, +}; + +use axum::{ + extract::{DefaultBodyLimit, Path, State}, + middleware, + routing::post, + Extension, Json, Router, +}; +use axum_typed_multipart::{FieldData, TryFromMultipart, TypedMultipart}; +use tempfile::NamedTempFile; +use tokio::fs; +use zip::read::ZipFile; + +use crate::{ + config::state::AppState, + errors::{APIError, APIResult}, + middleware::auth::{auth_middleware, RequestContext}, + routers::api::filters::library_not_hidden_from_user_filter, +}; +use stump_core::{ + db::entity::{macros::library_path_with_options_select, User, UserPermission}, + filesystem::scanner::LibraryScanJob, + prisma::{library, PrismaClient}, +}; + +pub fn mount(app_state: AppState) -> Router { + Router::new() + .nest( + "/upload", + Router::new() + .route("/libraries/:id/books", post(upload_books)) + .route("/libraries/:id/series", post(upload_series)), + ) + .layer(DefaultBodyLimit::max(app_state.config.max_file_upload_size)) + .layer(middleware::from_fn_with_state(app_state, auth_middleware)) +} + +type LibraryData = library_path_with_options_select::Data; + +#[derive(TryFromMultipart)] +struct UploadBooksRequest { + place_at: String, + #[form_data(limit = "unlimited")] + files: Vec>, +} + +#[utoipa::path( + post, + path = "/api/v1/upload/libraries/:id/books", + tag = "library", + request_body(content_type = "multipart/form-data", content = UploadBooksRequest), + params( + ("id" = String, Path, description = "The library ID"), + ), + responses( + (status = 200, description = "Successfully added books"), + (status = 401, description = "Unauthorized"), + (status = 404, description = "Library not found"), + (status = 500, description = "Internal server error") + ) +)] +async fn upload_books( + Path(id): Path, + State(ctx): State, + Extension(req): Extension, + TypedMultipart(books_request): TypedMultipart, +) -> APIResult> { + let user = req.user_and_enforce_permissions(&[ + UserPermission::UploadFile, + UserPermission::ManageLibrary, + ])?; + + let client = &ctx.db; + let library = get_library(client, &id, &user).await?; + + // Validate and path that uploads will be placed at, account for possible full path + let placement_path = get_books_path(&books_request, &library)?; + + // Check that it is a directory and already exists + if !fs::metadata(&placement_path).await?.is_dir() { + return Err(APIError::BadRequest( + "Book uploads must be placed at an existing directory.".to_string(), + )); + } + + for f in books_request.files { + validate_book_file(&f)?; + + let file_name = f.metadata.file_name.as_ref().ok_or(APIError::BadRequest( + "Uploaded files must have filenames.".to_string(), + ))?; + let target_path = placement_path.join(file_name); + + copy_tempfile_to_location(f, &target_path).await?; + } + + // Start a scan of the library + ctx.enqueue_job(LibraryScanJob::new(id, library.path)) + .map_err(|e| { + tracing::error!(?e, "Failed to enqueue library scan job"); + APIError::InternalServerError( + "Failed to enqueue library scan job".to_string(), + ) + })?; + + Ok(Json(())) +} + +#[derive(TryFromMultipart)] +struct UploadSeriesRequest { + place_at: String, + series_dir_name: String, + #[form_data(limit = "unlimited")] + file: FieldData, +} + +#[utoipa::path( + post, + path = "/api/v1/upload/libraries/:id/series", + tag = "library", + request_body(content_type = "multipart/form-data", content = UploadSeriesRequest), + params( + ("id" = String, Path, description = "The library ID"), + ), + responses( + (status = 200, description = "Successfully added series"), + (status = 401, description = "Unauthorized"), + (status = 404, description = "Library not found"), + (status = 500, description = "Internal server error") + ) +)] +async fn upload_series( + Path(id): Path, + State(ctx): State, + Extension(req): Extension, + TypedMultipart(series_request): TypedMultipart, +) -> APIResult> { + let user = req.user_and_enforce_permissions(&[ + UserPermission::UploadFile, + UserPermission::ManageLibrary, + ])?; + + // Validate the provided file, exit early on failure. + validate_series_upload(&series_request)?; + + let client = &ctx.db; + let library = get_library(client, &id, &user).await?; + + // Validate the placement path parameters and create the full path, error otherwise + let placement_path = get_series_path(&series_request, &library)?; + + // Validate the contents of the zip file + validate_series_upload_contents(&series_request, &placement_path, false)?; + + // Create directory if necessary + if let Err(e) = fs::metadata(&placement_path).await { + if e.kind() == tokio::io::ErrorKind::NotFound { + fs::create_dir_all(&placement_path).await?; + } else { + return Err(APIError::InternalServerError(format!( + "Error accessing directory {placement_path:?}: {e}" + ))); + } + } + + // Get a zip crate file handle to the temporary file + let temp_file = series_request.file.contents.as_file().try_clone()?; + let mut zip_archive = zip::ZipArchive::new(temp_file).map_err(|e| { + APIError::InternalServerError(format!("Error opening zip archive: {e}")) + })?; + // Extract the contents + zip_archive.extract(placement_path).map_err(|e| { + APIError::InternalServerError(format!("Error unpacking zip archive: {e}")) + })?; + + // Start a scan of the library + ctx.enqueue_job(LibraryScanJob::new(id, library.path)) + .map_err(|e| { + tracing::error!(?e, "Failed to enqueue library scan job"); + APIError::InternalServerError( + "Failed to enqueue library scan job".to_string(), + ) + })?; + + Ok(Json(())) +} + +/// A helper function to copy a tempfile from a multipart to a provided path +async fn copy_tempfile_to_location( + field_data: FieldData, + target_path: &path::Path, +) -> APIResult<()> { + // We want to prevent overwriting something that already exists + if fs::metadata(target_path).await.is_ok() { + return Err(APIError::BadRequest(format!( + "File already exists at {target_path:?}", + ))); + } + + // Get a tokio::fs::File for the temporary file + let mut temp_file = fs::File::from_std(field_data.contents.into_file()); + + // Copy the bytes to the target location + let mut target_file = fs::File::create(target_path).await?; + tokio::io::copy(&mut temp_file, &mut target_file).await?; + + Ok(()) +} + +/// A helper function to validate the file used for a books upload, this function +/// will return an error if the file is not the appropriate file type. +fn validate_book_file(f: &FieldData) -> APIResult<()> { + /// Any file extension not in this list will trigger an error + const ALLOWED_EXTENSIONS: &[&str] = &["cbr", "cbz", "epub", "pdf"]; + + /// Any inferred mime type not in this list will trigger an error + const ALLOWED_TYPES: &[&str] = &[ + "application/zip", + "application/vnd.comicbook+zip", + "application/vnd.comicbook-rar", + "application/epub+zip", + "application/pdf", + ]; + + let file_name = f.metadata.file_name.as_ref().ok_or(APIError::BadRequest( + "Uploaded files must have filenames.".to_string(), + ))?; + + let extension = path::Path::new(file_name) + .extension() + .and_then(|ext| ext.to_str()) + .map(str::to_ascii_lowercase) + .ok_or_else(|| { + APIError::BadRequest(format!( + "Expected file {file_name} to have an extension." + )) + })?; + + if !ALLOWED_EXTENSIONS.contains(&extension.as_str()) { + return Err(APIError::BadRequest(format!( + "File {file_name} has a disallowed extension, permitted extensions are: {ALLOWED_EXTENSIONS:?}" + ))); + } + + // Read first five bytes from which to infer content type + let mut f_read = f.contents.reopen()?; + let mut magic_bytes = [0u8; 5]; + f_read.read_exact(&mut magic_bytes).map_err(|_| { + APIError::InternalServerError( + "Failed to read first five bytes of zip file.".to_string(), + ) + })?; + + let inferred_type = infer::get(&magic_bytes) + .ok_or(APIError::InternalServerError(format!( + "Unable to infer type for file {file_name}" + )))? + .mime_type(); + + if !ALLOWED_TYPES.contains(&inferred_type) { + return Err(APIError::InternalServerError(format!( + "File {file_name} has a disallowed mime type: {inferred_type}, permitted types are: {ALLOWED_TYPES:?}" + ))); + } + + Ok(()) +} + +/// A helper function to validate the file used for a series upload, this function +/// will return an error if the file is not the appropriate file type. +fn validate_series_upload(series_request: &UploadSeriesRequest) -> APIResult<()> { + /// Any content type for a series upload that is not in this list will trigger an error. + const PERMITTED_CONTENT_TYPES: &[&str] = + &["application/zip", "application/x-zip-compressed"]; + + // Check extension + if let Some(file_name) = &series_request.file.metadata.file_name { + if !file_name.to_ascii_lowercase().ends_with(".zip") { + return Err(APIError::BadRequest(format!( + "Invalid file extension: {file_name}. Only zip files are allowed." + ))); + } + } else { + return Err(APIError::BadRequest( + "Invalid file provided, expected file to have a filename.".to_string(), + )); + } + + // Check content type + if let Some(content_type) = &series_request.file.metadata.content_type { + if !PERMITTED_CONTENT_TYPES.contains(&content_type.as_str()) { + return Err(APIError::BadRequest(format!( + "Invalid content-type: {content_type:?}. Only zip files are allowed." + ))); + } + } else { + return Err(APIError::BadRequest( + "Invalid content-type, expected uploaded series to have a content-type." + .to_string(), + )); + } + + Ok(()) +} + +/// Validate the contents of the series upload file. This function will return an error +/// if the contents of the uploaded archive do not match the permitted file types or if +/// the archive contains malformed paths. +fn validate_series_upload_contents( + series_request: &UploadSeriesRequest, + series_path: &path::Path, + allow_overwrite: bool, +) -> APIResult<()> { + let temp_file = series_request.file.contents.as_file().try_clone()?; + let mut zip_archive = zip::ZipArchive::new(temp_file).map_err(|e| { + APIError::InternalServerError(format!("Error opening zip archive: {e}")) + })?; + + // Loop over each file in the zip archive and test them + for i in 0..zip_archive.len() { + let mut zip_file = zip_archive.by_index(i).map_err(|e| { + APIError::InternalServerError(format!( + "Error accessing file in series zip: {e}" + )) + })?; + + // Skip directories + if zip_file.is_dir() { + continue; + } + + // Using `enclosed_name` also validates against path traversal attacks: + // https://docs.rs/zip/1.1.3/zip/read/struct.ZipFile.html#method.enclosed_name + let Some(enclosed_path) = zip_file.enclosed_name() else { + return Err(APIError::InternalServerError( + "Series zip contained a malformed path".to_string(), + )); + }; + // Get the path that the archive file will be extracted to + let extraction_path = series_path.join(enclosed_path); + + // Error if the file already exists and we aren't allowing overwrites + if extraction_path.exists() && !allow_overwrite { + return Err(APIError::InternalServerError(format!( + "Unable to extract zip contents to {extraction_path:?}, overwrites are disabled" + ))); + } + + validate_zip_file(&mut zip_file)?; + } + + Ok(()) +} + +/// Validate a file within a series upload archive. This function checks the file against +/// allowed file types based on extension as well as magic byte inference. If either check +/// fails then an error is returned. +fn validate_zip_file(zip_file: &mut ZipFile) -> APIResult<()> { + /// Any file extension not in this list will trigger an error + const ALLOWED_EXTENSIONS: &[&str] = &[ + "cbr", "cbz", "epub", "pdf", "xml", "json", "png", "jpg", "jpeg", "webp", "gif", + "heif", "jxl", "avif", + ]; + + /// Any inferred mime type not in this list will trigger an error + const ALLOWED_TYPES: &[&str] = &[ + "application/zip", + "application/vnd.comicbook+zip", + "application/vnd.comicbook-rar", + "application/epub+zip", + "application/pdf", + "application/xml", + "application/json", + "image/png", + "image/jpeg", + "image/webp", + "image/gif", + "image/heif", + "image/jxl", + "image/avif", + ]; + + let Some(enclosed_path) = zip_file.enclosed_name() else { + return Err(APIError::InternalServerError( + "Series zip contained a malformed path".to_string(), + )); + }; + + let extension = enclosed_path + .extension() + .and_then(|ext| ext.to_str()) + .map(str::to_ascii_lowercase) + .ok_or_else(|| { + APIError::BadRequest(format!( + "Expected zip contents {enclosed_path:?} to have an extension." + )) + })?; + + if !ALLOWED_EXTENSIONS.contains(&extension.as_str()) { + return Err(APIError::BadRequest(format!( + "Zip contents {enclosed_path:?} has a disallowed extension, permitted extensions are: {ALLOWED_EXTENSIONS:?}" + ))); + } + + // Read first five bytes from which to infer content type + let mut magic_bytes = [0u8; 5]; + zip_file.read_exact(&mut magic_bytes).map_err(|_| { + APIError::InternalServerError( + "Failed to read first five bytes of zip file.".to_string(), + ) + })?; + + let inferred_type = infer::get(&magic_bytes) + .ok_or(APIError::InternalServerError(format!( + "Unable to infer type for zip contents {enclosed_path:?}" + )))? + .mime_type(); + + if !ALLOWED_TYPES.contains(&inferred_type) { + return Err(APIError::InternalServerError(format!( + "Zip contents {enclosed_path:?} has a disallowed mime type: {inferred_type}, permitted types are: {ALLOWED_TYPES:?}" + ))); + } + + Ok(()) +} + +/// Returns `true` if a parameter specifying a path from another path contains no parent directory components. +/// +/// Upload paths for books are received as a path offset, where the actual path is constructed as +/// `{library_path}/{offset}`. This could be a security vulnerability if someone sent an upload with +/// a path containing a `..` to push the path back to the parent directory. This could be used to escape +/// the library and upload things elsewhere. It also means that accepting only paths that start with the +/// library path isn't sufficient. +/// +/// This function will reject any paths that include a parent directory component. There is unlikely to be +/// any circumstance where a client sending one would be appropriate anyhow. +fn is_subpath_secure(params: &str) -> bool { + let path = path::Path::new(params); + + for component in path.components() { + if component == std::path::Component::ParentDir { + return false; + } + } + + true +} + +/// Helper function to get prisma libraries by ID, respecting user filters and returning +/// only the path and options data. +async fn get_library( + client: &Arc, + library_id: &str, + user: &User, +) -> APIResult { + client + .library() + .find_first(vec![ + library::id::equals(library_id.to_string()), + library_not_hidden_from_user_filter(user), + ]) + .select(library_path_with_options_select::select()) + .exec() + .await? + .ok_or(APIError::NotFound(String::from("Library not found"))) +} + +/// A helper function to generate the path at which books should be placed +/// given an input [`UploadBooksRequest`] and library. +fn get_books_path( + books_request: &UploadBooksRequest, + library: &LibraryData, +) -> APIResult { + // Validate the placement path parameters, error otherwise + // This is an important security check. + if !is_subpath_secure(&books_request.place_at) { + return Err(APIError::BadRequest( + "Invalid upload path placement parameters".to_string(), + )); + } + // Get path that uploads will be placed at, account for possible full path + let placement_path = if books_request.place_at.starts_with(&library.path) { + path::PathBuf::from(&books_request.place_at) + } else { + path::Path::new(&library.path).join(&books_request.place_at) + }; + + Ok(placement_path) +} + +/// A helper function to generate the path at which a series zip should be placed +/// given an input [`UploadSeriesRequest`] and library. +fn get_series_path( + series_request: &UploadSeriesRequest, + library: &LibraryData, +) -> APIResult { + if !is_subpath_secure(&series_request.place_at) { + return Err(APIError::BadRequest( + "Invalid upload path placement parameters".to_string(), + )); + } + // Validate the series directory name - the same traversal concerns apply here + if !is_subpath_secure(&series_request.series_dir_name) { + return Err(APIError::BadRequest( + "Invalid series directory name".to_string(), + )); + } + + // Get path that the series upload will be placed at, accounting for possible full path + let placement_path = if series_request.place_at.starts_with(&library.path) { + path::PathBuf::from(&series_request.place_at) + .join(&series_request.series_dir_name) + } else { + path::Path::new(&library.path) + .join(&series_request.place_at) + .join(&series_request.series_dir_name) + }; + + Ok(placement_path) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_is_subpath_secure() { + let secure_subpath = "series/name/secure"; + assert!(is_subpath_secure(secure_subpath)); + + let insecure_subpath = "series/../../../../dastardly"; + assert!(!is_subpath_secure(insecure_subpath)); + } +} diff --git a/apps/server/src/routers/api/v1/user.rs b/apps/server/src/routers/api/v1/user.rs index 6453ff47e..ef61de8ec 100644 --- a/apps/server/src/routers/api/v1/user.rs +++ b/apps/server/src/routers/api/v1/user.rs @@ -1163,11 +1163,11 @@ async fn upload_user_avatar( .await? .ok_or(APIError::NotFound("User not found".to_string()))?; - let (content_type, bytes) = + let upload_data = validate_and_load_image(&mut upload, Some(ctx.config.max_image_upload_size)) .await?; - let ext = content_type.extension(); + let ext = upload_data.content_type.extension(); let username = user.username.clone(); let base_path = ctx.config.get_avatars_dir().join(username.as_str()); @@ -1179,7 +1179,7 @@ async fn upload_user_avatar( let file_name = format!("{username}.{ext}"); let file_path = ctx.config.get_avatars_dir().join(file_name.as_str()); let mut file = File::create(file_path.clone())?; - file.write_all(&bytes)?; + file.write_all(&upload_data.bytes)?; let updated_user = client .user() @@ -1194,5 +1194,8 @@ async fn upload_user_avatar( tracing::trace!(?updated_user, "Updated user"); - Ok(ImageResponse::new(content_type, bytes)) + Ok(ImageResponse::new( + upload_data.content_type, + upload_data.bytes, + )) } diff --git a/apps/server/src/utils/http.rs b/apps/server/src/utils/http.rs index ed805d581..a2449d67e 100644 --- a/apps/server/src/utils/http.rs +++ b/apps/server/src/utils/http.rs @@ -21,6 +21,7 @@ pub(crate) fn unexpected_error(err: E) -> impl IntoRespons format!("An unknown error occurred: {err}"), ) } + /// [`ImageResponse`] is a thin wrapper struct to return an image correctly in Axum. /// It contains a subset of actual Content-Type's (using [`ContentType`] enum from /// `stump_core`), as well as the raw image data. This is mostly the same as [`BufferResponse`], diff --git a/apps/server/src/utils/upload.rs b/apps/server/src/utils/upload.rs index 644a6f120..a78d9f394 100644 --- a/apps/server/src/utils/upload.rs +++ b/apps/server/src/utils/upload.rs @@ -4,18 +4,23 @@ use stump_core::filesystem::ContentType; use crate::errors::{APIError, APIResult}; +pub struct FileUploadData { + pub content_type: ContentType, + pub bytes: Vec, +} + // TODO: it would be a great enhancement to allow hookup of a malware scanner here, e.g. clamav /// A helper function to validate and stream the bytes of an image upload from multipart form data, represented -/// by [Multipart]. This function will return the content type of the uploaded image if it is valid. +/// by [`Multipart`]. This function will return the content type of the uploaded image if it is valid. pub async fn validate_and_load_image( upload: &mut Multipart, max_size: Option, -) -> APIResult<(ContentType, Vec)> { +) -> APIResult { validate_and_load_upload(upload, max_size, ContentType::is_image, Some("image")).await } /// An internal helper function to validate and load a generic upload. -/// The validator will load an image from multipart form data ([Multipart]) and check that it +/// The validator will load an image from multipart form data ([`Multipart`]) and check that it /// is not larger than the `max_size`. Then, it will check that the `ContentType` information from /// the header and/or magic numbers in the first 5 bytes of the file match the expected type using /// the provided `is_valid_content_type` function. @@ -27,14 +32,14 @@ async fn validate_and_load_upload( max_size: Option, is_valid_content_type: impl Fn(&ContentType) -> bool, expected_type_name: Option<&str>, -) -> APIResult<(ContentType, Vec)> { +) -> APIResult { let field = upload.next_field().await?.ok_or_else(|| { APIError::BadRequest(String::from("No file provided in multipart")) })?; let raw_content_type = field.content_type().map(ContentType::from); // Load bytes of uploaded file - let (bytes, file_size) = load_field_up_to_size(field, max_size).await?; + let (_name, bytes, file_size) = load_field_up_to_size(field, max_size).await?; // Use first 5 bytes to infer content type. // See: https://en.wikipedia.org/wiki/List_of_file_signatures @@ -70,7 +75,10 @@ async fn validate_and_load_upload( }?; tracing::trace!(?content_type, file_size, "Validated upload"); - Ok((content_type, bytes)) + Ok(FileUploadData { + content_type, + bytes, + }) } /// Load up to `max_size` bytes of a field (erroring if `max_size` is exceeded). @@ -78,8 +86,8 @@ async fn validate_and_load_upload( async fn load_field_up_to_size( mut field: Field<'_>, max_size: Option, -) -> APIResult<(Vec, usize)> { - let name = field.file_name().unwrap_or("").to_string(); +) -> APIResult<(String, Vec, usize)> { + let name = field.file_name().unwrap_or("unknown filename").to_string(); // Check size hint if one was provided if let (Some(max_size), (_, Some(size_hint))) = (max_size, field.size_hint()) { @@ -107,7 +115,7 @@ async fn load_field_up_to_size( return Err(APIError::BadRequest("Uploaded file is empty".to_string())); } - Ok((bytes, total_size)) + Ok((name, bytes, total_size)) } /// Formats the validation errors used elsewhere in this module when a type doesn't diff --git a/core/Cargo.toml b/core/Cargo.toml index fbeee6e4c..cfcd0c9dc 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -16,7 +16,7 @@ epub = { git = "https://github.com/stumpapp/epub-rs", rev = "38e091abe9687595255 futures = { workspace = true } globset = "0.4.14" image = { version = "0.25.2" } -infer = "0.16.0" +infer = { workspace = true } itertools = { workspace = true } prisma-client-rust = { workspace = true } rand = { workspace = true } @@ -48,8 +48,7 @@ uuid = "1.10.0" walkdir = "2.5.0" webp = "0.3.0" xml-rs = "0.8.21" # XML reader/writer -# Note: We need to keep this downgraded for the time being. See https://github.com/stumpapp/stump/issues/427#issuecomment-2332857700 -zip = { version = "=1.1.3", features = ["deflate"], default-features = false } +zip = { workspace = true } [dev-dependencies] temp-env = "0.3.6" diff --git a/core/src/config/stump_config.rs b/core/src/config/stump_config.rs index f2f44df89..77075ecfe 100644 --- a/core/src/config/stump_config.rs +++ b/core/src/config/stump_config.rs @@ -32,6 +32,8 @@ pub mod env_keys { pub const MAX_SCANNER_CONCURRENCY_KEY: &str = "STUMP_MAX_SCANNER_CONCURRENCY"; pub const MAX_THUMBNAIL_CONCURRENCY_KEY: &str = "STUMP_MAX_THUMBNAIL_CONCURRENCY"; pub const MAX_IMAGE_UPLOAD_SIZE_KEY: &str = "STUMP_MAX_IMAGE_UPLOAD_SIZE"; + pub const ENABLE_UPLOAD_KEY: &str = "STUMP_ENABLE_UPLOAD"; + pub const MAX_FILE_UPLOAD_SIZE_KEY: &str = "STUMP_MAX_FILE_UPLOAD_SIZE"; } use env_keys::*; @@ -43,6 +45,8 @@ pub mod defaults { pub const DEFAULT_MAX_SCANNER_CONCURRENCY: usize = 200; pub const DEFAULT_MAX_THUMBNAIL_CONCURRENCY: usize = 50; pub const DEFAULT_MAX_IMAGE_UPLOAD_SIZE: usize = 20 * 1024 * 1024; // 20 MB + pub const DEFAULT_ENABLE_UPLOAD: bool = false; + pub const DEFAULT_MAX_FILE_UPLOAD_SIZE: usize = 20 * 1024 * 1024; // 20 MB } use defaults::*; @@ -72,7 +76,9 @@ use defaults::*; /// let core = StumpCore::new(config).await; /// } /// ``` -#[derive(StumpConfigGenerator, Serialize, Deserialize, Debug, Clone, PartialEq)] +#[derive( + StumpConfigGenerator, Serialize, Deserialize, Debug, Clone, PartialEq, specta::Type, +)] #[config_file_location(self.get_config_dir().join("Stump.toml"))] pub struct StumpConfig { /// The "release" | "debug" profile with which the application is running. @@ -172,6 +178,16 @@ pub struct StumpConfig { #[default_value(DEFAULT_MAX_IMAGE_UPLOAD_SIZE)] #[env_key(MAX_IMAGE_UPLOAD_SIZE_KEY)] pub max_image_upload_size: usize, + + /// Whether or not the server will allow users with the appropriate permissions to upload books and series. + #[default_value(DEFAULT_ENABLE_UPLOAD)] + #[env_key(ENABLE_UPLOAD_KEY)] + pub enable_upload: bool, + + /// The maxium file size, in bytes, of files that can be uploaded to be included in libraries. + #[default_value(DEFAULT_MAX_FILE_UPLOAD_SIZE)] + #[env_key(MAX_FILE_UPLOAD_SIZE_KEY)] + pub max_file_upload_size: usize, } impl StumpConfig { @@ -315,6 +331,8 @@ mod tests { max_scanner_concurrency: None, max_thumbnail_concurrency: None, max_image_upload_size: None, + enable_upload: None, + max_file_upload_size: None, }; partial_config.apply_to_config(&mut config); @@ -350,7 +368,9 @@ mod tests { ), max_scanner_concurrency: Some(DEFAULT_MAX_SCANNER_CONCURRENCY), max_thumbnail_concurrency: Some(DEFAULT_MAX_THUMBNAIL_CONCURRENCY), - max_image_upload_size: Some(DEFAULT_MAX_IMAGE_UPLOAD_SIZE) + max_image_upload_size: Some(DEFAULT_MAX_IMAGE_UPLOAD_SIZE), + enable_upload: Some(DEFAULT_ENABLE_UPLOAD), + max_file_upload_size: Some(DEFAULT_MAX_FILE_UPLOAD_SIZE) } ); @@ -402,6 +422,8 @@ mod tests { max_scanner_concurrency: DEFAULT_MAX_SCANNER_CONCURRENCY, max_thumbnail_concurrency: DEFAULT_MAX_THUMBNAIL_CONCURRENCY, max_image_upload_size: DEFAULT_MAX_IMAGE_UPLOAD_SIZE, + enable_upload: DEFAULT_ENABLE_UPLOAD, + max_file_upload_size: DEFAULT_MAX_FILE_UPLOAD_SIZE, } ); }, diff --git a/packages/browser/src/components/explorer/FileExplorerHeader.tsx b/packages/browser/src/components/explorer/FileExplorerHeader.tsx index 7e8ab3bb6..3421cc2ba 100644 --- a/packages/browser/src/components/explorer/FileExplorerHeader.tsx +++ b/packages/browser/src/components/explorer/FileExplorerHeader.tsx @@ -4,12 +4,13 @@ import { useMemo } from 'react' import { useFileExplorerContext } from './context' import FileExplorerNavigation from './FileExplorerNavigation' import LayoutButtons from './LayoutButtons' +import { UploadModal } from './upload' export const HEADER_HEIGHT = 40 // TODO: sort options, search? export default function FileExplorerHeader() { - const { currentPath } = useFileExplorerContext() + const { currentPath, uploadConfig } = useFileExplorerContext() const basename = useMemo(() => currentPath?.split('/').pop() ?? '', [currentPath]) @@ -22,8 +23,9 @@ export default function FileExplorerHeader() { -
+
+ {uploadConfig?.enabled && }
) diff --git a/packages/browser/src/components/explorer/FileExplorerProvider.tsx b/packages/browser/src/components/explorer/FileExplorerProvider.tsx index 5b60ce4d4..c56c47cd6 100644 --- a/packages/browser/src/components/explorer/FileExplorerProvider.tsx +++ b/packages/browser/src/components/explorer/FileExplorerProvider.tsx @@ -7,19 +7,17 @@ import { useMediaMatch } from 'rooks' import paths from '@/paths' -import { ExplorerContext, ExplorerLayout } from './context' +import { ExplorerContext, ExplorerLayout, IExplorerContext } from './context' import FileExplorer from './FileExplorer' import FileExplorerFooter, { FOOTER_HEIGHT } from './FileExplorerFooter' import FileExplorerHeader from './FileExplorerHeader' import { getBook } from './FileThumbnail' -type Props = { - rootPath: string -} +type Props = Pick // TODO: refactor to match other explore scenes, e.g. sticky header + fixed footer + window scrolling -export default function FileExplorerProvider({ rootPath }: Props) { +export default function FileExplorerProvider({ rootPath, ...ctx }: Props) { const navigate = useNavigate() const isMobile = useMediaMatch('(max-width: 768px)') const { sdk } = useSDK() @@ -28,7 +26,7 @@ export default function FileExplorerProvider({ rootPath }: Props) { // TODO: I need to store location.state somewhere so that when the user uses native navigation, // their history, or at the very least where they left off, is persisted. - const { entries, setPath, path, goForward, goBack, canGoBack, canGoForward } = + const { entries, setPath, path, goForward, goBack, canGoBack, canGoForward, refetch } = useDirectoryListing({ enabled: !!rootPath, enforcedRoot: rootPath, @@ -73,8 +71,10 @@ export default function FileExplorerProvider({ rootPath }: Props) { goForward, layout, onSelect: handleSelect, + refetch, rootPath, setLayout: changeLayout, + ...ctx, }} >
diff --git a/packages/browser/src/components/explorer/LayoutButtons.tsx b/packages/browser/src/components/explorer/LayoutButtons.tsx index 4da8aed4c..63e0f71af 100644 --- a/packages/browser/src/components/explorer/LayoutButtons.tsx +++ b/packages/browser/src/components/explorer/LayoutButtons.tsx @@ -7,8 +7,8 @@ export default function LayoutButtons() { const { layout, setLayout } = useFileExplorerContext() return ( - <> - +
+ - + - +
) } diff --git a/packages/browser/src/components/explorer/context.ts b/packages/browser/src/components/explorer/context.ts index 6bd292110..ddf0c3289 100644 --- a/packages/browser/src/components/explorer/context.ts +++ b/packages/browser/src/components/explorer/context.ts @@ -1,10 +1,14 @@ -import { DirectoryListingFile } from '@stump/sdk' +import { DirectoryListingFile, UploadConfig } from '@stump/sdk' import { createContext, useContext } from 'react' -import { noop } from '../../utils/misc' - export type ExplorerLayout = 'grid' | 'table' +export type UploadParams = { + files: File[] + placeAt: string + uploadAs: 'books' | 'series' +} + export type IExplorerContext = { layout: ExplorerLayout setLayout: (layout: ExplorerLayout) => void @@ -16,18 +20,16 @@ export type IExplorerContext = { canGoForward: boolean goForward: () => void goBack: () => void + refetch: () => Promise + uploadConfig?: UploadConfig + libraryID: string } -export const ExplorerContext = createContext({ - canGoBack: false, - canGoForward: false, - currentPath: null, - files: [], - goBack: noop, - goForward: noop, - layout: 'grid', - onSelect: noop, - rootPath: '', - setLayout: noop, -}) -export const useFileExplorerContext = () => useContext(ExplorerContext) +export const ExplorerContext = createContext(null) +export const useFileExplorerContext = () => { + const context = useContext(ExplorerContext) + if (!context) { + throw new Error('useFileExplorerContext must be used within a FileExplorerProvider') + } + return context +} diff --git a/packages/browser/src/components/explorer/upload/UploadMenu.tsx b/packages/browser/src/components/explorer/upload/UploadMenu.tsx new file mode 100644 index 000000000..4e5d73fb3 --- /dev/null +++ b/packages/browser/src/components/explorer/upload/UploadMenu.tsx @@ -0,0 +1,46 @@ +import { Dropdown, IconButton, ToolTip } from '@stump/components' +import { BookPlus, FolderPlus, Upload } from 'lucide-react' + +import { useSeriesContextSafe } from '@/scenes/series' + +type Props = { + onSelect: (type: 'books' | 'series') => void +} + +export default function UploadMenu({ onSelect }: Props) { + const enableSeries = useSeriesContextSafe() == null + + return ( + + + + + + + + + + + + onSelect('books')}> + + Add books + + + {enableSeries && ( + onSelect('series')}> + + Add series + + )} + + + + ) +} diff --git a/packages/browser/src/components/explorer/upload/UploadModal.tsx b/packages/browser/src/components/explorer/upload/UploadModal.tsx new file mode 100644 index 000000000..7de8781e3 --- /dev/null +++ b/packages/browser/src/components/explorer/upload/UploadModal.tsx @@ -0,0 +1,333 @@ +import { useMutation, useSDK } from '@stump/client' +import { + Accordion, + Button, + cn, + Dialog, + Heading, + Input, + ProgressBar, + ProgressSpinner, + Text, +} from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { UploaderParams, UploadLibraryBooks, UploadLibrarySeries } from '@stump/sdk' +import { Book, FolderArchive } from 'lucide-react' +import { useCallback, useEffect, useState } from 'react' +import { FileRejection, useDropzone } from 'react-dropzone' +import toast from 'react-hot-toast' + +import { useCurrentOrPrevious } from '@/hooks/useCurrentOrPrevious' +import { useSeriesContextSafe } from '@/scenes/series' +import { formatBytes } from '@/utils/format' + +import { useFileExplorerContext } from '../context' +import UploadMenu from './UploadMenu' + +export default function UploadModal() { + const [uploadType, setUploadType] = useState<'books' | 'series'>() + + const [seriesDirName, setSeriesDirName] = useState(undefined) + const [files, setFiles] = useState([]) + + const { t } = useLocaleContext() + + const { currentPath, refetch, uploadConfig, libraryID } = useFileExplorerContext() + const { sdk } = useSDK() + + const [uploadProgress, setUploadProgress] = useState(0) + + const { mutateAsync: uploadBooks, isLoading: isUploadingBooks } = useMutation( + [sdk.upload.keys.uploadLibraryBooks], + (params: UploaderParams) => + sdk.upload.uploadLibraryBooks({ ...params, onProgress: setUploadProgress }), + { + onSuccess: () => refetch(), + }, + ) + const { mutateAsync: uploadSeries, isLoading: isUploadingSeries } = useMutation( + [sdk.upload.keys.uploadLibrarySeries], + (params: UploaderParams) => + sdk.upload.uploadLibrarySeries({ ...params, onProgress: setUploadProgress }), + { + onSuccess: () => refetch(), + }, + ) + + const isUploading = isUploadingBooks || isUploadingSeries + + const handleDrop = useCallback((acceptedFiles: File[], rejections: FileRejection[]) => { + if (rejections.length) { + console.warn('Some files were rejected:', rejections) + toast.error('Some files were rejected. Please check the file type and size') + } + + setFiles((prev) => [ + ...prev, + ...acceptedFiles.filter((file) => !prev.some((f) => f.name === file.name)), + ]) + }, []) + + const { getRootProps, getInputProps, isFileDialogActive, isDragActive } = useDropzone({ + accept: { + 'application/zip': uploadType === 'books' ? ['.zip', '.cbz'] : ['.zip'], + ...(uploadType === 'books' + ? { + 'application/epub+zip': ['.epub'], + 'application/pdf': [], + 'application/vnd.comicbook+zip': ['.cbz'], + 'application/vnd.comicbook-rar': ['.cbr'], + 'application/vnd.rar': ['.rar', '.cbr'], + } + : {}), + }, + maxSize: uploadConfig?.max_file_upload_size ?? 0, + multiple: uploadType === 'books', + onDrop: handleDrop, + }) + + const handleOpenChanged = (isOpen: boolean) => { + if (!isOpen) { + setUploadType(undefined) + } + } + + const doUploadBooks = useCallback( + async (params: UploaderParams) => { + try { + await uploadBooks(params) + toast.success('Successfully uploaded file(s)') + } catch (error) { + console.error(error) + toast.error('Failed to upload book(s)') + } + }, + [uploadBooks], + ) + + const enableSeries = useSeriesContextSafe() == null + + const doUploadSeries = useCallback(async () => { + if (!enableSeries) return + + const firstFile = files?.at(0) + if (!seriesDirName || !firstFile || !currentPath) return + + try { + await uploadSeries({ + file: firstFile, + place_at: currentPath, + library_id: libraryID, + series_dir_name: seriesDirName, + }) + toast.success('Successfully uploaded series') + } catch (error) { + console.error(error) + toast.error('Failed to upload series') + } + }, [uploadSeries, files, seriesDirName, currentPath, libraryID, enableSeries]) + + const onUploadClicked = useCallback(async () => { + // Return if files is empty + if (!files) { + return + } + + // Current path needs to be set so we know where to put books + if (currentPath == null) { + return + } + + // Handle books/series upload paths + if (uploadType == 'books') { + doUploadBooks({ + files, + place_at: currentPath, + library_id: libraryID, + }) + } else { + await doUploadSeries() + } + }, [files, currentPath, libraryID, uploadType, doUploadBooks, doUploadSeries]) + + /** + * An effect to reset the state whenever uploadType becomes falsy (unset) + */ + useEffect(() => { + if (!uploadType) { + setFiles([]) + setSeriesDirName(undefined) + } + }, [uploadType]) + + useEffect(() => { + if (!enableSeries && uploadType === 'series') { + setUploadType('books') + } + }, [enableSeries, uploadType]) + + const isFocused = isFileDialogActive || isDragActive + // Note: since the open state is contigent on the uploadType, when it is closed the uploadType is set to undefined. + // This means that it will flash the wrong content. So, to prevent this, we will fallback to the previous + // uploadType if the current one is undefined. + const displayedType = useCurrentOrPrevious(uploadType) + + const renderDropContent = () => { + if (isUploading) { + return ( + <> + + + + +
+ + {t('common.uploading')}{' '} + {uploadProgress > 0 && ( + ({uploadProgress}%) + )} + +
+ +
+
+ + ) + } else { + const Icon = displayedType === 'books' ? Book : FolderArchive + return ( + <> + + + + +
+ {t(getKey(`dropzone.${displayedType}`))} + + {t(getKey('dropzone.alt'))} + +
+ + ) + } + } + + return ( +
+ + + + + + {t(getKey(`title.${displayedType}`))} + + {t(getKey(`description.${displayedType}`))} + {displayedType === 'series' && ( + + {t(getKey('seriesDisclaimer.0'))} {t(getKey('seriesDisclaimer.1'))}{' '} + {t(getKey('seriesDisclaimer.2'))} + + )} + + + +
+ + + {renderDropContent()} +
+ + {/* Conditionally render the series name input */} + {uploadType === 'series' && ( +
+ Series Name + + This will be used as the name of the series directory. Your zip archive will be + unpacked here. + + setSeriesDirName(e.target.value)} + className="mt-2" + /> +
+ )} + + + + + + {t(getKey('addedFiles'))}{' '} + ({files.length}) + + + + +
+ {files.map((file, idx) => ( +
+ + {file.name} + + + {formatBytes(file.size)} + + +
+ +
+ ))} +
+ + + + + + + + + +
+
+ ) +} + +const LOCALE_BASE = 'fileExplorer.uploadModal' +const getKey = (key: string) => `${LOCALE_BASE}.${key}` diff --git a/packages/browser/src/components/explorer/upload/index.ts b/packages/browser/src/components/explorer/upload/index.ts new file mode 100644 index 000000000..919eec510 --- /dev/null +++ b/packages/browser/src/components/explorer/upload/index.ts @@ -0,0 +1 @@ +export { default as UploadModal } from './UploadModal' diff --git a/packages/browser/src/components/library/createOrUpdate/sections/BasicLibraryInformation.tsx b/packages/browser/src/components/library/createOrUpdate/sections/BasicLibraryInformation.tsx index 1e3dbd5ae..bcde86597 100644 --- a/packages/browser/src/components/library/createOrUpdate/sections/BasicLibraryInformation.tsx +++ b/packages/browser/src/components/library/createOrUpdate/sections/BasicLibraryInformation.tsx @@ -1,4 +1,4 @@ -import { IconButton, Input, TextArea } from '@stump/components' +import { Button, Input, TextArea } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { Folder } from 'lucide-react' import { useFormContext, useFormState } from 'react-hook-form' @@ -49,14 +49,9 @@ export default function BasicLibraryInformation({ onSetShowDirectoryPicker }: Pr placeholder={t(getKey('path.placeholder'))} containerClassName="max-w-full md:max-w-sm" rightDecoration={ - onSetShowDirectoryPicker(true)} - > + } required={isCreatingLibrary} errorMessage={errors.path?.message} diff --git a/packages/browser/src/scenes/library/LibraryNavigation.tsx b/packages/browser/src/scenes/library/LibraryNavigation.tsx index 47be4d2b7..e8c0b95ee 100644 --- a/packages/browser/src/scenes/library/LibraryNavigation.tsx +++ b/packages/browser/src/scenes/library/LibraryNavigation.tsx @@ -24,7 +24,10 @@ export default function LibraryNavigation() { } = useLibraryContext() const { checkPermission } = useAppContext() const { prefetch: prefetchBooks } = usePrefetchLibraryBooks({ id }) - const { prefetch: prefetchFiles } = usePrefetchLibraryFiles({ path }) + const { prefetch: prefetchFiles } = usePrefetchLibraryFiles({ + path, + fetchConfig: checkPermission('file:upload'), + }) const { prefetch: prefetchSeries } = usePrefetchLibrarySeries({ id }) const { ref, isSticky } = useSticky({ extraOffset: isMobile ? 56 : 0 }) diff --git a/packages/browser/src/scenes/library/tabs/files/LibraryExplorerScene.tsx b/packages/browser/src/scenes/library/tabs/files/LibraryExplorerScene.tsx index 5b3fa32c3..dad095131 100644 --- a/packages/browser/src/scenes/library/tabs/files/LibraryExplorerScene.tsx +++ b/packages/browser/src/scenes/library/tabs/files/LibraryExplorerScene.tsx @@ -1,15 +1,18 @@ +import { useUploadConfig } from '@stump/client' + import { FileExplorer } from '@/components/explorer' +import { useAppContext } from '@/context' import { useLibraryContext } from '../../context' export default function LibraryExplorerScene() { - const { - library: { path }, - } = useLibraryContext() + const { library } = useLibraryContext() + const { checkPermission } = useAppContext() + const { uploadConfig } = useUploadConfig({ enabled: checkPermission('file:upload') }) return (
- +
) } diff --git a/packages/browser/src/scenes/series/SeriesNavigation.tsx b/packages/browser/src/scenes/series/SeriesNavigation.tsx index 0aa131b43..9873dc090 100644 --- a/packages/browser/src/scenes/series/SeriesNavigation.tsx +++ b/packages/browser/src/scenes/series/SeriesNavigation.tsx @@ -21,7 +21,10 @@ export default function SeriesNavigation() { const { checkPermission } = useAppContext() const { ref, isSticky } = useSticky({ extraOffset: isMobile ? 56 : 0 }) const { prefetch: prefetchBooks } = usePrefetchSeriesBooks({ id }) - const { prefetch: prefetchFiles } = usePrefetchFiles({ path }) + const { prefetch: prefetchFiles } = usePrefetchFiles({ + path, + fetchConfig: checkPermission('file:upload'), + }) const canAccessFiles = checkPermission('file:explorer') const tabs = useMemo( diff --git a/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx b/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx index f782e5e19..d479e4423 100644 --- a/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx +++ b/packages/browser/src/scenes/series/tabs/files/SeriesExplorerScene.tsx @@ -1,15 +1,20 @@ +import { useUploadConfig } from '@stump/client' + import { FileExplorer } from '@/components/explorer' +import { useAppContext } from '@/context' import { useSeriesContext } from '../../context' export default function SeriesExplorerScene() { const { - series: { path }, + series: { path, library_id }, } = useSeriesContext() + const { checkPermission } = useAppContext() + const { uploadConfig } = useUploadConfig({ enabled: checkPermission('file:upload') }) return (
- +
) } diff --git a/packages/client/src/queries/filesystem.ts b/packages/client/src/queries/filesystem.ts index d5db7acca..e08054e0d 100644 --- a/packages/client/src/queries/filesystem.ts +++ b/packages/client/src/queries/filesystem.ts @@ -6,31 +6,42 @@ import { useSDK } from '../sdk' type PrefetchFileParams = { path: string + fetchConfig?: boolean } -export const usePrefetchFiles = ({ path }: PrefetchFileParams) => { +export const usePrefetchFiles = ({ path, fetchConfig }: PrefetchFileParams) => { const { sdk } = useSDK() const prefetch = useCallback( () => - queryClient.prefetchQuery([sdk.filesystem.keys.listDirectory, path], () => - sdk.filesystem.listDirectory(), - ), - [sdk.filesystem, path], + Promise.all([ + queryClient.prefetchQuery([sdk.filesystem.keys.listDirectory, path], () => + sdk.filesystem.listDirectory(), + ), + ...(fetchConfig + ? [queryClient.prefetchQuery([sdk.upload.keys.config], () => sdk.upload.config())] + : []), + ]), + [sdk, path, fetchConfig], ) return { prefetch } } -export const usePrefetchLibraryFiles = ({ path }: PrefetchFileParams) => { +export const usePrefetchLibraryFiles = ({ path, fetchConfig }: PrefetchFileParams) => { const { sdk } = useSDK() const prefetch = useCallback( () => - queryClient.prefetchQuery([sdk.filesystem.keys.listDirectory, path], () => - sdk.filesystem.listDirectory(), - ), - [sdk.filesystem, path], + Promise.all([ + queryClient.prefetchQuery([sdk.filesystem.keys.listDirectory, path], () => + sdk.filesystem.listDirectory(), + ), + ...(fetchConfig + ? [queryClient.prefetchQuery([sdk.upload.keys.config], () => sdk.upload.config())] + : []), + ]), + [sdk, path], ) return { prefetch } @@ -75,7 +86,7 @@ export function useDirectoryListing({ const [history, setHistory] = useState(currentPath ? [currentPath] : []) const [currentIndex, setCurrentIndex] = useState(0) - const { isLoading, error, data } = useQuery( + const { isLoading, error, data, refetch } = useQuery( [sdk.filesystem.keys.listDirectory, currentPath, page], async () => sdk.filesystem.listDirectory({ page, path: currentPath }), { @@ -238,6 +249,24 @@ export function useDirectoryListing({ isPathAllowed, parent: directoryListing?.parent, path: currentPath, + refetch, setPath, } } + +type UploadConfigQueryParams = { + enabled?: boolean +} +export const useUploadConfig = ({ enabled }: UploadConfigQueryParams) => { + const { sdk } = useSDK() + const { data: uploadConfig, ...restRet } = useQuery( + [sdk.upload.keys.config], + () => sdk.upload.config(), + { + suspense: true, + enabled, + }, + ) + + return { uploadConfig, ...restRet } +} diff --git a/packages/components/src/dialog/primitives.tsx b/packages/components/src/dialog/primitives.tsx index 9b14e3ac7..2e79df0bc 100644 --- a/packages/components/src/dialog/primitives.tsx +++ b/packages/components/src/dialog/primitives.tsx @@ -51,7 +51,7 @@ const DialogContent = React.forwardRef< ) => ( -
+
) DialogHeader.displayName = 'DialogHeader' diff --git a/packages/components/src/tooltip/ToolTip.tsx b/packages/components/src/tooltip/ToolTip.tsx index 126803fca..3200d8523 100644 --- a/packages/components/src/tooltip/ToolTip.tsx +++ b/packages/components/src/tooltip/ToolTip.tsx @@ -10,14 +10,14 @@ const toolTipVariants = cva(undefined, { variants: { size: { lg: 'text-base', - md: 'text-sm', + md: 'text-sm p-1', sm: 'px-2 py-1 text-sm', xs: 'p-1 text-xs', }, }, }) -type BaseProps = VariantProps & Pick +type BaseProps = VariantProps & Pick export type ToolTipProps = { children: React.ReactNode content: string | React.ReactNode @@ -25,14 +25,14 @@ export type ToolTipProps = { } & BaseProps export const ToolTip = forwardRef( - ({ children, content, align, size, isDisabled }, ref) => { + ({ children, content, align, side, size, isDisabled }, ref) => { return ( {children} - + {content} diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index 587880bbc..a501b1fb3 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -457,6 +457,29 @@ } } }, + "fileExplorer": { + "uploadModal": { + "title": { + "books": "Upload books", + "series": "Upload series" + }, + "description": { + "books": "Add books directly to the current path in the file explorer", + "series": "Add a series directly to the current path in the file explorer" + }, + "seriesDisclaimer": [ + "It must be a ", + "zipped file", + "containing the folder which should be the series, with all the books inside" + ], + "dropzone": { + "books": "Drag and drop books here", + "series": "Drag and drop a zip file here", + "alt": "Or click to browse your computer for books to upload" + }, + "addedFiles": "Added files" + } + }, "librarySettingsScene": { "heading": "Settings", "subtitle": "Manage your library here. If you're wanting a refresh on these settings, check out the", @@ -1654,7 +1677,7 @@ }, "libraryOptions": { "scanLibrary": "Scan", - "fileExplorer": "File Explorer", + "fileExplorer": "Files", "manageLibrary": "Settings", "deleteLibrary": "Delete" }, @@ -1721,11 +1744,14 @@ "create": "Create", "edit": "Edit", "update": "Update", + "upload": "Upload", + "uploading": "Uploading", "unimplemented": "This functionality is not yet implemented! Check back later", "limitedFunctionality": "This is not yet fully implemented and is lacking some features. Check back later", "logIn": "Log in", "login": "Login", "seeError": "See error", + "remove": "Remove", "goBack": "Go back", "goToServers": "Go to servers", "notReady": "This feature is not ready" diff --git a/packages/sdk/src/api.ts b/packages/sdk/src/api.ts index 4640571d6..d5c0d57fa 100644 --- a/packages/sdk/src/api.ts +++ b/packages/sdk/src/api.ts @@ -16,6 +16,7 @@ import { ServerAPI, SmartListAPI, TagAPI, + UploadAPI, UserAPI, } from './controllers' import { formatApiURL } from './utils' @@ -220,6 +221,10 @@ export class Api { return new TagAPI(this) } + get upload(): UploadAPI { + return new UploadAPI(this) + } + /** * Get an instance for the UserAPI */ diff --git a/packages/sdk/src/controllers/index.ts b/packages/sdk/src/controllers/index.ts index 8972fe50f..4c9ae2222 100644 --- a/packages/sdk/src/controllers/index.ts +++ b/packages/sdk/src/controllers/index.ts @@ -12,5 +12,6 @@ export * from './series-api' export * from './server-api' export * from './smartlist-api' export * from './tag-api' +export * from './upload-api' export * from './user-api' export * from './utils' diff --git a/packages/sdk/src/controllers/types.ts b/packages/sdk/src/controllers/types.ts index 32455b7c2..adcaf76e0 100644 --- a/packages/sdk/src/controllers/types.ts +++ b/packages/sdk/src/controllers/types.ts @@ -2,6 +2,13 @@ import { AnyFunction } from 'ts-essentials' import { APIError, Pageable, PaginationQuery, QueryOrder } from '../types' +// TODO(upload): just rely on generated code +export { + type UploaderParams, + type UploadLibraryBooks, + type UploadLibrarySeries, +} from './upload-api' + export type APIResult = import('axios').AxiosResponse> export type PageableAPIResult = APIResult> diff --git a/packages/sdk/src/controllers/upload-api.ts b/packages/sdk/src/controllers/upload-api.ts new file mode 100644 index 000000000..49893ed53 --- /dev/null +++ b/packages/sdk/src/controllers/upload-api.ts @@ -0,0 +1,102 @@ +import { APIBase } from '../base' +import { UploadConfig } from '../types' +import { ClassQueryKeys } from './types' +import { createRouteURLHandler } from './utils' + +/** + * The root route for the tag API + */ +const UPLOAD_ROUTE = '/upload' +/** + * A helper function to format the URL for tags API routes with optional query parameters + */ +const uploadURL = createRouteURLHandler(UPLOAD_ROUTE) + +// TODO(upload): have server generate these types when API is stable +export type UploadLibraryBooks = { + library_id: string + files: File[] +} + +export type UploadLibrarySeries = { + library_id: string + series_dir_name: string + file: File +} + +export type UploaderParams = T & { + place_at: string + + /** + * An optional callback to be called when the upload progress changes + * @param progress The progress of the upload as a percentage (0-100) + */ + onProgress?: (progress: number) => void +} + +export class UploadAPI extends APIBase { + /** + * Fetch the upload configuration + */ + async config() { + const { data } = await this.axios.get('/config/upload') + return data + } + /** + * Upload books to a library. This will return a 404 if upload is disabled for the server instance + */ + async uploadLibraryBooks({ + library_id, + place_at, + files, + onProgress, + }: UploaderParams) { + const formData = new FormData() + formData.append('place_at', place_at) + + const estimatedSize = files.reduce((acc, file) => acc + file.size, 0) + files.forEach((file) => { + formData.append('files', file) + }) + + return this.axios.post(uploadURL(`/libraries/${library_id}/books`), formData, { + onUploadProgress: ({ loaded, total }) => { + const progress = Math.round((loaded * 100) / (total || estimatedSize)) + onProgress?.(progress) + }, + }) + } + + /** + * Upload a series to a library. This will return a 404 if upload is disabled for the server instance + */ + async uploadLibrarySeries({ + library_id, + place_at, + series_dir_name, + file, + onProgress, + }: UploaderParams) { + const formData = new FormData() + formData.append('place_at', place_at) + formData.append('series_dir_name', series_dir_name) + + const estimatedSize = file.size + formData.append('file', file) + + return this.axios.post(`/upload/libraries/${library_id}/series`, formData, { + onUploadProgress: ({ loaded, total }) => { + const progress = Math.round((loaded * 100) / (total || estimatedSize)) + onProgress?.(progress) + }, + }) + } + + get keys(): ClassQueryKeys> { + return { + config: 'upload.config', + uploadLibraryBooks: 'upload.LibraryBooks', + uploadLibrarySeries: 'upload.LibrarySeries', + } + } +} diff --git a/packages/sdk/src/types/generated.ts b/packages/sdk/src/types/generated.ts index 2e643ab6a..a27b5881d 100644 --- a/packages/sdk/src/types/generated.ts +++ b/packages/sdk/src/types/generated.ts @@ -496,6 +496,38 @@ export type SmartListMeta = { matched_books: number; matched_series: number; mat export type CreateOrUpdateSmartListView = ({ book_columns: ReactTableColumnSort[]; group_columns: ReactTableColumnSort[]; book_sorting: ReactTableGlobalSort[] | null; group_sorting: ReactTableGlobalSort[] | null; enable_multi_sort?: boolean | null; search?: string | null }) & { name: string } +export type UploadConfig = { enabled: boolean; max_file_upload_size: number } + +/** + * Represents the configuration of a Stump application. This struct is generated at startup + * using a TOML file, environment variables, or both and is input when creating a `StumpCore` + * instance. + * + * Example: + * ``` + * use stump_core::{config::{self, StumpConfig}, StumpCore}; + * + * #[tokio::main] + * async fn main() { + * /// Get config dir from environment variables. + * let config_dir = config::bootstrap_config_dir(); + * + * // Create a StumpConfig using the config file and environment variables. + * let config = StumpConfig::new(config_dir) + * // Load Stump.toml file (if any) + * .with_config_file().unwrap() + * // Overlay environment variables + * .with_environment().unwrap(); + * + * // Ensure that config directory exists and write Stump.toml. + * config.write_config_dir().unwrap(); + * // Create an instance of the stump core. + * let core = StumpCore::new(config).await; + * } + * ``` + */ +export type StumpConfig = { profile: string; port: number; verbosity: number; pretty_logs: boolean; db_path: string | null; client_dir: string; custom_templates_dir: string | null; config_dir: string; allowed_origins: string[]; pdfium_path: string | null; disable_swagger: boolean; password_hash_cost: number; session_ttl: number; access_token_ttl: number; expired_session_cleanup_interval: number; max_scanner_concurrency: number; max_thumbnail_concurrency: number; max_image_upload_size: number; enable_upload: boolean; max_file_upload_size: number } + // DESKTOP TYPE GENERATION export type SavedServer = { name: string; uri: string } From 602551420512ac8023722dff351ab70899740de8 Mon Sep 17 00:00:00 2001 From: Aaron Leopold <36278431+aaronleopold@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:12:35 -0700 Subject: [PATCH 07/17] :bug: Fix request method for clean library Fixes #495 --- packages/sdk/src/controllers/library-api.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sdk/src/controllers/library-api.ts b/packages/sdk/src/controllers/library-api.ts index d76421844..616eb5a72 100644 --- a/packages/sdk/src/controllers/library-api.ts +++ b/packages/sdk/src/controllers/library-api.ts @@ -180,7 +180,7 @@ export class LibraryAPI extends APIBase { * Remove all missing series and media from a library */ async clean(id: string): Promise { - const { data } = await this.api.axios.post(libraryURL(`/${id}/clean`)) + const { data } = await this.api.axios.put(libraryURL(`/${id}/clean`)) return data } @@ -204,7 +204,7 @@ export class LibraryAPI extends APIBase { * Initiate an analysis of a library */ async analyze(id: string): Promise { - await this.api.axios.get(libraryURL(`/${id}/analyze`)) + await this.api.axios.post(libraryURL(`/${id}/analyze`)) } /** From 522dd5025a34815015286d265971601a963c6727 Mon Sep 17 00:00:00 2001 From: Joseph Micheli Date: Sun, 3 Nov 2024 10:05:01 -0600 Subject: [PATCH 08/17] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Run=20cspell=20to=20?= =?UTF-8?q?correct=20spelling=20errors=20(#496)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- apps/desktop/src-tauri/src/commands.rs | 38 +++++++++---------- apps/desktop/src-tauri/src/error.rs | 4 +- apps/expo/src/App.tsx | 2 +- .../components/reader/epub/LoadingSpinner.tsx | 2 +- .../reader/image/ImageBasedReader.tsx | 4 +- apps/server/src/config/cors.rs | 4 +- apps/server/src/filter/basic_filter.rs | 4 +- apps/server/src/filter/common.rs | 2 +- apps/server/src/middleware/auth.rs | 8 ++-- .../src/routers/api/filters/metadata.rs | 4 +- apps/server/src/routers/api/mod.rs | 6 ++- apps/server/src/routers/api/v1/auth.rs | 4 +- apps/server/src/routers/api/v1/book_club.rs | 4 +- apps/server/src/routers/api/v1/metadata.rs | 6 +-- apps/server/src/routers/api/v1/mod.rs | 2 +- .../server/src/routers/api/v1/reading_list.rs | 2 +- apps/server/src/routers/api/v1/smart_list.rs | 2 +- apps/server/src/routers/utoipa.rs | 2 +- core/integration-tests/tests/utils.rs | 2 +- core/prisma/schema.prisma | 4 +- core/src/config/stump_config.rs | 4 +- core/src/context.rs | 4 +- core/src/db/common.rs | 2 +- core/src/db/dao/series_dao.rs | 2 +- core/src/db/entity/epub.rs | 2 +- core/src/db/entity/metadata/media_metadata.rs | 2 +- core/src/db/entity/metadata/page_dimension.rs | 6 +-- core/src/db/entity/series/entity.rs | 2 +- core/src/db/entity/user/preferences.rs | 16 ++++---- core/src/db/filter/smart_filter.rs | 2 +- core/src/db/query/pagination.rs | 4 +- core/src/error.rs | 2 +- core/src/filesystem/error.rs | 2 +- .../analyze_media_job/task_page_count.rs | 2 +- core/src/filesystem/media/format/epub.rs | 2 +- core/src/job/mod.rs | 6 +-- core/src/job/progress.rs | 2 +- core/src/job/worker.rs | 2 +- core/src/lib.rs | 4 +- core/src/opds/v1_2/entry.rs | 2 +- core/src/opds/v2_0/link.rs | 2 +- crates/email/src/error.rs | 2 +- crates/integrations/src/notifier/error.rs | 2 +- crates/stump-config-gen/src/config_vars.rs | 6 +-- crates/stump-config-gen/src/type_utils.rs | 2 +- docs/README.md | 2 +- docs/pages/faq.md | 2 +- docs/pages/guides/basics/books.md | 2 +- docs/pages/guides/basics/libraries.mdx | 2 +- docs/pages/guides/basics/readers.mdx | 2 +- docs/pages/guides/basics/scanner.mdx | 2 +- docs/pages/installation/docker.mdx | 2 +- packages/browser/src/App.tsx | 4 +- .../explorer/upload/UploadModal.tsx | 2 +- .../components/readers/epub/EpubJsReader.tsx | 12 +++--- .../readers/epub/EpubStreamReader.tsx | 6 +-- .../epub/controls/EpubNavigationControls.tsx | 2 +- .../imageBased/paged/AnimatedPagedReader.tsx | 2 +- .../__tests__/ConfiguredServersList.tests.tsx | 2 +- packages/browser/src/hooks/useTheme.ts | 2 +- .../src/scenes/book/BookReaderDropdown.tsx | 2 +- .../src/scenes/book/BookReaderLink.tsx | 2 +- .../src/scenes/book/settings/BookPageGrid.tsx | 2 +- .../tabs/settings/LibrarySeriesGrid.tsx | 2 +- .../tabs/settings/LibrarySettingsRouter.tsx | 2 +- .../options/ScannerFeaturesPatchForm.tsx | 2 +- .../series/tabs/settings/SeriesBookGrid.tsx | 2 +- .../src/scenes/settings/SettingsLayout.tsx | 2 +- .../PrimaryNavigationPreference.tsx | 2 +- .../NavigationArrangement.tsx | 18 ++++----- .../server/jobs/RunningJobElapsedTime.tsx | 4 +- .../settings/server/users/UsersScene.tsx | 2 +- .../settings/server/users/UsersStats.tsx | 2 +- .../settings/SmartListSettingsRouter.tsx | 2 +- packages/client/src/hooks/useStumpSse.ts | 8 ++-- packages/client/src/queries/auth.ts | 4 +- packages/client/src/queries/epub.ts | 4 +- packages/client/src/queries/job.ts | 4 +- packages/client/src/queries/log.ts | 4 +- packages/components/.storybook/main.js | 2 +- .../{accordian => accordion}/Accordion.tsx | 0 .../src/{accordian => accordion}/index.ts | 0 packages/components/src/alert/Alert.tsx | 2 +- packages/components/src/index.ts | 2 +- packages/components/themes/local.ts | 4 +- packages/components/themes/types.ts | 2 +- packages/i18n/src/locales/af.json | 6 +-- packages/i18n/src/locales/ar.json | 6 +-- packages/i18n/src/locales/ca.json | 6 +-- packages/i18n/src/locales/cs.json | 2 +- packages/i18n/src/locales/da.json | 6 +-- packages/i18n/src/locales/de.json | 2 +- packages/i18n/src/locales/el.json | 6 +-- packages/i18n/src/locales/en.json | 6 +-- packages/i18n/src/locales/es.json | 4 +- packages/i18n/src/locales/fi.json | 6 +-- packages/i18n/src/locales/fr.json | 4 +- packages/i18n/src/locales/he.json | 6 +-- packages/i18n/src/locales/hu.json | 6 +-- packages/i18n/src/locales/it.json | 6 +-- packages/i18n/src/locales/ja.json | 6 +-- packages/i18n/src/locales/ko.json | 6 +-- packages/i18n/src/locales/nl.json | 4 +- packages/i18n/src/locales/no.json | 6 +-- packages/i18n/src/locales/pl.json | 2 +- packages/i18n/src/locales/pt.json | 6 +-- packages/i18n/src/locales/ro.json | 6 +-- packages/i18n/src/locales/ru.json | 4 +- packages/i18n/src/locales/sr.json | 6 +-- packages/i18n/src/locales/sv.json | 6 +-- packages/i18n/src/locales/tr.json | 6 +-- packages/i18n/src/locales/uk.json | 6 +-- packages/i18n/src/locales/vi.json | 6 +-- packages/i18n/src/locales/zh.json | 4 +- packages/sdk/src/__tests__/api.test.ts | 4 +- packages/sdk/src/types/generated.ts | 10 ++--- 117 files changed, 241 insertions(+), 239 deletions(-) rename packages/components/src/{accordian => accordion}/Accordion.tsx (100%) rename packages/components/src/{accordian => accordion}/index.ts (100%) diff --git a/README.md b/README.md index 04d4138db..017fd168b 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Things you can expect to see afterwards: - 🖥️ Cross-platform desktop app _(Windows, Mac, Linux)_ - 📖 [Tachiyomi](https://github.com/stumpapp/tachiyomi-extensions) support - 📱 In-house mobile app _(Android, iOS)_ -- 🔎 Versitile full-text search _(blocked by [prisma#9414](https://github.com/prisma/prisma/issues/9414))_ +- 🔎 Versatile full-text search _(blocked by [prisma#9414](https://github.com/prisma/prisma/issues/9414))_ - 👥 Configurable book clubs _(see [this issue](https://github.com/stumpapp/stump/issues/120))_ Feel free to reach out if you have anything else you'd like to see! diff --git a/apps/desktop/src-tauri/src/commands.rs b/apps/desktop/src-tauri/src/commands.rs index 8860248ea..832b158b3 100644 --- a/apps/desktop/src-tauri/src/commands.rs +++ b/apps/desktop/src-tauri/src/commands.rs @@ -13,7 +13,7 @@ use crate::{ /// An error type for the desktop RPC commands. #[derive(Debug, Serialize, thiserror::Error)] -pub enum DeskopRPCError { +pub enum DesktopRPCError { #[error("Failed to get state in handler")] MutexPoisoned, #[error("{0}")] @@ -24,7 +24,7 @@ pub enum DeskopRPCError { StoreError(#[from] StoreError), } -impl From for DeskopRPCError { +impl From for DesktopRPCError { fn from(error: SecureStoreError) -> Self { Self::CredentialsError(error.to_string()) } @@ -34,8 +34,8 @@ impl From for DeskopRPCError { pub fn set_use_discord_connection( connect: bool, ctx: State, -) -> Result<(), DeskopRPCError> { - let mut state = ctx.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result<(), DesktopRPCError> { + let mut state = ctx.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; let discord_client = &mut state.discord_client; if connect { @@ -53,8 +53,8 @@ pub fn set_discord_presence( status: Option, details: Option, state: State, -) -> Result<(), DeskopRPCError> { - let mut state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result<(), DesktopRPCError> { + let mut state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; let discord_client = &mut state.discord_client; if discord_client.is_connected() { @@ -67,7 +67,7 @@ pub fn set_discord_presence( #[tauri::command] pub async fn get_current_server( app_handle: AppHandle, -) -> Result, DeskopRPCError> { +) -> Result, DesktopRPCError> { let store = AppStore::load_store(&app_handle)?; let server = store.get_active_server(); Ok(server.map(|s| s.name)) @@ -77,8 +77,8 @@ pub async fn get_current_server( pub async fn init_credential_store( state: State<'_, WrappedState>, app_handle: AppHandle, -) -> Result<(), DeskopRPCError> { - let mut state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result<(), DesktopRPCError> { + let mut state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; let store = AppStore::load_store(&app_handle)?; let servers = store.get_servers(); @@ -93,8 +93,8 @@ pub async fn init_credential_store( #[tauri::command] pub async fn get_credential_store_state( state: State<'_, WrappedState>, -) -> Result { - let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result { + let state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; Ok(state.secure_store.get_login_state()) } @@ -102,8 +102,8 @@ pub async fn get_credential_store_state( pub async fn get_api_token( server: String, state: State<'_, WrappedState>, -) -> Result, DeskopRPCError> { - let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result, DesktopRPCError> { + let state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; let token = state.secure_store.get_api_token(server)?; @@ -115,8 +115,8 @@ pub async fn set_api_token( server: String, token: String, state: State<'_, WrappedState>, -) -> Result<(), DeskopRPCError> { - let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result<(), DesktopRPCError> { + let state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; state.secure_store.set_api_token(server, token)?; @@ -127,16 +127,16 @@ pub async fn set_api_token( pub async fn delete_api_token( server: String, state: State<'_, WrappedState>, -) -> Result { - let state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result { + let state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; Ok(state.secure_store.delete_api_token(server)?) } #[tauri::command] pub async fn clear_credential_store( state: State<'_, WrappedState>, -) -> Result<(), DeskopRPCError> { - let mut state = state.lock().map_err(|_| DeskopRPCError::MutexPoisoned)?; +) -> Result<(), DesktopRPCError> { + let mut state = state.lock().map_err(|_| DesktopRPCError::MutexPoisoned)?; state.secure_store.clear(); Ok(()) } diff --git a/apps/desktop/src-tauri/src/error.rs b/apps/desktop/src-tauri/src/error.rs index 8fac8eeac..ad1cf145f 100644 --- a/apps/desktop/src-tauri/src/error.rs +++ b/apps/desktop/src-tauri/src/error.rs @@ -1,13 +1,13 @@ #![allow(clippy::enum_variant_names)] use crate::{ - commands::DeskopRPCError, store::StoreError, utils::discord::DiscordIntegrationError, + commands::DesktopRPCError, store::StoreError, utils::discord::DiscordIntegrationError, }; #[derive(Debug, thiserror::Error)] pub enum DesktopError { #[error("{0}")] - RPCError(#[from] DeskopRPCError), + RPCError(#[from] DesktopRPCError), #[error("{0}")] DiscordError(#[from] DiscordIntegrationError), #[error("{0}")] diff --git a/apps/expo/src/App.tsx b/apps/expo/src/App.tsx index c4abc970d..32a5f4a87 100644 --- a/apps/expo/src/App.tsx +++ b/apps/expo/src/App.tsx @@ -48,7 +48,7 @@ export default function AppWrapper() { }, [error, setIsConnectedToServer]) useEffect(() => { - // TODO: ios vs androind? + // TODO: ios vs android? setPlatform('mobile') }, [setPlatform]) diff --git a/apps/expo/src/components/reader/epub/LoadingSpinner.tsx b/apps/expo/src/components/reader/epub/LoadingSpinner.tsx index 1afe0c4ae..ba9032d07 100644 --- a/apps/expo/src/components/reader/epub/LoadingSpinner.tsx +++ b/apps/expo/src/components/reader/epub/LoadingSpinner.tsx @@ -9,7 +9,7 @@ export default function LoadingSpinner({ // downloadError, downloadSuccess, }: LoadingFileProps) { - // Setup a timeout that will check if we are stuck loading, abougt 10 seconds + // Setup a timeout that will check if we are stuck loading, about 10 seconds const [didTimeout, setDidTimeout] = useState(false) // If we are still loading after 10 seconds, we are stuck diff --git a/apps/expo/src/components/reader/image/ImageBasedReader.tsx b/apps/expo/src/components/reader/image/ImageBasedReader.tsx index 54ff83ff9..08cb4a5bc 100644 --- a/apps/expo/src/components/reader/image/ImageBasedReader.tsx +++ b/apps/expo/src/components/reader/image/ImageBasedReader.tsx @@ -20,7 +20,7 @@ type ImageDimension = { } // TODO: This is an image-based reader right now. Extract this to a separate component -// which is readered when the book is an image-based book. +// which is rendered when the book is an image-based book. // TODO: Account for device orientation AND reading direction @@ -55,7 +55,7 @@ export default function ImageBasedReader({ book, initialPage, incognito }: Props const deviceOrientation = width > height ? 'landscape' : 'portrait' - // TODO: an effect that whenever the device orienation changes to something different than before, + // TODO: an effect that whenever the device orientation changes to something different than before, // recalculate the ratios of the images? Maybe. Who knows, you will though const { updateReadProgressAsync } = useUpdateMediaProgress(book.id) diff --git a/apps/server/src/config/cors.rs b/apps/server/src/config/cors.rs index 51e531530..9a3ccef7d 100644 --- a/apps/server/src/config/cors.rs +++ b/apps/server/src/config/cors.rs @@ -51,7 +51,7 @@ pub fn get_cors_layer(config: StumpConfig) -> CorsLayer { // Format the local IP with both http and https, and the port. If is_debug is true, // then also add port 3000. - let local_orgins = if local_ip.is_empty() { + let local_origins = if local_ip.is_empty() { vec![] } else { let port = config.port; @@ -77,7 +77,7 @@ pub fn get_cors_layer(config: StumpConfig) -> CorsLayer { } else { DEFAULT_ALLOWED_ORIGINS }; - let default_allowlist = merge_origins(defaults, local_orgins); + let default_allowlist = merge_origins(defaults, local_origins); // TODO: add new config option for fully overriding the default allowlist versus appending to it cors_layer = cors_layer.allow_origin(AllowOrigin::list( diff --git a/apps/server/src/filter/basic_filter.rs b/apps/server/src/filter/basic_filter.rs index b54416941..b8fe5ff28 100644 --- a/apps/server/src/filter/basic_filter.rs +++ b/apps/server/src/filter/basic_filter.rs @@ -167,7 +167,7 @@ pub struct UserQueryRelation { // TODO: decide what others to include #[derive(Default, Debug, Clone, Deserialize, Serialize, ToSchema, Type)] -pub struct SeriesMedataFilter { +pub struct SeriesMetadataFilter { #[serde(default, deserialize_with = "string_or_seq_string")] pub meta_type: Vec, #[serde(default, deserialize_with = "string_or_seq_string")] @@ -198,7 +198,7 @@ pub struct SeriesBaseFilter { pub search: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub metadata: Option, + pub metadata: Option, } #[derive(Default, Debug, Clone, Deserialize, Serialize, ToSchema, Type)] diff --git a/apps/server/src/filter/common.rs b/apps/server/src/filter/common.rs index e6f19bc2c..d8d2e41ff 100644 --- a/apps/server/src/filter/common.rs +++ b/apps/server/src/filter/common.rs @@ -69,7 +69,7 @@ where deserializer.deserialize_any(ReadStatusOrVec(PhantomData)) } -// See https://github.com/nox/serde_urlencoded/issues/26 and the workaroud solution +// See https://github.com/nox/serde_urlencoded/issues/26 and the workaround solution // https://docs.rs/serde_qs/0.6.1/serde_qs/#flatten-workaround // TLDR; there are issues deserializing flattened structs, esp with nested enums. pub fn from_optional_str<'de, D, S>(deserializer: D) -> Result, D::Error> diff --git a/apps/server/src/middleware/auth.rs b/apps/server/src/middleware/auth.rs index 21ba3a67c..34d99252a 100644 --- a/apps/server/src/middleware/auth.rs +++ b/apps/server/src/middleware/auth.rs @@ -304,7 +304,7 @@ async fn handle_basic_auth( } else if is_match { tracing::trace!( username = &user.username, - "Basic authentication sucessful. Creating session for user" + "Basic authentication successful. Creating session for user" ); enforce_max_sessions(&user, client).await?; let user = User::from(user); @@ -352,10 +352,10 @@ impl IntoResponse for OPDSBasicAuth { return APIError::InternalServerError(e.to_string()).into_response(); }, }; - let json_repsonse = Json(document).into_response(); - let body = json_repsonse.into_body(); + let json_response = Json(document).into_response(); + let body = json_response.into_body(); - // We want to ecourage the client to delete any existing session cookies when the current + // We want to encourage the client to delete any existing session cookies when the current // is no longer valid let delete_cookie = delete_cookie_header(); diff --git a/apps/server/src/routers/api/filters/metadata.rs b/apps/server/src/routers/api/filters/metadata.rs index d025d6473..9c5e9685e 100644 --- a/apps/server/src/routers/api/filters/metadata.rs +++ b/apps/server/src/routers/api/filters/metadata.rs @@ -4,7 +4,7 @@ use stump_core::prisma::{media_metadata, series_metadata}; use crate::{ filter::{ chain_optional_iter, MediaMetadataBaseFilter, MediaMetadataFilter, - MediaMetadataRelationFilter, SeriesMedataFilter, ValueOrRange, + MediaMetadataRelationFilter, SeriesMetadataFilter, ValueOrRange, }, routers::api::filters::apply_media_filters, }; @@ -96,7 +96,7 @@ pub(crate) fn apply_media_metadata_filters( } pub(crate) fn apply_series_metadata_filters( - filters: SeriesMedataFilter, + filters: SeriesMetadataFilter, ) -> Vec { chain_optional_iter( [], diff --git a/apps/server/src/routers/api/mod.rs b/apps/server/src/routers/api/mod.rs index 4fcf6584e..b54b9a38e 100644 --- a/apps/server/src/routers/api/mod.rs +++ b/apps/server/src/routers/api/mod.rs @@ -26,7 +26,7 @@ mod tests { LibraryBaseFilter, LibraryFilter, LibraryRelationFilter, LogFilter, MediaBaseFilter, MediaFilter, MediaMetadataBaseFilter, MediaMetadataFilter, MediaMetadataRelationFilter, Range, ReadStatus, SeriesBaseFilter, - SeriesFilter, SeriesMedataFilter, SeriesQueryRelation, UserQueryRelation, + SeriesFilter, SeriesMetadataFilter, SeriesQueryRelation, UserQueryRelation, ValueOrRange, }, routers::api::v1::{ @@ -152,7 +152,9 @@ mod tests { file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; - file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; + file.write_all( + format!("{}\n\n", ts_export::()?).as_bytes(), + )?; file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all( format!("{}\n\n", ts_export::>()?).as_bytes(), diff --git a/apps/server/src/routers/api/v1/auth.rs b/apps/server/src/routers/api/v1/auth.rs index 98b55e4f7..a8e43d07e 100644 --- a/apps/server/src/routers/api/v1/auth.rs +++ b/apps/server/src/routers/api/v1/auth.rs @@ -199,7 +199,7 @@ async fn login( let client = state.db.clone(); let today: DateTime = Utc::now().into(); - // TODO: make this configurable via environment variable so knowledgable attackers can't bypass this + // TODO: make this configurable via environment variable so knowledgeable attackers can't bypass this let twenty_four_hours_ago = today - Duration::hours(24); let fetch_result = client @@ -237,7 +237,7 @@ async fn login( let user_id = db_user.id.clone(); let matches = verify_password(&db_user.hashed_password, &input.password)?; if !matches { - // TODO: make this configurable via environment variable so knowledgable attackers can't bypass this + // TODO: make this configurable via environment variable so knowledgeable attackers can't bypass this let should_lock_account = db_user .login_activity .as_ref() diff --git a/apps/server/src/routers/api/v1/book_club.rs b/apps/server/src/routers/api/v1/book_club.rs index d19e1f6b5..789b8f135 100644 --- a/apps/server/src/routers/api/v1/book_club.rs +++ b/apps/server/src/routers/api/v1/book_club.rs @@ -44,7 +44,7 @@ use crate::{ // TODO: patch schedule // TODO: check members can access the books in the schedule. I don't think lack of access should necessarily // be an error, but it would definitely be a warning for admins/creator -// TODO: users that are members but have the feature revoked need some reconcilation... +// TODO: users that are members but have the feature revoked need some reconciliation... // TODO: adjust the instrumentation once ret(err) is supported: https://github.com/tokio-rs/tracing/pull/2970 @@ -344,7 +344,7 @@ async fn update_book_club( let viewer = req.user(); // Query first for access control. Realistically, I could `update_many` with the - // access assertions, but I would have to requery for the book afterwards anyways + // access assertions, but I would have to re-query for the book afterwards anyways let book_club = client .book_club() .find_first(vec![ diff --git a/apps/server/src/routers/api/v1/metadata.rs b/apps/server/src/routers/api/v1/metadata.rs index 0d35cf78f..ba1d51407 100644 --- a/apps/server/src/routers/api/v1/metadata.rs +++ b/apps/server/src/routers/api/v1/metadata.rs @@ -98,7 +98,7 @@ async fn get_metadata_overview( let genres = get_genres(&client, &where_conditions).await?; let writers = get_writers(&client, &where_conditions).await?; - let pencillers = get_pencllers(&client, &where_conditions).await?; + let pencillers = get_pencillers(&client, &where_conditions).await?; let inkers = get_inkers(&client, &where_conditions).await?; let colorists = get_colorists(&client, &where_conditions).await?; let letterers = get_letterers(&client, &where_conditions).await?; @@ -207,7 +207,7 @@ async fn get_writers_handler( )) } -async fn get_pencllers( +async fn get_pencillers( client: &PrismaClient, where_conditions: &[media_metadata::WhereParam], ) -> APIResult> { @@ -244,7 +244,7 @@ async fn get_pencillers_handler( ) -> APIResult>> { let FilterableQuery { filters, .. } = filter_query.0.get(); Ok(Json( - get_pencllers(&ctx.db, &apply_media_metadata_filters(filters)).await?, + get_pencillers(&ctx.db, &apply_media_metadata_filters(filters)).await?, )) } diff --git a/apps/server/src/routers/api/v1/mod.rs b/apps/server/src/routers/api/v1/mod.rs index a6c17d29d..41aca1a49 100644 --- a/apps/server/src/routers/api/v1/mod.rs +++ b/apps/server/src/routers/api/v1/mod.rs @@ -110,7 +110,7 @@ async fn ping() -> APIResult { #[derive(Serialize, Deserialize, Type, ToSchema)] pub struct StumpVersion { // TODO: add docker tag since special versions (e.g. nightly, experimental) will have the latest semver but a different commit - // Also will allow for the UI to display explcitly the docker tag if it's a special version + // Also will allow for the UI to display explicitly the docker tag if it's a special version pub semver: String, pub rev: String, pub compile_time: String, diff --git a/apps/server/src/routers/api/v1/reading_list.rs b/apps/server/src/routers/api/v1/reading_list.rs index 4f0d47783..e5bc15c79 100644 --- a/apps/server/src/routers/api/v1/reading_list.rs +++ b/apps/server/src/routers/api/v1/reading_list.rs @@ -48,7 +48,7 @@ pub(crate) fn reading_list_rbac_for_user( ) -> reading_list::WhereParam { // A common condition that asserts there is a RBAC entry for the user that has a role // greater than or equal to the minimum role: - // 1 for raeder, 2 for collaborator, 3 for creator + // 1 for reader, 2 for collaborator, 3 for creator let base_rbac = reading_list::access_control::some(vec![and![ reading_list_rbac::user_id::equals(user_id.clone()), reading_list_rbac::role::gte(minimum_role), diff --git a/apps/server/src/routers/api/v1/smart_list.rs b/apps/server/src/routers/api/v1/smart_list.rs index fe0ae2beb..dbc94b10e 100644 --- a/apps/server/src/routers/api/v1/smart_list.rs +++ b/apps/server/src/routers/api/v1/smart_list.rs @@ -621,7 +621,7 @@ async fn create_smart_list_view( let user = req.user_and_enforce_permissions(&[UserPermission::AccessSmartList])?; let client = &ctx.db; - // NOTE: views are currently completely detatched from a user, rather they are tied + // NOTE: views are currently completely detached from a user, rather they are tied // only to the smart list. This makes _this_ aspect a bit awkward. For now, to not over // complicate sharing and permissions, I will leave this as-is. But this can be a future // improvement down the road. diff --git a/apps/server/src/routers/utoipa.rs b/apps/server/src/routers/utoipa.rs index 8cfd15a3c..2a54cafde 100644 --- a/apps/server/src/routers/utoipa.rs +++ b/apps/server/src/routers/utoipa.rs @@ -148,7 +148,7 @@ use super::api::{ MediaSmartFilter, MediaMetadataSmartFilter, SeriesSmartFilter, SeriesMetadataSmartFilter, LibrarySmartFilter, Notifier, CreateOrUpdateNotifier, PatchNotifier, LibraryBaseFilter, LibraryRelationFilter, MediaBaseFilter, MediaRelationFilter, SeriesBaseFilter, SeriesRelationFilter, NotifierConfig, NotifierType, - ReadingListItem, ReadingListVisibility, SeriesMedataFilter + ReadingListItem, ReadingListVisibility, SeriesMetadataFilter ) ), tags( diff --git a/core/integration-tests/tests/utils.rs b/core/integration-tests/tests/utils.rs index 428eb566a..55983b613 100644 --- a/core/integration-tests/tests/utils.rs +++ b/core/integration-tests/tests/utils.rs @@ -27,7 +27,7 @@ pub struct TempLibrary { } impl TempLibrary { - /// Creates the root temporary libray for the [`TempLibrary`] struct. Places it + /// Creates the root temporary library for the [`TempLibrary`] struct. Places it /// as a child of CARGO_MANIFEST_DIR. fn root() -> TempDir { Builder::new() diff --git a/core/prisma/schema.prisma b/core/prisma/schema.prisma index 3e7925df4..921efc9aa 100644 --- a/core/prisma/schema.prisma +++ b/core/prisma/schema.prisma @@ -466,7 +466,7 @@ model BookClubBook { start_at DateTime end_at DateTime - discussion_duration_days Int? @default(1) // in days // TODO: revist this, IDK if it's necessary or how to handle it + discussion_duration_days Int? @default(1) // in days // TODO: revisit this, IDK if it's necessary or how to handle it // The below group should only be set if the book is not already in the library title String? @@ -600,7 +600,7 @@ model ReadingList { // The visibility of the reading list. ex: "PUBLIC", "PRIVATE" or "SHARED" visibility String @default("PRIVATE") // The ordering of the reading list. This will either be "MANUAL" or a specific - // field on the media. ex: 'name', 'created_at', 'pushlish_date', etc. + // field on the media. ex: 'name', 'created_at', 'publish_date', etc. ordering String @default("MANUAL") // The access control rules for this reading list diff --git a/core/src/config/stump_config.rs b/core/src/config/stump_config.rs index 77075ecfe..b5c7b4cf8 100644 --- a/core/src/config/stump_config.rs +++ b/core/src/config/stump_config.rs @@ -173,7 +173,7 @@ pub struct StumpConfig { #[env_key(MAX_THUMBNAIL_CONCURRENCY_KEY)] pub max_thumbnail_concurrency: usize, - /// The maxium file size, in bytes, of images that can be uploaded, e.g., as thumbnails for users, + /// The maximum file size, in bytes, of images that can be uploaded, e.g., as thumbnails for users, /// libraries, series, or media. #[default_value(DEFAULT_MAX_IMAGE_UPLOAD_SIZE)] #[env_key(MAX_IMAGE_UPLOAD_SIZE_KEY)] @@ -184,7 +184,7 @@ pub struct StumpConfig { #[env_key(ENABLE_UPLOAD_KEY)] pub enable_upload: bool, - /// The maxium file size, in bytes, of files that can be uploaded to be included in libraries. + /// The maximum file size, in bytes, of files that can be uploaded to be included in libraries. #[default_value(DEFAULT_MAX_FILE_UPLOAD_SIZE)] #[env_key(MAX_FILE_UPLOAD_SIZE_KEY)] pub max_file_upload_size: usize, diff --git a/core/src/context.rs b/core/src/context.rs index 468ab6da6..1662b6a12 100644 --- a/core/src/context.rs +++ b/core/src/context.rs @@ -61,7 +61,7 @@ impl Ctx { } // Note: I cannot use #[cfg(test)] here because the tests are in a different crate and - // the `cfg` attribute only works for the current crate. Potential work arounds: + // the `cfg` attribute only works for the current crate. Potential workarounds: // - https://github.com/rust-lang/cargo/issues/8379 /// Creates a [Ctx] instance for testing **only**. The prisma client is created @@ -132,7 +132,7 @@ impl Ctx { Arc::new(self.clone()) } - /// Returns the reciever for the `CoreEvent` channel. See [`emit_event`] + /// Returns the receiver for the `CoreEvent` channel. See [`emit_event`] /// for more information and an example usage. pub fn get_client_receiver(&self) -> Receiver { self.event_channel.0.subscribe() diff --git a/core/src/db/common.rs b/core/src/db/common.rs index 96d04e383..fb59ccac4 100644 --- a/core/src/db/common.rs +++ b/core/src/db/common.rs @@ -16,7 +16,7 @@ pub struct SeriesMediaCountQueryReturn { pub count: i64, } -// TODO: Replace pretty much all of these once prisma client suports relation counts. That's +// TODO: Replace pretty much all of these once prisma client supports relation counts. That's // all this trait is used for. See the various FIXME notes throughout that say: // PCR doesn't support relation counts yet! #[async_trait::async_trait] diff --git a/core/src/db/dao/series_dao.rs b/core/src/db/dao/series_dao.rs index db3b86352..d56b82de8 100644 --- a/core/src/db/dao/series_dao.rs +++ b/core/src/db/dao/series_dao.rs @@ -33,7 +33,7 @@ impl SeriesDAO { /// NOTE: Internally invokes `do_create_many` to handle the transaction logic. /// This function serves as a wrapper to handle the transaction commit/rollback. pub async fn create_many(&self, series: Vec) -> CoreResult> { - // FIXME: this is so vile lol refactor once neseted create is supported: + // FIXME: this is so vile lol refactor once nested create is supported: // https://github.com/Brendonovich/prisma-client-rust/issues/44 let (tx, client) = self.client._transaction().begin().await?; match do_create_many(&client, series).await { diff --git a/core/src/db/entity/epub.rs b/core/src/db/entity/epub.rs index ee83fb596..071cb837d 100644 --- a/core/src/db/entity/epub.rs +++ b/core/src/db/entity/epub.rs @@ -63,7 +63,7 @@ pub struct Epub { pub extra_css: Vec, } -/// This struct is mainly used when the Stump client sends the inital request to grab information on an epub file. +/// This struct is mainly used when the Stump client sends the initial request to grab information on an epub file. /// This will get cached on the client, which will use the metadata to make consecutive requests for various /// resources/chapters. This struct isn't really used after that first request, everything else is file IO using [`EpubDoc`]. impl Epub { diff --git a/core/src/db/entity/metadata/media_metadata.rs b/core/src/db/entity/metadata/media_metadata.rs index a71329cb4..a1d96adc6 100644 --- a/core/src/db/entity/metadata/media_metadata.rs +++ b/core/src/db/entity/metadata/media_metadata.rs @@ -317,7 +317,7 @@ impl From>> for MediaMetadata { "creator" | "author" | "writers" => match metadata.writers { Some(ref mut writers) => { writers.extend(value); - // remove dupliates + // remove duplicates writers.sort(); writers.dedup(); }, diff --git a/core/src/db/entity/metadata/page_dimension.rs b/core/src/db/entity/metadata/page_dimension.rs index 544743670..451c36462 100644 --- a/core/src/db/entity/metadata/page_dimension.rs +++ b/core/src/db/entity/metadata/page_dimension.rs @@ -1,5 +1,5 @@ //! This module defines structures for storing and retrieving page dimensions data. The -//! two primary stuctures defined here are [`PageDimension`], which represents a pair of +//! two primary structures defined here are [`PageDimension`], which represents a pair of //! page dimensions (height, width), and [`PageDimensionsEntity`], which is the rust //! representation of a database row in the `page_dimensions` table. //! @@ -116,7 +116,7 @@ pub fn dimension_vec_to_string(list: Vec) -> String { Some(ref run_dim) if *run_dim == next_dim => run_count += 1, // If there's either a run going and it doesn't match, or no run... _ => { - // This branch handles writeout if a run is going and it didn't match + // This branch handles write-out if a run is going and it didn't match if let Some(run_dim) = run_dimension { if run_count > 1 { encoded_strings.push(format!("{run_count}>{run_dim}")); @@ -132,7 +132,7 @@ pub fn dimension_vec_to_string(list: Vec) -> String { } } - // This handles writeout for the final item + // This handles write-out for the final item if let Some(run_dim) = run_dimension { if run_count > 1 { encoded_strings.push(format!("{run_count}>{run_dim}")); diff --git a/core/src/db/entity/series/entity.rs b/core/src/db/entity/series/entity.rs index 9f516f7b7..01d42369b 100644 --- a/core/src/db/entity/series/entity.rs +++ b/core/src/db/entity/series/entity.rs @@ -69,7 +69,7 @@ impl Series { self.media_count = Some(count); } - // TODO(prisma-nested-create): Refactor once nested create is supportedd + // TODO(prisma-nested-create): Refactor once nested create is supported pub fn create_action( self, ) -> ( diff --git a/core/src/db/entity/user/preferences.rs b/core/src/db/entity/user/preferences.rs index cd8f71e54..c9e66f340 100644 --- a/core/src/db/entity/user/preferences.rs +++ b/core/src/db/entity/user/preferences.rs @@ -18,14 +18,14 @@ pub enum NavigationMode { // TODO: support order_by for some options with actions #[derive(Debug, Clone, Serialize, Deserialize, Type, ToSchema)] -pub struct NaviationItemDisplayOptions { +pub struct NavigationItemDisplayOptions { #[serde(default = "default_true")] pub show_create_action: bool, #[serde(default)] pub show_link_to_all: bool, } -impl Default for NaviationItemDisplayOptions { +impl Default for NavigationItemDisplayOptions { fn default() -> Self { Self { show_create_action: true, @@ -39,9 +39,9 @@ impl Default for NaviationItemDisplayOptions { pub enum NavigationItem { Home, Explore, - Libraries(NaviationItemDisplayOptions), - SmartLists(NaviationItemDisplayOptions), - BookClubs(NaviationItemDisplayOptions), + Libraries(NavigationItemDisplayOptions), + SmartLists(NavigationItemDisplayOptions), + BookClubs(NavigationItemDisplayOptions), } // TODO: support order_by in some options (e.g. Library) @@ -84,19 +84,19 @@ impl Arrangement { }, ArrangementItem { item: NavigationItem::Libraries( - NaviationItemDisplayOptions::default(), + NavigationItemDisplayOptions::default(), ), visible: true, }, ArrangementItem { item: NavigationItem::SmartLists( - NaviationItemDisplayOptions::default(), + NavigationItemDisplayOptions::default(), ), visible: true, }, ArrangementItem { item: NavigationItem::BookClubs( - NaviationItemDisplayOptions::default(), + NavigationItemDisplayOptions::default(), ), visible: true, }, diff --git a/core/src/db/filter/smart_filter.rs b/core/src/db/filter/smart_filter.rs index 6a79d9dd9..7a848d152 100644 --- a/core/src/db/filter/smart_filter.rs +++ b/core/src/db/filter/smart_filter.rs @@ -13,7 +13,7 @@ use crate::prisma::{library, media, media_metadata, series, series_metadata}; use smart_filter_gen::generate_smart_filter; // TODO: This rough implementation is not very great. It is very verbose and not very ergonomic. It _technically_ -// works, and while I don't think anyone using this feature will notice, from a DX/mainenance perspective, it needs +// works, and while I don't think anyone using this feature will notice, from a DX/maintenance perspective, it needs // to be refactored. The two big things IMO are: // // 1. Performance implications. This is mostly because the assumption for each `into_prisma` call is a single param, diff --git a/core/src/db/query/pagination.rs b/core/src/db/query/pagination.rs index 9bf968bd0..508748acd 100644 --- a/core/src/db/query/pagination.rs +++ b/core/src/db/query/pagination.rs @@ -289,7 +289,7 @@ pub struct Pageable { pub data: T, /// The pagination information (if paginated). pub _page: Option, - /// The cursor information (if cursor-baesd paginated). + /// The cursor information (if cursor-based paginated). pub _cursor: Option, } @@ -301,7 +301,7 @@ pub struct PageableArray { pub data: Vec, /// The pagination information (if paginated). pub _page: Option, - /// The cursor information (if cursor-baesd paginated). + /// The cursor information (if cursor-based paginated). pub _cursor: Option, } diff --git a/core/src/error.rs b/core/src/error.rs index cb5958327..4f090d105 100644 --- a/core/src/error.rs +++ b/core/src/error.rs @@ -54,7 +54,7 @@ pub enum CoreError { UnImplemented(String), #[error("An object failed to (de)serialize: {0}")] SerdeFailure(#[from] serde_json::Error), - #[error("An unknown error ocurred: {0}")] + #[error("An unknown error occurred: {0}")] Unknown(String), } diff --git a/core/src/filesystem/error.rs b/core/src/filesystem/error.rs index 5d2daaf71..59123db68 100644 --- a/core/src/filesystem/error.rs +++ b/core/src/filesystem/error.rs @@ -10,7 +10,7 @@ use crate::error::CoreError; pub enum FileError { #[error("Error occurred while opening file: {0}")] FileIoError(#[from] io::Error), - #[error("A zip error ocurred: {0}")] + #[error("A zip error occurred: {0}")] ZipFileError(#[from] ZipError), #[error("Archive contains no files")] ArchiveEmptyError, diff --git a/core/src/filesystem/media/analyze_media_job/task_page_count.rs b/core/src/filesystem/media/analyze_media_job/task_page_count.rs index bf7bed414..f3792d78d 100644 --- a/core/src/filesystem/media/analyze_media_job/task_page_count.rs +++ b/core/src/filesystem/media/analyze_media_job/task_page_count.rs @@ -30,7 +30,7 @@ pub(crate) async fn execute( let page_count = get_page_count_async(&path, &ctx.config).await?; output.page_counts_analyzed += 1; - // Check if a metadata update is neded + // Check if a metadata update is needed if let Some(metadata) = media_item.metadata { // Great, there's already metadata! // Check if the value matches the currently recorded one, update if not. diff --git a/core/src/filesystem/media/format/epub.rs b/core/src/filesystem/media/format/epub.rs index 9d9691051..342575f0c 100644 --- a/core/src/filesystem/media/format/epub.rs +++ b/core/src/filesystem/media/format/epub.rs @@ -217,7 +217,7 @@ impl EpubProcessor { /// 1. Attempt to find a resource with the default ID of "cover" /// 2. Attempt to find a resource with a mime type of "image/jpeg" or "image/png", and weight the /// results based on how likely they are to be the cover. For example, if the cover is named - /// "cover.jpg", it's probably the cover. The entry with the heighest weight, if any, will be + /// "cover.jpg", it's probably the cover. The entry with the highest weight, if any, will be /// returned. pub fn get_cover(path: &str) -> Result<(ContentType, Vec), FileError> { let mut epub_file = EpubDoc::new(path).map_err(|e| { diff --git a/core/src/job/mod.rs b/core/src/job/mod.rs index 5a25dca17..9c2ed857b 100644 --- a/core/src/job/mod.rs +++ b/core/src/job/mod.rs @@ -5,7 +5,7 @@ // This job module would not be possible without other awesome projects in the Rust ecosystem! They // taught me a lot, and I don't think I could have done this without them. Taking bits and pieces from // each of them, I was able to create a job system that is both flexible and powerful: -// - https://github.com/spacedriveapp/spacedrive --> The most impressive and inflential one, the concept of jobs having typed tasks executed one-by-one in a loop, in addition to the handling logic for pause/resume, came from here +// - https://github.com/spacedriveapp/spacedrive --> The most impressive and influential one, the concept of jobs having typed tasks executed one-by-one in a loop, in addition to the handling logic for pause/resume, came from here // - https://git.asonix.dog/asonix/background-jobs --> Trait design (v similar to above) and how they handle retries // - https://github.com/ZeroAssumptions/aide-de-camp // - Also their writeup on the fundamentals of their design: https://dev.to/zeroassumptions/build-a-job-queue-with-rust-using-aide-de-camp-part-1-4g5m @@ -239,7 +239,7 @@ impl Default for WorkingState { } /// A trait that defines the behavior and data types of a job. Jobs are responsible for -/// intialization and individual task execution. Jobs are managed by an [Executor], which +/// initialization and individual task execution. Jobs are managed by an [Executor], which /// is responsible for the main run loop of a job. #[async_trait::async_trait] pub trait JobExt: Send + Sync + Sized + Clone + 'static { @@ -404,7 +404,7 @@ pub struct WrappedJob { /// The internal job that will be executed. This is an Option to allow for the job to be /// taken out of the wrapper and put back in after a requeue inner_job: Option, - /// The inital state of the job, used to build its working state. This is an Option to allow for + /// The initial state of the job, used to build its working state. This is an Option to allow for /// the state to be taken out of the wrapper without a clone. At the end of the job, the state /// will be reinitialized to its default state. initial_state: Option>, diff --git a/core/src/job/progress.rs b/core/src/job/progress.rs index e66a11052..2b8280a51 100644 --- a/core/src/job/progress.rs +++ b/core/src/job/progress.rs @@ -88,7 +88,7 @@ impl JobProgress { } pub fn init_done(index: i32, size: i32) -> Self { - Self::task_position_msg("Job intialized", index, size) + Self::task_position_msg("Job initialized", index, size) } pub fn restored(index: i32, size: i32) -> Self { diff --git a/core/src/job/worker.rs b/core/src/job/worker.rs index 299050283..129615bbd 100644 --- a/core/src/job/worker.rs +++ b/core/src/job/worker.rs @@ -508,7 +508,7 @@ pub(crate) async fn handle_failure_status( Some, ); - tracing::trace!(?updated_job, "Upated job?"); + tracing::trace!(?updated_job, "Updated job?"); Ok(()) } diff --git a/core/src/lib.rs b/core/src/lib.rs index fec8d6d1e..378c27365 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -106,7 +106,7 @@ impl StumpCore { } /// Returns a new instance of [`Ctx`]. This is the main context struct for the core, - /// prividing access to the database and internal channels. + /// providing access to the database and internal channels. pub fn get_context(&self) -> Ctx { self.ctx.clone() } @@ -320,7 +320,7 @@ mod tests { file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all( - format!("{}\n\n", ts_export::()?).as_bytes(), + format!("{}\n\n", ts_export::()?).as_bytes(), )?; file.write_all(format!("{}\n\n", ts_export::()?).as_bytes())?; file.write_all( diff --git a/core/src/opds/v1_2/entry.rs b/core/src/opds/v1_2/entry.rs index 59eebf773..e291e9b01 100644 --- a/core/src/opds/v1_2/entry.rs +++ b/core/src/opds/v1_2/entry.rs @@ -152,7 +152,7 @@ impl From for OpdsEntry { } } -// TODO: I was panicing here on my hosted server, and added additional safe guards. I need to check what was happening +// TODO: I was panicking here on my hosted server, and added additional safe guards. I need to check what was happening // once these changes are deployed and I can see the logs on my server. impl From for OpdsEntry { diff --git a/core/src/opds/v2_0/link.rs b/core/src/opds/v2_0/link.rs index eb593bbcd..4bd5d7d91 100644 --- a/core/src/opds/v2_0/link.rs +++ b/core/src/opds/v2_0/link.rs @@ -111,7 +111,7 @@ impl From for OPDSLinkType { } /// A struct for representing the common elements of an OPDS link. Other link types can be derived from this struct, -/// such as [OPDSImageLink] and [OPDSNavigationLink], and flattened for serialization into a unfied JSON object. +/// such as [OPDSImageLink] and [OPDSNavigationLink], and flattened for serialization into a unified JSON object. #[skip_serializing_none] #[derive(Debug, Default, Clone, Builder, Serialize, Deserialize)] #[builder(build_fn(error = "crate::CoreError"), default, setter(into))] diff --git a/crates/email/src/error.rs b/crates/email/src/error.rs index 41a38b181..7abf8389c 100644 --- a/crates/email/src/error.rs +++ b/crates/email/src/error.rs @@ -17,7 +17,7 @@ pub enum EmailError { #[error("Failed to register template: {0}")] TemplateRegistrationFailed(#[from] handlebars::TemplateError), #[error("Template not found")] - TempalateNotFound, + TemplateNotFound, #[error("Failed to render template: {0}")] TemplateRenderFailed(#[from] handlebars::RenderError), } diff --git a/crates/integrations/src/notifier/error.rs b/crates/integrations/src/notifier/error.rs index 5e02885ac..0610da6aa 100644 --- a/crates/integrations/src/notifier/error.rs +++ b/crates/integrations/src/notifier/error.rs @@ -6,6 +6,6 @@ pub enum NotifierError { ReqwestError(#[from] reqwest::Error), #[error("{0}")] Unimplemented(String), - #[error("Request was unsucessful")] + #[error("Request was unsuccessful")] RequestFailed(String), } diff --git a/crates/stump-config-gen/src/config_vars.rs b/crates/stump-config-gen/src/config_vars.rs index fd76a3127..c817ce107 100644 --- a/crates/stump-config-gen/src/config_vars.rs +++ b/crates/stump-config-gen/src/config_vars.rs @@ -45,7 +45,7 @@ impl StumpConfigVariable { } /// Parses a struct, extracting a vec representing each of its fields -/// so that they can be reprsented in the macro's output code. +/// so that they can be represented in the macro's output code. pub fn get_config_variables(data_struct: &DataStruct) -> Vec { let mut output_vec = Vec::new(); @@ -117,10 +117,10 @@ fn parse_config_var_attributes(field: &Field) -> StumpConfigVariableAttributes { // #[validator(fn)] if attr.path().is_ident("validator") { - let validator_iden: Ident = attr.parse_args().unwrap_or_else(|e| { + let validator_ident: Ident = attr.parse_args().unwrap_or_else(|e| { panic!("Failed to parse validator identity for {field_ident}: {e}") }); - validator = Some(validator_iden); + validator = Some(validator_ident); } } diff --git a/crates/stump-config-gen/src/type_utils.rs b/crates/stump-config-gen/src/type_utils.rs index 0e3218074..8bf45c3bc 100644 --- a/crates/stump-config-gen/src/type_utils.rs +++ b/crates/stump-config-gen/src/type_utils.rs @@ -60,7 +60,7 @@ pub fn parse_option_inner_type(type_path: &TypePath) -> (TokenStream, bool) { panic!("Failed to unravel Option, are angle brackets empty?"); } }, - // This shouldn't happen either, but would occur if Option had no angle backets + // This shouldn't happen either, but would occur if Option had no angle brackets _ => panic!("Failed to unravel Option, is there no type for Option?"), } } diff --git a/docs/README.md b/docs/README.md index 8e179ca05..112eeb75c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,7 +4,7 @@ This app is the code for Stump's [documentation site](https://stumpapp.dev). It ## Deployment -Deployements are handled manually using the Vercel CLI. To deploy, run: +Deployments are handled manually using the Vercel CLI. To deploy, run: ```bash vercel diff --git a/docs/pages/faq.md b/docs/pages/faq.md index bc3e84a51..d4c82ed73 100644 --- a/docs/pages/faq.md +++ b/docs/pages/faq.md @@ -16,7 +16,7 @@ Stump **is not** a tool used for fetching or downloading any kind of media. It i ## Why Stump? -There are some really solid, self-hostable, OPDS media servers out there. I started out using [Komga](https://komga.org). I initially started developing Stump becuase I thought it would be cool to learn what goes into making something like Komga myself. +There are some really solid, self-hostable, OPDS media servers out there. I started out using [Komga](https://komga.org). I initially started developing Stump because I thought it would be cool to learn what goes into making something like Komga myself. In general, Stump strives for the following: diff --git a/docs/pages/guides/basics/books.md b/docs/pages/guides/basics/books.md index 445fa2428..1f5dcb580 100644 --- a/docs/pages/guides/basics/books.md +++ b/docs/pages/guides/basics/books.md @@ -14,7 +14,7 @@ The following table outlines the supported formats for books in Stump: | ----------- | ------------- | ----- | --------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ZIP Archive | `.cbz` `.zip` | ✅ | ✅ | ✅ | | | RAR Archive | `.cbr` `.rar` | ✅ | ✅ | ✅ | | -| EPUB | `.epub` | ✅ | ❌ | ✅ | Epub files aren't generally supported by ODPS-PSE (streaming) unless they are image-only. They are otherwise OPDS-compatible | +| EPUB | `.epub` | ✅ | ❌ | ✅ | Epub files aren't generally supported by OPDS-PSE (streaming) unless they are image-only. They are otherwise OPDS-compatible | | PDF | `.pdf` | ✅ | ✅ | ✅ | [PDFium](https://pdfium.googlesource.com/pdfium/) is used for PDF-to-image rendering. Outside of Docker, you will have to provide Stump the location of your PDFium binary in order for PDF rendering to work. See [configuration](/guides/configuration/server-options#pdfium_path) for more information. | - **Basic**: Basic support encapsulates the minimally viable functionality for a given format. In general, this will include things like: diff --git a/docs/pages/guides/basics/libraries.mdx b/docs/pages/guides/basics/libraries.mdx index f3435cbea..55798619a 100644 --- a/docs/pages/guides/basics/libraries.mdx +++ b/docs/pages/guides/basics/libraries.mdx @@ -324,7 +324,7 @@ Personally, I use a collection-priority library for my ebooks and a series-prior #### Alternative Options -Unfortunately, Stump does not support any other patterns, as there are simply too many ways to organize a library to support them all. If you have a library that doesn't quite fit either of these patterns, or you just prefer a differnt organization method, you can always use the [File Explorer](/guides/file-explorer) to navigate your library. This is akin to using a native file explorer to navigate your filesystem. +Unfortunately, Stump does not support any other patterns, as there are simply too many ways to organize a library to support them all. If you have a library that doesn't quite fit either of these patterns, or you just prefer a different organization method, you can always use the [File Explorer](/guides/file-explorer) to navigate your library. This is akin to using a native file explorer to navigate your filesystem. ## Creating a Library diff --git a/docs/pages/guides/basics/readers.mdx b/docs/pages/guides/basics/readers.mdx index edd8952b5..e0e541b6e 100644 --- a/docs/pages/guides/basics/readers.mdx +++ b/docs/pages/guides/basics/readers.mdx @@ -9,7 +9,7 @@ Stump has a few different built-in readers that you can use to read your books. A reader for reading ebooks, such as `.epub` files. - At the time of writing, ebooks are eagarly loaded for the reader, meaning your server will send + At the time of writing, ebooks are eagerly loaded for the reader, meaning your server will send the entire book to your client. This is far from ideal, and a [streamable ebook reader](https://github.com/stumpapp/stump/issues/62) is planned for a future release so ebook reading sessions can be more network friendly. diff --git a/docs/pages/guides/basics/scanner.mdx b/docs/pages/guides/basics/scanner.mdx index 98bea9901..b8fc5f150 100644 --- a/docs/pages/guides/basics/scanner.mdx +++ b/docs/pages/guides/basics/scanner.mdx @@ -2,7 +2,7 @@ import { Steps, Callout } from 'nextra/components' # File Discovery -A scan is the process of indexing your filesystem to detect new media files and file changes/updates. Scans are essential for keeping your media libraries up-to-date in Stump. The _scanner_ is a queable process which will perform these scans for you. +A scan is the process of indexing your filesystem to detect new media files and file changes/updates. Scans are essential for keeping your media libraries up-to-date in Stump. The _scanner_ is a queueable process which will perform these scans for you. Scans can be isolated to either the library level or the series level. There are no real differences between the two, except that a library scan will scan all series in the library, while a series scan will only scan the selected series. diff --git a/docs/pages/installation/docker.mdx b/docs/pages/installation/docker.mdx index d85f8775b..adfba22e3 100644 --- a/docs/pages/installation/docker.mdx +++ b/docs/pages/installation/docker.mdx @@ -113,7 +113,7 @@ docker restart stump -Below is a reference for some of the paremeters used in this section: +Below is a reference for some of the parameters used in this section: | Parameter | Functionality | | ------------------------------- | :-------------------------------------------------------------------------: | diff --git a/packages/browser/src/App.tsx b/packages/browser/src/App.tsx index 9365a7da7..1ebab98f7 100644 --- a/packages/browser/src/App.tsx +++ b/packages/browser/src/App.tsx @@ -77,7 +77,7 @@ function RouterContainer(props: StumpClientProps) { }) } - const handleUnathenticatedResponse = (redirectUrl?: string) => { + const handleUnauthenticatedResponse = (redirectUrl?: string) => { props.onUnauthenticatedResponse?.(redirectUrl) setUser(null) if (redirectUrl) { @@ -96,7 +96,7 @@ function RouterContainer(props: StumpClientProps) { return ( { // Check arrow keys if (event.key == 'ArrowLeft') { @@ -403,7 +403,7 @@ export default function EpubJsReader({ id, initialCfi }: EpubJsReaderProps) { [book, rendition], ) - // TODO: suppport incognito mode that doesn't sync progress... + // TODO: support incognito mode that doesn't sync progress... const spineSize = epub?.spine.length /** * This effect is responsible for syncing the current epub progress information to @@ -461,13 +461,13 @@ export default function EpubJsReader({ id, initialCfi }: EpubJsReaderProps) { //* terrible and doesn't provide a better way to do this. const naiveAdjustment = chapterPercentage * (1 / chapterCount) - const naitveTotal = totalChapterPercentage + naiveAdjustment - const isAtEnd = Math.abs(naitveTotal - 1) < 0.02 + const naiveTotal = totalChapterPercentage + naiveAdjustment + const isAtEnd = Math.abs(naiveTotal - 1) < 0.02 if (isAtEnd) { //* if total is +- 0.02 of 1, then we are at the end of the book. percentage = 1.0 } else { - percentage = naitveTotal + percentage = naiveTotal } handleUpdateProgress({ diff --git a/packages/browser/src/components/readers/epub/EpubStreamReader.tsx b/packages/browser/src/components/readers/epub/EpubStreamReader.tsx index 580b058ed..564c1af69 100644 --- a/packages/browser/src/components/readers/epub/EpubStreamReader.tsx +++ b/packages/browser/src/components/readers/epub/EpubStreamReader.tsx @@ -8,8 +8,8 @@ import { useNavigate } from 'react-router-dom' /* NOTE: I have decided to move this streamable epub reading to a future feature. I have to write a mini epub engine to get this working. Readium isn't MIT licensed, - and I'd rather not change MIT if possibile. So, for now, I'm going to get the - epub.js reader working well and then get the other core features imlpemented + and I'd rather not change MIT if possible. So, for now, I'm going to get the + epub.js reader working well and then get the other core features implemented before I jump back into this. Once that happens, the overview of what needs to get implemented will be: - epubcfi parsing and generating @@ -26,7 +26,7 @@ export default function EpubStreamReader({ epub, actions, ...rest }: UseEpubRetu const navigate = useNavigate() // const { isLoading: isFetchingResource, data: content } = useQuery( - // ['getEbubResource', actions.currentResource()], + // ['getEpubResource', actions.currentResource()], // { // queryFn: () => getEpubResource().then((res) => res.data), // }, diff --git a/packages/browser/src/components/readers/epub/controls/EpubNavigationControls.tsx b/packages/browser/src/components/readers/epub/controls/EpubNavigationControls.tsx index 27a8ca790..7a3cea5ce 100644 --- a/packages/browser/src/components/readers/epub/controls/EpubNavigationControls.tsx +++ b/packages/browser/src/components/readers/epub/controls/EpubNavigationControls.tsx @@ -53,7 +53,7 @@ export default function EpubNavigationControls({ children }: Props) { /** * A swipe handler to navigate forward or backward in the book. * - * Note that the swip handler function semantics are inverted wrt the reading direction. + * Note that the swipe handler function semantics are inverted wrt the reading direction. */ const swipeHandlers = useSwipeable({ onSwipedLeft: onForwardNavigation, diff --git a/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx b/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx index ebc081a4c..3149d9416 100644 --- a/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx +++ b/packages/browser/src/components/readers/imageBased/paged/AnimatedPagedReader.tsx @@ -38,7 +38,7 @@ const BACKWARD_START_ANIMATION = { // funky on mobile still but not nearly as bad. // FIXME: animation on mobile without drag looks bad // TODO: slow down the animations to test better -// TODO: kill me, and then make the animations togglable +// TODO: kill me, and then make the animations toggleable export default function AnimatedPagedReader({ currentPage, media, diff --git a/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx b/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx index 1f8473484..7c952882c 100644 --- a/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx +++ b/packages/browser/src/components/savedServer/configuredServers/__tests__/ConfiguredServersList.tests.tsx @@ -122,7 +122,7 @@ describe('ConfiguredServersList', () => { ).toBeInTheDocument() }) - it('should render a confirmation before switching to a serveer', () => { + it('should render a confirmation before switching to a server', () => { render() expect( diff --git a/packages/browser/src/hooks/useTheme.ts b/packages/browser/src/hooks/useTheme.ts index 3cfdbb3c0..a8ed295a2 100644 --- a/packages/browser/src/hooks/useTheme.ts +++ b/packages/browser/src/hooks/useTheme.ts @@ -45,5 +45,5 @@ export function useTheme() { } } -export const DARK_THEMES = ['dark', 'cosmic', 'pumpkin', 'autum'] +export const DARK_THEMES = ['dark', 'cosmic', 'pumpkin', 'autumn'] export const THEMES_WITH_GRADIENTS = ['cosmic'] diff --git a/packages/browser/src/scenes/book/BookReaderDropdown.tsx b/packages/browser/src/scenes/book/BookReaderDropdown.tsx index d00a6f15d..e55d4532b 100644 --- a/packages/browser/src/scenes/book/BookReaderDropdown.tsx +++ b/packages/browser/src/scenes/book/BookReaderDropdown.tsx @@ -17,7 +17,7 @@ export default function BookReaderDropdown({ book }: Props) { const currentPage = book?.current_page ?? -1 /** - * A boolean used to control the redering of the 'Read again' prompt. A book + * A boolean used to control the rendering of the 'Read again' prompt. A book * is considered to be read again if: * * - It has been completed AND the current page is the last page diff --git a/packages/browser/src/scenes/book/BookReaderLink.tsx b/packages/browser/src/scenes/book/BookReaderLink.tsx index 3719842cf..ee61cf1f2 100644 --- a/packages/browser/src/scenes/book/BookReaderLink.tsx +++ b/packages/browser/src/scenes/book/BookReaderLink.tsx @@ -13,7 +13,7 @@ export default function BookReaderLink({ book }: Props) { const currentPage = book?.current_page ?? -1 /** - * A boolean used to control the redering of the 'Read again' prompt. A book + * A boolean used to control the rendering of the 'Read again' prompt. A book * is considered to be read again if: * * - It has been completed AND the current page is the last page diff --git a/packages/browser/src/scenes/book/settings/BookPageGrid.tsx b/packages/browser/src/scenes/book/settings/BookPageGrid.tsx index fd4e74ac8..f3cd41deb 100644 --- a/packages/browser/src/scenes/book/settings/BookPageGrid.tsx +++ b/packages/browser/src/scenes/book/settings/BookPageGrid.tsx @@ -11,7 +11,7 @@ type Props = { bookId: string pages: number } -// TODO: Create generlized VirtualizedGrid component and trim the reused logic +// TODO: Create generalized VirtualizedGrid component and trim the reused logic export default function BookPageGrid({ bookId, pages, selectedPage, onSelectPage }: Props) { const { sdk } = useSDK() const parentRef = useRef(null) diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx index 698e7c45a..d7e51cff9 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySeriesGrid.tsx @@ -9,7 +9,7 @@ type Props = { libraryId: string onSelectSeries: (series: Series) => void } -// TODO: Create generlized VirtualizedGrid component and trim the reused logic +// TODO: Create generalized VirtualizedGrid component and trim the reused logic export default function LibrarySeriesGrid({ libraryId, onSelectSeries }: Props) { const { sdk } = useSDK() const { series, fetchNextPage, hasNextPage } = useSeriesCursorQuery({ diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx index 0b7d45b09..4a06ed15f 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx @@ -23,7 +23,7 @@ export default function LibrarySettingsRouter() { id: library.id, }) - // TODO: This is particularly fallible. It would be a lot wiser to eventually just.. yknow, literally + // TODO: This is particularly fallible. It would be a lot wiser to eventually just.. y'know, literally // implement a patch endpoint lol. I'm being very lazy but I'll get to it. I'm tired! /** * A pseudo-patch function which will update the library, mixing what is present in the cache diff --git a/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx b/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx index f18be5956..63177d0a8 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx @@ -45,7 +45,7 @@ export default function ScannerFeaturesPatchForm() { return (
{/* Note: This component doesn't really belong here, but I didn't want to wrap it in its own form when it is just for display */} - {/* Should probably create a separate, non-formy variant */} + {/* Should probably create a separate, non-form variant */} diff --git a/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx b/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx index f5648a1a7..9176f1ec5 100644 --- a/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx +++ b/packages/browser/src/scenes/series/tabs/settings/SeriesBookGrid.tsx @@ -9,7 +9,7 @@ type Props = { seriesId: string onSelectBook: (book: Media) => void } -// TODO: Create generlized VirtualizedGrid component and trim the reused logic +// TODO: Create generalized VirtualizedGrid component and trim the reused logic export default function SeriesBookGrid({ seriesId, onSelectBook }: Props) { const { sdk } = useSDK() const { diff --git a/packages/browser/src/scenes/settings/SettingsLayout.tsx b/packages/browser/src/scenes/settings/SettingsLayout.tsx index 20b1f8c47..2f504da02 100644 --- a/packages/browser/src/scenes/settings/SettingsLayout.tsx +++ b/packages/browser/src/scenes/settings/SettingsLayout.tsx @@ -39,7 +39,7 @@ export default function SettingsLayout() { return (
- * Settings for the unselcted option will be disabled or hidden + * Settings for the unselected option will be disabled or hidden
) diff --git a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx index d2365864c..6e484398f 100644 --- a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx @@ -67,16 +67,16 @@ export default function NavigationArrangement() { [checkPermission], ) - const [localArragement, setLocalArrangement] = useState(() => arrangement) + const [localArrangement, setLocalArrangement] = useState(() => arrangement) /** * A callback to actually update the arrangement on the server. */ const handleUpdateArrangement = useCallback( - async (updates: typeof localArragement) => { + async (updates: typeof localArrangement) => { try { const result = await updateArrangement(updates) - if (!isEqual(result, localArragement)) { + if (!isEqual(result, localArrangement)) { setLocalArrangement(result) } } catch (error) { @@ -84,12 +84,12 @@ export default function NavigationArrangement() { toast.error('Failed to update navigation arrangement') } }, - [updateArrangement, localArragement], + [updateArrangement, localArrangement], ) const isDifferent = useMemo( - () => !isEqual(localArragement, arrangement), - [localArragement, arrangement], + () => !isEqual(localArrangement, arrangement), + [localArrangement, arrangement], ) /** * An effect which will update the arrangement whenever the local arrangement is different @@ -97,9 +97,9 @@ export default function NavigationArrangement() { */ useEffect(() => { if (isDifferent) { - handleUpdateArrangement(localArragement) + handleUpdateArrangement(localArrangement) } - }, [isDifferent, handleUpdateArrangement, localArragement]) + }, [isDifferent, handleUpdateArrangement, localArrangement]) /** * A callback to handle the end of a drag event. This will update the arrangement @@ -124,7 +124,7 @@ export default function NavigationArrangement() { const setLocked = (isLocked: boolean) => setLocalArrangement((curr) => ({ ...curr, locked: isLocked })) - const { items, locked } = localArragement + const { items, locked } = localArrangement /** * A callback to set the visibility of an item in the arrangement. diff --git a/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx b/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx index c135949da..72a5bc78d 100644 --- a/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx +++ b/packages/browser/src/scenes/settings/server/jobs/RunningJobElapsedTime.tsx @@ -24,7 +24,7 @@ export default function RunningJobElapsedTime({ job, formatDuration }: Props) { } }, [job]) - const formatedDuration = useMemo( + const formattedDuration = useMemo( () => formatDuration( // we need to add 1 second to the elapsed time because the duration @@ -36,7 +36,7 @@ export default function RunningJobElapsedTime({ job, formatDuration }: Props) { return ( - {formatedDuration} + {formattedDuration} ) } diff --git a/packages/browser/src/scenes/settings/server/users/UsersScene.tsx b/packages/browser/src/scenes/settings/server/users/UsersScene.tsx index 589ec1987..521f77730 100644 --- a/packages/browser/src/scenes/settings/server/users/UsersScene.tsx +++ b/packages/browser/src/scenes/settings/server/users/UsersScene.tsx @@ -8,7 +8,7 @@ import LoginActivitySection from './login-activity/LoginActivitySection' import UserTableSection from './user-table/UserTableSection' import UserManagementStats from './UsersStats' -// TODO: I might want to turn this into a tiny Router with breadcrumbs? Not enirely sure yet, +// TODO: I might want to turn this into a tiny Router with breadcrumbs? Not entirely sure yet, // the only sub-scene I can think of is user creation which isn't essential to have perfect UX // out the gate export default function UsersScene() { diff --git a/packages/browser/src/scenes/settings/server/users/UsersStats.tsx b/packages/browser/src/scenes/settings/server/users/UsersStats.tsx index 54f25cb20..2e876b1bb 100644 --- a/packages/browser/src/scenes/settings/server/users/UsersStats.tsx +++ b/packages/browser/src/scenes/settings/server/users/UsersStats.tsx @@ -80,7 +80,7 @@ export default function UsersStats() { ) /** - * The total number of finsihed books throughout all users on the server + * The total number of finished books throughout all users on the server */ const booksRead = users.reduce( (acc, user) => { diff --git a/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx b/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx index b22ebf86a..8df693fe5 100644 --- a/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx +++ b/packages/browser/src/scenes/smartList/settings/SmartListSettingsRouter.tsx @@ -15,7 +15,7 @@ export default function SmartListSettingsRouter() { const { list } = useSmartListContext() const { update } = useUpdateSmartList({ id: list.id }) - // TODO: This is particularly fallible. It would be a lot wiser to eventually just.. yknow, literally + // TODO: This is particularly fallible. It would be a lot wiser to eventually just.. y'know, literally // implement a patch endpoint lol. I'm being very lazy but I'll get to it. I'm tired! /** * A pseudo-patch function which will update the list, mixing what is present in the cache diff --git a/packages/client/src/hooks/useStumpSse.ts b/packages/client/src/hooks/useStumpSse.ts index 55f6962f6..5bb7b2ca3 100644 --- a/packages/client/src/hooks/useStumpSse.ts +++ b/packages/client/src/hooks/useStumpSse.ts @@ -15,7 +15,7 @@ let sse: EventSource // TODO(tokens): Swap eventsource with polyfilled version that supports headers function useSse(url: string, { onOpen, onClose, onMessage }: SseOptions = {}) { - const timoutRef = useRef(null) + const timeoutRef = useRef(null) /** * Initialize the EventSource connection */ @@ -34,7 +34,7 @@ function useSse(url: string, { onOpen, onClose, onMessage }: SseOptions = {}) { sse?.close() - timoutRef.current = setTimeout(() => { + timeoutRef.current = setTimeout(() => { initEventSource() if (sse?.readyState !== EventSource.OPEN) { @@ -54,8 +54,8 @@ function useSse(url: string, { onOpen, onClose, onMessage }: SseOptions = {}) { return () => { sse?.close() - if (timoutRef.current) { - clearTimeout(timoutRef.current) + if (timeoutRef.current) { + clearTimeout(timeoutRef.current) } } }, [url]) diff --git a/packages/client/src/queries/auth.ts b/packages/client/src/queries/auth.ts index 236bcfe74..d3c28d1b3 100644 --- a/packages/client/src/queries/auth.ts +++ b/packages/client/src/queries/auth.ts @@ -13,8 +13,8 @@ export function useAuthQuery(options: QueryOptions = {}) { async () => { const data = await sdk.auth.me() if (!isUser(data)) { - console.warn('Malformed response recieved from server', data) - throw new Error('Malformed response recieved from server') + console.warn('Malformed response received from server', data) + throw new Error('Malformed response received from server') } return data }, diff --git a/packages/client/src/queries/epub.ts b/packages/client/src/queries/epub.ts index cbc621afc..e5bd5823b 100644 --- a/packages/client/src/queries/epub.ts +++ b/packages/client/src/queries/epub.ts @@ -81,9 +81,9 @@ export function useEpub(id: string, _options?: EpubOptions, enabled?: boolean) { corrected = corrected.replace(entry, src) }) - const invlalidHrefs = corrected.match(/href="[^"]+"/g) + const invalidHrefs = corrected.match(/href="[^"]+"/g) - invlalidHrefs?.forEach((entry) => { + invalidHrefs?.forEach((entry) => { const href = entry.replace( 'href="', `href="${sdk.epub.epubServiceURL(id)}/${epub?.root_base ?? ''}/`, diff --git a/packages/client/src/queries/job.ts b/packages/client/src/queries/job.ts index 35ea9e011..ed1397025 100644 --- a/packages/client/src/queries/job.ts +++ b/packages/client/src/queries/job.ts @@ -3,10 +3,10 @@ import type { PersistedJob, UpdateSchedulerConfig } from '@stump/sdk' import { PageQueryOptions, useMutation, usePageQuery, useQuery } from '../client' import { useSDK } from '../sdk' -type UseJobsQueryParmas = PageQueryOptions & { +type UseJobsQueryParams = PageQueryOptions & { params?: Record } -export function useJobsQuery({ params, ...options }: UseJobsQueryParmas = {}) { +export function useJobsQuery({ params, ...options }: UseJobsQueryParams = {}) { const { sdk } = useSDK() const { data, ...restReturn } = usePageQuery( [sdk.job.keys.get, params], diff --git a/packages/client/src/queries/log.ts b/packages/client/src/queries/log.ts index 2cff304fb..bed25778e 100644 --- a/packages/client/src/queries/log.ts +++ b/packages/client/src/queries/log.ts @@ -3,11 +3,11 @@ import { Log, LogFilter, QueryOrder } from '@stump/sdk' import { PageQueryOptions, usePageQuery } from '../client' import { useSDK } from '../sdk' -type UseLogsQueryParmas = Omit, 'params'> & { +type UseLogsQueryParams = Omit, 'params'> & { params?: LogFilter & Partial } -export function useLogsQuery({ params, ...options }: UseLogsQueryParmas = {}) { +export function useLogsQuery({ params, ...options }: UseLogsQueryParams = {}) { const { sdk } = useSDK() const { data, ...restReturn } = usePageQuery( [sdk.log.keys.get, params], diff --git a/packages/components/.storybook/main.js b/packages/components/.storybook/main.js index 06f41549a..e4c064ff3 100644 --- a/packages/components/.storybook/main.js +++ b/packages/components/.storybook/main.js @@ -9,7 +9,7 @@ module.exports = { '@storybook/addon-essentials', '@storybook/addon-interactions', // FIXME: I want storybook-dark-mode ideally because it toggles all of the storybook UI - // accordinly, but their logic for toggling dark mode is broken. So for now I am using + // accordingly, but their logic for toggling dark mode is broken. So for now I am using // storybook-tailwind-dark-mode, but it doesn't toggle the storybook UI (just the dark class) // 'storybook-dark-mode', 'storybook-tailwind-dark-mode', diff --git a/packages/components/src/accordian/Accordion.tsx b/packages/components/src/accordion/Accordion.tsx similarity index 100% rename from packages/components/src/accordian/Accordion.tsx rename to packages/components/src/accordion/Accordion.tsx diff --git a/packages/components/src/accordian/index.ts b/packages/components/src/accordion/index.ts similarity index 100% rename from packages/components/src/accordian/index.ts rename to packages/components/src/accordion/index.ts diff --git a/packages/components/src/alert/Alert.tsx b/packages/components/src/alert/Alert.tsx index 3b505cdb2..9fac45611 100644 --- a/packages/components/src/alert/Alert.tsx +++ b/packages/components/src/alert/Alert.tsx @@ -46,7 +46,7 @@ export type AlertProps = { const Alert = forwardRef( ({ className, level, rounded, icon, alignIcon = 'center', children, ...props }, ref) => { - // TODO: implement me, inspriation from https://chakra-ui.com/docs/components/alert/usage + // TODO: implement me, inspiration from https://chakra-ui.com/docs/components/alert/usage const renderIcon = () => { let Icon: LucideIcon | null = null diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index 251272614..b9e356aae 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -2,7 +2,7 @@ // eslint-disable-next-line @typescript-eslint/no-explicit-any export type Any = any -export { Accordion } from './accordian' +export { Accordion } from './accordion' export { Alert } from './alert' export { Badge, type BadgeProps } from './badge' export { Breadcrumbs, type BreadcrumbsProps } from './breadcrumbs' diff --git a/packages/components/themes/local.ts b/packages/components/themes/local.ts index 9c687cbe6..3b5924773 100644 --- a/packages/components/themes/local.ts +++ b/packages/components/themes/local.ts @@ -1,9 +1,9 @@ // TODO(383): Support local themes // Requires the following from tw-colors: https://github.com/L-Blondy/tw-colors/issues/39 -// import { ThemeDefintion } from './shared' +// import { ThemeDefinition } from './shared' -// export const local: ThemeDefintion = { +// export const local: ThemeDefinition = { // background: { // 100: 'var(--twc-background-100)', // 200: 'var(--twc-background-200)', diff --git a/packages/components/themes/types.ts b/packages/components/themes/types.ts index 4a2dff5dd..5705a252a 100644 --- a/packages/components/themes/types.ts +++ b/packages/components/themes/types.ts @@ -66,7 +66,7 @@ type Background = { */ overlay: HoverVariant & DefaultVariant /** - * The invserse color of the base background value + * The inverse color of the base background value */ inverse: string /** diff --git a/packages/i18n/src/locales/af.json b/packages/i18n/src/locales/af.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/af.json +++ b/packages/i18n/src/locales/af.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/ar.json b/packages/i18n/src/locales/ar.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/ar.json +++ b/packages/i18n/src/locales/ar.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/ca.json b/packages/i18n/src/locales/ca.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/ca.json +++ b/packages/i18n/src/locales/ca.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/cs.json b/packages/i18n/src/locales/cs.json index 6aace93fb..4a75f494a 100644 --- a/packages/i18n/src/locales/cs.json +++ b/packages/i18n/src/locales/cs.json @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Vyberte nebo vytvořte štítek", + "placeholder": "Vyberte nebo vytvořte štítek", "placeholderNoTags": "Nejsou k dispozici žádné štítky" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/da.json b/packages/i18n/src/locales/da.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/da.json +++ b/packages/i18n/src/locales/da.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/de.json b/packages/i18n/src/locales/de.json index ac87ce383..20e7b7811 100644 --- a/packages/i18n/src/locales/de.json +++ b/packages/i18n/src/locales/de.json @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Tag auswählen oder erstellen", + "placeholder": "Tag auswählen oder erstellen", "placeholderNoTags": "Keine Tags vorhanden" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/el.json b/packages/i18n/src/locales/el.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/el.json +++ b/packages/i18n/src/locales/el.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index a501b1fb3..ba761f47d 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1516,7 +1516,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1718,7 +1718,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/es.json b/packages/i18n/src/locales/es.json index 31542836b..175c6d3e5 100644 --- a/packages/i18n/src/locales/es.json +++ b/packages/i18n/src/locales/es.json @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Seleccionar o crear etiqueta", + "placeholder": "Seleccionar o crear etiqueta", "placeholderNoTags": "No hay etiquetas disponibles" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/fi.json b/packages/i18n/src/locales/fi.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/fi.json +++ b/packages/i18n/src/locales/fi.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/fr.json b/packages/i18n/src/locales/fr.json index 26536a09e..c5f4b12dc 100644 --- a/packages/i18n/src/locales/fr.json +++ b/packages/i18n/src/locales/fr.json @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Choisissez ou créez une étiquette", + "placeholder": "Choisissez ou créez une étiquette", "placeholderNoTags": "Aucune étiquette disponible" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/he.json b/packages/i18n/src/locales/he.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/he.json +++ b/packages/i18n/src/locales/he.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/hu.json b/packages/i18n/src/locales/hu.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/hu.json +++ b/packages/i18n/src/locales/hu.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/it.json b/packages/i18n/src/locales/it.json index 84a985d01..59c436160 100644 --- a/packages/i18n/src/locales/it.json +++ b/packages/i18n/src/locales/it.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Il nome utente è obbligatorio", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Seleziona o crea un tag", + "placeholder": "Seleziona o crea un tag", "placeholderNoTags": "Nessun tag disponibile" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/ja.json b/packages/i18n/src/locales/ja.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/ja.json +++ b/packages/i18n/src/locales/ja.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/ko.json b/packages/i18n/src/locales/ko.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/ko.json +++ b/packages/i18n/src/locales/ko.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/nl.json b/packages/i18n/src/locales/nl.json index 47acfc68f..06a32f31d 100644 --- a/packages/i18n/src/locales/nl.json +++ b/packages/i18n/src/locales/nl.json @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/no.json b/packages/i18n/src/locales/no.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/no.json +++ b/packages/i18n/src/locales/no.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/pl.json b/packages/i18n/src/locales/pl.json index 88d11bf57..c4e1bf36e 100644 --- a/packages/i18n/src/locales/pl.json +++ b/packages/i18n/src/locales/pl.json @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Wybierz lub stwórz etykietę", + "placeholder": "Wybierz lub stwórz etykietę", "placeholderNoTags": "Brak etykiet" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/pt.json b/packages/i18n/src/locales/pt.json index a693dc6c0..83c79722d 100644 --- a/packages/i18n/src/locales/pt.json +++ b/packages/i18n/src/locales/pt.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "O nome de usuário é necessário", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Selecionar ou criar etiqueta", + "placeholder": "Selecionar ou criar etiqueta", "placeholderNoTags": "Não há tags disponíveis" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/ro.json b/packages/i18n/src/locales/ro.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/ro.json +++ b/packages/i18n/src/locales/ro.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/ru.json b/packages/i18n/src/locales/ru.json index 7823c75a2..f16957374 100644 --- a/packages/i18n/src/locales/ru.json +++ b/packages/i18n/src/locales/ru.json @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Выберите или создайте тег", + "placeholder": "Выберите или создайте тег", "placeholderNoTags": "Нет доступных тегов" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/sr.json b/packages/i18n/src/locales/sr.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/sr.json +++ b/packages/i18n/src/locales/sr.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/sv.json b/packages/i18n/src/locales/sv.json index bf0919c4b..533501cdf 100644 --- a/packages/i18n/src/locales/sv.json +++ b/packages/i18n/src/locales/sv.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Användarnamn krävs", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/tr.json b/packages/i18n/src/locales/tr.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/tr.json +++ b/packages/i18n/src/locales/tr.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/uk.json b/packages/i18n/src/locales/uk.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/uk.json +++ b/packages/i18n/src/locales/uk.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/vi.json b/packages/i18n/src/locales/vi.json index 32939a638..794d8fd46 100644 --- a/packages/i18n/src/locales/vi.json +++ b/packages/i18n/src/locales/vi.json @@ -7,7 +7,7 @@ }, "authScene": { "claimHeading": "Initialize your server", - "claimText": "This Stump server is not intialized. Use the form below to create your account. Once created, you will have full access to all server features.", + "claimText": "This Stump server is not initialized. Use the form below to create your account. Once created, you will have full access to all server features.", "form": { "validation": { "missingUsername": "Username is required", @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "Select or create tag", + "placeholder": "Select or create tag", "placeholderNoTags": "No tags available" }, "thumbnailDropdown": { diff --git a/packages/i18n/src/locales/zh.json b/packages/i18n/src/locales/zh.json index 4687a3420..093c1e1b1 100644 --- a/packages/i18n/src/locales/zh.json +++ b/packages/i18n/src/locales/zh.json @@ -1106,7 +1106,7 @@ }, "devices": { "title": "Email devices", - "description": "The device aliases you have configured for recieving emails from your Stump server instance", + "description": "The device aliases you have configured for receiving emails from your Stump server instance", "addDevice": "Add device alias", "addOrUpdateDevice": { "title": { @@ -1308,7 +1308,7 @@ } }, "tagSelect": { - "placholder": "选择或创建标签", + "placeholder": "选择或创建标签", "placeholderNoTags": "没有可用的标签" }, "thumbnailDropdown": { diff --git a/packages/sdk/src/__tests__/api.test.ts b/packages/sdk/src/__tests__/api.test.ts index 66d62d684..5868e0b92 100644 --- a/packages/sdk/src/__tests__/api.test.ts +++ b/packages/sdk/src/__tests__/api.test.ts @@ -62,7 +62,7 @@ describe('Api', () => { }) describe('session auth', () => { - it('should create an axious instance properly', () => { + it('should create an axios instance properly', () => { const api = new Api('http://localhost:10801', 'session') expect(axios.create).toHaveBeenCalledWith({ baseURL: 'http://localhost:10801/api/v1', @@ -73,7 +73,7 @@ describe('Api', () => { }) describe('token auth', () => { - it('should create an axious instance properly', () => { + it('should create an axios instance properly', () => { const api = new Api('http://localhost:10801', 'token') expect(axios.create).toHaveBeenCalledWith({ baseURL: 'http://localhost:10801/api/v1', diff --git a/packages/sdk/src/types/generated.ts b/packages/sdk/src/types/generated.ts index a27b5881d..bb9d25ce0 100644 --- a/packages/sdk/src/types/generated.ts +++ b/packages/sdk/src/types/generated.ts @@ -78,9 +78,9 @@ export type NavigationMode = "SIDEBAR" | "TOPBAR" export type HomeItem = { type: "ContinueReading" } | { type: "RecentlyAddedBooks" } | { type: "RecentlyAddedSeries" } | { type: "Library"; library_id: string } | { type: "SmartList"; smart_list_id: string } -export type NaviationItemDisplayOptions = { show_create_action?: boolean; show_link_to_all?: boolean } +export type NavigationItemDisplayOptions = { show_create_action?: boolean; show_link_to_all?: boolean } -export type NavigationItem = { type: "Home" } | { type: "Explore" } | ({ type: "Libraries" } & NaviationItemDisplayOptions) | ({ type: "SmartLists" } & NaviationItemDisplayOptions) | ({ type: "BookClubs" } & NaviationItemDisplayOptions) +export type NavigationItem = { type: "Home" } | { type: "Explore" } | ({ type: "Libraries" } & NavigationItemDisplayOptions) | ({ type: "SmartLists" } & NavigationItemDisplayOptions) | ({ type: "BookClubs" } & NavigationItemDisplayOptions) export type ArrangementItem = { item: I; visible?: boolean } @@ -398,11 +398,11 @@ export type MediaFilter = ({ id?: string[]; name?: string[]; extension?: string[ */ export type BookRelations = { load_series?: boolean | null; load_library?: boolean | null } -export type SeriesBaseFilter = { id?: string[]; name?: string[]; path?: string[]; search?: string | null; metadata?: SeriesMedataFilter | null } +export type SeriesBaseFilter = { id?: string[]; name?: string[]; path?: string[]; search?: string | null; metadata?: SeriesMetadataFilter | null } -export type SeriesMedataFilter = { meta_type?: string[]; publisher?: string[]; status?: string[]; age_rating?: number | null; volume?: ValueOrRange | null } +export type SeriesMetadataFilter = { meta_type?: string[]; publisher?: string[]; status?: string[]; age_rating?: number | null; volume?: ValueOrRange | null } -export type SeriesFilter = ({ id?: string[]; name?: string[]; path?: string[]; search?: string | null; metadata?: SeriesMedataFilter | null }) & ({ library?: LibraryBaseFilter | null; media?: MediaBaseFilter | null }) +export type SeriesFilter = ({ id?: string[]; name?: string[]; path?: string[]; search?: string | null; metadata?: SeriesMetadataFilter | null }) & ({ library?: LibraryBaseFilter | null; media?: MediaBaseFilter | null }) export type ValueOrRange = T | Range From f238317a363214f33d39d15d7ac5599d2704e536 Mon Sep 17 00:00:00 2001 From: Juan Xavier Gomez Date: Mon, 4 Nov 2024 10:29:30 -0500 Subject: [PATCH 09/17] =?UTF-8?q?=F0=9F=90=9B=20Fix=20unresponsive=20app?= =?UTF-8?q?=20after=20closing=20modal=20within=20dropdown=20(#497)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/components/src/dropdown/DropdownMenu.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/src/dropdown/DropdownMenu.tsx b/packages/components/src/dropdown/DropdownMenu.tsx index 1f03b10e2..d04422d0d 100644 --- a/packages/components/src/dropdown/DropdownMenu.tsx +++ b/packages/components/src/dropdown/DropdownMenu.tsx @@ -114,7 +114,7 @@ export function DropdownMenu({ } return ( - + {renderTrigger()} From c7b6e9cbf2149212072ea6cc12c20f379c3139fd Mon Sep 17 00:00:00 2001 From: Joseph Micheli Date: Tue, 5 Nov 2024 17:04:52 -0600 Subject: [PATCH 10/17] =?UTF-8?q?=F0=9F=8E=A8=20Misc=20server=20housekeepi?= =?UTF-8?q?ng=20(#499)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/server/src/errors.rs | 8 ++++- apps/server/src/routers/api/mod.rs | 51 ++++++++---------------------- 2 files changed, 20 insertions(+), 39 deletions(-) diff --git a/apps/server/src/errors.rs b/apps/server/src/errors.rs index 856673664..5513fbdcd 100644 --- a/apps/server/src/errors.rs +++ b/apps/server/src/errors.rs @@ -135,7 +135,7 @@ pub enum APIError { SessionFetchError(#[from] SessionError), #[error("{0}")] #[schema(value_type = String)] - PrismaError(#[from] QueryError), + PrismaError(#[from] Box), } impl APIError { @@ -289,6 +289,12 @@ impl From for APIError { } } +impl From for APIError { + fn from(error: prisma_client_rust::QueryError) -> Self { + Self::PrismaError(Box::new(error)) + } +} + /// The response body for API errors. This is just a basic JSON response with a status code and a message. /// Any axum handlers which return a [`Result`] with an Error of [`APIError`] will be converted into this response. pub struct APIErrorResponse { diff --git a/apps/server/src/routers/api/mod.rs b/apps/server/src/routers/api/mod.rs index b54b9a38e..b0e661b45 100644 --- a/apps/server/src/routers/api/mod.rs +++ b/apps/server/src/routers/api/mod.rs @@ -22,45 +22,20 @@ mod tests { use crate::{ config::jwt::CreatedToken, - filter::{ - LibraryBaseFilter, LibraryFilter, LibraryRelationFilter, LogFilter, - MediaBaseFilter, MediaFilter, MediaMetadataBaseFilter, MediaMetadataFilter, - MediaMetadataRelationFilter, Range, ReadStatus, SeriesBaseFilter, - SeriesFilter, SeriesMetadataFilter, SeriesQueryRelation, UserQueryRelation, - ValueOrRange, - }, + filter::*, routers::api::v1::{ - auth::{AuthenticationOptions, LoginOrRegisterArgs, LoginResponse}, - book_club::{ - BookClubInvitationAnswer, CreateBookClub, CreateBookClubInvitation, - CreateBookClubMember, CreateBookClubSchedule, CreateBookClubScheduleBook, - CreateBookClubScheduleBookOption, GetBookClubsParams, UpdateBookClub, - UpdateBookClubMember, - }, - config::UploadConfig, - emailer::{ - CreateOrUpdateEmailDevice, CreateOrUpdateEmailer, EmailerIncludeParams, - EmailerSendRecordIncludeParams, PatchEmailDevice, - SendAttachmentEmailResponse, SendAttachmentEmailsPayload, - }, - epub::{CreateOrUpdateBookmark, DeleteBookmark}, - job::UpdateSchedulerConfig, - library::{ - CleanLibraryResponse, CreateLibrary, GenerateLibraryThumbnails, - LibraryStatsParams, PatchLibraryThumbnail, UpdateLibrary, - UpdateLibraryExcludedUsers, - }, - media::{ - individual::{BookRelations, MediaIsComplete, PutMediaCompletionStatus}, - thumbnails::PatchMediaThumbnail, - }, - metadata::MediaMetadataOverview, - series::{PatchSeriesThumbnail, SeriesIsComplete}, - smart_list::{ - CreateOrUpdateSmartList, CreateOrUpdateSmartListView, - GetSmartListsParams, SmartListMeta, SmartListRelationOptions, - }, - user::{CreateUser, DeleteUser, UpdateUser, UpdateUserPreferences}, + auth::*, + book_club::*, + config::*, + emailer::*, + epub::*, + job::*, + library::*, + media::{individual::*, thumbnails::*}, + metadata::*, + series::*, + smart_list::*, + user::*, ClaimResponse, StumpVersion, UpdateCheck, }, }; From 52af5fbfddf44f4d4568c8afbc48b792be68311f Mon Sep 17 00:00:00 2001 From: Joseph Micheli Date: Wed, 6 Nov 2024 08:59:38 -0600 Subject: [PATCH 11/17] =?UTF-8?q?=F0=9F=93=9D=20Document=20upload=20functi?= =?UTF-8?q?onality=20(#498)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Aaron Leopold <36278431+aaronleopold@users.noreply.github.com> --- core/src/config/stump_config.rs | 2 +- docs/components/InlineIcon.tsx | 16 +++ docs/pages/faq.md | 4 +- docs/pages/guides/_meta.ts | 1 + .../access-control/age-restrictions.mdx | 8 +- docs/pages/guides/basics/books.md | 2 +- docs/pages/guides/basics/libraries.mdx | 2 +- docs/pages/guides/basics/series.mdx | 2 +- docs/pages/guides/basics/thumbnails.mdx | 6 +- .../guides/configuration/server-options.md | 36 ++++- docs/pages/guides/configuration/theming.md | 6 +- docs/pages/guides/index.md | 1 + docs/pages/guides/mobile/app.mdx | 4 +- docs/pages/guides/upload.mdx | 127 ++++++++++++++++++ docs/pages/installation/executable.mdx | 8 +- .../explorer/upload/UploadModal.tsx | 2 +- 16 files changed, 197 insertions(+), 30 deletions(-) create mode 100644 docs/components/InlineIcon.tsx create mode 100644 docs/pages/guides/upload.mdx diff --git a/core/src/config/stump_config.rs b/core/src/config/stump_config.rs index b5c7b4cf8..18f58e2ac 100644 --- a/core/src/config/stump_config.rs +++ b/core/src/config/stump_config.rs @@ -184,7 +184,7 @@ pub struct StumpConfig { #[env_key(ENABLE_UPLOAD_KEY)] pub enable_upload: bool, - /// The maximum file size, in bytes, of files that can be uploaded to be included in libraries. + /// The maximum size, in bytes, of files that can be uploaded to be included in libraries. #[default_value(DEFAULT_MAX_FILE_UPLOAD_SIZE)] #[env_key(MAX_FILE_UPLOAD_SIZE_KEY)] pub max_file_upload_size: usize, diff --git a/docs/components/InlineIcon.tsx b/docs/components/InlineIcon.tsx new file mode 100644 index 000000000..b0b7eed80 --- /dev/null +++ b/docs/components/InlineIcon.tsx @@ -0,0 +1,16 @@ +import React from 'react' + +interface InlineIconProps { + children: React.ReactNode + size?: number +} + +export default function InlineIcon(props: InlineIconProps) { + const size = props.size ? props.size : 16 + + return ( + + {React.cloneElement(props.children as React.ReactElement, { size })} + + ) +} diff --git a/docs/pages/faq.md b/docs/pages/faq.md index d4c82ed73..6161b32ac 100644 --- a/docs/pages/faq.md +++ b/docs/pages/faq.md @@ -21,9 +21,9 @@ There are some really solid, self-hostable, OPDS media servers out there. I star In general, Stump strives for the following: - Small footprint and low resource usage -- Efficiency and performance, even on less powerful hardware (e.g. Raspberry Pi) +- Efficiency and performance, even on less powerful hardware (e.g., Raspberry Pi) - Intuitive, pretty, and easy to use interface -- Wide format support (e.g. PDF, EPUB, CBZ/CBR) +- Wide format support (e.g., PDF, EPUB, CBZ/CBR) ## What's compatibility like? diff --git a/docs/pages/guides/_meta.ts b/docs/pages/guides/_meta.ts index 527b99666..69afb1239 100644 --- a/docs/pages/guides/_meta.ts +++ b/docs/pages/guides/_meta.ts @@ -16,4 +16,5 @@ export default { cli: 'CLI', desktop: 'Desktop App', mobile: 'Mobile App', + upload: 'Uploading Books', } satisfies Meta diff --git a/docs/pages/guides/access-control/age-restrictions.mdx b/docs/pages/guides/access-control/age-restrictions.mdx index 1ec90977d..6ecfc099f 100644 --- a/docs/pages/guides/access-control/age-restrictions.mdx +++ b/docs/pages/guides/access-control/age-restrictions.mdx @@ -28,10 +28,10 @@ The following source formats are supported: - `Teen` - `13` - `Mature` - `17` - `Explicit` - `18` -- `{number} and up` - A number followed by `and up`, maps to the number itself. E.g. `13 and up` maps to `13`. -- `{number}+` - A number followed by a `+`, maps to the number itself. E.g. `13+` maps to `13`. -- `{number}-{number}` - A range of numbers, maps to the first number in the range. E.g. `13-17` maps to `13`. -- `{number}` - Just a number, maps to the number itself. E.g. `13` maps to `13`. +- `{number} and up` - A number followed by `and up`, maps to the number itself. E.g., `13 and up` maps to `13`. +- `{number}+` - A number followed by a `+`, maps to the number itself. E.g., `13+` maps to `13`. +- `{number}-{number}` - A range of numbers, maps to the first number in the range. E.g., `13-17` maps to `13`. +- `{number}` - Just a number, maps to the number itself. E.g., `13` maps to `13`. ### Where does Stump get the age restrictions from? diff --git a/docs/pages/guides/basics/books.md b/docs/pages/guides/basics/books.md index 1f5dcb580..9c62b698d 100644 --- a/docs/pages/guides/basics/books.md +++ b/docs/pages/guides/basics/books.md @@ -41,7 +41,7 @@ You should ensure that your browser supports the format you plan to use. You can ## Metadata -Metadata is an associated set of information _about_ a book, such as its title, author, etc. Different formats have different ways of storing and representing metadata. Stump will attempt to extract as much metadata as possible from a given book, however it is not always possible. For example, PDF files do not generally have very good metadata support, and comic book files (e.g. CBZ/CBR) often times have very malformed metadata. +Metadata is an associated set of information _about_ a book, such as its title, author, etc. Different formats have different ways of storing and representing metadata. Stump will attempt to extract as much metadata as possible from a given book, however it is not always possible. For example, PDF files do not generally have very good metadata support, and comic book files (e.g., CBZ/CBR) often times have very malformed metadata. ### Sources per format diff --git a/docs/pages/guides/basics/libraries.mdx b/docs/pages/guides/basics/libraries.mdx index 55798619a..35ddecebe 100644 --- a/docs/pages/guides/basics/libraries.mdx +++ b/docs/pages/guides/basics/libraries.mdx @@ -336,7 +336,7 @@ TODO ## Deleting a Library -> Deleting a library will remove all of the series, books, and other entities associated with the books (e.g. read progress, reading lists, etc) contained within it. Your actual files will not be deleted, but they will no longer exist in Stump. +> Deleting a library will remove all of the series, books, and other entities associated with the books (e.g., read progress, reading lists, etc) contained within it. Your actual files will not be deleted, but they will no longer exist in Stump. > > **This action cannot be undone.** diff --git a/docs/pages/guides/basics/series.mdx b/docs/pages/guides/basics/series.mdx index 5ecc7a7ee..ddc37f85f 100644 --- a/docs/pages/guides/basics/series.mdx +++ b/docs/pages/guides/basics/series.mdx @@ -13,7 +13,7 @@ A lot of people tend to get mixed up with what a series is in Stump, especially are interested in, please let me know by thumbing up the issue. -A series is just a collection of items that are related to each other, typically in a linear fashion (e.g. a book series or a specific comic run). In Stump, a series is defined primarily by its location and structure within a library, since Stump does not _currently_ support metadata-only library construction. +A series is just a collection of items that are related to each other, typically in a linear fashion (e.g., a book series or a specific comic run). In Stump, a series is defined primarily by its location and structure within a library, since Stump does not _currently_ support metadata-only library construction. There are two supported library patterns today: diff --git a/docs/pages/guides/basics/thumbnails.mdx b/docs/pages/guides/basics/thumbnails.mdx index 06a8c878e..da3a0cee8 100644 --- a/docs/pages/guides/basics/thumbnails.mdx +++ b/docs/pages/guides/basics/thumbnails.mdx @@ -9,9 +9,9 @@ Stump uses thumbnails to display images of your media throughout the app. By def The generation of thumbnails is controlled by the configuration options for a library. These options include: - Explicitly sizing each thumbnail (height and width in pixels) -- Scaling both dimensions of each thumbnail by a factor (e.g. 0.5) -- The format to encode the thumbnail in (e.g. JPEG, PNG, WebP) -- The quality of the encoding (e.g. 0-1.0) +- Scaling both dimensions of each thumbnail by a factor (e.g., 0.5) +- The format to encode the thumbnail in (e.g., JPEG, PNG, WebP) +- The quality of the encoding (e.g., 0-1.0) Thumbnail generation is optional, and you can disable it entirely if you prefer to use the default image as a thumbnail. diff --git a/docs/pages/guides/configuration/server-options.md b/docs/pages/guides/configuration/server-options.md index 8bccdb889..f8801cf01 100644 --- a/docs/pages/guides/configuration/server-options.md +++ b/docs/pages/guides/configuration/server-options.md @@ -2,13 +2,13 @@ > Stump will use default options if you don't manually configure them. When following this guide, keep in mind you only need to provide values for things you wish to override. -Stump uses something called environment variables to set all of the various configuration properties. These environment variables are controlled has a custom TOML-based configuration, which is located by default at `$STUMP_CONFIG_DIR/Stump.toml`. `STUMP_CONFIG_DIR` itself is an environment variable that defaults to `.stump` your home directory, e.g. `/Users/oromei/.stump`. +Stump uses something called environment variables to set all of the various configuration properties. These environment variables are controlled has a custom TOML-based configuration, which is located by default at `$STUMP_CONFIG_DIR/Stump.toml`. `STUMP_CONFIG_DIR` itself is an environment variable that defaults to `.stump` your home directory, e.g., `/Users/oromei/.stump`. If you're using Stump with Docker, you'll want to specify environment variables in either the `docker run` or `docker-compose.yml` file to override the default configuration. See the [Docker](/installation/docker) guide for more information. ## Configuration Options -There are a number of configuration options that you can set to customize Stump's behavior. You will be setting these options in the `Stomp.toml` file, but you can also set them as environment variables. +There are a number of configuration options that you can set to customize Stump's behavior. You will be setting these options in the `Stump.toml` file, but you can also set them as environment variables. ### Environment Variables @@ -24,7 +24,7 @@ The version of the Stump API to use. This should really be left alone and **not* This corresponds to the `api_version` configuration option in the `Stump.toml` file. -### PDFIUM_PATH +#### PDFIUM_PATH The path to the PDFium binary. This is only required if you want PDF support and you're running Stump outside of Docker, since the PDFium binary is included in the Docker image. You'll want to find and download the PDFium binary for your platform from [here](https://github.com/bblanchon/pdfium-binaries/releases), and then set this environment variable to the path of the binary. @@ -32,7 +32,7 @@ The path to the PDFium binary. This is only required if you want PDF support and | ------ | ----------------------------- | | String | `/lib/libpdfium.so` in Docker | -### SESSION_EXPIRY_CLEANUP_INTERVAL +#### SESSION_EXPIRY_CLEANUP_INTERVAL The time (_in seconds_) between each session expiry cleanup check. The check will remove any expired sessions from the database. @@ -40,7 +40,7 @@ The time (_in seconds_) between each session expiry cleanup check. The check wil | ------- | ------------- | | Integer | `60` | -### SESSION_TTL +#### SESSION_TTL The time-to-live for session cookies. This is the amount of time that a session cookie will be valid for _in seconds_. The default value is `259200`, or 3 days. You can set this to a different value if you want sessions to expire sooner or later, depending on your needs. @@ -109,7 +109,7 @@ The available verbosity levels are: | `2` | `DEBUG`, `INFO`, `WARN`, `ERROR` | | `3` | `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR` | -### STUMP_MAX_SCANNER_CONCURRENCY +#### STUMP_MAX_SCANNER_CONCURRENCY The maximum number of files which may be processed concurrently by the scanner. This is useful for limiting the number of files that are processed at once, which can help prevent the server from becoming overwhelmed on systems with limited resources. @@ -119,7 +119,7 @@ The maximum number of files which may be processed concurrently by the scanner. | ------- | ------------- | | Integer | `200` | -### STUMP_MAX_THUMBNAIL_CONCURRENCY +#### STUMP_MAX_THUMBNAIL_CONCURRENCY The maximum number of images which may be generated concurrently by the thumbnailer. This is useful for limiting the number of thumbnails that are generated at once, which can help prevent the server from becoming overwhelmed on systems with limited resources. @@ -136,3 +136,25 @@ Whether or not to enable Swagger UI. To learn more about what Swagger UI is, vis | Type | Default Value | | ------- | ------------- | | Boolean | `true` | + +#### MAX_IMAGE_UPLOAD_SIZE + +The maximum size, in bytes, for images uploaded as thumbnails for users, libraries, series, or media. + +| Type | Default Value | +| ------- | ------------------ | +| Integer | `20971520` (20 MB) | + +#### ENABLE_UPLOAD + +| Type | Default Value | +| ------- | ------------- | +| Boolean | `false` | + +#### MAX_FILE_UPLOAD_SIZE + +The maximum allowed size, in bytes, of files uploaded via the upload interface. This configuration variable will have no effect unless `ENABLE_UPLOAD` is `true`. + +| Type | Default Value | +| ------- | ------------------ | +| Integer | `20971520` (20 MB) | diff --git a/docs/pages/guides/configuration/theming.md b/docs/pages/guides/configuration/theming.md index f12ade397..78c03672b 100644 --- a/docs/pages/guides/configuration/theming.md +++ b/docs/pages/guides/configuration/theming.md @@ -102,9 +102,9 @@ This will allow users to select the new font from the settings page. In the futu There are some restrictions for which fonts can be added: -- The font must be free to use and distribute (e.g. under the [SIL Open Font License](https://opensource.org/licenses/OFL-1.1))\* -- The font must be in a format that can be used on the web (e.g. WOFF2) -- The font must not add a significant amount of weight to the app (e.g. 1MB+) +- The font must be free to use and distribute (e.g., under the [SIL Open Font License](https://opensource.org/licenses/OFL-1.1))\* +- The font must be in a format that can be used on the web (e.g., WOFF2) +- The font must not add a significant amount of weight to the app (e.g., 1MB+) \* This is to ensure that the project remains in compliance with open-source standards and guidelines, and free to use for everyone. Stump is licensed under [MIT](https://opensource.org/licenses/MIT), so the font must be compatible with this license diff --git a/docs/pages/guides/index.md b/docs/pages/guides/index.md index c48049beb..2497aa573 100644 --- a/docs/pages/guides/index.md +++ b/docs/pages/guides/index.md @@ -11,6 +11,7 @@ This section contains various guides for using and configuring Stump. If you hav - [Smart Lists](/guides/smart-lists): The smart list guide for creating and managing smart lists - [Reading Lists](/guides/reading-lists): The reading list guide for creating and managing reading lists - [File Explorer](/guides/file-explorer): The library explorer guide for exploring and managing your libraries +- [Upload](/guides/upload): The upload guide for enabling users to upload books to your server - [OPDS](/guides/opds): The OPDS guide for using the OPDS features in Stump - [API](/guides/api): The API guide for using the Stump API - [CLI](/guides/cli): The CLI guide for using the Stump CLI diff --git a/docs/pages/guides/mobile/app.mdx b/docs/pages/guides/mobile/app.mdx index 7b99242bd..812fe21e8 100644 --- a/docs/pages/guides/mobile/app.mdx +++ b/docs/pages/guides/mobile/app.mdx @@ -17,8 +17,8 @@ The mobile app is being developed using [React Native](https://reactnative.dev/) The mobile app will be a bit more trimmed down in scope compared to the built in web app, but will aim to provide a more focused experience that is particularly tailored to on-the-go, mobile use cases. Here are some of the planned features: - Multi-server configurations, in case you have multiple Stump instances to swap between -- OPDS support, so you can use the app with other OPDS-compatible services (e.g. [Kavita](https://wiki.kavitareader.com/)) -- Readers for the supported book formats (e.g. CBZ/CBR, EPUB, PDF, etc.) +- OPDS support, so you can use the app with other OPDS-compatible services (e.g., [Kavita](https://wiki.kavitareader.com/)) +- Readers for the supported book formats (e.g., CBZ/CBR, EPUB, PDF, etc.) - Offline reading support so you don't need an active connection to your Stump/OPDS instance(s) ## Contributing diff --git a/docs/pages/guides/upload.mdx b/docs/pages/guides/upload.mdx new file mode 100644 index 000000000..87aa27134 --- /dev/null +++ b/docs/pages/guides/upload.mdx @@ -0,0 +1,127 @@ +import { Steps, Callout } from 'nextra/components' +import { BookPlus, FolderPlus, Upload } from 'lucide-react' +import InlineIcon from '../../components/InlineIcon' + +# Uploading Books + +Stump has an opt-in feature that allows your users to upload books to your server. + + + This functionality allows files to be uploaded to your server, so it should be used with caution. + This feature must be manually enabled by the server owner by setting the `enable_upload` + configuration variable to `true`. + + +## Enabling upload + +Uploading is **disabled by default**, and is gated behind the `enable_upload` configuration variable (`true` enables uploading). This variable can be set by modifying your `Stump.toml` file to set `enable_upload = true` or by setting the environment variable `STUMP_ENABLE_UPLOAD=true`. + +When uploading is not enabled, the routes for uploading **will not be attached to your server** and, consequently, the web UI **will not show the upload interface**. Attempting to upload directly through the API will result in HTTP Error 404. + +### Permissions + +Only users with permission to upload are allowed to add files to the server. Users will need the following permissions: + +- `file:upload` +- `manage:library` + +The server owner can assign these permissions to users on the user management settings page. For more information on that process, see the [user permissions](/guides/access-control/permissions) guide. + +### Configuration + +The server limits the maximum upload size based on your configuration, you can change `max_file_upload_size` in `Stump.toml` or the `STUMP_MAX_FILE_UPLOAD_SIZE` environment variable to set the maximum allowed upload size **in bytes**. + +## How it works + +This feature allows users to upload books or an entire collection of files and directories via series upload. To use it, navigate to the "Files" menu for a library and click the icon to open the upload dropdown. Select "Add books" to upload one or more book files. Select "Add series" to upload a single `.zip` archive containing the content you wish to upload. + +After an upload finishes, a library scan will automatically be started to add the newly uploaded books. + +### Uploading books + +This menu is accessed from " Add books" in the upload dropdown. It allows users to upload one or more book files (e.g., `.cbz`, `.cbr`, `.epub`, and `.pdf` files) to a specific library directory. + + + +

Add books

+ +Drag and drop one or more book files into the drop zone or click the drop zone to browse to the files you want to add. + +

Review the books you want to add

+ +Review the list of books you have chosen to add in the "Added files" list below the dropzone. + +If you added a file that you do not want to upload, you can remove it by clicking on "Remove" to the right of the file info. + +

Click "Upload" to begin the upload!

+ +Clicking "Upload" starts your upload. Watch the corner of the screen for a toast confirming that your upload was successful. + +
+ +### Uploading series + +This menu is accessed from " Add series" in the upload dropdown. It allows users to upload a `.zip` file containing multiple books, images, or metadata in an arbitrary directory structure. The archive will be extracted to the location specified when uploading. + + + +

Add a zip file

+ +Drag and drop one `.zip` file onto the drop zone or click the drop zone to browse to the zip archive you want to add. + +

Enter a name for the series

+ +Enter a name for the series below the drop zone. This is the name of the directory to which your zip archive will be unpacked. + +

Confirm the zip file you want to add

+ +Confirm that you added the right file in the "Added files" list below the "Series name" field. + +If you added a file that you do not want to upload, you can remove it by clicking on "Remove" to the right of the file info and select a new file. + +

Click "Upload" to begin the upload!

+ +Clicking "Upload" starts your upload. Watch the corner of the screen for a toast confirming that your upload was successful. + +
+ +## Troubleshooting + +This section provides explanations for possible errors you may encounter when uploading files. + +### 400 Bad request + +A bad request error will be returned if the request includes disallowed files or attempts to access a path outside the library for which the upload is intended. + +### 401 Unauthorized + +This error indicates that the user attempting to upload files does not have the required `file:upload` or `manage:library` permissions. + +### 404 Not found + +This error may indicate that uploading has not been enabled for your server. Double check that you have `enable_upload = true` in your `Stump.toml` or `STUMP_ENABLE_UPLOAD = true` set in your environment. + +### 413 Payload too large + +The uploaded files exceeded your configured maximum upload size. Consider increasing the value of `max_file_upload_size` in `Stump.toml` or changing the value of the `STUMP_MAX_FILE_UPLOAD_SIZE` environment variable. + +## Security considerations + +Stump attempts to validate uploads in order to protect the host system from misuse of upload functionality, but it should be used with care. The following section describes the validation Stump applies to incoming upload requests. + +### Validations + +- File type: Only certain file types are permitted in uploads. + - Books: Only `.cbr`, `.cbz`, `.epub`, and `.pdf` files are allowed. + - Series: Only `.zip` archives can be uploaded. + - The contents of the archive must also be limited to: `.cbr`, `.cbz`, `.epub`, `.pdf`, `.xml`, `.json` and image file types. +- Content-Type: The server attempts to validate content-type of uploads to reject anything not matching the files above. +- Path validation: The server will not allow uploads outside the library for which they are intended, and special path components like `..` will be rejected entirely. +- Overwrite protection: An upload cannot overwrite an existing file. + +It may be possible to construct input that circumvents this validation. Server owners are encouraged to only enable this functionality if they need it and to only allow trusted users permission to upload files. + + + If you have any questions or encounter issues, please open an + [issue](https://github.com/stumpapp/stump/issues/new/choose) on GitHub. + diff --git a/docs/pages/installation/executable.mdx b/docs/pages/installation/executable.mdx index 024229827..7ac252990 100644 --- a/docs/pages/installation/executable.mdx +++ b/docs/pages/installation/executable.mdx @@ -40,7 +40,7 @@ unzip ~/Downloads/stump--macos-arm.zip -d ~ Open a terminal and navigate to the folder containing the `stump` binary. Run the following command to make the binary executable: ```sh -# Navigate to the folder containing the stump binary, e.g. ~/Stump +# Navigate to the folder containing the stump binary, e.g., ~/Stump sudo chmod +x stump_server ``` @@ -49,7 +49,7 @@ sudo chmod +x stump_server You can now run the `stump` binary from the terminal: ```bash -# Navigate to the folder containing the stump binary, e.g. ~/Stump, or be sure to include the full path to the binary +# Navigate to the folder containing the stump binary, e.g., ~/Stump, or be sure to include the full path to the binary ./stump_server ``` @@ -84,7 +84,7 @@ unzip ~/Downloads/stump--linux.zip -d ~ Open a terminal and navigate to the folder containing the `stump` binary. Run the following command to make the binary executable: ```bash -# Navigate to the folder containing the stump binary, e.g. ~/Stump +# Navigate to the folder containing the stump binary, e.g., ~/Stump sudo chmod +x stump_server ``` @@ -93,7 +93,7 @@ sudo chmod +x stump_server You can now run the `stump` binary from the terminal: ```bash -# Navigate to the folder containing the stump binary, e.g. ~/Stump, or be sure to include the full path to the binary +# Navigate to the folder containing the stump binary, e.g., ~/Stump, or be sure to include the full path to the binary ./stump_server ``` diff --git a/packages/browser/src/components/explorer/upload/UploadModal.tsx b/packages/browser/src/components/explorer/upload/UploadModal.tsx index 7ab773136..865650864 100644 --- a/packages/browser/src/components/explorer/upload/UploadModal.tsx +++ b/packages/browser/src/components/explorer/upload/UploadModal.tsx @@ -252,7 +252,7 @@ export default function UploadModal() { {/* Conditionally render the series name input */} {uploadType === 'series' && (
- Series Name + Series name This will be used as the name of the series directory. Your zip archive will be unpacked here. From 9bd36255f7dc0fce89f395e6615d2838ea89adc1 Mon Sep 17 00:00:00 2001 From: Juan Xavier Gomez Date: Thu, 7 Nov 2024 14:15:45 -0500 Subject: [PATCH 12/17] =?UTF-8?q?=F0=9F=90=9B=20Fix=20popover=20and=20drop?= =?UTF-8?q?down=20on=20mobile=20sidebar=20(#501)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🐛 Fix popover and dropdown on mobile * 🐛 Fix misc UI issues only at 768px --- packages/browser/src/components/UserMenu.tsx | 2 +- .../browser/src/components/navigation/sidebar/SideBar.tsx | 7 ++++--- .../sidebar/sections/library/LibraryOptionsMenu.tsx | 1 + .../scenes/library/tabs/settings/LibrarySettingsHeader.tsx | 6 ++++-- packages/components/src/dropdown/DropdownMenu.tsx | 4 +++- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/browser/src/components/UserMenu.tsx b/packages/browser/src/components/UserMenu.tsx index 278f95930..12427055c 100644 --- a/packages/browser/src/components/UserMenu.tsx +++ b/packages/browser/src/components/UserMenu.tsx @@ -24,7 +24,7 @@ export default function UserMenu({ variant = 'sidebar' }: Props) { return ( {({ width }) => ( - +
) } diff --git a/packages/browser/src/paths.ts b/packages/browser/src/paths.ts index 70d050935..00875ac87 100644 --- a/packages/browser/src/paths.ts +++ b/packages/browser/src/paths.ts @@ -19,7 +19,7 @@ type SettingsPage = | 'server/email' | 'server/email/new' | 'server/notifications' -type DocTopic = 'access-control' | 'book-club' +type DocTopic = 'access-control' | 'features/book-clubs' type BookClubTab = 'overview' | 'members' | 'discussion' | 'settings' const paths = { diff --git a/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx b/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx index a8e7f5afb..d37751d1d 100644 --- a/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx +++ b/packages/browser/src/scenes/bookClub/tabs/settings/BookClubSettingsSideBar.tsx @@ -1,4 +1,4 @@ -import { ButtonOrLink, cn, IconButton, Label } from '@stump/components' +import { Button, ButtonOrLink, cn, Label } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ArrowLeft, Home } from 'lucide-react' import { useLocation, useNavigate } from 'react-router' @@ -86,14 +86,15 @@ export default function BookClubSettingsSideBar() { {enable_replace_primary_sidebar && (
- navigate(paths.home())} > - +
)}
diff --git a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx index 4a06ed15f..c6f0968f4 100644 --- a/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/LibrarySettingsRouter.tsx @@ -1,4 +1,4 @@ -import { useUpdateLibrary } from '@stump/client' +import { queryClient, useSDK, useUpdateLibrary } from '@stump/client' import { UpdateLibrary } from '@stump/sdk' import { lazy, Suspense, useCallback } from 'react' import { Navigate, Route, Routes } from 'react-router' @@ -18,9 +18,12 @@ const DeletionScene = lazy(() => import('./danger/deletion')) // Note: library:manage permission is enforced in the parent router export default function LibrarySettingsRouter() { const { library } = useLibraryContext() - + const { sdk } = useSDK() const { editLibrary } = useUpdateLibrary({ id: library.id, + onSuccess: async ({ id }) => { + await queryClient.refetchQueries([sdk.library.keys.getByID, id], { exact: false }) + }, }) // TODO: This is particularly fallible. It would be a lot wiser to eventually just.. y'know, literally diff --git a/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx b/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx index 63177d0a8..98f525a15 100644 --- a/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx +++ b/packages/browser/src/scenes/library/tabs/settings/options/ScannerFeaturesPatchForm.tsx @@ -27,12 +27,17 @@ export default function ScannerFeaturesPatchForm() { ({ process_metadata, generate_file_hashes, - }: Pick) => { + generate_koreader_hashes, + }: Pick< + CreateOrUpdateLibrarySchema, + 'process_metadata' | 'generate_file_hashes' | 'generate_koreader_hashes' + >) => { patch({ config: { ...library.config, generate_file_hashes, process_metadata, + generate_koreader_hashes, }, scan_mode: 'NONE', }) diff --git a/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx b/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx index 024a4d968..418be90ae 100644 --- a/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx +++ b/packages/browser/src/scenes/settings/app/AppSettingsRouter.tsx @@ -1,21 +1,27 @@ import { lazy } from 'react' import { Navigate, Route, Routes } from 'react-router' +import { useAppContext } from '@/context' import { useAppStore } from '@/stores' const GeneralSettingsScene = lazy(() => import('./general/GeneralSettingsScene.tsx')) const AppearanceSettingsScene = lazy(() => import('./appearance/AppearanceSettingsScene.tsx')) const ReaderDefaultSettingsScene = lazy(() => import('./reader/ReaderDefaultSettingsScene.tsx')) const DesktopSettingsScene = lazy(() => import('./desktop')) +const APIKeySettingsScene = lazy(() => import('./apiKeys')) export default function AppSettingsRouter() { + const { checkPermission } = useAppContext() + const isDesktop = useAppStore((store) => store.platform !== 'browser') + const apiKeys = checkPermission('feature:api_keys') return ( } /> } /> } /> + {apiKeys && } />} {isDesktop && } />} } /> diff --git a/packages/browser/src/scenes/settings/app/apiKeys/APIKeyActionMenu.tsx b/packages/browser/src/scenes/settings/app/apiKeys/APIKeyActionMenu.tsx new file mode 100644 index 000000000..c9758f0de --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/APIKeyActionMenu.tsx @@ -0,0 +1,37 @@ +import { Button, Dropdown } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { Ellipsis } from 'lucide-react' + +type Props = { + onSelectForDelete: () => void + onSelectForInspect: () => void +} + +export default function APIKeyActionMenu({ onSelectForDelete, onSelectForInspect }: Props) { + const { t } = useLocaleContext() + + return ( + + + + + + + + + {t(getKey('inspect'))} + + + + {t(getKey('delete'))} + + + + + ) +} + +const LOCALE_BASE = 'settingsScene.app/apiKeys.sections.table.actionMenu' +const getKey = (key: string) => `${LOCALE_BASE}.${key}` diff --git a/packages/browser/src/scenes/settings/app/apiKeys/APIKeyInspector.tsx b/packages/browser/src/scenes/settings/app/apiKeys/APIKeyInspector.tsx new file mode 100644 index 000000000..f0d9ef5ee --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/APIKeyInspector.tsx @@ -0,0 +1,119 @@ +import { Badge, Label, Sheet, Text } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { APIKey } from '@stump/sdk' +import dayjs from 'dayjs' +import { KeyRound, Sparkles } from 'lucide-react' + +import { useAppContext } from '@/context' +import { useCurrentOrPrevious } from '@/hooks/useCurrentOrPrevious' + +type Props = { + apiKey: APIKey | null + onClose: () => void +} + +export default function APIKeyInspector({ apiKey, onClose }: Props) { + const { t } = useLocaleContext() + const { user } = useAppContext() + + const displayedData = useCurrentOrPrevious(apiKey) + + const expiration = dayjs(displayedData?.expires_at) + const lastUsedAt = dayjs(displayedData?.last_used_at) + const createdAt = dayjs(displayedData?.created_at) + const isAllPermissions = user.is_server_owner && displayedData?.permissions === 'inherit' + + const renderPermissions = () => { + if (isAllPermissions) { + return ( +
+
+ + {t(getKey('unrestrictedKey.heading'))} +
+
+ + {t(getKey('unrestrictedKey.description'))} + +
+
+ ) + } + + const permissions = + displayedData?.permissions === 'inherit' ? user.permissions : displayedData?.permissions || [] + + return ( +
+
+ + {t(getSharedKey('fields.permissions'))} +
+
+
+ {permissions.map((perm) => ( + + {perm} + + ))} +
+
+
+ ) + } + + return ( + +
+
+ + {displayedData?.name} +
+ + {renderPermissions()} + +
+ + + {expiration.isValid() ? expiration.format('LLL') : t('common.never')} + +
+ +
+ + + {lastUsedAt.isValid() ? lastUsedAt.format('LLL') : t('common.never')} + +
+ + {createdAt.isValid() && ( +
+ + {createdAt.format('LLL')} +
+ )} +
+
+ ) +} + +const LOCALE_BASE = 'settingsScene.app/apiKeys.sections.inspector' +const getKey = (key: string) => `${LOCALE_BASE}.${key}` +const getSharedKey = (key: string) => `settingsScene.app/apiKeys.shared.${key}` diff --git a/packages/browser/src/scenes/settings/app/apiKeys/APIKeySettingsScene.tsx b/packages/browser/src/scenes/settings/app/apiKeys/APIKeySettingsScene.tsx new file mode 100644 index 000000000..9ba6d92d8 --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/APIKeySettingsScene.tsx @@ -0,0 +1,38 @@ +import { Heading, Text } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { Suspense } from 'react' + +import { ContentContainer, SceneContainer } from '@/components/container' + +import APIKeyTable from './APIKeyTable' +import CreateAPIKeyModal from './CreateAPIKeyModal' + +export default function APIKeySettingsScene() { + const { t } = useLocaleContext() + + return ( + + +
+
+
+ {t(getKey('title'))} + + {t(getKey('description'))} + +
+ + +
+ + + + +
+
+
+ ) +} + +const LOCALE_BASE = 'settingsScene.app/apiKeys.sections.table' +const getKey = (key: string) => `${LOCALE_BASE}.${key}` diff --git a/packages/browser/src/scenes/settings/app/apiKeys/APIKeyTable.tsx b/packages/browser/src/scenes/settings/app/apiKeys/APIKeyTable.tsx new file mode 100644 index 000000000..31c1e2a10 --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/APIKeyTable.tsx @@ -0,0 +1,225 @@ +import { useQuery, useSDK } from '@stump/client' +import { Badge, Card, cn, Text } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { APIKey } from '@stump/sdk' +import { + createColumnHelper, + flexRender, + getCoreRowModel, + useReactTable, +} from '@tanstack/react-table' +import dayjs from 'dayjs' +import relativeTime from 'dayjs/plugin/relativeTime' +import { KeyRound, Slash } from 'lucide-react' +import { useMemo, useState } from 'react' + +import { getCommonPinningStyles } from '@/components/table/Table' + +import APIKeyActionMenu from './APIKeyActionMenu' +import APIKeyInspector from './APIKeyInspector' +import DeleteAPIKeyConfirmModal from './DeleteAPIKeyConfirmModal' + +dayjs.extend(relativeTime) + +export default function APIKeyTable() { + const { sdk } = useSDK() + const { data: apiKeys } = useQuery([sdk.apiKey.keys.get], () => sdk.apiKey.get(), { + suspense: true, + }) + const { t } = useLocaleContext() + + const [deletingKey, setDeletingKey] = useState(null) + const [inspectingKey, setInspectingKey] = useState(null) + + const columns = useMemo( + () => [ + columnHelper.accessor('name', { + header: () => ( + + {t(getFieldKey('name'))} + + ), + cell: ({ getValue }) => {getValue()}, + }), + columnHelper.display({ + id: 'permission_count', + header: () => ( + + {t(getFieldKey('permissions'))} + + ), + cell: ({ + row: { + original: { permissions }, + }, + }) => ( +
+ + {t(getFieldKey(permissions === 'inherit' ? 'inherited' : 'explicit'))} + {permissions !== 'inherit' && ( + + {permissions.length} + + )} + +
+ ), + }), + columnHelper.accessor('last_used_at', { + header: () => ( + + {t(getFieldKey('last_used'))} + + ), + cell: ({ getValue }) => { + const parsed = dayjs(getValue()) + return ( + + {parsed.isValid() ? parsed.fromNow() : t('common.never')} + + ) + }, + }), + columnHelper.accessor('expires_at', { + header: () => ( + + {t(getFieldKey('expiration'))} + + ), + cell: ({ getValue }) => { + const parsed = dayjs(getValue()) + return ( + + {parsed.isValid() ? parsed.format('LL') : 'Never'} + + ) + }, + }), + columnHelper.display({ + id: 'actions', + header: () => null, + cell: ({ row: { original: apiKey } }) => ( +
+ setDeletingKey(apiKey)} + onSelectForInspect={() => setInspectingKey(apiKey)} + /> +
+ ), + size: 20, + }), + ], + [t], + ) + + const table = useReactTable({ + columns, + data: apiKeys || [], + getCoreRowModel: getCoreRowModel(), + state: { + columnPinning: { right: ['actions'] }, + }, + }) + const { rows } = table.getRowModel() + + if (!apiKeys?.length) { + return ( + +
+
+ + + + +
+ +
+ {t(getKey('empty.title'))} + + {t(getKey('empty.action'))} + +
+
+
+ ) + } + + return ( + <> + setInspectingKey(null)} /> + setDeletingKey(null)} /> + + + + + + {table.getFlatHeaders().map((header) => { + return ( + + ) + })} + + + + + {rows.map((row) => ( + + {row.getVisibleCells().map((cell) => ( + + ))} + + ))} + +
+
+ {flexRender(header.column.columnDef.header, header.getContext())} +
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
+
+ + ) +} + +const columnHelper = createColumnHelper() + +const LOCALE_BASE = 'settingsScene.app/apiKeys' +const getFieldKey = (key: string) => `${LOCALE_BASE}.shared.fields.${key}` +const getKey = (key: string) => `${LOCALE_BASE}.sections.table.${key}` diff --git a/packages/browser/src/scenes/settings/app/apiKeys/CreateAPIKeyModal.tsx b/packages/browser/src/scenes/settings/app/apiKeys/CreateAPIKeyModal.tsx new file mode 100644 index 000000000..8c779feca --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/CreateAPIKeyModal.tsx @@ -0,0 +1,131 @@ +import { queryClient, useMutation, useSDK } from '@stump/client' +import { Button, Dialog, Text, useCopyToClipboard } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { CreateOrUpdateAPIKey } from '@stump/sdk' +import { Copy, CopyCheck, Eye, EyeOff, KeyRound } from 'lucide-react' +import { useCallback, useEffect, useMemo, useState } from 'react' + +import CreateOrUpdateAPIKeyForm, { + CREATE_OR_UPDATE_API_KEY_FORM_ID, + CreateOrUpdateAPIKeyFormValues, +} from './CreateOrUpdateAPIKeyForm' + +export default function CreateAPIKeyModal() { + const [isOpen, setIsOpen] = useState(false) + + const { t } = useLocaleContext() + const { sdk } = useSDK() + const { mutateAsync: createKey, isLoading: isCreating } = useMutation( + [sdk.apiKey.keys.create], + (payload: CreateOrUpdateAPIKey) => sdk.apiKey.create(payload), + { + onSuccess: () => queryClient.invalidateQueries([sdk.apiKey.keys.get], { exact: false }), + }, + ) + const [apiSecret, setApiSecret] = useState(null) + + const [hideSecret, setHideSecret] = useState(true) + + const [copy, didCopy] = useCopyToClipboard(apiSecret || '') + + const maskedSecret = useMemo( + () => `stump_${apiSecret?.split('stump_').at(-1)?.replace(/./g, '*')}`, + [apiSecret], + ) + + const handleCreate = useCallback( + async ({ name, expires_at, ...permissions }: CreateOrUpdateAPIKeyFormValues) => { + const payload: CreateOrUpdateAPIKey = { + name, + expires_at: expires_at?.toISOString(), + permissions: permissions.inherit ? 'inherit' : permissions.explicit_permissions, + } + const { api_key } = await createKey(payload) + setApiSecret(api_key) + }, + [createKey], + ) + + useEffect(() => { + if (!isOpen) { + const timeout = setTimeout(() => { + setApiSecret(null) + setHideSecret(true) + }) + return () => clearTimeout(timeout) + } + }, [isOpen]) + + const VisibilityIcon = hideSecret ? Eye : EyeOff + const CopyIcon = didCopy ? CopyCheck : Copy + + return ( + + + + + + + + {t(getKey(`heading.${apiSecret ? 'created' : 'creating'}`))} + + {t(getKey(`description.${apiSecret ? 'created' : 'creating'}`))} + + + + {apiSecret && ( +
+
+
+ + + {t(getKey('createdKey'))} + +
+ +
+ + +
+
+ +
+ + {hideSecret ? maskedSecret : apiSecret} + +
+
+ )} + {!apiSecret && } + + + {!apiSecret && ( + + )} + + + +
+
+ ) +} + +const LOCALE_BASE = 'settingsScene.app/apiKeys.sections.createKey.modal' +const getKey = (key: string) => `${LOCALE_BASE}.${key}` diff --git a/packages/browser/src/scenes/settings/app/apiKeys/CreateOrUpdateAPIKeyForm.tsx b/packages/browser/src/scenes/settings/app/apiKeys/CreateOrUpdateAPIKeyForm.tsx new file mode 100644 index 000000000..1af522ed9 --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/CreateOrUpdateAPIKeyForm.tsx @@ -0,0 +1,143 @@ +import { zodResolver } from '@hookform/resolvers/zod' +import { Alert, ComboBox, DatePicker, Form, Input, RadioGroup } from '@stump/components' +import { useLocaleContext } from '@stump/i18n' +import { allPermissions, APIKey, isUserPermission } from '@stump/sdk' +import dayjs from 'dayjs' +import { useCallback } from 'react' +import { useForm, useFormState } from 'react-hook-form' +import { z } from 'zod' + +import { useAppContext } from '@/context' + +import { userPermissionSchema } from '../../server/users/create-or-update/schema' + +export const CREATE_OR_UPDATE_API_KEY_FORM_ID = 'create-or-update-api-key-form' + +type Props = { + editingKey?: APIKey + onSubmit: (values: CreateOrUpdateAPIKeyFormValues) => void +} + +const formDefaults = (key?: APIKey) => + ({ + name: key?.name || '', + inherit: key?.permissions === 'inherit', + explicit_permissions: key?.permissions === 'inherit' ? [] : key?.permissions || [], + expires_at: key?.expires_at ? new Date(key.expires_at) : undefined, + }) satisfies CreateOrUpdateAPIKeyFormValues + +export default function CreateOrUpdateAPIKeyForm({ onSubmit, editingKey }: Props) { + const { t } = useLocaleContext() + const { checkPermission } = useAppContext() + + const form = useForm({ + defaultValues: formDefaults(editingKey), + resolver: zodResolver(createSchema(t)), + }) + const { errors } = useFormState({ control: form.control }) + + const [inherit, permissions, expiresAt] = form.watch([ + 'inherit', + 'explicit_permissions', + 'expires_at', + ]) + + const handleDateChange = useCallback( + (date?: Date) => { + if (date) { + const adjusted = dayjs(date).endOf('day').toDate() + form.setValue('expires_at', adjusted) + } else { + form.setValue('expires_at', undefined) + } + }, + [form], + ) + + const validPermissions = allPermissions.filter(checkPermission) + + return ( +
+ + + form.setValue('inherit', value === 'inherit')} + > + + {inherit && ( +
+ + {t(getKey('inheritDisclaimer'))} + +
+ )} +
+ + + {!inherit && ( +
+ ({ + value: permission, + label: permission, + }))} + value={permissions} + // TODO: typecheck values + onChange={(value) => + form.setValue('explicit_permissions', value?.filter(isUserPermission) || []) + } + isMultiSelect + disabled={inherit} + /> +
+ )} +
+
+ + + + ) +} + +export const createSchema = (t: (key: string) => string) => + z.object({ + name: z.string().min(1), + inherit: z.boolean(), + explicit_permissions: z.array(userPermissionSchema), + expires_at: z + .date() + .optional() + .refine((value) => value == undefined || value > new Date(), { + message: t(getKey('validation.futureDate')), + }), + }) + +export type CreateOrUpdateAPIKeyFormValues = z.infer> + +const LOCALE_BASE = 'createOrUpdateApiKey' +const getKey = (key: string) => `${LOCALE_BASE}.${key}` +const getFieldKey = (key: string) => `${LOCALE_BASE}.fields.${key}` diff --git a/packages/browser/src/scenes/settings/app/apiKeys/DeleteAPIKeyConfirmModal.tsx b/packages/browser/src/scenes/settings/app/apiKeys/DeleteAPIKeyConfirmModal.tsx new file mode 100644 index 000000000..81f6c1a4f --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/DeleteAPIKeyConfirmModal.tsx @@ -0,0 +1,43 @@ +import { queryClient, useMutation, useSDK } from '@stump/client' +import { ConfirmationModal } from '@stump/components' +import { APIKey } from '@stump/sdk' +import { useCallback } from 'react' + +type Props = { + apiKey: APIKey | null + onClose: () => void +} + +export default function DeleteAPIKeyConfirmModal({ apiKey, onClose }: Props) { + const { sdk } = useSDK() + const { mutate: deleteKey, isLoading: isDeleting } = useMutation( + [sdk.apiKey.keys.delete], + (id: number) => sdk.apiKey.delete(id), + { + onSuccess: async () => { + await queryClient.invalidateQueries([sdk.apiKey.keys.get], { exact: false }) + onClose() + }, + }, + ) + + const handleConfirm = useCallback(() => { + if (apiKey) { + deleteKey(apiKey.id) + } + }, [apiKey, deleteKey]) + + return ( + + ) +} diff --git a/packages/browser/src/scenes/settings/app/apiKeys/__tests__/APIKeyInspector.test.tsx b/packages/browser/src/scenes/settings/app/apiKeys/__tests__/APIKeyInspector.test.tsx new file mode 100644 index 000000000..afb6da6f0 --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/__tests__/APIKeyInspector.test.tsx @@ -0,0 +1,83 @@ +import { useLocaleContext } from '@stump/i18n' +import { APIKey, User } from '@stump/sdk' +import { render, screen } from '@testing-library/react' +import { MemoryRouter } from 'react-router' + +import { useAppContext } from '@/context' + +import APIKeyInspector from '../APIKeyInspector' + +jest.mock('@/context', () => ({ + useAppContext: jest.fn(), +})) +const useAppContextRet = { + user: { + id: 'user-id', + is_server_owner: false, + permissions: ['feature:api_keys'], + } as User, +} as any + +jest.mock('@stump/i18n', () => ({ + useLocaleContext: jest.fn(), +})) +const translate = jest.fn().mockImplementation((key: string) => key) + +const createKey = (overrides: Partial = {}): APIKey => ({ + id: 1, + name: 'key-name', + permissions: [], + created_at: '2021-01-01', + expires_at: null, + last_used_at: null, + ...overrides, +}) + +const Subject = (apiKey: APIKey | null) => { + return ( + + + + ) +} + +describe('APIKeyInspector', () => { + beforeEach(() => { + jest.clearAllMocks() + jest.mocked(useAppContext).mockReturnValue(useAppContextRet) + jest.mocked(useLocaleContext).mockReturnValue({ t: translate } as any) + }) + + it('should render a key with explicit permissions properly', () => { + render(Subject(createKey({ permissions: ['feature:api_keys', 'bookclub:create'] }))) + + expect(screen.getByTestId('permissions-meta')).toBeInTheDocument() + expect(translate).toHaveBeenCalledWith(expect.stringContaining('fields.permissions')) + expect(screen.getAllByTestId('permission-badge')).toHaveLength(2) + }) + + it('should render an implicit key properly', () => { + jest.mocked(useAppContext).mockReturnValue({ + ...useAppContextRet, + user: { ...useAppContextRet.user, permissions: ['feature:api_keys', 'bookclub:create'] }, + }) + + render(Subject(createKey({ permissions: 'inherit' }))) + + expect(screen.getByTestId('permissions-meta')).toBeInTheDocument() + expect(translate).toHaveBeenCalledWith(expect.stringContaining('fields.permissions')) + expect(screen.getAllByTestId('permission-badge')).toHaveLength(2) + }) + + it('should render an unrestricted key properly', () => { + jest.mocked(useAppContext).mockReturnValue({ + ...useAppContextRet, + user: { ...useAppContextRet.user, is_server_owner: true }, + }) + render(Subject(createKey({ permissions: 'inherit' }))) + + expect(screen.getByTestId('unrestricted-meta')).toBeInTheDocument() + expect(translate).toHaveBeenCalledWith(expect.stringContaining('unrestrictedKey.heading')) + expect(translate).toHaveBeenCalledWith(expect.stringContaining('unrestrictedKey.description')) + }) +}) diff --git a/packages/browser/src/scenes/settings/app/apiKeys/__tests__/CreateOrUpdateAPIKeyForm.test.tsx b/packages/browser/src/scenes/settings/app/apiKeys/__tests__/CreateOrUpdateAPIKeyForm.test.tsx new file mode 100644 index 000000000..b9418699b --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/__tests__/CreateOrUpdateAPIKeyForm.test.tsx @@ -0,0 +1,85 @@ +import { useLocaleContext } from '@stump/i18n' +import { UserPermission } from '@stump/sdk' +import dayjs from 'dayjs' + +import { useAppContext } from '@/context' + +import { CreateOrUpdateAPIKeyFormValues, createSchema } from '../CreateOrUpdateAPIKeyForm' + +jest.mock('@/context', () => ({ + useAppContext: jest.fn(), +})) +const useAppContextRet = { + checkPermission: jest.fn(), +} as any + +jest.mock('@stump/i18n', () => ({ + useLocaleContext: jest.fn(), +})) +const translate = jest.fn().mockImplementation((key: string) => key) + +describe('CreateOrUpdateAPIKeyForm', () => { + beforeEach(() => { + jest.clearAllMocks() + + jest.mocked(useAppContext).mockReturnValue(useAppContextRet) + jest.mocked(useLocaleContext).mockReturnValue({ t: translate } as any) + }) + + describe('schema', () => { + const getSchema = () => createSchema(translate) + const validBase: CreateOrUpdateAPIKeyFormValues = { + explicit_permissions: [], + inherit: false, + name: 'test', + } + + it('should successfully validate a valid object', () => { + const schema = createSchema(translate) + expect(schema.safeParse(validBase).success).toBe(true) + expect( + schema.safeParse({ + ...validBase, + expires_at: dayjs().add(1, 'day').toDate(), + }).success, + ).toBe(true) + }) + + it('should enforce a name with a minimum length of 1', () => { + expect(getSchema().safeParse({ ...validBase, name: '' }).success).toBe(false) + }) + + it('should enforce a permissions is a valid user permission', () => { + const schema = createSchema(translate) + expect( + schema.safeParse({ + ...validBase, + explicit_permissions: ['invalid-permission'], + }).success, + ).toBe(false) + // Valid + expect( + schema.safeParse({ + ...validBase, + explicit_permissions: ['feature:api_keys' satisfies UserPermission], + }).success, + ).toBe(true) + }) + + it('should enforce a future expiration date', () => { + const schema = createSchema(translate) + expect( + schema.safeParse({ + ...validBase, + expires_at: dayjs().subtract(1, 'day').toDate(), + }).success, + ).toBe(false) + expect( + schema.safeParse({ + ...validBase, + expires_at: new Date(), + }).success, + ).toBe(false) + }) + }) +}) diff --git a/packages/browser/src/scenes/settings/app/apiKeys/index.ts b/packages/browser/src/scenes/settings/app/apiKeys/index.ts new file mode 100644 index 000000000..ad426c093 --- /dev/null +++ b/packages/browser/src/scenes/settings/app/apiKeys/index.ts @@ -0,0 +1 @@ +export { default } from './APIKeySettingsScene' diff --git a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx index 6e484398f..5fd5f8efa 100644 --- a/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx +++ b/packages/browser/src/scenes/settings/app/appearance/navigation-arrangement/NavigationArrangement.tsx @@ -14,7 +14,7 @@ import { verticalListSortingStrategy, } from '@dnd-kit/sortable' import { useNavigationArrangement } from '@stump/client' -import { Card, cn, IconButton, Label, Text, ToolTip } from '@stump/components' +import { Button, Card, cn, Label, Text, ToolTip } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { NavigationItem } from '@stump/sdk' import isEqual from 'lodash/isEqual' @@ -180,9 +180,9 @@ export default function NavigationArrangement() { return ( - setLocked(!locked)} variant="ghost" size="sm"> + ) } diff --git a/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx b/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx index b379816d5..ba3fc37a1 100644 --- a/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx +++ b/packages/browser/src/scenes/settings/app/desktop/features/DiscordPresenceSwitch.tsx @@ -1,5 +1,5 @@ import { useUpdatePreferences } from '@stump/client' -import { IconButton, Label, RawSwitch, Text, ToolTip } from '@stump/components' +import { Button, Label, RawSwitch, Text, ToolTip } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { RefreshCcw } from 'lucide-react' import toast from 'react-hot-toast' @@ -62,9 +62,9 @@ export default function DiscordPresenceSwitch() { isDisabled={!isChecked || !handleReconnect} align="end" > - +
+ } align="end" contentWrapperClassName="w-28 min-w-[unset]" diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/UserPermissionsForm.tsx b/packages/browser/src/scenes/settings/server/users/create-or-update/UserPermissionsForm.tsx index 48f822490..5adff3ba5 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/UserPermissionsForm.tsx +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/UserPermissionsForm.tsx @@ -16,6 +16,8 @@ export const associatedPermissions: Record = { 'emailer:create': ['emailer:read', 'emailer:manage', 'email:send'], 'emailer:manage': ['emailer:read'], 'emailer:read': [], + 'feature:api_keys': [], + 'feature:koreader_sync': [], 'file:download': [], 'file:explorer': [], 'file:upload': [], @@ -36,6 +38,7 @@ export const associatedPermissions: Record = { const prefixes = [ 'bookclub', + 'feature', 'file', 'emailer', 'email', diff --git a/packages/browser/src/scenes/settings/server/users/create-or-update/schema.ts b/packages/browser/src/scenes/settings/server/users/create-or-update/schema.ts index 9da2afde0..f4be9804d 100644 --- a/packages/browser/src/scenes/settings/server/users/create-or-update/schema.ts +++ b/packages/browser/src/scenes/settings/server/users/create-or-update/schema.ts @@ -9,6 +9,8 @@ export const allPermissions = [ 'emailer:create', 'emailer:manage', 'emailer:read', + 'feature:api_keys', + 'feature:koreader_sync', 'file:explorer', 'file:upload', 'file:download', diff --git a/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx b/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx index 0778b90c0..b8f9a4c7e 100644 --- a/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx +++ b/packages/browser/src/scenes/smartList/settings/SmartListSettingsSideBar.tsx @@ -1,4 +1,4 @@ -import { ButtonOrLink, cn, IconButton, Label } from '@stump/components' +import { Button, ButtonOrLink, cn, Label } from '@stump/components' import { useLocaleContext } from '@stump/i18n' import { ArrowLeft, Home } from 'lucide-react' import { useMemo } from 'react' @@ -89,14 +89,15 @@ export default function SmartListSettingsSideBar() { {enable_replace_primary_sidebar && (
- navigate(paths.home())} > - +
)}
diff --git a/packages/client/package.json b/packages/client/package.json index 4e2009b09..9f1ca9aa5 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -8,6 +8,7 @@ }, "scripts": { "check-types": "tsc -b tsconfig.json", + "format": "eslint --fix . && prettier --config ../../prettier.config.js --ignore-path ../../.prettierignore --write .", "nuke": "yarn exec rimraf node_modules" }, "dependencies": { diff --git a/packages/client/src/sdk/SDKProvider.tsx b/packages/client/src/sdk/SDKProvider.tsx index 939a0df6a..287cec187 100644 --- a/packages/client/src/sdk/SDKProvider.tsx +++ b/packages/client/src/sdk/SDKProvider.tsx @@ -23,7 +23,7 @@ export function SDKProvider({ return } - const instance = new Api(baseURL, authMethod) + const instance = new Api({ baseURL, authMethod }) if (!tauriRPC || authMethod === 'session') { setSDK(instance) diff --git a/packages/components/package.json b/packages/components/package.json index cbb283164..f76a844e7 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -9,6 +9,7 @@ }, "scripts": { "check-types": "tsc -b tsconfig.json", + "format": "eslint --fix . && prettier --config ../../prettier.config.js --ignore-path ../../.prettierignore --write .", "build": "tsc", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", @@ -22,12 +23,12 @@ "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-context-menu": "^2.1.5", - "@radix-ui/react-dialog": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-hover-card": "^1.0.7", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-navigation-menu": "^1.1.4", - "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-popover": "=1.1.1", "@radix-ui/react-progress": "^1.0.3", "@radix-ui/react-radio-group": "^1.1.3", "@radix-ui/react-scroll-area": "^1.0.5", @@ -42,7 +43,7 @@ "autoprefixer": "^10.4.19", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", - "cmdk": "^0.2.1", + "cmdk": "=0.2.0", "date-fns": "^2.30.0", "emoji-mart": "^5.5.2", "lucide-react": "=0.428.0", diff --git a/packages/components/src/command/primitives.tsx b/packages/components/src/command/primitives.tsx index ccd8a6e30..712b39ce4 100644 --- a/packages/components/src/command/primitives.tsx +++ b/packages/components/src/command/primitives.tsx @@ -40,7 +40,6 @@ const CommandInput = React.forwardRef< >(({ className, ...props }, ref) => (
diff --git a/packages/components/src/drawer/Drawer.tsx b/packages/components/src/drawer/Drawer.tsx index 459f4c0a6..44035d120 100644 --- a/packages/components/src/drawer/Drawer.tsx +++ b/packages/components/src/drawer/Drawer.tsx @@ -1,6 +1,8 @@ import type { ComponentPropsWithoutRef, ElementRef } from 'react' import * as React from 'react' -import { Drawer as DrawerPrimitive } from 'vaul' +import * as Vaul from 'vaul' + +const DrawerPrimitive: typeof Vaul.Drawer = Vaul.Drawer import { cn } from '../utils' @@ -12,13 +14,16 @@ const Drawer = ({ ) Drawer.displayName = 'Drawer' -const DrawerTrigger = DrawerPrimitive.Trigger +const DrawerTrigger: typeof DrawerPrimitive.Trigger = DrawerPrimitive.Trigger const DrawerPortal = DrawerPrimitive.Portal -const DrawerClose = DrawerPrimitive.Close +const DrawerClose: typeof DrawerPrimitive.Close = DrawerPrimitive.Close -const DrawerOverlay = React.forwardRef< +const DrawerOverlay: React.ForwardRefExoticComponent< + ComponentPropsWithoutRef & + React.RefAttributes> +> = React.forwardRef< ElementRef, ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( @@ -33,7 +38,7 @@ DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName type DrawerContentProps = { showTopIndicator?: boolean } & ComponentPropsWithoutRef -const DrawerContent = React.forwardRef< +const DrawerContent: typeof DrawerPrimitive.Content = React.forwardRef< ElementRef, DrawerContentProps >(({ className, children, showTopIndicator = true, ...props }, ref) => ( @@ -69,7 +74,7 @@ const DrawerFooter = ({ className, ...props }: React.HTMLAttributes, ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( @@ -84,7 +89,7 @@ const DrawerTitle = React.forwardRef< )) DrawerTitle.displayName = DrawerPrimitive.Title.displayName -const DrawerDescription = React.forwardRef< +const DrawerDescription: typeof DrawerPrimitive.Description = React.forwardRef< ElementRef, ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( diff --git a/packages/components/src/hooks/index.ts b/packages/components/src/hooks/index.ts index aa7252088..7f07a60aa 100644 --- a/packages/components/src/hooks/index.ts +++ b/packages/components/src/hooks/index.ts @@ -1,5 +1,6 @@ export { useBodyLock } from './useBodyLock' export { useBoolean } from './useBoolean' +export { useCopyToClipboard } from './useCopyToClipboard' export { usePrevious } from './usePrevious' export { usePreviousIsDifferent } from './usePreviousIsDifferent' export { useSticky } from './useSticky' diff --git a/packages/components/src/hooks/useCopyToClipboard.ts b/packages/components/src/hooks/useCopyToClipboard.ts new file mode 100644 index 000000000..cd076d344 --- /dev/null +++ b/packages/components/src/hooks/useCopyToClipboard.ts @@ -0,0 +1,23 @@ +import { useCallback, useEffect, useRef, useState } from 'react' + +export function useCopyToClipboard(data: string, duration = 2000) { + const [copied, setCopied] = useState(false) + + const timeoutRef = useRef(null) + + const copy = useCallback(async () => { + await navigator.clipboard.writeText(data) + setCopied(true) + timeoutRef.current = setTimeout(() => setCopied(false), duration) + }, [data, duration]) + + useEffect(() => { + return () => { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current) + } + } + }, []) + + return [copy, copied] as const +} diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index b9e356aae..f1853d531 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -25,7 +25,7 @@ export { Drawer } from './drawer' export { Dropdown, DropdownMenu, type DropdownMenuProps } from './dropdown' export { EmojiPicker } from './emoji' export { Form, type FormProps, Label, type LabelProps } from './form' -export { useBodyLock, useBoolean, usePrevious, usePreviousIsDifferent, useSticky } from './hooks' +export * from './hooks' export { AspectRatio, Avatar, Image } from './image' export { CheckBox, diff --git a/packages/components/src/popover/Popover.tsx b/packages/components/src/popover/Popover.tsx index 7bc91aabf..8615e890f 100644 --- a/packages/components/src/popover/Popover.tsx +++ b/packages/components/src/popover/Popover.tsx @@ -16,25 +16,29 @@ const POPOVER_SIZE_VARIANTS = { type PopoverContentProps = { size?: keyof typeof POPOVER_SIZE_VARIANTS + portal?: boolean } & ComponentPropsWithoutRef const PopoverContent = React.forwardRef< ElementRef, PopoverContentProps ->(({ className, align = 'center', sideOffset = 4, size, ...props }, ref) => ( - - - -)) +>(({ className, align = 'center', sideOffset = 4, size, portal, ...props }, ref) => { + const Container = portal ? PopoverPrimitive.Portal : React.Fragment + return ( + + + + ) +}) PopoverContent.displayName = PopoverPrimitive.Content.displayName type PopoverSubComponents = { diff --git a/packages/components/src/radio/RadioCardItem.tsx b/packages/components/src/radio/RadioCardItem.tsx index 222748435..4f865ed8b 100644 --- a/packages/components/src/radio/RadioCardItem.tsx +++ b/packages/components/src/radio/RadioCardItem.tsx @@ -36,7 +36,7 @@ export function RadioCardItem({