From 290e0f2b54ecb23615e09e16e794d3f2e4335f74 Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Thu, 5 Mar 2026 15:01:29 -0800 Subject: [PATCH 01/29] Disable animations for translation events on Android (#10013) --- src/lib/translation/index.tsx | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/lib/translation/index.tsx b/src/lib/translation/index.tsx index d6c8a5173..50445767c 100644 --- a/src/lib/translation/index.tsx +++ b/src/lib/translation/index.tsx @@ -9,7 +9,7 @@ import {useFocusEffect} from '@react-navigation/native' import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate' import {logger} from '#/logger' import {useAnalytics} from '#/analytics' -import {HAS_ON_DEVICE_TRANSLATION} from '#/env' +import {HAS_ON_DEVICE_TRANSLATION, IS_ANDROID, IS_IOS} from '#/env' import {Context} from './context' import {type TranslationFunctionParams, type TranslationState} from './types' import {guessLanguage} from './utils' @@ -34,18 +34,16 @@ async function attemptTranslation( // Note that Android only supports two-character language codes and will fail // on other input. // https://developers.google.com/android/reference/com/google/mlkit/nl/translate/TranslateLanguage - let targetLangCode = - Platform.OS === 'android' - ? targetLangCodeOriginal.split('-')[0] - : targetLangCodeOriginal - const sourceLangCode = - Platform.OS === 'android' - ? sourceLangCodeOriginal?.split('-')[0] - : sourceLangCodeOriginal + let targetLangCode = IS_ANDROID + ? targetLangCodeOriginal.split('-')[0] + : targetLangCodeOriginal + const sourceLangCode = IS_ANDROID + ? sourceLangCodeOriginal?.split('-')[0] + : sourceLangCodeOriginal // Special cases for regional languages since iOS differentiates and missing // language packs must be downloaded and installed. - if (Platform.OS === 'ios') { + if (IS_IOS) { const deviceLocales = getLocales() const primaryLanguageTag = deviceLocales[0]?.languageTag switch (targetLangCodeOriginal) { @@ -192,7 +190,9 @@ export function Provider({children}: React.PropsWithChildren) { }, []) const clearTranslation = useCallback((key: string) => { - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + if (!IS_ANDROID) { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + } setTranslationState(prev => { delete prev[key] return {...prev} @@ -224,8 +224,9 @@ export function Provider({children}: React.PropsWithChildren) { return } - // Translate after the next state change. - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + if (!IS_ANDROID) { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + } setTranslationState(prev => ({ ...prev, [key]: {status: 'loading'}, @@ -242,7 +243,9 @@ export function Provider({children}: React.PropsWithChildren) { sourceLanguage: result.sourceLanguage, targetLanguage: result.targetLanguage, }) - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + if (!IS_ANDROID) { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + } setTranslationState(prev => ({ ...prev, [key]: { @@ -263,7 +266,9 @@ export function Provider({children}: React.PropsWithChildren) { targetLanguage: targetLangCode, }) let errorMessage = l`Device failed to translate :(` - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + if (!IS_ANDROID) { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) + } setTranslationState(prev => ({ ...prev, [key]: {status: 'error', message: errorMessage}, -- 2.51.2 From 562bf3be22ac7587425540bc6f970e399c5c2854 Mon Sep 17 00:00:00 2001 From: pfrazee <1270099+pfrazee@users.noreply.github.com> Date: Fri, 6 Mar 2026 03:06:49 +0000 Subject: [PATCH 02/29] Nightly source-language update --- src/locale/locales/en/messages.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po index c1c9a369c..4c97b8273 100644 --- a/src/locale/locales/en/messages.po +++ b/src/locale/locales/en/messages.po @@ -1277,8 +1277,8 @@ msgstr "" #: src/components/hooks/useFollowMethods.ts:35 #: src/components/hooks/useFollowMethods.ts:50 -#: src/components/ProfileCard.tsx:518 -#: src/components/ProfileCard.tsx:538 +#: src/components/ProfileCard.tsx:521 +#: src/components/ProfileCard.tsx:541 #: src/view/com/notifications/NotificationFeedItem.tsx:779 #: src/view/com/notifications/NotificationFeedItem.tsx:799 msgid "An issue occurred, please try again." @@ -3116,7 +3116,7 @@ msgstr "" msgid "Developer options" msgstr "" -#: src/lib/translation/index.tsx:265 +#: src/lib/translation/index.tsx:268 msgid "Device failed to translate :(" msgstr "Device failed to translate :(" @@ -4337,7 +4337,7 @@ msgid "Focus code input" msgstr "" #. User is not following this account, click to follow -#: src/components/ProfileCard.tsx:552 +#: src/components/ProfileCard.tsx:555 #: src/components/ProfileHoverCard/index.web.tsx:497 #: src/components/ProfileHoverCard/index.web.tsx:508 #: src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx:153 @@ -4392,7 +4392,7 @@ msgid "Follow all accounts" msgstr "" #. User is not following this account, click to follow back -#: src/components/ProfileCard.tsx:548 +#: src/components/ProfileCard.tsx:551 #: src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx:151 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:386 #: src/view/com/notifications/NotificationFeedItem.tsx:841 @@ -4444,7 +4444,7 @@ msgstr "" #. User is following this account, click to unfollow #. User is following this account, click to unfollow -#: src/components/ProfileCard.tsx:543 +#: src/components/ProfileCard.tsx:546 #: src/components/ProfileHoverCard/index.web.tsx:496 #: src/components/ProfileHoverCard/index.web.tsx:507 #: src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx:156 @@ -4464,7 +4464,7 @@ msgstr "" #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) -#: src/components/ProfileCard.tsx:508 +#: src/components/ProfileCard.tsx:511 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:251 #: src/view/com/notifications/NotificationFeedItem.tsx:772 msgid "Following {0}" @@ -6527,7 +6527,7 @@ msgstr "" #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) -#: src/components/ProfileCard.tsx:529 +#: src/components/ProfileCard.tsx:532 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:276 #: src/view/com/notifications/NotificationFeedItem.tsx:792 msgid "No longer following {0}" @@ -11246,7 +11246,7 @@ msgid "View {0}'s profile" msgstr "" #. placeholder {0}: profile.displayName || sanitizeHandle(profile.handle) -#: src/components/ProfileCard.tsx:143 +#: src/components/ProfileCard.tsx:149 msgid "View {0}’s profile" msgstr "View {0}’s profile" -- 2.51.2 From 60a0edbbe227f05f16f27578d556c0d2b7dc0191 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Fri, 6 Mar 2026 11:43:14 -0600 Subject: [PATCH 03/29] [APP-1960] Fix current session refresh bug (#10019) --- src/state/session/agent.ts | 13 ------------- src/state/session/index.tsx | 6 ++++++ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/state/session/agent.ts b/src/state/session/agent.ts index fb8a1165a..417771991 100644 --- a/src/state/session/agent.ts +++ b/src/state/session/agent.ts @@ -72,19 +72,6 @@ export async function createAgentAndResume( await networkRetry(1, () => agent.resumeSession(prevSession)) } else { agent.sessionManager.session = prevSession - if (!storedAccount.signupQueued) { - networkRetry(3, () => agent.resumeSession(prevSession)).catch( - (e: any) => { - logger.error(`networkRetry failed to resume session`, { - status: e?.status || 'unknown', - // this field name is ignored by Sentry scrubbers - safeMessage: e?.message || 'unknown', - }) - - throw e - }, - ) - } } // after session is attached diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx index e63e180a4..acdd8a4c9 100644 --- a/src/state/session/index.tsx +++ b/src/state/session/index.tsx @@ -321,6 +321,12 @@ export function Provider({children}: React.PropsWithChildren<{}>) { ) if (syncedAccount && syncedAccount.refreshJwt) { if (syncedAccount.did !== state.currentAgentState.did) { + /* + * Web handling: if leader tab has switched to a diff account that is + * stale, it will refresh the session before triggering the update to + * follower tabs. Follower tabs will therefore receive the fresh + * session. See APP-1960, or ask Eric. + */ resumeSession(syncedAccount) } else { const agent = state.currentAgentState.agent as BskyAgent -- 2.51.2 From e2c54a858c78d908793fb30ae0c86720b1f990be Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Fri, 6 Mar 2026 17:45:49 +0000 Subject: [PATCH 04/29] Move `dev-env` to subdirectory (#10009) --- __e2e__/mock-server.ts | 529 -- {jest => dev-env}/dev-infra/_common.sh | 0 .../dev-infra/docker-compose.yaml | 0 {jest => dev-env}/dev-infra/with-test-db.sh | 0 .../dev-infra/with-test-redis-and-db.sh | 0 dev-env/mock-server.ts | 510 ++ dev-env/package.json | 12 + {jest => dev-env}/test-pds.ts | 0 tsconfig.e2e.json => dev-env/tsconfig.json | 0 dev-env/yarn.lock | 4308 +++++++++++++++++ docs/testing.md | 6 + package.json | 4 +- yarn.lock | 3310 +------------ 13 files changed, 4876 insertions(+), 3803 deletions(-) delete mode 100644 __e2e__/mock-server.ts rename {jest => dev-env}/dev-infra/_common.sh (100%) rename {jest => dev-env}/dev-infra/docker-compose.yaml (100%) rename {jest => dev-env}/dev-infra/with-test-db.sh (100%) rename {jest => dev-env}/dev-infra/with-test-redis-and-db.sh (100%) create mode 100644 dev-env/mock-server.ts create mode 100644 dev-env/package.json rename {jest => dev-env}/test-pds.ts (100%) rename tsconfig.e2e.json => dev-env/tsconfig.json (100%) create mode 100644 dev-env/yarn.lock diff --git a/__e2e__/mock-server.ts b/__e2e__/mock-server.ts deleted file mode 100644 index 1f7884844..000000000 --- a/__e2e__/mock-server.ts +++ /dev/null @@ -1,529 +0,0 @@ -import {createServer as createHTTPServer} from 'node:http' -import {parse} from 'node:url' - -import {createServer, type TestPDS} from '../jest/test-pds' - -async function main() { - let server: TestPDS - createHTTPServer(async (req, res) => { - const url = parse(req.url || '/', true) - if (req.method !== 'POST') { - return res.writeHead(200).end() - } - try { - console.log('Closing old server') - await server?.close() - console.log('Starting new server') - const inviteRequired = url?.query && 'invite' in url.query - server = await createServer({inviteRequired}) - console.log('Listening at', server.pdsUrl) - if (url?.query) { - if ('users' in url.query) { - console.log('Generating mock users') - await server.mocker.createUser('alice') - await server.mocker.createUser('bob') - await server.mocker.createUser('carla') - await server.mocker.users.alice.agent.upsertProfile(() => ({ - displayName: 'Alice', - description: 'Test user 1', - })) - await server.mocker.users.bob.agent.upsertProfile(() => ({ - displayName: 'Bob', - description: 'Test user 2', - })) - await server.mocker.users.carla.agent.upsertProfile(() => ({ - displayName: 'Carla', - description: 'Test user 3', - })) - if (inviteRequired) { - await server.mocker.createInvite(server.mocker.users.alice.did) - } - } - if ('follows' in url.query) { - console.log('Generating mock follows') - await server.mocker.follow('alice', 'bob') - await server.mocker.follow('alice', 'carla') - await server.mocker.follow('bob', 'alice') - await server.mocker.follow('bob', 'carla') - await server.mocker.follow('carla', 'alice') - await server.mocker.follow('carla', 'bob') - } - if ('posts' in url.query) { - console.log('Generating mock posts') - for (let user in server.mocker.users) { - await server.mocker.users[user].agent.post({text: 'Post'}) - } - } - if ('feeds' in url.query) { - console.log('Generating mock feed') - await server.mocker.createFeed('alice', 'alice-favs', []) - } - if ('thread' in url.query) { - console.log('Generating mock posts') - const res = await server.mocker.users.bob.agent.post({ - text: 'Thread root', - }) - await server.mocker.users.carla.agent.post({ - text: 'Thread reply', - reply: { - parent: {cid: res.cid, uri: res.uri}, - root: {cid: res.cid, uri: res.uri}, - }, - }) - } - if ('mergefeed' in url.query) { - console.log('Generating mock users') - await server.mocker.createUser('alice') - await server.mocker.createUser('bob') - await server.mocker.createUser('carla') - await server.mocker.createUser('dan') - await server.mocker.users.alice.agent.upsertProfile(() => ({ - displayName: 'Alice', - description: 'Test user 1', - })) - await server.mocker.users.bob.agent.upsertProfile(() => ({ - displayName: 'Bob', - description: 'Test user 2', - })) - await server.mocker.users.carla.agent.upsertProfile(() => ({ - displayName: 'Carla', - description: 'Test user 3', - })) - await server.mocker.users.dan.agent.upsertProfile(() => ({ - displayName: 'Dan', - description: 'Test user 4', - })) - console.log('Generating mock follows') - await server.mocker.follow('alice', 'bob') - await server.mocker.follow('alice', 'carla') - console.log('Generating mock posts') - let posts: Record = { - alice: [], - bob: [], - carla: [], - dan: [], - } - for (let i = 0; i < 10; i++) { - for (let user in server.mocker.users) { - if (user === 'alice') continue - posts[user].push( - await server.mocker.createPost(user, `Post ${i}`), - ) - } - } - for (let i = 0; i < 10; i++) { - for (let user in server.mocker.users) { - if (user === 'alice') continue - if (i % 5 === 0) { - await server.mocker.createReply(user, 'Self reply', { - cid: posts[user][i].cid, - uri: posts[user][i].uri, - }) - } - if (i % 5 === 1) { - await server.mocker.createReply(user, 'Reply to bob', { - cid: posts.bob[i].cid, - uri: posts.bob[i].uri, - }) - } - if (i % 5 === 2) { - await server.mocker.createReply(user, 'Reply to dan', { - cid: posts.dan[i].cid, - uri: posts.dan[i].uri, - }) - } - await server.mocker.users[user].agent.post({text: `Post ${i}`}) - } - } - console.log('Generating mock feeds') - await server.mocker.createFeed( - 'alice', - 'alice-favs', - posts.dan.map(p => p.uri), - ) - await server.mocker.createFeed( - 'alice', - 'alice-favs2', - posts.dan.map(p => p.uri), - ) - } - if ('labels' in url.query) { - console.log('Generating naughty users with labels') - - const anchorPost = await server.mocker.createPost( - 'alice', - 'Anchor post', - ) - - for (const user of [ - 'dmca-account', - 'dmca-profile', - 'dmca-posts', - 'porn-account', - 'porn-profile', - 'porn-posts', - 'nudity-account', - 'nudity-profile', - 'nudity-posts', - 'scam-account', - 'scam-profile', - 'scam-posts', - 'unknown-account', - 'unknown-profile', - 'unknown-posts', - 'hide-account', - 'hide-profile', - 'hide-posts', - 'no-promote-account', - 'no-promote-profile', - 'no-promote-posts', - 'warn-account', - 'warn-profile', - 'warn-posts', - 'muted-account', - 'muted-by-list-acc', - 'blocking-account', - 'blockedby-account', - 'mutual-block-acc', - ]) { - await server.mocker.createUser(user) - await server.mocker.follow('alice', user) - await server.mocker.follow(user, 'alice') - await server.mocker.createPost(user, `Unlabeled post from ${user}`) - await server.mocker.createReply( - user, - `Unlabeled reply from ${user}`, - anchorPost, - ) - await server.mocker.like(user, anchorPost) - } - - await server.mocker.labelAccount('dmca-violation', 'dmca-account') - await server.mocker.labelProfile('dmca-violation', 'dmca-profile') - await server.mocker.labelPost( - 'dmca-violation', - await server.mocker.createPost('dmca-posts', 'dmca post'), - ) - await server.mocker.labelPost( - 'dmca-violation', - await server.mocker.createQuotePost( - 'dmca-posts', - 'dmca quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - 'dmca-violation', - await server.mocker.createReply( - 'dmca-posts', - 'dmca reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount('porn', 'porn-account') - await server.mocker.labelProfile('porn', 'porn-profile') - await server.mocker.labelPost( - 'porn', - await server.mocker.createImagePost('porn-posts', 'porn post'), - ) - await server.mocker.labelPost( - 'porn', - await server.mocker.createQuotePost( - 'porn-posts', - 'porn quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - 'porn', - await server.mocker.createReply( - 'porn-posts', - 'porn reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount('nudity', 'nudity-account') - await server.mocker.labelProfile('nudity', 'nudity-profile') - await server.mocker.labelPost( - 'nudity', - await server.mocker.createImagePost('nudity-posts', 'nudity post'), - ) - await server.mocker.labelPost( - 'nudity', - await server.mocker.createQuotePost( - 'nudity-posts', - 'nudity quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - 'nudity', - await server.mocker.createReply( - 'nudity-posts', - 'nudity reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount('scam', 'scam-account') - await server.mocker.labelProfile('scam', 'scam-profile') - await server.mocker.labelPost( - 'scam', - await server.mocker.createPost('scam-posts', 'scam post'), - ) - await server.mocker.labelPost( - 'scam', - await server.mocker.createQuotePost( - 'scam-posts', - 'scam quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - 'scam', - await server.mocker.createReply( - 'scam-posts', - 'scam reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount( - 'not-a-real-label', - 'unknown-account', - ) - await server.mocker.labelProfile( - 'not-a-real-label', - 'unknown-profile', - ) - await server.mocker.labelPost( - 'not-a-real-label', - await server.mocker.createPost('unknown-posts', 'unknown post'), - ) - await server.mocker.labelPost( - 'not-a-real-label', - await server.mocker.createQuotePost( - 'unknown-posts', - 'unknown quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - 'not-a-real-label', - await server.mocker.createReply( - 'unknown-posts', - 'unknown reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount('!hide', 'hide-account') - await server.mocker.labelProfile('!hide', 'hide-profile') - await server.mocker.labelPost( - '!hide', - await server.mocker.createPost('hide-posts', 'hide post'), - ) - await server.mocker.labelPost( - '!hide', - await server.mocker.createQuotePost( - 'hide-posts', - 'hide quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - '!hide', - await server.mocker.createReply( - 'hide-posts', - 'hide reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount('!no-promote', 'no-promote-account') - await server.mocker.labelProfile('!no-promote', 'no-promote-profile') - await server.mocker.labelPost( - '!no-promote', - await server.mocker.createPost( - 'no-promote-posts', - 'no-promote post', - ), - ) - await server.mocker.labelPost( - '!no-promote', - await server.mocker.createQuotePost( - 'no-promote-posts', - 'no-promote quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - '!no-promote', - await server.mocker.createReply( - 'no-promote-posts', - 'no-promote reply', - anchorPost, - ), - ) - - await server.mocker.labelAccount('!warn', 'warn-account') - await server.mocker.labelProfile('!warn', 'warn-profile') - await server.mocker.labelPost( - '!warn', - await server.mocker.createPost('warn-posts', 'warn post'), - ) - await server.mocker.labelPost( - '!warn', - await server.mocker.createQuotePost( - 'warn-posts', - 'warn quote post', - anchorPost, - ), - ) - await server.mocker.labelPost( - '!warn', - await server.mocker.createReply( - 'warn-posts', - 'warn reply', - anchorPost, - ), - ) - - await server.mocker.users.alice.agent.mute('muted-account.test') - await server.mocker.createPost('muted-account', 'muted post') - await server.mocker.createQuotePost( - 'muted-account', - 'muted quote post', - anchorPost, - ) - await server.mocker.createReply( - 'muted-account', - 'muted reply', - anchorPost, - ) - - const list = await server.mocker.createMuteList( - 'alice', - 'Muted Users', - ) - await server.mocker.addToMuteList( - 'alice', - list, - server.mocker.users['muted-by-list-acc'].did, - ) - await server.mocker.createPost('muted-by-list-acc', 'muted post') - await server.mocker.createQuotePost( - 'muted-by-list-acc', - 'account quote post', - anchorPost, - ) - await server.mocker.createReply( - 'muted-by-list-acc', - 'account reply', - anchorPost, - ) - - await server.mocker.createPost('blocking-account', 'blocking post') - await server.mocker.createQuotePost( - 'blocking-account', - 'blocking quote post', - anchorPost, - ) - await server.mocker.createReply( - 'blocking-account', - 'blocking reply', - anchorPost, - ) - await server.mocker.users.alice.agent.app.bsky.graph.block.create( - { - repo: server.mocker.users.alice.did, - }, - { - subject: server.mocker.users['blocking-account'].did, - createdAt: new Date().toISOString(), - }, - ) - - await server.mocker.createPost('blockedby-account', 'blockedby post') - await server.mocker.createQuotePost( - 'blockedby-account', - 'blockedby quote post', - anchorPost, - ) - await server.mocker.createReply( - 'blockedby-account', - 'blockedby reply', - anchorPost, - ) - await server.mocker.users[ - 'blockedby-account' - ].agent.app.bsky.graph.block.create( - { - repo: server.mocker.users['blockedby-account'].did, - }, - { - subject: server.mocker.users.alice.did, - createdAt: new Date().toISOString(), - }, - ) - - await server.mocker.createPost( - 'mutual-block-acc', - 'mutual-block post', - ) - await server.mocker.createQuotePost( - 'mutual-block-acc', - 'mutual-block quote post', - anchorPost, - ) - await server.mocker.createReply( - 'mutual-block-acc', - 'mutual-block reply', - anchorPost, - ) - await server.mocker.users.alice.agent.app.bsky.graph.block.create( - { - repo: server.mocker.users.alice.did, - }, - { - subject: server.mocker.users['mutual-block-acc'].did, - createdAt: new Date().toISOString(), - }, - ) - await server.mocker.users[ - 'mutual-block-acc' - ].agent.app.bsky.graph.block.create( - { - repo: server.mocker.users['mutual-block-acc'].did, - }, - { - subject: server.mocker.users.alice.did, - createdAt: new Date().toISOString(), - }, - ) - - // flush caches - await server.mocker.testNet.processAll() - } - } - console.log('Ready') - return res - .writeHead(200, { - 'content-type': 'application/json', - }) - .end( - JSON.stringify({ - pdsUrl: server.pdsUrl, - appviewDid: server.appviewDid, - }), - ) - } catch (e) { - console.error('Error!', e) - return res.writeHead(500).end() - } - }).listen(1986) - console.log('Mock server manager listening on 1986') -} -main() diff --git a/jest/dev-infra/_common.sh b/dev-env/dev-infra/_common.sh similarity index 100% rename from jest/dev-infra/_common.sh rename to dev-env/dev-infra/_common.sh diff --git a/jest/dev-infra/docker-compose.yaml b/dev-env/dev-infra/docker-compose.yaml similarity index 100% rename from jest/dev-infra/docker-compose.yaml rename to dev-env/dev-infra/docker-compose.yaml diff --git a/jest/dev-infra/with-test-db.sh b/dev-env/dev-infra/with-test-db.sh similarity index 100% rename from jest/dev-infra/with-test-db.sh rename to dev-env/dev-infra/with-test-db.sh diff --git a/jest/dev-infra/with-test-redis-and-db.sh b/dev-env/dev-infra/with-test-redis-and-db.sh similarity index 100% rename from jest/dev-infra/with-test-redis-and-db.sh rename to dev-env/dev-infra/with-test-redis-and-db.sh diff --git a/dev-env/mock-server.ts b/dev-env/mock-server.ts new file mode 100644 index 000000000..76a636f6d --- /dev/null +++ b/dev-env/mock-server.ts @@ -0,0 +1,510 @@ +import {createServer as createHTTPServer} from 'node:http' +import {parse} from 'node:url' + +import {createServer, type TestPDS} from './test-pds' + +let server: TestPDS +// eslint-disable-next-line @typescript-eslint/no-misused-promises +createHTTPServer(async (req, res) => { + const url = parse(req.url || '/', true) + if (req.method !== 'POST') { + return res.writeHead(200).end() + } + try { + console.log('Closing old server') + await server?.close() + console.log('Starting new server') + const inviteRequired = url?.query && 'invite' in url.query + server = await createServer({inviteRequired}) + console.log('Listening at', server.pdsUrl) + if (url?.query) { + if ('users' in url.query) { + console.log('Generating mock users') + await server.mocker.createUser('alice') + await server.mocker.createUser('bob') + await server.mocker.createUser('carla') + await server.mocker.users.alice.agent.upsertProfile(() => ({ + displayName: 'Alice', + description: 'Test user 1', + })) + await server.mocker.users.bob.agent.upsertProfile(() => ({ + displayName: 'Bob', + description: 'Test user 2', + })) + await server.mocker.users.carla.agent.upsertProfile(() => ({ + displayName: 'Carla', + description: 'Test user 3', + })) + if (inviteRequired) { + await server.mocker.createInvite(server.mocker.users.alice.did) + } + } + if ('follows' in url.query) { + console.log('Generating mock follows') + await server.mocker.follow('alice', 'bob') + await server.mocker.follow('alice', 'carla') + await server.mocker.follow('bob', 'alice') + await server.mocker.follow('bob', 'carla') + await server.mocker.follow('carla', 'alice') + await server.mocker.follow('carla', 'bob') + } + if ('posts' in url.query) { + console.log('Generating mock posts') + for (let user in server.mocker.users) { + await server.mocker.users[user].agent.post({text: 'Post'}) + } + } + if ('feeds' in url.query) { + console.log('Generating mock feed') + await server.mocker.createFeed('alice', 'alice-favs', []) + } + if ('thread' in url.query) { + console.log('Generating mock posts') + const res = await server.mocker.users.bob.agent.post({ + text: 'Thread root', + }) + await server.mocker.users.carla.agent.post({ + text: 'Thread reply', + reply: { + parent: {cid: res.cid, uri: res.uri}, + root: {cid: res.cid, uri: res.uri}, + }, + }) + } + if ('mergefeed' in url.query) { + console.log('Generating mock users') + await server.mocker.createUser('alice') + await server.mocker.createUser('bob') + await server.mocker.createUser('carla') + await server.mocker.createUser('dan') + await server.mocker.users.alice.agent.upsertProfile(() => ({ + displayName: 'Alice', + description: 'Test user 1', + })) + await server.mocker.users.bob.agent.upsertProfile(() => ({ + displayName: 'Bob', + description: 'Test user 2', + })) + await server.mocker.users.carla.agent.upsertProfile(() => ({ + displayName: 'Carla', + description: 'Test user 3', + })) + await server.mocker.users.dan.agent.upsertProfile(() => ({ + displayName: 'Dan', + description: 'Test user 4', + })) + console.log('Generating mock follows') + await server.mocker.follow('alice', 'bob') + await server.mocker.follow('alice', 'carla') + console.log('Generating mock posts') + let posts: Record = { + alice: [], + bob: [], + carla: [], + dan: [], + } + for (let i = 0; i < 10; i++) { + for (let user in server.mocker.users) { + if (user === 'alice') continue + posts[user].push(await server.mocker.createPost(user, `Post ${i}`)) + } + } + for (let i = 0; i < 10; i++) { + for (let user in server.mocker.users) { + if (user === 'alice') continue + if (i % 5 === 0) { + await server.mocker.createReply(user, 'Self reply', { + cid: posts[user][i].cid, + uri: posts[user][i].uri, + }) + } + if (i % 5 === 1) { + await server.mocker.createReply(user, 'Reply to bob', { + cid: posts.bob[i].cid, + uri: posts.bob[i].uri, + }) + } + if (i % 5 === 2) { + await server.mocker.createReply(user, 'Reply to dan', { + cid: posts.dan[i].cid, + uri: posts.dan[i].uri, + }) + } + await server.mocker.users[user].agent.post({text: `Post ${i}`}) + } + } + console.log('Generating mock feeds') + await server.mocker.createFeed( + 'alice', + 'alice-favs', + posts.dan.map(p => p.uri), + ) + await server.mocker.createFeed( + 'alice', + 'alice-favs2', + posts.dan.map(p => p.uri), + ) + } + if ('labels' in url.query) { + console.log('Generating naughty users with labels') + + const anchorPost = await server.mocker.createPost( + 'alice', + 'Anchor post', + ) + + for (const user of [ + 'dmca-account', + 'dmca-profile', + 'dmca-posts', + 'porn-account', + 'porn-profile', + 'porn-posts', + 'nudity-account', + 'nudity-profile', + 'nudity-posts', + 'scam-account', + 'scam-profile', + 'scam-posts', + 'unknown-account', + 'unknown-profile', + 'unknown-posts', + 'hide-account', + 'hide-profile', + 'hide-posts', + 'no-promote-account', + 'no-promote-profile', + 'no-promote-posts', + 'warn-account', + 'warn-profile', + 'warn-posts', + 'muted-account', + 'muted-by-list-acc', + 'blocking-account', + 'blockedby-account', + 'mutual-block-acc', + ]) { + await server.mocker.createUser(user) + await server.mocker.follow('alice', user) + await server.mocker.follow(user, 'alice') + await server.mocker.createPost(user, `Unlabeled post from ${user}`) + await server.mocker.createReply( + user, + `Unlabeled reply from ${user}`, + anchorPost, + ) + await server.mocker.like(user, anchorPost) + } + + await server.mocker.labelAccount('dmca-violation', 'dmca-account') + await server.mocker.labelProfile('dmca-violation', 'dmca-profile') + await server.mocker.labelPost( + 'dmca-violation', + await server.mocker.createPost('dmca-posts', 'dmca post'), + ) + await server.mocker.labelPost( + 'dmca-violation', + await server.mocker.createQuotePost( + 'dmca-posts', + 'dmca quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + 'dmca-violation', + await server.mocker.createReply( + 'dmca-posts', + 'dmca reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('porn', 'porn-account') + await server.mocker.labelProfile('porn', 'porn-profile') + await server.mocker.labelPost( + 'porn', + await server.mocker.createImagePost('porn-posts', 'porn post'), + ) + await server.mocker.labelPost( + 'porn', + await server.mocker.createQuotePost( + 'porn-posts', + 'porn quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + 'porn', + await server.mocker.createReply( + 'porn-posts', + 'porn reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('nudity', 'nudity-account') + await server.mocker.labelProfile('nudity', 'nudity-profile') + await server.mocker.labelPost( + 'nudity', + await server.mocker.createImagePost('nudity-posts', 'nudity post'), + ) + await server.mocker.labelPost( + 'nudity', + await server.mocker.createQuotePost( + 'nudity-posts', + 'nudity quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + 'nudity', + await server.mocker.createReply( + 'nudity-posts', + 'nudity reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('scam', 'scam-account') + await server.mocker.labelProfile('scam', 'scam-profile') + await server.mocker.labelPost( + 'scam', + await server.mocker.createPost('scam-posts', 'scam post'), + ) + await server.mocker.labelPost( + 'scam', + await server.mocker.createQuotePost( + 'scam-posts', + 'scam quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + 'scam', + await server.mocker.createReply( + 'scam-posts', + 'scam reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('not-a-real-label', 'unknown-account') + await server.mocker.labelProfile('not-a-real-label', 'unknown-profile') + await server.mocker.labelPost( + 'not-a-real-label', + await server.mocker.createPost('unknown-posts', 'unknown post'), + ) + await server.mocker.labelPost( + 'not-a-real-label', + await server.mocker.createQuotePost( + 'unknown-posts', + 'unknown quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + 'not-a-real-label', + await server.mocker.createReply( + 'unknown-posts', + 'unknown reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('!hide', 'hide-account') + await server.mocker.labelProfile('!hide', 'hide-profile') + await server.mocker.labelPost( + '!hide', + await server.mocker.createPost('hide-posts', 'hide post'), + ) + await server.mocker.labelPost( + '!hide', + await server.mocker.createQuotePost( + 'hide-posts', + 'hide quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + '!hide', + await server.mocker.createReply( + 'hide-posts', + 'hide reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('!no-promote', 'no-promote-account') + await server.mocker.labelProfile('!no-promote', 'no-promote-profile') + await server.mocker.labelPost( + '!no-promote', + await server.mocker.createPost('no-promote-posts', 'no-promote post'), + ) + await server.mocker.labelPost( + '!no-promote', + await server.mocker.createQuotePost( + 'no-promote-posts', + 'no-promote quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + '!no-promote', + await server.mocker.createReply( + 'no-promote-posts', + 'no-promote reply', + anchorPost, + ), + ) + + await server.mocker.labelAccount('!warn', 'warn-account') + await server.mocker.labelProfile('!warn', 'warn-profile') + await server.mocker.labelPost( + '!warn', + await server.mocker.createPost('warn-posts', 'warn post'), + ) + await server.mocker.labelPost( + '!warn', + await server.mocker.createQuotePost( + 'warn-posts', + 'warn quote post', + anchorPost, + ), + ) + await server.mocker.labelPost( + '!warn', + await server.mocker.createReply( + 'warn-posts', + 'warn reply', + anchorPost, + ), + ) + + await server.mocker.users.alice.agent.mute('muted-account.test') + await server.mocker.createPost('muted-account', 'muted post') + await server.mocker.createQuotePost( + 'muted-account', + 'muted quote post', + anchorPost, + ) + await server.mocker.createReply( + 'muted-account', + 'muted reply', + anchorPost, + ) + + const list = await server.mocker.createMuteList('alice', 'Muted Users') + await server.mocker.addToMuteList( + 'alice', + list, + server.mocker.users['muted-by-list-acc'].did, + ) + await server.mocker.createPost('muted-by-list-acc', 'muted post') + await server.mocker.createQuotePost( + 'muted-by-list-acc', + 'account quote post', + anchorPost, + ) + await server.mocker.createReply( + 'muted-by-list-acc', + 'account reply', + anchorPost, + ) + + await server.mocker.createPost('blocking-account', 'blocking post') + await server.mocker.createQuotePost( + 'blocking-account', + 'blocking quote post', + anchorPost, + ) + await server.mocker.createReply( + 'blocking-account', + 'blocking reply', + anchorPost, + ) + await server.mocker.users.alice.agent.app.bsky.graph.block.create( + { + repo: server.mocker.users.alice.did, + }, + { + subject: server.mocker.users['blocking-account'].did, + createdAt: new Date().toISOString(), + }, + ) + + await server.mocker.createPost('blockedby-account', 'blockedby post') + await server.mocker.createQuotePost( + 'blockedby-account', + 'blockedby quote post', + anchorPost, + ) + await server.mocker.createReply( + 'blockedby-account', + 'blockedby reply', + anchorPost, + ) + await server.mocker.users[ + 'blockedby-account' + ].agent.app.bsky.graph.block.create( + { + repo: server.mocker.users['blockedby-account'].did, + }, + { + subject: server.mocker.users.alice.did, + createdAt: new Date().toISOString(), + }, + ) + + await server.mocker.createPost('mutual-block-acc', 'mutual-block post') + await server.mocker.createQuotePost( + 'mutual-block-acc', + 'mutual-block quote post', + anchorPost, + ) + await server.mocker.createReply( + 'mutual-block-acc', + 'mutual-block reply', + anchorPost, + ) + await server.mocker.users.alice.agent.app.bsky.graph.block.create( + { + repo: server.mocker.users.alice.did, + }, + { + subject: server.mocker.users['mutual-block-acc'].did, + createdAt: new Date().toISOString(), + }, + ) + await server.mocker.users[ + 'mutual-block-acc' + ].agent.app.bsky.graph.block.create( + { + repo: server.mocker.users['mutual-block-acc'].did, + }, + { + subject: server.mocker.users.alice.did, + createdAt: new Date().toISOString(), + }, + ) + + // flush caches + await server.mocker.testNet.processAll() + } + } + console.log('Ready') + return res + .writeHead(200, { + 'content-type': 'application/json', + }) + .end( + JSON.stringify({ + pdsUrl: server.pdsUrl, + appviewDid: server.appviewDid, + }), + ) + } catch (e) { + console.error('Error!', e) + return res.writeHead(500).end() + } +}).listen(1986) +console.log('Mock server manager listening on 1986') diff --git a/dev-env/package.json b/dev-env/package.json new file mode 100644 index 000000000..0457a8b67 --- /dev/null +++ b/dev-env/package.json @@ -0,0 +1,12 @@ +{ + "name": "dev-env", + "version": "0.0.0", + "scripts": { + "e2e:mock-server": "NODE_ENV=development ./dev-infra/with-test-redis-and-db.sh ts-node ./mock-server.ts" + }, + "dependencies": { + "@atproto/dev-env": "^0.3.213", + "ts-node": "^10.9.2", + "typescript": "^5.9.3" + } +} diff --git a/jest/test-pds.ts b/dev-env/test-pds.ts similarity index 100% rename from jest/test-pds.ts rename to dev-env/test-pds.ts diff --git a/tsconfig.e2e.json b/dev-env/tsconfig.json similarity index 100% rename from tsconfig.e2e.json rename to dev-env/tsconfig.json diff --git a/dev-env/yarn.lock b/dev-env/yarn.lock new file mode 100644 index 000000000..5404f57eb --- /dev/null +++ b/dev-env/yarn.lock @@ -0,0 +1,4308 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@atproto-labs/did-resolver@^0.2.6": + version "0.2.6" + resolved "https://registry.yarnpkg.com/@atproto-labs/did-resolver/-/did-resolver-0.2.6.tgz#15f0beab797187a67279389f6503f87a257cd898" + integrity sha512-2K1bC04nI2fmgNcvof+yA28IhGlpWn2JKYlPa7To9JTKI45FINCGkQSGiL2nyXlyzDJJ34fZ1aq6/IRFIOIiqg== + dependencies: + "@atproto-labs/fetch" "0.2.3" + "@atproto-labs/pipe" "0.1.1" + "@atproto-labs/simple-store" "0.3.0" + "@atproto-labs/simple-store-memory" "0.1.4" + "@atproto/did" "0.3.0" + zod "^3.23.8" + +"@atproto-labs/fetch-node@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@atproto-labs/fetch-node/-/fetch-node-0.2.0.tgz#438989f3165f52e21e7636fb87ea9c7317ae7f2a" + integrity sha512-Krq09nH/aeoiU2s9xdHA0FjTEFWG9B5FFenipv1iRixCcPc7V3DhTNDawxG9gI8Ny0k4dBVS9WTRN/IDzBx86Q== + dependencies: + "@atproto-labs/fetch" "0.2.3" + "@atproto-labs/pipe" "0.1.1" + ipaddr.js "^2.1.0" + undici "^6.14.1" + +"@atproto-labs/fetch@0.2.3", "@atproto-labs/fetch@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@atproto-labs/fetch/-/fetch-0.2.3.tgz#d47afec078f630c50e291c56264cc0ff13d0c6cc" + integrity sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw== + dependencies: + "@atproto-labs/pipe" "0.1.1" + +"@atproto-labs/pipe@0.1.1", "@atproto-labs/pipe@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@atproto-labs/pipe/-/pipe-0.1.1.tgz#1c4232d16bf95f251e993cb6ee440f9aa4e87ce6" + integrity sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg== + +"@atproto-labs/simple-store-memory@0.1.4", "@atproto-labs/simple-store-memory@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store-memory/-/simple-store-memory-0.1.4.tgz#e38c7b27e0f77c0bdba1329deb89593fbec27316" + integrity sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw== + dependencies: + "@atproto-labs/simple-store" "0.3.0" + lru-cache "^10.2.0" + +"@atproto-labs/simple-store-redis@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store-redis/-/simple-store-redis-0.0.1.tgz#1dfc92cbec9b648c4349255aebb7bce9d7dc5eeb" + integrity sha512-hGkfDNVtTqwcRx27k6u25pgwNIHq3xDCRuojkfHf6c1B9R5rKphdZJ91Mn3lCvsyDB/lUqqLuzKuXQWFml/u5g== + dependencies: + "@atproto-labs/simple-store" "0.3.0" + +"@atproto-labs/simple-store@0.3.0", "@atproto-labs/simple-store@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store/-/simple-store-0.3.0.tgz#65c0a5c949fe6c8dc3bdaf13ab40848f20073593" + integrity sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ== + +"@atproto-labs/xrpc-utils@^0.0.24": + version "0.0.24" + resolved "https://registry.yarnpkg.com/@atproto-labs/xrpc-utils/-/xrpc-utils-0.0.24.tgz#0546778b9b83854d8a160dc4dea145e5a23ae8fc" + integrity sha512-wWXd2Ht47UsL/UbDCr3twMFSZrh0xSI56u4O3kz0DTU4G+530mCG71mMVE6eeYcR+j6FEjp7o2Ld6c7wFklYGw== + dependencies: + "@atproto/xrpc" "^0.7.6" + "@atproto/xrpc-server" "^0.10.0" + +"@atproto/api@^0.19.2": + version "0.19.3" + resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.19.3.tgz#61de8d2e31abe9eb2b4c8f4ad124ed79d4a77e89" + integrity sha512-G8YpBpRouHdTAIagi/QQIUZOhGd1jfBQWkJy9QfxAzjjEpPvaVOSk4e1S85QzGLm/xbzVONzGkmdtiOSfP6wVg== + dependencies: + "@atproto/common-web" "^0.4.18" + "@atproto/lexicon" "^0.6.2" + "@atproto/syntax" "^0.5.0" + "@atproto/xrpc" "^0.7.7" + await-lock "^2.2.2" + multiformats "^9.9.0" + tlds "^1.234.0" + zod "^3.23.8" + +"@atproto/aws@^0.2.31": + version "0.2.31" + resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.2.31.tgz#e46d7db34ee57c4f9817269f1e73a7eddba2b9b8" + integrity sha512-jzw0v4KttNqeEZtkIujIOCvWABJl4m8WQuSOlJtYeJhn/xaBC1+CNt7qnvYCzBd+T5nncZU8junHSEbOMdVwiA== + dependencies: + "@atproto/common" "^0.5.0" + "@atproto/common-web" "^0.4.4" + "@atproto/crypto" "^0.4.4" + "@atproto/repo" "^0.8.11" + "@aws-sdk/client-cloudfront" "^3.879.0" + "@aws-sdk/client-kms" "^3.879.0" + "@aws-sdk/client-s3" "^3.879.0" + "@aws-sdk/lib-storage" "3.879.0" + "@noble/curves" "^1.7.0" + key-encoder "^2.0.3" + multiformats "^9.9.0" + uint8arrays "3.0.0" + +"@atproto/bsky@^0.0.219": + version "0.0.219" + resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.219.tgz#6a9f82eb4ab999e121d04ad2b3f08ff60cc75fba" + integrity sha512-Vm7JpIyCqd7sHzHsXqppGSaKkXKUhvdZ/UOldc247Bgmx+L/U+E6IeR028hzMr1YyDvU+bkO1hlqT8uUovOCdA== + dependencies: + "@atproto-labs/fetch-node" "^0.2.0" + "@atproto-labs/xrpc-utils" "^0.0.24" + "@atproto/api" "^0.19.2" + "@atproto/common" "^0.5.14" + "@atproto/crypto" "^0.4.5" + "@atproto/did" "^0.3.0" + "@atproto/identity" "^0.4.12" + "@atproto/lexicon" "^0.6.2" + "@atproto/repo" "^0.8.12" + "@atproto/sync" "^0.1.40" + "@atproto/syntax" "^0.5.0" + "@atproto/xrpc-server" "^0.10.15" + "@bufbuild/protobuf" "^1.5.0" + "@connectrpc/connect" "^1.1.4" + "@connectrpc/connect-express" "^1.1.4" + "@connectrpc/connect-node" "^1.1.4" + "@did-plc/lib" "^0.0.1" + "@growthbook/growthbook" "^1.6.2" + "@hapi/address" "^5.1.1" + "@types/http-errors" "^2.0.1" + compression "^1.7.4" + cors "^2.8.5" + disposable-email-domains-js "^1.5.0" + etcd3 "^1.1.2" + express "^4.17.2" + http-errors "^2.0.0" + http-terminator "^3.2.0" + ioredis "^5.3.2" + jose "^5.0.1" + key-encoder "^2.0.3" + kysely "^0.22.0" + leo-profanity "^1.8.0" + multiformats "^9.9.0" + murmurhash "^2.0.1" + p-queue "^6.6.2" + pg "^8.10.0" + pino "^8.21.0" + pino-http "^8.2.1" + sharp "^0.33.5" + structured-headers "^1.0.1" + typed-emitter "^2.1.0" + uint8arrays "3.0.0" + undici "^6.19.8" + zod "3.23.8" + +"@atproto/bsync@^0.0.24": + version "0.0.24" + resolved "https://registry.yarnpkg.com/@atproto/bsync/-/bsync-0.0.24.tgz#6b0d4b02c0c0241687456ab817471d36ee81ae61" + integrity sha512-JN+oncaPBNRjzjTPGR7Q1fkKF3cqOQ6oLRrAh9kVU04ZS3FhWUG8cQvnr8wb1PUhFb/XYpWkwDw5+GIhdb7Lfw== + dependencies: + "@atproto/common" "^0.5.14" + "@atproto/syntax" "^0.5.0" + "@bufbuild/protobuf" "^1.5.0" + "@connectrpc/connect" "^1.1.4" + "@connectrpc/connect-node" "^1.1.4" + http-terminator "^3.2.0" + kysely "^0.22.0" + pg "^8.10.0" + pino-http "^8.2.1" + typed-emitter "^2.1.0" + +"@atproto/common-web@^0.4.17", "@atproto/common-web@^0.4.18", "@atproto/common-web@^0.4.4", "@atproto/common-web@^0.4.7": + version "0.4.18" + resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.4.18.tgz#832976340457afd3d29345ad2c6f0ac0bff087dd" + integrity sha512-ilImzP+9N/mtse440kN60pGrEzG7wi4xsV13nGeLrS+Zocybc/ISOpKlbZM13o+twPJ+Q7veGLw9CtGg0GAFoQ== + dependencies: + "@atproto/lex-data" "^0.0.13" + "@atproto/lex-json" "^0.0.13" + "@atproto/syntax" "^0.5.0" + zod "^3.23.8" + +"@atproto/common@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.0.tgz#4216a8fef5b985ab62ac21252a0f8ca0f4a0f210" + integrity sha512-OB5tWE2R19jwiMIs2IjQieH5KTUuMb98XGCn9h3xuu6NanwjlmbCYMv08fMYwIp3UQ6jcq//84cDT3Bu6fJD+A== + dependencies: + "@ipld/dag-cbor" "^7.0.3" + multiformats "^9.6.4" + pino "^8.6.1" + zod "^3.14.2" + +"@atproto/common@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.1.tgz#ec33a3b4995c91d3ad2e90fc4cdbc65284ceff84" + integrity sha512-GYwot5wF/z8iYGSPjrLHuratLc0CVgovmwfJss7+BUOB6y2/Vw8+1Vw0n9DDI0gb5vmx3UI8z0uJgC8aa8yuJg== + dependencies: + "@ipld/dag-cbor" "^7.0.3" + multiformats "^9.6.4" + pino "^8.6.1" + zod "^3.14.2" + +"@atproto/common@^0.5.0", "@atproto/common@^0.5.14", "@atproto/common@^0.5.3": + version "0.5.14" + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.5.14.tgz#e7281d07587f4a6b79ab98d23d0a4c3451798864" + integrity sha512-FnhTppvJw8I1AuvEkL9JREFwmM6ciYfSlQ0Zo6neiJIhTf1wf5/ONeFSYKu1/dxC63JEratGIAfVjSBJJZi7sg== + dependencies: + "@atproto/common-web" "^0.4.18" + "@atproto/lex-cbor" "^0.0.14" + "@atproto/lex-data" "^0.0.13" + multiformats "^9.9.0" + pino "^8.21.0" + +"@atproto/crypto@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.1.0.tgz#bc73a479f9dbe06fa025301c182d7f7ab01bc568" + integrity sha512-9xgFEPtsCiJEPt9o3HtJT30IdFTGw5cQRSJVIy5CFhqBA4vDLcdXiRDLCjkzHEVbtNCsHUW6CrlfOgbeLPcmcg== + dependencies: + "@noble/secp256k1" "^1.7.0" + big-integer "^1.6.51" + multiformats "^9.6.4" + one-webcrypto "^1.0.3" + uint8arrays "3.0.0" + +"@atproto/crypto@^0.4.4", "@atproto/crypto@^0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.4.5.tgz#fc6ad4fdfe8338147196c8050791cc6a22657eb6" + integrity sha512-n40aKkMoCatP0u9Yvhrdk6fXyOHFDDbkdm4h4HCyWW+KlKl8iXfD5iV+ECq+w5BM+QH25aIpt3/j6EUNerhLxw== + dependencies: + "@noble/curves" "^1.7.0" + "@noble/hashes" "^1.6.1" + uint8arrays "3.0.0" + +"@atproto/dev-env@^0.3.213": + version "0.3.213" + resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.213.tgz#30ca66f827d44ccabb02b359119f68549fa3edf0" + integrity sha512-Bjhv+zzcQxhwV4I7si+yDls8sSetksILeiBemfRe3cvE4GOgs7KfsYI5+pqNmBZ5rrFPt3KUeN9vIo31LCgZOw== + dependencies: + "@atproto/api" "^0.19.2" + "@atproto/bsky" "^0.0.219" + "@atproto/bsync" "^0.0.24" + "@atproto/common-web" "^0.4.18" + "@atproto/crypto" "^0.4.5" + "@atproto/identity" "^0.4.12" + "@atproto/lexicon" "^0.6.2" + "@atproto/ozone" "^0.1.166" + "@atproto/pds" "^0.4.214" + "@atproto/sync" "^0.1.40" + "@atproto/syntax" "^0.5.0" + "@atproto/xrpc-server" "^0.10.15" + "@did-plc/lib" "^0.0.1" + "@did-plc/server" "^0.0.1" + dotenv "^16.0.3" + express "^4.18.2" + get-port "^5.1.1" + multiformats "^9.9.0" + uint8arrays "3.0.0" + undici "^6.14.1" + +"@atproto/did@0.3.0", "@atproto/did@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@atproto/did/-/did-0.3.0.tgz#0f6b11a5119672a41075fa58e97956b296ac171c" + integrity sha512-raUPzUGegtW/6OxwCmM8bhZvuIMzxG5t9oWsth6Tp91Kb5fTnHV2h/KKNF1C82doeA4BdXCErTyg7ISwLbQkzA== + dependencies: + zod "^3.23.8" + +"@atproto/identity@^0.4.12": + version "0.4.12" + resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.4.12.tgz#ead1312677a60d162e6d0df8fe5fda4727b5c15a" + integrity sha512-P+Jn0HvKhIh1tps5n3xGrCxt+XiFWzp4kdgloyFhFmVLwjDU547DQkWx4r5Vhuiah7fRZGVSlk39R4U6SPrACg== + dependencies: + "@atproto/common-web" "^0.4.17" + "@atproto/crypto" "^0.4.5" + +"@atproto/jwk-jose@^0.1.11": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@atproto/jwk-jose/-/jwk-jose-0.1.11.tgz#ef64bce940a66e267fc3cf0db8df4dbd062bb28a" + integrity sha512-i4Fnr2sTBYmMmHXl7NJh8GrCH+tDQEVWrcDMDnV5DjJfkgT17wIqvojIw9SNbSL4Uf0OtfEv6AgG0A+mgh8b5Q== + dependencies: + "@atproto/jwk" "0.6.0" + jose "^5.2.0" + +"@atproto/jwk@0.6.0", "@atproto/jwk@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@atproto/jwk/-/jwk-0.6.0.tgz#e813f77d9c89c025d4074340777fafaa2fba08a5" + integrity sha512-bDoJPvt7TrQVi/rBfBrSSpGykhtIriKxeYCYQTiPRKFfyRhbgpElF0wPXADjIswnbzZdOwbY63az4E/CFVT3Tw== + dependencies: + multiformats "^9.9.0" + zod "^3.23.8" + +"@atproto/lex-cbor@^0.0.14": + version "0.0.14" + resolved "https://registry.yarnpkg.com/@atproto/lex-cbor/-/lex-cbor-0.0.14.tgz#8e378095585f5a86a074e87b82e1c4b803ebb2a6" + integrity sha512-zeqxaKAifR8qlFKg4A6t1RCT8TcjeDnIXLtp3QnDu0QoxslxsmcsrqNrrgmka8w+bYW2+h/rT9MPWglkT7vHyw== + dependencies: + "@atproto/lex-data" "^0.0.13" + tslib "^2.8.1" + +"@atproto/lex-client@^0.0.15": + version "0.0.15" + resolved "https://registry.yarnpkg.com/@atproto/lex-client/-/lex-client-0.0.15.tgz#c647d14e91ca3f52feebf4b34f80abb7e93b3bee" + integrity sha512-j/eZGCdkhABU8Z868Y/gn909hS77rOCdMqtOaQdflEaKUKiAo2/gqeTpoAjHBnL5Rzz255wj9qZMqZTR/Ygwxw== + dependencies: + "@atproto/lex-data" "^0.0.13" + "@atproto/lex-json" "^0.0.13" + "@atproto/lex-schema" "^0.0.14" + tslib "^2.8.1" + +"@atproto/lex-data@^0.0.13": + version "0.0.13" + resolved "https://registry.yarnpkg.com/@atproto/lex-data/-/lex-data-0.0.13.tgz#db1bcfa12d5056210f6eb7f3b8bac909909d6b9c" + integrity sha512-7Z7RwZ1Y/JzBF/Tcn/I4UJ/vIGfh5zn1zjv0KX+flke2JtgFkSE8uh2hOtqgBQMNqE3zdJFM+dcSWln86hR3MQ== + dependencies: + multiformats "^9.9.0" + tslib "^2.8.1" + uint8arrays "3.0.0" + unicode-segmenter "^0.14.0" + +"@atproto/lex-document@^0.0.15": + version "0.0.15" + resolved "https://registry.yarnpkg.com/@atproto/lex-document/-/lex-document-0.0.15.tgz#b2f19756291a0d259cd99f5ebe4872e9133069b6" + integrity sha512-QT2MbICG4cTFrrA19SIHpZJ33WRLdzjhDsEhSknQ4dE5CjqPf4BP9LaC4pOeW8NE5Kn92hgIm3JWNjoak8blXw== + dependencies: + "@atproto/lex-schema" "^0.0.14" + core-js "^3" + tslib "^2.8.1" + +"@atproto/lex-json@^0.0.13": + version "0.0.13" + resolved "https://registry.yarnpkg.com/@atproto/lex-json/-/lex-json-0.0.13.tgz#b0081f786aeeb1707087318fb03c928e75c19059" + integrity sha512-hwLhkKaIHulGJpt0EfXAEWdrxqM2L1tV/tvilzhMp3QxPqYgXchFnrfVmLsyFDx6P6qkH1GsX/XC2V36U0UlPQ== + dependencies: + "@atproto/lex-data" "^0.0.13" + tslib "^2.8.1" + +"@atproto/lex-resolver@^0.0.17": + version "0.0.17" + resolved "https://registry.yarnpkg.com/@atproto/lex-resolver/-/lex-resolver-0.0.17.tgz#2c474f6babeb54665656bf28b8d27a98de69deae" + integrity sha512-6nI5bYZUYh50ZI8r4erLRP9EbNcW226VShpVN3vHyOSgTje4VP1RTcvBhROBAPj4rL3vc+Oa8OiL6IQXkYrQBg== + dependencies: + "@atproto-labs/did-resolver" "^0.2.6" + "@atproto/crypto" "^0.4.5" + "@atproto/lex-client" "^0.0.15" + "@atproto/lex-data" "^0.0.13" + "@atproto/lex-document" "^0.0.15" + "@atproto/lex-schema" "^0.0.14" + "@atproto/repo" "^0.8.12" + "@atproto/syntax" "^0.5.0" + tslib "^2.8.1" + +"@atproto/lex-schema@^0.0.14": + version "0.0.14" + resolved "https://registry.yarnpkg.com/@atproto/lex-schema/-/lex-schema-0.0.14.tgz#c29f5278d55441e76802d64f7a9df60e7a87786b" + integrity sha512-xUxFuXdgVVI1IBDXcQlanH7HuEo9Pk65DYifnhqFDzNRH9SZQxPvPO+rOxMG/bRHygPaI+A+UbXr+S7qpPYOLg== + dependencies: + "@atproto/lex-data" "^0.0.13" + "@atproto/syntax" "^0.5.0" + tslib "^2.8.1" + +"@atproto/lexicon@^0.6.0", "@atproto/lexicon@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.6.2.tgz#f6152a2119df953236ca127c4b30e332265e81e7" + integrity sha512-p3Ly6hinVZW0ETuAXZMeUGwuMm3g8HvQMQ41yyEE6AL0hAkfeKFaZKos6BdBrr6CjkpbrDZqE8M+5+QOceysMw== + dependencies: + "@atproto/common-web" "^0.4.18" + "@atproto/syntax" "^0.5.0" + iso-datestring-validator "^2.2.2" + multiformats "^9.9.0" + zod "^3.23.8" + +"@atproto/oauth-provider-api@0.3.7": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-api/-/oauth-provider-api-0.3.7.tgz#7b911256536a72dbba6f38081a200836a3ab50b8" + integrity sha512-7yU9vuQFt/hy4NzlDtn+LuhIGvVKkhgWAkCmopnseMPBw6oGPT90uOsTxMkVGtHuKVvBSz7hOXoELXpnZq3gDQ== + dependencies: + "@atproto/jwk" "0.6.0" + "@atproto/oauth-types" "0.6.2" + +"@atproto/oauth-provider-frontend@0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-frontend/-/oauth-provider-frontend-0.2.9.tgz#68486c0d9710a1325a02a303a6b22c733239b219" + integrity sha512-m1NhqC7ydEpF5ELV13CxkgCawyMX8wbAXls/4af3Tsz3IOkdM6zPgQeYK7Zj+7Nywjml4mZTkJ8rZiT6O9+5sw== + optionalDependencies: + "@atproto/oauth-provider-api" "0.3.7" + +"@atproto/oauth-provider-ui@0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-ui/-/oauth-provider-ui-0.4.3.tgz#c80b076c2d2a7cc45e45866796f09b959bcf1c03" + integrity sha512-BLNZmtOwoHu2qk/Oi6dUR8TcXQaJre6wgW8YjkW5bKf+Vftn3PGzh8bKgr1fQZDYweZ6AF148imA2OzVSAaLHQ== + optionalDependencies: + "@atproto/oauth-provider-api" "0.3.7" + +"@atproto/oauth-provider@^0.15.12": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider/-/oauth-provider-0.15.12.tgz#9dbbfdd6808399d9d7ff8993ac888938fbf4c515" + integrity sha512-Ri4aVx2I4lOKxViB92jwPhAs/NctWEwV0tgYSHcaRpvqr2SVlC2LxTVjUq14ohdbVfv4VFRzj0vZypEX+mclHg== + dependencies: + "@atproto-labs/fetch" "^0.2.3" + "@atproto-labs/fetch-node" "^0.2.0" + "@atproto-labs/pipe" "^0.1.1" + "@atproto-labs/simple-store" "^0.3.0" + "@atproto-labs/simple-store-memory" "^0.1.4" + "@atproto/common" "^0.5.14" + "@atproto/did" "^0.3.0" + "@atproto/jwk" "^0.6.0" + "@atproto/jwk-jose" "^0.1.11" + "@atproto/lex-document" "^0.0.15" + "@atproto/lex-resolver" "^0.0.17" + "@atproto/oauth-provider-api" "0.3.7" + "@atproto/oauth-provider-frontend" "0.2.9" + "@atproto/oauth-provider-ui" "0.4.3" + "@atproto/oauth-scopes" "^0.3.2" + "@atproto/oauth-types" "^0.6.3" + "@atproto/syntax" "^0.5.0" + "@hapi/accept" "^6.0.3" + "@hapi/address" "^5.1.1" + "@hapi/bourne" "^3.0.0" + "@hapi/content" "^6.0.0" + cookie "^0.7.0" + disposable-email-domains-js "^1.5.0" + forwarded "^0.2.0" + http-errors "^2.0.0" + ioredis "^5.3.2" + jose "^5.2.0" + zod "^3.23.8" + +"@atproto/oauth-scopes@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@atproto/oauth-scopes/-/oauth-scopes-0.3.2.tgz#26443492936d6da05deadeaf1223bd10adc45a33" + integrity sha512-88awgvB9asSR86KjEXL31N9nFd1XG+QtbzEJFw5/wwEv41tS4S8c4Prqb/MAzVuFQ4OHOndYo1VDD99vGMpqTA== + dependencies: + "@atproto/did" "^0.3.0" + "@atproto/syntax" "^0.5.0" + +"@atproto/oauth-types@0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@atproto/oauth-types/-/oauth-types-0.6.2.tgz#d829fae63421dcea7ac703e84460175d2f8d9299" + integrity sha512-2cuboM4RQBCYR8NQC5uGRkW6KgCgKyq/B5/+tnMmWZYtZGVUQvsUWQHK/ZiMCnVXbcDNtc/RIEJQJDZ8FXMoxg== + dependencies: + "@atproto/did" "0.3.0" + "@atproto/jwk" "0.6.0" + zod "^3.23.8" + +"@atproto/oauth-types@^0.6.3": + version "0.6.3" + resolved "https://registry.yarnpkg.com/@atproto/oauth-types/-/oauth-types-0.6.3.tgz#4fc996d0af61874830079d1b1bddc7c0774ad6b2" + integrity sha512-jdKuoPknJuh/WjI+mYk7agSbx9mNVMbS6Dr3k1z2YMY2oRiCQjxYBuo4MLKATbxj05nMQaZRWlHRUazoAu5Cng== + dependencies: + "@atproto/did" "^0.3.0" + "@atproto/jwk" "^0.6.0" + zod "^3.23.8" + +"@atproto/ozone@^0.1.166": + version "0.1.166" + resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.166.tgz#9e65d6f67ef1fe285d0880e5f5a1b282dc63bd70" + integrity sha512-XZ77P/V/tt3SqTQYRsi5nM3P2h+QaNT7Nz3GTf+TMLVolACufRHPoDgp/PoTuS2FaLj1ndHnGyIPvZi/o8he6g== + dependencies: + "@atproto/api" "^0.19.2" + "@atproto/common" "^0.5.14" + "@atproto/crypto" "^0.4.5" + "@atproto/identity" "^0.4.12" + "@atproto/lexicon" "^0.6.2" + "@atproto/syntax" "^0.5.0" + "@atproto/ws-client" "^0.0.4" + "@atproto/xrpc" "^0.7.7" + "@atproto/xrpc-server" "^0.10.15" + "@did-plc/lib" "^0.0.1" + compression "^1.7.4" + cors "^2.8.5" + express "^4.17.2" + http-terminator "^3.2.0" + kysely "^0.22.0" + lande "^1.0.10" + multiformats "^9.9.0" + p-queue "^6.6.2" + pg "^8.10.0" + pino-http "^8.2.1" + structured-headers "^1.0.1" + typed-emitter "^2.1.0" + uint8arrays "3.0.0" + undici "^6.14.1" + ws "^8.12.0" + +"@atproto/pds@^0.4.214": + version "0.4.214" + resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.214.tgz#c68d55ec0b00a4e35f4801c826d44b65cd62f984" + integrity sha512-bTWeWg3H0TlELfE2eI2ySQuC6ojsCBSSmPtCXBh3Td9TFNpIoZQ/tYLUJMtMXaiVUi6HxzXQL1/iuYfC4Y+ZYQ== + dependencies: + "@atproto-labs/fetch-node" "^0.2.0" + "@atproto-labs/simple-store" "^0.3.0" + "@atproto-labs/simple-store-memory" "^0.1.4" + "@atproto-labs/simple-store-redis" "^0.0.1" + "@atproto-labs/xrpc-utils" "^0.0.24" + "@atproto/api" "^0.19.2" + "@atproto/aws" "^0.2.31" + "@atproto/common" "^0.5.14" + "@atproto/crypto" "^0.4.5" + "@atproto/identity" "^0.4.12" + "@atproto/lex-cbor" "^0.0.14" + "@atproto/lex-data" "^0.0.13" + "@atproto/lexicon" "^0.6.2" + "@atproto/oauth-provider" "^0.15.12" + "@atproto/oauth-scopes" "^0.3.2" + "@atproto/repo" "^0.8.12" + "@atproto/syntax" "^0.5.0" + "@atproto/xrpc" "^0.7.7" + "@atproto/xrpc-server" "^0.10.15" + "@did-plc/lib" "^0.0.4" + "@hapi/address" "^5.1.1" + better-sqlite3 "^10.0.0" + bytes "^3.1.2" + compression "^1.7.4" + cors "^2.8.5" + disposable-email-domains-js "^1.5.0" + express "^4.17.2" + express-async-errors "^3.1.1" + file-type "^16.5.4" + glob "^10.3.10" + handlebars "^4.7.7" + http-terminator "^3.2.0" + ioredis "^5.3.2" + jose "^5.0.1" + key-encoder "^2.0.3" + kysely "^0.22.0" + multiformats "^9.9.0" + nodemailer "^6.8.0" + nodemailer-html-to-text "^3.2.0" + p-queue "^6.6.2" + pino "^8.21.0" + pino-http "^8.2.1" + typed-emitter "^2.1.0" + uint8arrays "3.0.0" + undici "^6.19.8" + zod "^3.23.8" + +"@atproto/repo@^0.8.11", "@atproto/repo@^0.8.12": + version "0.8.12" + resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.8.12.tgz#f1caee2ff954a917f921569eac22ab669b39a0af" + integrity sha512-QpVTVulgfz5PUiCTELlDBiRvnsnwrFWi+6CfY88VwXzrRHd9NE8GItK7sfxQ6U65vD/idH8ddCgFrlrsn1REPQ== + dependencies: + "@atproto/common" "^0.5.3" + "@atproto/common-web" "^0.4.7" + "@atproto/crypto" "^0.4.5" + "@atproto/lexicon" "^0.6.0" + "@ipld/dag-cbor" "^7.0.0" + multiformats "^9.9.0" + uint8arrays "3.0.0" + varint "^6.0.0" + zod "^3.23.8" + +"@atproto/sync@^0.1.40": + version "0.1.40" + resolved "https://registry.yarnpkg.com/@atproto/sync/-/sync-0.1.40.tgz#b8b467ac4fbf2e682d36cd5697508f993e9e645a" + integrity sha512-tnzFPqKBXPXpuGvx87sjqLHgEzIOT/QfQZUp0YOUHtpipBgvijEnNXV9XeTIgiUAv69wyRR+6YjJkLCYfHpVwQ== + dependencies: + "@atproto/common" "^0.5.14" + "@atproto/identity" "^0.4.12" + "@atproto/lexicon" "^0.6.2" + "@atproto/repo" "^0.8.12" + "@atproto/syntax" "^0.5.0" + "@atproto/xrpc-server" "^0.10.15" + multiformats "^9.9.0" + p-queue "^6.6.2" + ws "^8.12.0" + +"@atproto/syntax@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.5.0.tgz#061ef538aee784f8e5fa1ea50a7f5beb4c276c9b" + integrity sha512-UA2DSpGdOQzUQ4gi5SH+NEJz/YR3a3Fg3y2oh+xETDSiTRmA4VhHRCojhXAVsBxUT6EnItw190C/KN+DWW90kw== + dependencies: + tslib "^2.8.1" + +"@atproto/ws-client@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@atproto/ws-client/-/ws-client-0.0.4.tgz#9e436c0e72abea5da0d5a7e8ec862cec0fdb10cd" + integrity sha512-dox1XIymuC7/ZRhUqKezIGgooZS45C6vHCfu0PnWjfvsLCK2kAlnvX4IBkA/WpcoijDhQ9ejChnFbo/sLmgvAg== + dependencies: + "@atproto/common" "^0.5.3" + ws "^8.12.0" + +"@atproto/xrpc-server@^0.10.0", "@atproto/xrpc-server@^0.10.15": + version "0.10.15" + resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.10.15.tgz#c767437fdf7d64ec6cbc9c9cf97a27d2b62554b8" + integrity sha512-ryGVAKuLU0Nqkv25gsPzffJhxnCXwPOyBi+sNAfP7n+mDDwcumH6RWySEHoDDrTsGvAP2r8o2ZrLCWuzKm7vSg== + dependencies: + "@atproto/common" "^0.5.14" + "@atproto/crypto" "^0.4.5" + "@atproto/lex-cbor" "^0.0.14" + "@atproto/lex-client" "^0.0.15" + "@atproto/lex-data" "^0.0.13" + "@atproto/lex-json" "^0.0.13" + "@atproto/lex-schema" "^0.0.14" + "@atproto/lexicon" "^0.6.2" + "@atproto/ws-client" "^0.0.4" + "@atproto/xrpc" "^0.7.7" + express "^4.17.2" + http-errors "^2.0.0" + mime-types "^2.1.35" + rate-limiter-flexible "^2.4.1" + ws "^8.12.0" + +"@atproto/xrpc@^0.7.6", "@atproto/xrpc@^0.7.7": + version "0.7.7" + resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.7.7.tgz#c0e3106c854cb9bc7d3129de2f31b8256eb0ed11" + integrity sha512-K1ZyO/BU8JNtXX5dmPp7b5UrkLMMqpsIa/Lrj5D3Su+j1Xwq1m6QJ2XJ1AgjEjkI1v4Muzm7klianLE6XGxtmA== + dependencies: + "@atproto/lexicon" "^0.6.0" + zod "^3.23.8" + +"@aws-crypto/crc32@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" + integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg== + dependencies: + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" + +"@aws-crypto/crc32c@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz#4e34aab7f419307821509a98b9b08e84e0c1917e" + integrity sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag== + dependencies: + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" + +"@aws-crypto/sha1-browser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz#b0ee2d2821d3861f017e965ef3b4cb38e3b6a0f4" + integrity sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg== + dependencies: + "@aws-crypto/supports-web-crypto" "^5.2.0" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-crypto/sha256-browser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" + integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== + dependencies: + "@aws-crypto/sha256-js" "^5.2.0" + "@aws-crypto/supports-web-crypto" "^5.2.0" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" + integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== + dependencies: + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" + +"@aws-crypto/supports-web-crypto@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb" + integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg== + dependencies: + tslib "^2.6.2" + +"@aws-crypto/util@5.2.0", "@aws-crypto/util@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da" + integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-cloudfront@^3.879.0": + version "3.1002.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.1002.0.tgz#e9142dd17a57f1da28fa7425d5c5d7e7d6166c14" + integrity sha512-1JRFy+1K59FzjEl3IzYw6bVB25to0VokK99Gg57Apu7WSBKvD7KLc2CtTiSUYPQS2Q6M+7lHnh3cj+8IFbt4/Q== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/credential-provider-node" "^3.972.16" + "@aws-sdk/middleware-host-header" "^3.972.6" + "@aws-sdk/middleware-logger" "^3.972.6" + "@aws-sdk/middleware-recursion-detection" "^3.972.6" + "@aws-sdk/middleware-user-agent" "^3.972.17" + "@aws-sdk/region-config-resolver" "^3.972.6" + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-endpoints" "^3.996.3" + "@aws-sdk/util-user-agent-browser" "^3.972.6" + "@aws-sdk/util-user-agent-node" "^3.973.2" + "@smithy/config-resolver" "^4.4.9" + "@smithy/core" "^3.23.7" + "@smithy/fetch-http-handler" "^5.3.12" + "@smithy/hash-node" "^4.2.10" + "@smithy/invalid-dependency" "^4.2.10" + "@smithy/middleware-content-length" "^4.2.10" + "@smithy/middleware-endpoint" "^4.4.21" + "@smithy/middleware-retry" "^4.4.38" + "@smithy/middleware-serde" "^4.2.11" + "@smithy/middleware-stack" "^4.2.10" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/node-http-handler" "^4.4.13" + "@smithy/protocol-http" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.10" + "@smithy/util-base64" "^4.3.1" + "@smithy/util-body-length-browser" "^4.2.1" + "@smithy/util-body-length-node" "^4.2.2" + "@smithy/util-defaults-mode-browser" "^4.3.37" + "@smithy/util-defaults-mode-node" "^4.2.40" + "@smithy/util-endpoints" "^3.3.1" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-retry" "^4.2.10" + "@smithy/util-stream" "^4.5.16" + "@smithy/util-utf8" "^4.2.1" + "@smithy/util-waiter" "^4.2.10" + tslib "^2.6.2" + +"@aws-sdk/client-kms@^3.879.0": + version "3.1002.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-kms/-/client-kms-3.1002.0.tgz#1f46196babcdd9fdc30e008be9ccabf649ea0a2a" + integrity sha512-J0UN301gkKT95ANzIRCDiEaoJkVi22uBBpwv6wTgyMn7BaS2ISUWe01itZ5wQdS541V8NIiyJEjc9hlYWBHb5Q== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/credential-provider-node" "^3.972.16" + "@aws-sdk/middleware-host-header" "^3.972.6" + "@aws-sdk/middleware-logger" "^3.972.6" + "@aws-sdk/middleware-recursion-detection" "^3.972.6" + "@aws-sdk/middleware-user-agent" "^3.972.17" + "@aws-sdk/region-config-resolver" "^3.972.6" + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-endpoints" "^3.996.3" + "@aws-sdk/util-user-agent-browser" "^3.972.6" + "@aws-sdk/util-user-agent-node" "^3.973.2" + "@smithy/config-resolver" "^4.4.9" + "@smithy/core" "^3.23.7" + "@smithy/fetch-http-handler" "^5.3.12" + "@smithy/hash-node" "^4.2.10" + "@smithy/invalid-dependency" "^4.2.10" + "@smithy/middleware-content-length" "^4.2.10" + "@smithy/middleware-endpoint" "^4.4.21" + "@smithy/middleware-retry" "^4.4.38" + "@smithy/middleware-serde" "^4.2.11" + "@smithy/middleware-stack" "^4.2.10" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/node-http-handler" "^4.4.13" + "@smithy/protocol-http" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.10" + "@smithy/util-base64" "^4.3.1" + "@smithy/util-body-length-browser" "^4.2.1" + "@smithy/util-body-length-node" "^4.2.2" + "@smithy/util-defaults-mode-browser" "^4.3.37" + "@smithy/util-defaults-mode-node" "^4.2.40" + "@smithy/util-endpoints" "^3.3.1" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-retry" "^4.2.10" + "@smithy/util-utf8" "^4.2.1" + tslib "^2.6.2" + +"@aws-sdk/client-s3@^3.879.0": + version "3.1002.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.1002.0.tgz#f84d4780d0a1858fbb81cc1199601967b6d08f0a" + integrity sha512-tc+vZgvjcm+1Ot+YhQjXZxVELKGGGO3D5cuR4p5xaeitXYX2+RRiz4/WdSak9slumIClnlXsdqhJ0OHognUT+w== + dependencies: + "@aws-crypto/sha1-browser" "5.2.0" + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/credential-provider-node" "^3.972.16" + "@aws-sdk/middleware-bucket-endpoint" "^3.972.6" + "@aws-sdk/middleware-expect-continue" "^3.972.6" + "@aws-sdk/middleware-flexible-checksums" "^3.973.3" + "@aws-sdk/middleware-host-header" "^3.972.6" + "@aws-sdk/middleware-location-constraint" "^3.972.6" + "@aws-sdk/middleware-logger" "^3.972.6" + "@aws-sdk/middleware-recursion-detection" "^3.972.6" + "@aws-sdk/middleware-sdk-s3" "^3.972.17" + "@aws-sdk/middleware-ssec" "^3.972.6" + "@aws-sdk/middleware-user-agent" "^3.972.17" + "@aws-sdk/region-config-resolver" "^3.972.6" + "@aws-sdk/signature-v4-multi-region" "^3.996.5" + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-endpoints" "^3.996.3" + "@aws-sdk/util-user-agent-browser" "^3.972.6" + "@aws-sdk/util-user-agent-node" "^3.973.2" + "@smithy/config-resolver" "^4.4.9" + "@smithy/core" "^3.23.7" + "@smithy/eventstream-serde-browser" "^4.2.10" + "@smithy/eventstream-serde-config-resolver" "^4.3.10" + "@smithy/eventstream-serde-node" "^4.2.10" + "@smithy/fetch-http-handler" "^5.3.12" + "@smithy/hash-blob-browser" "^4.2.11" + "@smithy/hash-node" "^4.2.10" + "@smithy/hash-stream-node" "^4.2.10" + "@smithy/invalid-dependency" "^4.2.10" + "@smithy/md5-js" "^4.2.10" + "@smithy/middleware-content-length" "^4.2.10" + "@smithy/middleware-endpoint" "^4.4.21" + "@smithy/middleware-retry" "^4.4.38" + "@smithy/middleware-serde" "^4.2.11" + "@smithy/middleware-stack" "^4.2.10" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/node-http-handler" "^4.4.13" + "@smithy/protocol-http" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.10" + "@smithy/util-base64" "^4.3.1" + "@smithy/util-body-length-browser" "^4.2.1" + "@smithy/util-body-length-node" "^4.2.2" + "@smithy/util-defaults-mode-browser" "^4.3.37" + "@smithy/util-defaults-mode-node" "^4.2.40" + "@smithy/util-endpoints" "^3.3.1" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-retry" "^4.2.10" + "@smithy/util-stream" "^4.5.16" + "@smithy/util-utf8" "^4.2.1" + "@smithy/util-waiter" "^4.2.10" + tslib "^2.6.2" + +"@aws-sdk/core@^3.973.17": + version "3.973.17" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.973.17.tgz#d46f3865398352017e78e0d794397fec8861289b" + integrity sha512-VtgGP0TjbCeyp6DQpiBqJKbemTSIaN2bZc3UbeTDCani3lBCyxn75ouJYD6koSSp0bh7rKLEbUpiFsNCI7tr0w== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/xml-builder" "^3.972.9" + "@smithy/core" "^3.23.7" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/property-provider" "^4.2.10" + "@smithy/protocol-http" "^5.3.10" + "@smithy/signature-v4" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.1" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-utf8" "^4.2.1" + tslib "^2.6.2" + +"@aws-sdk/crc64-nvme@^3.972.3": + version "3.972.3" + resolved "https://registry.yarnpkg.com/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.3.tgz#cb005d9d4b53e0ad6a9e2f2ddf153d9f1df12da8" + integrity sha512-UExeK+EFiq5LAcbHm96CQLSia+5pvpUVSAsVApscBzayb7/6dJBJKwV4/onsk4VbWSmqxDMcfuTD+pC4RxgZHg== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-env@^3.972.15": + version "3.972.15" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.15.tgz#9fea1e8a39f678beff0912dbaa1e5653239fe011" + integrity sha512-RhHQG1lhkWHL4tK1C/KDjaOeis+9U0tAMnWDiwiSVQZMC7CsST9Xin+sK89XywJ5g/tyABtb7TvFePJ4Te5XSQ== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/types" "^3.973.4" + "@smithy/property-provider" "^4.2.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-http@^3.972.17": + version "3.972.17" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.17.tgz#e9c881fbd5758d31f5e82ff8657099923c1bbdec" + integrity sha512-b/bDL76p51+yQ+0O9ZDH5nw/ioE0sRYkjwjOwFWAWZXo6it2kQZUOXhVpjohx3ldKyUxt/SwAivjUu1Nr/PWlQ== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/types" "^3.973.4" + "@smithy/fetch-http-handler" "^5.3.12" + "@smithy/node-http-handler" "^4.4.13" + "@smithy/property-provider" "^4.2.10" + "@smithy/protocol-http" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/util-stream" "^4.5.16" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-ini@^3.972.15": + version "3.972.15" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.15.tgz#8562fe36c35334fd454307ebfabc50f2f016b10b" + integrity sha512-qWnM+wB8MmU2kKY7f4KowKjOjkwRosaFxrtseEEIefwoXn1SjN+CbHzXBVdTAQxxkbBiqhPgJ/WHiPtES4grRQ== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/credential-provider-env" "^3.972.15" + "@aws-sdk/credential-provider-http" "^3.972.17" + "@aws-sdk/credential-provider-login" "^3.972.15" + "@aws-sdk/credential-provider-process" "^3.972.15" + "@aws-sdk/credential-provider-sso" "^3.972.15" + "@aws-sdk/credential-provider-web-identity" "^3.972.15" + "@aws-sdk/nested-clients" "^3.996.5" + "@aws-sdk/types" "^3.973.4" + "@smithy/credential-provider-imds" "^4.2.10" + "@smithy/property-provider" "^4.2.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-login@^3.972.15": + version "3.972.15" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.15.tgz#6c64c142d75614e2f5c35ebea05d9ce3994b3e28" + integrity sha512-x92FJy34/95wgu+qOGD8SHcgh1hZ9Qx2uFtQEGn4m9Ljou8ICIv3Ybq5yxdB7A60S8ZGCQB0mIopmjJwiLbh5g== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/nested-clients" "^3.996.5" + "@aws-sdk/types" "^3.973.4" + "@smithy/property-provider" "^4.2.10" + "@smithy/protocol-http" "^5.3.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@^3.972.16": + version "3.972.16" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.16.tgz#58bf657b7227f62008e1bc6c73b793edaff2a1a9" + integrity sha512-7mlt14Ee4rPFAFUVgpWE7+0CBhetJJyzVFqfIsMp7sgyOSm9Y/+qHZOWAuK5I4JNc+Y5PltvJ9kssTzRo92iXQ== + dependencies: + "@aws-sdk/credential-provider-env" "^3.972.15" + "@aws-sdk/credential-provider-http" "^3.972.17" + "@aws-sdk/credential-provider-ini" "^3.972.15" + "@aws-sdk/credential-provider-process" "^3.972.15" + "@aws-sdk/credential-provider-sso" "^3.972.15" + "@aws-sdk/credential-provider-web-identity" "^3.972.15" + "@aws-sdk/types" "^3.973.4" + "@smithy/credential-provider-imds" "^4.2.10" + "@smithy/property-provider" "^4.2.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@^3.972.15": + version "3.972.15" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.15.tgz#2d5498024a9cc2c77658ee4850a383156623c5ff" + integrity sha512-PrH3iTeD18y/8uJvQD2s/T87BTGhsdS/1KZU7ReWHXsplBwvCqi7AbnnNbML1pFlQwRWCE2RdSZFWDVId3CvkA== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/types" "^3.973.4" + "@smithy/property-provider" "^4.2.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-sso@^3.972.15": + version "3.972.15" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.15.tgz#c740bc0b91507f5593078d97f1d0521e32c1fc44" + integrity sha512-M/+LBHTPKZxxXckM6m4dnJeR+jlm9NynH9b2YDswN4Zj2St05SK/crdL3Wy3WfJTZootnnhm3oTh87Usl7PS7w== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/nested-clients" "^3.996.5" + "@aws-sdk/token-providers" "3.1002.0" + "@aws-sdk/types" "^3.973.4" + "@smithy/property-provider" "^4.2.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-web-identity@^3.972.15": + version "3.972.15" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.15.tgz#937e0e10f566d6ce71ff7170602a60eabf82d93f" + integrity sha512-QTH6k93v+UOfFam/ado8zc71tH+enTVyuvLy9uEWXX1x894dN5ovtf/MdBDgFwq3g6c9mbtgVJ4B+yBqDtXvdA== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/nested-clients" "^3.996.5" + "@aws-sdk/types" "^3.973.4" + "@smithy/property-provider" "^4.2.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/lib-storage@3.879.0": + version "3.879.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.879.0.tgz#62c8b6ad53e0d8e595d5ba486def140de413b0d1" + integrity sha512-FAb3vOfLIrf8lPuDoxKRu18DxXfQLEFm7MoXi0jd8ooFjD09jpVCQGNrRuMCqc688wrx7zJSovWObtn4LRjvrg== + dependencies: + "@smithy/abort-controller" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.19" + "@smithy/smithy-client" "^4.5.0" + buffer "5.6.0" + events "3.3.0" + stream-browserify "3.0.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-bucket-endpoint@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.6.tgz#978d9e075450856b0bd93b2473b27cb17da3ce8a" + integrity sha512-3H2bhvb7Cb/S6WFsBy/Dy9q2aegC9JmGH1inO8Lb2sWirSqpLJlZmvQHPE29h2tIxzv6el/14X/tLCQ8BQU6ZQ== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-arn-parser" "^3.972.2" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/protocol-http" "^5.3.10" + "@smithy/types" "^4.13.0" + "@smithy/util-config-provider" "^4.2.1" + tslib "^2.6.2" + +"@aws-sdk/middleware-expect-continue@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.6.tgz#72b3975fcc95b40df6bd8e6943c82d834ab92433" + integrity sha512-QMdffpU+GkSGC+bz6WdqlclqIeCsOfgX8JFZ5xvwDtX+UTj4mIXm3uXu7Ko6dBseRcJz1FA6T9OmlAAY6JgJUg== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/protocol-http" "^5.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-flexible-checksums@^3.973.3": + version "3.973.3" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.973.3.tgz#8363afc1e5eb25a87872451595eaeaf2495b0b4f" + integrity sha512-C9Mu9pXMpQh7jBydx0MrfQxNIKwJvKbVbJJ0GZthM+cQ+KTChXA01MwttRsMq0ZRb4pBJZQtIKDUxXusDr5OKg== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@aws-crypto/crc32c" "5.2.0" + "@aws-crypto/util" "5.2.0" + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/crc64-nvme" "^3.972.3" + "@aws-sdk/types" "^3.973.4" + "@smithy/is-array-buffer" "^4.2.1" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/protocol-http" "^5.3.10" + "@smithy/types" "^4.13.0" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-stream" "^4.5.16" + "@smithy/util-utf8" "^4.2.1" + tslib "^2.6.2" + +"@aws-sdk/middleware-host-header@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.6.tgz#810928d279e60cafecd0d6c70064af61f977cb56" + integrity sha512-5XHwjPH1lHB+1q4bfC7T8Z5zZrZXfaLcjSMwTd1HPSPrCmPFMbg3UQ5vgNWcVj0xoX4HWqTGkSf2byrjlnRg5w== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/protocol-http" "^5.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-location-constraint@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.6.tgz#d524d2b2b294a0c92d11ed2a52274ff0014e0384" + integrity sha512-XdZ2TLwyj3Am6kvUc67vquQvs6+D8npXvXgyEUJAdkUDx5oMFJKOqpK+UpJhVDsEL068WAJl2NEGzbSik7dGJQ== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-logger@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.972.6.tgz#fcc9622ce4e29533a0c9e9d30031ff6a8ff37f60" + integrity sha512-iFnaMFMQdljAPrvsCVKYltPt2j40LQqukAbXvW7v0aL5I+1GO7bZ/W8m12WxW3gwyK5p5u1WlHg8TSAizC5cZw== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-recursion-detection@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.6.tgz#35f02c25aea55d66365dc64dbfe8c5a5b9104756" + integrity sha512-dY4v3of5EEMvik6+UDwQ96KfUFDk8m1oZDdkSc5lwi4o7rFrjnv0A+yTV+gu230iybQZnKgDLg/rt2P3H+Vscw== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@aws/lambda-invoke-store" "^0.2.2" + "@smithy/protocol-http" "^5.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-sdk-s3@^3.972.17": + version "3.972.17" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.17.tgz#ac5f29dae6c99cb912e492c09a78ecff2a9b33c3" + integrity sha512-uSyOGoVFMP44pTt29MIMfsOjegqE/7lT0K3HG0GWPiH2lD4rqZC/TRi/kH4zrGiOQdsaLc+dkfd7Sb2q8vh+gA== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-arn-parser" "^3.972.2" + "@smithy/core" "^3.23.7" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/protocol-http" "^5.3.10" + "@smithy/signature-v4" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/util-config-provider" "^4.2.1" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-stream" "^4.5.16" + "@smithy/util-utf8" "^4.2.1" + tslib "^2.6.2" + +"@aws-sdk/middleware-ssec@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.6.tgz#aab297072dfcba16c01c2e5073cacf7b3f360ef2" + integrity sha512-acvMUX9jF4I2Ew+Z/EA6gfaFaz9ehci5wxBmXCZeulLuv8m+iGf6pY9uKz8TPjg39bdAz3hxoE0eLP8Qz+IYlA== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-user-agent@^3.972.17": + version "3.972.17" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.17.tgz#5e3fc8b64b1f44a89df4cf3d677a769cb8d62c91" + integrity sha512-HHArkgWzomuwufXwheQqkddu763PWCpoNTq1dGjqXzJT/lojX3VlOqjNSR2Xvb6/T9ISfwYcMOcbFgUp4EWxXA== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-endpoints" "^3.996.3" + "@smithy/core" "^3.23.7" + "@smithy/protocol-http" "^5.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/nested-clients@^3.996.5": + version "3.996.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.996.5.tgz#2634d242bdd1ef04c10f48ec9ceb4b171cb7f99c" + integrity sha512-zn0WApcULn7Rtl6T+KP2CQTZo/7wOa2YV1yHQnbijTQoi4YXQHM8s21JcJzt33/mqPh8AdvWX1f+83KvKuxlZw== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/middleware-host-header" "^3.972.6" + "@aws-sdk/middleware-logger" "^3.972.6" + "@aws-sdk/middleware-recursion-detection" "^3.972.6" + "@aws-sdk/middleware-user-agent" "^3.972.17" + "@aws-sdk/region-config-resolver" "^3.972.6" + "@aws-sdk/types" "^3.973.4" + "@aws-sdk/util-endpoints" "^3.996.3" + "@aws-sdk/util-user-agent-browser" "^3.972.6" + "@aws-sdk/util-user-agent-node" "^3.973.2" + "@smithy/config-resolver" "^4.4.9" + "@smithy/core" "^3.23.7" + "@smithy/fetch-http-handler" "^5.3.12" + "@smithy/hash-node" "^4.2.10" + "@smithy/invalid-dependency" "^4.2.10" + "@smithy/middleware-content-length" "^4.2.10" + "@smithy/middleware-endpoint" "^4.4.21" + "@smithy/middleware-retry" "^4.4.38" + "@smithy/middleware-serde" "^4.2.11" + "@smithy/middleware-stack" "^4.2.10" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/node-http-handler" "^4.4.13" + "@smithy/protocol-http" "^5.3.10" + "@smithy/smithy-client" "^4.12.1" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.10" + "@smithy/util-base64" "^4.3.1" + "@smithy/util-body-length-browser" "^4.2.1" + "@smithy/util-body-length-node" "^4.2.2" + "@smithy/util-defaults-mode-browser" "^4.3.37" + "@smithy/util-defaults-mode-node" "^4.2.40" + "@smithy/util-endpoints" "^3.3.1" + "@smithy/util-middleware" "^4.2.10" + "@smithy/util-retry" "^4.2.10" + "@smithy/util-utf8" "^4.2.1" + tslib "^2.6.2" + +"@aws-sdk/region-config-resolver@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.6.tgz#593df7d004d63aca07a9c5799bace7da8deb46cd" + integrity sha512-Aa5PusHLXAqLTX1UKDvI3pHQJtIsF7Q+3turCHqfz/1F61/zDMWfbTC8evjhrrYVAtz9Vsv3SJ/waSUeu7B6gw== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/config-resolver" "^4.4.9" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/signature-v4-multi-region@^3.996.5": + version "3.996.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.5.tgz#ddf67cfc9aa640bf162032015338d147c1624b7b" + integrity sha512-AVIhf74wRMzU1WBPVzcGPjlADF5VxZ8m8Ctm1v7eO4/reWMhZnEBn4tlR4vM4pOYFkdrYp3MTzYVZIikCO+53Q== + dependencies: + "@aws-sdk/middleware-sdk-s3" "^3.972.17" + "@aws-sdk/types" "^3.973.4" + "@smithy/protocol-http" "^5.3.10" + "@smithy/signature-v4" "^5.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/token-providers@3.1002.0": + version "3.1002.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.1002.0.tgz#f65d38725afd4a94a7bc752816ec1aeece502d15" + integrity sha512-x972uKOydFn4Rb0PZJzLdNW59rH0KWC78Q2JbQzZpGlGt0DxjYdDRwBG6F42B1MyaEwHGqO/tkGc4r3/PRFfMw== + dependencies: + "@aws-sdk/core" "^3.973.17" + "@aws-sdk/nested-clients" "^3.996.5" + "@aws-sdk/types" "^3.973.4" + "@smithy/property-provider" "^4.2.10" + "@smithy/shared-ini-file-loader" "^4.4.5" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.4": + version "3.973.4" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.4.tgz#7cb870b08fd83dcb83e4cae321a3108408aaa021" + integrity sha512-RW60aH26Bsc016Y9B98hC0Plx6fK5P2v/iQYwMzrSjiDh1qRMUCP6KrXHYEHe3uFvKiOC93Z9zk4BJsUi6Tj1Q== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/util-arn-parser@^3.972.2": + version "3.972.2" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.972.2.tgz#ef18ba889e8ef35f083f1e962018bc0ce70acef3" + integrity sha512-VkykWbqMjlSgBFDyrY3nOSqupMc6ivXuGmvci6Q3NnLq5kC+mKQe2QBZ4nrWRE/jqOxeFP2uYzLtwncYYcvQDg== + dependencies: + tslib "^2.6.2" + +"@aws-sdk/util-endpoints@^3.996.3": + version "3.996.3" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.996.3.tgz#0dd4e7cbdbdb69157aa0a2f60fbcf472dbf0a139" + integrity sha512-yWIQSNiCjykLL+ezN5A+DfBb1gfXTytBxm57e64lYmwxDHNmInYHRJYYRAGWG1o77vKEiWaw4ui28e3yb1k5aQ== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.10" + "@smithy/util-endpoints" "^3.3.1" + tslib "^2.6.2" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.965.4" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.965.4.tgz#f62d279e1905f6939b6dffb0f76ab925440f72bf" + integrity sha512-H1onv5SkgPBK2P6JR2MjGgbOnttoNzSPIRoeZTNPZYyaplwGg50zS3amXvXqF0/qfXpWEC9rLWU564QTB9bSog== + dependencies: + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-browser@^3.972.6": + version "3.972.6" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.6.tgz#522b5ef758475ec4c4124cfa87c5cb79e1f8719d" + integrity sha512-Fwr/llD6GOrFgQnKaI2glhohdGuBDfHfora6iG9qsBBBR8xv1SdCSwbtf5CWlUdCw5X7g76G/9Hf0Inh0EmoxA== + dependencies: + "@aws-sdk/types" "^3.973.4" + "@smithy/types" "^4.13.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-node@^3.973.2": + version "3.973.2" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.2.tgz#e6669ea0f374c1aba3dc0cd5192e28e771afe64b" + integrity sha512-lpaIuekdkpw7VRiik0IZmd6TyvEUcuLgKZ5fKRGpCA3I4PjrD/XH15sSwW+OptxQjNU4DEzSxag70spC9SluvA== + dependencies: + "@aws-sdk/middleware-user-agent" "^3.972.17" + "@aws-sdk/types" "^3.973.4" + "@smithy/node-config-provider" "^4.3.10" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@aws-sdk/xml-builder@^3.972.9": + version "3.972.9" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.9.tgz#38a43a0a860c4c73100d727e5b28c43339597b50" + integrity sha512-ItnlMgSqkPrUfJs7EsvU/01zw5UeIb2tNPhD09LBLHbg+g+HDiKibSLwpkuz/ZIlz4F2IMn+5XgE4AK/pfPuog== + dependencies: + "@smithy/types" "^4.13.0" + fast-xml-parser "5.4.1" + tslib "^2.6.2" + +"@aws/lambda-invoke-store@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.3.tgz#f1137f56209ccc69c15f826242cbf37f828617dd" + integrity sha512-oLvsaPMTBejkkmHhjf09xTgk71mOqyr/409NKhRIL08If7AhVfUsJhVsx386uJaqNd42v9kWamQ9lFbkoC2dYw== + +"@bufbuild/protobuf@^1.5.0": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.10.1.tgz#1d76d15290c0212076c15ede94d15157ba0c6344" + integrity sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ== + +"@connectrpc/connect-express@^1.1.4": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@connectrpc/connect-express/-/connect-express-1.7.0.tgz#b555f12484121788ebfc5ca6439d5ffdde81cc39" + integrity sha512-Ajj/jupbF0nCgYlUzuKWQHuwLq5XKqQdJYF5aHmnVZlUcg5Z5zp1u4waG2j4JRczuTb8e0R1yVMTnad5SHM3Lg== + +"@connectrpc/connect-node@^1.1.4": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@connectrpc/connect-node/-/connect-node-1.7.0.tgz#e4e78b24462c8a20940f61915f6d8cbd81e3fee5" + integrity sha512-6vaPIkG/NyhxlYgytLoR9KYbPhczEboFB2OYWkA9qvUz1K7efXfeGrlRxoLtpa+r8VxyIOw73w5ktNe743nD+A== + dependencies: + undici "^5.28.4" + +"@connectrpc/connect@^1.1.4": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@connectrpc/connect/-/connect-1.7.0.tgz#03489c61502f70c2c466f97683a2431953915c6a" + integrity sha512-iNKdJRi69YP3mq6AePRT8F/HrxWCewrhxnLMNm0vpqXAR8biwzRtO6Hjx80C6UvtKJ5sFmffQT7I4Baecz389w== + +"@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" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@did-plc/lib@*", "@did-plc/lib@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@did-plc/lib/-/lib-0.0.4.tgz#be5400dc9464ec3088294bd089631e8a8aa98215" + integrity sha512-Omeawq3b8G/c/5CtkTtzovSOnWuvIuCI4GTJNrt1AmCskwEQV7zbX5d6km1mjJNbE0gHuQPTVqZxLVqetNbfwA== + dependencies: + "@atproto/common" "0.1.1" + "@atproto/crypto" "0.1.0" + "@ipld/dag-cbor" "^7.0.3" + axios "^1.3.4" + multiformats "^9.6.4" + uint8arrays "3.0.0" + zod "^3.14.2" + +"@did-plc/lib@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@did-plc/lib/-/lib-0.0.1.tgz#5fd78c71901168ac05c5650af3a376c76461991c" + integrity sha512-RkY5w9DbYMco3SjeepqIiMveqz35exjlVDipCs2gz9AXF4/cp9hvmrp9zUWEw2vny+FjV8vGEN7QpaXWaO6nhg== + dependencies: + "@atproto/common" "0.1.0" + "@atproto/crypto" "0.1.0" + "@ipld/dag-cbor" "^7.0.3" + axios "^1.3.4" + multiformats "^9.6.4" + uint8arrays "3.0.0" + zod "^3.14.2" + +"@did-plc/server@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@did-plc/server/-/server-0.0.1.tgz#8d1ba701f3b2b952b7c8fe03ef3118bb0cba077c" + integrity sha512-GtxxHcOrOQ6fNI1ufq3Zqjc2PtWqPZOdsuzlwtxiH9XibUGwDkb0GmaBHyU5GiOxOKZEW1GspZ8mreBA6XOlTQ== + dependencies: + "@atproto/common" "0.1.0" + "@atproto/crypto" "0.1.0" + "@did-plc/lib" "*" + axios "^1.3.4" + cors "^2.8.5" + express "^4.18.2" + express-async-errors "^3.1.1" + http-terminator "^3.2.0" + kysely "^0.23.4" + multiformats "^9.6.4" + pg "^8.9.0" + pino "^8.11.0" + pino-http "^8.3.3" + +"@emnapi/runtime@^1.2.0": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.8.1.tgz#550fa7e3c0d49c5fb175a116e8cd70614f9a22a5" + integrity sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg== + dependencies: + tslib "^2.4.0" + +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + +"@growthbook/growthbook@^1.6.2": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@growthbook/growthbook/-/growthbook-1.6.5.tgz#c9e2119187ee3288525a77a7c64353276f5ba91b" + integrity sha512-mUaMsgeUTpRIUOTn33EUXHRK6j7pxBjwqH4WpQyq+pukjd1AIzWlEa6w7i6bInJUcweGgP2beXZmaP6b6UPn7A== + dependencies: + dom-mutator "^0.6.0" + +"@grpc/grpc-js@^1.8.20": + version "1.14.3" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.14.3.tgz#4c9b817a900ae4020ddc28515ae4b52c78cfb8da" + integrity sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA== + dependencies: + "@grpc/proto-loader" "^0.8.0" + "@js-sdsl/ordered-map" "^4.4.2" + +"@grpc/proto-loader@^0.7.8": + version "0.7.15" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.15.tgz#4cdfbf35a35461fc843abe8b9e2c0770b5095e60" + integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ== + dependencies: + lodash.camelcase "^4.3.0" + long "^5.0.0" + protobufjs "^7.2.5" + yargs "^17.7.2" + +"@grpc/proto-loader@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.8.0.tgz#b6c324dd909c458a0e4aa9bfd3d69cf78a4b9bd8" + integrity sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ== + dependencies: + lodash.camelcase "^4.3.0" + long "^5.0.0" + protobufjs "^7.5.3" + yargs "^17.7.2" + +"@hapi/accept@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-6.0.3.tgz#eef0800a4f89cd969da8e5d0311dc877c37279ab" + integrity sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw== + dependencies: + "@hapi/boom" "^10.0.1" + "@hapi/hoek" "^11.0.2" + +"@hapi/address@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-5.1.1.tgz#e9925fc1b65f5cc3fbea821f2b980e4652e84cb6" + integrity sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/boom@^10.0.0", "@hapi/boom@^10.0.1": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-10.0.1.tgz#ebb14688275ae150aa6af788dbe482e6a6062685" + integrity sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA== + dependencies: + "@hapi/hoek" "^11.0.2" + +"@hapi/bourne@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-3.0.0.tgz#f11fdf7dda62fe8e336fa7c6642d9041f30356d7" + integrity sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w== + +"@hapi/content@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@hapi/content/-/content-6.0.0.tgz#2427af3bac8a2f743512fce2a70cbdc365af29df" + integrity sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA== + dependencies: + "@hapi/boom" "^10.0.0" + +"@hapi/hoek@^11.0.2": + version "11.0.7" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-11.0.7.tgz#56a920793e0a42d10e530da9a64cc0d3919c4002" + integrity sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ== + +"@img/sharp-darwin-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" + integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== + optionalDependencies: + "@img/sharp-libvips-darwin-arm64" "1.0.4" + +"@img/sharp-darwin-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" + integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.0.4" + +"@img/sharp-libvips-darwin-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" + integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== + +"@img/sharp-libvips-darwin-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" + integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== + +"@img/sharp-libvips-linux-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" + integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== + +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== + +"@img/sharp-libvips-linux-s390x@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" + integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== + +"@img/sharp-libvips-linux-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" + integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== + +"@img/sharp-libvips-linuxmusl-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" + integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== + +"@img/sharp-libvips-linuxmusl-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" + integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== + +"@img/sharp-linux-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" + integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.0.4" + +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" + +"@img/sharp-linux-s390x@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" + integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.0.4" + +"@img/sharp-linux-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" + integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.0.4" + +"@img/sharp-linuxmusl-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" + integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + +"@img/sharp-linuxmusl-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" + integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + +"@img/sharp-wasm32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" + integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== + dependencies: + "@emnapi/runtime" "^1.2.0" + +"@img/sharp-win32-ia32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" + integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== + +"@img/sharp-win32-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" + integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== + +"@ioredis/commands@1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.5.1.tgz#a0a3449993b10c7aeb91ecb0d5f1a23692297e51" + integrity sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw== + +"@ipld/dag-cbor@^7.0.0", "@ipld/dag-cbor@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" + integrity sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA== + dependencies: + cborg "^1.6.0" + multiformats "^9.5.4" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@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" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + +"@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" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@js-sdsl/ordered-map@^4.4.2": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" + integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== + +"@noble/curves@^1.7.0": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.7.tgz#79d04b4758a43e4bca2cbdc62e7771352fa6b951" + integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw== + dependencies: + "@noble/hashes" "1.8.0" + +"@noble/hashes@1.8.0", "@noble/hashes@^1.6.1": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + +"@noble/secp256k1@^1.7.0": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.2.tgz#c2c3343e2dce80e15a914d7442147507f8a98e7f" + integrity sha512-/qzwYl5eFLH8OWIecQWM31qld2g1NfjgylK+TNhqtaUKP37Nm+Y+z30Fjhw0Ct8p9yCQEm2N3W/AckdIb3SMcQ== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@smithy/abort-controller@^4.0.5", "@smithy/abort-controller@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.2.11.tgz#b989e63615e5449c2ba90d80fcbe4fdd71123c54" + integrity sha512-Hj4WoYWMJnSpM6/kchsm4bUNTL9XiSyhvoMb2KIq4VJzyDt7JpGHUZHkVNPZVC7YE1tf8tPeVauxpFBKGW4/KQ== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/chunked-blob-reader-native@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.3.tgz#9e79a80d8d44798e7ce7a8f968cbbbaf5a40d950" + integrity sha512-jA5k5Udn7Y5717L86h4EIv06wIr3xn8GM1qHRi/Nf31annXcXHJjBKvgztnbn2TxH3xWrPBfgwHsOwZf0UmQWw== + dependencies: + "@smithy/util-base64" "^4.3.2" + tslib "^2.6.2" + +"@smithy/chunked-blob-reader@^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.2.tgz#3af48e37b10e5afed478bb31d2b7bc03c81d196c" + integrity sha512-St+kVicSyayWQca+I1rGitaOEH6uKgE8IUWoYnnEX26SWdWQcL6LvMSD19Lg+vYHKdT9B2Zuu7rd3i6Wnyb/iw== + dependencies: + tslib "^2.6.2" + +"@smithy/config-resolver@^4.4.10", "@smithy/config-resolver@^4.4.9": + version "4.4.10" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.10.tgz#22529a2e8c23d979f69c3abca8d984c69d06ce4c" + integrity sha512-IRTkd6ps0ru+lTWnfnsbXzW80A8Od8p3pYiZnW98K2Hb20rqfsX7VTlfUwhrcOeSSy68Gn9WBofwPuw3e5CCsg== + dependencies: + "@smithy/node-config-provider" "^4.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-config-provider" "^4.2.2" + "@smithy/util-endpoints" "^3.3.2" + "@smithy/util-middleware" "^4.2.11" + tslib "^2.6.2" + +"@smithy/core@^3.23.7", "@smithy/core@^3.23.8": + version "3.23.8" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.23.8.tgz#6bb913a38522337e09b541aedfb078fe7275722d" + integrity sha512-f7uPeBi7ehmLT4YF2u9j3qx6lSnurG1DLXOsTtJrIRNDF7VXio4BGHQ+SQteN/BrUVudbkuL4v7oOsRCzq4BqA== + dependencies: + "@smithy/middleware-serde" "^4.2.12" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-body-length-browser" "^4.2.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-stream" "^4.5.17" + "@smithy/util-utf8" "^4.2.2" + "@smithy/uuid" "^1.1.2" + tslib "^2.6.2" + +"@smithy/credential-provider-imds@^4.2.10", "@smithy/credential-provider-imds@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.11.tgz#106dda92b2a4275879e84f348826c311a1bb1b05" + integrity sha512-lBXrS6ku0kTj3xLmsJW0WwqWbGQ6ueooYyp/1L9lkyT0M02C+DWwYwc5aTyXFbRaK38ojALxNixg+LxKSHZc0g== + dependencies: + "@smithy/node-config-provider" "^4.3.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + tslib "^2.6.2" + +"@smithy/eventstream-codec@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.11.tgz#b26d17be447ddb361d7f90af44ff7fb03d8a3e08" + integrity sha512-Sf39Ml0iVX+ba/bgMPxaXWAAFmHqYLTmbjAPfLPLY8CrYkRDEqZdUsKC1OwVMCdJXfAt0v4j49GIJ8DoSYAe6w== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@smithy/types" "^4.13.0" + "@smithy/util-hex-encoding" "^4.2.2" + tslib "^2.6.2" + +"@smithy/eventstream-serde-browser@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.11.tgz#9bcaec291d3b5b6a199773ab5d096f395abc22e2" + integrity sha512-3rEpo3G6f/nRS7fQDsZmxw/ius6rnlIpz4UX6FlALEzz8JoSxFmdBt0SZnthis+km7sQo6q5/3e+UJcuQivoXA== + dependencies: + "@smithy/eventstream-serde-universal" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-config-resolver@^4.3.10": + version "4.3.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.11.tgz#87a30070c7026acdffa5294b0953966d21c588db" + integrity sha512-XeNIA8tcP/GDWnnKkO7qEm/bg0B/bP9lvIXZBXcGZwZ+VYM8h8k9wuDvUODtdQ2Wcp2RcBkPTCSMmaniVHrMlA== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-node@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.11.tgz#25a2d6d3d13048be4e62c7211c99d138bddc480e" + integrity sha512-fzbCh18rscBDTQSCrsp1fGcclLNF//nJyhjldsEl/5wCYmgpHblv5JSppQAyQI24lClsFT0wV06N1Porn0IsEw== + dependencies: + "@smithy/eventstream-serde-universal" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-universal@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.11.tgz#c5b5b15c2599441e3d8779bee592fbbbf722878f" + integrity sha512-MJ7HcI+jEkqoWT5vp+uoVaAjBrmxBtKhZTeynDRG/seEjJfqyg3SiqMMqyPnAMzmIfLaeJ/uiuSDP/l9AnMy/Q== + dependencies: + "@smithy/eventstream-codec" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/fetch-http-handler@^5.3.12", "@smithy/fetch-http-handler@^5.3.13": + version "5.3.13" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.13.tgz#9858e43ff009af6085cca326805c9d0c9a9579f5" + integrity sha512-U2Hcfl2s3XaYjikN9cT4mPu8ybDbImV3baXR0PkVlC0TTx808bRP3FaPGAzPtB8OByI+JqJ1kyS+7GEgae7+qQ== + dependencies: + "@smithy/protocol-http" "^5.3.11" + "@smithy/querystring-builder" "^4.2.11" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" + tslib "^2.6.2" + +"@smithy/hash-blob-browser@^4.2.11": + version "4.2.12" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.12.tgz#daa43ccb485d55187c93e72471e0fd48cae8da7b" + integrity sha512-1wQE33DsxkM/waftAhCH9VtJbUGyt1PJ9YRDpOu+q9FUi73LLFUZ2fD8A61g2mT1UY9k7b99+V1xZ41Rz4SHRQ== + dependencies: + "@smithy/chunked-blob-reader" "^5.2.2" + "@smithy/chunked-blob-reader-native" "^4.2.3" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/hash-node@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.11.tgz#8b19d53661824ead9627b49a26e5555d6c8a98fd" + integrity sha512-T+p1pNynRkydpdL015ruIoyPSRw9e/SQOWmSAMmmprfswMrd5Ow5igOWNVlvyVFZlxXqGmyH3NQwfwy8r5Jx0A== + dependencies: + "@smithy/types" "^4.13.0" + "@smithy/util-buffer-from" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" + tslib "^2.6.2" + +"@smithy/hash-stream-node@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.11.tgz#30f0236c85c1b900881c01eefe4f329ffe9ef7b1" + integrity sha512-hQsTjwPCRY8w9GK07w1RqJi3e+myh0UaOWBBhZ1UMSDgofH/Q1fEYzU1teaX6HkpX/eWDdm7tAGR0jBPlz9QEQ== + dependencies: + "@smithy/types" "^4.13.0" + "@smithy/util-utf8" "^4.2.2" + tslib "^2.6.2" + +"@smithy/invalid-dependency@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.11.tgz#ded68aa2299474c3cf06695ebb28a343928086ee" + integrity sha512-cGNMrgykRmddrNhYy1yBdrp5GwIgEkniS7k9O1VLB38yxQtlvrxpZtUVvo6T4cKpeZsriukBuuxfJcdZQc/f/g== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/is-array-buffer@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" + integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== + dependencies: + tslib "^2.6.2" + +"@smithy/is-array-buffer@^4.2.1", "@smithy/is-array-buffer@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.2.tgz#c401ce54b12a16529eb1c938a0b6c2247cb763b8" + integrity sha512-n6rQ4N8Jj4YTQO3YFrlgZuwKodf4zUFs7EJIWH86pSCWBaAtAGBFfCM7Wx6D2bBJ2xqFNxGBSrUWswT3M0VJow== + dependencies: + tslib "^2.6.2" + +"@smithy/md5-js@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.11.tgz#1bc8b13ad9cb1b47ac6965fca90ac49f6b22efef" + integrity sha512-350X4kGIrty0Snx2OWv7rPM6p6vM7RzryvFs6B/56Cux3w3sChOb3bymo5oidXJlPcP9fIRxGUCk7GqpiSOtng== + dependencies: + "@smithy/types" "^4.13.0" + "@smithy/util-utf8" "^4.2.2" + tslib "^2.6.2" + +"@smithy/middleware-content-length@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.11.tgz#8a385fa77e8fa6ffea6b46e7af37b14d2678571f" + integrity sha512-UvIfKYAKhCzr4p6jFevPlKhQwyQwlJ6IeKLDhmV1PlYfcW3RL4ROjNEDtSik4NYMi9kDkH7eSwyTP3vNJ/u/Dw== + dependencies: + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/middleware-endpoint@^4.1.19", "@smithy/middleware-endpoint@^4.4.21", "@smithy/middleware-endpoint@^4.4.22": + version "4.4.22" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.22.tgz#5e6f2986e2978cee983393ecd9b71f20fe59359e" + integrity sha512-sc81w1o4Jy+/MAQlY3sQ8C7CmSpcvIi3TAzXblUv2hjG11BBSJi/Cw8vDx5BxMxapuH2I+Gc+45vWsgU07WZRQ== + dependencies: + "@smithy/core" "^3.23.8" + "@smithy/middleware-serde" "^4.2.12" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" + "@smithy/url-parser" "^4.2.11" + "@smithy/util-middleware" "^4.2.11" + tslib "^2.6.2" + +"@smithy/middleware-retry@^4.4.38": + version "4.4.39" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.4.39.tgz#0bc7648bab14aff4866255af2e84c907ae7fe8f4" + integrity sha512-MCVCxaCzuZgiHtHGV2Ke44nh6t4+8/tO+rTYOzrr2+G4nMLU/qbzNCWKBX54lyEaVcGQrfOJiG2f8imtiw+nIQ== + dependencies: + "@smithy/node-config-provider" "^4.3.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/service-error-classification" "^4.2.11" + "@smithy/smithy-client" "^4.12.2" + "@smithy/types" "^4.13.0" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-retry" "^4.2.11" + "@smithy/uuid" "^1.1.2" + tslib "^2.6.2" + +"@smithy/middleware-serde@^4.2.11", "@smithy/middleware-serde@^4.2.12": + version "4.2.12" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.12.tgz#8f836f3edc85701b69df4f2819106a6e0ef50cf8" + integrity sha512-W9g1bOLui7Xn5FABRVS0o3rXL0gfN37d/8I/W7i0N7oxjx9QecUmXEMSUMADTODwdtka9cN43t5BI2CodLJpng== + dependencies: + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/middleware-stack@^4.2.10", "@smithy/middleware-stack@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.11.tgz#cadd3ada5fa11fe8a192cd18444a77c4510c8bc3" + integrity sha512-s+eenEPW6RgliDk2IhjD2hWOxIx1NKrOHxEwNUaUXxYBxIyCcDfNULZ2Mu15E3kwcJWBedTET/kEASPV1A1Akg== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/node-config-provider@^4.3.10", "@smithy/node-config-provider@^4.3.11": + version "4.3.11" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.11.tgz#a6d246b67c10c6873169bae46e6d04261d548402" + integrity sha512-xD17eE7kaLgBBGf5CZQ58hh2YmwK1Z0O8YhffwB/De2jsL0U3JklmhVYJ9Uf37OtUDLF2gsW40Xwwag9U869Gg== + dependencies: + "@smithy/property-provider" "^4.2.11" + "@smithy/shared-ini-file-loader" "^4.4.6" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/node-http-handler@^4.4.13", "@smithy/node-http-handler@^4.4.14": + version "4.4.14" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.4.14.tgz#a40a6677b7cda2c100141833abee1401c2e1a74f" + integrity sha512-DamSqaU8nuk0xTJDrYnRzZndHwwRnyj/n/+RqGGCcBKB4qrQem0mSDiWdupaNWdwxzyMU91qxDmHOCazfhtO3A== + dependencies: + "@smithy/abort-controller" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/querystring-builder" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/property-provider@^4.2.10", "@smithy/property-provider@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.2.11.tgz#7a1b16ae2083272f80e380ee7948ddc103301db1" + integrity sha512-14T1V64o6/ndyrnl1ze1ZhyLzIeYNN47oF/QU6P5m82AEtyOkMJTb0gO1dPubYjyyKuPD6OSVMPDKe+zioOnCg== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/protocol-http@^5.3.10", "@smithy/protocol-http@^5.3.11": + version "5.3.11" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.11.tgz#e4450af3ba9e52e8b99a9c3035c90c8cd853be27" + integrity sha512-hI+barOVDJBkNt4y0L2mu3Ugc0w7+BpJ2CZuLwXtSltGAAwCb3IvnalGlbDV/UCS6a9ZuT3+exd1WxNdLb5IlQ== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/querystring-builder@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.2.11.tgz#befb7753b142fab65edaee070096c1c5cb2ad917" + integrity sha512-7spdikrYiljpket6u0up2Ck2mxhy7dZ0+TDd+S53Dg2DHd6wg+YNJrTCHiLdgZmEXZKI7LJZcwL3721ZRDFiqA== + dependencies: + "@smithy/types" "^4.13.0" + "@smithy/util-uri-escape" "^4.2.2" + tslib "^2.6.2" + +"@smithy/querystring-parser@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.2.11.tgz#b1e85945bc3c80058e0b0114af391bb069b2393f" + integrity sha512-nE3IRNjDltvGcoThD2abTozI1dkSy8aX+a2N1Rs55en5UsdyyIXgGEmevUL3okZFoJC77JgRGe99xYohhsjivQ== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/service-error-classification@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.2.11.tgz#da2ee1af5c851380e6b0146b75416f0e5f64e1f7" + integrity sha512-HkMFJZJUhzU3HvND1+Yw/kYWXp4RPDLBWLcK1n+Vqw8xn4y2YiBhdww8IxhkQjP/QlZun5bwm3vcHc8AqIU3zw== + dependencies: + "@smithy/types" "^4.13.0" + +"@smithy/shared-ini-file-loader@^4.4.5", "@smithy/shared-ini-file-loader@^4.4.6": + version "4.4.6" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.6.tgz#435dc6d907bc8c6f795212e944000de063b2cfe1" + integrity sha512-IB/M5I8G0EeXZTHsAxpx51tMQ5R719F3aq+fjEB6VtNcCHDc0ajFDIGDZw+FW9GxtEkgTduiPpjveJdA/CX7sw== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/signature-v4@^5.3.10": + version "5.3.11" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.11.tgz#81fc2aba69994b23aff730b984418e9696bc36c4" + integrity sha512-V1L6N9aKOBAN4wEHLyqjLBnAz13mtILU0SeDrjOaIZEeN6IFa6DxwRt1NNpOdmSpQUfkBj0qeD3m6P77uzMhgQ== + dependencies: + "@smithy/is-array-buffer" "^4.2.2" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-hex-encoding" "^4.2.2" + "@smithy/util-middleware" "^4.2.11" + "@smithy/util-uri-escape" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" + tslib "^2.6.2" + +"@smithy/smithy-client@^4.12.1", "@smithy/smithy-client@^4.12.2", "@smithy/smithy-client@^4.5.0": + version "4.12.2" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.12.2.tgz#feaf2ddd9e568da4abaf6a2663995770d241f5b3" + integrity sha512-HezY3UuG0k4T+4xhFKctLXCA5N2oN+Rtv+mmL8Gt7YmsUY2yhmcLyW75qrSzldfj75IsCW/4UhY3s20KcFnZqA== + dependencies: + "@smithy/core" "^3.23.8" + "@smithy/middleware-endpoint" "^4.4.22" + "@smithy/middleware-stack" "^4.2.11" + "@smithy/protocol-http" "^5.3.11" + "@smithy/types" "^4.13.0" + "@smithy/util-stream" "^4.5.17" + tslib "^2.6.2" + +"@smithy/types@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.13.0.tgz#9787297a07ee72ef74d4f7d93c744d10ed664c21" + integrity sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw== + dependencies: + tslib "^2.6.2" + +"@smithy/url-parser@^4.2.10", "@smithy/url-parser@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.11.tgz#4c87eb5872c2ab0385086b38eee4b4a6e5a029b2" + integrity sha512-oTAGGHo8ZYc5VZsBREzuf5lf2pAurJQsccMusVZ85wDkX66ojEc/XauiGjzCj50A61ObFTPe6d7Pyt6UBYaing== + dependencies: + "@smithy/querystring-parser" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/util-base64@^4.3.1", "@smithy/util-base64@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.3.2.tgz#be02bcb29a87be744356467ea25ffa413e695cea" + integrity sha512-XRH6b0H/5A3SgblmMa5ErXQ2XKhfbQB+Fm/oyLZ2O2kCUrwgg55bU0RekmzAhuwOjA9qdN5VU2BprOvGGUkOOQ== + dependencies: + "@smithy/util-buffer-from" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" + tslib "^2.6.2" + +"@smithy/util-body-length-browser@^4.2.1", "@smithy/util-body-length-browser@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.2.tgz#c4404277d22039872abdb80e7800f9a63f263862" + integrity sha512-JKCrLNOup3OOgmzeaKQwi4ZCTWlYR5H4Gm1r2uTMVBXoemo1UEghk5vtMi1xSu2ymgKVGW631e2fp9/R610ZjQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-body-length-node@^4.2.2": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.2.3.tgz#f923ca530defb86a9ac3ca2d3066bcca7b304fbc" + integrity sha512-ZkJGvqBzMHVHE7r/hcuCxlTY8pQr1kMtdsVPs7ex4mMU+EAbcXppfo5NmyxMYi2XU49eqaz56j2gsk4dHHPG/g== + dependencies: + tslib "^2.6.2" + +"@smithy/util-buffer-from@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" + integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== + dependencies: + "@smithy/is-array-buffer" "^2.2.0" + tslib "^2.6.2" + +"@smithy/util-buffer-from@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.2.tgz#2c6b7857757dfd88f6cd2d36016179a40ccc913b" + integrity sha512-FDXD7cvUoFWwN6vtQfEta540Y/YBe5JneK3SoZg9bThSoOAC/eGeYEua6RkBgKjGa/sz6Y+DuBZj3+YEY21y4Q== + dependencies: + "@smithy/is-array-buffer" "^4.2.2" + tslib "^2.6.2" + +"@smithy/util-config-provider@^4.2.1", "@smithy/util-config-provider@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.2.2.tgz#52ebf9d8942838d18bc5fb1520de1e8699d7aad6" + integrity sha512-dWU03V3XUprJwaUIFVv4iOnS1FC9HnMHDfUrlNDSh4315v0cWyaIErP8KiqGVbf5z+JupoVpNM7ZB3jFiTejvQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-defaults-mode-browser@^4.3.37": + version "4.3.38" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.38.tgz#c9cb0e0c871b4098e0f234f2426e50fbc8382903" + integrity sha512-c8P1mFLNxcsdAMabB8/VUQUbWzFmgujWi4bAXSggcqLYPc8V4U5abqFqOyn+dK4YT+q8UyCVkTO8807t4t2syA== + dependencies: + "@smithy/property-provider" "^4.2.11" + "@smithy/smithy-client" "^4.12.2" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/util-defaults-mode-node@^4.2.40": + version "4.2.41" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.41.tgz#b1393ef3f4182f72bf1847efcda59961c6d35378" + integrity sha512-/UG+9MT3UZAR0fLzOtMJMfWGcjjHvgggq924x/CRy8vRbL+yFf3Z6vETlvq8vDH92+31P/1gSOFoo7303wN8WQ== + dependencies: + "@smithy/config-resolver" "^4.4.10" + "@smithy/credential-provider-imds" "^4.2.11" + "@smithy/node-config-provider" "^4.3.11" + "@smithy/property-provider" "^4.2.11" + "@smithy/smithy-client" "^4.12.2" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/util-endpoints@^3.3.1", "@smithy/util-endpoints@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.3.2.tgz#a81ee98a2596248f6cdedc868d13cb6b9ea497b2" + integrity sha512-+4HFLpE5u29AbFlTdlKIT7jfOzZ8PDYZKTb3e+AgLz986OYwqTourQ5H+jg79/66DB69Un1+qKecLnkZdAsYcA== + dependencies: + "@smithy/node-config-provider" "^4.3.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/util-hex-encoding@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.2.tgz#4abf3335dd1eb884041d8589ca7628d81a6fd1d3" + integrity sha512-Qcz3W5vuHK4sLQdyT93k/rfrUwdJ8/HZ+nMUOyGdpeGA1Wxt65zYwi3oEl9kOM+RswvYq90fzkNDahPS8K0OIg== + dependencies: + tslib "^2.6.2" + +"@smithy/util-middleware@^4.2.10", "@smithy/util-middleware@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.11.tgz#d2a89893fc2dfd500de412c5f7c7961716855f4d" + integrity sha512-r3dtF9F+TpSZUxpOVVtPfk09Rlo4lT6ORBqEvX3IBT6SkQAdDSVKR5GcfmZbtl7WKhKnmb3wbDTQ6ibR2XHClw== + dependencies: + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/util-retry@^4.2.10", "@smithy/util-retry@^4.2.11": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.2.11.tgz#59fc5364488d4c755eec5afb4054623f852cf0e6" + integrity sha512-XSZULmL5x6aCTTii59wJqKsY1l3eMIAomRAccW7Tzh9r8s7T/7rdo03oektuH5jeYRlJMPcNP92EuRDvk9aXbw== + dependencies: + "@smithy/service-error-classification" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/util-stream@^4.5.16", "@smithy/util-stream@^4.5.17": + version "4.5.17" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.5.17.tgz#53073153deb890d91fd14fd2055e6582b627b0fd" + integrity sha512-793BYZ4h2JAQkNHcEnyFxDTcZbm9bVybD0UV/LEWmZ5bkTms7JqjfrLMi2Qy0E5WFcCzLwCAPgcvcvxoeALbAQ== + dependencies: + "@smithy/fetch-http-handler" "^5.3.13" + "@smithy/node-http-handler" "^4.4.14" + "@smithy/types" "^4.13.0" + "@smithy/util-base64" "^4.3.2" + "@smithy/util-buffer-from" "^4.2.2" + "@smithy/util-hex-encoding" "^4.2.2" + "@smithy/util-utf8" "^4.2.2" + tslib "^2.6.2" + +"@smithy/util-uri-escape@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.2.2.tgz#48e40206e7fe9daefc8d44bb43a1ab17e76abf4a" + integrity sha512-2kAStBlvq+lTXHyAZYfJRb/DfS3rsinLiwb+69SstC9Vb0s9vNWkRwpnj918Pfi85mzi42sOqdV72OLxWAISnw== + dependencies: + tslib "^2.6.2" + +"@smithy/util-utf8@^2.0.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" + integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== + dependencies: + "@smithy/util-buffer-from" "^2.2.0" + tslib "^2.6.2" + +"@smithy/util-utf8@^4.2.1", "@smithy/util-utf8@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.2.tgz#21db686982e6f3393ac262e49143b42370130f13" + integrity sha512-75MeYpjdWRe8M5E3AW0O4Cx3UadweS+cwdXjwYGBW5h/gxxnbeZ877sLPX/ZJA9GVTlL/qG0dXP29JWFCD1Ayw== + dependencies: + "@smithy/util-buffer-from" "^4.2.2" + tslib "^2.6.2" + +"@smithy/util-waiter@^4.2.10": + version "4.2.11" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.2.11.tgz#afe08ad75c9b51e35c83e3c11926855d886741f6" + integrity sha512-x7Rh2azQPs3XxbvCzcttRErKKvLnbZfqRf/gOjw2pb+ZscX88e5UkRPCB67bVnsFHxayvMvmePfKTqsRb+is1A== + dependencies: + "@smithy/abort-controller" "^4.2.11" + "@smithy/types" "^4.13.0" + tslib "^2.6.2" + +"@smithy/uuid@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.1.2.tgz#b6e97c7158615e4a3c775e809c00d8c269b5a12e" + integrity sha512-O/IEdcCUKkubz60tFbGA7ceITTAJsty+lBjNoorP4Z6XRqaFb/OjQjZODophEcuq68nKm6/0r+6/lLQ+XVpk8g== + dependencies: + tslib "^2.6.2" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tsconfig/node10@^1.0.7": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.12.tgz#be57ceac1e4692b41be9de6be8c32a106636dba4" + integrity sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + 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" + 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" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/bn.js@*": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.2.0.tgz#4349b9710e98f9ab3cdc50f1c5e4dcbd8ef29c80" + integrity sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q== + dependencies: + "@types/node" "*" + +"@types/elliptic@^6.4.9": + version "6.4.18" + resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.18.tgz#bc96e26e1ccccbabe8b6f0e409c85898635482e1" + integrity sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw== + dependencies: + "@types/bn.js" "*" + +"@types/http-errors@^2.0.1": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== + +"@types/node@*", "@types/node@>=13.7.0": + version "25.3.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.3.tgz#605862544ee7ffd7a936bcbf0135a14012f1e549" + integrity sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ== + dependencies: + undici-types "~7.18.0" + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-walk@^8.1.1: + version "8.3.5" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496" + integrity sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.4.1: + version "8.16.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a" + integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" + integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +asn1.js@^5.0.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +await-lock@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/await-lock/-/await-lock-2.2.2.tgz#a95a9b269bfd2f69d22b17a321686f551152bcef" + integrity sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw== + +axios@^1.3.4: + version "1.13.6" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.6.tgz#c3f92da917dc209a15dd29936d20d5089b6b6c98" + integrity sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ== + dependencies: + follow-redirects "^1.15.11" + form-data "^4.0.5" + proxy-from-env "^1.1.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +better-sqlite3@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-10.1.0.tgz#8dc07e496fc014a7cd2211f79e591f6ba92838e8" + integrity sha512-hqpHJaCfKEZFaAWdMh6crdzRWyzQzfP6Ih8TYI0vFn01a6ZTDSbJIMXN+6AMBaBOh99DzUy8l3PsV9R3qnJDng== + dependencies: + bindings "^1.5.0" + prebuild-install "^7.1.1" + +big-integer@^1.6.51: + version "1.6.52" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== + +bignumber.js@^9.1.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.1.tgz#759c5aaddf2ffdc4f154f7b493e1c8770f88c4d7" + integrity sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.11.9: + version "4.12.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.3.tgz#2cc2c679188eb35b006f2d0d4710bed8437a769e" + integrity sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g== + +body-parser@~1.20.3: + version "1.20.4" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.4.tgz#f8e20f4d06ca8a50a71ed329c15dccad1cdc547f" + integrity sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA== + dependencies: + bytes "~3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "~1.2.0" + http-errors "~2.0.1" + iconv-lite "~0.4.24" + on-finished "~2.4.1" + qs "~6.14.0" + raw-body "~2.5.3" + type-is "~1.6.18" + unpipe "~1.0.0" + +bowser@^2.11.0: + version "2.14.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.14.1.tgz#4ea39bf31e305184522d7ad7bfd91389e4f0cb79" + integrity sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg== + +brace-expansion@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== + dependencies: + balanced-match "^1.0.0" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +buffer@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bytes@3.1.2, bytes@^3.1.2, bytes@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bound@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +cborg@^1.6.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.2.tgz#83cd581b55b3574c816f82696307c7512db759a1" + integrity sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug== + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +cluster-key-slot@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" + integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== + +cockatiel@^3.1.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/cockatiel/-/cockatiel-3.2.1.tgz#575f937bc4040a20ae27352a6d07c9c5a741981f" + integrity sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +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" + 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" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +compressible@~2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.8.1" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.1.tgz#4a45d909ac16509195a9a28bd91094889c180d79" + integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w== + dependencies: + bytes "3.1.2" + compressible "~2.0.18" + debug "2.6.9" + negotiator "~0.6.4" + on-headers "~1.1.0" + safe-buffer "5.2.1" + vary "~1.1.2" + +content-disposition@~0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie-signature@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== + +cookie@^0.7.0, cookie@~0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + +core-js@^3: + version "3.48.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.48.0.tgz#1f813220a47bbf0e667e3885c36cd6f0593bf14d" + integrity sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ== + +cors@^2.8.5: + version "2.8.6" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.6.tgz#ff5dd69bd95e547503820d29aba4f8faf8dfec96" + integrity sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw== + dependencies: + object-assign "^4" + vary "^1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.3.4: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +denque@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" + integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0, destroy@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^2.0.0, detect-libc@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== + +diff@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.4.tgz#7a6dbfda325f25f07517e9b518f897c08332e07d" + integrity sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ== + +disposable-email-domains-js@^1.5.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/disposable-email-domains-js/-/disposable-email-domains-js-1.22.0.tgz#cc9f425cc3316a1b1ef356440bd4c2e7aba0bc0b" + integrity sha512-5miXovN3Qujy07FczD1Z7To6UfHv6U6AhGy2DNXPaD7+Ga1kzR0l5IRNnRuIOVcPgBZ8n855kubx1/ZECDXI/Q== + +dom-mutator@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/dom-mutator/-/dom-mutator-0.6.0.tgz#079d7a4b3e8981a562cd777548b99baab51d65c5" + integrity sha512-iCt9o0aYfXMUkz/43ZOAUFQYotjGB+GNbYJiJdz4TgXkyToXbbRy5S6FbTp72lRBtfpUMwEc1KmpFEU4CZeoNg== + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dotenv@^16.0.3: + version "16.6.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020" + integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow== + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +elliptic@^6.4.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + 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" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== + dependencies: + once "^1.4.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + 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" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +etcd3@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/etcd3/-/etcd3-1.1.2.tgz#0cb0f101b8c9c14ba3a0ae5b9f1fc7de0f04b662" + integrity sha512-YIampCz1/OmrVo/tR3QltAVUtYCQQOSFoqmHKKeoHbalm+WdXe3l4rhLIylklu8EzR/I3PBiOF4dC847dDskKg== + dependencies: + "@grpc/grpc-js" "^1.8.20" + "@grpc/proto-loader" "^0.7.8" + bignumber.js "^9.1.1" + cockatiel "^3.1.1" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@3.3.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +express-async-errors@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/express-async-errors/-/express-async-errors-3.1.1.tgz#6053236d61d21ddef4892d6bd1d736889fc9da41" + integrity sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng== + +express@^4.17.2, express@^4.18.2: + version "4.22.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.22.1.tgz#1de23a09745a4fffdb39247b344bb5eaff382069" + integrity sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "~1.20.3" + content-disposition "~0.5.4" + content-type "~1.0.4" + cookie "~0.7.1" + cookie-signature "~1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.3.1" + fresh "~0.5.2" + http-errors "~2.0.0" + merge-descriptors "1.0.3" + methods "~1.1.2" + on-finished "~2.4.1" + parseurl "~1.3.3" + path-to-regexp "~0.1.12" + proxy-addr "~2.0.7" + qs "~6.14.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "~0.19.0" + serve-static "~1.16.2" + setprototypeof "1.2.0" + statuses "~2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fast-printf@^1.6.9: + version "1.6.10" + resolved "https://registry.yarnpkg.com/fast-printf/-/fast-printf-1.6.10.tgz#c44ad871726152159d7a903a5af0d65cf3d75875" + integrity sha512-GwTgG9O4FVIdShhbVF3JxOgSBY2+ePGsu2V/UONgoCPzF9VY6ZdBMKsHKCYQHZwNk3qNouUolRDsgVxcVA5G1w== + +fast-redact@^3.1.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.5.0.tgz#e9ea02f7e57d0cd8438180083e93077e496285e4" + integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== + +fast-xml-builder@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.0.0.tgz#a485d7e8381f1db983cf006f849d1066e2935241" + integrity sha512-fpZuDogrAgnyt9oDDz+5DBz0zgPdPZz6D4IR7iESxRXElrlGTRkHJ9eEt+SACRJwT0FNFrt71DFQIUFBJfX/uQ== + +fast-xml-parser@5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.4.1.tgz#0c81b8ecfb3021e5ad83aa3df904af19a05bc601" + integrity sha512-BQ30U1mKkvXQXXkAGcuyUA/GA26oEB7NzOtsxCDtyu62sjGw5QraKFhx2Em3WQNjPw9PG6MQ9yuIIgkSDfGu5A== + dependencies: + fast-xml-builder "^1.0.0" + strnum "^2.1.2" + +file-type@^16.5.4: + version "16.5.4" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" + integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +finalhandler@~1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.2.tgz#1ebc2228fc7673aac4a472c310cc05b77d852b88" + integrity sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg== + dependencies: + debug "2.6.9" + encodeurl "~2.0.0" + escape-html "~1.0.3" + on-finished "~2.4.1" + parseurl "~1.3.3" + statuses "~2.0.2" + unpipe "~1.0.0" + +follow-redirects@^1.15.11: + version "1.15.11" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340" + integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ== + +foreground-child@^3.1.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== + dependencies: + cross-spawn "^7.0.6" + signal-exit "^4.0.1" + +form-data@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" + integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.12" + +forwarded@0.2.0, forwarded@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +french-badwords-list@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/french-badwords-list/-/french-badwords-list-1.0.7.tgz#8ed2442cb20fa2781c38b5a75c944f8e91a73c08" + integrity sha512-H1ziKs2PJh2+UXZ9oCGJ/rRQpsI9NBykGf2Sc7WaKaj1OnWFuBXfsvANTdRcfVmOghGQaUmRyZ1hJOPbDpy04Q== + +fresh@~0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + 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" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +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" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +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-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + +glob@^10.3.10: + version "10.5.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c" + integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg== + 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" + +gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.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" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +html-to-text@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-7.1.1.tgz#69de8d85b91646b4bc14fdf4f850e9e046efff15" + integrity sha512-c9QWysrfnRZevVpS8MlE7PyOdSuIOjg8Bt8ZE10jMU/BEngA6j3llj4GRfAmtQzcd1FjKE0sWu5IHXRUH9YxIQ== + dependencies: + deepmerge "^4.2.2" + he "^1.2.0" + htmlparser2 "^6.1.0" + minimist "^1.2.5" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-errors@^2.0.0, http-errors@~2.0.0, http-errors@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.1.tgz#36d2f65bc909c8790018dd36fb4d93da6caae06b" + integrity sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== + dependencies: + depd "~2.0.0" + inherits "~2.0.4" + setprototypeof "~1.2.0" + statuses "~2.0.2" + toidentifier "~1.0.1" + +http-terminator@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/http-terminator/-/http-terminator-3.2.0.tgz#bc158d2694b733ca4fbf22a35065a81a609fb3e9" + integrity sha512-JLjck1EzPaWjsmIf8bziM3p9fgR1Y3JoUKAkyYEbZmFrIvJM6I8vVJfBGWlEtV9IWOvzNnaTtjuwZeBY2kwB4g== + dependencies: + delay "^5.0.0" + p-wait-for "^3.2.0" + roarr "^7.0.4" + type-fest "^2.3.3" + +iconv-lite@~0.4.24: + version "0.4.24" + 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" + +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ioredis@^5.3.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.10.0.tgz#a745ffec754e79435a60cad166076bd33c811aca" + integrity sha512-HVBe9OFuqs+Z6n64q09PQvP1/R4Bm+30PAyyD4wIEqssh3v9L21QjCVk4kRLucMBcDokJTcLjsGeVRlq/nH6DA== + dependencies: + "@ioredis/commands" "1.5.1" + cluster-key-slot "^1.1.0" + debug "^4.3.4" + denque "^2.1.0" + lodash.defaults "^4.2.0" + lodash.isarguments "^3.1.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.3.0.tgz#71dce70e1398122208996d1c22f2ba46a24b1abc" + integrity sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg== + +is-arrayish@^0.3.1: + version "0.3.4" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d" + integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA== + +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" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +iso-datestring-validator@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz#2daa80d2900b7a954f9f731d42f96ee0c19a6895" + integrity sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA== + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jose@^5.0.1, jose@^5.2.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/jose/-/jose-5.10.0.tgz#c37346a099d6467c401351a9a0c2161e0f52c4be" + integrity sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg== + +key-encoder@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-2.0.3.tgz#77073bb48ff1fe2173bb2088b83b91152c8fa4ba" + integrity sha512-fgBtpAGIr/Fy5/+ZLQZIPPhsZEcbSlYu/Wu96tNDFNSjSACw5lEIOFeaVdQ/iwrb8oxjlWi6wmWdH76hV6GZjg== + dependencies: + "@types/elliptic" "^6.4.9" + asn1.js "^5.0.1" + bn.js "^4.11.8" + elliptic "^6.4.1" + +kysely@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/kysely/-/kysely-0.22.0.tgz#8aac53942da3cadc604d7d154a746d983fe8f7b9" + integrity sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ== + +kysely@^0.23.4: + version "0.23.5" + resolved "https://registry.yarnpkg.com/kysely/-/kysely-0.23.5.tgz#60c63d94e1c42cc0411be8aaa688a0f27405f514" + integrity sha512-TH+b56pVXQq0tsyooYLeNfV11j6ih7D50dyN8tkM0e7ndiUH28Nziojiog3qRFlmEj9XePYdZUrNJ2079Qjdow== + +lande@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/lande/-/lande-1.0.10.tgz#1f6c6542e628338eb18def22edd1038f5fce9e7a" + integrity sha512-yT52DQh+UV2pEp08jOYrA4drDv0DbjpiRyZYgl25ak9G2cVR2AimzrqkYQWrD9a7Ud+qkAcaiDDoNH9DXfHPmw== + dependencies: + toygrad "^2.6.0" + +leo-profanity@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/leo-profanity/-/leo-profanity-1.9.0.tgz#96acdd9373b231794e82010c763acc51bb53d60f" + integrity sha512-vMrrrjsbT+fA5I/1rlBEVT5YjJsw1ASIVF8/xBEdZ6ylsg5AEIBrEvHxwe5XAmfVuTBi7aw2KcO2L3s9ddpKzw== + optionalDependencies: + french-badwords-list "^1.0.7" + russian-bad-words "^0.5.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== + +lodash.isarguments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== + +long@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" + integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +"mime-db@>= 1.43.0 < 2": + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + +mime-types@^2.1.12, mime-types@^2.1.35, 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" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^9.0.4: + version "9.0.9" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.9.tgz#9b0cb9fcb78087f6fd7eababe2511c4d3d60574e" + integrity sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg== + dependencies: + brace-expansion "^2.0.2" + +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== + +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.3, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +murmurhash@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-2.0.1.tgz#4097720e08cf978872194ad84ea5be2dec9b610f" + integrity sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew== + +napi-build-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e" + integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-abi@^3.3.0: + version "3.87.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.87.0.tgz#423e28fea5c2f195fddd98acded9938c001ae6dd" + integrity sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ== + dependencies: + semver "^7.3.5" + +nodemailer-html-to-text@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/nodemailer-html-to-text/-/nodemailer-html-to-text-3.2.0.tgz#91b959491fef8f7d91796047abb728aa86d4a12b" + integrity sha512-RJUC6640QV1PzTHHapOrc6IzrAJUZtk2BdVdINZ9VTLm+mcQNyBO9LYyhrnufkzqiD9l8hPLJ97rSyK4WanPNg== + dependencies: + html-to-text "7.1.1" + +nodemailer@^6.8.0: + version "6.10.1" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.10.1.tgz#cbc434c54238f83a51c07eabd04e2b3e832da623" + integrity sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA== + +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +on-exit-leak-free@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz#fed195c9ebddb7d9e4c3842f93f281ac8dadd3b8" + integrity sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA== + +on-finished@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65" + integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== + +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +one-webcrypto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/one-webcrypto/-/one-webcrypto-1.0.3.tgz#f951243cde29b79b6745ad14966fc598a609997c" + integrity sha512-fu9ywBVBPx0gS9K0etIROTiCkvI5S1TDjFsYFb3rC1ewFxeOqsbzq7aIMBHsYfrTHBcGXJaONXXjTl8B01cW1Q== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +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: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-timeout@^3.0.0, 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-wait-for@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-wait-for/-/p-wait-for-3.2.0.tgz#640429bcabf3b0dd9f492c31539c5718cb6a3f1f" + integrity sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA== + dependencies: + p-timeout "^3.0.0" + +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@~0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== + +peek-readable@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" + integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== + +pg-cloudflare@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz#386035d4bfcf1a7045b026f8b21acf5353f14d65" + integrity sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ== + +pg-connection-string@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.12.0.tgz#4084f917902bb2daae3dc1376fe24ac7b4eaccf2" + integrity sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ== + +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-pool@^3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.13.0.tgz#416482e9700e8f80c685a6ae5681697a413c13a3" + integrity sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA== + +pg-protocol@^1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.13.0.tgz#fdaf6d020bca590d58bb991b4b16fc448efe0511" + integrity sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w== + +pg-types@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg@^8.10.0, pg@^8.9.0: + version "8.20.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.20.0.tgz#1a274de944cb329fd6dd77a6d371a005ba6b136d" + integrity sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA== + dependencies: + pg-connection-string "^2.12.0" + pg-pool "^3.13.0" + pg-protocol "^1.13.0" + pg-types "2.2.0" + pgpass "1.0.5" + optionalDependencies: + pg-cloudflare "^1.3.0" + +pgpass@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d" + integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== + dependencies: + split2 "^4.1.0" + +pino-abstract-transport@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz#97f9f2631931e242da531b5c66d3079c12c9d1b5" + integrity sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q== + dependencies: + readable-stream "^4.0.0" + split2 "^4.0.0" + +pino-http@^8.2.1, pino-http@^8.3.3: + version "8.6.1" + resolved "https://registry.yarnpkg.com/pino-http/-/pino-http-8.6.1.tgz#46338caea759c9c86fc44f3226ed6976364ec269" + integrity sha512-J0hiJgUExtBXP2BjrK4VB305tHXS31sCmWJ9XJo2wPkLHa1NFPuW4V9wjG27PAc2fmBCigiNhQKpvrx+kntBPA== + dependencies: + get-caller-file "^2.0.5" + pino "^8.17.1" + pino-std-serializers "^6.2.2" + process-warning "^3.0.0" + +pino-std-serializers@^6.0.0, pino-std-serializers@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz#d9a9b5f2b9a402486a5fc4db0a737570a860aab3" + integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== + +pino@^8.11.0, pino@^8.17.1, pino@^8.21.0, pino@^8.6.1: + version "8.21.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-8.21.0.tgz#e1207f3675a2722940d62da79a7a55a98409f00d" + integrity sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.1.1" + on-exit-leak-free "^2.1.0" + pino-abstract-transport "^1.2.0" + pino-std-serializers "^6.0.0" + process-warning "^3.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.2.0" + safe-stable-stringify "^2.3.1" + sonic-boom "^3.7.0" + thread-stream "^2.6.0" + +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-bytea@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.1.tgz#c40b3da0222c500ff1e51c5d7014b60b79697c7a" + integrity sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ== + +postgres-date@~1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" + integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +prebuild-install@^7.1.1: + version "7.1.3" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.3.tgz#d630abad2b147443f20a212917beae68b8092eec" + integrity sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^2.0.0" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + +process-warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-3.0.0.tgz#96e5b88884187a1dce6f5c3166d611132058710b" + integrity sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +protobufjs@^7.2.5, protobufjs@^7.5.3: + version "7.5.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.4.tgz#885d31fe9c4b37f25d1bb600da30b1c5b37d286a" + integrity sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +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" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pump@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.4.tgz#1f313430527fa8b905622ebd22fe1444e757ab3c" + integrity sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +qs@~6.14.0: + version "6.14.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c" + integrity sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== + dependencies: + side-channel "^1.1.0" + +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +rate-limiter-flexible@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/rate-limiter-flexible/-/rate-limiter-flexible-2.4.2.tgz#2a219cc473f015142fd8fb599371223d730decbd" + integrity sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw== + +raw-body@~2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.3.tgz#11c6650ee770a7de1b494f197927de0c923822e2" + integrity sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA== + dependencies: + bytes "~3.1.2" + http-errors "~2.0.1" + iconv-lite "~0.4.24" + unpipe "~1.0.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^4.0.0, readable-stream@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.7.0.tgz#cedbd8a1146c13dfff8dab14068028d58c15ac91" + integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + +readable-web-to-node-stream@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz#392ba37707af5bf62d725c36c1b5d6ef4119eefc" + integrity sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw== + dependencies: + readable-stream "^4.7.0" + +real-require@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.2.0.tgz#209632dea1810be2ae063a6ac084fee7e33fba78" + integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== + +redis-errors@^1.0.0, redis-errors@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" + integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== + +redis-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" + integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== + dependencies: + redis-errors "^1.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" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +roarr@^7.0.4: + version "7.21.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-7.21.4.tgz#c202c84d0b201ac821591f4bb46a3b28b8affe6b" + integrity sha512-qvfUKCrpPzhWmQ4NxRYnuwhkI5lwmObhBU06BCK/lpj6PID9nL4Hk6XDwek2foKI+TMaV+Yw//XZshGF2Lox/Q== + dependencies: + fast-printf "^1.6.9" + safe-stable-stringify "^2.4.3" + semver-compare "^1.0.0" + +russian-bad-words@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/russian-bad-words/-/russian-bad-words-0.5.0.tgz#d4abcdc55f7af37606cdbac44bcb9e0bde6c3855" + integrity sha512-euNvEYki6iYYpkNbeudW+lEMMYGEmN7EBwVF8ezlbv0bZoQpVYB7W10cCeUIGV7Ed50sJynLQ0c559q5iI0ejQ== + +rxjs@^7.5.2: + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== + dependencies: + tslib "^2.1.0" + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-stable-stringify@^2.3.1, safe-stable-stringify@^2.4.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd" + integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +semver@^7.3.5, semver@^7.6.3: + version "7.7.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" + integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== + +send@~0.19.0, send@~0.19.1: + version "0.19.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.2.tgz#59bc0da1b4ea7ad42736fd642b1c4294e114ff29" + integrity sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "~0.5.2" + http-errors "~2.0.1" + mime "1.6.0" + ms "2.1.3" + on-finished "~2.4.1" + range-parser "~1.2.1" + statuses "~2.0.2" + +serve-static@~1.16.2: + version "1.16.3" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.3.tgz#a97b74d955778583f3862a4f0b841eb4d5d78cf9" + integrity sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "~0.19.1" + +setprototypeof@1.2.0, setprototypeof@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sharp@^0.33.5: + version "0.33.5" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" + integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== + dependencies: + color "^4.2.3" + detect-libc "^2.0.3" + semver "^7.6.3" + optionalDependencies: + "@img/sharp-darwin-arm64" "0.33.5" + "@img/sharp-darwin-x64" "0.33.5" + "@img/sharp-libvips-darwin-arm64" "1.0.4" + "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-linux-arm" "1.0.5" + "@img/sharp-libvips-linux-arm64" "1.0.4" + "@img/sharp-libvips-linux-s390x" "1.0.4" + "@img/sharp-libvips-linux-x64" "1.0.4" + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + "@img/sharp-linux-arm" "0.33.5" + "@img/sharp-linux-arm64" "0.33.5" + "@img/sharp-linux-s390x" "0.33.5" + "@img/sharp-linux-x64" "0.33.5" + "@img/sharp-linuxmusl-arm64" "0.33.5" + "@img/sharp-linuxmusl-x64" "0.33.5" + "@img/sharp-wasm32" "0.33.5" + "@img/sharp-win32-ia32" "0.33.5" + "@img/sharp-win32-x64" "0.33.5" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.4.tgz#a8d11a45a11600d6a1ecdff6363329e3648c3667" + integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw== + dependencies: + is-arrayish "^0.3.1" + +sonic-boom@^3.7.0: + version "3.8.1" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.8.1.tgz#d5ba8c4e26d6176c9a1d14d549d9ff579a163422" + integrity sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg== + dependencies: + atomic-sleep "^1.0.0" + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +split2@^4.0.0, split2@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +standard-as-callback@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" + integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== + +statuses@~2.0.1, statuses@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" + integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== + +stream-browserify@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + 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@^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" + 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@^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" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.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" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== + dependencies: + ansi-regex "^6.2.2" + +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" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strnum@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.2.0.tgz#8b582b637e4621f62ff714493e0ce30846f903a6" + integrity sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg== + +strtok3@^6.2.4: + version "6.3.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" + integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^4.1.0" + +structured-headers@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-1.0.1.tgz#1821e434e0fe45bdd78f07c779b16519ab520415" + integrity sha512-QYBxdBtA4Tl5rFPuqmbmdrS9kbtren74RTJTcs0VSQNVV5iRhJD4QlYTLD0+81SBwUQctjEQzjTRI3WG4DzICA== + +tar-fs@^2.0.0: + version "2.1.4" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.4.tgz#800824dbf4ef06ded9afea4acafe71c67c76b930" + integrity sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +thread-stream@^2.6.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.7.0.tgz#d8a8e1b3fd538a6cca8ce69dbe5d3d097b601e11" + integrity sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw== + dependencies: + real-require "^0.2.0" + +tlds@^1.234.0: + version "1.261.0" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.261.0.tgz#055e412e92f01f84a9c8ac0504d3472d68b3c4c9" + integrity sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA== + +toidentifier@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-types@^4.1.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.1.tgz#0f897f03665846982806e138977dbe72d44df753" + integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +toygrad@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/toygrad/-/toygrad-2.6.0.tgz#e814bb7da026db8e08dc7da14c7155f49cdb4d54" + integrity sha512-g4zBmlSbvzOE5FOILxYkAybTSxijKLkj1WoNqVGnbMcWDyj4wWQ+eYSr3ik7XOpIgMq/7eBcPRTJX3DM2E0YMg== + +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2, tslib@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +type-fest@^2.3.3: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-emitter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" + integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== + optionalDependencies: + rxjs "^7.5.2" + +typescript@^5.9.3: + version "5.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" + integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== + +uglify-js@^3.1.4: + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== + +uint8arrays@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" + integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== + dependencies: + multiformats "^9.4.2" + +undici-types@~7.18.0: + version "7.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" + integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== + +undici@^5.28.4: + version "5.29.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" + integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== + dependencies: + "@fastify/busboy" "^2.0.0" + +undici@^6.14.1, undici@^6.19.8: + version "6.23.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.23.0.tgz#7953087744d9095a96f115de3140ca3828aff3a4" + integrity sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g== + +unicode-segmenter@^0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/unicode-segmenter/-/unicode-segmenter-0.14.5.tgz#c658f6dd30de172cdcd94542adc205ba43fb63c6" + integrity sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g== + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +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" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + 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.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + 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.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.12.0: + version "8.19.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" + integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + 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" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +zod@3.23.8: + version "3.23.8" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" + integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== + +zod@^3.14.2, zod@^3.23.8: + version "3.25.76" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" + integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== diff --git a/docs/testing.md b/docs/testing.md index d8931a61e..bc4a6c819 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -3,6 +3,12 @@ Make sure you've copied `.env.example` to `.env.test` and provided any required values. +Install dependencies in `/dev-env` + +``` +cd dev-env && yarn +``` + ## Using Maestro 1. Install Maestro by following [these instructions](https://maestro.mobile.dev/getting-started/installing-maestro). This will help us run the E2E tests. diff --git a/package.json b/package.json index af6b67e8e..f18e02a3e 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "lint-native": "swiftlint ./modules && ktlint ./modules", "lint-native:fix": "swiftlint --fix ./modules && ktlint --format ./modules", "typecheck": "tsc --project ./tsconfig.check.json", - "e2e:mock-server": "NODE_ENV=development ./jest/dev-infra/with-test-redis-and-db.sh ts-node --project tsconfig.e2e.json __e2e__/mock-server.ts", + "e2e:mock-server": "cd dev-env && yarn e2e:mock-server", "e2e:build": "EXPO_PUBLIC_ENV=e2e NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios", "e2e:build-android": "EXPO_PUBLIC_ENV=e2e NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:android", "e2e:start": "EXPO_PUBLIC_ENV=e2e NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo start -c", @@ -235,7 +235,6 @@ "zod": "^3.20.2" }, "devDependencies": { - "@atproto/dev-env": "^0.3.213", "@babel/core": "^7.26.0", "@babel/preset-env": "^7.26.0", "@babel/runtime": "^7.26.0", @@ -284,7 +283,6 @@ "react-native-dotenv": "^3.4.11", "react-refresh": "^0.14.0", "svgo": "^3.3.2", - "ts-node": "^10.9.1", "ts-plugin-sort-import-suggestions": "^1.0.4", "typescript": "^5.9.3", "typescript-eslint": "^8.56.0", diff --git a/yarn.lock b/yarn.lock index 52dfb53cd..1717cb45c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,69 +20,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@atproto-labs/did-resolver@^0.2.6": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@atproto-labs/did-resolver/-/did-resolver-0.2.6.tgz#15f0beab797187a67279389f6503f87a257cd898" - integrity sha512-2K1bC04nI2fmgNcvof+yA28IhGlpWn2JKYlPa7To9JTKI45FINCGkQSGiL2nyXlyzDJJ34fZ1aq6/IRFIOIiqg== - dependencies: - "@atproto-labs/fetch" "0.2.3" - "@atproto-labs/pipe" "0.1.1" - "@atproto-labs/simple-store" "0.3.0" - "@atproto-labs/simple-store-memory" "0.1.4" - "@atproto/did" "0.3.0" - zod "^3.23.8" - -"@atproto-labs/fetch-node@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@atproto-labs/fetch-node/-/fetch-node-0.2.0.tgz#438989f3165f52e21e7636fb87ea9c7317ae7f2a" - integrity sha512-Krq09nH/aeoiU2s9xdHA0FjTEFWG9B5FFenipv1iRixCcPc7V3DhTNDawxG9gI8Ny0k4dBVS9WTRN/IDzBx86Q== - dependencies: - "@atproto-labs/fetch" "0.2.3" - "@atproto-labs/pipe" "0.1.1" - ipaddr.js "^2.1.0" - undici "^6.14.1" - -"@atproto-labs/fetch@0.2.3", "@atproto-labs/fetch@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@atproto-labs/fetch/-/fetch-0.2.3.tgz#d47afec078f630c50e291c56264cc0ff13d0c6cc" - integrity sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw== - dependencies: - "@atproto-labs/pipe" "0.1.1" - -"@atproto-labs/pipe@0.1.1", "@atproto-labs/pipe@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@atproto-labs/pipe/-/pipe-0.1.1.tgz#1c4232d16bf95f251e993cb6ee440f9aa4e87ce6" - integrity sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg== - -"@atproto-labs/simple-store-memory@0.1.4", "@atproto-labs/simple-store-memory@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store-memory/-/simple-store-memory-0.1.4.tgz#e38c7b27e0f77c0bdba1329deb89593fbec27316" - integrity sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw== - dependencies: - "@atproto-labs/simple-store" "0.3.0" - lru-cache "^10.2.0" - -"@atproto-labs/simple-store-redis@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store-redis/-/simple-store-redis-0.0.1.tgz#1dfc92cbec9b648c4349255aebb7bce9d7dc5eeb" - integrity sha512-hGkfDNVtTqwcRx27k6u25pgwNIHq3xDCRuojkfHf6c1B9R5rKphdZJ91Mn3lCvsyDB/lUqqLuzKuXQWFml/u5g== - dependencies: - "@atproto-labs/simple-store" "0.3.0" - -"@atproto-labs/simple-store@0.3.0", "@atproto-labs/simple-store@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store/-/simple-store-0.3.0.tgz#65c0a5c949fe6c8dc3bdaf13ab40848f20073593" - integrity sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ== - -"@atproto-labs/xrpc-utils@^0.0.24": - version "0.0.24" - resolved "https://registry.yarnpkg.com/@atproto-labs/xrpc-utils/-/xrpc-utils-0.0.24.tgz#0546778b9b83854d8a160dc4dea145e5a23ae8fc" - integrity sha512-wWXd2Ht47UsL/UbDCr3twMFSZrh0xSI56u4O3kz0DTU4G+530mCG71mMVE6eeYcR+j6FEjp7o2Ld6c7wFklYGw== - dependencies: - "@atproto/xrpc" "^0.7.6" - "@atproto/xrpc-server" "^0.10.0" - -"@atproto/api@^0.19.2", "@atproto/api@^0.19.3": +"@atproto/api@^0.19.3": version "0.19.3" resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.19.3.tgz#61de8d2e31abe9eb2b4c8f4ad124ed79d4a77e89" integrity sha512-G8YpBpRouHdTAIagi/QQIUZOhGd1jfBQWkJy9QfxAzjjEpPvaVOSk4e1S85QzGLm/xbzVONzGkmdtiOSfP6wVg== @@ -96,101 +34,7 @@ tlds "^1.234.0" zod "^3.23.8" -"@atproto/aws@^0.2.31": - version "0.2.31" - resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.2.31.tgz#e46d7db34ee57c4f9817269f1e73a7eddba2b9b8" - integrity sha512-jzw0v4KttNqeEZtkIujIOCvWABJl4m8WQuSOlJtYeJhn/xaBC1+CNt7qnvYCzBd+T5nncZU8junHSEbOMdVwiA== - dependencies: - "@atproto/common" "^0.5.0" - "@atproto/common-web" "^0.4.4" - "@atproto/crypto" "^0.4.4" - "@atproto/repo" "^0.8.11" - "@aws-sdk/client-cloudfront" "^3.879.0" - "@aws-sdk/client-kms" "^3.879.0" - "@aws-sdk/client-s3" "^3.879.0" - "@aws-sdk/lib-storage" "3.879.0" - "@noble/curves" "^1.7.0" - key-encoder "^2.0.3" - multiformats "^9.9.0" - uint8arrays "3.0.0" - -"@atproto/bsky@^0.0.219": - version "0.0.219" - resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.219.tgz#6a9f82eb4ab999e121d04ad2b3f08ff60cc75fba" - integrity sha512-Vm7JpIyCqd7sHzHsXqppGSaKkXKUhvdZ/UOldc247Bgmx+L/U+E6IeR028hzMr1YyDvU+bkO1hlqT8uUovOCdA== - dependencies: - "@atproto-labs/fetch-node" "^0.2.0" - "@atproto-labs/xrpc-utils" "^0.0.24" - "@atproto/api" "^0.19.2" - "@atproto/common" "^0.5.14" - "@atproto/crypto" "^0.4.5" - "@atproto/did" "^0.3.0" - "@atproto/identity" "^0.4.12" - "@atproto/lexicon" "^0.6.2" - "@atproto/repo" "^0.8.12" - "@atproto/sync" "^0.1.40" - "@atproto/syntax" "^0.5.0" - "@atproto/xrpc-server" "^0.10.15" - "@bufbuild/protobuf" "^1.5.0" - "@connectrpc/connect" "^1.1.4" - "@connectrpc/connect-express" "^1.1.4" - "@connectrpc/connect-node" "^1.1.4" - "@did-plc/lib" "^0.0.1" - "@growthbook/growthbook" "^1.6.2" - "@hapi/address" "^5.1.1" - "@types/http-errors" "^2.0.1" - compression "^1.7.4" - cors "^2.8.5" - disposable-email-domains-js "^1.5.0" - etcd3 "^1.1.2" - express "^4.17.2" - http-errors "^2.0.0" - http-terminator "^3.2.0" - ioredis "^5.3.2" - jose "^5.0.1" - key-encoder "^2.0.3" - kysely "^0.22.0" - leo-profanity "^1.8.0" - multiformats "^9.9.0" - murmurhash "^2.0.1" - p-queue "^6.6.2" - pg "^8.10.0" - pino "^8.21.0" - pino-http "^8.2.1" - sharp "^0.33.5" - structured-headers "^1.0.1" - typed-emitter "^2.1.0" - uint8arrays "3.0.0" - undici "^6.19.8" - zod "3.23.8" - -"@atproto/bsync@^0.0.24": - version "0.0.24" - resolved "https://registry.yarnpkg.com/@atproto/bsync/-/bsync-0.0.24.tgz#6b0d4b02c0c0241687456ab817471d36ee81ae61" - integrity sha512-JN+oncaPBNRjzjTPGR7Q1fkKF3cqOQ6oLRrAh9kVU04ZS3FhWUG8cQvnr8wb1PUhFb/XYpWkwDw5+GIhdb7Lfw== - dependencies: - "@atproto/common" "^0.5.14" - "@atproto/syntax" "^0.5.0" - "@bufbuild/protobuf" "^1.5.0" - "@connectrpc/connect" "^1.1.4" - "@connectrpc/connect-node" "^1.1.4" - http-terminator "^3.2.0" - kysely "^0.22.0" - pg "^8.10.0" - pino-http "^8.2.1" - typed-emitter "^2.1.0" - -"@atproto/common-web@^0.4.13", "@atproto/common-web@^0.4.4", "@atproto/common-web@^0.4.7": - version "0.4.14" - resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.4.14.tgz#77545d454add08d735af00ffc29dd6abf1ab77b3" - integrity sha512-rMU8Q+kpyPpirUS9OqT7aOD1hxKa+diem3vc7BA0lOkj0tU6wcAxegxmbPZ8JaOsR7SSYhP/jCt/5wbT4qqkuQ== - dependencies: - "@atproto/lex-data" "0.0.9" - "@atproto/lex-json" "0.0.9" - "@atproto/syntax" "0.4.3" - zod "^3.23.8" - -"@atproto/common-web@^0.4.17", "@atproto/common-web@^0.4.18": +"@atproto/common-web@^0.4.18": version "0.4.18" resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.4.18.tgz#832976340457afd3d29345ad2c6f0ac0bff087dd" integrity sha512-ilImzP+9N/mtse440kN60pGrEzG7wi4xsV13nGeLrS+Zocybc/ISOpKlbZM13o+twPJ+Q7veGLw9CtGg0GAFoQ== @@ -200,162 +44,6 @@ "@atproto/syntax" "^0.5.0" zod "^3.23.8" -"@atproto/common@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.0.tgz#4216a8fef5b985ab62ac21252a0f8ca0f4a0f210" - integrity sha512-OB5tWE2R19jwiMIs2IjQieH5KTUuMb98XGCn9h3xuu6NanwjlmbCYMv08fMYwIp3UQ6jcq//84cDT3Bu6fJD+A== - dependencies: - "@ipld/dag-cbor" "^7.0.3" - multiformats "^9.6.4" - pino "^8.6.1" - zod "^3.14.2" - -"@atproto/common@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.1.1.tgz#ec33a3b4995c91d3ad2e90fc4cdbc65284ceff84" - integrity sha512-GYwot5wF/z8iYGSPjrLHuratLc0CVgovmwfJss7+BUOB6y2/Vw8+1Vw0n9DDI0gb5vmx3UI8z0uJgC8aa8yuJg== - dependencies: - "@ipld/dag-cbor" "^7.0.3" - multiformats "^9.6.4" - pino "^8.6.1" - zod "^3.14.2" - -"@atproto/common@^0.5.0", "@atproto/common@^0.5.3", "@atproto/common@^0.5.9": - version "0.5.9" - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.5.9.tgz#d7fb75f8cf957fb4ee670db6787adea61a32ca59" - integrity sha512-rzl8dB7ErpA/VUgCidahUtbxEph50J4g7j68bZmlwwrHlrtvTe8DjrwH5EUFEcegl9dadIhcVJ3qi0kPKEUr+g== - dependencies: - "@atproto/common-web" "^0.4.13" - "@atproto/lex-cbor" "0.0.9" - "@atproto/lex-data" "0.0.9" - iso-datestring-validator "^2.2.2" - multiformats "^9.9.0" - pino "^8.21.0" - -"@atproto/common@^0.5.14": - version "0.5.14" - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.5.14.tgz#e7281d07587f4a6b79ab98d23d0a4c3451798864" - integrity sha512-FnhTppvJw8I1AuvEkL9JREFwmM6ciYfSlQ0Zo6neiJIhTf1wf5/ONeFSYKu1/dxC63JEratGIAfVjSBJJZi7sg== - dependencies: - "@atproto/common-web" "^0.4.18" - "@atproto/lex-cbor" "^0.0.14" - "@atproto/lex-data" "^0.0.13" - multiformats "^9.9.0" - pino "^8.21.0" - -"@atproto/crypto@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.1.0.tgz#bc73a479f9dbe06fa025301c182d7f7ab01bc568" - integrity sha512-9xgFEPtsCiJEPt9o3HtJT30IdFTGw5cQRSJVIy5CFhqBA4vDLcdXiRDLCjkzHEVbtNCsHUW6CrlfOgbeLPcmcg== - dependencies: - "@noble/secp256k1" "^1.7.0" - big-integer "^1.6.51" - multiformats "^9.6.4" - one-webcrypto "^1.0.3" - uint8arrays "3.0.0" - -"@atproto/crypto@^0.4.4", "@atproto/crypto@^0.4.5": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.4.5.tgz#fc6ad4fdfe8338147196c8050791cc6a22657eb6" - integrity sha512-n40aKkMoCatP0u9Yvhrdk6fXyOHFDDbkdm4h4HCyWW+KlKl8iXfD5iV+ECq+w5BM+QH25aIpt3/j6EUNerhLxw== - dependencies: - "@noble/curves" "^1.7.0" - "@noble/hashes" "^1.6.1" - uint8arrays "3.0.0" - -"@atproto/dev-env@^0.3.213": - version "0.3.213" - resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.213.tgz#30ca66f827d44ccabb02b359119f68549fa3edf0" - integrity sha512-Bjhv+zzcQxhwV4I7si+yDls8sSetksILeiBemfRe3cvE4GOgs7KfsYI5+pqNmBZ5rrFPt3KUeN9vIo31LCgZOw== - dependencies: - "@atproto/api" "^0.19.2" - "@atproto/bsky" "^0.0.219" - "@atproto/bsync" "^0.0.24" - "@atproto/common-web" "^0.4.18" - "@atproto/crypto" "^0.4.5" - "@atproto/identity" "^0.4.12" - "@atproto/lexicon" "^0.6.2" - "@atproto/ozone" "^0.1.166" - "@atproto/pds" "^0.4.214" - "@atproto/sync" "^0.1.40" - "@atproto/syntax" "^0.5.0" - "@atproto/xrpc-server" "^0.10.15" - "@did-plc/lib" "^0.0.1" - "@did-plc/server" "^0.0.1" - dotenv "^16.0.3" - express "^4.18.2" - get-port "^5.1.1" - multiformats "^9.9.0" - uint8arrays "3.0.0" - undici "^6.14.1" - -"@atproto/did@0.3.0", "@atproto/did@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@atproto/did/-/did-0.3.0.tgz#0f6b11a5119672a41075fa58e97956b296ac171c" - integrity sha512-raUPzUGegtW/6OxwCmM8bhZvuIMzxG5t9oWsth6Tp91Kb5fTnHV2h/KKNF1C82doeA4BdXCErTyg7ISwLbQkzA== - dependencies: - zod "^3.23.8" - -"@atproto/identity@^0.4.12": - version "0.4.12" - resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.4.12.tgz#ead1312677a60d162e6d0df8fe5fda4727b5c15a" - integrity sha512-P+Jn0HvKhIh1tps5n3xGrCxt+XiFWzp4kdgloyFhFmVLwjDU547DQkWx4r5Vhuiah7fRZGVSlk39R4U6SPrACg== - dependencies: - "@atproto/common-web" "^0.4.17" - "@atproto/crypto" "^0.4.5" - -"@atproto/jwk-jose@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@atproto/jwk-jose/-/jwk-jose-0.1.11.tgz#ef64bce940a66e267fc3cf0db8df4dbd062bb28a" - integrity sha512-i4Fnr2sTBYmMmHXl7NJh8GrCH+tDQEVWrcDMDnV5DjJfkgT17wIqvojIw9SNbSL4Uf0OtfEv6AgG0A+mgh8b5Q== - dependencies: - "@atproto/jwk" "0.6.0" - jose "^5.2.0" - -"@atproto/jwk@0.6.0", "@atproto/jwk@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@atproto/jwk/-/jwk-0.6.0.tgz#e813f77d9c89c025d4074340777fafaa2fba08a5" - integrity sha512-bDoJPvt7TrQVi/rBfBrSSpGykhtIriKxeYCYQTiPRKFfyRhbgpElF0wPXADjIswnbzZdOwbY63az4E/CFVT3Tw== - dependencies: - multiformats "^9.9.0" - zod "^3.23.8" - -"@atproto/lex-cbor@0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@atproto/lex-cbor/-/lex-cbor-0.0.9.tgz#d4b227ae37c1b44b76a2eca826b23c4b74bd4062" - integrity sha512-szkS569j1eZsIxZKh2VZHVq7pSpewy1wHh8c6nVYekHfYcJhFkevQq/DjTeatZ7YZKNReGYthQulgaZq2ytfWQ== - dependencies: - "@atproto/lex-data" "0.0.9" - tslib "^2.8.1" - -"@atproto/lex-cbor@^0.0.14": - version "0.0.14" - resolved "https://registry.yarnpkg.com/@atproto/lex-cbor/-/lex-cbor-0.0.14.tgz#8e378095585f5a86a074e87b82e1c4b803ebb2a6" - integrity sha512-zeqxaKAifR8qlFKg4A6t1RCT8TcjeDnIXLtp3QnDu0QoxslxsmcsrqNrrgmka8w+bYW2+h/rT9MPWglkT7vHyw== - dependencies: - "@atproto/lex-data" "^0.0.13" - tslib "^2.8.1" - -"@atproto/lex-client@^0.0.15": - version "0.0.15" - resolved "https://registry.yarnpkg.com/@atproto/lex-client/-/lex-client-0.0.15.tgz#c647d14e91ca3f52feebf4b34f80abb7e93b3bee" - integrity sha512-j/eZGCdkhABU8Z868Y/gn909hS77rOCdMqtOaQdflEaKUKiAo2/gqeTpoAjHBnL5Rzz255wj9qZMqZTR/Ygwxw== - dependencies: - "@atproto/lex-data" "^0.0.13" - "@atproto/lex-json" "^0.0.13" - "@atproto/lex-schema" "^0.0.14" - tslib "^2.8.1" - -"@atproto/lex-data@0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@atproto/lex-data/-/lex-data-0.0.9.tgz#19bed9399571d8d653a0bfba99b641cb98300e84" - integrity sha512-1slwe4sG0cyWtsq16+rBoWIxNDqGPkkvN+PV6JuzA7dgUK9bjUmXBGQU4eZlUPSS43X1Nhmr/9VjgKmEzU9vDw== - dependencies: - multiformats "^9.9.0" - tslib "^2.8.1" - uint8arrays "3.0.0" - unicode-segmenter "^0.14.0" - "@atproto/lex-data@^0.0.13": version "0.0.13" resolved "https://registry.yarnpkg.com/@atproto/lex-data/-/lex-data-0.0.13.tgz#db1bcfa12d5056210f6eb7f3b8bac909909d6b9c" @@ -366,23 +54,6 @@ uint8arrays "3.0.0" unicode-segmenter "^0.14.0" -"@atproto/lex-document@^0.0.15": - version "0.0.15" - resolved "https://registry.yarnpkg.com/@atproto/lex-document/-/lex-document-0.0.15.tgz#b2f19756291a0d259cd99f5ebe4872e9133069b6" - integrity sha512-QT2MbICG4cTFrrA19SIHpZJ33WRLdzjhDsEhSknQ4dE5CjqPf4BP9LaC4pOeW8NE5Kn92hgIm3JWNjoak8blXw== - dependencies: - "@atproto/lex-schema" "^0.0.14" - core-js "^3" - tslib "^2.8.1" - -"@atproto/lex-json@0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@atproto/lex-json/-/lex-json-0.0.9.tgz#4aa3a9067f4c4f38a934143d11b26864d9b125ac" - integrity sha512-Q2v1EVZcnd+ndyZj1r2UlGikA7q6It24CFPLbxokcf5Ba4RBupH8IkkQX7mqUDSRWPgQdmZYIdW9wUln+MKDqw== - dependencies: - "@atproto/lex-data" "0.0.9" - tslib "^2.8.1" - "@atproto/lex-json@^0.0.13": version "0.0.13" resolved "https://registry.yarnpkg.com/@atproto/lex-json/-/lex-json-0.0.13.tgz#b0081f786aeeb1707087318fb03c928e75c19059" @@ -391,31 +62,7 @@ "@atproto/lex-data" "^0.0.13" tslib "^2.8.1" -"@atproto/lex-resolver@^0.0.17": - version "0.0.17" - resolved "https://registry.yarnpkg.com/@atproto/lex-resolver/-/lex-resolver-0.0.17.tgz#2c474f6babeb54665656bf28b8d27a98de69deae" - integrity sha512-6nI5bYZUYh50ZI8r4erLRP9EbNcW226VShpVN3vHyOSgTje4VP1RTcvBhROBAPj4rL3vc+Oa8OiL6IQXkYrQBg== - dependencies: - "@atproto-labs/did-resolver" "^0.2.6" - "@atproto/crypto" "^0.4.5" - "@atproto/lex-client" "^0.0.15" - "@atproto/lex-data" "^0.0.13" - "@atproto/lex-document" "^0.0.15" - "@atproto/lex-schema" "^0.0.14" - "@atproto/repo" "^0.8.12" - "@atproto/syntax" "^0.5.0" - tslib "^2.8.1" - -"@atproto/lex-schema@^0.0.14": - version "0.0.14" - resolved "https://registry.yarnpkg.com/@atproto/lex-schema/-/lex-schema-0.0.14.tgz#c29f5278d55441e76802d64f7a9df60e7a87786b" - integrity sha512-xUxFuXdgVVI1IBDXcQlanH7HuEo9Pk65DYifnhqFDzNRH9SZQxPvPO+rOxMG/bRHygPaI+A+UbXr+S7qpPYOLg== - dependencies: - "@atproto/lex-data" "^0.0.13" - "@atproto/syntax" "^0.5.0" - tslib "^2.8.1" - -"@atproto/lexicon@^0.6.0", "@atproto/lexicon@^0.6.1", "@atproto/lexicon@^0.6.2": +"@atproto/lexicon@^0.6.0", "@atproto/lexicon@^0.6.2": version "0.6.2" resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.6.2.tgz#f6152a2119df953236ca127c4b30e332265e81e7" integrity sha512-p3Ly6hinVZW0ETuAXZMeUGwuMm3g8HvQMQ41yyEE6AL0hAkfeKFaZKos6BdBrr6CjkpbrDZqE8M+5+QOceysMw== @@ -426,208 +73,6 @@ multiformats "^9.9.0" zod "^3.23.8" -"@atproto/oauth-provider-api@0.3.7": - version "0.3.7" - resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-api/-/oauth-provider-api-0.3.7.tgz#7b911256536a72dbba6f38081a200836a3ab50b8" - integrity sha512-7yU9vuQFt/hy4NzlDtn+LuhIGvVKkhgWAkCmopnseMPBw6oGPT90uOsTxMkVGtHuKVvBSz7hOXoELXpnZq3gDQ== - dependencies: - "@atproto/jwk" "0.6.0" - "@atproto/oauth-types" "0.6.2" - -"@atproto/oauth-provider-frontend@0.2.9": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-frontend/-/oauth-provider-frontend-0.2.9.tgz#68486c0d9710a1325a02a303a6b22c733239b219" - integrity sha512-m1NhqC7ydEpF5ELV13CxkgCawyMX8wbAXls/4af3Tsz3IOkdM6zPgQeYK7Zj+7Nywjml4mZTkJ8rZiT6O9+5sw== - optionalDependencies: - "@atproto/oauth-provider-api" "0.3.7" - -"@atproto/oauth-provider-ui@0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-ui/-/oauth-provider-ui-0.4.3.tgz#c80b076c2d2a7cc45e45866796f09b959bcf1c03" - integrity sha512-BLNZmtOwoHu2qk/Oi6dUR8TcXQaJre6wgW8YjkW5bKf+Vftn3PGzh8bKgr1fQZDYweZ6AF148imA2OzVSAaLHQ== - optionalDependencies: - "@atproto/oauth-provider-api" "0.3.7" - -"@atproto/oauth-provider@^0.15.12": - version "0.15.12" - resolved "https://registry.yarnpkg.com/@atproto/oauth-provider/-/oauth-provider-0.15.12.tgz#9dbbfdd6808399d9d7ff8993ac888938fbf4c515" - integrity sha512-Ri4aVx2I4lOKxViB92jwPhAs/NctWEwV0tgYSHcaRpvqr2SVlC2LxTVjUq14ohdbVfv4VFRzj0vZypEX+mclHg== - dependencies: - "@atproto-labs/fetch" "^0.2.3" - "@atproto-labs/fetch-node" "^0.2.0" - "@atproto-labs/pipe" "^0.1.1" - "@atproto-labs/simple-store" "^0.3.0" - "@atproto-labs/simple-store-memory" "^0.1.4" - "@atproto/common" "^0.5.14" - "@atproto/did" "^0.3.0" - "@atproto/jwk" "^0.6.0" - "@atproto/jwk-jose" "^0.1.11" - "@atproto/lex-document" "^0.0.15" - "@atproto/lex-resolver" "^0.0.17" - "@atproto/oauth-provider-api" "0.3.7" - "@atproto/oauth-provider-frontend" "0.2.9" - "@atproto/oauth-provider-ui" "0.4.3" - "@atproto/oauth-scopes" "^0.3.2" - "@atproto/oauth-types" "^0.6.3" - "@atproto/syntax" "^0.5.0" - "@hapi/accept" "^6.0.3" - "@hapi/address" "^5.1.1" - "@hapi/bourne" "^3.0.0" - "@hapi/content" "^6.0.0" - cookie "^0.7.0" - disposable-email-domains-js "^1.5.0" - forwarded "^0.2.0" - http-errors "^2.0.0" - ioredis "^5.3.2" - jose "^5.2.0" - zod "^3.23.8" - -"@atproto/oauth-scopes@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@atproto/oauth-scopes/-/oauth-scopes-0.3.2.tgz#26443492936d6da05deadeaf1223bd10adc45a33" - integrity sha512-88awgvB9asSR86KjEXL31N9nFd1XG+QtbzEJFw5/wwEv41tS4S8c4Prqb/MAzVuFQ4OHOndYo1VDD99vGMpqTA== - dependencies: - "@atproto/did" "^0.3.0" - "@atproto/syntax" "^0.5.0" - -"@atproto/oauth-types@0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@atproto/oauth-types/-/oauth-types-0.6.2.tgz#d829fae63421dcea7ac703e84460175d2f8d9299" - integrity sha512-2cuboM4RQBCYR8NQC5uGRkW6KgCgKyq/B5/+tnMmWZYtZGVUQvsUWQHK/ZiMCnVXbcDNtc/RIEJQJDZ8FXMoxg== - dependencies: - "@atproto/did" "0.3.0" - "@atproto/jwk" "0.6.0" - zod "^3.23.8" - -"@atproto/oauth-types@^0.6.3": - version "0.6.3" - resolved "https://registry.yarnpkg.com/@atproto/oauth-types/-/oauth-types-0.6.3.tgz#4fc996d0af61874830079d1b1bddc7c0774ad6b2" - integrity sha512-jdKuoPknJuh/WjI+mYk7agSbx9mNVMbS6Dr3k1z2YMY2oRiCQjxYBuo4MLKATbxj05nMQaZRWlHRUazoAu5Cng== - dependencies: - "@atproto/did" "^0.3.0" - "@atproto/jwk" "^0.6.0" - zod "^3.23.8" - -"@atproto/ozone@^0.1.166": - version "0.1.166" - resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.166.tgz#9e65d6f67ef1fe285d0880e5f5a1b282dc63bd70" - integrity sha512-XZ77P/V/tt3SqTQYRsi5nM3P2h+QaNT7Nz3GTf+TMLVolACufRHPoDgp/PoTuS2FaLj1ndHnGyIPvZi/o8he6g== - dependencies: - "@atproto/api" "^0.19.2" - "@atproto/common" "^0.5.14" - "@atproto/crypto" "^0.4.5" - "@atproto/identity" "^0.4.12" - "@atproto/lexicon" "^0.6.2" - "@atproto/syntax" "^0.5.0" - "@atproto/ws-client" "^0.0.4" - "@atproto/xrpc" "^0.7.7" - "@atproto/xrpc-server" "^0.10.15" - "@did-plc/lib" "^0.0.1" - compression "^1.7.4" - cors "^2.8.5" - express "^4.17.2" - http-terminator "^3.2.0" - kysely "^0.22.0" - lande "^1.0.10" - multiformats "^9.9.0" - p-queue "^6.6.2" - pg "^8.10.0" - pino-http "^8.2.1" - structured-headers "^1.0.1" - typed-emitter "^2.1.0" - uint8arrays "3.0.0" - undici "^6.14.1" - ws "^8.12.0" - -"@atproto/pds@^0.4.214": - version "0.4.214" - resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.214.tgz#c68d55ec0b00a4e35f4801c826d44b65cd62f984" - integrity sha512-bTWeWg3H0TlELfE2eI2ySQuC6ojsCBSSmPtCXBh3Td9TFNpIoZQ/tYLUJMtMXaiVUi6HxzXQL1/iuYfC4Y+ZYQ== - dependencies: - "@atproto-labs/fetch-node" "^0.2.0" - "@atproto-labs/simple-store" "^0.3.0" - "@atproto-labs/simple-store-memory" "^0.1.4" - "@atproto-labs/simple-store-redis" "^0.0.1" - "@atproto-labs/xrpc-utils" "^0.0.24" - "@atproto/api" "^0.19.2" - "@atproto/aws" "^0.2.31" - "@atproto/common" "^0.5.14" - "@atproto/crypto" "^0.4.5" - "@atproto/identity" "^0.4.12" - "@atproto/lex-cbor" "^0.0.14" - "@atproto/lex-data" "^0.0.13" - "@atproto/lexicon" "^0.6.2" - "@atproto/oauth-provider" "^0.15.12" - "@atproto/oauth-scopes" "^0.3.2" - "@atproto/repo" "^0.8.12" - "@atproto/syntax" "^0.5.0" - "@atproto/xrpc" "^0.7.7" - "@atproto/xrpc-server" "^0.10.15" - "@did-plc/lib" "^0.0.4" - "@hapi/address" "^5.1.1" - better-sqlite3 "^10.0.0" - bytes "^3.1.2" - compression "^1.7.4" - cors "^2.8.5" - disposable-email-domains-js "^1.5.0" - express "^4.17.2" - express-async-errors "^3.1.1" - file-type "^16.5.4" - glob "^10.3.10" - handlebars "^4.7.7" - http-terminator "^3.2.0" - ioredis "^5.3.2" - jose "^5.0.1" - key-encoder "^2.0.3" - kysely "^0.22.0" - multiformats "^9.9.0" - nodemailer "^6.8.0" - nodemailer-html-to-text "^3.2.0" - p-queue "^6.6.2" - pino "^8.21.0" - pino-http "^8.2.1" - typed-emitter "^2.1.0" - uint8arrays "3.0.0" - undici "^6.19.8" - zod "^3.23.8" - -"@atproto/repo@^0.8.11", "@atproto/repo@^0.8.12": - version "0.8.12" - resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.8.12.tgz#f1caee2ff954a917f921569eac22ab669b39a0af" - integrity sha512-QpVTVulgfz5PUiCTELlDBiRvnsnwrFWi+6CfY88VwXzrRHd9NE8GItK7sfxQ6U65vD/idH8ddCgFrlrsn1REPQ== - dependencies: - "@atproto/common" "^0.5.3" - "@atproto/common-web" "^0.4.7" - "@atproto/crypto" "^0.4.5" - "@atproto/lexicon" "^0.6.0" - "@ipld/dag-cbor" "^7.0.0" - multiformats "^9.9.0" - uint8arrays "3.0.0" - varint "^6.0.0" - zod "^3.23.8" - -"@atproto/sync@^0.1.40": - version "0.1.40" - resolved "https://registry.yarnpkg.com/@atproto/sync/-/sync-0.1.40.tgz#b8b467ac4fbf2e682d36cd5697508f993e9e645a" - integrity sha512-tnzFPqKBXPXpuGvx87sjqLHgEzIOT/QfQZUp0YOUHtpipBgvijEnNXV9XeTIgiUAv69wyRR+6YjJkLCYfHpVwQ== - dependencies: - "@atproto/common" "^0.5.14" - "@atproto/identity" "^0.4.12" - "@atproto/lexicon" "^0.6.2" - "@atproto/repo" "^0.8.12" - "@atproto/syntax" "^0.5.0" - "@atproto/xrpc-server" "^0.10.15" - multiformats "^9.9.0" - p-queue "^6.6.2" - ws "^8.12.0" - -"@atproto/syntax@0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.4.3.tgz#3889469daa5458a3c8e27a2cb16016e89cfafaf9" - integrity sha512-YoZUz40YAJr5nPwvCDWgodEOlt5IftZqPJvA0JDWjuZKD8yXddTwSzXSaKQAzGOpuM+/A3uXRtPzJJqlScc+iA== - dependencies: - tslib "^2.8.1" - "@atproto/syntax@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.5.0.tgz#061ef538aee784f8e5fa1ea50a7f5beb4c276c9b" @@ -635,55 +80,7 @@ dependencies: tslib "^2.8.1" -"@atproto/ws-client@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@atproto/ws-client/-/ws-client-0.0.4.tgz#9e436c0e72abea5da0d5a7e8ec862cec0fdb10cd" - integrity sha512-dox1XIymuC7/ZRhUqKezIGgooZS45C6vHCfu0PnWjfvsLCK2kAlnvX4IBkA/WpcoijDhQ9ejChnFbo/sLmgvAg== - dependencies: - "@atproto/common" "^0.5.3" - ws "^8.12.0" - -"@atproto/xrpc-server@^0.10.0": - version "0.10.10" - resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.10.10.tgz#69d1a3ce8278a6b49286a5df33ebc204d42129ed" - integrity sha512-USDjOZGiletqzuWHC3Q2fk30hJDk4uYt6KPgvnZidShCouTf3hzwJZ8d2eOKOofSjGXW+GC0QYp7fYJFn6lZ2Q== - dependencies: - "@atproto/common" "^0.5.9" - "@atproto/crypto" "^0.4.5" - "@atproto/lex-cbor" "0.0.9" - "@atproto/lex-data" "0.0.9" - "@atproto/lexicon" "^0.6.1" - "@atproto/ws-client" "^0.0.4" - "@atproto/xrpc" "^0.7.7" - express "^4.17.2" - http-errors "^2.0.0" - mime-types "^2.1.35" - rate-limiter-flexible "^2.4.1" - ws "^8.12.0" - zod "^3.23.8" - -"@atproto/xrpc-server@^0.10.15": - version "0.10.15" - resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.10.15.tgz#c767437fdf7d64ec6cbc9c9cf97a27d2b62554b8" - integrity sha512-ryGVAKuLU0Nqkv25gsPzffJhxnCXwPOyBi+sNAfP7n+mDDwcumH6RWySEHoDDrTsGvAP2r8o2ZrLCWuzKm7vSg== - dependencies: - "@atproto/common" "^0.5.14" - "@atproto/crypto" "^0.4.5" - "@atproto/lex-cbor" "^0.0.14" - "@atproto/lex-client" "^0.0.15" - "@atproto/lex-data" "^0.0.13" - "@atproto/lex-json" "^0.0.13" - "@atproto/lex-schema" "^0.0.14" - "@atproto/lexicon" "^0.6.2" - "@atproto/ws-client" "^0.0.4" - "@atproto/xrpc" "^0.7.7" - express "^4.17.2" - http-errors "^2.0.0" - mime-types "^2.1.35" - rate-limiter-flexible "^2.4.1" - ws "^8.12.0" - -"@atproto/xrpc@^0.7.6", "@atproto/xrpc@^0.7.7": +"@atproto/xrpc@^0.7.7": version "0.7.7" resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.7.7.tgz#c0e3106c854cb9bc7d3129de2f31b8256eb0ed11" integrity sha512-K1ZyO/BU8JNtXX5dmPp7b5UrkLMMqpsIa/Lrj5D3Su+j1Xwq1m6QJ2XJ1AgjEjkI1v4Muzm7klianLE6XGxtmA== @@ -691,689 +88,6 @@ "@atproto/lexicon" "^0.6.0" zod "^3.23.8" -"@aws-crypto/crc32@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" - integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg== - dependencies: - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - tslib "^2.6.2" - -"@aws-crypto/crc32c@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz#4e34aab7f419307821509a98b9b08e84e0c1917e" - integrity sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag== - dependencies: - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - tslib "^2.6.2" - -"@aws-crypto/sha1-browser@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz#b0ee2d2821d3861f017e965ef3b4cb38e3b6a0f4" - integrity sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg== - dependencies: - "@aws-crypto/supports-web-crypto" "^5.2.0" - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.6.2" - -"@aws-crypto/sha256-browser@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" - integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== - dependencies: - "@aws-crypto/sha256-js" "^5.2.0" - "@aws-crypto/supports-web-crypto" "^5.2.0" - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.6.2" - -"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" - integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== - dependencies: - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - tslib "^2.6.2" - -"@aws-crypto/supports-web-crypto@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb" - integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg== - dependencies: - tslib "^2.6.2" - -"@aws-crypto/util@5.2.0", "@aws-crypto/util@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da" - integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ== - dependencies: - "@aws-sdk/types" "^3.222.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-cloudfront@^3.879.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.901.0.tgz#e7bed6efb61f11b49d71d08c4a2dfc5bb6eef1b2" - integrity sha512-1JjAc4/JU7nPCTg3sXClw0HL7ITrH/VxdRbEN1lvW2QDM0Hd93IRzttDcig+4IrDNqdLQcUJ8s7oj4iYSz3atg== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/credential-provider-node" "3.901.0" - "@aws-sdk/middleware-host-header" "3.901.0" - "@aws-sdk/middleware-logger" "3.901.0" - "@aws-sdk/middleware-recursion-detection" "3.901.0" - "@aws-sdk/middleware-user-agent" "3.901.0" - "@aws-sdk/region-config-resolver" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-endpoints" "3.901.0" - "@aws-sdk/util-user-agent-browser" "3.901.0" - "@aws-sdk/util-user-agent-node" "3.901.0" - "@aws-sdk/xml-builder" "3.901.0" - "@smithy/config-resolver" "^4.3.0" - "@smithy/core" "^3.14.0" - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/hash-node" "^4.2.0" - "@smithy/invalid-dependency" "^4.2.0" - "@smithy/middleware-content-length" "^4.2.0" - "@smithy/middleware-endpoint" "^4.3.0" - "@smithy/middleware-retry" "^4.4.0" - "@smithy/middleware-serde" "^4.2.0" - "@smithy/middleware-stack" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.0" - "@smithy/util-defaults-mode-browser" "^4.2.0" - "@smithy/util-defaults-mode-node" "^4.2.0" - "@smithy/util-endpoints" "^3.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-retry" "^4.2.0" - "@smithy/util-stream" "^4.4.0" - "@smithy/util-utf8" "^4.2.0" - "@smithy/util-waiter" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/client-kms@^3.879.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-kms/-/client-kms-3.901.0.tgz#88628721156cbab69cdfcbb4257d235dea5a912e" - integrity sha512-QpQCzGL3++2nanUsh4mOoWFHN510OgYrB70t6xNcz6CWaFedYcsX0Zjq6UAulWoQ2UGnMZkvZ4MElG0AQBu92w== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/credential-provider-node" "3.901.0" - "@aws-sdk/middleware-host-header" "3.901.0" - "@aws-sdk/middleware-logger" "3.901.0" - "@aws-sdk/middleware-recursion-detection" "3.901.0" - "@aws-sdk/middleware-user-agent" "3.901.0" - "@aws-sdk/region-config-resolver" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-endpoints" "3.901.0" - "@aws-sdk/util-user-agent-browser" "3.901.0" - "@aws-sdk/util-user-agent-node" "3.901.0" - "@smithy/config-resolver" "^4.3.0" - "@smithy/core" "^3.14.0" - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/hash-node" "^4.2.0" - "@smithy/invalid-dependency" "^4.2.0" - "@smithy/middleware-content-length" "^4.2.0" - "@smithy/middleware-endpoint" "^4.3.0" - "@smithy/middleware-retry" "^4.4.0" - "@smithy/middleware-serde" "^4.2.0" - "@smithy/middleware-stack" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.0" - "@smithy/util-defaults-mode-browser" "^4.2.0" - "@smithy/util-defaults-mode-node" "^4.2.0" - "@smithy/util-endpoints" "^3.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-retry" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/client-s3@^3.879.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.901.0.tgz#42e9faf3b9943c56e86ade41a36950dfb231d095" - integrity sha512-wyKhZ51ur1tFuguZ6PgrUsot9KopqD0Tmxw8O8P/N3suQDxFPr0Yo7Y77ezDRDZQ95Ml3C0jlvx79HCo8VxdWA== - dependencies: - "@aws-crypto/sha1-browser" "5.2.0" - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/credential-provider-node" "3.901.0" - "@aws-sdk/middleware-bucket-endpoint" "3.901.0" - "@aws-sdk/middleware-expect-continue" "3.901.0" - "@aws-sdk/middleware-flexible-checksums" "3.901.0" - "@aws-sdk/middleware-host-header" "3.901.0" - "@aws-sdk/middleware-location-constraint" "3.901.0" - "@aws-sdk/middleware-logger" "3.901.0" - "@aws-sdk/middleware-recursion-detection" "3.901.0" - "@aws-sdk/middleware-sdk-s3" "3.901.0" - "@aws-sdk/middleware-ssec" "3.901.0" - "@aws-sdk/middleware-user-agent" "3.901.0" - "@aws-sdk/region-config-resolver" "3.901.0" - "@aws-sdk/signature-v4-multi-region" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-endpoints" "3.901.0" - "@aws-sdk/util-user-agent-browser" "3.901.0" - "@aws-sdk/util-user-agent-node" "3.901.0" - "@aws-sdk/xml-builder" "3.901.0" - "@smithy/config-resolver" "^4.3.0" - "@smithy/core" "^3.14.0" - "@smithy/eventstream-serde-browser" "^4.2.0" - "@smithy/eventstream-serde-config-resolver" "^4.3.0" - "@smithy/eventstream-serde-node" "^4.2.0" - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/hash-blob-browser" "^4.2.0" - "@smithy/hash-node" "^4.2.0" - "@smithy/hash-stream-node" "^4.2.0" - "@smithy/invalid-dependency" "^4.2.0" - "@smithy/md5-js" "^4.2.0" - "@smithy/middleware-content-length" "^4.2.0" - "@smithy/middleware-endpoint" "^4.3.0" - "@smithy/middleware-retry" "^4.4.0" - "@smithy/middleware-serde" "^4.2.0" - "@smithy/middleware-stack" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.0" - "@smithy/util-defaults-mode-browser" "^4.2.0" - "@smithy/util-defaults-mode-node" "^4.2.0" - "@smithy/util-endpoints" "^3.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-retry" "^4.2.0" - "@smithy/util-stream" "^4.4.0" - "@smithy/util-utf8" "^4.2.0" - "@smithy/util-waiter" "^4.2.0" - "@smithy/uuid" "^1.1.0" - tslib "^2.6.2" - -"@aws-sdk/client-sso@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.901.0.tgz#bad08910097ffa0458c2fe662dd4f8439c6e7eeb" - integrity sha512-sGyDjjkJ7ppaE+bAKL/Q5IvVCxtoyBIzN+7+hWTS/mUxWJ9EOq9238IqmVIIK6sYNIzEf9yhobfMARasPYVTNg== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/middleware-host-header" "3.901.0" - "@aws-sdk/middleware-logger" "3.901.0" - "@aws-sdk/middleware-recursion-detection" "3.901.0" - "@aws-sdk/middleware-user-agent" "3.901.0" - "@aws-sdk/region-config-resolver" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-endpoints" "3.901.0" - "@aws-sdk/util-user-agent-browser" "3.901.0" - "@aws-sdk/util-user-agent-node" "3.901.0" - "@smithy/config-resolver" "^4.3.0" - "@smithy/core" "^3.14.0" - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/hash-node" "^4.2.0" - "@smithy/invalid-dependency" "^4.2.0" - "@smithy/middleware-content-length" "^4.2.0" - "@smithy/middleware-endpoint" "^4.3.0" - "@smithy/middleware-retry" "^4.4.0" - "@smithy/middleware-serde" "^4.2.0" - "@smithy/middleware-stack" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.0" - "@smithy/util-defaults-mode-browser" "^4.2.0" - "@smithy/util-defaults-mode-node" "^4.2.0" - "@smithy/util-endpoints" "^3.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-retry" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/core@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.901.0.tgz#054341ff9ddede525a7bc3881872a97598fe757f" - integrity sha512-brKAc3y64tdhyuEf+OPIUln86bRTqkLgb9xkd6kUdIeA5+qmp/N6amItQz+RN4k4O3kqkCPYnAd3LonTKluobw== - dependencies: - "@aws-sdk/types" "3.901.0" - "@aws-sdk/xml-builder" "3.901.0" - "@smithy/core" "^3.14.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/signature-v4" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-env@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.901.0.tgz#d3192a091a94931b2fbc2ef82a278d8daea06f43" - integrity sha512-5hAdVl3tBuARh3zX5MLJ1P/d+Kr5kXtDU3xm1pxUEF4xt2XkEEpwiX5fbkNkz2rbh3BCt2gOHsAbh6b3M7n+DA== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-http@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.901.0.tgz#40bbaa9e62431741d8ea7ed31c8e10de75a9ecde" - integrity sha512-Ggr7+0M6QZEsrqRkK7iyJLf4LkIAacAxHz9c4dm9hnDdU7vqrlJm6g73IxMJXWN1bIV7IxfpzB11DsRrB/oNjQ== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/util-stream" "^4.4.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-ini@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.901.0.tgz#83ada385ae94fed0a362f3be4689cf0a0284847d" - integrity sha512-zxadcDS0hNJgv8n4hFYJNOXyfjaNE1vvqIiF/JzZSQpSSYXzCd+WxXef5bQh+W3giDtRUmkvP5JLbamEFjZKyw== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/credential-provider-env" "3.901.0" - "@aws-sdk/credential-provider-http" "3.901.0" - "@aws-sdk/credential-provider-process" "3.901.0" - "@aws-sdk/credential-provider-sso" "3.901.0" - "@aws-sdk/credential-provider-web-identity" "3.901.0" - "@aws-sdk/nested-clients" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/credential-provider-imds" "^4.2.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-node@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.901.0.tgz#b48ddc78998e6a96ad14ecec22d81714c59ff6d1" - integrity sha512-dPuFzMF7L1s/lQyT3wDxqLe82PyTH+5o1jdfseTEln64LJMl0ZMWaKX/C1UFNDxaTd35Cgt1bDbjjAWHMiKSFQ== - dependencies: - "@aws-sdk/credential-provider-env" "3.901.0" - "@aws-sdk/credential-provider-http" "3.901.0" - "@aws-sdk/credential-provider-ini" "3.901.0" - "@aws-sdk/credential-provider-process" "3.901.0" - "@aws-sdk/credential-provider-sso" "3.901.0" - "@aws-sdk/credential-provider-web-identity" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/credential-provider-imds" "^4.2.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-process@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.901.0.tgz#0e388fe22f357adb9c07b5f4a055eff6ba99dcff" - integrity sha512-/IWgmgM3Cl1wTdJA5HqKMAojxLkYchh5kDuphApxKhupLu6Pu0JBOHU8A5GGeFvOycyaVwosod6zDduINZxe+A== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-sso@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.901.0.tgz#b60d8619edeb6b45c79a3f7cc0392a899de44886" - integrity sha512-SjmqZQHmqFSET7+6xcZgtH7yEyh5q53LN87GqwYlJZ6KJ5oNw11acUNEhUOL1xTSJEvaWqwTIkS2zqrzLcM9bw== - dependencies: - "@aws-sdk/client-sso" "3.901.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/token-providers" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-web-identity@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.901.0.tgz#512ad0d35e59bc669b41e18479e6b92d62a2d42a" - integrity sha512-NYjy/6NLxH9m01+pfpB4ql8QgAorJcu8tw69kzHwUd/ql6wUDTbC7HcXqtKlIwWjzjgj2BKL7j6SyFapgCuafA== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/nested-clients" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/lib-storage@3.879.0": - version "3.879.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.879.0.tgz#62c8b6ad53e0d8e595d5ba486def140de413b0d1" - integrity sha512-FAb3vOfLIrf8lPuDoxKRu18DxXfQLEFm7MoXi0jd8ooFjD09jpVCQGNrRuMCqc688wrx7zJSovWObtn4LRjvrg== - dependencies: - "@smithy/abort-controller" "^4.0.5" - "@smithy/middleware-endpoint" "^4.1.19" - "@smithy/smithy-client" "^4.5.0" - buffer "5.6.0" - events "3.3.0" - stream-browserify "3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-bucket-endpoint@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.901.0.tgz#5b7f740cff9f91d21084b666be225876d72e634b" - integrity sha512-mPF3N6eZlVs9G8aBSzvtoxR1RZqMo1aIwR+X8BAZSkhfj55fVF2no4IfPXfdFO3I66N+zEQ8nKoB0uTATWrogQ== - dependencies: - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-arn-parser" "3.893.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-config-provider" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-expect-continue@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.901.0.tgz#bd6c1fde979808418ce013c6f5f379e67ef2f4c4" - integrity sha512-bwq9nj6MH38hlJwOY9QXIDwa6lI48UsaZpaXbdD71BljEIRlxDzfB4JaYb+ZNNK7RIAdzsP/K05mJty6KJAQHw== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-flexible-checksums@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.901.0.tgz#373449d1609c9af810a824b395633ce6d1fc03f1" - integrity sha512-63lcKfggVUFyXhE4SsFXShCTCyh7ZHEqXLyYEL4DwX+VWtxutf9t9m3fF0TNUYDE8eEGWiRXhegj8l4FjuW+wA== - dependencies: - "@aws-crypto/crc32" "5.2.0" - "@aws-crypto/crc32c" "5.2.0" - "@aws-crypto/util" "5.2.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/is-array-buffer" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-stream" "^4.4.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-host-header@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.901.0.tgz#e6b3a6706601d93949ca25167ecec50c40e3d9de" - integrity sha512-yWX7GvRmqBtbNnUW7qbre3GvZmyYwU0WHefpZzDTYDoNgatuYq6LgUIQ+z5C04/kCRoFkAFrHag8a3BXqFzq5A== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-location-constraint@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.901.0.tgz#0a74fdd450cdec336f3ccdcb7b2fdbf4ce8b9e0b" - integrity sha512-MuCS5R2ngNoYifkVt05CTULvYVWX0dvRT0/Md4jE3a0u0yMygYy31C1zorwfE/SUgAQXyLmUx8ATmPp9PppImQ== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-logger@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.901.0.tgz#30562184bd0b6a90d30f2d6d58ef5054300f2652" - integrity sha512-UoHebjE7el/tfRo8/CQTj91oNUm+5Heus5/a4ECdmWaSCHCS/hXTsU3PTTHAY67oAQR8wBLFPfp3mMvXjB+L2A== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-recursion-detection@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.901.0.tgz#8492bd83aeee52f4e1b4194a81d044f46acf8c5b" - integrity sha512-Wd2t8qa/4OL0v/oDpCHHYkgsXJr8/ttCxrvCKAt0H1zZe2LlRhY9gpDVKqdertfHrHDj786fOvEQA28G1L75Dg== - dependencies: - "@aws-sdk/types" "3.901.0" - "@aws/lambda-invoke-store" "^0.0.1" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-sdk-s3@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.901.0.tgz#65ae0e84b020a1dd28278a1610cc4c8978edf853" - integrity sha512-prgjVC3fDT2VIlmQPiw/cLee8r4frTam9GILRUVQyDdNtshNwV3MiaSCLzzQJjKJlLgnBLNUHJCSmvUVtg+3iA== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-arn-parser" "3.893.0" - "@smithy/core" "^3.14.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/signature-v4" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/util-config-provider" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-stream" "^4.4.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-ssec@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.901.0.tgz#9a08f8a90a12c5d3eccabd884d8dfdd2f76473a4" - integrity sha512-YiLLJmA3RvjL38mFLuu8fhTTGWtp2qT24VqpucgfoyziYcTgIQkJJmKi90Xp6R6/3VcArqilyRgM1+x8i/em+Q== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-user-agent@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.901.0.tgz#ff6ff86115e1c580f369d33a25213e336896c548" - integrity sha512-Zby4F03fvD9xAgXGPywyk4bC1jCbnyubMEYChLYohD+x20ULQCf+AimF/Btn7YL+hBpzh1+RmqmvZcx+RgwgNQ== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-endpoints" "3.901.0" - "@smithy/core" "^3.14.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/nested-clients@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.901.0.tgz#8fcd2c48a0132ef1623b243ec88b6aff3164e76a" - integrity sha512-feAAAMsVwctk2Tms40ONybvpfJPLCmSdI+G+OTrNpizkGLNl6ik2Ng2RzxY6UqOfN8abqKP/DOUj1qYDRDG8ag== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.901.0" - "@aws-sdk/middleware-host-header" "3.901.0" - "@aws-sdk/middleware-logger" "3.901.0" - "@aws-sdk/middleware-recursion-detection" "3.901.0" - "@aws-sdk/middleware-user-agent" "3.901.0" - "@aws-sdk/region-config-resolver" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@aws-sdk/util-endpoints" "3.901.0" - "@aws-sdk/util-user-agent-browser" "3.901.0" - "@aws-sdk/util-user-agent-node" "3.901.0" - "@smithy/config-resolver" "^4.3.0" - "@smithy/core" "^3.14.0" - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/hash-node" "^4.2.0" - "@smithy/invalid-dependency" "^4.2.0" - "@smithy/middleware-content-length" "^4.2.0" - "@smithy/middleware-endpoint" "^4.3.0" - "@smithy/middleware-retry" "^4.4.0" - "@smithy/middleware-serde" "^4.2.0" - "@smithy/middleware-stack" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-body-length-node" "^4.2.0" - "@smithy/util-defaults-mode-browser" "^4.2.0" - "@smithy/util-defaults-mode-node" "^4.2.0" - "@smithy/util-endpoints" "^3.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-retry" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/region-config-resolver@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.901.0.tgz#6673eeda4ecc0747f93a084e876cab71431a97ca" - integrity sha512-7F0N888qVLHo4CSQOsnkZ4QAp8uHLKJ4v3u09Ly5k4AEStrSlFpckTPyUx6elwGL+fxGjNE2aakK8vEgzzCV0A== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-config-provider" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - tslib "^2.6.2" - -"@aws-sdk/signature-v4-multi-region@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.901.0.tgz#773cd83ab38efe8bd5c1e563e5bd8b79391dfa12" - integrity sha512-2IWxbll/pRucp1WQkHi2W5E2SVPGBvk4Is923H7gpNksbVFws18ItjMM8ZpGm44cJEoy1zR5gjhLFklatpuoOw== - dependencies: - "@aws-sdk/middleware-sdk-s3" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/signature-v4" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/token-providers@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.901.0.tgz#1f506f169cde6342c8bad75c068a719453ebcf54" - integrity sha512-pJEr1Ggbc/uVTDqp9IbNu9hdr0eQf3yZix3s4Nnyvmg4xmJSGAlbPC9LrNr5u3CDZoc8Z9CuLrvbP4MwYquNpQ== - dependencies: - "@aws-sdk/core" "3.901.0" - "@aws-sdk/nested-clients" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/types@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.901.0.tgz#b5a2e26c7b3fb3bbfe4c7fc24873646992a1c56c" - integrity sha512-FfEM25hLEs4LoXsLXQ/q6X6L4JmKkKkbVFpKD4mwfVHtRVQG6QxJiCPcrkcPISquiy6esbwK2eh64TWbiD60cg== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/types@^3.222.0": - version "3.465.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.465.0.tgz#74977008020f3ed2e5fa0d61daef70d1cbfbfc37" - integrity sha512-Clqu2eD50OOzwSftGpzJrIOGev/7VJhJpc02SeS4cqFgI9EVd+rnFKS/Ux0kcwjLQBMiPcCLtql3KAHApFHAIA== - dependencies: - "@smithy/types" "^2.5.0" - tslib "^2.5.0" - -"@aws-sdk/util-arn-parser@3.893.0": - version "3.893.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.893.0.tgz#fcc9b792744b9da597662891c2422dda83881d8d" - integrity sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA== - dependencies: - tslib "^2.6.2" - -"@aws-sdk/util-endpoints@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.901.0.tgz#be6296739d0f446b89a3f497c3a85afeb6cddd92" - integrity sha512-5nZP3hGA8FHEtKvEQf4Aww5QZOkjLW1Z+NixSd+0XKfHvA39Ah5sZboScjLx0C9kti/K3OGW1RCx5K9Zc3bZqg== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-endpoints" "^3.2.0" - tslib "^2.6.2" - -"@aws-sdk/util-locate-window@^3.0.0": - version "3.465.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz#0471428fb5eb749d4b72c427f5726f7b61fb90eb" - integrity sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== - dependencies: - tslib "^2.5.0" - -"@aws-sdk/util-user-agent-browser@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.901.0.tgz#2c0e71e9019f054fb6a6061f99f55c13fb92830f" - integrity sha512-Ntb6V/WFI21Ed4PDgL/8NSfoZQQf9xzrwNgiwvnxgAl/KvAvRBgQtqj5gHsDX8Nj2YmJuVoHfH9BGjL9VQ4WNg== - dependencies: - "@aws-sdk/types" "3.901.0" - "@smithy/types" "^4.6.0" - bowser "^2.11.0" - tslib "^2.6.2" - -"@aws-sdk/util-user-agent-node@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.901.0.tgz#3a0a59a93229016f011e7ee0533d36275e3063bd" - integrity sha512-l59KQP5TY7vPVUfEURc7P5BJKuNg1RSsAKBQW7LHLECXjLqDUbo2SMLrexLBEoArSt6E8QOrIN0C8z/0Xk0jYw== - dependencies: - "@aws-sdk/middleware-user-agent" "3.901.0" - "@aws-sdk/types" "3.901.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@aws-sdk/xml-builder@3.901.0": - version "3.901.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.901.0.tgz#3cd2e3929cefafd771c8bd790ec6965faa1be49d" - integrity sha512-pxFCkuAP7Q94wMTNPAwi6hEtNrp/BdFf+HOrIEeFQsk4EoOmpKY3I6S+u6A9Wg295J80Kh74LqDWM22ux3z6Aw== - dependencies: - "@smithy/types" "^4.6.0" - fast-xml-parser "5.2.5" - tslib "^2.6.2" - -"@aws/lambda-invoke-store@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.0.1.tgz#92d792a7dda250dfcb902e13228f37a81be57c8f" - integrity sha512-ORHRQ2tmvnBXc8t/X9Z8IcSbBA4xTLKuN873FopzklHMeqBst7YG0d+AX97inkvDX+NChYtSr+qGfcqGFaI8Zw== - "@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" @@ -3699,82 +2413,6 @@ resolved "https://registry.yarnpkg.com/@bsky.app/react-native-mmkv/-/react-native-mmkv-2.12.5.tgz#eb17d31a6158c74393f617a1763ac223ff3f83a6" integrity sha512-3vUz1nQY1DiKIPAWRkpp5ZGxH5f2G6Ui0UuQuEYjYv81xx1qFcSzS9KQ2sHcOKYdkOM9amWV2Q8TQCxt1lrAHg== -"@bufbuild/protobuf@^1.5.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.7.0.tgz#cecddc8162a231642b410bc7b99309cd5969733c" - integrity sha512-jIsRadRsyxf6ERBU1auY2c1k3doFdqh15F4HRZs4BELVuBtpN+3ipkXqcsWE+rD+EQNigeR29SfQ+ES6UX/jGg== - -"@connectrpc/connect-express@^1.1.4": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@connectrpc/connect-express/-/connect-express-1.3.0.tgz#605cb536e041f5866868421ae00b1a794dcdd1ed" - integrity sha512-6wbaQheD9cb4DnU1PvgVQdB1XPfA0bhlA0V0ZKx6oJJnTgGEYBzPrQztmqs5XW36/r+qJRfMgaVzZfX8MLafgA== - dependencies: - "@types/express" "^4.17.18" - -"@connectrpc/connect-node@^1.1.4": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@connectrpc/connect-node/-/connect-node-1.3.0.tgz#da60ca53596de76151a66fde16bcf5455b12542e" - integrity sha512-2fV/z/8MUFOkTn2Gbm7T/qvRfkpt/D/w7ykYqACZRH6VNG/faY4lH2wUZiNkwv9tzTrECKOJFyPsaGs3nRYK3w== - dependencies: - undici "^5.28.2" - -"@connectrpc/connect@^1.1.4": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@connectrpc/connect/-/connect-1.3.0.tgz#2894629f7f11b46fef883a898dab529f84171bf3" - integrity sha512-kTeWxJnLLtxKc2ZSDN0rIBgwfP8RwcLknthX4AKlIAmN9ZC4gGnCbwp+3BKcP/WH5c8zGBAWqSY3zeqCM+ah7w== - -"@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" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@did-plc/lib@*", "@did-plc/lib@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@did-plc/lib/-/lib-0.0.4.tgz#be5400dc9464ec3088294bd089631e8a8aa98215" - integrity sha512-Omeawq3b8G/c/5CtkTtzovSOnWuvIuCI4GTJNrt1AmCskwEQV7zbX5d6km1mjJNbE0gHuQPTVqZxLVqetNbfwA== - dependencies: - "@atproto/common" "0.1.1" - "@atproto/crypto" "0.1.0" - "@ipld/dag-cbor" "^7.0.3" - axios "^1.3.4" - multiformats "^9.6.4" - uint8arrays "3.0.0" - zod "^3.14.2" - -"@did-plc/lib@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@did-plc/lib/-/lib-0.0.1.tgz#5fd78c71901168ac05c5650af3a376c76461991c" - integrity sha512-RkY5w9DbYMco3SjeepqIiMveqz35exjlVDipCs2gz9AXF4/cp9hvmrp9zUWEw2vny+FjV8vGEN7QpaXWaO6nhg== - dependencies: - "@atproto/common" "0.1.0" - "@atproto/crypto" "0.1.0" - "@ipld/dag-cbor" "^7.0.3" - axios "^1.3.4" - multiformats "^9.6.4" - uint8arrays "3.0.0" - zod "^3.14.2" - -"@did-plc/server@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@did-plc/server/-/server-0.0.1.tgz#8d1ba701f3b2b952b7c8fe03ef3118bb0cba077c" - integrity sha512-GtxxHcOrOQ6fNI1ufq3Zqjc2PtWqPZOdsuzlwtxiH9XibUGwDkb0GmaBHyU5GiOxOKZEW1GspZ8mreBA6XOlTQ== - dependencies: - "@atproto/common" "0.1.0" - "@atproto/crypto" "0.1.0" - "@did-plc/lib" "*" - axios "^1.3.4" - cors "^2.8.5" - express "^4.18.2" - express-async-errors "^3.1.1" - http-terminator "^3.2.0" - kysely "^0.23.4" - multiformats "^9.6.4" - pg "^8.9.0" - pino "^8.11.0" - pino-http "^8.3.3" - "@discord/bottom-sheet@bluesky-social/react-native-bottom-sheet": version "4.6.1" resolved "https://codeload.github.com/bluesky-social/react-native-bottom-sheet/tar.gz/28a87d1bb55e10fc355fa1455545a30734995908" @@ -3802,13 +2440,6 @@ "@emnapi/wasi-threads" "1.1.0" tslib "^2.4.0" -"@emnapi/runtime@^1.2.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/runtime@^1.4.3": version "1.8.1" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.8.1.tgz#550fa7e3c0d49c5fb175a116e8cd70614f9a22a5" @@ -4519,16 +3150,6 @@ find-up "^5.0.0" js-yaml "^4.1.0" -"@fastify/busboy@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.0.tgz#0709e9f4cb252351c609c6e6d8d6779a8d25edff" - integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA== - -"@fastify/deepmerge@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@fastify/deepmerge/-/deepmerge-1.3.0.tgz#8116858108f0c7d9fd460d05a7d637a13fe3239a" - integrity sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A== - "@fastify/merge-json-schemas@^0.2.0": version "0.2.1" resolved "https://registry.yarnpkg.com/@fastify/merge-json-schemas/-/merge-json-schemas-0.2.1.tgz#3aa30d2f0c81a8ac5995b6d94ed4eaa2c3055824" @@ -4716,13 +3337,6 @@ dependencies: "@growthbook/growthbook" "^1.6.5" -"@growthbook/growthbook@^1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@growthbook/growthbook/-/growthbook-1.6.2.tgz#6a25122deac8a09955f6bddeb134af62b209809b" - integrity sha512-x3sK6Lff4BVusIzcdBeHZqA3B4kLs3kM/pJ7vvLTJwb6N/+Yn99EF1yc0XU6cfDVqFq6uFkvIFhMwDWUaKD73g== - dependencies: - dom-mutator "^0.6.0" - "@growthbook/growthbook@^1.6.5": version "1.6.5" resolved "https://registry.yarnpkg.com/@growthbook/growthbook/-/growthbook-1.6.5.tgz#c9e2119187ee3288525a77a7c64353276f5ba91b" @@ -4730,68 +3344,11 @@ dependencies: dom-mutator "^0.6.0" -"@grpc/grpc-js@^1.8.20": - version "1.13.3" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.13.3.tgz#6ad08d186c2a8651697085f790c5c68eaca45904" - integrity sha512-FTXHdOoPbZrBjlVLHuKbDZnsTxXv2BlHF57xw6LuThXacXvtkahEPED0CKMk6obZDf65Hv4k3z62eyPNpvinIg== - dependencies: - "@grpc/proto-loader" "^0.7.13" - "@js-sdsl/ordered-map" "^4.4.2" - -"@grpc/proto-loader@^0.7.13", "@grpc/proto-loader@^0.7.8": - version "0.7.15" - resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.15.tgz#4cdfbf35a35461fc843abe8b9e2c0770b5095e60" - integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ== - dependencies: - lodash.camelcase "^4.3.0" - long "^5.0.0" - protobufjs "^7.2.5" - yargs "^17.7.2" - "@haileyok/bluesky-video@0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@haileyok/bluesky-video/-/bluesky-video-0.3.2.tgz#44dc3974750a9619a4d72e97a0f1678f335028cd" integrity sha512-CJIS/4HW+x6xqONDZaUljQgMqaaZQnlFjt0afdCSO6VtFk5Fd/ocW+Tc4UulQ6zcCNiL6Y8HJR8sl/EIWHgPDw== -"@hapi/accept@^6.0.3": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-6.0.3.tgz#eef0800a4f89cd969da8e5d0311dc877c37279ab" - integrity sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw== - dependencies: - "@hapi/boom" "^10.0.1" - "@hapi/hoek" "^11.0.2" - -"@hapi/address@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-5.1.1.tgz#e9925fc1b65f5cc3fbea821f2b980e4652e84cb6" - integrity sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA== - dependencies: - "@hapi/hoek" "^11.0.2" - -"@hapi/boom@^10.0.0", "@hapi/boom@^10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-10.0.1.tgz#ebb14688275ae150aa6af788dbe482e6a6062685" - integrity sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA== - dependencies: - "@hapi/hoek" "^11.0.2" - -"@hapi/bourne@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-3.0.0.tgz#f11fdf7dda62fe8e336fa7c6642d9041f30356d7" - integrity sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w== - -"@hapi/content@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@hapi/content/-/content-6.0.0.tgz#2427af3bac8a2f743512fce2a70cbdc365af29df" - integrity sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA== - dependencies: - "@hapi/boom" "^10.0.0" - -"@hapi/hoek@^11.0.2": - version "11.0.4" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-11.0.4.tgz#42a7f244fd3dd777792bfb74b8c6340ae9182f37" - integrity sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ== - "@humanfs/core@^0.19.1": version "0.19.1" resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" @@ -4820,132 +3377,6 @@ resolved "https://registry.yarnpkg.com/@ide/backoff/-/backoff-1.0.0.tgz#466842c25bd4a4833e0642fab41ccff064010176" integrity sha512-F0YfUDjvT+Mtt/R4xdl2X0EYCHMMiJqNLdxHD++jDT5ydEFIyqbCHh51Qx2E211dgZprPKhV7sHmnXKpLuvc5g== -"@img/sharp-darwin-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" - integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== - optionalDependencies: - "@img/sharp-libvips-darwin-arm64" "1.0.4" - -"@img/sharp-darwin-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" - integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== - optionalDependencies: - "@img/sharp-libvips-darwin-x64" "1.0.4" - -"@img/sharp-libvips-darwin-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" - integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== - -"@img/sharp-libvips-darwin-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" - integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== - -"@img/sharp-libvips-linux-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" - integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== - -"@img/sharp-libvips-linux-arm@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" - integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== - -"@img/sharp-libvips-linux-s390x@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" - integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== - -"@img/sharp-libvips-linux-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" - integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== - -"@img/sharp-libvips-linuxmusl-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" - integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== - -"@img/sharp-libvips-linuxmusl-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" - integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== - -"@img/sharp-linux-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" - integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== - optionalDependencies: - "@img/sharp-libvips-linux-arm64" "1.0.4" - -"@img/sharp-linux-arm@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" - integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== - optionalDependencies: - "@img/sharp-libvips-linux-arm" "1.0.5" - -"@img/sharp-linux-s390x@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" - integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== - optionalDependencies: - "@img/sharp-libvips-linux-s390x" "1.0.4" - -"@img/sharp-linux-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" - integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== - optionalDependencies: - "@img/sharp-libvips-linux-x64" "1.0.4" - -"@img/sharp-linuxmusl-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" - integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" - -"@img/sharp-linuxmusl-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" - integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - -"@img/sharp-wasm32@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" - integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== - dependencies: - "@emnapi/runtime" "^1.2.0" - -"@img/sharp-win32-ia32@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" - integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== - -"@img/sharp-win32-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" - integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== - -"@ioredis/commands@^1.1.1": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" - integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== - -"@ipld/dag-cbor@^7.0.0", "@ipld/dag-cbor@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" - integrity sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA== - dependencies: - cborg "^1.6.0" - multiformats "^9.5.4" - "@ipld/dag-cbor@^9.2.0": version "9.2.1" resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-9.2.1.tgz#e61f413770bb0fb27ffafa9577049869272d2056" @@ -5323,7 +3754,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": +"@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" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== @@ -5361,14 +3792,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@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" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": version "0.3.19" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" @@ -5393,11 +3816,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@js-sdsl/ordered-map@^4.4.2": - version "4.4.2" - resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" - integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== - "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" @@ -5540,23 +3958,6 @@ dependencies: eslint-scope "5.1.1" -"@noble/curves@^1.7.0": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" - integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== - dependencies: - "@noble/hashes" "1.7.1" - -"@noble/hashes@1.7.1", "@noble/hashes@^1.6.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" - integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== - -"@noble/secp256k1@^1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - "@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" @@ -5603,61 +4004,8 @@ "@popperjs/core@^2.9.0": version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== - -"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - -"@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - -"@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - -"@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - -"@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - -"@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - -"@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - -"@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - -"@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - -"@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@radix-ui/number@1.1.1": version "1.1.1" @@ -6807,513 +5155,6 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@smithy/abort-controller@^4.0.5", "@smithy/abort-controller@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.2.0.tgz#ced549ad5e74232bdcb3eec990b02b1c6d81003d" - integrity sha512-PLUYa+SUKOEZtXFURBu/CNxlsxfaFGxSBPcStL13KpVeVWIfdezWyDqkz7iDLmwnxojXD0s5KzuB5HGHvt4Aeg== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/chunked-blob-reader-native@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.0.tgz#3115cfb230f20da21d1011ee2b47165f4c2773e3" - integrity sha512-HNbGWdyTfSM1nfrZKQjYTvD8k086+M8s1EYkBUdGC++lhxegUp2HgNf5RIt6oOGVvsC26hBCW/11tv8KbwLn/Q== - dependencies: - "@smithy/util-base64" "^4.2.0" - tslib "^2.6.2" - -"@smithy/chunked-blob-reader@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.0.tgz#776fec5eaa5ab5fa70d0d0174b7402420b24559c" - integrity sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA== - dependencies: - tslib "^2.6.2" - -"@smithy/config-resolver@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.3.0.tgz#a8bb72a21ff99ac91183a62fcae94f200762c256" - integrity sha512-9oH+n8AVNiLPK/iK/agOsoWfrKZ3FGP3502tkksd6SRsKMYiu7AFX0YXo6YBADdsAj7C+G/aLKdsafIJHxuCkQ== - dependencies: - "@smithy/node-config-provider" "^4.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-config-provider" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - tslib "^2.6.2" - -"@smithy/core@^3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.14.0.tgz#22bdb346b171c76b629c4f59dc496c27e10f1c82" - integrity sha512-XJ4z5FxvY/t0Dibms/+gLJrI5niRoY0BCmE02fwmPcRYFPI4KI876xaE79YGWIKnEslMbuQPsIEsoU/DXa0DoA== - dependencies: - "@smithy/middleware-serde" "^4.2.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-body-length-browser" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-stream" "^4.4.0" - "@smithy/util-utf8" "^4.2.0" - "@smithy/uuid" "^1.1.0" - tslib "^2.6.2" - -"@smithy/credential-provider-imds@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.0.tgz#21855ceb157afeea60d74c61fe7316e90d8ec545" - integrity sha512-SOhFVvFH4D5HJZytb0bLKxCrSnwcqPiNlrw+S4ZXjMnsC+o9JcUQzbZOEQcA8yv9wJFNhfsUiIUKiEnYL68Big== - dependencies: - "@smithy/node-config-provider" "^4.3.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - tslib "^2.6.2" - -"@smithy/eventstream-codec@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-4.2.0.tgz#ea8514363278d062b574859d663f131238a6920c" - integrity sha512-XE7CtKfyxYiNZ5vz7OvyTf1osrdbJfmUy+rbh+NLQmZumMGvY0mT0Cq1qKSfhrvLtRYzMsOBuRpi10dyI0EBPg== - dependencies: - "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^4.6.0" - "@smithy/util-hex-encoding" "^4.2.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-browser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.0.tgz#d97c4a3f185459097c00e05a23007ffa074f972d" - integrity sha512-U53p7fcrk27k8irLhOwUu+UYnBqsXNLKl1XevOpsxK3y1Lndk8R7CSiZV6FN3fYFuTPuJy5pP6qa/bjDzEkRvA== - dependencies: - "@smithy/eventstream-serde-universal" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-config-resolver@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.0.tgz#5ee07ed6808c3cac2e4b7ef5059fd9be6aff4a4a" - integrity sha512-uwx54t8W2Yo9Jr3nVF5cNnkAAnMCJ8Wrm+wDlQY6rY/IrEgZS3OqagtCu/9ceIcZFQ1zVW/zbN9dxb5esuojfA== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-node@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.0.tgz#397640826f72082e4d33e02525603dcf1baf756f" - integrity sha512-yjM2L6QGmWgJjVu/IgYd6hMzwm/tf4VFX0lm8/SvGbGBwc+aFl3hOzvO/e9IJ2XI+22Tx1Zg3vRpFRs04SWFcg== - dependencies: - "@smithy/eventstream-serde-universal" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-universal@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.0.tgz#e556f85638c7037cbd17f72a1cbd2dcdd3185f7d" - integrity sha512-C3jxz6GeRzNyGKhU7oV656ZbuHY93mrfkT12rmjDdZch142ykjn8do+VOkeRNjSGKw01p4g+hdalPYPhmMwk1g== - dependencies: - "@smithy/eventstream-codec" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/fetch-http-handler@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.0.tgz#1c5205642a9295f44441d8763e7c3a51a747fc95" - integrity sha512-BG3KSmsx9A//KyIfw+sqNmWFr1YBUr+TwpxFT7yPqAk0yyDh7oSNgzfNH7pS6OC099EGx2ltOULvumCFe8bcgw== - dependencies: - "@smithy/protocol-http" "^5.3.0" - "@smithy/querystring-builder" "^4.2.0" - "@smithy/types" "^4.6.0" - "@smithy/util-base64" "^4.2.0" - tslib "^2.6.2" - -"@smithy/hash-blob-browser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.0.tgz#b7bd8c5b379ebfae5b8ce10312da1351d7ff5ff4" - integrity sha512-MWmrRTPqVKpN8NmxmJPTeQuhewTt8Chf+waB38LXHZoA02+BeWYVQ9ViAwHjug8m7lQb1UWuGqp3JoGDOWvvuA== - dependencies: - "@smithy/chunked-blob-reader" "^5.2.0" - "@smithy/chunked-blob-reader-native" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/hash-node@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.0.tgz#d2de380cb88a3665d5e3f5bbe901cfb46867c74f" - integrity sha512-ugv93gOhZGysTctZh9qdgng8B+xO0cj+zN0qAZ+Sgh7qTQGPOJbMdIuyP89KNfUyfAqFSNh5tMvC+h2uCpmTtA== - dependencies: - "@smithy/types" "^4.6.0" - "@smithy/util-buffer-from" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@smithy/hash-stream-node@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-4.2.0.tgz#7d3067d566e32167ebcb80f22260cc57de036ec9" - integrity sha512-8dELAuGv+UEjtzrpMeNBZc1sJhO8GxFVV/Yh21wE35oX4lOE697+lsMHBoUIFAUuYkTMIeu0EuJSEsH7/8Y+UQ== - dependencies: - "@smithy/types" "^4.6.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@smithy/invalid-dependency@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.0.tgz#749c741c1b01bcdb12c0ec24701db655102f6ea7" - integrity sha512-ZmK5X5fUPAbtvRcUPtk28aqIClVhbfcmfoS4M7UQBTnDdrNxhsrxYVv0ZEl5NaPSyExsPWqL4GsPlRvtlwg+2A== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/is-array-buffer@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" - integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== - dependencies: - tslib "^2.6.2" - -"@smithy/is-array-buffer@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz#b0f874c43887d3ad44f472a0f3f961bcce0550c2" - integrity sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ== - dependencies: - tslib "^2.6.2" - -"@smithy/md5-js@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-4.2.0.tgz#46bb7b122d9de1aa306e767ae64230fc6c8d67c2" - integrity sha512-LFEPniXGKRQArFmDQ3MgArXlClFJMsXDteuQQY8WG1/zzv6gVSo96+qpkuu1oJp4MZsKrwchY0cuAoPKzEbaNA== - dependencies: - "@smithy/types" "^4.6.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@smithy/middleware-content-length@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.0.tgz#bf1bea6e7c0e35e8c6d4825880e4cfa903cbd501" - integrity sha512-6ZAnwrXFecrA4kIDOcz6aLBhU5ih2is2NdcZtobBDSdSHtE9a+MThB5uqyK4XXesdOCvOcbCm2IGB95birTSOQ== - dependencies: - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/middleware-endpoint@^4.1.19", "@smithy/middleware-endpoint@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.3.0.tgz#407ce4051be2f1855259a02900a957e9b347fdfd" - integrity sha512-jFVjuQeV8TkxaRlcCNg0GFVgg98tscsmIrIwRFeC74TIUyLE3jmY9xgc1WXrPQYRjQNK3aRoaIk6fhFRGOIoGw== - dependencies: - "@smithy/core" "^3.14.0" - "@smithy/middleware-serde" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - "@smithy/url-parser" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - tslib "^2.6.2" - -"@smithy/middleware-retry@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.4.0.tgz#7f4b313a808aa8ac1a5922aff355e12c5a270de1" - integrity sha512-yaVBR0vQnOnzex45zZ8ZrPzUnX73eUC8kVFaAAbn04+6V7lPtxn56vZEBBAhgS/eqD6Zm86o6sJs6FuQVoX5qg== - dependencies: - "@smithy/node-config-provider" "^4.3.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/service-error-classification" "^4.2.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-retry" "^4.2.0" - "@smithy/uuid" "^1.1.0" - tslib "^2.6.2" - -"@smithy/middleware-serde@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.0.tgz#1b7fcaa699d1c48f2c3cbbce325aa756895ddf0f" - integrity sha512-rpTQ7D65/EAbC6VydXlxjvbifTf4IH+sADKg6JmAvhkflJO2NvDeyU9qsWUNBelJiQFcXKejUHWRSdmpJmEmiw== - dependencies: - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/middleware-stack@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.0.tgz#fa2f7dcdb0f3a1649d1d2ec3dc4841d9c2f70e67" - integrity sha512-G5CJ//eqRd9OARrQu9MK1H8fNm2sMtqFh6j8/rPozhEL+Dokpvi1Og+aCixTuwDAGZUkJPk6hJT5jchbk/WCyg== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/node-config-provider@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.0.tgz#619ba522d683081d06f112a581b9009988cb38eb" - integrity sha512-5QgHNuWdT9j9GwMPPJCKxy2KDxZ3E5l4M3/5TatSZrqYVoEiqQrDfAq8I6KWZw7RZOHtVtCzEPdYz7rHZixwcA== - dependencies: - "@smithy/property-provider" "^4.2.0" - "@smithy/shared-ini-file-loader" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/node-http-handler@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.3.0.tgz#783d3dbdf5b90b9e0ca1e56070a3be38b3836b7d" - integrity sha512-RHZ/uWCmSNZ8cneoWEVsVwMZBKy/8123hEpm57vgGXA3Irf/Ja4v9TVshHK2ML5/IqzAZn0WhINHOP9xl+Qy6Q== - dependencies: - "@smithy/abort-controller" "^4.2.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/querystring-builder" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/property-provider@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.2.0.tgz#431c573326f572ae9063d58c21690f28251f9dce" - integrity sha512-rV6wFre0BU6n/tx2Ztn5LdvEdNZ2FasQbPQmDOPfV9QQyDmsCkOAB0osQjotRCQg+nSKFmINhyda0D3AnjSBJw== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/protocol-http@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.0.tgz#2a2834386b706b959d20e7841099b1780ae62ace" - integrity sha512-6POSYlmDnsLKb7r1D3SVm7RaYW6H1vcNcTWGWrF7s9+2noNYvUsm7E4tz5ZQ9HXPmKn6Hb67pBDRIjrT4w/d7Q== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/querystring-builder@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.2.0.tgz#a6191d2eccc14ffce821a559ec26c94c636a39c6" - integrity sha512-Q4oFD0ZmI8yJkiPPeGUITZj++4HHYCW3pYBYfIobUCkYpI6mbkzmG1MAQQ3lJYYWj3iNqfzOenUZu+jqdPQ16A== - dependencies: - "@smithy/types" "^4.6.0" - "@smithy/util-uri-escape" "^4.2.0" - tslib "^2.6.2" - -"@smithy/querystring-parser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.2.0.tgz#4c4ebe257e951dff91f9db65f9558752641185e8" - integrity sha512-BjATSNNyvVbQxOOlKse0b0pSezTWGMvA87SvoFoFlkRsKXVsN3bEtjCxvsNXJXfnAzlWFPaT9DmhWy1vn0sNEA== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/service-error-classification@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.2.0.tgz#d98d9b351d05c21b83c5a012194480a8c2eae5b7" - integrity sha512-Ylv1ttUeKatpR0wEOMnHf1hXMktPUMObDClSWl2TpCVT4DwtJhCeighLzSLbgH3jr5pBNM0LDXT5yYxUvZ9WpA== - dependencies: - "@smithy/types" "^4.6.0" - -"@smithy/shared-ini-file-loader@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.3.0.tgz#241a493ea7fa7faeaefccf6a5fa81af521d91cfa" - integrity sha512-VCUPPtNs+rKWlqqntX0CbVvWyjhmX30JCtzO+s5dlzzxrvSfRh5SY0yxnkirvc1c80vdKQttahL71a9EsdolSQ== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/signature-v4@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.0.tgz#05d459cc4ec8f9d7300bb6b488cccedf2b73b7fb" - integrity sha512-MKNyhXEs99xAZaFhm88h+3/V+tCRDQ+PrDzRqL0xdDpq4gjxcMmf5rBA3YXgqZqMZ/XwemZEurCBQMfxZOWq/g== - dependencies: - "@smithy/is-array-buffer" "^4.2.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-hex-encoding" "^4.2.0" - "@smithy/util-middleware" "^4.2.0" - "@smithy/util-uri-escape" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@smithy/smithy-client@^4.5.0", "@smithy/smithy-client@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.7.0.tgz#1b0b74a3f58bdf7a77024473b6fe6ec1aa9556c2" - integrity sha512-3BDx/aCCPf+kkinYf5QQhdQ9UAGihgOVqI3QO5xQfSaIWvUE4KYLtiGRWsNe1SR7ijXC0QEPqofVp5Sb0zC8xQ== - dependencies: - "@smithy/core" "^3.14.0" - "@smithy/middleware-endpoint" "^4.3.0" - "@smithy/middleware-stack" "^4.2.0" - "@smithy/protocol-http" "^5.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-stream" "^4.4.0" - tslib "^2.6.2" - -"@smithy/types@^2.5.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.6.0.tgz#a09c40b512e2df213229a20a43d0d9cfcf55ca3e" - integrity sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g== - dependencies: - tslib "^2.5.0" - -"@smithy/types@^4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.6.0.tgz#8ea8b15fedee3cdc555e8f947ce35fb1e973bb7a" - integrity sha512-4lI9C8NzRPOv66FaY1LL1O/0v0aLVrq/mXP/keUa9mJOApEeae43LsLd2kZRUJw91gxOQfLIrV3OvqPgWz1YsA== - dependencies: - tslib "^2.6.2" - -"@smithy/url-parser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.0.tgz#b6d6e739233ae120e4d6725b04375cb87791491f" - integrity sha512-AlBmD6Idav2ugmoAL6UtR6ItS7jU5h5RNqLMZC7QrLCoITA9NzIN3nx9GWi8g4z1pfWh2r9r96SX/jHiNwPJ9A== - dependencies: - "@smithy/querystring-parser" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/util-base64@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.2.0.tgz#677f616772389adbad278b05d84835abbfe63bbc" - integrity sha512-+erInz8WDv5KPe7xCsJCp+1WCjSbah9gWcmUXc9NqmhyPx59tf7jqFz+za1tRG1Y5KM1Cy1rWCcGypylFp4mvA== - dependencies: - "@smithy/util-buffer-from" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@smithy/util-body-length-browser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.0.tgz#04e9fc51ee7a3e7f648a4b4bcdf96c350cfa4d61" - integrity sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg== - dependencies: - tslib "^2.6.2" - -"@smithy/util-body-length-node@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.2.0.tgz#ea6a0fdabb48dd0b212e17e42b1f07bb7373147b" - integrity sha512-U8q1WsSZFjXijlD7a4wsDQOvOwV+72iHSfq1q7VD+V75xP/pdtm0WIGuaFJ3gcADDOKj2MIBn4+zisi140HEnQ== - dependencies: - tslib "^2.6.2" - -"@smithy/util-buffer-from@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" - integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== - dependencies: - "@smithy/is-array-buffer" "^2.2.0" - tslib "^2.6.2" - -"@smithy/util-buffer-from@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz#7abd12c4991b546e7cee24d1e8b4bfaa35c68a9d" - integrity sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew== - dependencies: - "@smithy/is-array-buffer" "^4.2.0" - tslib "^2.6.2" - -"@smithy/util-config-provider@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.2.0.tgz#2e4722937f8feda4dcb09672c59925a4e6286cfc" - integrity sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q== - dependencies: - tslib "^2.6.2" - -"@smithy/util-defaults-mode-browser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.2.0.tgz#7b9f0299203aaa48953c4997c1630bdeffd80ec0" - integrity sha512-qzHp7ZDk1Ba4LDwQVCNp90xPGqSu7kmL7y5toBpccuhi3AH7dcVBIT/pUxYcInK4jOy6FikrcTGq5wxcka8UaQ== - dependencies: - "@smithy/property-provider" "^4.2.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - bowser "^2.11.0" - tslib "^2.6.2" - -"@smithy/util-defaults-mode-node@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.0.tgz#efe5a6be134755317a0edf9595582bd6732e493a" - integrity sha512-FxUHS3WXgx3bTWR6yQHNHHkQHZm/XKIi/CchTnKvBulN6obWpcbzJ6lDToXn+Wp0QlVKd7uYAz2/CTw1j7m+Kg== - dependencies: - "@smithy/config-resolver" "^4.3.0" - "@smithy/credential-provider-imds" "^4.2.0" - "@smithy/node-config-provider" "^4.3.0" - "@smithy/property-provider" "^4.2.0" - "@smithy/smithy-client" "^4.7.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/util-endpoints@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.2.0.tgz#4bdc4820ceab5d66365ee72cfb14226e10bb0e24" - integrity sha512-TXeCn22D56vvWr/5xPqALc9oO+LN+QpFjrSM7peG/ckqEPoI3zaKZFp+bFwfmiHhn5MGWPaLCqDOJPPIixk9Wg== - dependencies: - "@smithy/node-config-provider" "^4.3.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/util-hex-encoding@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz#1c22ea3d1e2c3a81ff81c0a4f9c056a175068a7b" - integrity sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw== - dependencies: - tslib "^2.6.2" - -"@smithy/util-middleware@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.0.tgz#85973ae0db65af4ab4bedf12f31487a4105d1158" - integrity sha512-u9OOfDa43MjagtJZ8AapJcmimP+K2Z7szXn8xbty4aza+7P1wjFmy2ewjSbhEiYQoW1unTlOAIV165weYAaowA== - dependencies: - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/util-retry@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.2.0.tgz#1fa58e277b62df98d834e6c8b7d57f4c62ff1baf" - integrity sha512-BWSiuGbwRnEE2SFfaAZEX0TqaxtvtSYPM/J73PFVm+A29Fg1HTPiYFb8TmX1DXp4hgcdyJcNQmprfd5foeORsg== - dependencies: - "@smithy/service-error-classification" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/util-stream@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.4.0.tgz#e203c74b8664d0e3f537185de5da960655333a45" - integrity sha512-vtO7ktbixEcrVzMRmpQDnw/Ehr9UWjBvSJ9fyAbadKkC4w5Cm/4lMO8cHz8Ysb8uflvQUNRcuux/oNHKPXkffg== - dependencies: - "@smithy/fetch-http-handler" "^5.3.0" - "@smithy/node-http-handler" "^4.3.0" - "@smithy/types" "^4.6.0" - "@smithy/util-base64" "^4.2.0" - "@smithy/util-buffer-from" "^4.2.0" - "@smithy/util-hex-encoding" "^4.2.0" - "@smithy/util-utf8" "^4.2.0" - tslib "^2.6.2" - -"@smithy/util-uri-escape@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.2.0.tgz#096a4cec537d108ac24a68a9c60bee73fc7e3a9e" - integrity sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA== - dependencies: - tslib "^2.6.2" - -"@smithy/util-utf8@^2.0.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" - integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== - dependencies: - "@smithy/util-buffer-from" "^2.2.0" - tslib "^2.6.2" - -"@smithy/util-utf8@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.2.0.tgz#8b19d1514f621c44a3a68151f3d43e51087fed9d" - integrity sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw== - dependencies: - "@smithy/util-buffer-from" "^4.2.0" - tslib "^2.6.2" - -"@smithy/util-waiter@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-4.2.0.tgz#fcf5609143fa745d45424b0463560425b39c34eb" - integrity sha512-0Z+nxUU4/4T+SL8BCNN4ztKdQjToNvUYmkF1kXO5T7Yz3Gafzh0HeIG6mrkN8Fz3gn9hSyxuAT+6h4vM+iQSBQ== - dependencies: - "@smithy/abort-controller" "^4.2.0" - "@smithy/types" "^4.6.0" - tslib "^2.6.2" - -"@smithy/uuid@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.1.0.tgz#9fd09d3f91375eab94f478858123387df1cda987" - integrity sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw== - dependencies: - tslib "^2.6.2" - "@tanstack/query-async-storage-persister@^5.25.0": version "5.25.0" resolved "https://registry.yarnpkg.com/@tanstack/query-async-storage-persister/-/query-async-storage-persister-5.25.0.tgz#0e8a2a781b8e32a81a5d02a688d6fcdfd055235b" @@ -7458,11 +5299,6 @@ resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.9.1.tgz#e83cfadd47a7c45d75d26c8fbf7dac6d62022d79" integrity sha512-MMxwpbtocxUsbmc8qtFY1AQYNTW5i/M4aNSv9zsKKRISaS5hMD7XVrw2eod0x0yEqZU3izLiPDZPmgr8glF+jQ== -"@tokenizer/token@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" - integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== - "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -7473,26 +5309,6 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - 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" - 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" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - "@tybys/wasm-util@^0.10.0": version "0.10.1" resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" @@ -7533,13 +5349,6 @@ dependencies: "@babel/types" "^7.20.7" -"@types/bn.js@*": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" - integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== - dependencies: - "@types/node" "*" - "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -7570,13 +5379,6 @@ dependencies: "@types/node" "*" -"@types/elliptic@^6.4.9": - version "6.4.18" - resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.18.tgz#bc96e26e1ccccbabe8b6f0e409c85898635482e1" - integrity sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw== - dependencies: - "@types/bn.js" "*" - "@types/eslint-scope@^3.7.3": version "3.7.4" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" @@ -7618,16 +5420,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/express@^4.17.18": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - "@types/glob@^7.1.1": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" @@ -7658,11 +5450,6 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== -"@types/http-errors@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - "@types/http-proxy@^1.17.8": version "1.17.11" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" @@ -7774,13 +5561,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30" integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== -"@types/node@>=13.7.0": - version "22.15.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.3.tgz#b7fb9396a8ec5b5dfb1345d8ac2502060e9af68b" - integrity sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw== - dependencies: - undici-types "~6.21.0" - "@types/node@^20.14.3": version "20.17.6" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.6.tgz#6e4073230c180d3579e8c60141f99efdf5df0081" @@ -8490,7 +6270,7 @@ acorn-walk@^8.0.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== -acorn-walk@^8.0.2, acorn-walk@^8.1.1: +acorn-walk@^8.0.2: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== @@ -8500,7 +6280,7 @@ acorn@^8.0.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2: +acorn@^8.1.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2: version "8.10.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== @@ -8558,7 +6338,7 @@ ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.10.0, ajv@^8.11.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.11.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -8671,11 +6451,6 @@ arg@4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.0.tgz#583c518199419e0037abb74062c37f8519e575f0" integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg== -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - arg@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -8889,16 +6664,6 @@ asap@~2.0.3, asap@~2.0.6: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -asn1.js@^5.0.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - assert@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" @@ -8931,11 +6696,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" @@ -8953,15 +6713,6 @@ await-lock@^2.2.2: resolved "https://registry.yarnpkg.com/await-lock/-/await-lock-2.2.2.tgz#a95a9b269bfd2f69d22b17a321686f551152bcef" integrity sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw== -axios@^1.3.4: - version "1.4.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" - integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - babel-jest@^29.2.1: version "29.6.3" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.6.3.tgz#e62f6c38f3ec8c147244168ee18ef0b919f10348" @@ -9189,7 +6940,7 @@ base64-arraybuffer@^1.0.2: resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc" integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ== -base64-js@^1.0.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: +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" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -9225,15 +6976,7 @@ better-opn@~3.0.2: dependencies: open "^8.0.4" -better-sqlite3@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-10.1.0.tgz#8dc07e496fc014a7cd2211f79e591f6ba92838e8" - integrity sha512-hqpHJaCfKEZFaAWdMh6crdzRWyzQzfP6Ih8TYI0vFn01a6ZTDSbJIMXN+6AMBaBOh99DzUy8l3PsV9R3qnJDng== - dependencies: - bindings "^1.5.0" - prebuild-install "^7.1.1" - -big-integer@1.6.x, big-integer@^1.6.51: +big-integer@1.6.x: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== @@ -9243,24 +6986,12 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^9.1.1: - version "9.3.0" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.0.tgz#bdba7e2a4c1a2eba08290e8dcad4f36393c92acd" - integrity sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.3, bl@^4.1.0: +bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -9269,11 +7000,6 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - body-parser@1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -9307,16 +7033,6 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -boolean@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" - integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== - -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - bplist-creator@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" @@ -9367,11 +7083,6 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.4, browserslist@^4.21.9: version "4.21.10" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" @@ -9425,19 +7136,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-writer@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" - integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== - -buffer@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - buffer@^5.4.3, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -9446,20 +7144,12 @@ buffer@^5.4.3, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== -bytes@3.1.2, bytes@^3.1.2: +bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== @@ -9536,11 +7226,6 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001517, caniuse-lite@^1.0.30001587, can resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz" integrity sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw== -cborg@^1.6.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.2.tgz#83cd581b55b3574c816f82696307c7512db759a1" - integrity sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug== - cborg@^4.0.0: version "4.2.6" resolved "https://registry.yarnpkg.com/cborg/-/cborg-4.2.6.tgz#7491c29986a87c647d6e2c232e64c82214ca660e" @@ -9616,11 +7301,6 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chownr@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" @@ -9751,21 +7431,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -cluster-key-slot@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" - integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== -cockatiel@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/cockatiel/-/cockatiel-3.2.1.tgz#575f937bc4040a20ae27352a6d07c9c5a741981f" - integrity sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q== - 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" @@ -9955,11 +7625,6 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -cookie@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" - integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== - copy-webpack-plugin@^10.2.0: version "10.2.4" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" @@ -9984,24 +7649,11 @@ core-js-pure@^3.23.3: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.32.1.tgz#5775b88f9062885f67b6d7edce59984e89d276f3" integrity sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ== -core-js@^3: - version "3.47.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.47.0.tgz#436ef07650e191afeb84c24481b298bd60eb4a17" - integrity sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg== - 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" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - cosmiconfig@^8.0.0: version "8.3.6" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" @@ -10035,11 +7687,6 @@ create-jest@^29.7.0: jest-util "^29.7.0" prompts "^2.0.1" -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - crelt@^1.0.0: version "1.0.6" resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" @@ -10381,13 +8028,6 @@ decode-uri-component@^0.2.2: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" @@ -10475,21 +8115,11 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -denque@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" - integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== - depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -10510,11 +8140,6 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-libc@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - detect-libc@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" @@ -10540,11 +8165,6 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - dijkstrajs@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" @@ -10557,11 +8177,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -disposable-email-domains-js@^1.5.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/disposable-email-domains-js/-/disposable-email-domains-js-1.7.0.tgz#2bf859bccf7a2eb697025577e18f0434409713ec" - integrity sha512-qcIJcnXjDvH8EEt0tyAesk1sZVGU5ZFtW6Wys2wKCAcbUf5nJYfwZfT7Z0PVA/LBMlqd/Xgk9dXN2Q3fx7NFAg== - dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -10670,11 +8285,6 @@ dotenv-expand@~11.0.6: dependencies: dotenv "^16.4.4" -dotenv@^16.0.3: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - dotenv@^16.3.1: version "16.4.7" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" @@ -10729,19 +8339,6 @@ electron-to-chromium@^1.5.41: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.51.tgz#bb99216fed4892d131a8585a8593b00739310163" integrity sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg== -elliptic@^6.4.1: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - email-validator@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed" @@ -10787,13 +8384,6 @@ encodeurl@~2.0.0: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== -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" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - enhanced-resolve@^5.15.0: version "5.15.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" @@ -11559,22 +9149,12 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -etcd3@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/etcd3/-/etcd3-1.1.2.tgz#0cb0f101b8c9c14ba3a0ae5b9f1fc7de0f04b662" - integrity sha512-YIampCz1/OmrVo/tR3QltAVUtYCQQOSFoqmHKKeoHbalm+WdXe3l4rhLIylklu8EzR/I3PBiOF4dC847dDskKg== - dependencies: - "@grpc/grpc-js" "^1.8.20" - "@grpc/proto-loader" "^0.7.8" - bignumber.js "^9.1.1" - cockatiel "^3.1.1" - event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -eventemitter3@^4.0.0, eventemitter3@^4.0.4: +eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -11584,7 +9164,7 @@ eventemitter3@^5.0.1: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -events@3.3.0, events@^3.2.0, events@^3.3.0: +events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -11629,11 +9209,6 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - expect@^29.0.0: version "29.6.3" resolved "https://registry.yarnpkg.com/expect/-/expect-29.6.3.tgz#e74b57c35a81fd93ece6b570e371309c53dc4f54" @@ -12010,12 +9585,7 @@ exponential-backoff@^3.1.1: resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== -express-async-errors@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/express-async-errors/-/express-async-errors-3.1.1.tgz#6053236d61d21ddef4892d6bd1d736889fc9da41" - integrity sha512-h6aK1da4tpqWSbyCa3FxB/V6Ehd4EEB15zyQq9qe75OZBp0krinNKuH4rAY+S/U/2I36vdLAUFSjQJ+TFmODng== - -express@^4.17.2, express@^4.17.3, express@^4.18.2: +express@^4.17.3: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== @@ -12084,18 +9654,6 @@ fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-json-stringify@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-5.8.0.tgz#b229ed01ac5f92f3b82001a916c31324652f46d7" - integrity sha512-VVwK8CFMSALIvt14U8AvrSzQAwN/0vaVRiFFUVlpnXSnDGrSkOAO5MtzyN8oQNjLd5AqTW5OZRgyjoNuAuR3jQ== - dependencies: - "@fastify/deepmerge" "^1.0.0" - ajv "^8.10.0" - ajv-formats "^2.1.1" - fast-deep-equal "^3.1.3" - fast-uri "^2.1.0" - rfdc "^1.2.0" - fast-json-stringify@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-6.0.1.tgz#82f1cb45fa96d0ca24b601f1738066976d6e2430" @@ -12113,40 +9671,16 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-printf@^1.6.9: - version "1.6.9" - resolved "https://registry.yarnpkg.com/fast-printf/-/fast-printf-1.6.9.tgz#212f56570d2dc8ccdd057ee93d50dd414d07d676" - integrity sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg== - dependencies: - boolean "^3.1.4" - -fast-redact@^3.1.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634" - integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== - fast-text-encoding@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz#0aa25f7f638222e3396d72bf936afcf1d42d6867" integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== -fast-uri@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.2.0.tgz#519a0f849bef714aad10e9753d69d8f758f7445a" - integrity sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg== - fast-uri@^3.0.0, fast-uri@^3.0.1: version "3.0.6" resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== -fast-xml-parser@5.2.5: - version "5.2.5" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz#4809fdfb1310494e341098c25cb1341a01a9144a" - integrity sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ== - dependencies: - strnum "^2.1.0" - fastq@^1.6.0: version "1.15.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" @@ -12206,20 +9740,6 @@ file-loader@6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -file-type@^16.5.4: - version "16.5.4" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" - integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== - dependencies: - readable-web-to-node-stream "^3.0.0" - strtok3 "^6.2.4" - token-types "^4.1.1" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -12329,7 +9849,7 @@ flow-enums-runtime@^0.0.6: resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== -follow-redirects@^1.0.0, follow-redirects@^1.15.0: +follow-redirects@^1.0.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -12378,7 +9898,7 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -forwarded@0.2.0, forwarded@^0.2.0: +forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== @@ -12388,21 +9908,11 @@ freeport-async@^2.0.0: resolved "https://registry.yarnpkg.com/freeport-async/-/freeport-async-2.0.0.tgz#6adf2ec0c629d11abff92836acd04b399135bab4" integrity sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ== -french-badwords-list@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/french-badwords-list/-/french-badwords-list-1.0.7.tgz#8ed2442cb20fa2781c38b5a75c944f8e91a73c08" - integrity sha512-H1ziKs2PJh2+UXZ9oCGJ/rRQpsI9NBykGf2Sc7WaKaj1OnWFuBXfsvANTdRcfVmOghGQaUmRyZ1hJOPbDpy04Q== - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 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" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" @@ -12529,11 +10039,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -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-proto@^1.0.0, get-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" @@ -12581,11 +10086,6 @@ getenv@^2.0.0: resolved "https://registry.yarnpkg.com/getenv/-/getenv-2.0.0.tgz#b1698c7b0f29588f4577d06c42c73a5b475c69e0" integrity sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ== -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -12693,7 +10193,7 @@ globals@^17.0.0: resolved "https://registry.yarnpkg.com/globals/-/globals-17.0.0.tgz#a4196d9cfeb4d627ba165b4647b1f5853bf90a30" integrity sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw== -globalthis@^1.0.2, globalthis@^1.0.3: +globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== @@ -12777,18 +10277,6 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -handlebars@^4.7.7: - version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - 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" @@ -12861,14 +10349,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -12922,15 +10402,6 @@ hls.js@^1.6.2: resolved "https://registry.yarnpkg.com/hls.js/-/hls.js-1.6.2.tgz#02272bea644b5f61f71741256618d6b629ae7834" integrity sha512-rx+pETSCJEDThm/JCm8CuadcAC410cVjb1XVXFNDKFuylaayHk1+tFxhkjvnMDAfqsJHxZXDAJ3Uc2d5xQyWlQ== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -12985,16 +10456,6 @@ html-minifier-terser@^6.0.2: relateurl "^0.2.7" terser "^5.10.0" -html-to-text@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-7.1.1.tgz#69de8d85b91646b4bc14fdf4f850e9e046efff15" - integrity sha512-c9QWysrfnRZevVpS8MlE7PyOdSuIOjg8Bt8ZE10jMU/BEngA6j3llj4GRfAmtQzcd1FjKE0sWu5IHXRUH9YxIQ== - dependencies: - deepmerge "^4.2.2" - he "^1.2.0" - htmlparser2 "^6.1.0" - minimist "^1.2.5" - html-webpack-plugin@^5.5.0: version "5.5.3" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" @@ -13029,7 +10490,7 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@2.0.0, http-errors@^2.0.0: +http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== @@ -13084,16 +10545,6 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-terminator@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/http-terminator/-/http-terminator-3.2.0.tgz#bc158d2694b733ca4fbf22a35065a81a609fb3e9" - integrity sha512-JLjck1EzPaWjsmIf8bziM3p9fgR1Y3JoUKAkyYEbZmFrIvJM6I8vVJfBGWlEtV9IWOvzNnaTtjuwZeBY2kwB4g== - dependencies: - delay "^5.0.0" - p-wait-for "^3.2.0" - roarr "^7.0.4" - type-fest "^2.3.3" - https-proxy-agent@^5.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" @@ -13159,7 +10610,7 @@ idb-keyval@^6.2.2: resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.2.tgz#b0171b5f73944854a3291a5cdba8e12768c4854a" integrity sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg== -ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: +ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -13220,7 +10671,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -13267,21 +10718,6 @@ invariant@2.2.4, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ioredis@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.3.2.tgz#9139f596f62fc9c72d873353ac5395bcf05709f7" - integrity sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA== - dependencies: - "@ioredis/commands" "^1.1.1" - cluster-key-slot "^1.1.0" - debug "^4.3.4" - denque "^2.1.0" - lodash.defaults "^4.2.0" - lodash.isarguments "^3.1.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" - standard-as-callback "^2.1.0" - ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -13292,11 +10728,6 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== -ipaddr.js@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" - integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== - is-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" @@ -14407,16 +11838,6 @@ jiti@^2.5.1: resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.6.1.tgz#178ef2fc9a1a594248c20627cd820187a4d78d92" integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== -jose@^5.0.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/jose/-/jose-5.1.3.tgz#303959d85c51b5cb14725f930270b72be56abdca" - integrity sha512-GPExOkcMsCLBTi1YetY2LmkoY559fss0+0KVa6kOfb2YFe84nAM7Nm/XzuZozah4iHgmBGrCOHL5/cy670SBRw== - -jose@^5.2.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/jose/-/jose-5.6.3.tgz#415688bc84875461c86dfe271ea6029112a23e27" - integrity sha512-1Jh//hEEwMhNYPDDLwXHa2ePWgWiFNNUadVmguAAw2IJ6sj9mNxV5tGXJNqlMkJAybF6Lgw1mISDxTePP/187g== - js-sha256@^0.10.1: version "0.10.1" resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.10.1.tgz#b40104ba1368e823fdd5f41b66b104b15a0da60d" @@ -14583,16 +12004,6 @@ jwt-decode@^4.0.0: resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== -key-encoder@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-2.0.3.tgz#77073bb48ff1fe2173bb2088b83b91152c8fa4ba" - integrity sha512-fgBtpAGIr/Fy5/+ZLQZIPPhsZEcbSlYu/Wu96tNDFNSjSACw5lEIOFeaVdQ/iwrb8oxjlWi6wmWdH76hV6GZjg== - dependencies: - "@types/elliptic" "^6.4.9" - asn1.js "^5.0.1" - bn.js "^4.11.8" - elliptic "^6.4.1" - keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -14612,16 +12023,6 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -kysely@^0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/kysely/-/kysely-0.22.0.tgz#8aac53942da3cadc604d7d154a746d983fe8f7b9" - integrity sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ== - -kysely@^0.23.4: - version "0.23.5" - resolved "https://registry.yarnpkg.com/kysely/-/kysely-0.23.5.tgz#60c63d94e1c42cc0411be8aaa688a0f27405f514" - integrity sha512-TH+b56pVXQq0tsyooYLeNfV11j6ih7D50dyN8tkM0e7ndiUH28Nziojiog3qRFlmEj9XePYdZUrNJ2079Qjdow== - lan-network@^0.1.6: version "0.1.7" resolved "https://registry.yarnpkg.com/lan-network/-/lan-network-0.1.7.tgz#9fcb9967c6d951f10b2f9a9ffabe4a312d63f69d" @@ -14642,14 +12043,6 @@ launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.7.3" -leo-profanity@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/leo-profanity/-/leo-profanity-1.8.0.tgz#2ce6522e27c093d02253cdb9755b74cc7ffccf90" - integrity sha512-TATupbZhT3oFCtsiEXzgXcLvW6cDPhDtN+0yQAibjwBdSw3WJFLKM0DZ18eEW8KeFTT10x8gCP+DDZz0cI4Bfg== - optionalDependencies: - french-badwords-list "^1.0.7" - russian-bad-words "^0.5.0" - leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -14845,11 +12238,6 @@ lockfile-lint@^4.14.0: lockfile-lint-api "^5.9.1" yargs "^17.7.2" -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - lodash.chunk@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" @@ -14860,16 +12248,6 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== - -lodash.isarguments@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -14926,11 +12304,6 @@ log-update@^5.0.1: strip-ansi "^7.0.1" wrap-ansi "^8.0.1" -long@^5.0.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" - integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== - loose-envify@^1.0.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -14995,11 +12368,6 @@ make-dir@^4.0.0: 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" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - makeerror@1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -15319,7 +12687,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, 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" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -15346,11 +12714,6 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -15363,16 +12726,11 @@ mini-css-extract-plugin@^2.5.2: dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@^10.1.1, "minimatch@^9.0.3 || ^10.0.1": version "10.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55" @@ -15408,7 +12766,7 @@ minimatch@^9.0.1, minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -15435,11 +12793,6 @@ minizlib@^3.1.0: dependencies: minipass "^7.1.2" -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" @@ -15478,16 +12831,11 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -multiformats@9.9.0, multiformats@^13.1.0, multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: +multiformats@9.9.0, multiformats@^13.1.0, multiformats@^9.4.2, multiformats@^9.9.0: version "9.9.0" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -murmurhash@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-2.0.1.tgz#4097720e08cf978872194ad84ea5be2dec9b610f" - integrity sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew== - mz@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -15517,11 +12865,6 @@ nanoid@^5.0.5: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-5.0.5.tgz#5112efb5c0caf4fc80680d66d303c65233a79fdd" integrity sha512-/Veqm+QKsyMY3kqi4faWplnY1u+VuKO3dD2binyPIybP31DRO29bPF+1mszgLnrR2KqSLceFLBNw0zmvDzN1QQ== -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - napi-postinstall@^0.3.0: version "0.3.4" resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.3.4.tgz#7af256d6588b5f8e952b9190965d6b019653bbb9" @@ -15555,13 +12898,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^3.3.0: - version "3.47.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.47.0.tgz#6cbfa2916805ae25c2b7156ca640131632eb05e8" - integrity sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A== - dependencies: - semver "^7.3.5" - node-fetch@^2.6.12, node-fetch@^2.6.7: version "2.6.13" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.13.tgz#a20acbbec73c2e09f9007de5cda17104122e0010" @@ -15607,18 +12943,6 @@ node-releases@^2.0.21: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.21.tgz#f59b018bc0048044be2d4c4c04e4c8b18160894c" integrity sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw== -nodemailer-html-to-text@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/nodemailer-html-to-text/-/nodemailer-html-to-text-3.2.0.tgz#91b959491fef8f7d91796047abb728aa86d4a12b" - integrity sha512-RJUC6640QV1PzTHHapOrc6IzrAJUZtk2BdVdINZ9VTLm+mcQNyBO9LYyhrnufkzqiD9l8hPLJ97rSyK4WanPNg== - dependencies: - html-to-text "7.1.1" - -nodemailer@^6.8.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.4.tgz#93bd4a60eb0be6fa088a0483340551ebabfd2abf" - integrity sha512-CXjQvrQZV4+6X5wP6ZIgdehJamI63MFoYFGGPtHudWym9qaEHDNdPzaj5bfMCvxG1vhAileSWW90q7nL0N36mA== - 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" @@ -15682,7 +13006,7 @@ ob1@0.83.2: dependencies: flow-enums-runtime "^0.0.6" -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +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" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -15812,11 +13136,6 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-exit-leak-free@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz#5c703c968f7e7f851885f6459bf8a8a57edc9cc4" - integrity sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w== - on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -15836,18 +13155,13 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -one-webcrypto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/one-webcrypto/-/one-webcrypto-1.0.3.tgz#f951243cde29b79b6745ad14966fc598a609997c" - integrity sha512-fu9ywBVBPx0gS9K0etIROTiCkvI5S1TDjFsYFb3rC1ewFxeOqsbzq7aIMBHsYfrTHBcGXJaONXXjTl8B01cW1Q== - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -15944,11 +13258,6 @@ own-keys@^1.0.1: object-keys "^1.1.1" safe-push-apply "^1.0.0" -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - 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" @@ -15989,14 +13298,6 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== -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: - eventemitter3 "^4.0.4" - p-timeout "^3.2.0" - p-retry@^4.5.0: version "4.6.2" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" @@ -16005,35 +13306,16 @@ p-retry@^4.5.0: "@types/retry" "0.12.0" retry "^0.13.1" -p-timeout@^3.0.0, 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@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -p-wait-for@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-wait-for/-/p-wait-for-3.2.0.tgz#640429bcabf3b0dd9f492c31539c5718cb6a3f1f" - integrity sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA== - dependencies: - p-timeout "^3.0.0" - package-json-from-dist@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== -packet-reader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74" - integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== - param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -16175,69 +13457,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -peek-readable@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" - integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== - -pg-cloudflare@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz#e6d5833015b170e23ae819e8c5d7eaedb472ca98" - integrity sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== - -pg-connection-string@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.2.tgz#713d82053de4e2bd166fab70cd4f26ad36aab475" - integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== - -pg-int8@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" - integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== - -pg-pool@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.6.1.tgz#5a902eda79a8d7e3c928b77abf776b3cb7d351f7" - integrity sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== - -pg-protocol@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.6.0.tgz#4c91613c0315349363af2084608db843502f8833" - integrity sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== - -pg-types@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" - integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== - dependencies: - pg-int8 "1.0.1" - postgres-array "~2.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.4" - postgres-interval "^1.1.0" - -pg@^8.10.0, pg@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.11.3.tgz#d7db6e3fe268fcedd65b8e4599cda0b8b4bf76cb" - integrity sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== - dependencies: - buffer-writer "2.0.0" - packet-reader "1.0.0" - pg-connection-string "^2.6.2" - pg-pool "^3.6.1" - pg-protocol "^1.6.0" - pg-types "^2.1.0" - pgpass "1.x" - optionalDependencies: - pg-cloudflare "^1.1.1" - -pgpass@1.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d" - integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== - dependencies: - split2 "^4.1.0" - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -16295,71 +13514,6 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== -pino-abstract-transport@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz#97f9f2631931e242da531b5c66d3079c12c9d1b5" - integrity sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q== - dependencies: - readable-stream "^4.0.0" - split2 "^4.0.0" - -pino-abstract-transport@v1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz#cc0d6955fffcadb91b7b49ef220a6cc111d48bb3" - integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA== - dependencies: - readable-stream "^4.0.0" - split2 "^4.0.0" - -pino-http@^8.2.1, pino-http@^8.3.3: - version "8.4.0" - resolved "https://registry.yarnpkg.com/pino-http/-/pino-http-8.4.0.tgz#ebfd601f7244d7bd9ead578843025505da4e3f56" - integrity sha512-9I1eRLxsujQJwLQTrHBU0wDlwnry2HzV2TlDwAsmZ9nT3Y2NQBLrz+DYp73L4i11vl/eudnFT8Eg0Kp62tMwEw== - dependencies: - get-caller-file "^2.0.5" - pino "^8.0.0" - pino-std-serializers "^6.0.0" - process-warning "^2.0.0" - -pino-std-serializers@^6.0.0: - version "6.2.2" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz#d9a9b5f2b9a402486a5fc4db0a737570a860aab3" - integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== - -pino@^8.0.0, pino@^8.11.0, pino@^8.6.1: - version "8.15.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.15.0.tgz#67c61d5e397bf297e5a0433976a7f7b8aa6f876b" - integrity sha512-olUADJByk4twxccmAxb1RiGKOSvddHugCV3wkqjyv+3Sooa2KLrmXrKEWOKi0XPCLasRR5jBXxioE1jxUa4KzQ== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.1.1" - on-exit-leak-free "^2.1.0" - pino-abstract-transport v1.0.0 - pino-std-serializers "^6.0.0" - process-warning "^2.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.2.0" - safe-stable-stringify "^2.3.1" - sonic-boom "^3.1.0" - thread-stream "^2.0.0" - -pino@^8.21.0: - version "8.21.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.21.0.tgz#e1207f3675a2722940d62da79a7a55a98409f00d" - integrity sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.1.1" - on-exit-leak-free "^2.1.0" - pino-abstract-transport "^1.2.0" - pino-std-serializers "^6.0.0" - process-warning "^3.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.2.0" - safe-stable-stringify "^2.3.1" - sonic-boom "^3.7.0" - thread-stream "^2.6.0" - pirates@^4.0.1, pirates@^4.0.4: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" @@ -16664,51 +13818,11 @@ postcss@~8.4.32: picocolors "^1.0.0" source-map-js "^1.2.0" -postgres-array@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" - integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" - integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== - -postgres-date@~1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" - integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== - -postgres-interval@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" - integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== - dependencies: - xtend "^4.0.0" - postinstall-postinstall@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== -prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -16760,21 +13874,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process-warning@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-2.2.0.tgz#008ec76b579820a8e5c35d81960525ca64feb626" - integrity sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg== - -process-warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-3.0.0.tgz#96e5b88884187a1dce6f5c3166d611132058710b" - integrity sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -16989,24 +14088,6 @@ prosemirror-view@^1.34.3: prosemirror-state "^1.0.0" prosemirror-transform "^1.1.0" -protobufjs@^7.2.5: - version "7.5.0" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.0.tgz#a317ad80713e9db43c8e55afa8636a9aa76bb630" - integrity sha512-Z2E/kOY1QjoMlCytmexzYfDm/w5fKAiRwpSzGtdnXW1zC88Z2yXazHHrOtwCzn+7wSxyE8PYM4rvVcMphF9sOA== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - long "^5.0.0" - proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -17032,14 +14113,6 @@ psl@^1.1.33, psl@^1.9.0: resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - punycode.js@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" @@ -17110,11 +14183,6 @@ queue@6.0.2: dependencies: inherits "~2.0.3" -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - radix-ui@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/radix-ui/-/radix-ui-1.4.3.tgz#17712d9e26ee61fdf4cd3969f4e16a794419508b" @@ -17188,11 +14256,6 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -rate-limiter-flexible@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/rate-limiter-flexible/-/rate-limiter-flexible-2.4.2.tgz#2a219cc473f015142fd8fb599371223d730decbd" - integrity sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw== - raw-body@2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" @@ -17203,7 +14266,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@~1.2.7: +rc@^1.0.1, rc@^1.1.6, rc@~1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -17556,7 +14619,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.4.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -17565,24 +14628,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^4.0.0: - version "4.4.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13" - integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - -readable-web-to-node-stream@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" - integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== - dependencies: - readable-stream "^3.6.0" - readdirp@~3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" @@ -17597,11 +14642,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -real-require@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.2.0.tgz#209632dea1810be2ae063a6ac084fee7e33fba78" - integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -17610,18 +14650,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redis-errors@^1.0.0, redis-errors@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" - integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== - -redis-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" - integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== - dependencies: - redis-errors "^1.0.0" - reflect.getprototypeof@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz#2738fd896fcc3477ffbd4190b40c2458026b6928" @@ -17962,18 +14990,6 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -roarr@^7.0.4: - version "7.15.1" - resolved "https://registry.yarnpkg.com/roarr/-/roarr-7.15.1.tgz#e4d93105c37b5ea7dd1200d96a3500f757ddc39f" - integrity sha512-0ExL9rjOXeQPvQvQo8IcV8SR2GTXmDr1FQFlY2HiAV+gdVQjaVZNOx9d4FI2RqFFsd0sNsiw2TRS/8RU9g0ZfA== - dependencies: - boolean "^3.1.4" - fast-json-stringify "^5.8.0" - fast-printf "^1.6.9" - globalthis "^1.0.2" - safe-stable-stringify "^2.4.3" - semver-compare "^1.0.0" - rope-sequence@^1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425" @@ -17991,18 +15007,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -russian-bad-words@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/russian-bad-words/-/russian-bad-words-0.5.0.tgz#d4abcdc55f7af37606cdbac44bcb9e0bde6c3855" - integrity sha512-euNvEYki6iYYpkNbeudW+lEMMYGEmN7EBwVF8ezlbv0bZoQpVYB7W10cCeUIGV7Ed50sJynLQ0c559q5iI0ejQ== - -rxjs@^7.5.2: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - safe-array-concat@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" @@ -18070,12 +15074,7 @@ safe-regex-test@^1.1.0: es-errors "^1.3.0" is-regex "^1.2.1" -safe-stable-stringify@^2.3.1, safe-stable-stringify@^2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.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" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -18137,12 +15136,7 @@ selfsigned@^2.1.1: dependencies: node-forge "^1" -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== - -semver@7.6.3, semver@^7.1.3, semver@^7.6.3: +semver@7.6.3, semver@^7.1.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -18346,35 +15340,6 @@ shallow-equal@^3.1.0: resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-3.1.0.tgz#e7a54bac629c7f248eff6c2f5b63122ba4320bec" integrity sha512-pfVOw8QZIXpMbhBWvzBISicvToTiM5WBF1EeAUZDDSb5Dt29yl4AYbyywbJFSEsRUMr7gJaxqCdr4L3tQf9wVg== -sharp@^0.33.5: - version "0.33.5" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" - integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== - dependencies: - color "^4.2.3" - detect-libc "^2.0.3" - semver "^7.6.3" - optionalDependencies: - "@img/sharp-darwin-arm64" "0.33.5" - "@img/sharp-darwin-x64" "0.33.5" - "@img/sharp-libvips-darwin-arm64" "1.0.4" - "@img/sharp-libvips-darwin-x64" "1.0.4" - "@img/sharp-libvips-linux-arm" "1.0.5" - "@img/sharp-libvips-linux-arm64" "1.0.4" - "@img/sharp-libvips-linux-s390x" "1.0.4" - "@img/sharp-libvips-linux-x64" "1.0.4" - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - "@img/sharp-linux-arm" "0.33.5" - "@img/sharp-linux-arm64" "0.33.5" - "@img/sharp-linux-s390x" "0.33.5" - "@img/sharp-linux-x64" "0.33.5" - "@img/sharp-linuxmusl-arm64" "0.33.5" - "@img/sharp-linuxmusl-x64" "0.33.5" - "@img/sharp-wasm32" "0.33.5" - "@img/sharp-win32-ia32" "0.33.5" - "@img/sharp-win32-x64" "0.33.5" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -18451,20 +15416,6 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - simple-plist@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" @@ -18537,20 +15488,6 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -sonic-boom@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.3.0.tgz#cffab6dafee3b2bcb88d08d589394198bee1838c" - integrity sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g== - dependencies: - atomic-sleep "^1.0.0" - -sonic-boom@^3.7.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.8.1.tgz#d5ba8c4e26d6176c9a1d14d549d9ff579a163422" - integrity sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg== - dependencies: - atomic-sleep "^1.0.0" - sonner-native@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/sonner-native/-/sonner-native-0.21.0.tgz#b7968f8a7fdcdbc3b13b478455d63b24a45db829" @@ -18654,11 +15591,6 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split2@^4.0.0, split2@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -18717,11 +15649,6 @@ stacktrace-parser@^0.1.10: dependencies: type-fest "^0.7.1" -standard-as-callback@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" - integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -18740,14 +15667,6 @@ stop-iteration-iterator@^1.1.0: es-errors "^1.3.0" internal-slot "^1.1.0" -stream-browserify@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - stream-buffers@2.2.x: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" @@ -18938,7 +15857,7 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -19012,29 +15931,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -strnum@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.1.tgz#cf2a6e0cf903728b8b2c4b971b7e36b4e82d46ab" - integrity sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw== - -strtok3@^6.2.4: - version "6.3.0" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" - integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== - dependencies: - "@tokenizer/token" "^0.3.0" - peek-readable "^4.1.0" - structured-headers@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-0.4.1.tgz#77abd9410622c6926261c09b9d16cf10592694d1" integrity sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg== -structured-headers@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-1.0.1.tgz#1821e434e0fe45bdd78f07c779b16519ab520415" - integrity sha512-QYBxdBtA4Tl5rFPuqmbmdrS9kbtren74RTJTcs0VSQNVV5iRhJD4QlYTLD0+81SBwUQctjEQzjTRI3WG4DzICA== - style-loader@^3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" @@ -19149,27 +16050,6 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - tar@^7.5.2: version "7.5.2" resolved "https://registry.yarnpkg.com/tar/-/tar-7.5.2.tgz#115c061495ec51ff3c6745ff8f6d0871c5b1dedc" @@ -19245,20 +16125,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -thread-stream@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.4.0.tgz#5def29598d1d4171ba3bace7e023a71d87d99c07" - integrity sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw== - dependencies: - real-require "^0.2.0" - -thread-stream@^2.6.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.7.0.tgz#d8a8e1b3fd538a6cca8ce69dbe5d3d097b601e11" - integrity sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw== - dependencies: - real-require "^0.2.0" - threads@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/threads/-/threads-1.7.0.tgz#d9e9627bfc1ef22ada3b733c2e7558bbe78e589c" @@ -19347,14 +16213,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -token-types@^4.1.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.1.tgz#0f897f03665846982806e138977dbe72d44df753" - integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ== - dependencies: - "@tokenizer/token" "^0.3.0" - ieee754 "^1.2.1" - totalist@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" @@ -19402,25 +16260,6 @@ ts-interface-checker@^0.1.9: resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - ts-plugin-sort-import-suggestions@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/ts-plugin-sort-import-suggestions/-/ts-plugin-sort-import-suggestions-1.0.4.tgz#d1ed6c235feb8c8bb8b34c625ea75b46e3e62925" @@ -19431,12 +16270,12 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tslib@^2.6.2, tslib@^2.8.0, tslib@^2.8.1: +tslib@^2.8.0, tslib@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -19448,13 +16287,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - 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" @@ -19482,11 +16314,6 @@ type-fest@^1.0.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== -type-fest@^2.3.3: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - 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" @@ -19584,13 +16411,6 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typed-emitter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" - integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== - optionalDependencies: - rxjs "^7.5.2" - typescript-eslint@^8.56.0: version "8.56.0" resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.56.0.tgz#f4686ccaaf2fb86daf0133820da40ca5961a2236" @@ -19621,11 +16441,6 @@ uc.micro@^2.0.0, uc.micro@^2.1.0: resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== -uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== - uint8arrays@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" @@ -19658,33 +16473,11 @@ undici-types@~6.19.2: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -undici@^5.28.2: - version "5.28.2" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.2.tgz#fea200eac65fc7ecaff80a023d1a0543423b4c91" - integrity sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w== - dependencies: - "@fastify/busboy" "^2.0.0" - -undici@^6.14.1: - version "6.19.5" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.5.tgz#5829101361b583b53206e81579f4df71c56d6be8" - integrity sha512-LryC15SWzqQsREHIOUybavaIHF5IoL0dJ9aWWxL/PgT1KfqAW5225FZpDUFlt9xiDMS2/S7DOKhFWA7RLksWdg== - undici@^6.18.2: version "6.21.0" resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.0.tgz#4b3d3afaef984e07b48e7620c34ed8a285ed4cd4" integrity sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw== -undici@^6.19.8: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.8.tgz#002d7c8a28f8cc3a44ff33c3d4be4d85e15d40e1" - integrity sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g== - 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" @@ -19922,11 +16715,6 @@ uuid@^9.0.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== -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" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - v8-to-istanbul@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" @@ -19941,12 +16729,7 @@ validate-npm-package-name@^5.0.0: resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== -varint@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== - -vary@^1, vary@~1.1.2: +vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== @@ -20340,11 +17123,6 @@ wonka@^6.3.2: resolved "https://registry.yarnpkg.com/wonka/-/wonka-6.3.4.tgz#76eb9316e3d67d7febf4945202b5bdb2db534594" 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" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -20420,7 +17198,7 @@ ws@^7.5.10: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -ws@^8.11.0, ws@^8.12.0, ws@^8.12.1, ws@^8.13.0: +ws@^8.11.0, ws@^8.12.1, ws@^8.13.0: version "8.13.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== @@ -20471,11 +17249,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - 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" @@ -20559,11 +17332,6 @@ yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2: y18n "^5.0.5" yargs-parser "^21.1.1" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - 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" @@ -20587,7 +17355,7 @@ zod-validation-error@^3.0.3: resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-4.0.2.tgz#bc605eba49ce0fcd598c127fee1c236be3f22918" integrity sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ== -zod@3.23.8, zod@^3.14.2, zod@^3.20.2, zod@^3.22.4, zod@^3.23.8: +zod@^3.20.2, zod@^3.22.4, zod@^3.23.8: version "3.23.8" resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== -- 2.51.2 From 041e34858119739e3e0344f65b71c2917bcd4645 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Fri, 6 Mar 2026 21:34:03 +0000 Subject: [PATCH 05/29] Bump version to 1.119.0 (#10020) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f18e02a3e..70db6ed7b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bsky.app", - "version": "1.118.1", + "version": "1.119.0", "private": true, "engines": { "node": ">=20" -- 2.51.2 From f8886fbfe6de73c50f6d97b2e1f9e1b7c6960b1e Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Fri, 6 Mar 2026 13:36:58 -0800 Subject: [PATCH 06/29] Refine presentation of translation results (#10015) Co-authored-by: Eric Bailey --- src/components/Post/Translated/index.tsx | 145 +++++++++++------- .../components/ThreadItemAnchor.tsx | 6 +- 2 files changed, 94 insertions(+), 57 deletions(-) diff --git a/src/components/Post/Translated/index.tsx b/src/components/Post/Translated/index.tsx index fb05fd9d3..c6402978a 100644 --- a/src/components/Post/Translated/index.tsx +++ b/src/components/Post/Translated/index.tsx @@ -1,5 +1,5 @@ import {useCallback, useMemo} from 'react' -import {Platform, View} from 'react-native' +import {Platform, type StyleProp, type TextStyle, View} from 'react-native' import {type AppBskyFeedDefs} from '@atproto/api' import {Trans, useLingui} from '@lingui/react/macro' @@ -14,7 +14,7 @@ import { } from '#/locale/helpers' import {LANGUAGES} from '#/locale/languages' import {useLanguagePrefs} from '#/state/preferences' -import {atoms as a, native, useTheme, web} from '#/alf' +import {atoms as a, flatten, native, useTheme, web} from '#/alf' import {Button} from '#/components/Button' import {ArrowRight_Stroke2_Corner0_Rounded as ArrowRightIcon} from '#/components/icons/Arrow' import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' @@ -26,14 +26,18 @@ import {Text} from '#/components/Typography' import {useAnalytics} from '#/analytics' import {IS_WEB} from '#/env' +const X_ICON_OFFSET = 16 + export function TranslatedPost({ hideTranslateLink = false, post, postText, + postTextStyle = a.text_md, }: { hideTranslateLink?: boolean post: AppBskyFeedDefs.PostView postText: string + postTextStyle?: StyleProp }) { const langPrefs = useLanguagePrefs() const {clearTranslation, translate, translationState} = useTranslate({ @@ -54,6 +58,7 @@ export function TranslatedPost({ clearTranslation={clearTranslation} translate={translate} postText={postText} + postTextStyle={postTextStyle} sourceLanguage={ translationState.sourceLanguage ?? null // Fallback primarily for iOS } @@ -86,12 +91,12 @@ function TranslationLoading() { const t = useTheme() return ( - + - - Translating… + Translating + ) @@ -127,7 +132,7 @@ function TranslationLink({ - - - - - {message} - - - - - + + + + {message} + + + + style={[ + a.text_xs, + a.font_medium, + a.leading_snug, + {color: t.palette.primary_500}, + ]}> Try Google Translate @@ -224,12 +245,14 @@ function TranslationResult({ clearTranslation, translate, postText, + postTextStyle, sourceLanguage, translatedText, }: { clearTranslation: () => void translate: TranslationFunction postText: string + postTextStyle?: StyleProp sourceLanguage: string | null translatedText: string }) { @@ -241,39 +264,47 @@ function TranslationResult({ ? codeToLanguageName(sourceLanguage, i18n.locale) : undefined + const flattenedStyle = flatten(postTextStyle) ?? {} + const fontSize = flattenedStyle.fontSize + return ( - + {langName ? ( - + <> {langName}{' '} - - - + {' '} @@ -282,15 +313,10 @@ function TranslationResult({ langPrefs.appLanguage, )} - + ) : ( + style={[a.text_xs, a.leading_snug, t.atoms.text_contrast_medium]}> Translated )} @@ -300,6 +326,7 @@ function TranslationResult({ style={[ a.text_xs, a.font_medium, + a.leading_snug, t.atoms.text_contrast_medium, ]}> {' '} @@ -312,18 +339,19 @@ function TranslationResult({ /> )} + + - + {translatedText} - ) @@ -393,7 +421,12 @@ function TranslationLanguageSelect({ hitSlop={HITSLOP_30} hoverStyle={native({opacity: 0.5})}> + style={[ + a.text_xs, + a.font_medium, + a.leading_snug, + t.atoms.text_contrast_high, + ]}> Change diff --git a/src/screens/PostThread/components/ThreadItemAnchor.tsx b/src/screens/PostThread/components/ThreadItemAnchor.tsx index 1531784ae..9133a313c 100644 --- a/src/screens/PostThread/components/ThreadItemAnchor.tsx +++ b/src/screens/PostThread/components/ThreadItemAnchor.tsx @@ -407,7 +407,11 @@ const ThreadItemAnchorInner = memo(function ThreadItemAnchorInner({ shouldProxyLinks={true} /> ) : undefined} - + {post.embed && ( Date: Sat, 7 Mar 2026 02:59:25 +0000 Subject: [PATCH 07/29] Nightly source-language update --- src/locale/locales/en/messages.po | 53 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po index 4c97b8273..91c2f981d 100644 --- a/src/locale/locales/en/messages.po +++ b/src/locale/locales/en/messages.po @@ -553,28 +553,28 @@ msgstr "" #. Like count display, the <0> tags enclose the number of likes in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.likeCount) #. placeholder {1}: post.likeCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:489 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:493 msgid "<0>{0} {1, plural, one {like} other {likes}}" msgstr "" #. Quote count display, the <0> tags enclose the number of quotes in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.quoteCount) #. placeholder {1}: post.quoteCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:471 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:475 msgid "<0>{0} {1, plural, one {quote} other {quotes}}" msgstr "" #. Repost count display, the <0> tags enclose the number of reposts in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.repostCount) #. placeholder {1}: post.repostCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:451 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:455 msgid "<0>{0} {1, plural, one {repost} other {reposts}}" msgstr "" #. Save count display, the <0> tags enclose the number of saves in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.bookmarkCount) #. placeholder {1}: post.bookmarkCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:502 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:506 msgid "<0>{0} {1, plural, one {save} other {saves}}" msgstr "" @@ -1437,12 +1437,12 @@ msgid "Apply Pull Request" msgstr "" #. placeholder {0}: niceDate(i18n, createdAt, 'medium') -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:623 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:627 msgid "Archived from {0}" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:594 -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:632 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:598 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:636 msgid "Archived post" msgstr "" @@ -1712,7 +1712,7 @@ msgstr "" msgid "Bluesky" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:648 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:652 msgid "Bluesky cannot confirm the authenticity of the claimed date." msgstr "" @@ -1969,7 +1969,7 @@ msgstr "" msgid "Cashtag {tag}" msgstr "" -#: src/components/Post/Translated/index.tsx:397 +#: src/components/Post/Translated/index.tsx:430 #: src/screens/Settings/components/Email2FAToggle.tsx:31 msgid "Change" msgstr "" @@ -2015,7 +2015,7 @@ msgstr "" msgid "Change report reason" msgstr "" -#: src/components/Post/Translated/index.tsx:387 +#: src/components/Post/Translated/index.tsx:415 msgid "Change the source language" msgstr "Change the source language" @@ -4981,8 +4981,8 @@ msgstr "" msgid "Hide this reply?" msgstr "" -#: src/components/Post/Translated/index.tsx:194 -#: src/components/Post/Translated/index.tsx:320 +#: src/components/Post/Translated/index.tsx:210 +#: src/components/Post/Translated/index.tsx:344 #: src/components/PostControls/PostMenu/PostMenuItems.tsx:514 #: src/components/PostControls/PostMenu/PostMenuItems.tsx:516 msgid "Hide translation" @@ -5705,7 +5705,7 @@ msgstr "" msgid "Likes of your reposts notifications" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:485 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:489 msgid "Likes on this post" msgstr "" @@ -6791,7 +6791,7 @@ msgid "OK" msgstr "" #: src/screens/Login/PasswordUpdatedForm.tsx:37 -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:654 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:658 msgid "Okay" msgstr "" @@ -7813,7 +7813,7 @@ msgstr "" msgid "Quotes" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:467 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:471 msgid "Quotes of this post" msgstr "" @@ -8344,7 +8344,7 @@ msgstr "" msgid "Reposts" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:447 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:451 msgid "Reposts of this post" msgstr "" @@ -8905,7 +8905,7 @@ msgstr "" msgid "Select the {emojiName} emoji as your avatar" msgstr "" -#: src/components/Post/Translated/index.tsx:404 +#: src/components/Post/Translated/index.tsx:437 msgid "Select the source language" msgstr "Select the source language" @@ -9299,7 +9299,7 @@ msgstr "" msgid "Show when you’re live" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:595 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:599 msgid "Shows information about when this post was created" msgstr "" @@ -10314,7 +10314,7 @@ msgstr "" #. placeholder {0}: niceDate(i18n, createdAt) #. placeholder {1}: niceDate(i18n, indexedAt) -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:635 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:639 msgid "This post claims to have been created on <0>{0}, but was first seen by Bluesky on <1>{1}." msgstr "" @@ -10516,18 +10516,21 @@ msgstr "" #: src/components/dms/MessageContextMenu.tsx:139 #: src/components/dms/MessageContextMenu.tsx:141 -#: src/components/Post/Translated/index.tsx:141 -#: src/components/Post/Translated/index.tsx:148 +#: src/components/Post/Translated/index.tsx:146 +#: src/components/Post/Translated/index.tsx:153 #: src/components/PostControls/PostMenu/PostMenuItems.tsx:522 #: src/components/PostControls/PostMenu/PostMenuItems.tsx:524 msgid "Translate" msgstr "" -#: src/components/Post/Translated/index.tsx:294 +#: src/components/Post/Translated/index.tsx:320 msgid "Translated" msgstr "Translated" -#: src/components/Post/Translated/index.tsx:93 +#: src/components/Post/Translated/index.tsx:97 +msgid "Translating" +msgstr "Translating" + #: src/components/PostControls/PostMenu/PostMenuItems.tsx:506 #: src/components/PostControls/PostMenu/PostMenuItems.tsx:508 msgid "Translating…" @@ -10568,8 +10571,8 @@ msgctxt "action" msgid "Try again" msgstr "" -#: src/components/Post/Translated/index.tsx:207 -#: src/components/Post/Translated/index.tsx:215 +#: src/components/Post/Translated/index.tsx:223 +#: src/components/Post/Translated/index.tsx:236 msgid "Try Google Translate" msgstr "Try Google Translate" -- 2.51.2 From 18d7e775f6469f7e76004ae052f4b0bb6c42cc38 Mon Sep 17 00:00:00 2001 From: devin ivy Date: Sat, 7 Mar 2026 04:11:57 -0500 Subject: [PATCH 08/29] ogcard: ensure we use jpeg images for satori compat (#10023) --- bskyogcard/src/components/Img.tsx | 1 + bskyogcard/src/routes/starter-pack.tsx | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/bskyogcard/src/components/Img.tsx b/bskyogcard/src/components/Img.tsx index 733e7e226..cd63bc6a9 100644 --- a/bskyogcard/src/components/Img.tsx +++ b/bskyogcard/src/components/Img.tsx @@ -1,5 +1,6 @@ import React from 'react' +// @NOTE satori does not currently support webp, see vercel/satori#273 function detectMime(buf: Buffer): string { if (buf[0] === 0xff && buf[1] === 0xd8) return 'image/jpeg' if (buf[0] === 0x89 && buf[1] === 0x50) return 'image/png' diff --git a/bskyogcard/src/routes/starter-pack.tsx b/bskyogcard/src/routes/starter-pack.tsx index f6b6dc20f..99a3e73fe 100644 --- a/bskyogcard/src/routes/starter-pack.tsx +++ b/bskyogcard/src/routes/starter-pack.tsx @@ -1,9 +1,9 @@ import assert from 'node:assert' import React from 'react' -import {AppBskyGraphDefs, AtUri} from '@atproto/api' +import {type AppBskyGraphDefs, AtUri} from '@atproto/api' import resvg from '@resvg/resvg-js' -import {Express} from 'express' +import {type Express} from 'express' import satori from 'satori' import { @@ -11,7 +11,7 @@ import { STARTERPACK_HEIGHT, STARTERPACK_WIDTH, } from '../components/StarterPack.js' -import {AppContext} from '../context.js' +import {type AppContext} from '../context.js' import {httpLogger} from '../logger.js' import {loadEmojiAsSvg} from '../util.js' import {handler, originVerifyMiddleware} from './util.js' @@ -83,12 +83,18 @@ export default function (ctx: AppContext, app: Express) { } async function getImage(url: string) { - const response = await fetch(url) + const response = await fetch(ensureJpeg(url)) const arrayBuf = await response.arrayBuffer() // must drain body even if it will be discarded if (response.status !== 200) return null return Buffer.from(arrayBuf) } +// CDN URLs end with @jpeg, @webp, or no extension (which may default to webp). +// We want to ensure the image URLs we use are for jpegs, required for compat with satori. +function ensureJpeg(url: string) { + return url.replace(/(@[a-z]{3,5})?$/, '@jpeg') +} + const hideAvatarLabels = new Set([ '!hide', '!warn', -- 2.51.2 From aa897f55a01e6d15270e293da530a89372589e15 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Mon, 9 Mar 2026 22:53:32 +0200 Subject: [PATCH 09/29] The Great Unjanking of the Sheets (#9973) --- .../modules/bottomsheet/BottomSheetModule.kt | 4 +- .../modules/bottomsheet/BottomSheetView.kt | 200 +++++++++++++----- .../android/src/main/res/values/styles.xml | 7 +- .../bottom-sheet/ios/BottomSheetModule.swift | 4 +- modules/bottom-sheet/ios/SheetView.swift | 41 +++- .../ios/SheetViewController.swift | 8 +- modules/bottom-sheet/src/BottomSheet.types.ts | 1 + .../src/BottomSheetNativeComponent.tsx | 43 ++-- src/components/Dialog/index.tsx | 84 +++++--- src/components/ProgressGuide/FollowDialog.tsx | 13 +- src/components/Select/index.tsx | 2 +- .../Wizard/WizardEditListDialog.tsx | 5 +- src/components/dialogs/GifSelect.tsx | 1 + .../dialogs/LanguageSelectDialog.tsx | 14 +- src/components/dialogs/ServerInput.tsx | 8 +- src/components/dialogs/StarterPackDialog.tsx | 2 +- .../dialogs/lists/CreateOrEditListDialog.tsx | 5 +- .../lists/ListAddRemoveUsersDialog.tsx | 5 +- src/components/dms/dialogs/NewChatDialog.tsx | 5 +- .../dms/dialogs/ShareViaChatDialog.tsx | 5 +- src/components/hooks/useOnKeyboard.ts | 19 +- .../Profile/Header/EditProfileDialog.tsx | 5 +- .../components/AddAppPasswordDialog.tsx | 5 +- .../components/ChangeHandleDialog.tsx | 6 +- src/view/com/composer/GifAltText.tsx | 8 +- .../com/composer/drafts/DraftsListDialog.tsx | 2 +- .../composer/photos/ImageAltTextDialog.tsx | 10 +- 27 files changed, 317 insertions(+), 195 deletions(-) diff --git a/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetModule.kt b/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetModule.kt index 6e3630d57..a74caa0dd 100644 --- a/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetModule.kt +++ b/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetModule.kt @@ -25,8 +25,8 @@ class BottomSheetModule : Module() { view.dismiss() } - AsyncFunction("updateLayout") { view: BottomSheetView -> - view.updateLayout() + Prop("fullHeight") { view: BottomSheetView, prop: Boolean -> + view.fullHeight = prop } Prop("disableDrag") { view: BottomSheetView, prop: Boolean -> diff --git a/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetView.kt b/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetView.kt index 300c338f9..86a931787 100644 --- a/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetView.kt +++ b/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetView.kt @@ -8,10 +8,7 @@ import android.view.ViewStructure import android.view.Window import android.view.accessibility.AccessibilityEvent import android.widget.FrameLayout -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat -import androidx.core.view.allViews import com.facebook.react.bridge.LifecycleEventListener import com.facebook.react.bridge.ReactContext import com.facebook.react.bridge.UiThreadUtil @@ -34,11 +31,20 @@ class BottomSheetView( private lateinit var dialogRootViewGroup: DialogRootViewGroup private var eventDispatcher: EventDispatcher? = null - private var isKeyboardVisible: Boolean = false - private val screenHeight = - context.resources.displayMetrics.heightPixels - .toFloat() + // Native content height observation (eliminates JS bridge round-trip) + private var contentLayoutListener: View.OnLayoutChangeListener? = null + private var observedChildren: List = emptyList() + private var lastObservedContentHeight: Float = 0f + private var pendingLayoutUpdate: Boolean = false + + private val screenHeight: Float = + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM) { + context.resources.displayMetrics.heightPixels.toFloat() + } else { + val wm = context.getSystemService(Context.WINDOW_SERVICE) as android.view.WindowManager + wm.currentWindowMetrics.bounds.height().toFloat() + } private fun getNavigationBarHeight(): Int { val resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android") @@ -64,8 +70,15 @@ class BottomSheetView( set(value) { field = value this.dialog?.setCancelable(!value) + // Full-height sheets have no half-expanded snap point, so any drag + // would dismiss. Disable dragging when dismiss is prevented. + if (fullHeight) { + this.setDraggable(!value && !disableDrag) + } } + var fullHeight = false + var preventExpansion = false var minHeight = 0f @@ -129,6 +142,7 @@ class BottomSheetView( } private fun destroy() { + this.stopObservingContentHeight() this.isClosing = false this.isOpen = false this.dialog = null @@ -193,31 +207,40 @@ class BottomSheetView( val bottomSheet = dialog.findViewById(com.google.android.material.R.id.design_bottom_sheet) bottomSheet?.let { it.setBackgroundColor(0) + it.elevation = 0f val behavior = BottomSheetBehavior.from(it) behavior.state = BottomSheetBehavior.STATE_HIDDEN - behavior.isFitToContents = true - behavior.halfExpandedRatio = getHalfExpandedRatio(contentHeight) behavior.skipCollapsed = true behavior.isDraggable = true behavior.isHideable = true - - if (preventExpansion) { - behavior.maxHeight = (behavior.halfExpandedRatio * screenHeight).toInt() - } else { - behavior.maxHeight = (screenHeight - getStatusBarHeight()).toInt() - } - - val targetHeight = this.getTargetHeight() - val availableHeight = screenHeight - getStatusBarHeight() - getNavigationBarHeight() - val shouldBeExpanded = targetHeight >= availableHeight - - if (shouldBeExpanded) { + if (fullHeight) { + behavior.isFitToContents = false + behavior.expandedOffset = getStatusBarHeight() behavior.state = BottomSheetBehavior.STATE_EXPANDED this.selectedSnapPoint = 2 - } else { + } else if (preventExpansion) { + behavior.isFitToContents = true + behavior.halfExpandedRatio = getHalfExpandedRatio(contentHeight) + behavior.maxHeight = (behavior.halfExpandedRatio * screenHeight).toInt() behavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED this.selectedSnapPoint = 1 + } else { + behavior.isFitToContents = false + behavior.halfExpandedRatio = getHalfExpandedRatio(contentHeight) + behavior.expandedOffset = getStatusBarHeight() + + val targetHeight = this.getTargetHeight() + val availableHeight = screenHeight - getStatusBarHeight() - getNavigationBarHeight() + val shouldBeExpanded = targetHeight >= availableHeight + + if (shouldBeExpanded) { + behavior.state = BottomSheetBehavior.STATE_EXPANDED + this.selectedSnapPoint = 2 + } else { + behavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED + this.selectedSnapPoint = 1 + } } behavior.addBottomSheetCallback( @@ -226,12 +249,23 @@ class BottomSheetView( bottomSheet: View, newState: Int, ) { + if (newState == BottomSheetBehavior.STATE_EXPANDED && preventExpansion) { + behavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED + return + } when (newState) { BottomSheetBehavior.STATE_EXPANDED -> selectedSnapPoint = 2 BottomSheetBehavior.STATE_COLLAPSED -> selectedSnapPoint = 1 BottomSheetBehavior.STATE_HALF_EXPANDED -> selectedSnapPoint = 1 BottomSheetBehavior.STATE_HIDDEN -> selectedSnapPoint = 0 } + // Apply deferred layout update after gesture completes + if (newState != BottomSheetBehavior.STATE_DRAGGING && + newState != BottomSheetBehavior.STATE_SETTLING && + pendingLayoutUpdate) { + pendingLayoutUpdate = false + updateLayout() + } } override fun onSlide( @@ -245,25 +279,14 @@ class BottomSheetView( this.isOpening = true dialog.show() this.dialog = dialog - - ViewCompat.setOnApplyWindowInsetsListener(dialogRootViewGroup) { view, insets -> - val imeVisible = insets.isVisible(WindowInsetsCompat.Type.ime()) - val bottomSheet = dialog.findViewById(com.google.android.material.R.id.design_bottom_sheet) - val behavior = bottomSheet?.let { BottomSheetBehavior.from(it) } - - val wasKeyboardVisible = isKeyboardVisible - isKeyboardVisible = imeVisible - - if (imeVisible && behavior?.state == BottomSheetBehavior.STATE_HALF_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED - } else if (!imeVisible && wasKeyboardVisible) { - updateLayout() - } - insets + if (!fullHeight) { + this.startObservingContentHeight() } + } fun updateLayout() { + if (fullHeight) return val dialog = this.dialog ?: return val contentHeight = this.getContentHeight() @@ -274,21 +297,34 @@ class BottomSheetView( val oldRatio = behavior.halfExpandedRatio val newRatio = getHalfExpandedRatio(contentHeight) + + val targetHeight = this.getTargetHeight() + val availableHeight = screenHeight - getStatusBarHeight() - getNavigationBarHeight() + val shouldBeExpanded = targetHeight >= availableHeight + + // Don't update during user gestures — defer until the gesture completes. + if (currentState == BottomSheetBehavior.STATE_DRAGGING) { + pendingLayoutUpdate = true + return + } + behavior.halfExpandedRatio = newRatio if (preventExpansion) { behavior.maxHeight = (behavior.halfExpandedRatio * screenHeight).toInt() + it.requestLayout() } - val targetHeight = this.getTargetHeight() - val availableHeight = screenHeight - getStatusBarHeight() - getNavigationBarHeight() - val shouldBeExpanded = targetHeight >= availableHeight - - if (isKeyboardVisible) { - if (behavior.state != BottomSheetBehavior.STATE_EXPANDED) { - behavior.state = BottomSheetBehavior.STATE_EXPANDED + // During settling (programmatic animation from our own state change), + // redirect the animation to the new position if the ratio changed. + if (currentState == BottomSheetBehavior.STATE_SETTLING) { + if (oldRatio != newRatio) { + behavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED } - } else if (shouldBeExpanded && behavior.state != BottomSheetBehavior.STATE_EXPANDED && !preventExpansion) { + return + } + + if (shouldBeExpanded && behavior.state != BottomSheetBehavior.STATE_EXPANDED && !preventExpansion) { behavior.state = BottomSheetBehavior.STATE_EXPANDED } else if (!shouldBeExpanded && behavior.state != BottomSheetBehavior.STATE_HALF_EXPANDED) { behavior.state = BottomSheetBehavior.STATE_HALF_EXPANDED @@ -299,21 +335,77 @@ class BottomSheetView( } fun dismiss() { - this.dialog?.dismiss() + val dialog = this.dialog ?: return + // Mark as closing so the content observer doesn't fight the dismiss + // animation by calling updateLayout() mid-hide. + this.isClosing = true + // Temporarily make cancelable so cancel() works — cancel() gives the + // slide-out animation, while dismiss() does a plain fade. + dialog.setCancelable(true) + dialog.cancel() + } + + // Observe each direct child of innerView via OnLayoutChangeListener so that + // height updates are detected purely on the native side. We use OnLayoutChangeListener + // (not OnGlobalLayoutListener) because React Native calls view.layout() directly + // via Yoga, bypassing requestLayout()/performTraversals(). OnLayoutChangeListener + // fires from setFrame() which IS called by layout(), so it catches RN updates. + private fun startObservingContentHeight() { + stopObservingContentHeight() + + val innerViewGroup = this.innerView as? ViewGroup ?: return + + val listener = View.OnLayoutChangeListener { _, _, top, _, bottom, _, _, oldTop, oldBottom -> + val newHeight = bottom - top + val oldHeight = oldBottom - oldTop + if (newHeight != oldHeight) { + val contentHeight = getContentHeight() + if (contentHeight != lastObservedContentHeight && contentHeight > 0 && (isOpen || isOpening) && !isClosing) { + lastObservedContentHeight = contentHeight + updateLayout() + } + } + } + + val children = mutableListOf() + for (i in 0 until innerViewGroup.childCount) { + val child = innerViewGroup.getChildAt(i) + child.addOnLayoutChangeListener(listener) + children.add(child) + } + + this.contentLayoutListener = listener + this.observedChildren = children + + // Pick up current height if content is already laid out + val contentHeight = getContentHeight() + if (contentHeight > 0 && contentHeight != lastObservedContentHeight) { + lastObservedContentHeight = contentHeight + updateLayout() + } + } + + private fun stopObservingContentHeight() { + contentLayoutListener?.let { listener -> + observedChildren.forEach { it.removeOnLayoutChangeListener(listener) } + } + contentLayoutListener = null + observedChildren = emptyList() + lastObservedContentHeight = 0f } // Util private fun getContentHeight(): Float { - val innerView = this.innerView ?: return 0f - var index = 0 - innerView.allViews.forEach { - if (index == 1) { - return it.height.toFloat() - } - index++ + val innerView = this.innerView as? ViewGroup ?: return 0f + // Use the tallest direct child's height. The handle is absolutely positioned + // (overlaps the content), so summing would double-count its height as padding. + var maxChildHeight = 0f + for (i in 0 until innerView.childCount) { + val h = innerView.getChildAt(i).height.toFloat() + if (h > maxChildHeight) maxChildHeight = h } - return 0f + return maxChildHeight } private fun getTargetHeight(): Float { diff --git a/modules/bottom-sheet/android/src/main/res/values/styles.xml b/modules/bottom-sheet/android/src/main/res/values/styles.xml index b2a4945da..6bcdaa55b 100644 --- a/modules/bottom-sheet/android/src/main/res/values/styles.xml +++ b/modules/bottom-sheet/android/src/main/res/values/styles.xml @@ -1,10 +1,12 @@ - diff --git a/modules/bottom-sheet/ios/BottomSheetModule.swift b/modules/bottom-sheet/ios/BottomSheetModule.swift index 2269fbd91..e5f8f2232 100644 --- a/modules/bottom-sheet/ios/BottomSheetModule.swift +++ b/modules/bottom-sheet/ios/BottomSheetModule.swift @@ -19,8 +19,8 @@ public class BottomSheetModule: Module { view.dismiss() } - AsyncFunction("updateLayout") { (view: SheetView) in - view.updateLayout() + Prop("fullHeight") { (view: SheetView, prop: Bool) in + view.fullHeight = prop } Prop("cornerRadius") { (view: SheetView, prop: Float) in diff --git a/modules/bottom-sheet/ios/SheetView.swift b/modules/bottom-sheet/ios/SheetView.swift index 360c7a910..346fe3f41 100644 --- a/modules/bottom-sheet/ios/SheetView.swift +++ b/modules/bottom-sheet/ios/SheetView.swift @@ -8,6 +8,9 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { private var innerView: UIView? private var touchHandler: RCTTouchHandler? + // Native content height observation (eliminates JS bridge round-trip) + private var contentHeightObservation: NSKeyValueObservation? + // Events private let onAttemptDismiss = EventDispatcher() private let onSnapPointChange = EventDispatcher() @@ -23,6 +26,7 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { } // React view props + var fullHeight = false var preventDismiss = false var preventExpansion = false var cornerRadius: CGFloat? @@ -68,7 +72,6 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { } } } - private var prevLayoutDetentIdentifier: UISheetPresentationController.Detent.Identifier? // MARK: - Lifecycle @@ -106,6 +109,8 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { } private func destroy() { + self.contentHeightObservation?.invalidate() + self.contentHeightObservation = nil self.isClosing = false self.isOpen = false self.sheetVc = nil @@ -128,7 +133,7 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { } let sheetVc = SheetViewController() - sheetVc.setDetents(contentHeight: self.clampHeight(contentHeight), preventExpansion: self.preventExpansion) + sheetVc.setDetents(contentHeight: self.clampHeight(contentHeight), preventExpansion: self.preventExpansion, fullHeight: self.fullHeight) if let sheet = sheetVc.sheetPresentationController { sheet.delegate = self sheet.preferredCornerRadius = self.cornerRadius @@ -147,6 +152,9 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { self.sheetVc = sheetVc self.isOpening = true + if !self.fullHeight { + self.startObservingContentHeight() + } rvc.present(sheetVc, animated: true) { [weak self] in self?.isOpening = false @@ -154,15 +162,30 @@ class SheetView: ExpoView, UISheetPresentationControllerDelegate { } } - func updateLayout() { - // Allow updates either when identifiers match OR when prevLayoutDetentIdentifier is nil (first real content update) - if self.prevLayoutDetentIdentifier == self.selectedDetentIdentifier || self.prevLayoutDetentIdentifier == nil, - let contentHeight = self.innerView?.subviews.first?.frame.size.height { - self.sheetVc?.updateDetents(contentHeight: self.clampHeight(contentHeight), - preventExpansion: self.preventExpansion) + // Observe the content view's bounds via KVO so that height changes are detected + // purely on the native side, without a JS bridge round-trip through onLayout. + // Calls updateDetents directly with the observed height rather than going through + // updateLayout(), which has a prevLayoutDetentIdentifier guard that can block + // legitimate content-driven updates when detent identifiers drift during animations. + private func startObservingContentHeight() { + self.contentHeightObservation?.invalidate() + + guard let contentView = self.innerView?.subviews.first else { return } + + self.contentHeightObservation = contentView.observe( + \.bounds, + options: [.old, .new] + ) { [weak self] _, change in + guard let self = self, + (self.isOpen || self.isOpening) && !self.isClosing, + let oldBounds = change.oldValue, + let newBounds = change.newValue, + oldBounds.height != newBounds.height, + newBounds.height > 0 else { return } + let clampedHeight = self.clampHeight(newBounds.height) + self.sheetVc?.updateDetents(contentHeight: clampedHeight, preventExpansion: self.preventExpansion) self.selectedDetentIdentifier = self.sheetVc?.getCurrentDetentIdentifier() } - self.prevLayoutDetentIdentifier = self.selectedDetentIdentifier } func dismiss() { diff --git a/modules/bottom-sheet/ios/SheetViewController.swift b/modules/bottom-sheet/ios/SheetViewController.swift index eaf0a7123..d8820c128 100644 --- a/modules/bottom-sheet/ios/SheetViewController.swift +++ b/modules/bottom-sheet/ios/SheetViewController.swift @@ -20,13 +20,19 @@ class SheetViewController: UIViewController { } } - func setDetents(contentHeight: CGFloat, preventExpansion: Bool) { + func setDetents(contentHeight: CGFloat, preventExpansion: Bool, fullHeight: Bool = false) { guard let sheet = self.sheetPresentationController, let screenHeight = Util.getScreenHeight() else { return } + if fullHeight { + sheet.detents = [.large()] + sheet.selectedDetentIdentifier = .large + return + } + // On iOS 26, the floaty sheet presentation adds the device bottom safe area // on top of the custom detent value, creating visible padding inside the pill. // Subtract it so the pill height matches our actual content. diff --git a/modules/bottom-sheet/src/BottomSheet.types.ts b/modules/bottom-sheet/src/BottomSheet.types.ts index ab4340453..f865af98f 100644 --- a/modules/bottom-sheet/src/BottomSheet.types.ts +++ b/modules/bottom-sheet/src/BottomSheet.types.ts @@ -26,6 +26,7 @@ export interface BottomSheetViewProps { disableDrag?: boolean sourceViewTag?: number + fullHeight?: boolean minHeight?: number maxHeight?: number diff --git a/modules/bottom-sheet/src/BottomSheetNativeComponent.tsx b/modules/bottom-sheet/src/BottomSheetNativeComponent.tsx index 0fa4c8aa2..2604e0c0b 100644 --- a/modules/bottom-sheet/src/BottomSheetNativeComponent.tsx +++ b/modules/bottom-sheet/src/BottomSheetNativeComponent.tsx @@ -12,7 +12,6 @@ import { import {useSafeAreaInsets} from 'react-native-safe-area-context' import {requireNativeModule, requireNativeViewManager} from 'expo-modules-core' -import {IS_IOS} from '#/env' import { type BottomSheetState, type BottomSheetViewProps, @@ -35,6 +34,10 @@ const IS_IOS15 = Platform.OS === 'ios' && // semvar - can be 3 segments, so can't use Number(Platform.Version) Number(Platform.Version.split('.').at(0)) < 16 +// older android versions (15 and below) aren't naturally edge-to-edge +// and behave a little differently +const IS_NON_E2E_ANDROID = + Platform.OS === 'android' && Number(Platform.Version) < 35 export class BottomSheetNativeComponent extends React.Component< BottomSheetViewProps, @@ -71,10 +74,6 @@ export class BottomSheetNativeComponent extends React.Component< this.props.onStateChange?.(event) } - private updateLayout = () => { - this.ref.current?.updateLayout() - } - static dismissAll = async () => { await NativeModule.dismissAll() } @@ -113,23 +112,14 @@ export class BottomSheetNativeComponent extends React.Component< nativeViewRef={this.ref} onStateChange={this.onStateChange} extraStyles={extraStyles} - onLayout={e => { - if (IS_IOS15) { - const {height} = e.nativeEvent.layout - this.setState({viewHeight: height}) - } - if (Platform.OS === 'android') { - // TEMP HACKFIX: I had to timebox this, but this is Bad. - // On Android, if you run updateLayout() immediately, - // it will take ages to actually run on the native side. - // However, adding literally any delay will fix this, including - // a console.log() - just sending the log to the CLI is enough. - // TODO: Get to the bottom of this and fix it properly! -sfn - setTimeout(() => this.updateLayout()) - } else { - this.updateLayout() - } - }} + onLayout={ + IS_IOS15 + ? e => { + const {height} = e.nativeEvent.layout + this.setState({viewHeight: height}) + } + : undefined + } /> ) @@ -150,13 +140,18 @@ function BottomSheetNativeComponentInner({ event: NativeSyntheticEvent<{state: BottomSheetState}>, ) => void nativeViewRef: React.RefObject - onLayout: (event: LayoutChangeEvent) => void + onLayout?: (event: LayoutChangeEvent) => void }) { const insets = useSafeAreaInsets() const cornerRadius = rest.cornerRadius ?? 0 const {height: screenHeight} = useWindowDimensions() - const sheetHeight = IS_IOS ? screenHeight - insets.top : screenHeight + // sigh... on older Android versions, screenHeight does not include safe area insets + // on newer Androids + iOS, it does. we need to find the inner bit + the bottom inset + // for the sheet content + const sheetHeight = IS_NON_E2E_ANDROID + ? screenHeight + insets.bottom + : screenHeight - insets.top return ( ) { const themeName = useThemeName() const t = useTheme(themeName) - const ref = React.useRef(null) - const closeCallbacks = React.useRef<(() => void)[]>([]) + const ref = useRef(null) + const closeCallbacks = useRef<(() => void)[]>([]) const {setDialogIsOpen, setFullyExpandedCount} = useDialogStateControlContext() - const prevSnapPoint = React.useRef( + const prevSnapPoint = useRef( BottomSheetSnapPoint.Hidden, ) - const [disableDrag, setDisableDrag] = React.useState(false) - const [snapPoint, setSnapPoint] = React.useState( + const [disableDrag, setDisableDrag] = useState(false) + const [snapPoint, setSnapPoint] = useState( BottomSheetSnapPoint.Partial, ) - const callQueuedCallbacks = React.useCallback(() => { + const callQueuedCallbacks = useCallback(() => { for (const cb of closeCallbacks.current) { try { cb() @@ -84,7 +94,7 @@ export function Outer({ closeCallbacks.current = [] }, []) - const open = React.useCallback(() => { + const open = useCallback(() => { // Run any leftover callbacks that might have been queued up before calling `.open()` callQueuedCallbacks() setDialogIsOpen(control.id, true) @@ -92,7 +102,7 @@ export function Outer({ }, [setDialogIsOpen, control.id, callQueuedCallbacks]) // This is the function that we call when we want to dismiss the dialog. - const close = React.useCallback(cb => { + const close = useCallback(cb => { if (typeof cb === 'function') { closeCallbacks.current.push(cb) } @@ -101,7 +111,7 @@ export function Outer({ // This is the actual thing we are doing once we "confirm" the dialog. We want the dialog's close animation to // happen before we run this. It is passed to the `BottomSheet` component. - const onCloseAnimationComplete = React.useCallback(() => { + const onCloseAnimationComplete = useCallback(() => { // This removes the dialog from our list of stored dialogs. Not super necessary on iOS, but on Android this // tells us that we need to toggle the accessibility overlay setting setDialogIsOpen(control.id, false) @@ -147,7 +157,7 @@ export function Outer({ [open, close], ) - const context = React.useMemo( + const context = useMemo( () => ({ close, isNativeDialog: true, @@ -201,25 +211,23 @@ export function Inner({children, style, header}: DialogInnerProps) { ) } -export const ScrollableInner = React.forwardRef( +export const ScrollableInner = forwardRef( function ScrollableInner( {children, contentContainerStyle, header, ...props}, ref, ) { const {nativeSnapPoint, disableDrag, setDisableDrag} = useDialogContext() - const insets = useSafeAreaInsets() const isAtMaxSnapPoint = nativeSnapPoint === BottomSheetSnapPoint.Full + const insets = useSafeAreaInsets() + const [keyboardHeight, setKeyboardHeight] = useState(() => + IS_ANDROID ? (Keyboard.metrics()?.height ?? 0) : 0, + ) - let paddingBottom = 0 - if (IS_IOS) { - paddingBottom = tokens.space._2xl - } else { - paddingBottom = - Math.max(insets.bottom, tokens.space._5xl) + tokens.space._2xl - if (isAtMaxSnapPoint) { - paddingBottom += insets.top - } - } + const keyboardEventHandler = useCallback(e => { + setKeyboardHeight(e.endCoordinates.height) + }, []) + useOnKeyboard('keyboardDidShow', keyboardEventHandler) + useOnKeyboard('keyboardDidHide', keyboardEventHandler) const onScroll = (e: NativeSyntheticEvent) => { if (!IS_ANDROID) { @@ -238,7 +246,12 @@ export const ScrollableInner = React.forwardRef( contentContainerStyle={[ a.pt_2xl, IS_LIQUID_GLASS ? a.px_2xl : a.px_xl, - {paddingBottom}, + platform({ + ios: a.pb_2xl, + android: { + paddingBottom: keyboardHeight + insets.bottom + tokens.space.xl, + }, + }), contentContainerStyle, ]} ref={ref} @@ -250,7 +263,12 @@ export const ScrollableInner = React.forwardRef( {...props} bounces={isAtMaxSnapPoint} scrollEventThrottle={50} - onScroll={IS_ANDROID ? onScroll : undefined} + // set drag state based on scroll on android. + // we want to detect if it's at the top or not, so watch + // scrollEndDrag and momentumScrollEnd as well + onScroll={android(onScroll)} + onScrollEndDrag={android(onScroll)} + onMomentumScrollEnd={android(onScroll)} keyboardShouldPersistTaps="handled" // TODO: figure out why this positions the header absolutely (rather than stickily) // on Android. fine to disable for now, because we don't have any @@ -263,7 +281,7 @@ export const ScrollableInner = React.forwardRef( }, ) -export const InnerFlatList = React.forwardRef< +export const InnerFlatList = forwardRef< ListMethods, ListProps & { webInnerStyle?: StyleProp @@ -293,7 +311,10 @@ export const InnerFlatList = React.forwardRef< } return ( - + void }) { const t = useTheme() - const {top, bottom} = useSafeAreaInsets() + const {bottom} = useSafeAreaInsets() const {height} = useReanimatedKeyboardAnimation() const animatedStyle = useAnimatedStyle(() => { @@ -350,12 +371,7 @@ export function FlatListFooter({ t.atoms.border_contrast_low, a.px_lg, a.pt_md, - { - paddingBottom: platform({ - ios: tokens.space.md + bottom + (IS_LIQUID_GLASS ? top : 0), - android: tokens.space.md + bottom + top, - }), - }, + {paddingBottom: bottom + tokens.space.md}, // TODO: had to admit defeat here, but we should // try and get this to work for Android as well -sfn ios(animatedStyle), diff --git a/src/components/ProgressGuide/FollowDialog.tsx b/src/components/ProgressGuide/FollowDialog.tsx index 62c3aa4ef..643a1d018 100644 --- a/src/components/ProgressGuide/FollowDialog.tsx +++ b/src/components/ProgressGuide/FollowDialog.tsx @@ -1,10 +1,5 @@ import {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react' -import { - TextInput, - useWindowDimensions, - View, - type ViewToken, -} from 'react-native' +import {TextInput, View, type ViewToken} from 'react-native' import {type ModerationOpts} from '@atproto/api' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' @@ -72,7 +67,6 @@ export function FollowDialog({ const {_} = useLingui() const control = Dialog.useDialogControl() const {gtPhone} = useBreakpoints() - const {height: minHeight} = useWindowDimensions() return ( <> @@ -89,7 +83,7 @@ export function FollowDialog({ {showArrow && } - + @@ -105,9 +99,8 @@ export function FollowDialogWithoutGuide({ }: { control: Dialog.DialogOuterProps['control'] }) { - const {height: minHeight} = useWindowDimensions() return ( - + diff --git a/src/components/Select/index.tsx b/src/components/Select/index.tsx index 0438e10fc..a7dd70d8e 100644 --- a/src/components/Select/index.tsx +++ b/src/components/Select/index.tsx @@ -151,7 +151,7 @@ export function Content({ }, [items, context.value, valueExtractor, setValue]) return ( - + + diff --git a/src/components/dialogs/LanguageSelectDialog.tsx b/src/components/dialogs/LanguageSelectDialog.tsx index ca13c33b7..3460a9204 100644 --- a/src/components/dialogs/LanguageSelectDialog.tsx +++ b/src/components/dialogs/LanguageSelectDialog.tsx @@ -1,6 +1,5 @@ import {useCallback, useMemo, useState} from 'react' -import {useWindowDimensions, View} from 'react-native' -import {useSafeAreaInsets} from 'react-native-safe-area-context' +import {View} from 'react-native' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' import {Trans} from '@lingui/react/macro' @@ -17,7 +16,7 @@ import {SearchInput} from '#/components/forms/SearchInput' import * as Toggle from '#/components/forms/Toggle' import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' import {Text} from '#/components/Typography' -import {IS_LIQUID_GLASS, IS_NATIVE, IS_WEB} from '#/env' +import {IS_NATIVE, IS_WEB} from '#/env' type FlatListItem = | { @@ -51,20 +50,13 @@ export function LanguageSelectDialog({ onSelectLanguages: (languages: string[]) => void maxLanguages?: number }) { - const {height} = useWindowDimensions() - const insets = useSafeAreaInsets() - const renderErrorBoundary = useCallback( (error: any) => , [], ) return ( - + void }) { const ax = useAnalytics() - const {height} = useWindowDimensions() const formRef = useRef(null) // persist these options between dialog open/close @@ -53,10 +52,7 @@ export function ServerInputDialog({ + nativeOptions={{preventExpansion: true}}> + { @@ -82,7 +81,7 @@ export function CreateOrEditListDialog({ control={control} nativeOptions={{ preventDismiss: dirty, - minHeight: height, + fullHeight: true, }} testID="createOrEditListDialog"> void | undefined }) { return ( - + diff --git a/src/components/dms/dialogs/NewChatDialog.tsx b/src/components/dms/dialogs/NewChatDialog.tsx index fe033cbf1..9c349d0a0 100644 --- a/src/components/dms/dialogs/NewChatDialog.tsx +++ b/src/components/dms/dialogs/NewChatDialog.tsx @@ -70,7 +70,10 @@ export function NewChat({ accessibilityHint="" /> - + void }) { return ( - + diff --git a/src/components/hooks/useOnKeyboard.ts b/src/components/hooks/useOnKeyboard.ts index 5de681a42..7d5a39d9b 100644 --- a/src/components/hooks/useOnKeyboard.ts +++ b/src/components/hooks/useOnKeyboard.ts @@ -1,12 +1,19 @@ -import React from 'react' -import {Keyboard} from 'react-native' +import {useEffect} from 'react' +import { + Keyboard, + type KeyboardEventListener, + type KeyboardEventName, +} from 'react-native' -export function useOnKeyboardDidShow(cb: () => unknown) { - React.useEffect(() => { - const subscription = Keyboard.addListener('keyboardDidShow', cb) +export function useOnKeyboard( + eventName: KeyboardEventName, + cb: KeyboardEventListener, +) { + useEffect(() => { + const subscription = Keyboard.addListener(eventName, cb) return () => { subscription.remove() } - }, [cb]) + }, [eventName, cb]) } diff --git a/src/screens/Profile/Header/EditProfileDialog.tsx b/src/screens/Profile/Header/EditProfileDialog.tsx index feae9ec3a..2d0d0d34d 100644 --- a/src/screens/Profile/Header/EditProfileDialog.tsx +++ b/src/screens/Profile/Header/EditProfileDialog.tsx @@ -1,5 +1,5 @@ import {useCallback, useEffect, useState} from 'react' -import {useWindowDimensions, View} from 'react-native' +import {View} from 'react-native' import {type AppBskyActorDefs} from '@atproto/api' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' @@ -41,7 +41,6 @@ export function EditProfileDialog({ const {_} = useLingui() const cancelControl = Dialog.useDialogControl() const [dirty, setDirty] = useState(false) - const {height} = useWindowDimensions() const onPressCancel = useCallback(() => { if (dirty) { @@ -56,7 +55,7 @@ export function EditProfileDialog({ control={control} nativeOptions={{ preventDismiss: dirty, - minHeight: height, + fullHeight: true, }} webOptions={{ onBackgroundPress: () => { diff --git a/src/screens/Settings/components/AddAppPasswordDialog.tsx b/src/screens/Settings/components/AddAppPasswordDialog.tsx index 4d379797e..83a259396 100644 --- a/src/screens/Settings/components/AddAppPasswordDialog.tsx +++ b/src/screens/Settings/components/AddAppPasswordDialog.tsx @@ -1,5 +1,5 @@ import {useEffect, useMemo, useState} from 'react' -import {useWindowDimensions, View} from 'react-native' +import {View} from 'react-native' import Animated, { FadeIn, FadeOut, @@ -34,9 +34,8 @@ export function AddAppPasswordDialog({ control: Dialog.DialogControlProps passwords: string[] }) { - const {height} = useWindowDimensions() return ( - + diff --git a/src/screens/Settings/components/ChangeHandleDialog.tsx b/src/screens/Settings/components/ChangeHandleDialog.tsx index 3e9c77199..1b31a7de2 100644 --- a/src/screens/Settings/components/ChangeHandleDialog.tsx +++ b/src/screens/Settings/components/ChangeHandleDialog.tsx @@ -1,5 +1,5 @@ import {useCallback, useMemo, useState} from 'react' -import {useWindowDimensions, View} from 'react-native' +import {View} from 'react-native' import Animated, { FadeIn, FadeOut, @@ -53,10 +53,8 @@ export function ChangeHandleDialog({ }: { control: Dialog.DialogControlProps }) { - const {height} = useWindowDimensions() - return ( - + ) diff --git a/src/view/com/composer/GifAltText.tsx b/src/view/com/composer/GifAltText.tsx index 0359b1158..0d335cdcd 100644 --- a/src/view/com/composer/GifAltText.tsx +++ b/src/view/com/composer/GifAltText.tsx @@ -1,5 +1,5 @@ import {useState} from 'react' -import {TouchableOpacity, useWindowDimensions, View} from 'react-native' +import {TouchableOpacity, View} from 'react-native' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' import {Plural, Trans} from '@lingui/react/macro' @@ -23,7 +23,6 @@ import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/ico import {PlusSmall_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus' import {GifEmbed} from '#/components/Post/Embed/ExternalEmbed/Gif' import {Text} from '#/components/Typography' -import {IS_ANDROID} from '#/env' import {AltTextReminder} from './photos/Gallery' export function GifAltTextDialog({ @@ -69,7 +68,6 @@ export function GifAltTextDialogLoaded({ const {_} = useLingui() const t = useTheme() const [altTextDraft, setAltTextDraft] = useState(altText || vendorAltText) - const {height: minHeight} = useWindowDimensions() return ( <> { onSubmit(altTextDraft) }} - nativeOptions={{minHeight}}> + nativeOptions={{fullHeight: true}}> - {/* Maybe fix this later -h */} - {IS_ANDROID ? : null} ) } diff --git a/src/view/com/composer/drafts/DraftsListDialog.tsx b/src/view/com/composer/drafts/DraftsListDialog.tsx index 85ac4fd2c..30525f5cb 100644 --- a/src/view/com/composer/drafts/DraftsListDialog.tsx +++ b/src/view/com/composer/drafts/DraftsListDialog.tsx @@ -167,7 +167,7 @@ export function DraftsListDialog({ ) return ( - + {/* We really really need to figure out a nice, consistent API for doing a header cross-platform -sfn */} {IS_NATIVE && header} { - const {height: minHeight} = useWindowDimensions() const [altText, setAltText] = useState(image.alt) return ( @@ -44,7 +42,7 @@ export const ImageAltTextDialog = ({ alt: enforceLen(altText, MAX_ALT_TEXT, true), }) }} - nativeOptions={{minHeight, sourceViewTag}}> + nativeOptions={{fullHeight: true, sourceViewTag}}> (() => { const maxWidth = IS_WEB ? 450 @@ -179,8 +175,6 @@ const ImageAltTextInner = ({ - {/* Maybe fix this later -h */} - {IS_ANDROID && isKeyboardVisible ? : null} ) } -- 2.51.2 From 8bdb1c30c83f58b38de6b457e86cd9ccae45f921 Mon Sep 17 00:00:00 2001 From: pfrazee <1270099+pfrazee@users.noreply.github.com> Date: Tue, 10 Mar 2026 03:05:11 +0000 Subject: [PATCH 10/29] Nightly source-language update --- src/locale/locales/en/messages.po | 408 +++++++++++++++--------------- 1 file changed, 204 insertions(+), 204 deletions(-) diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po index 91c2f981d..7e9da841f 100644 --- a/src/locale/locales/en/messages.po +++ b/src/locale/locales/en/messages.po @@ -260,11 +260,11 @@ msgstr "" msgid "{count, plural, one {# unread item} other {# unread items}}" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:384 +#: src/screens/Profile/Header/EditProfileDialog.tsx:383 msgid "{DESCRIPTION_MAX_GRAPHEMES, plural, other {Description is too long. The maximum number of characters is #.}}" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:333 +#: src/screens/Profile/Header/EditProfileDialog.tsx:332 msgid "{DISPLAY_NAME_MAX_GRAPHEMES, plural, other {Display name is too long. The maximum number of characters is #.}}" msgstr "" @@ -767,7 +767,7 @@ msgstr "" msgid "Account options" msgstr "" -#: src/components/dialogs/ServerInput.tsx:142 +#: src/components/dialogs/ServerInput.tsx:138 msgid "Account provider" msgstr "" @@ -807,7 +807,7 @@ msgstr "" msgid "Activity notifications" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:170 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:173 #: src/components/dialogs/MutedWords.tsx:337 #: src/components/dialogs/StarterPackDialog.tsx:373 #: src/components/dialogs/StarterPackDialog.tsx:380 @@ -843,13 +843,13 @@ msgstr "" msgid "Add account" msgstr "" -#: src/view/com/composer/GifAltText.tsx:78 -#: src/view/com/composer/GifAltText.tsx:147 -#: src/view/com/composer/GifAltText.tsx:214 +#: src/view/com/composer/GifAltText.tsx:76 +#: src/view/com/composer/GifAltText.tsx:145 +#: src/view/com/composer/GifAltText.tsx:212 #: src/view/com/composer/photos/Gallery.tsx:182 #: src/view/com/composer/photos/Gallery.tsx:229 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:99 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:107 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:95 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:103 msgid "Add alt text" msgstr "" @@ -872,13 +872,13 @@ msgstr "" msgid "Add another post to thread" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:103 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:102 msgid "Add app password" msgstr "" #: src/screens/Settings/AppPasswords.tsx:75 #: src/screens/Settings/AppPasswords.tsx:83 -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:112 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:111 msgid "Add App Password" msgstr "" @@ -918,7 +918,7 @@ msgstr "" msgid "Add people" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:80 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:83 msgid "Add people to list" msgstr "" @@ -938,7 +938,7 @@ msgstr "" msgid "Add the default feed of only people you follow" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:421 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:419 msgid "Add the following DNS record to your domain:" msgstr "" @@ -961,7 +961,7 @@ msgstr "" msgid "Add to starter packs" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:157 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:160 msgid "Add user to list" msgstr "" @@ -969,7 +969,7 @@ msgstr "" msgid "Add your birthdate" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:110 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:113 #: src/view/com/modals/UserAddRemoveLists.tsx:163 msgid "Added to list" msgstr "" @@ -1064,7 +1064,7 @@ msgstr "" msgid "All friends followed!" msgstr "" -#: src/components/dialogs/LanguageSelectDialog.tsx:263 +#: src/components/dialogs/LanguageSelectDialog.tsx:255 #: src/screens/Search/components/SearchLanguageDropdown.tsx:65 #: src/screens/Search/components/SearchLanguageDropdown.tsx:100 #: src/screens/Search/components/SearchLanguageDropdown.tsx:102 @@ -1079,8 +1079,8 @@ msgstr "" msgid "All the feeds you've saved, right in one place." msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:147 -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:154 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:146 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:153 msgid "Allow access to your direct messages" msgstr "" @@ -1146,14 +1146,14 @@ msgstr "" #: src/components/images/AutoSizedImage.tsx:190 #: src/components/images/Gallery.tsx:120 #: src/components/Post/Embed/VideoEmbed/GifPresentationControls.tsx:94 -#: src/view/com/composer/GifAltText.tsx:102 +#: src/view/com/composer/GifAltText.tsx:100 #: src/view/com/composer/photos/Gallery.tsx:200 msgid "ALT" msgstr "" #: src/screens/Settings/AccessibilitySettings.tsx:55 -#: src/view/com/composer/GifAltText.tsx:157 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:132 +#: src/view/com/composer/GifAltText.tsx:155 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:128 #: src/view/com/composer/videos/SubtitleDialog.tsx:41 #: src/view/com/composer/videos/SubtitleDialog.tsx:59 #: src/view/com/composer/videos/SubtitleDialog.tsx:110 @@ -1170,8 +1170,8 @@ msgid "Alt text describes images for blind and low-vision users, and helps give msgstr "" #. placeholder {0}: i18n.number(MAX_ALT_TEXT) -#: src/view/com/composer/GifAltText.tsx:182 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:153 +#: src/view/com/composer/GifAltText.tsx:180 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:149 msgid "Alt text will be truncated. {MAX_ALT_TEXT, plural, other {Limit: {0} characters.}}" msgstr "" @@ -1180,8 +1180,8 @@ msgstr "" msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below." msgstr "" -#: src/components/dialogs/GifSelect.tsx:254 -#: src/components/dialogs/LanguageSelectDialog.tsx:352 +#: src/components/dialogs/GifSelect.tsx:255 +#: src/components/dialogs/LanguageSelectDialog.tsx:344 msgid "An error has occurred" msgstr "" @@ -1271,7 +1271,7 @@ msgstr "" msgid "An issue occurred starting the chat" msgstr "" -#: src/components/dms/dialogs/ShareViaChatDialog.tsx:48 +#: src/components/dms/dialogs/ShareViaChatDialog.tsx:51 msgid "An issue occurred while trying to open the chat" msgstr "" @@ -1351,7 +1351,7 @@ msgstr "" msgid "App language" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:123 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:122 msgid "App Password" msgstr "" @@ -1360,15 +1360,15 @@ msgctxt "toast" msgid "App password deleted" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:85 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:84 msgid "App password name must be unique" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:63 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:62 msgid "App password names can only contain letters, numbers, spaces, dashes, and underscores" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:81 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:80 msgid "App password names must be at least 4 characters long" msgstr "" @@ -1463,8 +1463,8 @@ msgstr "" msgid "Are you sure you want to delete this starter pack?" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:100 -#: src/screens/Profile/Header/EditProfileDialog.tsx:81 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:99 +#: src/screens/Profile/Header/EditProfileDialog.tsx:80 msgid "Are you sure you want to discard your changes?" msgstr "" @@ -1707,8 +1707,8 @@ msgstr "" msgid "Blog" msgstr "" -#: src/components/dialogs/ServerInput.tsx:148 -#: src/components/dialogs/ServerInput.tsx:150 +#: src/components/dialogs/ServerInput.tsx:144 +#: src/components/dialogs/ServerInput.tsx:146 msgid "Bluesky" msgstr "" @@ -1725,11 +1725,11 @@ msgstr "" msgid "Bluesky helps friends find each other by creating an encoded digital fingerprint, called a \"hash\", and then looking for matching hashes." msgstr "" -#: src/components/dialogs/ServerInput.tsx:218 +#: src/components/dialogs/ServerInput.tsx:214 msgid "Bluesky is an open network where you can choose your hosting provider. If you're a developer, you can host your own server." msgstr "" -#: src/components/dialogs/ServerInput.tsx:166 +#: src/components/dialogs/ServerInput.tsx:162 msgid "Bluesky is an open network where you can choose your own provider. If you're new here, we recommend sticking with the default Bluesky Social option." msgstr "" @@ -1905,8 +1905,8 @@ msgstr "" #: src/components/dialogs/InAppBrowserConsent.tsx:105 #: src/components/dialogs/lists/CreateListFromStarterPackDialog.tsx:192 #: src/components/dialogs/lists/CreateListFromStarterPackDialog.tsx:200 -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:292 -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:300 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:291 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:299 #: src/components/Menu/index.tsx:355 #: src/components/PostControls/RepostButton.tsx:210 #: src/components/Prompt.tsx:136 @@ -1917,13 +1917,13 @@ msgstr "" #: src/features/liveNow/components/GoLiveDialog.tsx:254 #: src/lib/media/picker.tsx:38 #: src/screens/Deactivated.tsx:150 -#: src/screens/Profile/Header/EditProfileDialog.tsx:219 -#: src/screens/Profile/Header/EditProfileDialog.tsx:227 +#: src/screens/Profile/Header/EditProfileDialog.tsx:218 +#: src/screens/Profile/Header/EditProfileDialog.tsx:226 #: src/screens/Search/Shell.tsx:396 #: src/screens/Settings/AppIconSettings/index.tsx:42 #: src/screens/Settings/AppIconSettings/index.tsx:228 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:82 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:89 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:80 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:87 #: src/screens/Settings/components/ChangePasswordDialog.tsx:248 #: src/screens/Settings/components/ChangePasswordDialog.tsx:254 #: src/screens/Settings/Settings.tsx:306 @@ -1989,8 +1989,8 @@ msgstr "" msgid "Change app language" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:98 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:102 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:96 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:100 msgid "Change Handle" msgstr "" @@ -2122,7 +2122,7 @@ msgstr "" msgid "Child Sexual Abuse Material (CSAM)" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:403 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:401 msgid "Choose domain verification method" msgstr "" @@ -2134,7 +2134,7 @@ msgstr "" msgid "Choose for me" msgstr "" -#: src/components/dialogs/LanguageSelectDialog.tsx:207 +#: src/components/dialogs/LanguageSelectDialog.tsx:199 msgid "Choose languages" msgstr "" @@ -2155,7 +2155,7 @@ msgstr "" msgid "Choose who to invite" msgstr "" -#: src/components/dialogs/ServerInput.tsx:138 +#: src/components/dialogs/ServerInput.tsx:134 msgid "Choose your account provider" msgstr "" @@ -2238,8 +2238,8 @@ msgstr "" #: src/components/ageAssurance/AgeAssuranceRedirectDialog.tsx:180 #: src/components/ageAssurance/AgeAssuranceRedirectDialog.tsx:233 #: src/components/ageAssurance/AgeAssuranceRedirectDialog.tsx:239 -#: src/components/dialogs/GifSelect.tsx:270 -#: src/components/dialogs/LanguageSelectDialog.tsx:367 +#: src/components/dialogs/GifSelect.tsx:271 +#: src/components/dialogs/LanguageSelectDialog.tsx:359 #: src/components/dialogs/nuxs/ActivitySubscriptions.tsx:159 #: src/components/dialogs/nuxs/ActivitySubscriptions.tsx:168 #: src/components/dialogs/nuxs/BookmarksAnnouncement.tsx:164 @@ -2259,9 +2259,9 @@ msgstr "" #: src/components/NewskieDialog.tsx:168 #: src/components/NewskieDialog.tsx:174 #: src/components/Post/Embed/VideoEmbed/GifPresentationControls.tsx:107 -#: src/components/ProgressGuide/FollowDialog.tsx:448 -#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:119 -#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:125 +#: src/components/ProgressGuide/FollowDialog.tsx:441 +#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:122 +#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:128 #: src/components/verification/VerificationsDialog.tsx:146 #: src/components/verification/VerifierDialog.tsx:146 #: src/components/WhoCanReply.tsx:236 @@ -2290,10 +2290,10 @@ msgstr "" #: src/components/ageAssurance/AgeAssuranceInitDialog.tsx:223 #: src/components/ageAssurance/AgeAssuranceInitDialog.tsx:229 -#: src/components/dialogs/GifSelect.tsx:264 -#: src/components/dialogs/LanguageSelectDialog.tsx:229 -#: src/components/dialogs/LanguageSelectDialog.tsx:330 -#: src/components/dialogs/LanguageSelectDialog.tsx:362 +#: src/components/dialogs/GifSelect.tsx:265 +#: src/components/dialogs/LanguageSelectDialog.tsx:221 +#: src/components/dialogs/LanguageSelectDialog.tsx:322 +#: src/components/dialogs/LanguageSelectDialog.tsx:354 #: src/components/verification/VerificationsDialog.tsx:138 #: src/components/verification/VerifierDialog.tsx:139 msgid "Close dialog" @@ -2308,7 +2308,7 @@ msgstr "" msgid "Close emoji picker" msgstr "" -#: src/components/dialogs/GifSelect.tsx:160 +#: src/components/dialogs/GifSelect.tsx:161 msgid "Close GIF dialog" msgstr "" @@ -2615,7 +2615,7 @@ msgstr "" msgid "Copy" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:197 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:196 msgid "Copy App Password" msgstr "" @@ -2634,13 +2634,13 @@ msgstr "" msgid "Copy code" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:506 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:504 #: src/view/com/profile/ProfileMenu.tsx:505 #: src/view/com/profile/ProfileMenu.tsx:508 msgid "Copy DID" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:438 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:436 msgid "Copy host" msgstr "" @@ -2693,7 +2693,7 @@ msgstr "" msgid "Copy QR code" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:459 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:457 msgid "Copy TXT record value" msgstr "" @@ -2859,7 +2859,7 @@ msgstr "" msgid "Create list from starter pack" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:368 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:367 msgid "Create moderation list" msgstr "" @@ -2880,7 +2880,7 @@ msgstr "" msgid "Create starter pack" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:367 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:366 msgid "Create user list" msgstr "" @@ -2897,8 +2897,8 @@ msgstr "" msgid "Culture" msgstr "" -#: src/components/dialogs/ServerInput.tsx:156 -#: src/components/dialogs/ServerInput.tsx:158 +#: src/components/dialogs/ServerInput.tsx:152 +#: src/components/dialogs/ServerInput.tsx:154 msgid "Custom" msgstr "" @@ -3081,14 +3081,14 @@ msgstr "" msgid "Deleted list" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:454 -#: src/screens/Profile/Header/EditProfileDialog.tsx:364 -#: src/screens/Profile/Header/EditProfileDialog.tsx:371 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:453 +#: src/screens/Profile/Header/EditProfileDialog.tsx:363 +#: src/screens/Profile/Header/EditProfileDialog.tsx:370 msgid "Description" msgstr "" -#: src/view/com/composer/GifAltText.tsx:153 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:128 +#: src/view/com/composer/GifAltText.tsx:151 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:124 msgid "Descriptive alt text" msgstr "" @@ -3167,8 +3167,8 @@ msgstr "" msgid "Disabled" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:102 -#: src/screens/Profile/Header/EditProfileDialog.tsx:83 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:101 +#: src/screens/Profile/Header/EditProfileDialog.tsx:82 #: src/view/com/composer/Composer.tsx:1215 #: src/view/com/composer/Composer.tsx:1263 #: src/view/com/composer/Composer.tsx:1463 @@ -3177,8 +3177,8 @@ msgstr "" msgid "Discard" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:99 -#: src/screens/Profile/Header/EditProfileDialog.tsx:80 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:98 +#: src/screens/Profile/Header/EditProfileDialog.tsx:79 msgid "Discard changes?" msgstr "" @@ -3216,7 +3216,7 @@ msgstr "" msgid "Discover New Feeds" msgstr "" -#: src/components/Dialog/index.tsx:385 +#: src/components/Dialog/index.tsx:401 msgid "Dismiss" msgstr "" @@ -3254,8 +3254,8 @@ msgstr "" msgid "Display larger alt text badges" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:314 -#: src/screens/Profile/Header/EditProfileDialog.tsx:320 +#: src/screens/Profile/Header/EditProfileDialog.tsx:313 +#: src/screens/Profile/Header/EditProfileDialog.tsx:319 msgid "Display name" msgstr "" @@ -3263,8 +3263,8 @@ msgstr "" msgid "Ditch the trolls and clickbait. Find real people and conversations that matter to you." msgstr "" +#: src/screens/Settings/components/ChangeHandleDialog.tsx:405 #: src/screens/Settings/components/ChangeHandleDialog.tsx:407 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:409 msgid "DNS Panel" msgstr "" @@ -3276,7 +3276,7 @@ msgstr "" msgid "Does not include nudity." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:527 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:525 msgid "Domain verified!" msgstr "" @@ -3307,17 +3307,17 @@ msgstr "" #: src/components/contacts/screens/ViewMatches.tsx:412 #: src/components/dialogs/BirthDateSettings.tsx:197 #: src/components/dialogs/BirthDateSettings.tsx:204 -#: src/components/dialogs/LanguageSelectDialog.tsx:335 -#: src/components/dialogs/ServerInput.tsx:241 -#: src/components/dialogs/ServerInput.tsx:243 +#: src/components/dialogs/LanguageSelectDialog.tsx:327 +#: src/components/dialogs/ServerInput.tsx:237 +#: src/components/dialogs/ServerInput.tsx:239 #: src/components/dms/AfterReportDialog.tsx:143 #: src/components/forms/DateField/index.tsx:104 #: src/components/forms/DateField/index.tsx:110 #: src/lib/media/picker.tsx:37 #: src/screens/Onboarding/StepProfile/index.tsx:345 #: src/screens/Onboarding/StepProfile/index.tsx:348 -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:215 -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:222 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:214 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:221 #: src/view/com/composer/labels/LabelsBtn.tsx:219 #: src/view/com/composer/labels/LabelsBtn.tsx:226 #: src/view/com/composer/videos/SubtitleDialog.tsx:192 @@ -3335,7 +3335,7 @@ msgstr "" msgid "Double tap or long press the message to add a reaction" msgstr "" -#: src/components/Dialog/index.tsx:386 +#: src/components/Dialog/index.tsx:402 msgid "Double tap to close the dialog" msgstr "" @@ -3380,15 +3380,15 @@ msgstr "" msgid "Duration:" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:239 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:237 msgid "e.g. alice" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:321 +#: src/screens/Profile/Header/EditProfileDialog.tsx:320 msgid "e.g. Alice Lastname" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:390 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:388 msgid "e.g. alice.com" msgstr "" @@ -3396,19 +3396,19 @@ msgstr "" msgid "E.g. artistic nudes." msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:371 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:370 msgid "e.g. Great Posters" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:372 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:371 msgid "e.g. Spammers" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:375 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:374 msgid "e.g. The posters who never miss." msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:376 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:375 msgid "e.g. Users that repeatedly reply with ads." msgstr "" @@ -3435,7 +3435,7 @@ msgstr "" msgid "Edit avatar" msgstr "" -#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:113 +#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:116 msgid "Edit Feeds" msgstr "" @@ -3465,7 +3465,7 @@ msgstr "" msgid "Edit live status" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:365 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:364 msgid "Edit moderation list" msgstr "" @@ -3479,7 +3479,7 @@ msgstr "" msgid "Edit notifications from {0}" msgstr "" -#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:111 +#: src/components/StarterPack/Wizard/WizardEditListDialog.tsx:114 msgid "Edit People" msgstr "" @@ -3488,8 +3488,8 @@ msgstr "" msgid "Edit post interaction settings" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:269 -#: src/screens/Profile/Header/EditProfileDialog.tsx:275 +#: src/screens/Profile/Header/EditProfileDialog.tsx:268 +#: src/screens/Profile/Header/EditProfileDialog.tsx:274 #: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:296 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:331 msgid "Edit profile" @@ -3504,7 +3504,7 @@ msgstr "" msgid "Edit starter pack" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:364 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:363 msgid "Edit user list" msgstr "" @@ -3682,7 +3682,7 @@ msgstr "" msgid "Enter the 6-digit code sent to {prettyNumber}" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:384 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:382 msgid "Enter the domain you want to use" msgstr "" @@ -3904,11 +3904,11 @@ msgstr "" msgid "Failed to add to starter pack" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:607 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:605 msgid "Failed to change handle. Please try again." msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:174 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:173 msgid "Failed to create app password. Please try again." msgstr "" @@ -3978,7 +3978,7 @@ msgstr "" msgid "Failed to load feeds preferences" msgstr "" -#: src/components/dialogs/GifSelect.tsx:214 +#: src/components/dialogs/GifSelect.tsx:215 msgid "Failed to load GIFs" msgstr "" @@ -4129,7 +4129,7 @@ msgstr "" msgid "Failed to verify email, please try again." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:374 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:372 msgid "Failed to verify handle. Please try again." msgstr "" @@ -4285,9 +4285,9 @@ msgid "Find my friends" msgstr "" #. Starter packs suggested to the user for them to follow -#: src/components/ProgressGuide/FollowDialog.tsx:80 -#: src/components/ProgressGuide/FollowDialog.tsx:88 -#: src/components/ProgressGuide/FollowDialog.tsx:434 +#: src/components/ProgressGuide/FollowDialog.tsx:74 +#: src/components/ProgressGuide/FollowDialog.tsx:82 +#: src/components/ProgressGuide/FollowDialog.tsx:427 #: src/screens/Onboarding/StepSuggestedStarterpacks/index.tsx:43 msgid "Find people to follow" msgstr "" @@ -4512,7 +4512,7 @@ msgstr "" msgid "For security reasons, we’ll need to send a confirmation code to your email address <0>{currentEmail}." msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:209 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:208 msgid "For security reasons, you won't be able to view this again. If you lose this app password, you'll need to generate a new one." msgstr "" @@ -4811,16 +4811,16 @@ msgstr "" msgid "Handle" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:611 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:609 msgid "Handle already taken. Please try a different one." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:199 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:358 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:197 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:356 msgid "Handle changed!" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:615 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:613 msgid "Handle too long. Please try a shorter one." msgstr "" @@ -4886,7 +4886,7 @@ msgstr "" msgid "Help people know you're not a bot by uploading a picture or creating an avatar." msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:188 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:187 msgid "Here is your app password!" msgstr "" @@ -5059,7 +5059,7 @@ msgstr "" msgid "Home" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:432 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:430 msgid "Host:" msgstr "" @@ -5098,8 +5098,8 @@ msgstr "" msgid "I have a code" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:294 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:300 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:292 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:298 msgid "I have my own domain" msgstr "" @@ -5145,7 +5145,7 @@ msgstr "" msgid "If you delete this list, you won't be able to recover it." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:276 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:274 msgid "If you have your own domain, you can use that as your handle. This lets you self-verify your identity. <0>Learn more here." msgstr "" @@ -5170,7 +5170,7 @@ msgstr "" msgid "If you want to restrict who can receive notifications for your account's activity, you can change this in <0>Settings → Privacy and Security." msgstr "" -#: src/components/dialogs/ServerInput.tsx:214 +#: src/components/dialogs/ServerInput.tsx:210 msgid "If you're a developer, you can host your own server." msgstr "" @@ -5319,7 +5319,7 @@ msgstr "" msgid "Invalid 2FA confirmation code." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:617 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:615 msgid "Invalid handle. Please try a different one." msgstr "" @@ -5502,9 +5502,9 @@ msgstr "" #: src/components/verification/VerificationsDialog.tsx:168 #: src/components/verification/VerifierDialog.tsx:135 #: src/screens/Moderation/VerificationSettings.tsx:50 -#: src/screens/Profile/Header/EditProfileDialog.tsx:350 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:217 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:281 +#: src/screens/Profile/Header/EditProfileDialog.tsx:349 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:215 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:279 msgctxt "english-only-resource" msgid "Learn more" msgstr "" @@ -5532,7 +5532,7 @@ msgctxt "english-only-resource" msgid "Learn more about importing contacts" msgstr "" -#: src/components/dialogs/ServerInput.tsx:224 +#: src/components/dialogs/ServerInput.tsx:220 msgid "Learn more about self hosting your PDS." msgstr "" @@ -5577,7 +5577,7 @@ msgstr "" msgid "Learn more in your <0>account settings." msgstr "" -#: src/components/dialogs/ServerInput.tsx:226 +#: src/components/dialogs/ServerInput.tsx:222 #: src/components/moderation/ContentHider.tsx:259 msgid "Learn more." msgstr "" @@ -5718,7 +5718,7 @@ msgstr "" msgid "List" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:398 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:397 msgid "List avatar" msgstr "" @@ -5755,11 +5755,11 @@ msgctxt "toast" msgid "List deleted" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:447 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:446 msgid "List description" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:467 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:466 msgid "List description is too long. {DESCRIPTION_MAX_GRAPHEMES, plural, other {The maximum number of characters is #.}}" msgstr "" @@ -5771,7 +5771,7 @@ msgstr "" msgid "List Hidden" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:439 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:438 msgid "List must have a name." msgstr "" @@ -5780,11 +5780,11 @@ msgctxt "toast" msgid "List muted" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:411 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:410 msgid "List name" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:431 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:430 msgid "List name is too long. {DISPLAY_NAME_MAX_GRAPHEMES, plural, other {The maximum number of characters is #.}}" msgstr "" @@ -6104,12 +6104,12 @@ msgstr "" msgid "Moderation list by you" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:257 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:256 msgctxt "toast" msgid "Moderation list created" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:243 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:242 msgctxt "toast" msgid "Moderation list updated" msgstr "" @@ -6291,7 +6291,7 @@ msgstr "" msgid "My starter pack" msgstr "My starter pack" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:417 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:416 msgid "Name" msgstr "" @@ -6325,7 +6325,7 @@ msgstr "" msgid "Need to report a copyright violation, legal request, or regulatory compliance issue?" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:587 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:585 msgid "Nevermind, create a handle for me" msgstr "" @@ -6375,9 +6375,9 @@ msgstr "" msgid "New followers" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:230 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:238 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:389 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:228 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:236 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:387 msgid "New handle" msgstr "" @@ -6451,8 +6451,8 @@ msgstr "" #: src/screens/Login/SetNewPasswordForm.tsx:192 #: src/screens/Onboarding/StepFinished/index.tsx:330 #: src/screens/Onboarding/StepFinished/index.tsx:339 -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:158 -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:166 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:157 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:165 #: src/screens/Signup/BackNextButtons.tsx:68 #: src/screens/StarterPack/Wizard/index.tsx:209 #: src/screens/StarterPack/Wizard/index.tsx:213 @@ -6485,8 +6485,8 @@ msgstr "" msgid "No custom feeds yet" msgstr "" +#: src/screens/Settings/components/ChangeHandleDialog.tsx:410 #: src/screens/Settings/components/ChangeHandleDialog.tsx:412 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:414 msgid "No DNS Panel" msgstr "" @@ -6498,7 +6498,7 @@ msgstr "" msgid "No expiry set" msgstr "" -#: src/components/dialogs/GifSelect.tsx:220 +#: src/components/dialogs/GifSelect.tsx:221 msgid "No featured GIFs found. There may be an issue with Tenor." msgstr "" @@ -6597,7 +6597,7 @@ msgid "No result" msgstr "" #: src/components/dialogs/SearchablePeopleList.tsx:224 -#: src/components/ProgressGuide/FollowDialog.tsx:218 +#: src/components/ProgressGuide/FollowDialog.tsx:211 msgid "No results" msgstr "" @@ -6623,7 +6623,7 @@ msgstr "No results found for “<0>{query}”." msgid "No results." msgstr "" -#: src/components/dialogs/GifSelect.tsx:218 +#: src/components/dialogs/GifSelect.tsx:219 msgid "No search results found for \"{search}\"." msgstr "" @@ -6775,8 +6775,8 @@ msgstr "" msgid "Off" msgstr "" -#: src/components/dialogs/GifSelect.tsx:257 -#: src/components/dialogs/LanguageSelectDialog.tsx:355 +#: src/components/dialogs/GifSelect.tsx:258 +#: src/components/dialogs/LanguageSelectDialog.tsx:347 #: src/view/com/util/ErrorBoundary.tsx:57 msgid "Oh no!" msgstr "" @@ -6861,7 +6861,7 @@ msgstr "" #: src/components/StarterPack/ProfileStarterPacks.tsx:363 #: src/components/StarterPack/ProfileStarterPacks.tsx:372 #: src/screens/Settings/AppPasswords.tsx:59 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:110 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:108 #: src/view/screens/Profile.tsx:133 msgid "Oops!" msgstr "" @@ -7366,7 +7366,7 @@ msgstr "" msgid "Please enter a password. It must be at least 8 characters long." msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:115 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:114 msgid "Please enter a unique name for this app password or use our randomly generated one." msgstr "" @@ -7714,7 +7714,7 @@ msgstr "Profile banner placeholder" msgid "Profile not found" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:190 +#: src/screens/Profile/Header/EditProfileDialog.tsx:189 msgctxt "toast" msgid "Profile updated" msgstr "" @@ -7817,7 +7817,7 @@ msgstr "" msgid "Quotes of this post" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:620 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:618 msgid "Rate limit exceeded – you've tried to change your handle too many times in a short period. Please wait a minute before trying again." msgstr "" @@ -7908,7 +7908,7 @@ msgstr "" msgid "Recent searches" msgstr "Recent searches" -#: src/components/dialogs/LanguageSelectDialog.tsx:257 +#: src/components/dialogs/LanguageSelectDialog.tsx:249 msgid "Recently used" msgstr "" @@ -7934,7 +7934,7 @@ msgstr "" msgid "Reload conversations" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:172 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:175 #: src/components/dialogs/MutedWords.tsx:457 #: src/components/dialogs/StarterPackDialog.tsx:373 #: src/components/dialogs/StarterPackDialog.tsx:380 @@ -8060,7 +8060,7 @@ msgstr "" msgid "Remove unavailable moderation services" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:158 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:161 msgid "Remove user from list" msgstr "" @@ -8083,7 +8083,7 @@ msgstr "" msgid "Removed by you" msgstr "" -#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:118 +#: src/components/dialogs/lists/ListAddRemoveUsersDialog.tsx:121 #: src/view/com/modals/UserAddRemoveLists.tsx:171 msgid "Removed from list" msgstr "" @@ -8486,7 +8486,7 @@ msgid "Returns to home page" msgstr "" #: src/screens/ProfileList/components/ErrorScreen.tsx:36 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:579 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:577 #: src/screens/VideoFeed/index.tsx:1173 #: src/view/screens/NotFound.tsx:61 msgid "Returns to previous page" @@ -8497,24 +8497,24 @@ msgid "Returns to the previous step" msgstr "" #: src/components/dialogs/BirthDateSettings.tsx:204 -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:310 -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:325 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:309 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:324 #: src/components/dialogs/PostInteractionSettingsDialog.tsx:666 #: src/components/dialogs/PostInteractionSettingsDialog.tsx:671 #: src/components/StarterPack/QrCodeDialog.tsx:207 #: src/features/liveNow/components/EditLiveDialog.tsx:204 #: src/features/liveNow/components/EditLiveDialog.tsx:211 -#: src/screens/Profile/Header/EditProfileDialog.tsx:237 -#: src/screens/Profile/Header/EditProfileDialog.tsx:251 +#: src/screens/Profile/Header/EditProfileDialog.tsx:236 +#: src/screens/Profile/Header/EditProfileDialog.tsx:250 #: src/screens/SavedFeeds.tsx:130 #: src/screens/SavedFeeds.tsx:326 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:271 -#: src/view/com/composer/GifAltText.tsx:196 -#: src/view/com/composer/GifAltText.tsx:205 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:269 +#: src/view/com/composer/GifAltText.tsx:194 +#: src/view/com/composer/GifAltText.tsx:203 #: src/view/com/composer/photos/EditImageDialog.web.tsx:63 #: src/view/com/composer/photos/EditImageDialog.web.tsx:76 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:167 -#: src/view/com/composer/photos/ImageAltTextDialog.tsx:177 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:163 +#: src/view/com/composer/photos/ImageAltTextDialog.tsx:173 msgid "Save" msgstr "" @@ -8558,7 +8558,7 @@ msgstr "" msgid "Save image" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:257 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:255 msgid "Save new handle" msgstr "" @@ -8641,7 +8641,7 @@ msgstr "" msgid "Search @{0}'s posts" msgstr "" -#: src/components/ProgressGuide/FollowDialog.tsx:665 +#: src/components/ProgressGuide/FollowDialog.tsx:658 msgid "Search by name or interest" msgstr "" @@ -8654,12 +8654,12 @@ msgid "Search feeds" msgstr "" #. Accessibility label for a tab that searches for accounts in a category (e.g. Art, Video Games, Sports, etc.) that are suggested for the user to follow. The tab is not currently active and can be selected. -#: src/components/ProgressGuide/FollowDialog.tsx:494 +#: src/components/ProgressGuide/FollowDialog.tsx:487 msgid "Search for \"{interestsDisplayName}\"" msgstr "" #. Accessibility label for a tab that searches for accounts in a category (e.g. Art, Video Games, Sports, etc.) that are suggested for the user to follow. The tab is currently selected. -#: src/components/ProgressGuide/FollowDialog.tsx:487 +#: src/components/ProgressGuide/FollowDialog.tsx:480 msgid "Search for \"{interestsDisplayName}\" (active)" msgstr "" @@ -8687,7 +8687,7 @@ msgstr "" msgid "Search for posts, users, or feeds" msgstr "" -#: src/components/dialogs/GifSelect.tsx:168 +#: src/components/dialogs/GifSelect.tsx:169 msgid "Search GIFs" msgstr "" @@ -8696,8 +8696,8 @@ msgstr "" msgid "Search is currently unavailable when logged out" msgstr "" -#: src/components/dialogs/LanguageSelectDialog.tsx:240 -#: src/components/dialogs/LanguageSelectDialog.tsx:241 +#: src/components/dialogs/LanguageSelectDialog.tsx:232 +#: src/components/dialogs/LanguageSelectDialog.tsx:233 msgid "Search languages" msgstr "" @@ -8711,11 +8711,11 @@ msgid "Search posts" msgstr "" #: src/components/dialogs/SearchablePeopleList.tsx:535 -#: src/components/ProgressGuide/FollowDialog.tsx:684 +#: src/components/ProgressGuide/FollowDialog.tsx:677 msgid "Search profiles" msgstr "" -#: src/components/dialogs/GifSelect.tsx:169 +#: src/components/dialogs/GifSelect.tsx:170 msgid "Search Tenor" msgstr "" @@ -8724,7 +8724,7 @@ msgid "Search..." msgstr "" #: src/components/dialogs/SearchablePeopleList.tsx:536 -#: src/components/ProgressGuide/FollowDialog.tsx:685 +#: src/components/ProgressGuide/FollowDialog.tsx:678 msgid "Searches for profiles" msgstr "" @@ -8863,7 +8863,7 @@ msgid "Select GIF" msgstr "" #. placeholder {0}: gif.title -#: src/components/dialogs/GifSelect.tsx:296 +#: src/components/dialogs/GifSelect.tsx:297 msgid "Select GIF \"{0}\"" msgstr "" @@ -8881,7 +8881,7 @@ msgstr "" msgid "Select language..." msgstr "" -#: src/components/dialogs/LanguageSelectDialog.tsx:275 +#: src/components/dialogs/LanguageSelectDialog.tsx:267 msgid "Select languages" msgstr "" @@ -8980,7 +8980,7 @@ msgstr "" msgid "Send post to {name}" msgstr "" -#: src/components/dms/dialogs/ShareViaChatDialog.tsx:63 +#: src/components/dms/dialogs/ShareViaChatDialog.tsx:66 msgid "Send post to..." msgstr "" @@ -9009,7 +9009,7 @@ msgstr "" msgid "Sent to our phone number verification provider Plivo" msgstr "" -#: src/components/dialogs/ServerInput.tsx:178 +#: src/components/dialogs/ServerInput.tsx:174 msgid "Server address" msgstr "" @@ -9553,7 +9553,7 @@ msgstr "" msgid "Start a conversation, and it will appear here." msgstr "" -#: src/components/dms/dialogs/NewChatDialog.tsx:76 +#: src/components/dms/dialogs/NewChatDialog.tsx:79 msgid "Start a new chat" msgstr "" @@ -9832,7 +9832,7 @@ msgstr "" msgid "Tell a joke!" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:372 +#: src/screens/Profile/Header/EditProfileDialog.tsx:371 msgid "Tell us a bit about yourself" msgstr "" @@ -9880,7 +9880,7 @@ msgstr "" msgid "Thanks! You're all set." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:502 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:500 msgid "That contains the following:" msgstr "" @@ -10033,7 +10033,7 @@ msgstr "" msgid "There was a problem with your internet connection, please try again" msgstr "" -#: src/components/dialogs/GifSelect.tsx:215 +#: src/components/dialogs/GifSelect.tsx:216 msgid "There was an issue connecting to Tenor." msgstr "" @@ -10072,7 +10072,7 @@ msgstr "" msgid "There was an issue fetching your lists. Tap here to try again." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:111 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:109 msgid "There was an issue fetching your service info" msgstr "" @@ -10118,8 +10118,8 @@ msgstr "" msgid "There was an issue. Please check your internet connection and try again." msgstr "" -#: src/components/dialogs/GifSelect.tsx:259 -#: src/components/dialogs/LanguageSelectDialog.tsx:357 +#: src/components/dialogs/GifSelect.tsx:260 +#: src/components/dialogs/LanguageSelectDialog.tsx:349 #: src/view/com/util/ErrorBoundary.tsx:59 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "" @@ -10258,7 +10258,7 @@ msgstr "" msgid "This feed is no longer online. We are showing <0>Discover instead." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:613 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:611 msgid "This handle is reserved. Please try a different one." msgstr "" @@ -10354,7 +10354,7 @@ msgstr "" msgid "This service is not supported while the Live feature is in beta. Allowed services: {formatted}." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:471 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:469 msgid "This should create a domain record at:" msgstr "" @@ -10588,7 +10588,7 @@ msgstr "" msgid "Type your message here" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:447 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:445 msgid "Type:" msgstr "" @@ -10873,8 +10873,8 @@ msgstr "" msgid "Update email" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:546 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:567 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:544 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:565 msgid "Update to {domain}" msgstr "" @@ -10896,7 +10896,7 @@ msgstr "" msgid "Upload a photo instead" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:487 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:485 msgid "Upload a text file to:" msgstr "" @@ -10940,7 +10940,7 @@ msgstr "" msgid "Use app passwords to sign in to other Bluesky clients without giving full access to your account or password." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:578 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:576 msgid "Use default provider" msgstr "" @@ -10963,7 +10963,7 @@ msgstr "" msgid "Use recommended" msgstr "" -#: src/screens/Settings/components/AddAppPasswordDialog.tsx:191 +#: src/screens/Settings/components/AddAppPasswordDialog.tsx:190 msgid "Use this to sign in to the other app along with your handle." msgstr "" @@ -11016,12 +11016,12 @@ msgstr "" msgid "User list by you" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:256 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:255 msgctxt "toast" msgid "User list created" msgstr "" -#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:242 +#: src/components/dialogs/lists/CreateOrEditListDialog.tsx:241 msgctxt "toast" msgid "User list updated" msgstr "" @@ -11057,7 +11057,7 @@ msgstr "" msgid "Users I follow" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:453 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:451 msgid "Value:" msgstr "" @@ -11102,8 +11102,8 @@ msgctxt "action" msgid "Verify code" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:548 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:569 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:546 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:567 msgid "Verify DNS Record" msgstr "" @@ -11128,8 +11128,8 @@ msgstr "" msgid "Verify phone number" msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:549 -#: src/screens/Settings/components/ChangeHandleDialog.tsx:571 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:547 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:569 msgid "Verify Text File" msgstr "" @@ -11531,7 +11531,7 @@ msgid "We're having issues initializing the age assurance process for your accou msgstr "" #: src/components/dialogs/SearchablePeopleList.tsx:108 -#: src/components/ProgressGuide/FollowDialog.tsx:192 +#: src/components/ProgressGuide/FollowDialog.tsx:185 msgid "We're having network issues, try again" msgstr "" @@ -11721,7 +11721,7 @@ msgid "Writers" msgstr "" #. placeholder {0}: verifyError.did -#: src/screens/Settings/components/ChangeHandleDialog.tsx:370 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:368 msgid "Wrong DID returned from server. Received: {0}" msgstr "" @@ -11813,11 +11813,11 @@ msgstr "" msgid "You are verified" msgstr "" -#: src/screens/Profile/Header/EditProfileDialog.tsx:345 +#: src/screens/Profile/Header/EditProfileDialog.tsx:344 msgid "You are verified. You will lose your verification status if you change your display name. <0>Learn more." msgstr "" -#: src/screens/Settings/components/ChangeHandleDialog.tsx:212 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:210 msgid "You are verified. You will lose your verification status if you change your handle. <0>Learn more." msgstr "" @@ -12277,7 +12277,7 @@ msgid "Your contact {name}" msgstr "" #. placeholder {0}: sanitizeHandle(currentAccount?.handle || '', '@') -#: src/screens/Settings/components/ChangeHandleDialog.tsx:533 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:531 msgid "Your current handle <0>{0} will automatically remain reserved for you. You can switch back to it at any time from this account." msgstr "" @@ -12315,7 +12315,7 @@ msgid "Your following feed is empty! Follow more users to see what's happening." msgstr "" #. placeholder {0}: createFullHandle(subdomain, host) -#: src/screens/Settings/components/ChangeHandleDialog.tsx:249 +#: src/screens/Settings/components/ChangeHandleDialog.tsx:247 msgid "Your full handle will be <0>@{0}" msgstr "" -- 2.51.2 From 2bd9811652cf9976f334492956ee0cbab784cb68 Mon Sep 17 00:00:00 2001 From: Spence Pope Date: Tue, 10 Mar 2026 14:28:49 -0400 Subject: [PATCH 11/29] [APP-1928] add bot/automated account badge and self-labeling settings (#10008) Co-authored-by: Eric Bailey --- assets/icons/bot_filled.svg | 1 + assets/icons/bot_stroke.svg | 1 + bskyembed/src/components/post.tsx | 10 + bskyembed/src/icons/Robot.tsx | 22 ++ bskyweb/cmd/bskyweb/server.go | 1 + src/Navigation.tsx | 9 + src/analytics/metrics/types.ts | 3 + src/components/AccountList.tsx | 17 +- src/components/BotAccountAlert.tsx | 79 +++++++ src/components/BotBadge.tsx | 92 ++++++++ .../PostControls/ShareMenu/RecentChats.tsx | 13 +- src/components/ProfileBadges.tsx | 76 +++++++ src/components/ProfileCard.tsx | 36 +--- src/components/ProfileHoverCard/index.web.tsx | 28 +-- src/components/dms/MessagesListHeader.tsx | 15 +- src/components/icons/Bot.tsx | 9 + src/components/moderation/LabelsOnMe.tsx | 6 +- .../verification/VerificationCheckButton.tsx | 27 +-- src/lib/routes/types.ts | 1 + src/routes.ts | 1 + .../Messages/components/ChatListItem.tsx | 19 +- .../components/ThreadItemAnchor.tsx | 8 +- .../Profile/Header/ProfileHeaderStandard.tsx | 4 +- .../Search/components/SearchHistory.tsx | 13 +- src/screens/Settings/AccountSettings.tsx | 17 ++ .../Settings/AutomationLabelSettings.tsx | 202 ++++++++++++++++++ src/screens/Settings/Settings.tsx | 29 +-- src/view/com/composer/ComposerReplyTo.tsx | 14 +- .../text-input/mobile/Autocomplete.tsx | 26 +-- .../notifications/NotificationFeedItem.tsx | 55 ++--- src/view/com/util/PostMeta.tsx | 26 +-- src/view/shell/Drawer.tsx | 16 +- 32 files changed, 641 insertions(+), 235 deletions(-) create mode 100644 assets/icons/bot_filled.svg create mode 100644 assets/icons/bot_stroke.svg create mode 100644 bskyembed/src/icons/Robot.tsx create mode 100644 src/components/BotAccountAlert.tsx create mode 100644 src/components/BotBadge.tsx create mode 100644 src/components/ProfileBadges.tsx create mode 100644 src/components/icons/Bot.tsx create mode 100644 src/screens/Settings/AutomationLabelSettings.tsx diff --git a/assets/icons/bot_filled.svg b/assets/icons/bot_filled.svg new file mode 100644 index 000000000..207d13295 --- /dev/null +++ b/assets/icons/bot_filled.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/bot_stroke.svg b/assets/icons/bot_stroke.svg new file mode 100644 index 000000000..707d69559 --- /dev/null +++ b/assets/icons/bot_stroke.svg @@ -0,0 +1 @@ + diff --git a/bskyembed/src/components/post.tsx b/bskyembed/src/components/post.tsx index be3350485..fb3225046 100644 --- a/bskyembed/src/components/post.tsx +++ b/bskyembed/src/components/post.tsx @@ -10,6 +10,7 @@ import logo from '../../assets/logo_full_name.svg' import {Like as LikeIcon} from '../icons/Like' import {Reply as ReplyIcon} from '../icons/Reply' import {Repost as RepostIcon} from '../icons/Repost' +import {Robot as RobotIcon} from '../icons/Robot' import {CONTENT_LABELS} from '../labels' import * as bsky from '../types/bsky' import {niceDate} from '../util/nice-date' @@ -43,6 +44,9 @@ export function Post({thread}: Props) { } const verification = getVerificationState({profile: post.author}) + const isBot = post.author.labels?.some( + l => l.val === 'bot' && l.src === post.author.did, + ) const href = `/profile/${post.author.did}/post/${getRkey(post)}` @@ -76,6 +80,12 @@ export function Post({thread}: Props) { size={15} /> )} + {isBot && ( + + )} ( + + + +) diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go index 1f9c0ed64..9c10827a8 100644 --- a/bskyweb/cmd/bskyweb/server.go +++ b/bskyweb/cmd/bskyweb/server.go @@ -292,6 +292,7 @@ func serve(cctx *cli.Context) error { e.GET("/settings/accessibility", server.WebGeneric) e.GET("/settings/appearance", server.WebGeneric) e.GET("/settings/account", server.WebGeneric) + e.GET("/settings/automation-label", server.WebGeneric) e.GET("/settings/privacy-and-security", server.WebGeneric) e.GET("/settings/privacy-and-security/activity", server.WebGeneric) e.GET("/settings/content-and-media", server.WebGeneric) diff --git a/src/Navigation.tsx b/src/Navigation.tsx index 03ff43d73..7ef150e9e 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -103,6 +103,7 @@ import {ActivityPrivacySettingsScreen} from '#/screens/Settings/ActivityPrivacyS import {AppearanceSettingsScreen} from '#/screens/Settings/AppearanceSettings' import {AppIconSettingsScreen} from '#/screens/Settings/AppIconSettings' import {AppPasswordsScreen} from '#/screens/Settings/AppPasswords' +import {AutomationLabelSettingsScreen} from '#/screens/Settings/AutomationLabelSettings' import {ContentAndMediaSettingsScreen} from '#/screens/Settings/ContentAndMediaSettings' import {ExternalMediaPreferencesScreen} from '#/screens/Settings/ExternalMediaPreferences' import {FindContactsSettingsScreen} from '#/screens/Settings/FindContactsSettings' @@ -403,6 +404,14 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { requireAuth: true, }} /> + AutomationLabelSettingsScreen} + options={{ + title: title(msg`Automation Label`), + requireAuth: true, + }} + /> PrivacyAndSecuritySettingsScreen} diff --git a/src/analytics/metrics/types.ts b/src/analytics/metrics/types.ts index 28c3150c2..d3d5d88f9 100644 --- a/src/analytics/metrics/types.ts +++ b/src/analytics/metrics/types.ts @@ -732,6 +732,9 @@ export type Events = { 'verification:settings:hideBadges': {} 'verification:settings:unHideBadges': {} + 'bot:label:toggle': {state: 'add' | 'remove'} + 'bot:badge:click': {} + 'live:create': {duration: number} 'live:edit': {} 'live:remove': {} diff --git a/src/components/AccountList.tsx b/src/components/AccountList.tsx index ad0f44809..4a43bf283 100644 --- a/src/components/AccountList.tsx +++ b/src/components/AccountList.tsx @@ -16,9 +16,8 @@ import {Button} from '#/components/Button' import {CheckThick_Stroke2_Corner0_Rounded as CheckIcon} from '#/components/icons/Check' import {ChevronRight_Stroke2_Corner0_Rounded as ChevronIcon} from '#/components/icons/Chevron' import {PlusLarge_Stroke2_Corner0_Rounded as PlusIcon} from '#/components/icons/Plus' +import {ProfileBadges} from '#/components/ProfileBadges' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {useActorStatus} from '#/features/liveNow' export function AccountList({ @@ -116,7 +115,6 @@ function AccountItem({ }) { const t = useTheme() const {_} = useLingui() - const verification = useSimpleVerificationState({profile}) const {isActive: live} = useActorStatus(profile) const onPress = useCallback(() => { @@ -164,13 +162,12 @@ function AccountItem({ profile?.displayName || profile?.handle || account.handle, )} - {verification.showBadge && ( - - - + {profile && ( + )} + + + + + + + {description} + + + + + {isSelf ? ( + + ) : null} + + + + ) +} diff --git a/src/components/BotBadge.tsx b/src/components/BotBadge.tsx new file mode 100644 index 000000000..83da49bc4 --- /dev/null +++ b/src/components/BotBadge.tsx @@ -0,0 +1,92 @@ +import {View} from 'react-native' +import {type ComAtprotoLabelDefs} from '@atproto/api' +import {useLingui} from '@lingui/react/macro' + +import {atoms as a, useTheme} from '#/alf' +import {BotAccountAlert} from '#/components/BotAccountAlert' +import {Button} from '#/components/Button' +import {useDialogControl} from '#/components/Dialog' +import {Bot_Filled as RobotIcon} from '#/components/icons/Bot' +import {useAnalytics} from '#/analytics' +import type * as bsky from '#/types/bsky' + +export function isBotAccount(profile: { + did: string + labels?: ComAtprotoLabelDefs.Label[] +}): boolean { + return ( + profile.labels?.some(l => l.val === 'bot' && l.src === profile.did) ?? false + ) +} + +export function BotBadge({ + profile, + alwaysShow = false, + width, +}: { + profile: bsky.profile.AnyProfileView + alwaysShow?: boolean + width: number +}) { + const t = useTheme() + + if (!isBotAccount(profile) && !alwaysShow) { + return null + } + + return ( + + + + ) +} + +export function BotBadgeButton({ + profile, + width, +}: { + profile: bsky.profile.AnyProfileView + width: number +}) { + const t = useTheme() + const ax = useAnalytics() + const {t: l} = useLingui() + const control = useDialogControl() + + if (!isBotAccount(profile)) { + return null + } + + return ( + <> + + + + ) +} diff --git a/src/components/PostControls/ShareMenu/RecentChats.tsx b/src/components/PostControls/ShareMenu/RecentChats.tsx index 3ba268223..178f8c0ba 100644 --- a/src/components/PostControls/ShareMenu/RecentChats.tsx +++ b/src/components/PostControls/ShareMenu/RecentChats.tsx @@ -17,9 +17,8 @@ import {UserAvatar} from '#/view/com/util/UserAvatar' import {atoms as a, tokens, useTheme} from '#/alf' import {Button} from '#/components/Button' import {useDialogContext} from '#/components/Dialog' +import {ProfileBadges} from '#/components/ProfileBadges' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {useAnalytics} from '#/analytics' import type * as bsky from '#/types/bsky' @@ -111,7 +110,6 @@ function RecentChatItem({ profile.displayName || sanitizeHandle(profile.handle), moderation.ui('displayName'), ) - const verification = useSimpleVerificationState({profile}) if (isBlockedOrBlocking(profile) || isMuted(profile)) { return null @@ -141,14 +139,7 @@ function RecentChatItem({ numberOfLines={1}> {name} - {verification.showBadge && ( - - - - )} + ) diff --git a/src/components/ProfileBadges.tsx b/src/components/ProfileBadges.tsx new file mode 100644 index 000000000..dd0cedfe8 --- /dev/null +++ b/src/components/ProfileBadges.tsx @@ -0,0 +1,76 @@ +import {View} from 'react-native' + +import {useProfileShadow} from '#/state/cache/profile-shadow' +import {atoms as a, type ViewStyleProp} from '#/alf' +import {BotBadge, BotBadgeButton, isBotAccount} from '#/components/BotBadge' +import {useSimpleVerificationState} from '#/components/verification' +import {VerificationCheck} from '#/components/verification/VerificationCheck' +import {VerificationCheckButton} from '#/components/verification/VerificationCheckButton' +import type * as bsky from '#/types/bsky' + +export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' + +const verificationIconSizes: Record = { + xs: 10, + sm: 12, + md: 14, + lg: 18, + xl: 22, +} as const + +const botIconSizes: Record = { + xs: 11, + sm: 13, + md: 15, + lg: 19, + xl: 23, +} as const + +export function ProfileBadges({ + profile, + interactive = false, + size, + style, +}: ViewStyleProp & { + profile: bsky.profile.AnyProfileView + interactive?: boolean + size: Size +}) { + const shadowed = useProfileShadow(profile) + const verification = useSimpleVerificationState({profile}) + + // if nothing to show, don't render the container at all + if (!verification.showBadge && !isBotAccount(shadowed)) return null + + const isOnTheSmallSide = size === 'xs' || size === 'sm' + + return ( + + {interactive ? ( + <> + + + + ) : ( + <> + {verification.showBadge && ( + + )} + + + )} + + ) +} diff --git a/src/components/ProfileCard.tsx b/src/components/ProfileCard.tsx index 0c8f26f20..ee9e65702 100644 --- a/src/components/ProfileCard.tsx +++ b/src/components/ProfileCard.tsx @@ -41,10 +41,9 @@ import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check' import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus' import {Link as InternalLink, type LinkProps} from '#/components/Link' import * as Pills from '#/components/Pills' +import {ProfileBadges} from '#/components/ProfileBadges' import {RichText} from '#/components/RichText' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {type Metrics} from '#/analytics' import {useActorStatus} from '#/features/liveNow' import type * as bsky from '#/types/bsky' @@ -242,7 +241,6 @@ function InlineNameAndHandle({ moderationOpts: ModerationOpts }) { const t = useTheme() - const verification = useSimpleVerificationState({profile}) const moderation = moderateProfile(profile, moderationOpts) const name = sanitizeDisplayName( profile.displayName || sanitizeHandle(profile.handle), @@ -262,19 +260,15 @@ function InlineNameAndHandle({ numberOfLines={1}> {forceLTR(name)} - {verification.showBadge && ( - - - - )} + {name} - {verification.showBadge && ( - - - - )} + ) } diff --git a/src/components/ProfileHoverCard/index.web.tsx b/src/components/ProfileHoverCard/index.web.tsx index 8586607e5..6ccdf89ae 100644 --- a/src/components/ProfileHoverCard/index.web.tsx +++ b/src/components/ProfileHoverCard/index.web.tsx @@ -36,10 +36,9 @@ import {InlineLinkText, Link} from '#/components/Link' import {Loader} from '#/components/Loader' import * as Pills from '#/components/Pills' import {Portal} from '#/components/Portal' +import {ProfileBadges} from '#/components/ProfileBadges' import {RichText} from '#/components/RichText' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {IS_WEB_TOUCH_DEVICE} from '#/env' import {useActorStatus} from '#/features/liveNow' import {LiveStatus} from '#/features/liveNow/components/LiveStatusDialog' @@ -459,7 +458,6 @@ function Inner({ [currentAccount, profile], ) const isLabeler = profile.associated?.labeler - const verification = useSimpleVerificationState({profile}) return ( @@ -527,20 +525,16 @@ function Inner({ moderation.ui('displayName'), )} - {verification.showBadge && ( - - - - )} + diff --git a/src/components/dms/MessagesListHeader.tsx b/src/components/dms/MessagesListHeader.tsx index afdeee545..3f7694a34 100644 --- a/src/components/dms/MessagesListHeader.tsx +++ b/src/components/dms/MessagesListHeader.tsx @@ -20,9 +20,8 @@ import {Bell2Off_Filled_Corner0_Rounded as BellStroke} from '#/components/icons/ import * as Layout from '#/components/Layout' import {Link} from '#/components/Link' import {PostAlerts} from '#/components/moderation/PostAlerts' +import {ProfileBadges} from '#/components/ProfileBadges' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {IS_WEB} from '#/env' const PFP_SIZE = IS_WEB ? 40 : Layout.HEADER_SLOT_SIZE @@ -112,9 +111,6 @@ function HeaderReady({ const {_} = useLingui() const t = useTheme() const convoState = useConvo() - const verification = useSimpleVerificationState({ - profile, - }) const isDeletedAccount = profile?.handle === 'missing.invalid' const displayName = isDeletedAccount @@ -161,14 +157,7 @@ function HeaderReady({ numberOfLines={1}> {displayName} - {verification.showBadge && ( - - - - )} + {!isDeletedAccount && ( !l.val.startsWith('!')) + labels = labels.filter( + l => + !l.val.startsWith('!') && + !(l.val === 'bot' && l.src === currentAccount.did), + ) if (!labels.length) { return null } diff --git a/src/components/verification/VerificationCheckButton.tsx b/src/components/verification/VerificationCheckButton.tsx index 40b12c206..ceb9d24f2 100644 --- a/src/components/verification/VerificationCheckButton.tsx +++ b/src/components/verification/VerificationCheckButton.tsx @@ -3,7 +3,7 @@ import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' import {type Shadow} from '#/state/cache/types' -import {atoms as a, useBreakpoints, useTheme} from '#/alf' +import {atoms as a, useTheme} from '#/alf' import {Button} from '#/components/Button' import {useDialogControl} from '#/components/Dialog' import {useFullVerificationState} from '#/components/verification' @@ -51,43 +51,36 @@ export function shouldShowVerificationCheckButton( export function VerificationCheckButton({ profile, - size, + width, }: { profile: Shadow - size: 'lg' | 'md' | 'sm' + width: number }) { const state = useFullVerificationState({ profile, }) if (shouldShowVerificationCheckButton(state)) { - return + return } return null } -export function Badge({ +function Badge({ profile, verificationState: state, - size, + width, }: { profile: Shadow verificationState: FullVerificationState - size: 'lg' | 'md' | 'sm' + width: number }) { const t = useTheme() const ax = useAnalytics() const {_} = useLingui() const verificationsDialogControl = useDialogControl() const verifierDialogControl = useDialogControl() - const {gtPhone} = useBreakpoints() - let dimensions = 12 - if (size === 'lg') { - dimensions = gtPhone ? 20 : 18 - } else if (size === 'md') { - dimensions = 14 - } const verifiedByHidden = !state.profile.showBadge && state.profile.isViewer @@ -116,8 +109,8 @@ export function Badge({ a.align_end, a.transition_transform, { - width: dimensions, - height: dimensions, + width: width, + height: width, transform: [ { scale: hovered ? 1.1 : 1, @@ -126,7 +119,7 @@ export function Badge({ }, ]}> ({ AppearanceSettings: '/settings/appearance', SavedFeeds: '/settings/saved-feeds', AccountSettings: '/settings/account', + AutomationLabelSettings: '/settings/automation-label', PrivacyAndSecuritySettings: '/settings/privacy-and-security', ActivityPrivacySettings: '/settings/privacy-and-security/activity', ContentAndMediaSettings: '/settings/content-and-media', diff --git a/src/screens/Messages/components/ChatListItem.tsx b/src/screens/Messages/components/ChatListItem.tsx index f09cf2300..82c5b76af 100644 --- a/src/screens/Messages/components/ChatListItem.tsx +++ b/src/screens/Messages/components/ChatListItem.tsx @@ -41,9 +41,8 @@ import {Link} from '#/components/Link' import {useMenuControl} from '#/components/Menu' import {PostAlerts} from '#/components/moderation/PostAlerts' import {createPortalGroup} from '#/components/Portal' +import {ProfileBadges} from '#/components/ProfileBadges' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {useAnalytics} from '#/analytics' import {IS_NATIVE} from '#/env' import type * as bsky from '#/types/bsky' @@ -112,9 +111,6 @@ function ChatListItemReady({ const playHaptic = useHaptics() const queryClient = useQueryClient() const isUnread = convo.unreadCount > 0 - const verification = useSimpleVerificationState({ - profile, - }) const blockInfo = useMemo(() => { const modui = moderation.ui('profileView') @@ -414,14 +410,11 @@ function ChatListItemReady({ {displayName} - {verification.showBadge && ( - - - - )} + {lastMessageSentAt && ( diff --git a/src/screens/PostThread/components/ThreadItemAnchor.tsx b/src/screens/PostThread/components/ThreadItemAnchor.tsx index 9133a313c..f17a83246 100644 --- a/src/screens/PostThread/components/ThreadItemAnchor.tsx +++ b/src/screens/PostThread/components/ThreadItemAnchor.tsx @@ -47,12 +47,12 @@ import {Embed, PostEmbedViewContext} from '#/components/Post/Embed' import {TranslatedPost} from '#/components/Post/Translated' import {PostControls, PostControlsSkeleton} from '#/components/PostControls' import {useFormatPostStatCount} from '#/components/PostControls/util' +import {ProfileBadges} from '#/components/ProfileBadges' import {ProfileHoverCard} from '#/components/ProfileHoverCard' import * as Prompt from '#/components/Prompt' import {RichText} from '#/components/RichText' import * as Skele from '#/components/Skeleton' import {Text} from '#/components/Typography' -import {VerificationCheckButton} from '#/components/verification/VerificationCheckButton' import {WhoCanReply} from '#/components/WhoCanReply' import {useAnalytics} from '#/analytics' import {useActorStatus} from '#/features/liveNow' @@ -362,7 +362,11 @@ const ThreadItemAnchorInner = memo(function ThreadItemAnchorInner({ - + - + diff --git a/src/screens/Search/components/SearchHistory.tsx b/src/screens/Search/components/SearchHistory.tsx index 5b463ae75..f49fadf0d 100644 --- a/src/screens/Search/components/SearchHistory.tsx +++ b/src/screens/Search/components/SearchHistory.tsx @@ -14,9 +14,8 @@ import {Button, ButtonIcon} from '#/components/Button' import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' import * as Layout from '#/components/Layout' import {Link} from '#/components/Link' +import {ProfileBadges} from '#/components/ProfileBadges' import {Text} from '#/components/Typography' -import {useSimpleVerificationState} from '#/components/verification' -import {VerificationCheck} from '#/components/verification/VerificationCheck' import {useAnalytics} from '#/analytics' import type * as bsky from '#/types/bsky' @@ -139,7 +138,6 @@ function RecentProfileItem({ profile.displayName || sanitizeHandle(profile.handle), moderation.ui('displayName'), ) - const verification = useSimpleVerificationState({profile}) return ( @@ -165,14 +163,7 @@ function RecentProfileItem({ {name} - {verification.showBadge && ( - - - - )} + @@ -1608,7 +1608,7 @@ function ComposerTopBar({ size="small" onPress={onPublish} disabled={!canPost || isPublishQueued}> - + {isReply ? ( Reply ) : isThread ? ( diff --git a/src/view/com/composer/GifAltText.tsx b/src/view/com/composer/GifAltText.tsx index 0d335cdcd..8afa7d057 100644 --- a/src/view/com/composer/GifAltText.tsx +++ b/src/view/com/composer/GifAltText.tsx @@ -14,6 +14,7 @@ import {useResolveGifQuery} from '#/state/queries/resolve-link' import {type Gif} from '#/state/queries/tenor' import {AltTextCounterWrapper} from '#/view/com/composer/AltTextCounterWrapper' import {atoms as a, useTheme} from '#/alf' +import {Admonition} from '#/components/Admonition' import {Button, ButtonText} from '#/components/Button' import * as Dialog from '#/components/Dialog' import {type DialogControlProps} from '#/components/Dialog' @@ -23,7 +24,6 @@ import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/ico import {PlusSmall_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus' import {GifEmbed} from '#/components/Post/Embed/ExternalEmbed/Gif' import {Text} from '#/components/Typography' -import {AltTextReminder} from './photos/Gallery' export function GifAltTextDialog({ gif, @@ -101,7 +101,12 @@ export function GifAltTextDialogLoaded({ - + + + Alt text describes images for blind and low-vision users, and helps + give context to everyone. + + maxLength ? '#e60000' : pal.colors.text - const circleColor = count > maxLength ? '#e60000' : pal.colors.link + const t = useTheme() + const textColor = count > maxLength ? '#e60000' : t.atoms.text.color + const circleColor = count > maxLength ? '#e60000' : t.palette.primary_500 return ( @@ -40,7 +39,8 @@ export function CharProgress({ a.flex_grow, a.text_right, textStyle, - ]}> + ]} + maxFontSizeMultiplier={1}> {maxLength - count} {count > maxLength ? ( @@ -55,7 +55,7 @@ export function CharProgress({ diff --git a/src/view/com/composer/drafts/DraftsButton.tsx b/src/view/com/composer/drafts/DraftsButton.tsx index ac075223d..11628544b 100644 --- a/src/view/com/composer/drafts/DraftsButton.tsx +++ b/src/view/com/composer/drafts/DraftsButton.tsx @@ -72,10 +72,10 @@ export function DraftsButton({ color="primary" shape="default" size="small" - style={[a.rounded_full, a.py_sm, a.px_md, a.mx_xs]} + style={[a.py_sm, a.px_md, a.mx_xs]} disabled={isSaving} onPress={handlePress}> - + Drafts diff --git a/src/view/com/composer/labels/LabelsBtn.tsx b/src/view/com/composer/labels/LabelsBtn.tsx index 0387315c9..9471dc0d2 100644 --- a/src/view/com/composer/labels/LabelsBtn.tsx +++ b/src/view/com/composer/labels/LabelsBtn.tsx @@ -63,7 +63,7 @@ export function LabelsBtn({ msg`Opens a dialog to add a content warning to your post`, )}> - + {labels.length > 0 ? ( Labels added ) : ( diff --git a/src/view/com/composer/photos/Gallery.tsx b/src/view/com/composer/photos/Gallery.tsx index 118e6c2bd..a22d8b53c 100644 --- a/src/view/com/composer/photos/Gallery.tsx +++ b/src/view/com/composer/photos/Gallery.tsx @@ -17,12 +17,13 @@ import {Trans} from '@lingui/react/macro' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' import {type Dimensions} from '#/lib/media/types' -import {colors, s} from '#/lib/styles' +import {colors} from '#/lib/styles' import {type ComposerImage, cropImage} from '#/state/gallery' -import {Text} from '#/view/com/util/text/Text' -import {tokens, useTheme} from '#/alf' +import {atoms as a, tokens, useTheme} from '#/alf' +import {Admonition} from '#/components/Admonition' import * as Dialog from '#/components/Dialog' import {MediaInsetBorder} from '#/components/MediaInsetBorder' +import {Text} from '#/components/Typography' import {IS_IOS, IS_NATIVE} from '#/env' import {type PostAction} from '../state/composer' import {EditImageDialog} from './EditImageDialog' @@ -118,7 +119,12 @@ const GalleryInner = ({images, containerInfo, dispatch}: GalleryInnerProps) => { ) })} - + + + Alt text describes images for blind and low-vision users, and helps + give context to everyone. + + ) : null } @@ -263,23 +269,6 @@ const GalleryItem = ({ ) } -export function AltTextReminder() { - const t = useTheme() - return ( - - - - - - - Alt text describes images for blind and low-vision users, and helps - give context to everyone. - - - - ) -} - const styles = StyleSheet.create({ gallery: { flex: 1, @@ -323,19 +312,4 @@ const styles = StyleSheet.create({ top: 30, zIndex: 1, }, - - reminder: { - flexDirection: 'row', - alignItems: 'center', - gap: 8, - borderRadius: 8, - paddingVertical: 14, - }, - infoIcon: { - width: 22, - height: 22, - borderRadius: 12, - alignItems: 'center', - justifyContent: 'center', - }, }) diff --git a/src/view/com/composer/select-language/PostLanguageSelect.tsx b/src/view/com/composer/select-language/PostLanguageSelect.tsx index 66e8c6ea0..1ea8219fa 100644 --- a/src/view/com/composer/select-language/PostLanguageSelect.tsx +++ b/src/view/com/composer/select-language/PostLanguageSelect.tsx @@ -161,7 +161,8 @@ function LanguageBtn( a.leading_snug, {maxWidth: 100}, ]} - numberOfLines={1}> + numberOfLines={1} + maxFontSizeMultiplier={1.5}> {currentLanguages .map(lang => codeToLanguageName(lang, langPrefs.appLanguage)) .join(', ')} diff --git a/src/view/com/composer/threadgate/ThreadgateBtn.tsx b/src/view/com/composer/threadgate/ThreadgateBtn.tsx index ed22befcd..745e9d5d2 100644 --- a/src/view/com/composer/threadgate/ThreadgateBtn.tsx +++ b/src/view/com/composer/threadgate/ThreadgateBtn.tsx @@ -154,7 +154,9 @@ export function ThreadgateBtn({ msg`Opens a dialog to choose who can interact with this post`, )}> - {label} + + {label} + -- 2.51.2 From f5994af6200ff335ae1ec7e9e18dfef41523e2c4 Mon Sep 17 00:00:00 2001 From: pfrazee <1270099+pfrazee@users.noreply.github.com> Date: Wed, 11 Mar 2026 03:04:18 +0000 Subject: [PATCH 14/29] Nightly source-language update --- src/locale/locales/en/messages.po | 713 ++++++++++++++++-------------- 1 file changed, 381 insertions(+), 332 deletions(-) diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po index 7e9da841f..d588d98b6 100644 --- a/src/locale/locales/en/messages.po +++ b/src/locale/locales/en/messages.po @@ -18,11 +18,11 @@ msgstr "" msgid "\"{interestsDisplayName}\" category (active)" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:163 +#: src/screens/Messages/components/ChatListItem.tsx:159 msgid "(contains embedded content)" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:72 +#: src/screens/Settings/AccountSettings.tsx:76 msgid "(no email)" msgstr "" @@ -52,12 +52,12 @@ msgid "{0, plural, one {# hour} other {# hours}}" msgstr "" #. placeholder {0}: labels.length -#: src/components/moderation/LabelsOnMe.tsx:59 +#: src/components/moderation/LabelsOnMe.tsx:63 msgid "{0, plural, one {# label has} other {# labels have}} been placed on this account" msgstr "" #. placeholder {0}: labels.length -#: src/components/moderation/LabelsOnMe.tsx:68 +#: src/components/moderation/LabelsOnMe.tsx:72 msgid "{0, plural, one {# label has} other {# labels have}} been placed on this content" msgstr "" @@ -95,7 +95,7 @@ msgstr "" #. placeholder {0}: numUnreadNotifications ?? 0 #: src/view/shell/bottom-bar/BottomBar.tsx:224 #: src/view/shell/bottom-bar/BottomBar.tsx:256 -#: src/view/shell/Drawer.tsx:501 +#: src/view/shell/Drawer.tsx:489 msgid "{0, plural, one {# unread item} other {# unread items}}" msgstr "" @@ -111,13 +111,13 @@ msgid "{0, plural, one {1 more post} other {# more posts}}" msgstr "" #. placeholder {0}: profile.followersCount || 0 -#: src/components/ProfileHoverCard/index.web.tsx:445 +#: src/components/ProfileHoverCard/index.web.tsx:444 #: src/screens/Profile/Header/Metrics.tsx:22 msgid "{0, plural, one {follower} other {followers}}" msgstr "" #. placeholder {0}: profile.followsCount || 0 -#: src/components/ProfileHoverCard/index.web.tsx:449 +#: src/components/ProfileHoverCard/index.web.tsx:448 #: src/screens/Profile/Header/Metrics.tsx:26 msgid "{0, plural, one {following} other {following}}" msgstr "" @@ -208,7 +208,7 @@ msgstr "" #. placeholder {0}: sanitizeDisplayName( sender.displayName || sender.handle, ) #. placeholder {1}: convo.lastReaction.reaction.value #. placeholder {2}: lastMessageText ? `"${convo.lastReaction.message.text}"` : fallbackMessage -#: src/screens/Messages/components/ChatListItem.tsx:234 +#: src/screens/Messages/components/ChatListItem.tsx:230 msgid "{0} reacted {1} to {2}" msgstr "" @@ -281,159 +281,159 @@ msgstr "" msgid "{estimatedTimeMins, plural, one {minute} other {minutes}}" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:355 +#: src/view/com/notifications/NotificationFeedItem.tsx:348 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} followed you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:389 +#: src/view/com/notifications/NotificationFeedItem.tsx:382 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} liked your custom feed" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:298 +#: src/view/com/notifications/NotificationFeedItem.tsx:291 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} liked your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:494 +#: src/view/com/notifications/NotificationFeedItem.tsx:487 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} liked your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:467 +#: src/view/com/notifications/NotificationFeedItem.tsx:460 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} removed their verifications from your account" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:322 +#: src/view/com/notifications/NotificationFeedItem.tsx:315 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} reposted your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:518 +#: src/view/com/notifications/NotificationFeedItem.tsx:511 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} reposted your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:413 +#: src/view/com/notifications/NotificationFeedItem.tsx:406 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} signed up with your starter pack" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:442 +#: src/view/com/notifications/NotificationFeedItem.tsx:435 msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} verified you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:367 +#: src/view/com/notifications/NotificationFeedItem.tsx:360 msgid "{firstAuthorLink} followed you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:344 +#: src/view/com/notifications/NotificationFeedItem.tsx:337 msgid "{firstAuthorLink} followed you back" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:401 +#: src/view/com/notifications/NotificationFeedItem.tsx:394 msgid "{firstAuthorLink} liked your custom feed" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:310 +#: src/view/com/notifications/NotificationFeedItem.tsx:303 msgid "{firstAuthorLink} liked your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:506 +#: src/view/com/notifications/NotificationFeedItem.tsx:499 msgid "{firstAuthorLink} liked your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:479 +#: src/view/com/notifications/NotificationFeedItem.tsx:472 msgid "{firstAuthorLink} removed their verification from your account" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:334 +#: src/view/com/notifications/NotificationFeedItem.tsx:327 msgid "{firstAuthorLink} reposted your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:530 +#: src/view/com/notifications/NotificationFeedItem.tsx:523 msgid "{firstAuthorLink} reposted your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:425 +#: src/view/com/notifications/NotificationFeedItem.tsx:418 msgid "{firstAuthorLink} signed up with your starter pack" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:454 +#: src/view/com/notifications/NotificationFeedItem.tsx:447 msgid "{firstAuthorLink} verified you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:348 +#: src/view/com/notifications/NotificationFeedItem.tsx:341 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} followed you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:382 +#: src/view/com/notifications/NotificationFeedItem.tsx:375 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} liked your custom feed" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:291 +#: src/view/com/notifications/NotificationFeedItem.tsx:284 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} liked your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:487 +#: src/view/com/notifications/NotificationFeedItem.tsx:480 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} liked your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:460 +#: src/view/com/notifications/NotificationFeedItem.tsx:453 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} removed their verifications from your account" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:315 +#: src/view/com/notifications/NotificationFeedItem.tsx:308 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} reposted your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:511 +#: src/view/com/notifications/NotificationFeedItem.tsx:504 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} reposted your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:406 +#: src/view/com/notifications/NotificationFeedItem.tsx:399 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} signed up with your starter pack" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:435 +#: src/view/com/notifications/NotificationFeedItem.tsx:428 msgid "{firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} verified you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:353 +#: src/view/com/notifications/NotificationFeedItem.tsx:346 msgid "{firstAuthorName} followed you" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:343 +#: src/view/com/notifications/NotificationFeedItem.tsx:336 msgid "{firstAuthorName} followed you back" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:387 +#: src/view/com/notifications/NotificationFeedItem.tsx:380 msgid "{firstAuthorName} liked your custom feed" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:296 +#: src/view/com/notifications/NotificationFeedItem.tsx:289 msgid "{firstAuthorName} liked your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:492 +#: src/view/com/notifications/NotificationFeedItem.tsx:485 msgid "{firstAuthorName} liked your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:465 +#: src/view/com/notifications/NotificationFeedItem.tsx:458 msgid "{firstAuthorName} removed their verification from your account" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:320 +#: src/view/com/notifications/NotificationFeedItem.tsx:313 msgid "{firstAuthorName} reposted your post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:516 +#: src/view/com/notifications/NotificationFeedItem.tsx:509 msgid "{firstAuthorName} reposted your repost" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:411 +#: src/view/com/notifications/NotificationFeedItem.tsx:404 msgid "{firstAuthorName} signed up with your starter pack" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:440 +#: src/view/com/notifications/NotificationFeedItem.tsx:433 msgid "{firstAuthorName} verified you" msgstr "" -#: src/components/ProfileHoverCard/index.web.tsx:578 +#: src/components/ProfileHoverCard/index.web.tsx:572 msgid "{following} following" msgstr "" @@ -540,41 +540,41 @@ msgstr "" #. placeholder {0}: formatCount(i18n, profile?.followersCount ?? 0) #. placeholder {1}: profile?.followersCount || 0 -#: src/view/shell/Drawer.tsx:120 +#: src/view/shell/Drawer.tsx:108 msgid "<0>{0} {1, plural, one {follower} other {followers}}" msgstr "" #. placeholder {0}: formatCount(i18n, profile?.followsCount ?? 0) #. placeholder {1}: profile?.followsCount || 0 -#: src/view/shell/Drawer.tsx:131 +#: src/view/shell/Drawer.tsx:119 msgid "<0>{0} {1, plural, one {following} other {following}}" msgstr "" #. Like count display, the <0> tags enclose the number of likes in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.likeCount) #. placeholder {1}: post.likeCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:493 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:497 msgid "<0>{0} {1, plural, one {like} other {likes}}" msgstr "" #. Quote count display, the <0> tags enclose the number of quotes in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.quoteCount) #. placeholder {1}: post.quoteCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:475 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:479 msgid "<0>{0} {1, plural, one {quote} other {quotes}}" msgstr "" #. Repost count display, the <0> tags enclose the number of reposts in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.repostCount) #. placeholder {1}: post.repostCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:455 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:459 msgid "<0>{0} {1, plural, one {repost} other {reposts}}" msgstr "" #. Save count display, the <0> tags enclose the number of saves in bold (will never be 0) #. placeholder {0}: formatPostStatCount(post.bookmarkCount) #. placeholder {1}: post.bookmarkCount -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:506 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:510 msgid "<0>{0} {1, plural, one {save} other {saves}}" msgstr "" @@ -641,7 +641,7 @@ msgid "A collection of popular feeds you can find on Bluesky, including News, Bo msgstr "" #. If last message does not contain text, fall back to "{user} reacted to {a message}" -#: src/screens/Messages/components/ChatListItem.tsx:213 +#: src/screens/Messages/components/ChatListItem.tsx:209 msgid "a message" msgstr "" @@ -681,10 +681,10 @@ msgstr "" msgid "A screenshot of the post composer with a new button next to the post button that says \"Drafts\", with a rainbow firework effect. Below, the text in the composer reads \"Hey, did you hear the news? Bluesky has drafts now!!!\"." msgstr "" -#: src/Navigation.tsx:535 +#: src/Navigation.tsx:544 #: src/screens/Settings/AboutSettings.tsx:74 -#: src/screens/Settings/Settings.tsx:261 -#: src/screens/Settings/Settings.tsx:264 +#: src/screens/Settings/Settings.tsx:257 +#: src/screens/Settings/Settings.tsx:260 msgid "About" msgstr "" @@ -711,20 +711,20 @@ msgid "Accept this language suggestion" msgstr "" #: src/screens/Settings/AccessibilitySettings.tsx:45 -#: src/screens/Settings/Settings.tsx:237 -#: src/screens/Settings/Settings.tsx:240 +#: src/screens/Settings/Settings.tsx:233 +#: src/screens/Settings/Settings.tsx:236 msgid "Accessibility" msgstr "" -#: src/Navigation.tsx:386 +#: src/Navigation.tsx:387 msgid "Accessibility Settings" msgstr "" -#: src/Navigation.tsx:402 +#: src/Navigation.tsx:403 #: src/screens/Login/LoginForm.tsx:192 -#: src/screens/Settings/AccountSettings.tsx:52 -#: src/screens/Settings/Settings.tsx:179 -#: src/screens/Settings/Settings.tsx:182 +#: src/screens/Settings/AccountSettings.tsx:56 +#: src/screens/Settings/Settings.tsx:175 +#: src/screens/Settings/Settings.tsx:178 msgid "Account" msgstr "" @@ -763,7 +763,7 @@ msgstr "" msgid "Account Muted by List" msgstr "" -#: src/screens/Settings/Settings.tsx:645 +#: src/screens/Settings/Settings.tsx:638 msgid "Account options" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Account provider" msgstr "" -#: src/screens/Settings/Settings.tsx:681 +#: src/screens/Settings/Settings.tsx:674 msgid "Account removed from quick access" msgstr "" @@ -803,7 +803,7 @@ msgstr "" msgid "Activity from others" msgstr "" -#: src/Navigation.tsx:503 +#: src/Navigation.tsx:512 msgid "Activity notifications" msgstr "" @@ -844,10 +844,10 @@ msgid "Add account" msgstr "" #: src/view/com/composer/GifAltText.tsx:76 -#: src/view/com/composer/GifAltText.tsx:145 -#: src/view/com/composer/GifAltText.tsx:212 -#: src/view/com/composer/photos/Gallery.tsx:182 -#: src/view/com/composer/photos/Gallery.tsx:229 +#: src/view/com/composer/GifAltText.tsx:150 +#: src/view/com/composer/GifAltText.tsx:217 +#: src/view/com/composer/photos/Gallery.tsx:188 +#: src/view/com/composer/photos/Gallery.tsx:235 #: src/view/com/composer/photos/ImageAltTextDialog.tsx:95 #: src/view/com/composer/photos/ImageAltTextDialog.tsx:103 msgid "Add alt text" @@ -857,8 +857,8 @@ msgstr "" msgid "Add alt text (optional)" msgstr "" -#: src/screens/Settings/Settings.tsx:583 -#: src/screens/Settings/Settings.tsx:586 +#: src/screens/Settings/Settings.tsx:576 +#: src/screens/Settings/Settings.tsx:579 #: src/view/shell/desktop/LeftNav.tsx:263 #: src/view/shell/desktop/LeftNav.tsx:267 msgid "Add another account" @@ -882,6 +882,10 @@ msgstr "" msgid "Add App Password" msgstr "" +#: src/screens/Settings/AutomationLabelSettings.tsx:166 +msgid "Add automation label to account" +msgstr "Add automation label to account" + #: src/components/dms/EmojiReactionPicker.web.tsx:35 msgid "Add emoji reaction" msgstr "" @@ -1147,12 +1151,12 @@ msgstr "" #: src/components/images/Gallery.tsx:120 #: src/components/Post/Embed/VideoEmbed/GifPresentationControls.tsx:94 #: src/view/com/composer/GifAltText.tsx:100 -#: src/view/com/composer/photos/Gallery.tsx:200 +#: src/view/com/composer/photos/Gallery.tsx:206 msgid "ALT" msgstr "" #: src/screens/Settings/AccessibilitySettings.tsx:55 -#: src/view/com/composer/GifAltText.tsx:155 +#: src/view/com/composer/GifAltText.tsx:160 #: src/view/com/composer/photos/ImageAltTextDialog.tsx:128 #: src/view/com/composer/videos/SubtitleDialog.tsx:41 #: src/view/com/composer/videos/SubtitleDialog.tsx:59 @@ -1165,12 +1169,13 @@ msgstr "" msgid "Alt Text" msgstr "" -#: src/view/com/composer/photos/Gallery.tsx:274 +#: src/view/com/composer/GifAltText.tsx:105 +#: src/view/com/composer/photos/Gallery.tsx:123 msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "" #. placeholder {0}: i18n.number(MAX_ALT_TEXT) -#: src/view/com/composer/GifAltText.tsx:180 +#: src/view/com/composer/GifAltText.tsx:185 #: src/view/com/composer/photos/ImageAltTextDialog.tsx:149 msgid "Alt text will be truncated. {MAX_ALT_TEXT, plural, other {Limit: {0} characters.}}" msgstr "" @@ -1277,10 +1282,10 @@ msgstr "" #: src/components/hooks/useFollowMethods.ts:35 #: src/components/hooks/useFollowMethods.ts:50 -#: src/components/ProfileCard.tsx:521 -#: src/components/ProfileCard.tsx:541 -#: src/view/com/notifications/NotificationFeedItem.tsx:779 -#: src/view/com/notifications/NotificationFeedItem.tsx:799 +#: src/components/ProfileCard.tsx:507 +#: src/components/ProfileCard.tsx:527 +#: src/view/com/notifications/NotificationFeedItem.tsx:772 +#: src/view/com/notifications/NotificationFeedItem.tsx:792 msgid "An issue occurred, please try again." msgstr "" @@ -1339,7 +1344,7 @@ msgstr "" msgid "Anyone who follows me" msgstr "" -#: src/Navigation.tsx:543 +#: src/Navigation.tsx:552 #: src/screens/Settings/AppIconSettings/index.tsx:65 #: src/screens/Settings/AppIconSettings/SettingsListItem.tsx:19 #: src/screens/Settings/AppIconSettings/SettingsListItem.tsx:24 @@ -1377,7 +1382,7 @@ msgstr "" msgid "App passwords" msgstr "" -#: src/Navigation.tsx:354 +#: src/Navigation.tsx:355 #: src/screens/Settings/AppPasswords.tsx:51 msgid "App Passwords" msgstr "" @@ -1419,10 +1424,10 @@ msgstr "" msgid "Appeal this decision" msgstr "" -#: src/Navigation.tsx:394 +#: src/Navigation.tsx:395 #: src/screens/Settings/AppearanceSettings.tsx:73 -#: src/screens/Settings/Settings.tsx:229 -#: src/screens/Settings/Settings.tsx:232 +#: src/screens/Settings/Settings.tsx:225 +#: src/screens/Settings/Settings.tsx:228 msgid "Appearance" msgstr "" @@ -1431,18 +1436,18 @@ msgstr "" msgid "Apply default recommended feeds" msgstr "" -#: src/screens/Settings/Settings.tsx:515 -#: src/screens/Settings/Settings.tsx:517 +#: src/screens/Settings/Settings.tsx:508 +#: src/screens/Settings/Settings.tsx:510 msgid "Apply Pull Request" msgstr "" #. placeholder {0}: niceDate(i18n, createdAt, 'medium') -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:627 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:631 msgid "Archived from {0}" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:598 -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:636 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:602 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:640 msgid "Archived post" msgstr "" @@ -1514,6 +1519,21 @@ msgctxt "Name of app icon variant" msgid "Aurora" msgstr "" +#: src/components/BotAccountAlert.tsx:32 +#: src/components/BotBadge.tsx:63 +msgid "Automated account" +msgstr "Automated account" + +#: src/screens/Settings/AccountSettings.tsx:157 +#: src/screens/Settings/AccountSettings.tsx:160 +msgid "Automation label" +msgstr "Automation label" + +#: src/Navigation.tsx:411 +#: src/screens/Settings/AutomationLabelSettings.tsx:103 +msgid "Automation Label" +msgstr "Automation Label" + #: src/screens/Settings/ContentAndMediaSettings.tsx:118 #: src/screens/Settings/ContentAndMediaSettings.tsx:124 msgid "Autoplay videos and GIFs" @@ -1609,7 +1629,7 @@ msgstr "" msgid "Birthdate" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:143 +#: src/screens/Settings/AccountSettings.tsx:147 msgid "Birthday" msgstr "" @@ -1677,7 +1697,7 @@ msgstr "" msgid "Blocked accounts" msgstr "" -#: src/Navigation.tsx:195 +#: src/Navigation.tsx:196 #: src/view/screens/ModerationBlockedAccounts.tsx:104 msgid "Blocked Accounts" msgstr "" @@ -1712,7 +1732,7 @@ msgstr "" msgid "Bluesky" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:652 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:656 msgid "Bluesky cannot confirm the authenticity of the claimed date." msgstr "" @@ -1926,7 +1946,7 @@ msgstr "" #: src/screens/Settings/components/ChangeHandleDialog.tsx:87 #: src/screens/Settings/components/ChangePasswordDialog.tsx:248 #: src/screens/Settings/components/ChangePasswordDialog.tsx:254 -#: src/screens/Settings/Settings.tsx:306 +#: src/screens/Settings/Settings.tsx:302 #: src/screens/Takendown.tsx:102 #: src/screens/Takendown.tsx:105 #: src/view/com/composer/Composer.tsx:1533 @@ -2041,10 +2061,10 @@ msgid "Changes to the starter pack will not be reflected in the list after creat msgstr "" #: src/lib/hooks/useNotificationHandler.ts:102 -#: src/Navigation.tsx:560 +#: src/Navigation.tsx:569 #: src/view/shell/bottom-bar/BottomBar.tsx:220 #: src/view/shell/desktop/LeftNav.tsx:609 -#: src/view/shell/Drawer.tsx:469 +#: src/view/shell/Drawer.tsx:457 msgid "Chat" msgstr "" @@ -2067,7 +2087,7 @@ msgctxt "toast" msgid "Chat muted" msgstr "" -#: src/Navigation.tsx:570 +#: src/Navigation.tsx:579 #: src/screens/Messages/components/InboxPreview.tsx:23 msgid "Chat request inbox" msgstr "" @@ -2079,7 +2099,7 @@ msgid "Chat requests" msgstr "" #: src/components/dms/ConvoMenu.tsx:84 -#: src/Navigation.tsx:565 +#: src/Navigation.tsx:574 #: src/screens/Messages/ChatList.tsx:82 #: src/screens/Messages/ChatList.tsx:86 #: src/screens/Messages/ChatList.tsx:385 @@ -2171,11 +2191,11 @@ msgstr "" msgid "Choose your username" msgstr "" -#: src/screens/Settings/Settings.tsx:507 +#: src/screens/Settings/Settings.tsx:500 msgid "Clear all storage data" msgstr "" -#: src/screens/Settings/Settings.tsx:509 +#: src/screens/Settings/Settings.tsx:502 msgid "Clear all storage data (restart after this)" msgstr "" @@ -2352,11 +2372,11 @@ msgstr "" msgid "Closes viewer for header image" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:601 +#: src/view/com/notifications/NotificationFeedItem.tsx:594 msgid "Collapse list of users" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:926 +#: src/view/com/notifications/NotificationFeedItem.tsx:919 msgid "Collapses list of users for a given notification" msgstr "" @@ -2378,7 +2398,7 @@ msgid "Comics" msgstr "" #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:46 -#: src/Navigation.tsx:344 +#: src/Navigation.tsx:345 #: src/view/screens/CommunityGuidelines.tsx:38 msgid "Community Guidelines" msgstr "" @@ -2496,12 +2516,12 @@ msgstr "" msgid "Content & Media" msgstr "" -#: src/screens/Settings/Settings.tsx:209 -#: src/screens/Settings/Settings.tsx:212 +#: src/screens/Settings/Settings.tsx:205 +#: src/screens/Settings/Settings.tsx:208 msgid "Content and media" msgstr "" -#: src/Navigation.tsx:519 +#: src/Navigation.tsx:528 msgid "Content and Media" msgstr "" @@ -2555,7 +2575,7 @@ msgid "Continue" msgstr "" #. placeholder {0}: account.handle -#: src/components/AccountList.tsx:136 +#: src/components/AccountList.tsx:134 msgid "Continue as {0} (currently signed in)" msgstr "" @@ -2579,7 +2599,7 @@ msgstr "" msgid "Conversation" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:199 +#: src/screens/Messages/components/ChatListItem.tsx:195 msgid "Conversation deleted" msgstr "" @@ -2699,7 +2719,7 @@ msgstr "" #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:41 #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:108 -#: src/Navigation.tsx:349 +#: src/Navigation.tsx:350 #: src/view/screens/CopyrightPolicy.tsx:35 msgid "Copyright Policy" msgstr "" @@ -2795,7 +2815,7 @@ msgstr "" #: src/components/StarterPack/ProfileStarterPacks.tsx:207 #: src/components/StarterPack/ProfileStarterPacks.tsx:316 -#: src/Navigation.tsx:600 +#: src/Navigation.tsx:609 msgid "Create a starter pack" msgstr "" @@ -2938,13 +2958,13 @@ msgstr "" msgid "Date of birth" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:162 -#: src/screens/Settings/AccountSettings.tsx:167 +#: src/screens/Settings/AccountSettings.tsx:179 +#: src/screens/Settings/AccountSettings.tsx:184 #: src/screens/Settings/components/DeactivateAccountDialog.tsx:73 msgid "Deactivate account" msgstr "" -#: src/screens/Settings/Settings.tsx:472 +#: src/screens/Settings/Settings.tsx:465 msgid "Debug Moderation" msgstr "" @@ -2975,8 +2995,8 @@ msgstr "" msgid "Delete" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:172 -#: src/screens/Settings/AccountSettings.tsx:177 +#: src/screens/Settings/AccountSettings.tsx:189 +#: src/screens/Settings/AccountSettings.tsx:194 msgid "Delete account" msgstr "" @@ -2998,7 +3018,7 @@ msgstr "" msgid "Delete chat" msgstr "" -#: src/screens/Settings/Settings.tsx:479 +#: src/screens/Settings/Settings.tsx:472 msgid "Delete chat declaration record" msgstr "" @@ -3065,8 +3085,8 @@ msgstr "" msgid "Deleted" msgstr "" -#: src/components/dms/MessagesListHeader.tsx:121 -#: src/screens/Messages/components/ChatListItem.tsx:132 +#: src/components/dms/MessagesListHeader.tsx:117 +#: src/screens/Messages/components/ChatListItem.tsx:128 msgid "Deleted Account" msgstr "" @@ -3087,7 +3107,7 @@ msgstr "" msgid "Description" msgstr "" -#: src/view/com/composer/GifAltText.tsx:151 +#: src/view/com/composer/GifAltText.tsx:156 #: src/view/com/composer/photos/ImageAltTextDialog.tsx:124 msgid "Descriptive alt text" msgstr "" @@ -3111,8 +3131,8 @@ msgctxt "toast" msgid "Developer mode enabled" msgstr "" -#: src/screens/Settings/Settings.tsx:288 -#: src/screens/Settings/Settings.tsx:291 +#: src/screens/Settings/Settings.tsx:284 +#: src/screens/Settings/Settings.tsx:287 msgid "Developer options" msgstr "" @@ -3416,7 +3436,7 @@ msgstr "" msgid "Eating disorders" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:146 +#: src/screens/Settings/AccountSettings.tsx:150 #: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:255 #: src/screens/StarterPack/StarterPackScreen.tsx:602 #: src/screens/StarterPack/Wizard/index.tsx:338 @@ -3441,7 +3461,7 @@ msgstr "" #: src/view/com/composer/photos/EditImageDialog.web.tsx:86 #: src/view/com/composer/photos/EditImageDialog.web.tsx:90 -#: src/view/com/composer/photos/Gallery.tsx:207 +#: src/view/com/composer/photos/Gallery.tsx:213 msgid "Edit image" msgstr "" @@ -3469,7 +3489,7 @@ msgstr "" msgid "Edit moderation list" msgstr "" -#: src/Navigation.tsx:359 +#: src/Navigation.tsx:360 #: src/view/screens/Feeds.tsx:519 msgid "Edit My Feeds" msgstr "" @@ -3512,7 +3532,7 @@ msgstr "" msgid "Edit who can reply" msgstr "" -#: src/Navigation.tsx:605 +#: src/Navigation.tsx:614 msgid "Edit your starter pack" msgstr "" @@ -3524,7 +3544,7 @@ msgstr "" msgid "Either the creator of this list has blocked you or you have blocked the creator." msgstr "" -#: src/screens/Settings/AccountSettings.tsx:67 +#: src/screens/Settings/AccountSettings.tsx:71 #: src/screens/Signup/StepInfo/index.tsx:224 msgid "Email" msgstr "" @@ -3790,11 +3810,11 @@ msgstr "" msgid "Expand alt text" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:602 +#: src/view/com/notifications/NotificationFeedItem.tsx:595 msgid "Expand list of users" msgstr "" -#: src/view/com/composer/ComposerReplyTo.tsx:91 +#: src/view/com/composer/ComposerReplyTo.tsx:88 msgid "Expand or collapse the full post you are replying to" msgstr "" @@ -3845,10 +3865,10 @@ msgstr "" msgid "Explicit sexual images." msgstr "" -#: src/Navigation.tsx:809 +#: src/Navigation.tsx:818 #: src/screens/Search/Shell.tsx:354 #: src/view/shell/desktop/LeftNav.tsx:689 -#: src/view/shell/Drawer.tsx:417 +#: src/view/shell/Drawer.tsx:405 msgid "Explore" msgstr "" @@ -3857,8 +3877,8 @@ msgstr "" msgid "Explore the app" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:153 -#: src/screens/Settings/AccountSettings.tsx:157 +#: src/screens/Settings/AccountSettings.tsx:170 +#: src/screens/Settings/AccountSettings.tsx:174 msgid "Export my data" msgstr "" @@ -3881,7 +3901,7 @@ msgstr "" msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button." msgstr "" -#: src/Navigation.tsx:378 +#: src/Navigation.tsx:379 #: src/screens/Settings/ExternalMediaPreferences.tsx:34 msgid "External Media Preferences" msgstr "" @@ -4141,7 +4161,7 @@ msgstr "" msgid "False information about elections" msgstr "" -#: src/Navigation.tsx:294 +#: src/Navigation.tsx:295 msgid "Feed" msgstr "" @@ -4176,7 +4196,7 @@ msgstr "" #: src/view/shell/desktop/RightNav.tsx:108 #: src/view/shell/desktop/RightNav.tsx:109 -#: src/view/shell/Drawer.tsx:371 +#: src/view/shell/Drawer.tsx:359 msgid "Feedback" msgstr "" @@ -4186,7 +4206,7 @@ msgctxt "toast" msgid "Feedback sent to feed operator" msgstr "" -#: src/Navigation.tsx:585 +#: src/Navigation.tsx:594 #: src/screens/SavedFeeds.tsx:118 #: src/screens/SavedFeeds.tsx:314 #: src/screens/Search/SearchResults.tsx:80 @@ -4194,7 +4214,7 @@ msgstr "" #: src/view/screens/Feeds.tsx:512 #: src/view/screens/Profile.tsx:240 #: src/view/shell/desktop/LeftNav.tsx:727 -#: src/view/shell/Drawer.tsx:533 +#: src/view/shell/Drawer.tsx:521 msgid "Feeds" msgstr "" @@ -4265,8 +4285,8 @@ msgstr "" msgid "Find accounts to follow" msgstr "" -#: src/Navigation.tsx:426 -#: src/Navigation.tsx:627 +#: src/Navigation.tsx:435 +#: src/Navigation.tsx:636 msgid "Find Contacts" msgstr "" @@ -4274,8 +4294,8 @@ msgstr "" msgid "Find Friends" msgstr "" -#: src/screens/Settings/Settings.tsx:220 -#: src/screens/Settings/Settings.tsx:223 +#: src/screens/Settings/Settings.tsx:216 +#: src/screens/Settings/Settings.tsx:219 msgid "Find friends from contacts" msgstr "" @@ -4337,14 +4357,14 @@ msgid "Focus code input" msgstr "" #. User is not following this account, click to follow -#: src/components/ProfileCard.tsx:555 -#: src/components/ProfileHoverCard/index.web.tsx:497 -#: src/components/ProfileHoverCard/index.web.tsx:508 +#: src/components/ProfileCard.tsx:541 +#: src/components/ProfileHoverCard/index.web.tsx:495 +#: src/components/ProfileHoverCard/index.web.tsx:506 #: src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx:153 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:388 #: src/screens/VideoFeed/index.tsx:870 +#: src/view/com/notifications/NotificationFeedItem.tsx:834 #: src/view/com/notifications/NotificationFeedItem.tsx:841 -#: src/view/com/notifications/NotificationFeedItem.tsx:848 msgid "Follow" msgstr "" @@ -4392,11 +4412,11 @@ msgid "Follow all accounts" msgstr "" #. User is not following this account, click to follow back -#: src/components/ProfileCard.tsx:551 +#: src/components/ProfileCard.tsx:537 #: src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx:151 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:386 +#: src/view/com/notifications/NotificationFeedItem.tsx:834 #: src/view/com/notifications/NotificationFeedItem.tsx:841 -#: src/view/com/notifications/NotificationFeedItem.tsx:848 msgid "Follow back" msgstr "" @@ -4433,7 +4453,7 @@ msgid "Followed by <0>{0}, <1>{1}, and {2, plural, one {# other} other { msgstr "" #. placeholder {0}: route.params.name -#: src/Navigation.tsx:248 +#: src/Navigation.tsx:249 msgid "Followers of @{0} that you know" msgstr "" @@ -4444,14 +4464,14 @@ msgstr "" #. User is following this account, click to unfollow #. User is following this account, click to unfollow -#: src/components/ProfileCard.tsx:546 -#: src/components/ProfileHoverCard/index.web.tsx:496 -#: src/components/ProfileHoverCard/index.web.tsx:507 +#: src/components/ProfileCard.tsx:532 +#: src/components/ProfileHoverCard/index.web.tsx:494 +#: src/components/ProfileHoverCard/index.web.tsx:505 #: src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx:156 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:384 #: src/screens/VideoFeed/index.tsx:868 -#: src/view/com/notifications/NotificationFeedItem.tsx:819 -#: src/view/com/notifications/NotificationFeedItem.tsx:836 +#: src/view/com/notifications/NotificationFeedItem.tsx:812 +#: src/view/com/notifications/NotificationFeedItem.tsx:829 msgid "Following" msgstr "" @@ -4464,9 +4484,9 @@ msgstr "" #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) -#: src/components/ProfileCard.tsx:511 +#: src/components/ProfileCard.tsx:497 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:251 -#: src/view/com/notifications/NotificationFeedItem.tsx:772 +#: src/view/com/notifications/NotificationFeedItem.tsx:765 msgid "Following {0}" msgstr "" @@ -4479,7 +4499,7 @@ msgstr "" msgid "Following feed preferences" msgstr "" -#: src/Navigation.tsx:365 +#: src/Navigation.tsx:366 #: src/screens/Settings/FollowingFeedPreferences.tsx:57 msgid "Following Feed Preferences" msgstr "" @@ -4587,7 +4607,7 @@ msgstr "" msgid "Germ DM reconnected" msgstr "" -#: src/view/shell/Drawer.tsx:375 +#: src/view/shell/Drawer.tsx:363 msgid "Get help" msgstr "" @@ -4739,7 +4759,7 @@ msgstr "" msgid "Go live for" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:247 +#: src/view/com/notifications/NotificationFeedItem.tsx:243 msgid "Go to {firstAuthorName}'s profile" msgstr "" @@ -4751,7 +4771,7 @@ msgid "Go to account settings" msgstr "" #. placeholder {0}: profile.handle -#: src/screens/Messages/components/ChatListItem.tsx:364 +#: src/screens/Messages/components/ChatListItem.tsx:360 msgid "Go to conversation with {0}" msgstr "" @@ -4806,8 +4826,8 @@ msgstr "" msgid "Half way there!" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:131 -#: src/screens/Settings/AccountSettings.tsx:136 +#: src/screens/Settings/AccountSettings.tsx:135 +#: src/screens/Settings/AccountSettings.tsx:140 msgid "Handle" msgstr "" @@ -4845,7 +4865,7 @@ msgstr "" msgid "Harming or endangering minors" msgstr "" -#: src/Navigation.tsx:550 +#: src/Navigation.tsx:559 msgid "Hashtag" msgstr "" @@ -4874,11 +4894,11 @@ msgstr "" msgid "Held by Bluesky for 7 days to prevent abuse, then deleted" msgstr "" +#: src/screens/Settings/Settings.tsx:249 #: src/screens/Settings/Settings.tsx:253 -#: src/screens/Settings/Settings.tsx:257 #: src/view/shell/desktop/RightNav.tsx:129 #: src/view/shell/desktop/RightNav.tsx:132 -#: src/view/shell/Drawer.tsx:384 +#: src/view/shell/Drawer.tsx:372 msgid "Help" msgstr "" @@ -4930,7 +4950,7 @@ msgstr "" msgid "Hide" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:933 +#: src/view/com/notifications/NotificationFeedItem.tsx:926 msgctxt "action" msgid "Hide" msgstr "" @@ -5001,7 +5021,7 @@ msgstr "" msgid "Hide trending videos?" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:924 +#: src/view/com/notifications/NotificationFeedItem.tsx:917 msgid "Hide user list" msgstr "" @@ -5051,11 +5071,11 @@ msgstr "" msgid "Hold up! We’re gradually giving access to video, and you’re still waiting in line. Check back soon!" msgstr "" -#: src/Navigation.tsx:804 -#: src/Navigation.tsx:824 +#: src/Navigation.tsx:813 +#: src/Navigation.tsx:833 #: src/view/shell/bottom-bar/BottomBar.tsx:177 #: src/view/shell/desktop/LeftNav.tsx:671 -#: src/view/shell/Drawer.tsx:443 +#: src/view/shell/Drawer.tsx:431 msgid "Home" msgstr "" @@ -5469,13 +5489,13 @@ msgstr "" msgid "Labels on your content" msgstr "" -#: src/Navigation.tsx:221 +#: src/Navigation.tsx:222 msgid "Language Settings" msgstr "" #: src/screens/Settings/LanguageSettings.tsx:81 -#: src/screens/Settings/Settings.tsx:245 -#: src/screens/Settings/Settings.tsx:248 +#: src/screens/Settings/Settings.tsx:241 +#: src/screens/Settings/Settings.tsx:244 msgid "Languages" msgstr "" @@ -5651,7 +5671,7 @@ msgstr "" msgid "Like 10 posts to train the Discover feed" msgstr "" -#: src/Navigation.tsx:463 +#: src/Navigation.tsx:472 msgid "Like notifications" msgstr "" @@ -5663,8 +5683,8 @@ msgstr "" msgid "Like this labeler" msgstr "" -#: src/Navigation.tsx:299 -#: src/Navigation.tsx:304 +#: src/Navigation.tsx:300 +#: src/Navigation.tsx:305 msgid "Liked by" msgstr "" @@ -5701,11 +5721,11 @@ msgstr "" msgid "Likes of your reposts" msgstr "" -#: src/Navigation.tsx:487 +#: src/Navigation.tsx:496 msgid "Likes of your reposts notifications" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:489 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:493 msgid "Likes on this post" msgstr "" @@ -5714,7 +5734,7 @@ msgstr "" msgid "Linear" msgstr "" -#: src/Navigation.tsx:254 +#: src/Navigation.tsx:255 msgid "List" msgstr "" @@ -5800,12 +5820,12 @@ msgctxt "toast" msgid "List unmuted" msgstr "" -#: src/Navigation.tsx:175 +#: src/Navigation.tsx:176 #: src/view/screens/Lists.tsx:68 #: src/view/screens/Profile.tsx:234 #: src/view/screens/Profile.tsx:242 #: src/view/shell/desktop/LeftNav.tsx:745 -#: src/view/shell/Drawer.tsx:548 +#: src/view/shell/Drawer.tsx:536 msgid "Lists" msgstr "" @@ -5885,15 +5905,15 @@ msgstr "" msgid "Loading post interaction settings..." msgstr "" -#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:61 +#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:60 msgid "Loading..." msgstr "" -#: src/Navigation.tsx:324 +#: src/Navigation.tsx:325 msgid "Log" msgstr "" -#: src/components/AccountList.tsx:192 +#: src/components/AccountList.tsx:189 msgid "Logged out" msgstr "" @@ -5906,7 +5926,7 @@ msgid "Logo by @sawaratsuki.bsky.social" msgstr "" #: src/view/shell/desktop/RightNav.tsx:138 -#: src/view/shell/Drawer.tsx:712 +#: src/view/shell/Drawer.tsx:700 msgid "Logo by <0>@sawaratsuki.bsky.social" msgstr "" @@ -5995,7 +6015,7 @@ msgstr "" msgid "Media that may be disturbing or inappropriate for some audiences." msgstr "" -#: src/Navigation.tsx:447 +#: src/Navigation.tsx:456 msgid "Mention notifications" msgstr "" @@ -6019,7 +6039,7 @@ msgstr "" msgid "Message {0}" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:200 +#: src/screens/Messages/components/ChatListItem.tsx:196 msgid "Message deleted" msgstr "" @@ -6052,7 +6072,7 @@ msgstr "" msgid "Message options" msgstr "" -#: src/Navigation.tsx:819 +#: src/Navigation.tsx:828 msgid "Messages" msgstr "" @@ -6065,7 +6085,7 @@ msgstr "" msgid "Minor harassment or bullying" msgstr "" -#: src/Navigation.tsx:511 +#: src/Navigation.tsx:520 msgid "Miscellaneous notifications" msgstr "" @@ -6077,10 +6097,10 @@ msgstr "" msgid "Missing media" msgstr "" -#: src/Navigation.tsx:180 +#: src/Navigation.tsx:181 #: src/screens/Moderation/index.tsx:102 -#: src/screens/Settings/Settings.tsx:193 -#: src/screens/Settings/Settings.tsx:196 +#: src/screens/Settings/Settings.tsx:189 +#: src/screens/Settings/Settings.tsx:192 msgid "Moderation" msgstr "" @@ -6118,7 +6138,7 @@ msgstr "" msgid "Moderation lists" msgstr "" -#: src/Navigation.tsx:185 +#: src/Navigation.tsx:186 #: src/view/screens/ModerationModlists.tsx:68 msgid "Moderation Lists" msgstr "" @@ -6127,7 +6147,7 @@ msgstr "" msgid "moderation settings" msgstr "" -#: src/Navigation.tsx:314 +#: src/Navigation.tsx:315 msgid "Moderation states" msgstr "" @@ -6252,7 +6272,7 @@ msgstr "" msgid "Muted accounts" msgstr "" -#: src/Navigation.tsx:190 +#: src/Navigation.tsx:191 #: src/view/screens/ModerationMutedAccounts.tsx:116 msgid "Muted Accounts" msgstr "" @@ -6316,7 +6336,7 @@ msgstr "" msgid "Navigates to the next screen" msgstr "" -#: src/view/shell/Drawer.tsx:81 +#: src/view/shell/Drawer.tsx:79 msgid "Navigates to your profile" msgstr "" @@ -6340,11 +6360,11 @@ msgctxt "action" msgid "New" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:563 +#: src/view/com/notifications/NotificationFeedItem.tsx:556 msgid "New {postsCount, plural, one {post} other {posts}} from {firstAuthorLink}" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:546 +#: src/view/com/notifications/NotificationFeedItem.tsx:539 msgid "New {postsCount, plural, one {post} other {posts}} from {firstAuthorName}" msgstr "" @@ -6365,7 +6385,7 @@ msgstr "" msgid "New Feature" msgstr "" -#: src/Navigation.tsx:479 +#: src/Navigation.tsx:488 msgid "New follower notifications" msgstr "" @@ -6415,11 +6435,11 @@ msgctxt "action" msgid "New Post" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:552 +#: src/view/com/notifications/NotificationFeedItem.tsx:545 msgid "New posts from {firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} " msgstr "New posts from {firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}} " -#: src/view/com/notifications/NotificationFeedItem.tsx:537 +#: src/view/com/notifications/NotificationFeedItem.tsx:530 msgid "New posts from {firstAuthorName} and {additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}}" msgstr "" @@ -6527,9 +6547,9 @@ msgstr "" #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, ) #. placeholder {0}: sanitizeDisplayName( profile.displayName || profile.handle, moderation.ui('displayName'), ) -#: src/components/ProfileCard.tsx:532 +#: src/components/ProfileCard.tsx:518 #: src/screens/Profile/Header/ProfileHeaderStandard.tsx:276 -#: src/view/com/notifications/NotificationFeedItem.tsx:792 +#: src/view/com/notifications/NotificationFeedItem.tsx:785 msgid "No longer following {0}" msgstr "" @@ -6537,7 +6557,7 @@ msgstr "" msgid "No media yet" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:142 +#: src/screens/Messages/components/ChatListItem.tsx:138 msgid "No messages yet" msgstr "" @@ -6591,7 +6611,7 @@ msgstr "" msgid "No reposts yet" msgstr "" -#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:61 +#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:60 #: src/view/com/composer/text-input/web/Autocomplete.tsx:192 msgid "No result" msgstr "" @@ -6682,7 +6702,7 @@ msgstr "" msgid "Not followed by anyone you're following" msgstr "" -#: src/Navigation.tsx:170 +#: src/Navigation.tsx:171 #: src/view/screens/Profile.tsx:133 msgid "Not Found" msgstr "" @@ -6712,8 +6732,8 @@ msgstr "" msgid "Nothing saved yet" msgstr "" -#: src/Navigation.tsx:433 -#: src/Navigation.tsx:580 +#: src/Navigation.tsx:442 +#: src/Navigation.tsx:589 #: src/view/screens/Notifications.tsx:136 msgid "Notification settings" msgstr "" @@ -6726,8 +6746,8 @@ msgstr "" msgid "Notification Sounds" msgstr "" -#: src/Navigation.tsx:575 -#: src/Navigation.tsx:814 +#: src/Navigation.tsx:584 +#: src/Navigation.tsx:823 #: src/screens/Notifications/ActivityList.tsx:31 #: src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx:93 #: src/screens/Settings/NotificationSettings/index.tsx:93 @@ -6740,12 +6760,12 @@ msgstr "" #: src/screens/Settings/NotificationSettings/ReplyNotificationSettings.tsx:30 #: src/screens/Settings/NotificationSettings/RepostNotificationSettings.tsx:30 #: src/screens/Settings/NotificationSettings/RepostsOnRepostsNotificationSettings.tsx:30 -#: src/screens/Settings/Settings.tsx:201 -#: src/screens/Settings/Settings.tsx:204 +#: src/screens/Settings/Settings.tsx:197 +#: src/screens/Settings/Settings.tsx:200 #: src/view/screens/Notifications.tsx:130 #: src/view/shell/bottom-bar/BottomBar.tsx:251 #: src/view/shell/desktop/LeftNav.tsx:708 -#: src/view/shell/Drawer.tsx:496 +#: src/view/shell/Drawer.tsx:484 msgid "Notifications" msgstr "" @@ -6771,6 +6791,7 @@ msgid "Number should be a mobile number" msgstr "" #: src/lib/moderation/useLabelBehaviorDescription.ts:14 +#: src/screens/Settings/AccountSettings.tsx:164 #: src/screens/Settings/NotificationSettings/index.tsx:292 msgid "Off" msgstr "" @@ -6790,8 +6811,10 @@ msgstr "" msgid "OK" msgstr "" +#: src/components/BotAccountAlert.tsx:52 +#: src/components/BotAccountAlert.tsx:57 #: src/screens/Login/PasswordUpdatedForm.tsx:37 -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:658 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:662 msgid "Okay" msgstr "" @@ -6802,11 +6825,15 @@ msgstr "" msgid "Oldest replies first" msgstr "" +#: src/screens/Settings/AccountSettings.tsx:164 +msgid "On" +msgstr "On" + #: src/components/StarterPack/QrCode.tsx:86 msgid "on<0><1/><2><3/>" msgstr "" -#: src/screens/Settings/Settings.tsx:405 +#: src/screens/Settings/Settings.tsx:398 msgid "Onboarding reset" msgstr "" @@ -6874,8 +6901,8 @@ msgstr "" msgid "Open camera" msgstr "" +#: src/screens/Messages/components/ChatListItem.tsx:370 #: src/screens/Messages/components/ChatListItem.tsx:374 -#: src/screens/Messages/components/ChatListItem.tsx:378 msgid "Open conversation options" msgstr "" @@ -6917,7 +6944,7 @@ msgstr "" msgid "Open message options" msgstr "" -#: src/screens/Settings/Settings.tsx:470 +#: src/screens/Settings/Settings.tsx:463 msgid "Open moderation debug page" msgstr "" @@ -6938,6 +6965,11 @@ msgstr "" msgid "Open profile" msgstr "" +#: src/components/BotAccountAlert.tsx:62 +#: src/components/BotAccountAlert.tsx:71 +msgid "Open settings" +msgstr "Open settings" + #: src/components/PostControls/ShareMenu/index.tsx:98 msgid "Open share menu" msgstr "" @@ -6946,12 +6978,12 @@ msgstr "" msgid "Open starter pack menu" msgstr "" -#: src/screens/Settings/Settings.tsx:463 -#: src/screens/Settings/Settings.tsx:477 +#: src/screens/Settings/Settings.tsx:456 +#: src/screens/Settings/Settings.tsx:470 msgid "Open storybook page" msgstr "" -#: src/screens/Settings/Settings.tsx:456 +#: src/screens/Settings/Settings.tsx:449 msgid "Open system log" msgstr "" @@ -6984,7 +7016,7 @@ msgstr "" msgid "Opens captions and alt text dialog" msgstr "" -#: src/screens/Settings/AccountSettings.tsx:132 +#: src/screens/Settings/AccountSettings.tsx:136 msgid "Opens change handle dialog" msgstr "" @@ -7019,7 +7051,7 @@ msgstr "" msgid "Opens GIF select dialog" msgstr "" -#: src/screens/Settings/Settings.tsx:254 +#: src/screens/Settings/Settings.tsx:250 msgid "Opens helpdesk in browser" msgstr "" @@ -7052,7 +7084,7 @@ msgstr "" msgid "Opens this draft in the composer" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:1027 +#: src/view/com/notifications/NotificationFeedItem.tsx:1017 #: src/view/com/util/UserAvatar.tsx:598 msgid "Opens this profile" msgstr "" @@ -7091,7 +7123,7 @@ msgstr "" msgid "Other" msgstr "" -#: src/components/AccountList.tsx:94 +#: src/components/AccountList.tsx:93 msgid "Other account" msgstr "" @@ -7147,8 +7179,8 @@ msgid "Page Not Found" msgstr "" #: src/screens/Login/LoginForm.tsx:228 -#: src/screens/Settings/AccountSettings.tsx:122 #: src/screens/Settings/AccountSettings.tsx:126 +#: src/screens/Settings/AccountSettings.tsx:130 #: src/screens/Settings/components/DeleteAccountDialog.tsx:291 #: src/screens/Signup/StepInfo/index.tsx:259 msgid "Password" @@ -7190,12 +7222,12 @@ msgid "People" msgstr "" #. placeholder {0}: route.params.name -#: src/Navigation.tsx:241 +#: src/Navigation.tsx:242 msgid "People followed by @{0}" msgstr "" #. placeholder {0}: route.params.name -#: src/Navigation.tsx:234 +#: src/Navigation.tsx:235 msgid "People following @{0}" msgstr "" @@ -7518,10 +7550,10 @@ msgid "Post blocked" msgstr "" #. placeholder {0}: route.params.name -#: src/Navigation.tsx:267 -#: src/Navigation.tsx:274 -#: src/Navigation.tsx:281 -#: src/Navigation.tsx:288 +#: src/Navigation.tsx:268 +#: src/Navigation.tsx:275 +#: src/Navigation.tsx:282 +#: src/Navigation.tsx:289 msgid "Post by @{0}" msgstr "" @@ -7555,7 +7587,7 @@ msgstr "" msgid "Post interaction settings" msgstr "" -#: src/Navigation.tsx:201 +#: src/Navigation.tsx:202 #: src/screens/ModerationInteractionSettings/index.tsx:35 msgid "Post Interaction Settings" msgstr "" @@ -7650,13 +7682,13 @@ msgstr "" msgid "Privacy" msgstr "" -#: src/screens/Settings/Settings.tsx:187 -#: src/screens/Settings/Settings.tsx:190 +#: src/screens/Settings/Settings.tsx:183 +#: src/screens/Settings/Settings.tsx:186 msgid "Privacy and security" msgstr "" -#: src/Navigation.tsx:410 -#: src/Navigation.tsx:418 +#: src/Navigation.tsx:419 +#: src/Navigation.tsx:427 #: src/screens/Settings/ActivityPrivacySettings.tsx:41 #: src/screens/Settings/PrivacyAndSecuritySettings.tsx:45 msgid "Privacy and Security" @@ -7669,12 +7701,12 @@ msgstr "" #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:36 #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:103 -#: src/Navigation.tsx:334 +#: src/Navigation.tsx:335 #: src/screens/Settings/AboutSettings.tsx:91 #: src/screens/Settings/AboutSettings.tsx:94 #: src/view/screens/PrivacyPolicy.tsx:35 -#: src/view/shell/Drawer.tsx:707 -#: src/view/shell/Drawer.tsx:708 +#: src/view/shell/Drawer.tsx:695 +#: src/view/shell/Drawer.tsx:696 msgid "Privacy Policy" msgstr "" @@ -7701,8 +7733,8 @@ msgstr "" #: src/view/shell/bottom-bar/BottomBar.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:786 -#: src/view/shell/Drawer.tsx:80 -#: src/view/shell/Drawer.tsx:599 +#: src/view/shell/Drawer.tsx:78 +#: src/view/shell/Drawer.tsx:587 msgid "Profile" msgstr "" @@ -7723,7 +7755,7 @@ msgstr "" msgid "Promoting or selling prohibited items or services" msgstr "" -#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:163 +#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:165 msgid "Psst! You can edit who can interact with this post." msgstr "" @@ -7779,7 +7811,7 @@ msgstr "" msgid "QR code saved to your camera roll!" msgstr "" -#: src/Navigation.tsx:455 +#: src/Navigation.tsx:464 msgid "Quote notifications" msgstr "" @@ -7813,7 +7845,7 @@ msgstr "" msgid "Quotes" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:471 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:475 msgid "Quotes of this post" msgstr "" @@ -7904,7 +7936,7 @@ msgstr "" msgid "Receive push notifications" msgstr "" -#: src/screens/Search/components/SearchHistory.tsx:50 +#: src/screens/Search/components/SearchHistory.tsx:49 msgid "Recent searches" msgstr "Recent searches" @@ -7943,7 +7975,7 @@ msgstr "" #: src/components/StarterPack/Wizard/WizardListCard.tsx:113 #: src/screens/Bookmarks/index.tsx:268 #: src/screens/Moderation/index.tsx:486 -#: src/screens/Settings/Settings.tsx:683 +#: src/screens/Settings/Settings.tsx:676 #: src/view/com/modals/UserAddRemoveLists.tsx:236 #: src/view/com/posts/PostFeedErrorMessage.tsx:221 msgid "Remove" @@ -7953,12 +7985,12 @@ msgstr "" msgid "Remove {displayName} from starter pack" msgstr "" -#: src/screens/Search/components/SearchHistory.tsx:106 +#: src/screens/Search/components/SearchHistory.tsx:105 msgid "Remove {historyItem}" msgstr "" -#: src/screens/Settings/Settings.tsx:662 -#: src/screens/Settings/Settings.tsx:665 +#: src/screens/Settings/Settings.tsx:655 +#: src/screens/Settings/Settings.tsx:658 msgid "Remove account" msgstr "" @@ -8007,7 +8039,7 @@ msgstr "" msgid "Remove from my feeds" msgstr "" -#: src/screens/Settings/Settings.tsx:675 +#: src/screens/Settings/Settings.tsx:668 msgid "Remove from quick access?" msgstr "" @@ -8025,7 +8057,7 @@ msgstr "" msgid "Remove from your feeds?" msgstr "" -#: src/view/com/composer/photos/Gallery.tsx:216 +#: src/view/com/composer/photos/Gallery.tsx:222 msgid "Remove image" msgstr "" @@ -8038,7 +8070,7 @@ msgstr "" msgid "Remove mute word from your list" msgstr "" -#: src/screens/Search/components/SearchHistory.tsx:179 +#: src/screens/Search/components/SearchHistory.tsx:170 msgid "Remove profile" msgstr "" @@ -8191,7 +8223,7 @@ msgstr "" msgid "Reply Hidden by You" msgstr "" -#: src/Navigation.tsx:439 +#: src/Navigation.tsx:448 msgid "Reply notifications" msgstr "" @@ -8313,7 +8345,7 @@ msgstr "" msgid "Repost ({0, plural, one {# repost} other {# reposts}})" msgstr "" -#: src/Navigation.tsx:471 +#: src/Navigation.tsx:480 msgid "Repost notifications" msgstr "" @@ -8344,7 +8376,7 @@ msgstr "" msgid "Reposts" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:451 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:455 msgid "Reposts of this post" msgstr "" @@ -8354,7 +8386,7 @@ msgstr "" msgid "Reposts of your reposts" msgstr "" -#: src/Navigation.tsx:495 +#: src/Navigation.tsx:504 msgid "Reposts of your reposts notifications" msgstr "" @@ -8409,8 +8441,8 @@ msgstr "" msgid "Resend Verification Email" msgstr "" -#: src/screens/Settings/Settings.tsx:499 -#: src/screens/Settings/Settings.tsx:501 +#: src/screens/Settings/Settings.tsx:492 +#: src/screens/Settings/Settings.tsx:494 msgid "Reset activity subscription nudge" msgstr "" @@ -8418,8 +8450,8 @@ msgstr "" msgid "Reset code" msgstr "" -#: src/screens/Settings/Settings.tsx:484 -#: src/screens/Settings/Settings.tsx:486 +#: src/screens/Settings/Settings.tsx:477 +#: src/screens/Settings/Settings.tsx:479 msgid "Reset onboarding state" msgstr "" @@ -8509,8 +8541,8 @@ msgstr "" #: src/screens/SavedFeeds.tsx:130 #: src/screens/SavedFeeds.tsx:326 #: src/screens/Settings/components/ChangeHandleDialog.tsx:269 -#: src/view/com/composer/GifAltText.tsx:194 -#: src/view/com/composer/GifAltText.tsx:203 +#: src/view/com/composer/GifAltText.tsx:199 +#: src/view/com/composer/GifAltText.tsx:208 #: src/view/com/composer/photos/EditImageDialog.web.tsx:63 #: src/view/com/composer/photos/EditImageDialog.web.tsx:76 #: src/view/com/composer/photos/ImageAltTextDialog.tsx:163 @@ -8577,7 +8609,7 @@ msgid "Save to my feeds" msgstr "" #: src/view/shell/desktop/LeftNav.tsx:764 -#: src/view/shell/Drawer.tsx:574 +#: src/view/shell/Drawer.tsx:562 msgctxt "link to bookmarks screen" msgid "Saved" msgstr "" @@ -8588,7 +8620,7 @@ msgid "Saved Feeds" msgstr "" #: src/components/dialogs/nuxs/BookmarksAnnouncement.tsx:144 -#: src/Navigation.tsx:619 +#: src/Navigation.tsx:628 #: src/screens/Bookmarks/index.tsx:62 msgid "Saved Posts" msgstr "" @@ -8600,8 +8632,8 @@ msgstr "" #: src/components/dms/ChatEmptyPill.tsx:33 #: src/components/NewskieDialog.tsx:140 -#: src/view/com/notifications/NotificationFeedItem.tsx:872 -#: src/view/com/notifications/NotificationFeedItem.tsx:897 +#: src/view/com/notifications/NotificationFeedItem.tsx:865 +#: src/view/com/notifications/NotificationFeedItem.tsx:890 msgid "Say hello!" msgstr "" @@ -8636,7 +8668,7 @@ msgstr "" #. placeholder {0}: profile.handle #. placeholder {0}: route.params.name -#: src/Navigation.tsx:260 +#: src/Navigation.tsx:261 #: src/screens/Profile/ProfileSearch.tsx:37 msgid "Search @{0}'s posts" msgstr "" @@ -8967,7 +8999,7 @@ msgstr "" msgid "Send email" msgstr "" -#: src/view/shell/Drawer.tsx:364 +#: src/view/shell/Drawer.tsx:352 msgid "Send feedback" msgstr "" @@ -8976,7 +9008,7 @@ msgstr "" msgid "Send message" msgstr "" -#: src/components/PostControls/ShareMenu/RecentChats.tsx:123 +#: src/components/PostControls/ShareMenu/RecentChats.tsx:121 msgid "Send post to {name}" msgstr "" @@ -9042,10 +9074,10 @@ msgstr "" msgid "Sets email for password reset" msgstr "" -#: src/Navigation.tsx:216 -#: src/screens/Settings/Settings.tsx:104 +#: src/Navigation.tsx:217 +#: src/screens/Settings/Settings.tsx:100 #: src/view/shell/desktop/LeftNav.tsx:804 -#: src/view/shell/Drawer.tsx:612 +#: src/view/shell/Drawer.tsx:600 msgid "Settings" msgstr "" @@ -9187,7 +9219,7 @@ msgstr "" msgid "Share your favorite feed!" msgstr "" -#: src/Navigation.tsx:319 +#: src/Navigation.tsx:320 msgid "Shared Preferences Tester" msgstr "" @@ -9209,6 +9241,11 @@ msgstr "" msgid "Show anyway" msgstr "" +#: src/screens/Settings/AutomationLabelSettings.tsx:181 +#: src/screens/Settings/AutomationLabelSettings.tsx:194 +msgid "Show automation label" +msgstr "Show automation label" + #: src/lib/moderation/useLabelBehaviorDescription.ts:30 #: src/lib/moderation/useLabelBehaviorDescription.ts:66 msgid "Show badge" @@ -9299,11 +9336,11 @@ msgstr "" msgid "Show when you’re live" msgstr "" -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:599 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:603 msgid "Shows information about when this post was created" msgstr "" -#: src/screens/Settings/Settings.tsx:130 +#: src/screens/Settings/Settings.tsx:126 msgid "Shows other accounts you can switch to" msgstr "" @@ -9337,7 +9374,7 @@ msgid "Sign in" msgstr "" #. placeholder {0}: account.handle -#: src/components/AccountList.tsx:137 +#: src/components/AccountList.tsx:135 msgid "Sign in as {0}" msgstr "" @@ -9354,7 +9391,7 @@ msgstr "" msgid "Sign in or create your account to join the conversation!" msgstr "" -#: src/components/AccountList.tsx:71 +#: src/components/AccountList.tsx:70 msgid "Sign in to account that is not listed" msgstr "" @@ -9367,9 +9404,9 @@ msgstr "" msgid "Sign in to view post" msgstr "" -#: src/screens/Settings/Settings.tsx:271 -#: src/screens/Settings/Settings.tsx:273 -#: src/screens/Settings/Settings.tsx:305 +#: src/screens/Settings/Settings.tsx:267 +#: src/screens/Settings/Settings.tsx:269 +#: src/screens/Settings/Settings.tsx:301 #: src/screens/SignupQueued.tsx:94 #: src/screens/SignupQueued.tsx:97 #: src/screens/Takendown.tsx:88 @@ -9383,7 +9420,7 @@ msgstr "" msgid "Sign Out" msgstr "" -#: src/screens/Settings/Settings.tsx:302 +#: src/screens/Settings/Settings.tsx:298 #: src/view/shell/desktop/LeftNav.tsx:210 msgid "Sign out?" msgstr "" @@ -9469,7 +9506,7 @@ msgstr "" #. placeholder {0}: convo.lastReaction.reaction.value #. placeholder {1}: lastMessageText ? `"${convo.lastReaction.message.text}"` : fallbackMessage -#: src/screens/Messages/components/ChatListItem.tsx:244 +#: src/screens/Messages/components/ChatListItem.tsx:240 msgid "Someone reacted {0} to {1}" msgstr "" @@ -9549,7 +9586,7 @@ msgstr "" msgid "Sports" msgstr "" -#: src/components/PostControls/ShareMenu/RecentChats.tsx:208 +#: src/components/PostControls/ShareMenu/RecentChats.tsx:199 msgid "Start a conversation, and it will appear here." msgstr "" @@ -9571,8 +9608,8 @@ msgstr "" msgid "Start chat with {displayName}" msgstr "" -#: src/Navigation.tsx:590 -#: src/Navigation.tsx:595 +#: src/Navigation.tsx:599 +#: src/Navigation.tsx:604 #: src/screens/StarterPack/Wizard/index.tsx:208 msgid "Starter Pack" msgstr "" @@ -9626,7 +9663,7 @@ msgstr "" msgid "Step {0} of {1}" msgstr "" -#: src/screens/Settings/Settings.tsx:410 +#: src/screens/Settings/Settings.tsx:403 msgid "Storage cleared, you need to restart the app now." msgstr "" @@ -9634,8 +9671,8 @@ msgstr "" msgid "Stored as part of a secure code for matching with others" msgstr "" -#: src/Navigation.tsx:309 -#: src/screens/Settings/Settings.tsx:465 +#: src/Navigation.tsx:310 +#: src/screens/Settings/Settings.tsx:458 msgid "Storybook" msgstr "" @@ -9732,7 +9769,7 @@ msgctxt "Name of app icon variant" msgid "Sunset" msgstr "" -#: src/Navigation.tsx:329 +#: src/Navigation.tsx:330 #: src/view/screens/Support.tsx:35 #: src/view/screens/Support.tsx:38 msgid "Support" @@ -9744,9 +9781,9 @@ msgstr "" #: src/components/dialogs/SwitchAccount.tsx:47 #: src/components/dialogs/SwitchAccount.tsx:50 -#: src/screens/Settings/Settings.tsx:128 -#: src/screens/Settings/Settings.tsx:142 -#: src/screens/Settings/Settings.tsx:623 +#: src/screens/Settings/Settings.tsx:124 +#: src/screens/Settings/Settings.tsx:138 +#: src/screens/Settings/Settings.tsx:616 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "Switch account" msgstr "" @@ -9770,7 +9807,7 @@ msgstr "" #: src/screens/Log.tsx:57 #: src/screens/Settings/AboutSettings.tsx:106 #: src/screens/Settings/AboutSettings.tsx:109 -#: src/screens/Settings/Settings.tsx:458 +#: src/screens/Settings/Settings.tsx:451 msgid "System log" msgstr "" @@ -9848,12 +9885,12 @@ msgstr "" #: src/components/dialogs/BirthDateSettings.tsx:183 #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:31 #: src/components/PolicyUpdateOverlay/updates/202508/index.tsx:98 -#: src/Navigation.tsx:339 +#: src/Navigation.tsx:340 #: src/screens/Settings/AboutSettings.tsx:83 #: src/screens/Settings/AboutSettings.tsx:86 #: src/view/screens/TermsOfService.tsx:35 -#: src/view/shell/Drawer.tsx:700 -#: src/view/shell/Drawer.tsx:702 +#: src/view/shell/Drawer.tsx:688 +#: src/view/shell/Drawer.tsx:690 msgid "Terms of Service" msgstr "" @@ -10144,6 +10181,10 @@ msgstr "" msgid "This account has a checkmark because it's been verified by trusted sources." msgstr "" +#: src/components/BotAccountAlert.tsx:27 +msgid "This account has been marked as automated by its owner." +msgstr "This account has been marked as automated by its owner." + #: src/components/verification/VerificationsDialog.tsx:94 msgid "This account has one or more attempted verifications, but it is not currently verified." msgstr "" @@ -10212,7 +10253,7 @@ msgstr "" msgid "This content is not viewable without a Bluesky account." msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:366 +#: src/screens/Messages/components/ChatListItem.tsx:362 msgid "This conversation is with a deleted or a deactivated account. Press for options" msgstr "" @@ -10279,6 +10320,10 @@ msgstr "" msgid "This is not a valid link" msgstr "" +#: src/screens/Settings/AutomationLabelSettings.tsx:169 +msgid "This label lets the world know that this account is automated. If turned on, this label appears next to the account's name on their profile and posts. It can be turned on or off at any time." +msgstr "This label lets the world know that this account is automated. If turned on, this label appears next to the account's name on their profile and posts. It can be turned on or off at any time." + #: src/components/moderation/ModerationDetailsDialog.tsx:171 msgid "This label was applied by the author." msgstr "" @@ -10314,7 +10359,7 @@ msgstr "" #. placeholder {0}: niceDate(i18n, createdAt) #. placeholder {1}: niceDate(i18n, indexedAt) -#: src/screens/PostThread/components/ThreadItemAnchor.tsx:639 +#: src/screens/PostThread/components/ThreadItemAnchor.tsx:643 msgid "This post claims to have been created on <0>{0}, but was first seen by Bluesky on <1>{1}." msgstr "" @@ -10415,7 +10460,7 @@ msgid "This will irreversibly delete your Bluesky account <0>{currentHandle} msgstr "" #. placeholder {0}: account.handle -#: src/screens/Settings/Settings.tsx:677 +#: src/screens/Settings/Settings.tsx:670 msgid "This will remove @{0} from the quick access list." msgstr "" @@ -10442,7 +10487,7 @@ msgstr "" msgid "Threaded" msgstr "" -#: src/Navigation.tsx:372 +#: src/Navigation.tsx:373 msgid "Threads Preferences" msgstr "" @@ -10510,7 +10555,7 @@ msgstr "" msgid "Top replies first" msgstr "" -#: src/Navigation.tsx:555 +#: src/Navigation.tsx:564 msgid "Topic" msgstr "" @@ -10622,11 +10667,11 @@ msgstr "" msgid "Unable to resolve handle" msgstr "" -#: src/screens/Settings/Settings.tsx:524 +#: src/screens/Settings/Settings.tsx:517 msgid "Unapply Pull Request" msgstr "" -#: src/screens/Settings/Settings.tsx:526 +#: src/screens/Settings/Settings.tsx:519 msgid "Unapply Pull Request {currentChannel}" msgstr "" @@ -10831,8 +10876,8 @@ msgstr "" msgid "Unpinned list" msgstr "" -#: src/screens/Settings/Settings.tsx:491 -#: src/screens/Settings/Settings.tsx:493 +#: src/screens/Settings/Settings.tsx:484 +#: src/screens/Settings/Settings.tsx:486 msgid "Unsnooze email reminder" msgstr "" @@ -10868,8 +10913,8 @@ msgstr "" #: src/components/dialogs/EmailDialog/screens/Update.tsx:301 #: src/components/dialogs/EmailDialog/screens/Update.tsx:313 -#: src/screens/Settings/AccountSettings.tsx:108 -#: src/screens/Settings/AccountSettings.tsx:116 +#: src/screens/Settings/AccountSettings.tsx:112 +#: src/screens/Settings/AccountSettings.tsx:120 msgid "Update email" msgstr "" @@ -11069,7 +11114,7 @@ msgstr "" msgid "Verification settings" msgstr "" -#: src/Navigation.tsx:209 +#: src/Navigation.tsx:210 #: src/screens/Moderation/VerificationSettings.tsx:34 msgid "Verification Settings" msgstr "" @@ -11142,8 +11187,8 @@ msgid "Verify your age" msgstr "" #: src/components/dialogs/EmailDialog/screens/Verify.tsx:212 -#: src/screens/Settings/AccountSettings.tsx:82 -#: src/screens/Settings/AccountSettings.tsx:102 +#: src/screens/Settings/AccountSettings.tsx:86 +#: src/screens/Settings/AccountSettings.tsx:106 msgid "Verify your email" msgstr "" @@ -11176,7 +11221,7 @@ msgstr "" msgid "Video failed to process" msgstr "" -#: src/Navigation.tsx:611 +#: src/Navigation.tsx:620 msgid "Video Feed" msgstr "" @@ -11244,20 +11289,20 @@ msgstr "" #: src/screens/Profile/components/ProfileFeedHeader.tsx:459 #: src/screens/Search/components/SearchProfileCard.tsx:36 #: src/screens/VideoFeed/index.tsx:813 -#: src/view/com/notifications/NotificationFeedItem.tsx:609 +#: src/view/com/notifications/NotificationFeedItem.tsx:602 msgid "View {0}'s profile" msgstr "" #. placeholder {0}: profile.displayName || sanitizeHandle(profile.handle) -#: src/components/ProfileCard.tsx:149 +#: src/components/ProfileCard.tsx:148 msgid "View {0}’s profile" msgstr "View {0}’s profile" -#: src/components/dms/MessagesListHeader.tsx:142 +#: src/components/dms/MessagesListHeader.tsx:138 msgid "View {displayName}'s profile" msgstr "" -#: src/components/ProfileHoverCard/index.web.tsx:481 +#: src/components/ProfileHoverCard/index.web.tsx:479 msgid "View blocked user's profile" msgstr "" @@ -11278,7 +11323,7 @@ msgstr "" msgid "View full thread" msgstr "" -#: src/components/moderation/LabelsOnMe.tsx:52 +#: src/components/moderation/LabelsOnMe.tsx:56 msgid "View information about these labels" msgstr "" @@ -11297,12 +11342,12 @@ msgstr "" msgid "View post" msgstr "" -#: src/components/ProfileHoverCard/index.web.tsx:467 -#: src/components/ProfileHoverCard/index.web.tsx:487 -#: src/components/ProfileHoverCard/index.web.tsx:514 +#: src/components/ProfileHoverCard/index.web.tsx:465 +#: src/components/ProfileHoverCard/index.web.tsx:485 +#: src/components/ProfileHoverCard/index.web.tsx:512 #: src/view/com/posts/PostFeedErrorMessage.tsx:183 -#: src/view/com/util/PostMeta.tsx:94 -#: src/view/com/util/PostMeta.tsx:131 +#: src/view/com/util/PostMeta.tsx:92 +#: src/view/com/util/PostMeta.tsx:119 msgid "View profile" msgstr "" @@ -11319,7 +11364,7 @@ msgstr "" msgid "View the labeling service provided by @{0}" msgstr "" -#: src/components/verification/VerificationCheckButton.tsx:100 +#: src/components/verification/VerificationCheckButton.tsx:93 msgid "View this user's verifications" msgstr "" @@ -11352,7 +11397,7 @@ msgstr "" msgid "View your muted accounts" msgstr "" -#: src/components/verification/VerificationCheckButton.tsx:99 +#: src/components/verification/VerificationCheckButton.tsx:92 msgid "View your verifications" msgstr "" @@ -11953,6 +11998,10 @@ msgstr "" msgid "You have hidden this post." msgstr "" +#: src/components/BotAccountAlert.tsx:26 +msgid "You have marked this account as automated. You can remove it at any time from your account settings." +msgstr "You have marked this account as automated. You can remove it at any time from your account settings." + #: src/components/moderation/ModerationDetailsDialog.tsx:107 #: src/lib/moderation/useModerationCauseDescription.ts:100 msgid "You have muted this account." @@ -12077,7 +12126,7 @@ msgstr "" msgid "You previously deactivated @{0}." msgstr "" -#: src/screens/Settings/Settings.tsx:421 +#: src/screens/Settings/Settings.tsx:414 msgid "You probably want to restart the app now." msgstr "" @@ -12088,7 +12137,7 @@ msgstr "" #. placeholder {0}: convo.lastReaction.reaction.value #. placeholder {1}: lastMessageText ? `"${convo.lastReaction.message.text}"` : fallbackMessage -#: src/screens/Messages/components/ChatListItem.tsx:221 +#: src/screens/Messages/components/ChatListItem.tsx:217 msgid "You reacted {0} to {1}" msgstr "" @@ -12097,7 +12146,7 @@ msgstr "" msgid "You recently changed your birthdate" msgstr "" -#: src/screens/Settings/Settings.tsx:303 +#: src/screens/Settings/Settings.tsx:299 #: src/view/shell/desktop/LeftNav.tsx:211 msgid "You will be signed out of all your accounts." msgstr "" @@ -12120,15 +12169,15 @@ msgid "You will receive an email with a \"reset code.\" Enter that code here, th msgstr "" #. placeholder {0}: convo.lastMessage.text -#: src/screens/Messages/components/ChatListItem.tsx:157 +#: src/screens/Messages/components/ChatListItem.tsx:153 msgid "You: {0}" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:186 +#: src/screens/Messages/components/ChatListItem.tsx:182 msgid "You: {defaultEmbeddedContentMessage}" msgstr "" -#: src/screens/Messages/components/ChatListItem.tsx:179 +#: src/screens/Messages/components/ChatListItem.tsx:175 msgid "You: {short}" msgstr "" @@ -12264,11 +12313,11 @@ msgstr "" msgid "Your choice will be remembered for future links. You can change it at any time in settings." msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:374 +#: src/view/com/notifications/NotificationFeedItem.tsx:367 msgid "Your contact {firstAuthorLink} is on Bluesky" msgstr "" -#: src/view/com/notifications/NotificationFeedItem.tsx:372 +#: src/view/com/notifications/NotificationFeedItem.tsx:365 msgid "Your contact {firstAuthorName} is on Bluesky" msgstr "" @@ -12319,7 +12368,7 @@ msgstr "" msgid "Your full handle will be <0>@{0}" msgstr "" -#: src/Navigation.tsx:527 +#: src/Navigation.tsx:536 #: src/screens/Search/modules/ExploreInterestsCard.tsx:68 #: src/screens/Settings/ContentAndMediaSettings.tsx:94 #: src/screens/Settings/ContentAndMediaSettings.tsx:97 -- 2.51.2 From 0937f522aff66369cbcc6f054751ed4fc1c35ee3 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Wed, 11 Mar 2026 11:46:27 -0500 Subject: [PATCH 15/29] Serve og:video tags on post URLs (#10039) --- bskyweb/cmd/bskyweb/server.go | 16 ++++++++++++++++ bskyweb/templates/post.html | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go index 9c10827a8..0f31230f4 100644 --- a/bskyweb/cmd/bskyweb/server.go +++ b/bskyweb/cmd/bskyweb/server.go @@ -590,6 +590,14 @@ func (srv *Server) WebPost(c echo.Context) error { if postView.Embed.EmbedVideo_View.Thumbnail != nil { data["imgThumbUrls"] = []string{*postView.Embed.EmbedVideo_View.Thumbnail} } + if postView.Embed.EmbedVideo_View.Playlist != "" { + data["videoUrl"] = postView.Embed.EmbedVideo_View.Playlist + data["videoType"] = "application/vnd.apple.mpegurl" + if postView.Embed.EmbedVideo_View.AspectRatio != nil { + data["videoWidth"] = postView.Embed.EmbedVideo_View.AspectRatio.Width + data["videoHeight"] = postView.Embed.EmbedVideo_View.AspectRatio.Height + } + } } else if hasMediaImages { var thumbUrls []string for i := range postView.Embed.EmbedRecordWithMedia_View.Media.EmbedImages_View.Images { @@ -600,6 +608,14 @@ func (srv *Server) WebPost(c echo.Context) error { if postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Thumbnail != nil { data["imgThumbUrls"] = []string{*postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Thumbnail} } + if postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Playlist != "" { + data["videoUrl"] = postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Playlist + data["videoType"] = "application/vnd.apple.mpegurl" + if postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.AspectRatio != nil { + data["videoWidth"] = postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.AspectRatio.Width + data["videoHeight"] = postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.AspectRatio.Height + } + } } } diff --git a/bskyweb/templates/post.html b/bskyweb/templates/post.html index 0a94f8c5b..3e9fb59e1 100644 --- a/bskyweb/templates/post.html +++ b/bskyweb/templates/post.html @@ -34,6 +34,14 @@ {% endfor %} + {%- if videoUrl %} + + + {%- if videoWidth %} + + + {% endif -%} + {% endif -%} {% else %} -- 2.51.2 From 850e6e6f520b8638000bb07d9d9898178566cbe5 Mon Sep 17 00:00:00 2001 From: DS Boyce <260543580+ds-boyce@users.noreply.github.com> Date: Wed, 11 Mar 2026 11:30:33 -0700 Subject: [PATCH 16/29] Add new metrics for post menu interactions (#10022) Co-authored-by: Eric Bailey --- src/analytics/metrics/types.ts | 35 ++++++++++++++++ .../PostControls/PostMenu/PostMenuItems.tsx | 41 ++++++++++++++++++- src/state/queries/profile.ts | 6 +++ 3 files changed, 81 insertions(+), 1 deletion(-) diff --git a/src/analytics/metrics/types.ts b/src/analytics/metrics/types.ts index d3d5d88f9..ff6219ad6 100644 --- a/src/analytics/metrics/types.ts +++ b/src/analytics/metrics/types.ts @@ -470,6 +470,10 @@ export type Events = { profileDid: string position?: number } + 'profile:mute': {} + 'profile:unmute': {} + 'profile:block': {} + 'profile:unblock': {} 'suggestedUser:follow': { logContext: | 'Explore' @@ -719,6 +723,37 @@ export type Events = { targetLanguage: string } + 'postMenu:openMuteWordsDialog': { + uri: string + authorDid: string + logContext: 'FeedItem' | 'PostThreadItem' | 'Post' | 'ImmersiveVideo' + feedDescriptor?: string + } + 'postMenu:muteAccount': { + uri: string + authorDid: string + logContext: 'FeedItem' | 'PostThreadItem' | 'Post' | 'ImmersiveVideo' + feedDescriptor?: string + } + 'postMenu:unmuteAccount': { + uri: string + authorDid: string + logContext: 'FeedItem' | 'PostThreadItem' | 'Post' | 'ImmersiveVideo' + feedDescriptor?: string + } + 'postMenu:blockAccount': { + uri: string + authorDid: string + logContext: 'FeedItem' | 'PostThreadItem' | 'Post' | 'ImmersiveVideo' + feedDescriptor?: string + } + 'postMenu:reportPost': { + uri: string + authorDid: string + logContext: 'FeedItem' | 'PostThreadItem' | 'Post' | 'ImmersiveVideo' + feedDescriptor?: string + } + 'verification:create': {} 'verification:revoke': {} 'verification:badge:click': {} diff --git a/src/components/PostControls/PostMenu/PostMenuItems.tsx b/src/components/PostControls/PostMenu/PostMenuItems.tsx index 9f10838ef..d2d0d9ad5 100644 --- a/src/components/PostControls/PostMenu/PostMenuItems.tsx +++ b/src/components/PostControls/PostMenu/PostMenuItems.tsx @@ -251,6 +251,16 @@ let PostMenuItems = ({ } } + const onToggleWordsAndTagsMute = () => { + ax.metric('postMenu:openMuteWordsDialog', { + uri: postUri, + authorDid: postAuthor.did, + logContext, + feedDescriptor: feedFeedback.feedDescriptor, + }) + mutedWordsDialogControl.open() + } + const onCopyPostText = () => { const str = richTextToString(richText, true) @@ -426,6 +436,13 @@ let PostMenuItems = ({ logger.error('Failed to block account', {message: e}) Toast.show(l`There was an issue! ${e.toString()}`, 'xmark') } + } finally { + ax.metric('postMenu:blockAccount', { + uri: postUri, + authorDid: postAuthor.did, + logContext, + feedDescriptor: feedFeedback.feedDescriptor, + }) } } @@ -440,6 +457,13 @@ let PostMenuItems = ({ logger.error('Failed to unmute account', {message: e}) Toast.show(l`There was an issue! ${e.toString()}`, 'xmark') } + } finally { + ax.metric('postMenu:unmuteAccount', { + uri: postUri, + authorDid: postAuthor.did, + logContext, + feedDescriptor: feedFeedback.feedDescriptor, + }) } } else { try { @@ -451,6 +475,13 @@ let PostMenuItems = ({ logger.error('Failed to mute account', {message: e}) Toast.show(l`There was an issue! ${e.toString()}`, 'xmark') } + } finally { + ax.metric('postMenu:muteAccount', { + uri: postUri, + authorDid: postAuthor.did, + logContext, + feedDescriptor: feedFeedback.feedDescriptor, + }) } } } @@ -601,7 +632,7 @@ let PostMenuItems = ({ mutedWordsDialogControl.open()}> + onPress={onToggleWordsAndTagsMute}> {l`Mute words & tags`} @@ -785,6 +816,14 @@ let PostMenuItems = ({ ...post, $type: 'app.bsky.feed.defs#postView', }} + onAfterSubmit={() => { + ax.metric('postMenu:reportPost', { + uri: postUri, + authorDid: postAuthor.did, + logContext, + feedDescriptor: feedFeedback.feedDescriptor, + }) + }} /> , ) { + const ax = useAnalytics() const queryClient = useQueryClient() const did = profile.did const initialMuted = profile.viewer?.muted @@ -430,11 +431,13 @@ export function useProfileMuteMutationQueue( await muteMutation.mutateAsync({ did, }) + ax.metric('profile:mute', {}) return true } else { await unmuteMutation.mutateAsync({ did, }) + ax.metric('profile:unmute', {}) return false } }, @@ -492,6 +495,7 @@ function useProfileUnmuteMutation() { export function useProfileBlockMutationQueue( profile: Shadow, ) { + const ax = useAnalytics() const queryClient = useQueryClient() const did = profile.did const initialBlockingUri = profile.viewer?.blocking @@ -505,6 +509,7 @@ export function useProfileBlockMutationQueue( const {uri} = await blockMutation.mutateAsync({ did, }) + ax.metric('profile:block', {}) return uri } else { if (prevBlockUri) { @@ -512,6 +517,7 @@ export function useProfileBlockMutationQueue( did, blockUri: prevBlockUri, }) + ax.metric('profile:unblock', {}) } return undefined } -- 2.51.2 From 0c7b2d53532d537c9ef5c65a500d6f47ab648bae Mon Sep 17 00:00:00 2001 From: heikadog <41552394+heikadog@users.noreply.github.com> Date: Wed, 11 Mar 2026 15:50:35 -0400 Subject: [PATCH 17/29] Update issue templates to take uploads, and fix typo (#10036) --- .github/ISSUE_TEMPLATE/bug_report.yml | 5 +++-- .github/ISSUE_TEMPLATE/bug_report_fabric.yml | 3 ++- .github/ISSUE_TEMPLATE/feature_request.yml | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 8938f92f4..a67a7b52e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,5 +1,5 @@ name: "Bug Report" -description: "Create a report for an issue you have experience in the app." +description: "Create a report for an issue you have experienced in the app." labels: ["bug"] body: - type: markdown @@ -19,13 +19,14 @@ body: 4. See error validations: required: true - - type: textarea + - type: upload attributes: label: Attachments description: | If possible, please provide any images or videos that may help us understand the issue you are experiencing. validations: required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.mp4,.mov,.webm" - type: dropdown attributes: label: What platform(s) does this occur on? diff --git a/.github/ISSUE_TEMPLATE/bug_report_fabric.yml b/.github/ISSUE_TEMPLATE/bug_report_fabric.yml index 65d14ce86..f8a1f5fbd 100644 --- a/.github/ISSUE_TEMPLATE/bug_report_fabric.yml +++ b/.github/ISSUE_TEMPLATE/bug_report_fabric.yml @@ -26,13 +26,14 @@ body: 4. See error validations: required: true - - type: textarea + - type: upload attributes: label: Attachments description: | If possible, please provide any images or videos that may help us understand the issue you are experiencing. validations: required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.mp4,.mov,.webm" - type: dropdown attributes: label: What platform(s) does this occur on? diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 975d029a9..ee9a56ccd 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -15,7 +15,7 @@ body: implement it in a timely manner. validations: required: true - - type: textarea + - type: upload attributes: label: Attachments description: | @@ -24,6 +24,7 @@ body: in or is missing from. validations: required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.mp4,.mov,.webm" - type: textarea attributes: label: Describe Alternatives -- 2.51.2 From 80429ec9025eff6222f73bcf59b99b1b2bc553ce Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 11 Mar 2026 23:44:19 +0200 Subject: [PATCH 18/29] =?UTF-8?q?Add=20=E2=80=9Cdownload=20image=E2=80=9D?= =?UTF-8?q?=20option=20to=20web,=20simplify=20downloads=20(#10025)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/media/manip.ts | 21 ++++++---- src/lib/media/manip.web.ts | 25 ++++++++---- src/lib/media/util.ts | 19 +++++++++ src/view/com/lightbox/Lightbox.web.tsx | 56 ++++++++++++++++++++++++++ src/view/com/util/UserAvatar.tsx | 5 +-- 5 files changed, 108 insertions(+), 18 deletions(-) diff --git a/src/lib/media/manip.ts b/src/lib/media/manip.ts index 0cc92f446..6d66fea48 100644 --- a/src/lib/media/manip.ts +++ b/src/lib/media/manip.ts @@ -22,6 +22,7 @@ import {logger} from '#/logger' import {IS_ANDROID, IS_IOS} from '#/env' import {type PickerImage} from './picker.shared' import {type Dimensions} from './types' +import {convertCdnPreset} from './util' export async function compressIfNeeded( img: PickerImage, @@ -94,14 +95,20 @@ export async function shareImageModal({uri}: {uri: string}) { const ALBUM_NAME = 'Bluesky' +/** + * Saves an image to the user's device. Uses the CDN's `download` preset + * which uses the JPEG version with the Content-Disposition header set to + * `attachment; filename=`. On native this saves to the media library; + * on web it triggers a browser download. + */ export async function saveImageToMediaLibrary({uri}: {uri: string}) { - const downloadedPath = await downloadImage(uri, String(uuid.v4()), 15e3) - const {uri: jpegUri} = await manipulateAsync(downloadedPath, [], { - format: SaveFormat.JPEG, - compress: 1.0, - }) - void safeDeleteAsync(downloadedPath) - const imagePath = await moveToPermanentPath(jpegUri, '.jpg') + const downloadUri = convertCdnPreset(uri, 'download') + const downloadedPath = await downloadImage( + downloadUri, + String(uuid.v4()), + 20e3, + ) + const imagePath = await moveToPermanentPath(downloadedPath, '.jpg') // save try { diff --git a/src/lib/media/manip.web.ts b/src/lib/media/manip.web.ts index 1f6d90ce3..8fa2b6a4f 100644 --- a/src/lib/media/manip.web.ts +++ b/src/lib/media/manip.web.ts @@ -1,8 +1,6 @@ -/// - import {type PickerImage} from './picker.shared' import {type Dimensions} from './types' -import {blobToDataUri, getDataUriSize} from './util' +import {blobToDataUri, convertCdnPreset, getDataUriSize} from './util' export async function compressIfNeeded( img: PickerImage, @@ -44,9 +42,17 @@ export async function shareImageModal(_opts: {uri: string}) { throw new Error('TODO') } -export async function saveImageToMediaLibrary(_opts: {uri: string}) { - // TODO - throw new Error('TODO') +/** + * Saves an image to the user's device. Uses the CDN's `download` preset + * which uses the JPEG version with the Content-Disposition header set to + * `attachment; filename=`. On native this saves to the media library; + * on web it triggers a browser download. + */ +export async function saveImageToMediaLibrary({uri}: {uri: string}) { + const downloadUri = convertCdnPreset(uri, 'download') + const segments = downloadUri.split('/') + const filename = `bluesky-${segments.at(-1)}.jpg` + downloadUrl(downloadUri, filename) } export async function getImageDim(path: string): Promise { @@ -162,17 +168,20 @@ export async function saveBytesToDisk( ) { const blob = new Blob([bytes], {type}) const url = URL.createObjectURL(blob) - await downloadUrl(url, filename) + downloadUrl(url, filename) // Firefox requires a small delay setTimeout(() => URL.revokeObjectURL(url), 100) return true } -async function downloadUrl(href: string, filename: string) { +function downloadUrl(href: string, filename: string) { const a = document.createElement('a') a.href = href a.download = filename + a.style.display = 'none' + document.body.appendChild(a) a.click() + document.body.removeChild(a) } export async function safeDeleteAsync() { diff --git a/src/lib/media/util.ts b/src/lib/media/util.ts index 36b342204..105c49066 100644 --- a/src/lib/media/util.ts +++ b/src/lib/media/util.ts @@ -26,3 +26,22 @@ export function blobToDataUri(blob: Blob): Promise { reader.readAsDataURL(blob) }) } + +export type ImgproxyPreset = + | 'default' + | 'avatar_thumbnail' + | 'avatar' + | 'banner' + | 'feed_fullsize' + | 'feed_thumbnail' + | 'download' + +const IMGPROXY_PRESET_RE = + /(?<=\/img\/)(default|avatar_thumbnail|avatar|banner|feed_fullsize|feed_thumbnail|download)(?=\/)/ + +/** + * Replaces any imgproxy preset in a CDN URI with the given preset. + */ +export function convertCdnPreset(uri: string, preset: ImgproxyPreset): string { + return uri.replace(IMGPROXY_PRESET_RE, preset) +} diff --git a/src/view/com/lightbox/Lightbox.web.tsx b/src/view/com/lightbox/Lightbox.web.tsx index c017f2423..ddfc4fd8b 100644 --- a/src/view/com/lightbox/Lightbox.web.tsx +++ b/src/view/com/lightbox/Lightbox.web.tsx @@ -3,9 +3,11 @@ import {Pressable, StyleSheet, View} from 'react-native' import {Image} from 'expo-image' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' +import {Trans} from '@lingui/react/macro' import {FocusGuards, FocusScope} from 'radix-ui/internal' import {RemoveScrollBar} from 'react-remove-scroll-bar' +import {saveImageToMediaLibrary} from '#/lib/media/manip' import {useA11y} from '#/state/a11y' import {useLightbox, useLightboxControls} from '#/state/lightbox' import { @@ -21,8 +23,12 @@ import { ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeftIcon, ChevronRight_Stroke2_Corner0_Rounded as ChevronRightIcon, } from '#/components/icons/Chevron' +import {DotGrid3x1_Stroke2_Corner0_Rounded as EllipsisIcon} from '#/components/icons/DotGrid' +import {Download_Stroke2_Corner0_Rounded as DownloadIcon} from '#/components/icons/Download' import {TimesLarge_Stroke2_Corner0_Rounded as XIcon} from '#/components/icons/Times' import {Loader} from '#/components/Loader' +import * as Menu from '#/components/Menu' +import * as Toast from '#/components/Toast' import {Text} from '#/components/Typography' import {type ImageSource} from './ImageViewing/@types' @@ -242,6 +248,52 @@ function LightboxGallery({ {_(msg`Image ${index + 1} of ${imgs.length}`)} )} + + + {({props}) => ( + + )} + + + + { + saveImageToMediaLibrary({uri: img.uri}).then( + () => { + Toast.show(_(msg`Image saved`)) + }, + () => { + Toast.show(_(msg`Failed to save image`), {type: 'error'}) + }, + ) + }}> + + Download image + + + + + +