my fork of the bluesky client

E2E 🟢 (#2092)

* Add logged out e2e ctrl, fix login test

* Fix log handling via env vars in expo

* Fix create account test

* Upgrade dev-env

* Fix home screen tests

* Fix composer tests

* Fix curate-lists tests, split in two

* Fix invite codes test

* Fix curate-lists tests

* Give up on mergefeed test

* Fix mod lists

* Fix app view url

* Fix profile tests

* Fix profile test with hack

* Keep using globals

* Fix two more

* Fix thread view

* Better skip for merge feed

* Revert debug code

authored by Eric Bailey and committed by GitHub 5f553c29 ed5a97d0

+3
.env.example
··· 1 SENTRY_AUTH_TOKEN= 2 EXPO_PUBLIC_LOG_LEVEL=debug 3 EXPO_PUBLIC_LOG_DEBUG=
··· 1 + # Copy this to `.env` and `.env.test` files 2 + 3 SENTRY_AUTH_TOKEN= 4 + EXPO_PUBLIC_ENV=development 5 EXPO_PUBLIC_LOG_LEVEL=debug 6 EXPO_PUBLIC_LOG_DEBUG=
+4
__e2e__/tests/composer.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer, sleep} from '../util' 4 5 describe('Composer', () => { ··· 45 }) 46 47 it('Reply text only', async () => { 48 const post = by.id('feedItem-by-alice.test') 49 await element(by.id('replyBtn').withAncestor(post)).atIndex(0).tap() 50 await element(by.id('composerTextInput')).typeText('Reply text only')
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer, sleep} from '../util' 6 7 describe('Composer', () => { ··· 47 }) 48 49 it('Reply text only', async () => { 50 + await element(by.id('e2eRefreshHome')).tap() 51 + 52 const post = by.id('feedItem-by-alice.test') 53 await element(by.id('replyBtn').withAncestor(post)).atIndex(0).tap() 54 await element(by.id('composerTextInput')).typeText('Reply text only')
+10
__e2e__/tests/create-account.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, createServer} from '../util' 4 5 describe('Create account', () => { ··· 10 }) 11 12 it('I can create a new account', async () => { 13 await element(by.id('createAccountButton')).tap() 14 await device.takeScreenshot('1- opened create account screen') 15 await element(by.id('otherServerBtn')).tap() ··· 17 await element(by.id('customServerInput')).clearText() 18 await element(by.id('customServerInput')).typeText(service) 19 await device.takeScreenshot('3- input test server URL') 20 await element(by.id('nextBtn')).tap() 21 await element(by.id('emailInput')).typeText('example@test.com') 22 await element(by.id('passwordInput')).typeText('hunter2') 23 await device.takeScreenshot('4- entered account details') 24 await element(by.id('nextBtn')).tap() 25 await element(by.id('handleInput')).typeText('e2e-test') 26 await device.takeScreenshot('4- entered handle') 27 await element(by.id('nextBtn')).tap() 28 await expect(element(by.id('welcomeOnboarding'))).toBeVisible() 29 await element(by.id('continueBtn')).tap() 30 await expect(element(by.id('recommendedFeedsOnboarding'))).toBeVisible()
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, createServer} from '../util' 6 7 describe('Create account', () => { ··· 12 }) 13 14 it('I can create a new account', async () => { 15 + await element(by.id('e2eOpenLoggedOutView')).tap() 16 + 17 await element(by.id('createAccountButton')).tap() 18 await device.takeScreenshot('1- opened create account screen') 19 await element(by.id('otherServerBtn')).tap() ··· 21 await element(by.id('customServerInput')).clearText() 22 await element(by.id('customServerInput')).typeText(service) 23 await device.takeScreenshot('3- input test server URL') 24 + 25 await element(by.id('nextBtn')).tap() 26 + 27 await element(by.id('emailInput')).typeText('example@test.com') 28 await element(by.id('passwordInput')).typeText('hunter2') 29 await device.takeScreenshot('4- entered account details') 30 + 31 await element(by.id('nextBtn')).tap() 32 + 33 await element(by.id('handleInput')).typeText('e2e-test') 34 await device.takeScreenshot('4- entered handle') 35 + 36 await element(by.id('nextBtn')).tap() 37 + 38 await expect(element(by.id('welcomeOnboarding'))).toBeVisible() 39 await element(by.id('continueBtn')).tap() 40 await expect(element(by.id('recommendedFeedsOnboarding'))).toBeVisible()
+18 -15
__e2e__/tests/curate-lists.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, loginAsBob, createServer, sleep} from '../util' 4 5 describe('Curate lists', () => { ··· 11 }) 12 13 it('Login and create a curatelists', async () => { 14 - await expect(element(by.id('signInButton'))).toBeVisible() 15 await loginAsAlice() 16 await element(by.id('e2eGotoLists')).tap() 17 await element(by.id('newUserListBtn')).tap() ··· 27 28 it('Edit display name and description via the edit curatelist modal', async () => { 29 await element(by.id('headerDropdownBtn')).tap() 30 - await element(by.text('Edit List Details')).tap() 31 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 32 await element(by.id('editNameInput')).clearText() 33 await element(by.id('editNameInput')).typeText('Bad Ppl') ··· 45 46 it('Remove description via the edit curatelist modal', async () => { 47 await element(by.id('headerDropdownBtn')).tap() 48 - await element(by.text('Edit List Details')).tap() 49 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 50 await element(by.id('editDescriptionInput')).clearText() 51 await element(by.id('saveBtn')).tap() ··· 60 it('Set avi via the edit curatelist modal', async () => { 61 await expect(element(by.id('userAvatarFallback'))).toExist() 62 await element(by.id('headerDropdownBtn')).tap() 63 - await element(by.text('Edit List Details')).tap() 64 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 65 await element(by.id('changeAvatarBtn')).tap() 66 await element(by.text('Library')).tap() ··· 77 it('Remove avi via the edit curatelist modal', async () => { 78 await expect(element(by.id('userAvatarImage'))).toExist() 79 await element(by.id('headerDropdownBtn')).tap() 80 - await element(by.text('Edit List Details')).tap() 81 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 82 await element(by.id('changeAvatarBtn')).tap() 83 await element(by.text('Remove')).tap() ··· 98 }) 99 100 it('Create a new curatelist', async () => { 101 await element(by.id('newUserListBtn')).tap() 102 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 103 await element(by.id('editNameInput')).typeText('Good Ppl') ··· 128 }) 129 130 it('Pins the list', async () => { 131 await element(by.id('pinBtn')).tap() 132 await element(by.id('e2eGotoHome')).tap() 133 await element(by.id('homeScreenFeedTabs-Good Ppl')).tap() ··· 152 await expect(element(by.id('user-bob.test'))).toBeVisible() 153 await element(by.id('user-bob.test-editBtn')).tap() 154 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 155 - await element(by.id('toggleBtn-Good Ppl')).tap() 156 - await element(by.id('saveBtn')).tap() 157 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 158 }) 159 160 it('Shows the curatelist on my profile', async () => { 161 await element(by.id('bottomBarProfileBtn')).tap() 162 - await element(by.id('selector')).swipe('left') 163 - await element(by.id('selector-4')).tap() 164 await element(by.id('list-Good Ppl')).tap() 165 }) 166 ··· 173 await element(by.id('profileHeaderDropdownBtn')).tap() 174 await element(by.text('Add to Lists')).tap() 175 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 176 - await element(by.id('toggleBtn-Good Ppl')).tap() 177 - await element(by.id('saveBtn')).tap() 178 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 179 180 await element(by.id('profileHeaderDropdownBtn')).tap() 181 await element(by.text('Add to Lists')).tap() 182 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 183 - await element(by.id('toggleBtn-Good Ppl')).tap() 184 - await element(by.id('saveBtn')).tap() 185 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 186 }) 187 ··· 192 await element(by.id('bottomBarSearchBtn')).tap() 193 await element(by.id('searchTextInput')).typeText('alice') 194 await element(by.id('searchAutoCompleteResult-alice.test')).tap() 195 - await element(by.id('selector')).swipe('left') 196 - await element(by.id('selector-3')).tap() 197 await element(by.id('list-Good Ppl')).tap() 198 await element(by.id('headerDropdownBtn')).tap() 199 await element(by.text('Report List')).tap()
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, loginAsBob, createServer, sleep} from '../util' 6 7 describe('Curate lists', () => { ··· 13 }) 14 15 it('Login and create a curatelists', async () => { 16 await loginAsAlice() 17 await element(by.id('e2eGotoLists')).tap() 18 await element(by.id('newUserListBtn')).tap() ··· 28 29 it('Edit display name and description via the edit curatelist modal', async () => { 30 await element(by.id('headerDropdownBtn')).tap() 31 + await element(by.text('Edit list details')).tap() 32 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 33 await element(by.id('editNameInput')).clearText() 34 await element(by.id('editNameInput')).typeText('Bad Ppl') ··· 46 47 it('Remove description via the edit curatelist modal', async () => { 48 await element(by.id('headerDropdownBtn')).tap() 49 + await element(by.text('Edit list details')).tap() 50 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 51 await element(by.id('editDescriptionInput')).clearText() 52 await element(by.id('saveBtn')).tap() ··· 61 it('Set avi via the edit curatelist modal', async () => { 62 await expect(element(by.id('userAvatarFallback'))).toExist() 63 await element(by.id('headerDropdownBtn')).tap() 64 + await element(by.text('Edit list details')).tap() 65 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 66 await element(by.id('changeAvatarBtn')).tap() 67 await element(by.text('Library')).tap() ··· 78 it('Remove avi via the edit curatelist modal', async () => { 79 await expect(element(by.id('userAvatarImage'))).toExist() 80 await element(by.id('headerDropdownBtn')).tap() 81 + await element(by.text('Edit list details')).tap() 82 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 83 await element(by.id('changeAvatarBtn')).tap() 84 await element(by.text('Remove')).tap() ··· 99 }) 100 101 it('Create a new curatelist', async () => { 102 + await element(by.id('e2eGotoLists')).tap() 103 await element(by.id('newUserListBtn')).tap() 104 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 105 await element(by.id('editNameInput')).typeText('Good Ppl') ··· 130 }) 131 132 it('Pins the list', async () => { 133 + await expect(element(by.id('pinBtn'))).toBeVisible() 134 await element(by.id('pinBtn')).tap() 135 await element(by.id('e2eGotoHome')).tap() 136 await element(by.id('homeScreenFeedTabs-Good Ppl')).tap() ··· 155 await expect(element(by.id('user-bob.test'))).toBeVisible() 156 await element(by.id('user-bob.test-editBtn')).tap() 157 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 158 + await element(by.id('user-bob.test-addBtn')).tap() 159 + await element(by.id('doneBtn')).tap() 160 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 161 }) 162 163 it('Shows the curatelist on my profile', async () => { 164 await element(by.id('bottomBarProfileBtn')).tap() 165 + await element(by.id('profilePager-selector')).swipe('left') 166 + await element(by.id('profilePager-selector-5')).tap() 167 await element(by.id('list-Good Ppl')).tap() 168 }) 169 ··· 176 await element(by.id('profileHeaderDropdownBtn')).tap() 177 await element(by.text('Add to Lists')).tap() 178 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 179 + await element(by.id('user-bob.test-addBtn')).tap() 180 + await element(by.id('doneBtn')).tap() 181 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 182 183 await element(by.id('profileHeaderDropdownBtn')).tap() 184 await element(by.text('Add to Lists')).tap() 185 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 186 + await element(by.id('user-bob.test-addBtn')).tap() 187 + await element(by.id('doneBtn')).tap() 188 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 189 }) 190 ··· 195 await element(by.id('bottomBarSearchBtn')).tap() 196 await element(by.id('searchTextInput')).typeText('alice') 197 await element(by.id('searchAutoCompleteResult-alice.test')).tap() 198 + await element(by.id('profilePager-selector')).swipe('left') 199 + await element(by.id('profilePager-selector-3')).tap() 200 await element(by.id('list-Good Ppl')).tap() 201 await element(by.id('headerDropdownBtn')).tap() 202 await element(by.text('Report List')).tap()
+2
__e2e__/tests/home-screen.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer} from '../util' 4 5 describe('Home screen', () => {
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer} from '../util' 6 7 describe('Home screen', () => {
+3 -16
__e2e__/tests/invite-codes.test.ts
··· 5 * with the side drawer. 6 */ 7 8 import {openApp, loginAsAlice, createServer} from '../util' 9 10 describe('invite-codes', () => { ··· 16 }) 17 18 it('I can fetch invite codes', async () => { 19 - await expect(element(by.id('signInButton'))).toBeVisible() 20 await loginAsAlice() 21 await element(by.id('e2eOpenInviteCodesModal')).tap() 22 await expect(element(by.id('inviteCodesModal'))).toBeVisible() ··· 27 }) 28 29 it('I can create a new account with the invite code', async () => { 30 await element(by.id('createAccountButton')).tap() 31 await device.takeScreenshot('1- opened create account screen') 32 await element(by.id('otherServerBtn')).tap() ··· 50 await expect(element(by.id('recommendedFollowsOnboarding'))).toBeVisible() 51 await element(by.id('continueBtn')).tap() 52 await expect(element(by.id('homeScreen'))).toBeVisible() 53 - }) 54 - 55 - it('I get a notification for the new user', async () => { 56 - await element(by.id('e2eSignOut')).tap() 57 - await loginAsAlice() 58 - await waitFor(element(by.id('homeScreen'))) 59 - .toBeVisible() 60 - .withTimeout(5000) 61 - await element(by.id('bottomBarNotificationsBtn')).tap() 62 - await expect(element(by.id('invitedUser'))).toBeVisible() 63 - }) 64 - 65 - it('I can dismiss the new user notification', async () => { 66 - await element(by.id('dismissBtn')).tap() 67 - await expect(element(by.id('invitedUser'))).not.toBeVisible() 68 }) 69 })
··· 5 * with the side drawer. 6 */ 7 8 + import {describe, beforeAll, it} from '@jest/globals' 9 + import {expect} from 'detox' 10 import {openApp, loginAsAlice, createServer} from '../util' 11 12 describe('invite-codes', () => { ··· 18 }) 19 20 it('I can fetch invite codes', async () => { 21 await loginAsAlice() 22 await element(by.id('e2eOpenInviteCodesModal')).tap() 23 await expect(element(by.id('inviteCodesModal'))).toBeVisible() ··· 28 }) 29 30 it('I can create a new account with the invite code', async () => { 31 + await element(by.id('e2eOpenLoggedOutView')).tap() 32 await element(by.id('createAccountButton')).tap() 33 await device.takeScreenshot('1- opened create account screen') 34 await element(by.id('otherServerBtn')).tap() ··· 52 await expect(element(by.id('recommendedFollowsOnboarding'))).toBeVisible() 53 await element(by.id('continueBtn')).tap() 54 await expect(element(by.id('homeScreen'))).toBeVisible() 55 }) 56 })
+4
__e2e__/tests/login.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, login, createServer} from '../util' 4 5 describe('Login', () => { ··· 10 }) 11 12 it('As Alice, I can login', async () => { 13 await expect(element(by.id('signInButton'))).toBeVisible() 14 await login(service, 'alice', 'hunter2', { 15 takeScreenshots: true,
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, login, createServer} from '../util' 6 7 describe('Login', () => { ··· 12 }) 13 14 it('As Alice, I can login', async () => { 15 + await element(by.id('e2eOpenLoggedOutView')).tap() 16 + 17 await expect(element(by.id('signInButton'))).toBeVisible() 18 await login(service, 'alice', 'hunter2', { 19 takeScreenshots: true,
+6
__e2e__/tests/merge-feed.test.ts __e2e__/tests/merge-feed.test.skip.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer} from '../util' 4 5 describe('Mergefeed', () => { ··· 9 }) 10 11 it('Login', async () => { 12 await loginAsAlice() 13 await element(by.id('e2eToggleMergefeed')).tap() 14 }) 15 16 it('Sees the expected mix of posts with default filters', async () => {
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer} from '../util' 6 7 describe('Mergefeed', () => { ··· 11 }) 12 13 it('Login', async () => { 14 + await element(by.id('e2eOpenLoggedOutView')).tap() 15 await loginAsAlice() 16 await element(by.id('e2eToggleMergefeed')).tap() 17 + await element(by.id('bottomBarFeedsBtn')).tap() 18 + await element(by.id('feed-alice-favs-toggleSave')).tap() 19 + await element(by.id('e2eGotoHome')).tap() 20 }) 21 22 it('Sees the expected mix of posts with default filters', async () => {
+16 -15
__e2e__/tests/mod-lists.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, loginAsBob, createServer, sleep} from '../util' 4 5 describe('Mod lists', () => { ··· 11 }) 12 13 it('Login and view my modlists', async () => { 14 - await expect(element(by.id('signInButton'))).toBeVisible() 15 await loginAsAlice() 16 await element(by.id('e2eGotoModeration')).tap() 17 await element(by.id('moderationlistsBtn')).tap() ··· 31 32 it('Edit display name and description via the edit modlist modal', async () => { 33 await element(by.id('headerDropdownBtn')).tap() 34 - await element(by.text('Edit List Details')).tap() 35 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 36 await element(by.id('editNameInput')).clearText() 37 await element(by.id('editNameInput')).typeText('Bad Ppl') ··· 49 50 it('Remove description via the edit modlist modal', async () => { 51 await element(by.id('headerDropdownBtn')).tap() 52 - await element(by.text('Edit List Details')).tap() 53 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 54 await element(by.id('editDescriptionInput')).clearText() 55 await element(by.id('saveBtn')).tap() ··· 64 it('Set avi via the edit modlist modal', async () => { 65 await expect(element(by.id('userAvatarFallback'))).toExist() 66 await element(by.id('headerDropdownBtn')).tap() 67 - await element(by.text('Edit List Details')).tap() 68 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 69 await element(by.id('changeAvatarBtn')).tap() 70 await element(by.text('Library')).tap() ··· 81 it('Remove avi via the edit modlist modal', async () => { 82 await expect(element(by.id('userAvatarImage'))).toExist() 83 await element(by.id('headerDropdownBtn')).tap() 84 - await element(by.text('Edit List Details')).tap() 85 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 86 await element(by.id('changeAvatarBtn')).tap() 87 await element(by.text('Remove')).tap() ··· 131 await expect(element(by.id('user-warn-posts.test'))).toBeVisible() 132 await element(by.id('user-warn-posts.test-editBtn')).tap() 133 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 134 - await element(by.id('toggleBtn-Bad Ppl')).tap() 135 - await element(by.id('saveBtn')).tap() 136 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 137 }) 138 139 it('Shows the modlist on my profile', async () => { 140 await element(by.id('bottomBarProfileBtn')).tap() 141 - await element(by.id('selector')).swipe('left') 142 - await element(by.id('selector-4')).tap() 143 await element(by.id('list-Bad Ppl')).tap() 144 }) 145 ··· 152 await element(by.id('profileHeaderDropdownBtn')).tap() 153 await element(by.text('Add to Lists')).tap() 154 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 155 - await element(by.id('toggleBtn-Bad Ppl')).tap() 156 - await element(by.id('saveBtn')).tap() 157 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 158 159 await element(by.id('profileHeaderDropdownBtn')).tap() 160 await element(by.text('Add to Lists')).tap() 161 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 162 - await element(by.id('toggleBtn-Bad Ppl')).tap() 163 - await element(by.id('saveBtn')).tap() 164 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 165 }) 166 ··· 171 await element(by.id('bottomBarSearchBtn')).tap() 172 await element(by.id('searchTextInput')).typeText('alice') 173 await element(by.id('searchAutoCompleteResult-alice.test')).tap() 174 - await element(by.id('selector')).swipe('left') 175 - await element(by.id('selector-3')).tap() 176 await element(by.id('list-Bad Ppl')).tap() 177 await element(by.id('headerDropdownBtn')).tap() 178 await element(by.text('Report List')).tap()
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, loginAsBob, createServer, sleep} from '../util' 6 7 describe('Mod lists', () => { ··· 13 }) 14 15 it('Login and view my modlists', async () => { 16 await loginAsAlice() 17 await element(by.id('e2eGotoModeration')).tap() 18 await element(by.id('moderationlistsBtn')).tap() ··· 32 33 it('Edit display name and description via the edit modlist modal', async () => { 34 await element(by.id('headerDropdownBtn')).tap() 35 + await element(by.text('Edit list details')).tap() 36 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 37 await element(by.id('editNameInput')).clearText() 38 await element(by.id('editNameInput')).typeText('Bad Ppl') ··· 50 51 it('Remove description via the edit modlist modal', async () => { 52 await element(by.id('headerDropdownBtn')).tap() 53 + await element(by.text('Edit list details')).tap() 54 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 55 await element(by.id('editDescriptionInput')).clearText() 56 await element(by.id('saveBtn')).tap() ··· 65 it('Set avi via the edit modlist modal', async () => { 66 await expect(element(by.id('userAvatarFallback'))).toExist() 67 await element(by.id('headerDropdownBtn')).tap() 68 + await element(by.text('Edit list details')).tap() 69 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 70 await element(by.id('changeAvatarBtn')).tap() 71 await element(by.text('Library')).tap() ··· 82 it('Remove avi via the edit modlist modal', async () => { 83 await expect(element(by.id('userAvatarImage'))).toExist() 84 await element(by.id('headerDropdownBtn')).tap() 85 + await element(by.text('Edit list details')).tap() 86 await expect(element(by.id('createOrEditListModal'))).toBeVisible() 87 await element(by.id('changeAvatarBtn')).tap() 88 await element(by.text('Remove')).tap() ··· 132 await expect(element(by.id('user-warn-posts.test'))).toBeVisible() 133 await element(by.id('user-warn-posts.test-editBtn')).tap() 134 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 135 + await element(by.id('user-warn-posts.test-addBtn')).tap() 136 + await element(by.id('doneBtn')).tap() 137 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 138 }) 139 140 it('Shows the modlist on my profile', async () => { 141 await element(by.id('bottomBarProfileBtn')).tap() 142 + await element(by.id('profilePager-selector')).swipe('left') 143 + await element(by.id('profilePager-selector-5')).tap() 144 await element(by.id('list-Bad Ppl')).tap() 145 }) 146 ··· 153 await element(by.id('profileHeaderDropdownBtn')).tap() 154 await element(by.text('Add to Lists')).tap() 155 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 156 + await element(by.id('user-bob.test-addBtn')).tap() 157 + await element(by.id('doneBtn')).tap() 158 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 159 160 await element(by.id('profileHeaderDropdownBtn')).tap() 161 await element(by.text('Add to Lists')).tap() 162 await expect(element(by.id('userAddRemoveListsModal'))).toBeVisible() 163 + await element(by.id('user-bob.test-addBtn')).tap() 164 + await element(by.id('doneBtn')).tap() 165 await expect(element(by.id('userAddRemoveListsModal'))).not.toBeVisible() 166 }) 167 ··· 172 await element(by.id('bottomBarSearchBtn')).tap() 173 await element(by.id('searchTextInput')).typeText('alice') 174 await element(by.id('searchAutoCompleteResult-alice.test')).tap() 175 + await element(by.id('profilePager-selector')).swipe('left') 176 + await element(by.id('profilePager-selector-3')).tap() 177 await element(by.id('list-Bad Ppl')).tap() 178 await element(by.id('headerDropdownBtn')).tap() 179 await element(by.text('Report List')).tap()
+14 -5
__e2e__/tests/profile-screen.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer, sleep} from '../util' 4 5 describe('Profile screen', () => { ··· 11 }) 12 13 it('Login and navigate to my profile', async () => { 14 - await expect(element(by.id('signInButton'))).toBeVisible() 15 await loginAsAlice() 16 await element(by.id('bottomBarProfileBtn')).tap() 17 }) 18 19 it('Can see feeds', async () => { 20 - await element(by.id('selector')).swipe('left') 21 - await element(by.id('selector-4')).tap() 22 await expect(element(by.id('feed-alice-favs'))).toBeVisible() 23 - await element(by.id('selector')).swipe('right') 24 - await element(by.id('selector-0')).tap() 25 }) 26 27 it('Open and close edit profile modal', async () => { ··· 135 }) 136 137 it('Can like posts', async () => { 138 const posts = by.id('feedItem-by-bob.test') 139 await expect( 140 element(by.id('likeCount').withAncestor(posts)).atIndex(0),
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer, sleep} from '../util' 6 7 describe('Profile screen', () => { ··· 13 }) 14 15 it('Login and navigate to my profile', async () => { 16 await loginAsAlice() 17 await element(by.id('bottomBarProfileBtn')).tap() 18 }) 19 20 it('Can see feeds', async () => { 21 + await element(by.id('profilePager-selector')).swipe('left') 22 + await element(by.id('profilePager-selector-4')).tap() 23 await expect(element(by.id('feed-alice-favs'))).toBeVisible() 24 + await element(by.id('profilePager-selector')).swipe('right') 25 + await element(by.id('profilePager-selector-0')).tap() 26 }) 27 28 it('Open and close edit profile modal', async () => { ··· 136 }) 137 138 it('Can like posts', async () => { 139 + await element(by.id('postsFeed-flatlist')).swipe( 140 + 'down', 141 + 'slow', 142 + 1, 143 + 0.5, 144 + 0.5, 145 + ) 146 + 147 const posts = by.id('feedItem-by-bob.test') 148 await expect( 149 element(by.id('likeCount').withAncestor(posts)).atIndex(0),
+2
__e2e__/tests/search-screen.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer} from '../util' 4 5 describe('Search screen', () => {
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer} from '../util' 6 7 describe('Search screen', () => {
+2
__e2e__/tests/self-labeling.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer, sleep} from '../util' 4 5 describe('Self-labeling', () => {
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer, sleep} from '../util' 6 7 describe('Self-labeling', () => {
+3 -1
__e2e__/tests/thread-muting.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, loginAsBob, createServer} from '../util' 4 5 describe('Thread muting', () => { ··· 48 await loginAsBob() 49 50 await element(by.id('bottomBarProfileBtn')).tap() 51 - await element(by.id('selector-1')).tap() 52 const bobPosts = by.id('feedItem-by-bob.test') 53 await element(by.id('replyBtn').withAncestor(bobPosts)).atIndex(0).tap() 54 await element(by.id('composerTextInput')).typeText('Reply 2')
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, loginAsBob, createServer} from '../util' 6 7 describe('Thread muting', () => { ··· 50 await loginAsBob() 51 52 await element(by.id('bottomBarProfileBtn')).tap() 53 + await element(by.id('profilePager-selector-1')).tap() 54 const bobPosts = by.id('feedItem-by-bob.test') 55 await element(by.id('replyBtn').withAncestor(bobPosts)).atIndex(0).tap() 56 await element(by.id('composerTextInput')).typeText('Reply 2')
+8 -6
__e2e__/tests/thread-screen.test.ts
··· 1 /* eslint-env detox/detox */ 2 3 import {openApp, loginAsAlice, createServer} from '../util' 4 5 describe('Thread screen', () => { ··· 31 it('Can like the root post', async () => { 32 const post = by.id('postThreadItem-by-bob.test') 33 await expect( 34 - element(by.id('likeCount').withAncestor(post)).atIndex(0), 35 ).not.toExist() 36 await element(by.id('likeBtn').withAncestor(post)).atIndex(0).tap() 37 await expect( 38 - element(by.id('likeCount').withAncestor(post)).atIndex(0), 39 ).toHaveText('1 like') 40 await element(by.id('likeBtn').withAncestor(post)).atIndex(0).tap() 41 await expect( 42 - element(by.id('likeCount').withAncestor(post)).atIndex(0), 43 ).not.toExist() 44 }) 45 ··· 61 it('Can repost the root post', async () => { 62 const post = by.id('postThreadItem-by-bob.test') 63 await expect( 64 - element(by.id('repostCount').withAncestor(post)).atIndex(0), 65 ).not.toExist() 66 await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() 67 await expect(element(by.id('repostModal'))).toBeVisible() 68 await element(by.id('repostBtn').withAncestor(by.id('repostModal'))).tap() 69 await expect(element(by.id('repostModal'))).not.toBeVisible() 70 await expect( 71 - element(by.id('repostCount').withAncestor(post)).atIndex(0), 72 ).toHaveText('1 repost') 73 await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() 74 await expect(element(by.id('repostModal'))).toBeVisible() 75 await element(by.id('repostBtn').withAncestor(by.id('repostModal'))).tap() 76 await expect(element(by.id('repostModal'))).not.toBeVisible() 77 await expect( 78 - element(by.id('repostCount').withAncestor(post)).atIndex(0), 79 ).not.toExist() 80 }) 81
··· 1 /* eslint-env detox/detox */ 2 3 + import {describe, beforeAll, it} from '@jest/globals' 4 + import {expect} from 'detox' 5 import {openApp, loginAsAlice, createServer} from '../util' 6 7 describe('Thread screen', () => { ··· 33 it('Can like the root post', async () => { 34 const post = by.id('postThreadItem-by-bob.test') 35 await expect( 36 + element(by.id('likeCount-expanded').withAncestor(post)).atIndex(0), 37 ).not.toExist() 38 await element(by.id('likeBtn').withAncestor(post)).atIndex(0).tap() 39 await expect( 40 + element(by.id('likeCount-expanded').withAncestor(post)).atIndex(0), 41 ).toHaveText('1 like') 42 await element(by.id('likeBtn').withAncestor(post)).atIndex(0).tap() 43 await expect( 44 + element(by.id('likeCount-expanded').withAncestor(post)).atIndex(0), 45 ).not.toExist() 46 }) 47 ··· 63 it('Can repost the root post', async () => { 64 const post = by.id('postThreadItem-by-bob.test') 65 await expect( 66 + element(by.id('repostCount-expanded').withAncestor(post)).atIndex(0), 67 ).not.toExist() 68 await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() 69 await expect(element(by.id('repostModal'))).toBeVisible() 70 await element(by.id('repostBtn').withAncestor(by.id('repostModal'))).tap() 71 await expect(element(by.id('repostModal'))).not.toBeVisible() 72 await expect( 73 + element(by.id('repostCount-expanded').withAncestor(post)).atIndex(0), 74 ).toHaveText('1 repost') 75 await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() 76 await expect(element(by.id('repostModal'))).toBeVisible() 77 await element(by.id('repostBtn').withAncestor(by.id('repostModal'))).tap() 78 await expect(element(by.id('repostModal'))).not.toBeVisible() 79 await expect( 80 + element(by.id('repostCount-expanded').withAncestor(post)).atIndex(0), 81 ).not.toExist() 82 }) 83
+4 -1
docs/testing.md
··· 1 # Testing instructions 2 3 ### Using Maestro E2E tests 4 1. Install Maestro by following [these instructions](https://maestro.mobile.dev/getting-started/installing-maestro). This will help us run the E2E tests. 5 2. You can write Maestro tests in `__e2e__/maestro` directory by creating a new `.yaml` file or by modifying an existing one. ··· 11 2. Install Flashlight by following [these instructions](https://docs.flashlight.dev/) 12 3. The simplest way to get started is by running `yarn perf:measure` which will run a live preview of the performance test results. You can [see a demo here](https://github.com/bamlab/flashlight/assets/4534323/4038a342-f145-4c3b-8cde-17949bf52612) 13 4. The `yarn perf:test:measure` will run the `scroll.yaml` test located in `__e2e__/maestro/scroll.yaml` and give the results in `.perf/results.json` which can be viewed by running `yarn:perf:results` 14 - 5. You can also run your own tests by running `yarn perf:test <path_to_test>` where `<path_to_test>` is the path to your test file. For example, `yarn perf:test __e2e__/maestro/scroll.yaml` will run the `scroll.yaml` test located in `__e2e__/maestro/scroll.yaml`.
··· 1 # Testing instructions 2 3 + Make sure you've copied `.env.example` to `.env.test` and provided any required 4 + values. 5 + 6 ### Using Maestro E2E tests 7 1. Install Maestro by following [these instructions](https://maestro.mobile.dev/getting-started/installing-maestro). This will help us run the E2E tests. 8 2. You can write Maestro tests in `__e2e__/maestro` directory by creating a new `.yaml` file or by modifying an existing one. ··· 14 2. Install Flashlight by following [these instructions](https://docs.flashlight.dev/) 15 3. The simplest way to get started is by running `yarn perf:measure` which will run a live preview of the performance test results. You can [see a demo here](https://github.com/bamlab/flashlight/assets/4534323/4038a342-f145-4c3b-8cde-17949bf52612) 16 4. The `yarn perf:test:measure` will run the `scroll.yaml` test located in `__e2e__/maestro/scroll.yaml` and give the results in `.perf/results.json` which can be viewed by running `yarn:perf:results` 17 + 5. You can also run your own tests by running `yarn perf:test <path_to_test>` where `<path_to_test>` is the path to your test file. For example, `yarn perf:test __e2e__/maestro/scroll.yaml` will run the `scroll.yaml` test located in `__e2e__/maestro/scroll.yaml`.
+9 -3
index.js
··· 1 import 'react-native-gesture-handler' // must be first 2 - 3 import {LogBox} from 'react-native' 4 - LogBox.ignoreLogs(['Require cycle:']) // suppress require-cycle warnings, it's fine 5 6 import '#/platform/polyfills' 7 import {registerRootComponent} from 'expo' 8 import {doPolyfill} from '#/lib/api/api-polyfill' 9 - doPolyfill() 10 11 import App from '#/App' 12 13 // registerRootComponent calls AppRegistry.registerComponent('main', () => App); 14 // It also ensures that whether you load the app in Expo Go or in a native build,
··· 1 import 'react-native-gesture-handler' // must be first 2 import {LogBox} from 'react-native' 3 4 import '#/platform/polyfills' 5 + import {IS_TEST} from '#/env' 6 import {registerRootComponent} from 'expo' 7 import {doPolyfill} from '#/lib/api/api-polyfill' 8 9 import App from '#/App' 10 + 11 + doPolyfill() 12 + 13 + if (IS_TEST) { 14 + LogBox.ignoreAllLogs() // suppress all logs in tests 15 + } else { 16 + LogBox.ignoreLogs(['Require cycle:']) // suppress require-cycle warnings, it's fine 17 + } 18 19 // registerRootComponent calls AppRegistry.registerComponent('main', () => App); 20 // It also ensures that whether you load the app in Expo Go or in a native build,
+6 -2
jest/test-pds.ts
··· 59 ): Promise<TestPDS> { 60 const port = await getPort() 61 const port2 = await getPort(port + 1) 62 const pdsUrl = `http://localhost:${port}` 63 const id = ids.next() 64 const testNet = await TestNetwork.create({ 65 pds: { 66 port, 67 - publicUrl: pdsUrl, 68 - inviteRequired, 69 dbPostgresSchema: `pds_${id}`, 70 }, 71 bsky: { 72 dbPostgresSchema: `bsky_${id}`, 73 }, 74 plc: {port: port2}, 75 })
··· 59 ): Promise<TestPDS> { 60 const port = await getPort() 61 const port2 = await getPort(port + 1) 62 + const port3 = await getPort(port2 + 1) 63 const pdsUrl = `http://localhost:${port}` 64 const id = ids.next() 65 + 66 const testNet = await TestNetwork.create({ 67 pds: { 68 port, 69 + hostname: 'localhost', 70 dbPostgresSchema: `pds_${id}`, 71 + inviteRequired, 72 }, 73 bsky: { 74 dbPostgresSchema: `bsky_${id}`, 75 + port: port3, 76 + publicUrl: 'http://localhost:2584', 77 }, 78 plc: {port: port2}, 79 })
+4 -4
package.json
··· 21 "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", 22 "typecheck": "tsc --project ./tsconfig.check.json", 23 "e2e:mock-server": "./jest/dev-infra/with-test-redis-and-db.sh ts-node __e2e__/mock-server.ts", 24 - "e2e:metro": "RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios", 25 - "e2e:build": "detox build -c ios.sim.debug", 26 - "e2e:run": "detox test --configuration ios.sim.debug --take-screenshots all", 27 "perf:test": "NODE_ENV=test maestro test", 28 "perf:test:run": "NODE_ENV=test maestro test __e2e__/maestro/scroll.yaml", 29 "perf:test:measure": "NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand 'yarn perf:test' --duration 150000 --resultsFilePath .perf/results.json", ··· 168 "zod": "^3.20.2" 169 }, 170 "devDependencies": { 171 - "@atproto/dev-env": "^0.2.5", 172 "@babel/core": "^7.23.2", 173 "@babel/preset-env": "^7.20.0", 174 "@babel/runtime": "^7.20.0",
··· 21 "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", 22 "typecheck": "tsc --project ./tsconfig.check.json", 23 "e2e:mock-server": "./jest/dev-infra/with-test-redis-and-db.sh ts-node __e2e__/mock-server.ts", 24 + "e2e:metro": "NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios", 25 + "e2e:build": "NODE_ENV=test detox build -c ios.sim.debug", 26 + "e2e:run": "NODE_ENV=test detox test --configuration ios.sim.debug --take-screenshots all", 27 "perf:test": "NODE_ENV=test maestro test", 28 "perf:test:run": "NODE_ENV=test maestro test __e2e__/maestro/scroll.yaml", 29 "perf:test:measure": "NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand 'yarn perf:test' --duration 150000 --resultsFilePath .perf/results.json", ··· 168 "zod": "^3.20.2" 169 }, 170 "devDependencies": { 171 + "@atproto/dev-env": "^0.2.16", 172 "@babel/core": "^7.23.2", 173 "@babel/preset-env": "^7.20.0", 174 "@babel/runtime": "^7.20.0",
+1 -1
src/env.ts
··· 1 - export const IS_TEST = process.env.NODE_ENV === 'test' 2 export const IS_DEV = __DEV__ 3 export const IS_PROD = !IS_DEV 4 export const LOG_DEBUG = process.env.EXPO_PUBLIC_LOG_DEBUG || ''
··· 1 + export const IS_TEST = process.env.EXPO_PUBLIC_ENV === 'test' 2 export const IS_DEV = __DEV__ 3 export const IS_PROD = !IS_DEV 4 export const LOG_DEBUG = process.env.EXPO_PUBLIC_LOG_DEBUG || ''
+1
src/state/modals/index.tsx
··· 61 export interface UserAddRemoveListsModal { 62 name: 'user-add-remove-lists' 63 subject: string 64 displayName: string 65 onAdd?: (listUri: string) => void 66 onRemove?: (listUri: string) => void
··· 61 export interface UserAddRemoveListsModal { 62 name: 'user-add-remove-lists' 63 subject: string 64 + handle: string 65 displayName: string 66 onAdd?: (listUri: string) => void 67 onRemove?: (listUri: string) => void
+1
src/view/com/feeds/FeedSourceCard.tsx
··· 170 {showSaveBtn && feed.type === 'feed' && ( 171 <View> 172 <Pressable 173 disabled={isSavePending || isPinPending || isRemovePending} 174 accessibilityRole="button" 175 accessibilityLabel={
··· 170 {showSaveBtn && feed.type === 'feed' && ( 171 <View> 172 <Pressable 173 + testID={`feed-${feed.displayName}-toggleSave`} 174 disabled={isSavePending || isPinPending || isRemovePending} 175 accessibilityRole="button" 176 accessibilityLabel={
+1
src/view/com/lists/ListMembers.tsx
··· 132 name: 'user-add-remove-lists', 133 subject: profile.did, 134 displayName: profile.displayName || profile.handle, 135 }) 136 }, 137 [openModal],
··· 132 name: 'user-add-remove-lists', 133 subject: profile.did, 134 displayName: profile.displayName || profile.handle, 135 + handle: profile.handle, 136 }) 137 }, 138 [openModal],
+6 -1
src/view/com/modals/UserAddRemoveLists.tsx
··· 28 29 export function Component({ 30 subject, 31 displayName, 32 onAdd, 33 onRemove, 34 }: { 35 subject: string 36 displayName: string 37 onAdd?: (listUri: string) => void 38 onRemove?: (listUri: string) => void ··· 60 list={list} 61 memberships={memberships} 62 subject={subject} 63 onAdd={onAdd} 64 onRemove={onRemove} 65 /> ··· 87 list, 88 memberships, 89 subject, 90 onAdd, 91 onRemove, 92 }: { ··· 94 list: GraphDefs.ListView 95 memberships: ListMembersip[] | undefined 96 subject: string 97 onAdd?: (listUri: string) => void 98 onRemove?: (listUri: string) => void 99 }) { ··· 182 <ActivityIndicator /> 183 ) : ( 184 <Button 185 - testID={`user-${subject}-addBtn`} 186 type="default" 187 label={membership === false ? _(msg`Add`) : _(msg`Remove`)} 188 onPress={onToggleMembership}
··· 28 29 export function Component({ 30 subject, 31 + handle, 32 displayName, 33 onAdd, 34 onRemove, 35 }: { 36 subject: string 37 + handle: string 38 displayName: string 39 onAdd?: (listUri: string) => void 40 onRemove?: (listUri: string) => void ··· 62 list={list} 63 memberships={memberships} 64 subject={subject} 65 + handle={handle} 66 onAdd={onAdd} 67 onRemove={onRemove} 68 /> ··· 90 list, 91 memberships, 92 subject, 93 + handle, 94 onAdd, 95 onRemove, 96 }: { ··· 98 list: GraphDefs.ListView 99 memberships: ListMembersip[] | undefined 100 subject: string 101 + handle: string 102 onAdd?: (listUri: string) => void 103 onRemove?: (listUri: string) => void 104 }) { ··· 187 <ActivityIndicator /> 188 ) : ( 189 <Button 190 + testID={`user-${handle}-addBtn`} 191 type="default" 192 label={membership === false ? _(msg`Add`) : _(msg`Remove`)} 193 onPress={onToggleMembership}
+8 -2
src/view/com/post-thread/PostThreadItem.tsx
··· 375 style={styles.expandedInfoItem} 376 href={repostsHref} 377 title={repostsTitle}> 378 - <Text testID="repostCount" type="lg" style={pal.textLight}> 379 <Text type="xl-bold" style={pal.text}> 380 {formatCount(post.repostCount)} 381 </Text>{' '} ··· 390 style={styles.expandedInfoItem} 391 href={likesHref} 392 title={likesTitle}> 393 - <Text testID="likeCount" type="lg" style={pal.textLight}> 394 <Text type="xl-bold" style={pal.text}> 395 {formatCount(post.likeCount)} 396 </Text>{' '}
··· 375 style={styles.expandedInfoItem} 376 href={repostsHref} 377 title={repostsTitle}> 378 + <Text 379 + testID="repostCount-expanded" 380 + type="lg" 381 + style={pal.textLight}> 382 <Text type="xl-bold" style={pal.text}> 383 {formatCount(post.repostCount)} 384 </Text>{' '} ··· 393 style={styles.expandedInfoItem} 394 href={likesHref} 395 title={likesTitle}> 396 + <Text 397 + testID="likeCount-expanded" 398 + type="lg" 399 + style={pal.textLight}> 400 <Text type="xl-bold" style={pal.text}> 401 {formatCount(post.likeCount)} 402 </Text>{' '}
+1
src/view/com/profile/ProfileHeader.tsx
··· 217 openModal({ 218 name: 'user-add-remove-lists', 219 subject: profile.did, 220 displayName: profile.displayName || profile.handle, 221 onAdd: invalidateProfileQuery, 222 onRemove: invalidateProfileQuery,
··· 217 openModal({ 218 name: 'user-add-remove-lists', 219 subject: profile.did, 220 + handle: profile.handle, 221 displayName: profile.displayName || profile.handle, 222 onAdd: invalidateProfileQuery, 223 onRemove: invalidateProfileQuery,
+8
src/view/com/testing/TestCtrls.e2e.tsx
··· 5 import {useQueryClient} from '@tanstack/react-query' 6 import {useSessionApi} from '#/state/session' 7 import {useSetFeedViewPreferencesMutation} from '#/state/queries/preferences' 8 9 /** 10 * This utility component is only included in the test simulator ··· 19 const {logout, login} = useSessionApi() 20 const {openModal} = useModalControls() 21 const {mutate: setFeedViewPref} = useSetFeedViewPreferencesMutation() 22 const onPressSignInAlice = async () => { 23 await login({ 24 service: 'http://localhost:3000', ··· 92 <Pressable 93 testID="e2eOpenInviteCodesModal" 94 onPress={() => openModal({name: 'invite-codes'})} 95 accessibilityRole="button" 96 style={BTN} 97 />
··· 5 import {useQueryClient} from '@tanstack/react-query' 6 import {useSessionApi} from '#/state/session' 7 import {useSetFeedViewPreferencesMutation} from '#/state/queries/preferences' 8 + import {useLoggedOutViewControls} from '#/state/shell/logged-out' 9 10 /** 11 * This utility component is only included in the test simulator ··· 20 const {logout, login} = useSessionApi() 21 const {openModal} = useModalControls() 22 const {mutate: setFeedViewPref} = useSetFeedViewPreferencesMutation() 23 + const {setShowLoggedOut} = useLoggedOutViewControls() 24 const onPressSignInAlice = async () => { 25 await login({ 26 service: 'http://localhost:3000', ··· 94 <Pressable 95 testID="e2eOpenInviteCodesModal" 96 onPress={() => openModal({name: 'invite-codes'})} 97 + accessibilityRole="button" 98 + style={BTN} 99 + /> 100 + <Pressable 101 + testID="e2eOpenLoggedOutView" 102 + onPress={() => setShowLoggedOut(true)} 103 accessibilityRole="button" 104 style={BTN} 105 />
+2
src/view/com/util/Toast.tsx
··· 7 import {useTheme} from 'lib/ThemeContext' 8 import {usePalette} from 'lib/hooks/usePalette' 9 import {useAnimatedValue} from 'lib/hooks/useAnimatedValue' 10 11 const TIMEOUT = 4e3 12 ··· 14 message: string, 15 _icon: FontAwesomeProps['icon'] = 'check', 16 ) { 17 const item = new RootSiblings(<Toast message={message} />) 18 setTimeout(() => { 19 item.destroy()
··· 7 import {useTheme} from 'lib/ThemeContext' 8 import {usePalette} from 'lib/hooks/usePalette' 9 import {useAnimatedValue} from 'lib/hooks/useAnimatedValue' 10 + import {IS_TEST} from '#/env' 11 12 const TIMEOUT = 4e3 13 ··· 15 message: string, 16 _icon: FontAwesomeProps['icon'] = 'check', 17 ) { 18 + if (IS_TEST) return 19 const item = new RootSiblings(<Toast message={message} />) 20 setTimeout(() => { 21 item.destroy()
+1
src/view/shell/desktop/Search.tsx
··· 42 43 return ( 44 <Link 45 href={makeProfileLink(profile)} 46 title={profile.handle} 47 asAnchor
··· 42 43 return ( 44 <Link 45 + testID={`searchAutoCompleteResult-${profile.handle}`} 46 href={makeProfileLink(profile)} 47 title={profile.handle} 48 asAnchor
+1452 -162
yarn.lock
··· 34 jsonpointer "^5.0.0" 35 leven "^3.1.0" 36 37 - "@atproto/api@^0.6.14": 38 - version "0.6.14" 39 - resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.6.14.tgz#8f07e56bc51a2a3250eae048fac22c3fe5f2aa1f" 40 - integrity sha512-oPl+obXTzgIsoLhvMYPAHGUrBKvOJcYObW4k0DfrkzAcbOg3fsF1Y1vDO31+C3pkjJj3aUkq/PespiDK1aNIrw== 41 - dependencies: 42 - "@atproto/common-web" "^0.2.0" 43 - "@atproto/lexicon" "^0.2.1" 44 - "@atproto/syntax" "^0.1.1" 45 - "@atproto/xrpc" "^0.3.1" 46 - multiformats "^9.9.0" 47 - tlds "^1.234.0" 48 - typed-emitter "^2.1.0" 49 - 50 "@atproto/api@^0.6.23": 51 version "0.6.23" 52 resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.6.23.tgz#1c475ce505a7029733bdcb4a0f77e8000a735f67" ··· 61 typed-emitter "^2.1.0" 62 zod "^3.21.4" 63 64 - "@atproto/bsky@^0.0.5": 65 - version "0.0.5" 66 - resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.5.tgz#4667977158a112f27aeab14fedb3ca1e3ebbd873" 67 - integrity sha512-dLrEvBMuwwfxcCdCdWRvPi9NuJyugxruxAO0u7Emk1jfh5vpMrgmrTMAwxh4meHSGCxVa12bOKSTDNsbU7OMXA== 68 dependencies: 69 - "@atproto/api" "^0.6.14" 70 - "@atproto/common" "^0.3.0" 71 - "@atproto/crypto" "^0.2.2" 72 - "@atproto/identity" "^0.2.0" 73 - "@atproto/lexicon" "^0.2.1" 74 - "@atproto/repo" "^0.3.1" 75 - "@atproto/syntax" "^0.1.1" 76 - "@atproto/xrpc-server" "^0.3.1" 77 "@did-plc/lib" "^0.0.1" 78 "@isaacs/ttlcache" "^1.4.1" 79 compression "^1.7.4" 80 cors "^2.8.5" 81 - dotenv "^16.0.0" 82 express "^4.17.2" 83 express-async-errors "^3.1.1" 84 form-data "^4.0.0" 85 http-errors "^2.0.0" 86 http-terminator "^3.2.0" 87 ioredis "^5.3.2" 88 - iso-datestring-validator "^2.2.2" 89 kysely "^0.22.0" 90 multiformats "^9.9.0" 91 p-queue "^6.6.2" 92 pg "^8.10.0" 93 pino "^8.15.0" 94 pino-http "^8.2.1" 95 - sharp "^0.31.2" 96 typed-emitter "^2.1.0" 97 uint8arrays "3.0.0" 98 99 - "@atproto/common-web@*", "@atproto/common-web@^0.2.0": 100 - version "0.2.0" 101 - resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.2.0.tgz#8420da28e89dac64ad2a11b6ff10a4023c67151f" 102 - integrity sha512-ugKrT8CWf6PDsZ29VOhOCs5K4z9BAFIV7SxPXA+MHC7pINqQ+wyjIq+DtUI8kmUSce1dTqc/lMN1akf/W5whVQ== 103 - dependencies: 104 - graphemer "^1.4.0" 105 - multiformats "^9.6.4" 106 - uint8arrays "3.0.0" 107 - zod "^3.21.4" 108 - 109 "@atproto/common-web@^0.2.3": 110 version "0.2.3" 111 resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.2.3.tgz#c44c1e177ae8309d5116347d49850209e8e478cc" ··· 136 pino "^8.6.1" 137 zod "^3.14.2" 138 139 - "@atproto/common@^0.3.0": 140 - version "0.3.0" 141 - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.3.0.tgz#6ddb0a9bedbf9058353a241b056ae83539da3539" 142 - integrity sha512-R5d50Da63wQdAYaHe+rne5nM/rSYIWBaDZtVKpluysG86U1rRIgrG4qEQ/tNDt6WzYcxKXkX4EOeVvGtav2twg== 143 dependencies: 144 - "@atproto/common-web" "*" 145 "@ipld/dag-cbor" "^7.0.3" 146 cbor-x "^1.5.1" 147 - multiformats "^9.6.4" 148 - pino "^8.6.1" 149 - 150 - "@atproto/crypto@*": 151 - version "0.2.0" 152 - resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.2.0.tgz#39f072c2002d818578806a955875ab24db9d8efe" 153 - integrity sha512-tIGEaj/j5bF5y0ceFWz1K8Ad15LzgEW/5oc8+fJ0f1wcXnl3KBbqEWb5YcPDpDRGvSoqWw5JgRYcrvSUcPT7AA== 154 - dependencies: 155 - "@noble/curves" "^1.1.0" 156 - "@noble/hashes" "^1.3.1" 157 - uint8arrays "3.0.0" 158 159 "@atproto/crypto@0.1.0": 160 version "0.1.0" ··· 167 one-webcrypto "^1.0.3" 168 uint8arrays "3.0.0" 169 170 - "@atproto/crypto@^0.2.2": 171 - version "0.2.2" 172 - resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.2.2.tgz#9832dda885512a36401d24f95990489f521593ef" 173 - integrity sha512-yepwM6pLPw/bT7Nl0nfDw251yVDpuhc0llOgD8YdCapUAH7pIn4dBcMgXiA9UzQaHA7OC9ByO5IdGPrMN/DmZw== 174 dependencies: 175 "@noble/curves" "^1.1.0" 176 "@noble/hashes" "^1.3.1" 177 uint8arrays "3.0.0" 178 179 - "@atproto/dev-env@^0.2.5": 180 - version "0.2.5" 181 - resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.2.5.tgz#60a25e0f7123eae4d3892ccb0ee0c9f740b4df97" 182 - integrity sha512-yiHKjgVxmzcM9P4Kg+2KRIHpQsjTlIKJaOLBZEpD0v9JMxmyW1kH/LUu+1Ak1EtMLKdK8aEQc9tu66ss0zsScw== 183 dependencies: 184 - "@atproto/api" "^0.6.14" 185 - "@atproto/bsky" "^0.0.5" 186 - "@atproto/common-web" "^0.2.0" 187 - "@atproto/crypto" "^0.2.2" 188 - "@atproto/identity" "^0.2.0" 189 - "@atproto/pds" "^0.1.14" 190 - "@atproto/syntax" "^0.1.1" 191 - "@atproto/xrpc-server" "^0.3.1" 192 "@did-plc/lib" "^0.0.1" 193 "@did-plc/server" "^0.0.1" 194 better-sqlite3 "^7.6.2" 195 chalk "^5.0.1" 196 - dotenv "^16.0.1" 197 express "^4.18.2" 198 get-port "^6.1.2" 199 - sharp "^0.31.2" 200 uint8arrays "3.0.0" 201 202 - "@atproto/identity@^0.2.0": 203 - version "0.2.0" 204 - resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.2.0.tgz#0ba1e2c0ae7a67dd3bdf89afdeaa0d148974b86c" 205 - integrity sha512-JdnGGFPglK3nC6DN4SWZGSczA2FvO1Taj+WZfSuzVCCb3T5n44L3slPpeRjtpRvgYkdkIJ23xH5PhEER0P9dZA== 206 dependencies: 207 - "@atproto/common-web" "*" 208 - "@atproto/crypto" "*" 209 axios "^0.27.2" 210 - zod "^3.21.4" 211 - 212 - "@atproto/lexicon@^0.2.1": 213 - version "0.2.1" 214 - resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.2.1.tgz#1aa6e618ce0977d972ac98f1bfb493a904b6d53a" 215 - integrity sha512-r03gJ9g/hhfI4zHqQgS8HrWceXMhpkVSPNJw1DufpwGpISdaqO6WltdxUkdUQXl6htJmZq3QidnyWPXR5dOtWg== 216 - dependencies: 217 - "@atproto/common-web" "^0.2.0" 218 - "@atproto/syntax" "^0.1.1" 219 - iso-datestring-validator "^2.2.2" 220 - multiformats "^9.9.0" 221 - zod "^3.21.4" 222 223 "@atproto/lexicon@^0.3.0": 224 version "0.3.0" ··· 231 multiformats "^9.9.0" 232 zod "^3.21.4" 233 234 - "@atproto/pds@^0.1.14": 235 - version "0.1.14" 236 - resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.1.14.tgz#7c5a49e412d599d2105bb7ecd019832ab952b19f" 237 - integrity sha512-XQ/BgToLmgc5l2cmSof7bHHgmbuAYX8q3hRpbI5h2DNDjUa3CrbZQMpxxcXUStpBo8JO3veWtX2/Grfzmo5sdA== 238 dependencies: 239 - "@atproto/api" "^0.6.14" 240 - "@atproto/common" "^0.3.0" 241 - "@atproto/crypto" "^0.2.2" 242 - "@atproto/identity" "^0.2.0" 243 - "@atproto/lexicon" "^0.2.1" 244 - "@atproto/repo" "^0.3.1" 245 - "@atproto/syntax" "^0.1.1" 246 - "@atproto/xrpc" "^0.3.1" 247 - "@atproto/xrpc-server" "^0.3.1" 248 "@did-plc/lib" "^0.0.1" 249 better-sqlite3 "^7.6.2" 250 bytes "^3.1.2" 251 compression "^1.7.4" 252 cors "^2.8.5" 253 - dotenv "^16.0.0" 254 express "^4.17.2" 255 express-async-errors "^3.1.1" 256 file-type "^16.5.4" ··· 259 http-errors "^2.0.0" 260 http-terminator "^3.2.0" 261 ioredis "^5.3.2" 262 - iso-datestring-validator "^2.2.2" 263 jsonwebtoken "^8.5.1" 264 kysely "^0.22.0" 265 multiformats "^9.9.0" ··· 269 pg "^8.10.0" 270 pino "^8.15.0" 271 pino-http "^8.2.1" 272 - sharp "^0.31.2" 273 typed-emitter "^2.1.0" 274 uint8arrays "3.0.0" 275 zod "^3.21.4" 276 277 - "@atproto/repo@^0.3.1": 278 - version "0.3.1" 279 - resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.3.1.tgz#9fa2e5672dd7ed8d375595dd7c0f59f885f5a738" 280 - integrity sha512-Rcx4wdVuriytc6QCuKJfRMrO1Shhx+d6AvQS+yc6g9fWd1wy9odoDeQ1iAAM2EmWFTlHfaWTvdtbfqVRdwKEMw== 281 dependencies: 282 - "@atproto/common" "^0.3.0" 283 - "@atproto/common-web" "^0.2.0" 284 - "@atproto/crypto" "^0.2.2" 285 - "@atproto/identity" "^0.2.0" 286 - "@atproto/lexicon" "^0.2.1" 287 - "@atproto/syntax" "^0.1.1" 288 "@ipld/car" "^3.2.3" 289 "@ipld/dag-cbor" "^7.0.0" 290 multiformats "^9.9.0" 291 uint8arrays "3.0.0" 292 zod "^3.21.4" 293 294 - "@atproto/syntax@^0.1.1": 295 - version "0.1.1" 296 - resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.1.1.tgz#2f458dea27418e4e59425c755a4b89b96974965b" 297 - integrity sha512-R3ZbDcA1Ax9yu81uReRcrsmCknqBjqTI+3zuNYS8gNEh0m0OUqJyR4+xSDwrSjE4NDOs1nT93HP+WrimENkihg== 298 - dependencies: 299 - "@atproto/common-web" "^0.2.0" 300 - 301 "@atproto/syntax@^0.1.4": 302 version "0.1.4" 303 resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.1.4.tgz#f5569bb4e87f61407d42c37766cf0c2a83ce0b26" ··· 305 dependencies: 306 "@atproto/common-web" "^0.2.3" 307 308 - "@atproto/xrpc-server@^0.3.1": 309 - version "0.3.1" 310 - resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.3.1.tgz#40eeae1dee79fcc835d7a0068ca90f9c91f0ba06" 311 - integrity sha512-MDggh2nWlfG65jgmzlrhNqTyvoaEfz3nbDcc0c2UZadVAmaJGi94e4DTjIv/xfq2XitG80UAFVUrQWORZoIPUw== 312 dependencies: 313 - "@atproto/common" "^0.3.0" 314 - "@atproto/crypto" "^0.2.2" 315 - "@atproto/lexicon" "^0.2.1" 316 cbor-x "^1.5.1" 317 express "^4.17.2" 318 http-errors "^2.0.0" ··· 322 ws "^8.12.0" 323 zod "^3.21.4" 324 325 - "@atproto/xrpc@^0.3.1": 326 - version "0.3.1" 327 - resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.3.1.tgz#a1d69450df2d53437db5a085f7adc27e128f9b33" 328 - integrity sha512-VVoRC/omtXFMIDUyrkFjYkwJ3vevvsGH0L1UW6mTsL40DK3iJpi0GcdJlcqdMkIFJ+QLeAluEKgEcL7bAR5LiQ== 329 - dependencies: 330 - "@atproto/lexicon" "^0.2.1" 331 - zod "^3.21.4" 332 - 333 "@atproto/xrpc@^0.4.0": 334 version "0.4.0" 335 resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.4.0.tgz#8911fabcc7d34e140ef03d90d41b763116fc813a" ··· 338 "@atproto/lexicon" "^0.3.0" 339 zod "^3.21.4" 340 341 "@babel/code-frame@7.10.4", "@babel/code-frame@~7.10.4": 342 version "7.10.4" 343 resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" ··· 4441 dependencies: 4442 "@sinonjs/commons" "^1.7.0" 4443 4444 "@stdlib/array-float32@^0.0.x": 4445 version "0.0.6" 4446 resolved "https://registry.yarnpkg.com/@stdlib/array-float32/-/array-float32-0.0.6.tgz#7a1c89db3c911183ec249fa32455abd9328cfa27" ··· 5608 dependencies: 5609 "@babel/types" "^7.20.7" 5610 5611 "@types/body-parser@*": 5612 version "1.19.2" 5613 resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" ··· 5637 integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== 5638 dependencies: 5639 "@types/node" "*" 5640 5641 "@types/eslint-scope@^3.7.3": 5642 version "3.7.4" ··· 6748 resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 6749 integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== 6750 6751 assert@^2.0.0: 6752 version "2.0.0" 6753 resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" ··· 6857 integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== 6858 dependencies: 6859 dequal "^2.0.3" 6860 6861 babel-core@^7.0.0-bridge.0: 6862 version "7.0.0-bridge.0" ··· 7133 resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" 7134 integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== 7135 7136 - base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: 7137 version "1.5.1" 7138 resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 7139 integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== ··· 7214 resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" 7215 integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== 7216 7217 body-parser@1.20.1: 7218 version "1.20.1" 7219 resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" ··· 7270 resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" 7271 integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== 7272 7273 bplist-creator@0.1.0: 7274 version "0.1.0" 7275 resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" ··· 7313 dependencies: 7314 fill-range "^7.0.1" 7315 7316 browser-process-hrtime@^1.0.0: 7317 version "1.0.0" 7318 resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" ··· 7367 version "2.0.0" 7368 resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" 7369 integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== 7370 7371 buffer@^5.4.3, buffer@^5.5.0: 7372 version "5.7.1" ··· 8649 resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 8650 integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== 8651 8652 - detect-libc@^2.0.0, detect-libc@^2.0.1: 8653 version "2.0.2" 8654 resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" 8655 integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== ··· 8744 dependencies: 8745 path-type "^4.0.0" 8746 8747 dlv@^1.1.3: 8748 version "1.1.3" 8749 resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" ··· 8895 resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" 8896 integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== 8897 8898 - dotenv@^16.0.0, dotenv@^16.0.1, dotenv@^16.3.1: 8899 version "16.3.1" 8900 resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" 8901 integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== ··· 8962 version "1.4.498" 8963 resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.498.tgz#cef35341123f62a35ba7084e439c911d25e0d81b" 8964 integrity sha512-4LODxAzKGVy7CJyhhN5mebwe7U2L29P+0G+HUriHnabm0d7LSff8Yn7t+Wq+2/9ze2Fu1dhX7mww090xfv7qXQ== 8965 8966 email-validator@^2.0.4: 8967 version "2.0.4" ··· 9643 resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" 9644 integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== 9645 9646 - events@^3.2.0, events@^3.3.0: 9647 version "3.3.0" 9648 resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 9649 integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== ··· 10070 resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" 10071 integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== 10072 10073 fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: 10074 version "3.3.1" 10075 resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" ··· 10129 version "2.2.0" 10130 resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.2.0.tgz#519a0f849bef714aad10e9753d69d8f758f7445a" 10131 integrity sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg== 10132 10133 fast-xml-parser@^4.0.12: 10134 version "4.2.7" ··· 10893 dependencies: 10894 function-bind "^1.1.1" 10895 10896 he@1.2.0, he@^1.2.0: 10897 version "1.2.0" 10898 resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" ··· 10924 dependencies: 10925 "@babel/runtime" "^7.7.6" 10926 10927 hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: 10928 version "3.3.2" 10929 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" ··· 11164 dependencies: 11165 harmony-reflect "^1.4.6" 11166 11167 - ieee754@^1.1.13, ieee754@^1.2.1: 11168 version "1.2.1" 11169 resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 11170 integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ··· 11238 once "^1.3.0" 11239 wrappy "1" 11240 11241 - inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: 11242 version "2.0.4" 11243 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 11244 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ··· 13048 jwa "^1.4.1" 13049 safe-buffer "^5.0.1" 13050 13051 kind-of@^6.0.2: 13052 version "6.0.3" 13053 resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" ··· 14017 dependencies: 14018 schema-utils "^4.0.0" 14019 14020 - minimalistic-assert@^1.0.0: 14021 version "1.0.1" 14022 resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 14023 integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 14024 14025 "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 14026 version "3.1.2" ··· 14282 resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" 14283 integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== 14284 14285 - node-addon-api@^5.0.0: 14286 - version "5.1.0" 14287 - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" 14288 - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== 14289 14290 node-dir@^0.1.17: 14291 version "0.1.17" ··· 16189 resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 16190 integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 16191 16192 queue@6.0.2: 16193 version "6.0.2" 16194 resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" ··· 16722 string_decoder "~1.1.1" 16723 util-deprecate "~1.0.1" 16724 16725 - readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: 16726 version "3.6.2" 16727 resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" 16728 integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== ··· 17237 resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" 17238 integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== 17239 17240 - "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": 17241 version "2.1.2" 17242 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 17243 integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== ··· 17519 resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" 17520 integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== 17521 17522 - sharp@^0.31.2: 17523 - version "0.31.3" 17524 - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.31.3.tgz#60227edc5c2be90e7378a210466c99aefcf32688" 17525 - integrity sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg== 17526 dependencies: 17527 color "^4.2.3" 17528 - detect-libc "^2.0.1" 17529 - node-addon-api "^5.0.0" 17530 prebuild-install "^7.1.1" 17531 - semver "^7.3.8" 17532 simple-get "^4.0.1" 17533 - tar-fs "^2.1.1" 17534 tunnel-agent "^0.6.0" 17535 17536 shebang-command@^1.2.0: ··· 17837 resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 17838 integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== 17839 17840 stream-buffers@2.2.x: 17841 version "2.2.0" 17842 resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" ··· 17853 integrity sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw== 17854 dependencies: 17855 stream-chain "^2.2.5" 17856 17857 strict-uri-encode@^2.0.0: 17858 version "2.0.0" ··· 18240 resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 18241 integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 18242 18243 - tar-fs@^2.0.0, tar-fs@^2.1.1: 18244 version "2.1.1" 18245 resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" 18246 integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== ··· 18250 pump "^3.0.0" 18251 tar-stream "^2.1.4" 18252 18253 tar-stream@^2.1.4: 18254 version "2.2.0" 18255 resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" ··· 18260 fs-constants "^1.0.0" 18261 inherits "^2.0.3" 18262 readable-stream "^3.1.1" 18263 18264 tar@^6.0.2, tar@^6.0.5: 18265 version "6.1.15" ··· 18585 minimist "^1.2.6" 18586 strip-bom "^3.0.0" 18587 18588 - tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: 18589 version "1.14.1" 18590 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 18591 integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 18592 18593 - tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.4.1, "tslib@^2.4.1 || ^1.9.3": 18594 version "2.6.2" 18595 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 18596 integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== ··· 19918 "@radix-ui/react-context-menu" "^2.0.1" 19919 "@radix-ui/react-dropdown-menu" "^2.0.1" 19920 sf-symbols-typescript "^1.0.0" 19921 19922 zod@^3.14.2, zod@^3.20.2, zod@^3.21.4: 19923 version "3.22.2"
··· 34 jsonpointer "^5.0.0" 35 leven "^3.1.0" 36 37 "@atproto/api@^0.6.23": 38 version "0.6.23" 39 resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.6.23.tgz#1c475ce505a7029733bdcb4a0f77e8000a735f67" ··· 48 typed-emitter "^2.1.0" 49 zod "^3.21.4" 50 51 + "@atproto/api@^0.6.24": 52 + version "0.6.24" 53 + resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.6.24.tgz#79753f82649baa2993677645d809708dd5796e0a" 54 + integrity sha512-y3gz0F5wYAtaZ5XYL8FqXW90sOnXHlh4Cir+hjrlSftSoNJcTVR+6dKT5m0ZTqqvFoFryTPKs6BEQy/VBCsNxg== 55 + dependencies: 56 + "@atproto/common-web" "^0.2.3" 57 + "@atproto/lexicon" "^0.3.1" 58 + "@atproto/syntax" "^0.1.5" 59 + "@atproto/xrpc" "^0.4.1" 60 + multiformats "^9.9.0" 61 + tlds "^1.234.0" 62 + typed-emitter "^2.1.0" 63 + zod "^3.21.4" 64 + 65 + "@atproto/aws@^0.1.6": 66 + version "0.1.6" 67 + resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.1.6.tgz#c6ecbfd92b325f3c5433688534d47f43358b415b" 68 + integrity sha512-ZWfETjv9ku/5gxs3SVVW1sbGsQMmdnwmjp3RCxXFhMgNkbNL2l7xb17nRQ1VibsFLBWpp0+MeFTZYlSEzAYfCw== 69 + dependencies: 70 + "@atproto/common" "^0.3.3" 71 + "@atproto/crypto" "^0.3.0" 72 + "@atproto/repo" "^0.3.6" 73 + "@aws-sdk/client-cloudfront" "^3.261.0" 74 + "@aws-sdk/client-kms" "^3.196.0" 75 + "@aws-sdk/client-s3" "^3.224.0" 76 + "@aws-sdk/lib-storage" "^3.226.0" 77 + "@noble/curves" "^1.1.0" 78 + key-encoder "^2.0.3" 79 + multiformats "^9.9.0" 80 + uint8arrays "3.0.0" 81 + 82 + "@atproto/bsky@^0.0.16": 83 + version "0.0.16" 84 + resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.16.tgz#d3a0f055746340879e3b68b4211fd6f26e10af52" 85 + integrity sha512-FYEwXfpaDMepFkV+sJRRUp4qRZ/co4he+w9/154g3TXE2guUtmKO+b1TFN4xdJK8b2U2FGksgs52M2AK9nlUNw== 86 dependencies: 87 + "@atproto/api" "^0.6.24" 88 + "@atproto/common" "^0.3.3" 89 + "@atproto/crypto" "^0.3.0" 90 + "@atproto/identity" "^0.3.2" 91 + "@atproto/lexicon" "^0.3.1" 92 + "@atproto/repo" "^0.3.6" 93 + "@atproto/syntax" "^0.1.5" 94 + "@atproto/xrpc-server" "^0.4.2" 95 "@did-plc/lib" "^0.0.1" 96 "@isaacs/ttlcache" "^1.4.1" 97 compression "^1.7.4" 98 cors "^2.8.5" 99 express "^4.17.2" 100 express-async-errors "^3.1.1" 101 form-data "^4.0.0" 102 http-errors "^2.0.0" 103 http-terminator "^3.2.0" 104 ioredis "^5.3.2" 105 kysely "^0.22.0" 106 multiformats "^9.9.0" 107 p-queue "^6.6.2" 108 pg "^8.10.0" 109 pino "^8.15.0" 110 pino-http "^8.2.1" 111 + sharp "^0.32.6" 112 typed-emitter "^2.1.0" 113 uint8arrays "3.0.0" 114 115 "@atproto/common-web@^0.2.3": 116 version "0.2.3" 117 resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.2.3.tgz#c44c1e177ae8309d5116347d49850209e8e478cc" ··· 142 pino "^8.6.1" 143 zod "^3.14.2" 144 145 + "@atproto/common@^0.3.3": 146 + version "0.3.3" 147 + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.3.3.tgz#bc0059929e528032a55aa32fd180c6e992959dd6" 148 + integrity sha512-ETYsHpQoytW3yJ1BoMDCZh3tdokV3HbZ2ThXq+EWbMxbGNsRDREgJK3JXJMHapf8PrnZZpE2VdWM9NHvlcmnQg== 149 dependencies: 150 + "@atproto/common-web" "^0.2.3" 151 "@ipld/dag-cbor" "^7.0.3" 152 cbor-x "^1.5.1" 153 + iso-datestring-validator "^2.2.2" 154 + multiformats "^9.9.0" 155 + pino "^8.15.0" 156 + zod "3.21.4" 157 158 "@atproto/crypto@0.1.0": 159 version "0.1.0" ··· 166 one-webcrypto "^1.0.3" 167 uint8arrays "3.0.0" 168 169 + "@atproto/crypto@^0.3.0": 170 + version "0.3.0" 171 + resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.3.0.tgz#a79e05a85129810755f3456e9d419b49824407d7" 172 + integrity sha512-bhcxRTL4fgRY2YX/St0x4o0oDUp18QIPD7ek+7v8UKA0HpsCGQYbo8w9d9hUvwwty5X5p00cYF2tbggUWaPy7A== 173 dependencies: 174 "@noble/curves" "^1.1.0" 175 "@noble/hashes" "^1.3.1" 176 uint8arrays "3.0.0" 177 178 + "@atproto/dev-env@^0.2.16": 179 + version "0.2.16" 180 + resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.2.16.tgz#f868b6471f05033df7424e74820b350d2d1eb820" 181 + integrity sha512-/qapGd5okbtGfspt40z1L3PwPFuKCVhtFuy99OpJPTpcKNuskZw5uIujHJ0srcRjcnGfIcM+i3H9xJdiz+sk4A== 182 dependencies: 183 + "@atproto/api" "^0.6.24" 184 + "@atproto/bsky" "^0.0.16" 185 + "@atproto/common-web" "^0.2.3" 186 + "@atproto/crypto" "^0.3.0" 187 + "@atproto/identity" "^0.3.2" 188 + "@atproto/lexicon" "^0.3.1" 189 + "@atproto/pds" "^0.3.4" 190 + "@atproto/syntax" "^0.1.5" 191 + "@atproto/xrpc-server" "^0.4.2" 192 "@did-plc/lib" "^0.0.1" 193 "@did-plc/server" "^0.0.1" 194 + axios "^0.27.2" 195 better-sqlite3 "^7.6.2" 196 chalk "^5.0.1" 197 + dotenv "^16.0.3" 198 express "^4.18.2" 199 get-port "^6.1.2" 200 + multiformats "^9.9.0" 201 + sharp "^0.32.6" 202 uint8arrays "3.0.0" 203 204 + "@atproto/identity@^0.3.2": 205 + version "0.3.2" 206 + resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.3.2.tgz#8a0536bc19ccbc45a04df84c3f30d86f58f964ee" 207 + integrity sha512-xZSyB3gHn/avwdAIV+mECvjjvMYXxPSvSgVBUsETMvMY72H9d84utDD58y5aAU/9mL+founaNZmniKDaR633CQ== 208 dependencies: 209 + "@atproto/common-web" "^0.2.3" 210 + "@atproto/crypto" "^0.3.0" 211 axios "^0.27.2" 212 213 "@atproto/lexicon@^0.3.0": 214 version "0.3.0" ··· 221 multiformats "^9.9.0" 222 zod "^3.21.4" 223 224 + "@atproto/lexicon@^0.3.1": 225 + version "0.3.1" 226 + resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.3.1.tgz#5d7275d041883a1c930404e3274a6fe7affc151f" 227 + integrity sha512-yLy6GUNP4pn0mGUIyUHvN0UeBza0S03AgjTXVR6KliC4ut2+7SjNMe4cI4G1M8/bJMaccC6ooQSm2kvwiOdr3A== 228 dependencies: 229 + "@atproto/common-web" "^0.2.3" 230 + "@atproto/syntax" "^0.1.5" 231 + iso-datestring-validator "^2.2.2" 232 + multiformats "^9.9.0" 233 + zod "^3.21.4" 234 + 235 + "@atproto/pds@^0.3.4": 236 + version "0.3.4" 237 + resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.3.4.tgz#23c4b00a8123cfcb7a051b256ff90b1679cc91b3" 238 + integrity sha512-+xD9RmuwcEZGGmoncG838TcDuNwcPZC1F1gZls5U4NVA4DDcZoGAIQR3uSTMJ2MbbR2B5Z7X/upc24nIV7FgLw== 239 + dependencies: 240 + "@atproto/api" "^0.6.24" 241 + "@atproto/aws" "^0.1.6" 242 + "@atproto/common" "^0.3.3" 243 + "@atproto/crypto" "^0.3.0" 244 + "@atproto/identity" "^0.3.2" 245 + "@atproto/lexicon" "^0.3.1" 246 + "@atproto/repo" "^0.3.6" 247 + "@atproto/syntax" "^0.1.5" 248 + "@atproto/xrpc" "^0.4.1" 249 + "@atproto/xrpc-server" "^0.4.2" 250 "@did-plc/lib" "^0.0.1" 251 better-sqlite3 "^7.6.2" 252 bytes "^3.1.2" 253 compression "^1.7.4" 254 cors "^2.8.5" 255 + disposable-email "^0.2.3" 256 express "^4.17.2" 257 express-async-errors "^3.1.1" 258 file-type "^16.5.4" ··· 261 http-errors "^2.0.0" 262 http-terminator "^3.2.0" 263 ioredis "^5.3.2" 264 jsonwebtoken "^8.5.1" 265 kysely "^0.22.0" 266 multiformats "^9.9.0" ··· 270 pg "^8.10.0" 271 pino "^8.15.0" 272 pino-http "^8.2.1" 273 + sharp "^0.32.6" 274 typed-emitter "^2.1.0" 275 uint8arrays "3.0.0" 276 zod "^3.21.4" 277 278 + "@atproto/repo@^0.3.6": 279 + version "0.3.6" 280 + resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.3.6.tgz#1732a5fdc71899be819b32b9c63c03815af4a6ce" 281 + integrity sha512-coCYHl/0V3ucyJ2Rgx/l0MK37ui3doph7AsDn8UFxrDeZrecOgkKu66/Zo3PtdmaAQfUPDWdx4cifKeX7IRD5Q== 282 dependencies: 283 + "@atproto/common" "^0.3.3" 284 + "@atproto/common-web" "^0.2.3" 285 + "@atproto/crypto" "^0.3.0" 286 + "@atproto/identity" "^0.3.2" 287 + "@atproto/lexicon" "^0.3.1" 288 + "@atproto/syntax" "^0.1.5" 289 "@ipld/car" "^3.2.3" 290 "@ipld/dag-cbor" "^7.0.0" 291 multiformats "^9.9.0" 292 uint8arrays "3.0.0" 293 zod "^3.21.4" 294 295 "@atproto/syntax@^0.1.4": 296 version "0.1.4" 297 resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.1.4.tgz#f5569bb4e87f61407d42c37766cf0c2a83ce0b26" ··· 299 dependencies: 300 "@atproto/common-web" "^0.2.3" 301 302 + "@atproto/syntax@^0.1.5": 303 + version "0.1.5" 304 + resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.1.5.tgz#85b6488a33da3b864e8ac22a61b5586b271206ee" 305 + integrity sha512-pbY5lOnThoAbsmrdbN9LC/dNmckfqODJiX9zjW2t3BIHYFeGBc6w9bK3Vre8A0Hg8yWkQpv6gaBLu+ykgi2DJQ== 306 + dependencies: 307 + "@atproto/common-web" "^0.2.3" 308 + 309 + "@atproto/xrpc-server@^0.4.2": 310 + version "0.4.2" 311 + resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.4.2.tgz#23efd89086b85933f1b0cc00c86e895adcaac315" 312 + integrity sha512-/m8rmFQFqFJ7WaVskPx27DLPeQfRCeEBMCdNxtyJZXElQZJMgcX5382SxAqsI3fVaW3EVwcQp0VuTNFOKFgHVg== 313 dependencies: 314 + "@atproto/common" "^0.3.3" 315 + "@atproto/crypto" "^0.3.0" 316 + "@atproto/lexicon" "^0.3.1" 317 cbor-x "^1.5.1" 318 express "^4.17.2" 319 http-errors "^2.0.0" ··· 323 ws "^8.12.0" 324 zod "^3.21.4" 325 326 "@atproto/xrpc@^0.4.0": 327 version "0.4.0" 328 resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.4.0.tgz#8911fabcc7d34e140ef03d90d41b763116fc813a" ··· 331 "@atproto/lexicon" "^0.3.0" 332 zod "^3.21.4" 333 334 + "@atproto/xrpc@^0.4.1": 335 + version "0.4.1" 336 + resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.4.1.tgz#2fb7e81a159b019339bbcdcf4e7ce8dc4e83bef0" 337 + integrity sha512-EMRGiu6oDvFL03Hk2rG/WCL3QK0GjZs9psH80JVf8z2nfdsGON6yn0hw3jvRB26CBXqi58U8Uicyq8Ej5pVTAA== 338 + dependencies: 339 + "@atproto/lexicon" "^0.3.1" 340 + zod "^3.21.4" 341 + 342 + "@aws-crypto/crc32@3.0.0": 343 + version "3.0.0" 344 + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa" 345 + integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== 346 + dependencies: 347 + "@aws-crypto/util" "^3.0.0" 348 + "@aws-sdk/types" "^3.222.0" 349 + tslib "^1.11.1" 350 + 351 + "@aws-crypto/crc32c@3.0.0": 352 + version "3.0.0" 353 + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz#016c92da559ef638a84a245eecb75c3e97cb664f" 354 + integrity sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== 355 + dependencies: 356 + "@aws-crypto/util" "^3.0.0" 357 + "@aws-sdk/types" "^3.222.0" 358 + tslib "^1.11.1" 359 + 360 + "@aws-crypto/ie11-detection@^3.0.0": 361 + version "3.0.0" 362 + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" 363 + integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== 364 + dependencies: 365 + tslib "^1.11.1" 366 + 367 + "@aws-crypto/sha1-browser@3.0.0": 368 + version "3.0.0" 369 + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz#f9083c00782b24714f528b1a1fef2174002266a3" 370 + integrity sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== 371 + dependencies: 372 + "@aws-crypto/ie11-detection" "^3.0.0" 373 + "@aws-crypto/supports-web-crypto" "^3.0.0" 374 + "@aws-crypto/util" "^3.0.0" 375 + "@aws-sdk/types" "^3.222.0" 376 + "@aws-sdk/util-locate-window" "^3.0.0" 377 + "@aws-sdk/util-utf8-browser" "^3.0.0" 378 + tslib "^1.11.1" 379 + 380 + "@aws-crypto/sha256-browser@3.0.0": 381 + version "3.0.0" 382 + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" 383 + integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== 384 + dependencies: 385 + "@aws-crypto/ie11-detection" "^3.0.0" 386 + "@aws-crypto/sha256-js" "^3.0.0" 387 + "@aws-crypto/supports-web-crypto" "^3.0.0" 388 + "@aws-crypto/util" "^3.0.0" 389 + "@aws-sdk/types" "^3.222.0" 390 + "@aws-sdk/util-locate-window" "^3.0.0" 391 + "@aws-sdk/util-utf8-browser" "^3.0.0" 392 + tslib "^1.11.1" 393 + 394 + "@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": 395 + version "3.0.0" 396 + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" 397 + integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== 398 + dependencies: 399 + "@aws-crypto/util" "^3.0.0" 400 + "@aws-sdk/types" "^3.222.0" 401 + tslib "^1.11.1" 402 + 403 + "@aws-crypto/supports-web-crypto@^3.0.0": 404 + version "3.0.0" 405 + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" 406 + integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== 407 + dependencies: 408 + tslib "^1.11.1" 409 + 410 + "@aws-crypto/util@^3.0.0": 411 + version "3.0.0" 412 + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" 413 + integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== 414 + dependencies: 415 + "@aws-sdk/types" "^3.222.0" 416 + "@aws-sdk/util-utf8-browser" "^3.0.0" 417 + tslib "^1.11.1" 418 + 419 + "@aws-sdk/client-cloudfront@^3.261.0": 420 + version "3.465.0" 421 + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.465.0.tgz#d3481a3a97afc5a5be7ee807c9a3080df8980f60" 422 + integrity sha512-DKnu3pv9KYjDmmTBW2ifrrXeA94I6UMLmxjsIUH/huhHqIeUG4M7gMQNerNxHvuoFbDYvBu88A4w/3TIZZhG4w== 423 + dependencies: 424 + "@aws-crypto/sha256-browser" "3.0.0" 425 + "@aws-crypto/sha256-js" "3.0.0" 426 + "@aws-sdk/client-sts" "3.465.0" 427 + "@aws-sdk/core" "3.465.0" 428 + "@aws-sdk/credential-provider-node" "3.465.0" 429 + "@aws-sdk/middleware-host-header" "3.465.0" 430 + "@aws-sdk/middleware-logger" "3.465.0" 431 + "@aws-sdk/middleware-recursion-detection" "3.465.0" 432 + "@aws-sdk/middleware-signing" "3.465.0" 433 + "@aws-sdk/middleware-user-agent" "3.465.0" 434 + "@aws-sdk/region-config-resolver" "3.465.0" 435 + "@aws-sdk/types" "3.465.0" 436 + "@aws-sdk/util-endpoints" "3.465.0" 437 + "@aws-sdk/util-user-agent-browser" "3.465.0" 438 + "@aws-sdk/util-user-agent-node" "3.465.0" 439 + "@aws-sdk/xml-builder" "3.465.0" 440 + "@smithy/config-resolver" "^2.0.18" 441 + "@smithy/fetch-http-handler" "^2.2.6" 442 + "@smithy/hash-node" "^2.0.15" 443 + "@smithy/invalid-dependency" "^2.0.13" 444 + "@smithy/middleware-content-length" "^2.0.15" 445 + "@smithy/middleware-endpoint" "^2.2.0" 446 + "@smithy/middleware-retry" "^2.0.20" 447 + "@smithy/middleware-serde" "^2.0.13" 448 + "@smithy/middleware-stack" "^2.0.7" 449 + "@smithy/node-config-provider" "^2.1.5" 450 + "@smithy/node-http-handler" "^2.1.9" 451 + "@smithy/protocol-http" "^3.0.9" 452 + "@smithy/smithy-client" "^2.1.15" 453 + "@smithy/types" "^2.5.0" 454 + "@smithy/url-parser" "^2.0.13" 455 + "@smithy/util-base64" "^2.0.1" 456 + "@smithy/util-body-length-browser" "^2.0.0" 457 + "@smithy/util-body-length-node" "^2.1.0" 458 + "@smithy/util-defaults-mode-browser" "^2.0.19" 459 + "@smithy/util-defaults-mode-node" "^2.0.25" 460 + "@smithy/util-endpoints" "^1.0.4" 461 + "@smithy/util-retry" "^2.0.6" 462 + "@smithy/util-stream" "^2.0.20" 463 + "@smithy/util-utf8" "^2.0.2" 464 + "@smithy/util-waiter" "^2.0.13" 465 + fast-xml-parser "4.2.5" 466 + tslib "^2.5.0" 467 + 468 + "@aws-sdk/client-kms@^3.196.0": 469 + version "3.465.0" 470 + resolved "https://registry.yarnpkg.com/@aws-sdk/client-kms/-/client-kms-3.465.0.tgz#7f34d928b557693bc6ffffc411ab98fad79e3075" 471 + integrity sha512-1WCzPUpV9jF4W3FyIV8Sf22DBehZr9EbuaD/RwwGr42RHEVtjjCxoIcPCS0KjqhzVbaQ8jUrcimsOxVDYadO+g== 472 + dependencies: 473 + "@aws-crypto/sha256-browser" "3.0.0" 474 + "@aws-crypto/sha256-js" "3.0.0" 475 + "@aws-sdk/client-sts" "3.465.0" 476 + "@aws-sdk/core" "3.465.0" 477 + "@aws-sdk/credential-provider-node" "3.465.0" 478 + "@aws-sdk/middleware-host-header" "3.465.0" 479 + "@aws-sdk/middleware-logger" "3.465.0" 480 + "@aws-sdk/middleware-recursion-detection" "3.465.0" 481 + "@aws-sdk/middleware-signing" "3.465.0" 482 + "@aws-sdk/middleware-user-agent" "3.465.0" 483 + "@aws-sdk/region-config-resolver" "3.465.0" 484 + "@aws-sdk/types" "3.465.0" 485 + "@aws-sdk/util-endpoints" "3.465.0" 486 + "@aws-sdk/util-user-agent-browser" "3.465.0" 487 + "@aws-sdk/util-user-agent-node" "3.465.0" 488 + "@smithy/config-resolver" "^2.0.18" 489 + "@smithy/fetch-http-handler" "^2.2.6" 490 + "@smithy/hash-node" "^2.0.15" 491 + "@smithy/invalid-dependency" "^2.0.13" 492 + "@smithy/middleware-content-length" "^2.0.15" 493 + "@smithy/middleware-endpoint" "^2.2.0" 494 + "@smithy/middleware-retry" "^2.0.20" 495 + "@smithy/middleware-serde" "^2.0.13" 496 + "@smithy/middleware-stack" "^2.0.7" 497 + "@smithy/node-config-provider" "^2.1.5" 498 + "@smithy/node-http-handler" "^2.1.9" 499 + "@smithy/protocol-http" "^3.0.9" 500 + "@smithy/smithy-client" "^2.1.15" 501 + "@smithy/types" "^2.5.0" 502 + "@smithy/url-parser" "^2.0.13" 503 + "@smithy/util-base64" "^2.0.1" 504 + "@smithy/util-body-length-browser" "^2.0.0" 505 + "@smithy/util-body-length-node" "^2.1.0" 506 + "@smithy/util-defaults-mode-browser" "^2.0.19" 507 + "@smithy/util-defaults-mode-node" "^2.0.25" 508 + "@smithy/util-endpoints" "^1.0.4" 509 + "@smithy/util-retry" "^2.0.6" 510 + "@smithy/util-utf8" "^2.0.2" 511 + tslib "^2.5.0" 512 + 513 + "@aws-sdk/client-s3@^3.224.0": 514 + version "3.465.0" 515 + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.465.0.tgz#7bad33ccfaa3d460247bbdb0e59c5ac7f4c3e2aa" 516 + integrity sha512-S2W8aUs/SR7wabyKRldl5FKtAq2gsXo3BpbKjBvuCILwNl84ooQrsOmKtcVsINRdi+q/mZvwGenqqp/98+yjdg== 517 + dependencies: 518 + "@aws-crypto/sha1-browser" "3.0.0" 519 + "@aws-crypto/sha256-browser" "3.0.0" 520 + "@aws-crypto/sha256-js" "3.0.0" 521 + "@aws-sdk/client-sts" "3.465.0" 522 + "@aws-sdk/core" "3.465.0" 523 + "@aws-sdk/credential-provider-node" "3.465.0" 524 + "@aws-sdk/middleware-bucket-endpoint" "3.465.0" 525 + "@aws-sdk/middleware-expect-continue" "3.465.0" 526 + "@aws-sdk/middleware-flexible-checksums" "3.465.0" 527 + "@aws-sdk/middleware-host-header" "3.465.0" 528 + "@aws-sdk/middleware-location-constraint" "3.465.0" 529 + "@aws-sdk/middleware-logger" "3.465.0" 530 + "@aws-sdk/middleware-recursion-detection" "3.465.0" 531 + "@aws-sdk/middleware-sdk-s3" "3.465.0" 532 + "@aws-sdk/middleware-signing" "3.465.0" 533 + "@aws-sdk/middleware-ssec" "3.465.0" 534 + "@aws-sdk/middleware-user-agent" "3.465.0" 535 + "@aws-sdk/region-config-resolver" "3.465.0" 536 + "@aws-sdk/signature-v4-multi-region" "3.465.0" 537 + "@aws-sdk/types" "3.465.0" 538 + "@aws-sdk/util-endpoints" "3.465.0" 539 + "@aws-sdk/util-user-agent-browser" "3.465.0" 540 + "@aws-sdk/util-user-agent-node" "3.465.0" 541 + "@aws-sdk/xml-builder" "3.465.0" 542 + "@smithy/config-resolver" "^2.0.18" 543 + "@smithy/eventstream-serde-browser" "^2.0.13" 544 + "@smithy/eventstream-serde-config-resolver" "^2.0.13" 545 + "@smithy/eventstream-serde-node" "^2.0.13" 546 + "@smithy/fetch-http-handler" "^2.2.6" 547 + "@smithy/hash-blob-browser" "^2.0.14" 548 + "@smithy/hash-node" "^2.0.15" 549 + "@smithy/hash-stream-node" "^2.0.15" 550 + "@smithy/invalid-dependency" "^2.0.13" 551 + "@smithy/md5-js" "^2.0.15" 552 + "@smithy/middleware-content-length" "^2.0.15" 553 + "@smithy/middleware-endpoint" "^2.2.0" 554 + "@smithy/middleware-retry" "^2.0.20" 555 + "@smithy/middleware-serde" "^2.0.13" 556 + "@smithy/middleware-stack" "^2.0.7" 557 + "@smithy/node-config-provider" "^2.1.5" 558 + "@smithy/node-http-handler" "^2.1.9" 559 + "@smithy/protocol-http" "^3.0.9" 560 + "@smithy/smithy-client" "^2.1.15" 561 + "@smithy/types" "^2.5.0" 562 + "@smithy/url-parser" "^2.0.13" 563 + "@smithy/util-base64" "^2.0.1" 564 + "@smithy/util-body-length-browser" "^2.0.0" 565 + "@smithy/util-body-length-node" "^2.1.0" 566 + "@smithy/util-defaults-mode-browser" "^2.0.19" 567 + "@smithy/util-defaults-mode-node" "^2.0.25" 568 + "@smithy/util-endpoints" "^1.0.4" 569 + "@smithy/util-retry" "^2.0.6" 570 + "@smithy/util-stream" "^2.0.20" 571 + "@smithy/util-utf8" "^2.0.2" 572 + "@smithy/util-waiter" "^2.0.13" 573 + fast-xml-parser "4.2.5" 574 + tslib "^2.5.0" 575 + 576 + "@aws-sdk/client-sso@3.465.0": 577 + version "3.465.0" 578 + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.465.0.tgz#a732c640767d8d82c3c73d798720d0a8d355184d" 579 + integrity sha512-JXDBa3Sl+LS0KEOs0PZoIjpNKEEGfeyFwdnRxi8Y1hMXNEKyJug1cI2Psqu2olpn4KeXwoP1BuITppZYdolOew== 580 + dependencies: 581 + "@aws-crypto/sha256-browser" "3.0.0" 582 + "@aws-crypto/sha256-js" "3.0.0" 583 + "@aws-sdk/core" "3.465.0" 584 + "@aws-sdk/middleware-host-header" "3.465.0" 585 + "@aws-sdk/middleware-logger" "3.465.0" 586 + "@aws-sdk/middleware-recursion-detection" "3.465.0" 587 + "@aws-sdk/middleware-user-agent" "3.465.0" 588 + "@aws-sdk/region-config-resolver" "3.465.0" 589 + "@aws-sdk/types" "3.465.0" 590 + "@aws-sdk/util-endpoints" "3.465.0" 591 + "@aws-sdk/util-user-agent-browser" "3.465.0" 592 + "@aws-sdk/util-user-agent-node" "3.465.0" 593 + "@smithy/config-resolver" "^2.0.18" 594 + "@smithy/fetch-http-handler" "^2.2.6" 595 + "@smithy/hash-node" "^2.0.15" 596 + "@smithy/invalid-dependency" "^2.0.13" 597 + "@smithy/middleware-content-length" "^2.0.15" 598 + "@smithy/middleware-endpoint" "^2.2.0" 599 + "@smithy/middleware-retry" "^2.0.20" 600 + "@smithy/middleware-serde" "^2.0.13" 601 + "@smithy/middleware-stack" "^2.0.7" 602 + "@smithy/node-config-provider" "^2.1.5" 603 + "@smithy/node-http-handler" "^2.1.9" 604 + "@smithy/protocol-http" "^3.0.9" 605 + "@smithy/smithy-client" "^2.1.15" 606 + "@smithy/types" "^2.5.0" 607 + "@smithy/url-parser" "^2.0.13" 608 + "@smithy/util-base64" "^2.0.1" 609 + "@smithy/util-body-length-browser" "^2.0.0" 610 + "@smithy/util-body-length-node" "^2.1.0" 611 + "@smithy/util-defaults-mode-browser" "^2.0.19" 612 + "@smithy/util-defaults-mode-node" "^2.0.25" 613 + "@smithy/util-endpoints" "^1.0.4" 614 + "@smithy/util-retry" "^2.0.6" 615 + "@smithy/util-utf8" "^2.0.2" 616 + tslib "^2.5.0" 617 + 618 + "@aws-sdk/client-sts@3.465.0": 619 + version "3.465.0" 620 + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.465.0.tgz#b356b90b0e31a82dc41995282245f74d023ea8b5" 621 + integrity sha512-rHi9ba6ssNbVjlWSdhi4C5newEhGhzkY9UE4KB+/Tj21zXfEP8r6uIltnQXPtun2SdA95Krh/yS1qQ4MRuzqyA== 622 + dependencies: 623 + "@aws-crypto/sha256-browser" "3.0.0" 624 + "@aws-crypto/sha256-js" "3.0.0" 625 + "@aws-sdk/core" "3.465.0" 626 + "@aws-sdk/credential-provider-node" "3.465.0" 627 + "@aws-sdk/middleware-host-header" "3.465.0" 628 + "@aws-sdk/middleware-logger" "3.465.0" 629 + "@aws-sdk/middleware-recursion-detection" "3.465.0" 630 + "@aws-sdk/middleware-sdk-sts" "3.465.0" 631 + "@aws-sdk/middleware-signing" "3.465.0" 632 + "@aws-sdk/middleware-user-agent" "3.465.0" 633 + "@aws-sdk/region-config-resolver" "3.465.0" 634 + "@aws-sdk/types" "3.465.0" 635 + "@aws-sdk/util-endpoints" "3.465.0" 636 + "@aws-sdk/util-user-agent-browser" "3.465.0" 637 + "@aws-sdk/util-user-agent-node" "3.465.0" 638 + "@smithy/config-resolver" "^2.0.18" 639 + "@smithy/fetch-http-handler" "^2.2.6" 640 + "@smithy/hash-node" "^2.0.15" 641 + "@smithy/invalid-dependency" "^2.0.13" 642 + "@smithy/middleware-content-length" "^2.0.15" 643 + "@smithy/middleware-endpoint" "^2.2.0" 644 + "@smithy/middleware-retry" "^2.0.20" 645 + "@smithy/middleware-serde" "^2.0.13" 646 + "@smithy/middleware-stack" "^2.0.7" 647 + "@smithy/node-config-provider" "^2.1.5" 648 + "@smithy/node-http-handler" "^2.1.9" 649 + "@smithy/protocol-http" "^3.0.9" 650 + "@smithy/smithy-client" "^2.1.15" 651 + "@smithy/types" "^2.5.0" 652 + "@smithy/url-parser" "^2.0.13" 653 + "@smithy/util-base64" "^2.0.1" 654 + "@smithy/util-body-length-browser" "^2.0.0" 655 + "@smithy/util-body-length-node" "^2.1.0" 656 + "@smithy/util-defaults-mode-browser" "^2.0.19" 657 + "@smithy/util-defaults-mode-node" "^2.0.25" 658 + "@smithy/util-endpoints" "^1.0.4" 659 + "@smithy/util-retry" "^2.0.6" 660 + "@smithy/util-utf8" "^2.0.2" 661 + fast-xml-parser "4.2.5" 662 + tslib "^2.5.0" 663 + 664 + "@aws-sdk/core@3.465.0": 665 + version "3.465.0" 666 + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.465.0.tgz#bfc9dd0fbd953f0839666e9b24c50c4543f49112" 667 + integrity sha512-fHSIw/Rgex3KbrEKn6ZrUc2VcsOTpdBMeyYtfmsTOLSyDDOG9k3jelOvVbCbrK5N6uEUSM8hrnySEKg94UB0cg== 668 + dependencies: 669 + "@smithy/smithy-client" "^2.1.15" 670 + tslib "^2.5.0" 671 + 672 + "@aws-sdk/credential-provider-env@3.465.0": 673 + version "3.465.0" 674 + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.465.0.tgz#9bb1c2086165872ad024786e5a48ccb31c5438da" 675 + integrity sha512-fku37AgkB9KhCuWHE6mfvbWYU0X84Df6MQ60nYH7s/PiNEhkX2cVI6X6kOKjP1MNIwRcYt+oQDvplVKdHume+A== 676 + dependencies: 677 + "@aws-sdk/types" "3.465.0" 678 + "@smithy/property-provider" "^2.0.0" 679 + "@smithy/types" "^2.5.0" 680 + tslib "^2.5.0" 681 + 682 + "@aws-sdk/credential-provider-ini@3.465.0": 683 + version "3.465.0" 684 + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.465.0.tgz#d3c3596cc5ff5ebe372bbd62d7aac044cbf3e2e3" 685 + integrity sha512-B1MFufvdToAEMtfszilVnKer2S7P/OfMhkCizq2zuu8aU/CquRyHvKEQgWdvqunUDrFnVTc0kUZgsbBY0uPjLg== 686 + dependencies: 687 + "@aws-sdk/credential-provider-env" "3.465.0" 688 + "@aws-sdk/credential-provider-process" "3.465.0" 689 + "@aws-sdk/credential-provider-sso" "3.465.0" 690 + "@aws-sdk/credential-provider-web-identity" "3.465.0" 691 + "@aws-sdk/types" "3.465.0" 692 + "@smithy/credential-provider-imds" "^2.0.0" 693 + "@smithy/property-provider" "^2.0.0" 694 + "@smithy/shared-ini-file-loader" "^2.0.6" 695 + "@smithy/types" "^2.5.0" 696 + tslib "^2.5.0" 697 + 698 + "@aws-sdk/credential-provider-node@3.465.0": 699 + version "3.465.0" 700 + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.465.0.tgz#b11cbc927aa17aacd0b7208cef5a88045c0bcf62" 701 + integrity sha512-R3VA9yJ0BvezvrDxcgPTv9VHbVPbzchLTrX5jLFSVuW/lPPYLUi/Cjtyg9C9Y7qRfoQS4fNMvSRhwO5/TF68gA== 702 + dependencies: 703 + "@aws-sdk/credential-provider-env" "3.465.0" 704 + "@aws-sdk/credential-provider-ini" "3.465.0" 705 + "@aws-sdk/credential-provider-process" "3.465.0" 706 + "@aws-sdk/credential-provider-sso" "3.465.0" 707 + "@aws-sdk/credential-provider-web-identity" "3.465.0" 708 + "@aws-sdk/types" "3.465.0" 709 + "@smithy/credential-provider-imds" "^2.0.0" 710 + "@smithy/property-provider" "^2.0.0" 711 + "@smithy/shared-ini-file-loader" "^2.0.6" 712 + "@smithy/types" "^2.5.0" 713 + tslib "^2.5.0" 714 + 715 + "@aws-sdk/credential-provider-process@3.465.0": 716 + version "3.465.0" 717 + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.465.0.tgz#78134b19f7a02e7fb78afda16d7cae5b93ff324e" 718 + integrity sha512-YE6ZrRYwvb8969hWQnr4uvOJ8RU0JrNsk3vWTe/czly37ioZUEhi8jmpQp4f2mX/6U6buoFGWu5Se3VCdw2SFQ== 719 + dependencies: 720 + "@aws-sdk/types" "3.465.0" 721 + "@smithy/property-provider" "^2.0.0" 722 + "@smithy/shared-ini-file-loader" "^2.0.6" 723 + "@smithy/types" "^2.5.0" 724 + tslib "^2.5.0" 725 + 726 + "@aws-sdk/credential-provider-sso@3.465.0": 727 + version "3.465.0" 728 + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.465.0.tgz#622d03eb5c8a0d7a48ba12e849351c841eb48ca6" 729 + integrity sha512-tLIP/4JQIJpn8yIg6RZRQ2nmvj5i4wLZvYvY4RtaFv2JrQUkmmTfyOZJuOBrIFRwJjx0fHmFu8DJjcOhMzllIQ== 730 + dependencies: 731 + "@aws-sdk/client-sso" "3.465.0" 732 + "@aws-sdk/token-providers" "3.465.0" 733 + "@aws-sdk/types" "3.465.0" 734 + "@smithy/property-provider" "^2.0.0" 735 + "@smithy/shared-ini-file-loader" "^2.0.6" 736 + "@smithy/types" "^2.5.0" 737 + tslib "^2.5.0" 738 + 739 + "@aws-sdk/credential-provider-web-identity@3.465.0": 740 + version "3.465.0" 741 + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.465.0.tgz#9db18766eeb0c58a99f7fb5d4bd95f0cf9008d4d" 742 + integrity sha512-B4Y75fMTZIniEU0yyqat+9NsQbYlXdqP5Y3bShkaG3pGLOHzF/xMlWuG+D3kkQ806PLYi+BgfVls4BcO+NyVcA== 743 + dependencies: 744 + "@aws-sdk/types" "3.465.0" 745 + "@smithy/property-provider" "^2.0.0" 746 + "@smithy/types" "^2.5.0" 747 + tslib "^2.5.0" 748 + 749 + "@aws-sdk/lib-storage@^3.226.0": 750 + version "3.465.0" 751 + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.465.0.tgz#ad9d1d3bcdd8dd5c234a38a805780adfe6e07860" 752 + integrity sha512-nsh8FgVw31N0GO6yiThg2I8yG0rRlpvnEm/MYQ8ETpmm2uq4inbup7eS8FxtfxhU6cGcJZu+YLeBwEdKrTSmvA== 753 + dependencies: 754 + "@smithy/abort-controller" "^2.0.1" 755 + "@smithy/middleware-endpoint" "^2.2.0" 756 + "@smithy/smithy-client" "^2.1.15" 757 + buffer "5.6.0" 758 + events "3.3.0" 759 + stream-browserify "3.0.0" 760 + tslib "^2.5.0" 761 + 762 + "@aws-sdk/middleware-bucket-endpoint@3.465.0": 763 + version "3.465.0" 764 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.465.0.tgz#215489d3cbdac037c3d5abaeabda173c3bc16b95" 765 + integrity sha512-cyIR9Nwyie6giLypuLSUmZF3O5GqVRwia3Nq1B/6/Ho0LccH0/HT2x/nM8fFcnskWSNGTVZVvZzSrVYXynTtjA== 766 + dependencies: 767 + "@aws-sdk/types" "3.465.0" 768 + "@aws-sdk/util-arn-parser" "3.465.0" 769 + "@smithy/node-config-provider" "^2.1.5" 770 + "@smithy/protocol-http" "^3.0.9" 771 + "@smithy/types" "^2.5.0" 772 + "@smithy/util-config-provider" "^2.0.0" 773 + tslib "^2.5.0" 774 + 775 + "@aws-sdk/middleware-expect-continue@3.465.0": 776 + version "3.465.0" 777 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.465.0.tgz#760aec6a19898972a4d97857ea2760bcd191c791" 778 + integrity sha512-kthlPQDASsdtdVqKVKkJn9bHptcEpsQ6ptWeGBCYigicULvWI1fjSTeXrYczxNMVg+1Sv8xkb/bh+kUEu7mvZg== 779 + dependencies: 780 + "@aws-sdk/types" "3.465.0" 781 + "@smithy/protocol-http" "^3.0.9" 782 + "@smithy/types" "^2.5.0" 783 + tslib "^2.5.0" 784 + 785 + "@aws-sdk/middleware-flexible-checksums@3.465.0": 786 + version "3.465.0" 787 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.465.0.tgz#7b629873182bc107159665f0af5b6515161c8891" 788 + integrity sha512-joWEWN0v1CpI4q9JlZki0AchVwLL8Les0+V+3JHVDcDgL4RQ04YUk9lMYbtldDwdyBNquKwW2+sGtIo/6ng0Tg== 789 + dependencies: 790 + "@aws-crypto/crc32" "3.0.0" 791 + "@aws-crypto/crc32c" "3.0.0" 792 + "@aws-sdk/types" "3.465.0" 793 + "@smithy/is-array-buffer" "^2.0.0" 794 + "@smithy/protocol-http" "^3.0.9" 795 + "@smithy/types" "^2.5.0" 796 + "@smithy/util-utf8" "^2.0.2" 797 + tslib "^2.5.0" 798 + 799 + "@aws-sdk/middleware-host-header@3.465.0": 800 + version "3.465.0" 801 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.465.0.tgz#4f353f6ea063e1ba1df968f9f0126a53d746217d" 802 + integrity sha512-nnGva8eplwEJqdVzcb+xF2Fwua0PpiwxMEvpnIy73gNbetbJdgFIprryMLYes00xzJEqnew+LWdpcd3YyS34ZA== 803 + dependencies: 804 + "@aws-sdk/types" "3.465.0" 805 + "@smithy/protocol-http" "^3.0.9" 806 + "@smithy/types" "^2.5.0" 807 + tslib "^2.5.0" 808 + 809 + "@aws-sdk/middleware-location-constraint@3.465.0": 810 + version "3.465.0" 811 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.465.0.tgz#ce2f09d3257bd288990e567f406e74bbe08a5663" 812 + integrity sha512-2+mwaI/ltE2ibr5poC+E9kJRfVIv7aHpAJkLu7uvESch9cpuFuGJu6fq0/gA82eKZ/gwpBj+AaXBsDFfsDWFsw== 813 + dependencies: 814 + "@aws-sdk/types" "3.465.0" 815 + "@smithy/types" "^2.5.0" 816 + tslib "^2.5.0" 817 + 818 + "@aws-sdk/middleware-logger@3.465.0": 819 + version "3.465.0" 820 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.465.0.tgz#7d66b375ee343f00e35c64ba79b37656828bf171" 821 + integrity sha512-aGMx1aSlzDDgjZ7fSxLhGD5rkyCfHwq04TSB5fQAgDBqUjj4IQXZwmNglX0sLRmArXZtDglUVESOfKvTANJTPg== 822 + dependencies: 823 + "@aws-sdk/types" "3.465.0" 824 + "@smithy/types" "^2.5.0" 825 + tslib "^2.5.0" 826 + 827 + "@aws-sdk/middleware-recursion-detection@3.465.0": 828 + version "3.465.0" 829 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.465.0.tgz#d0cb1fd9c63dbe997406253b5e0ce402103d910f" 830 + integrity sha512-ol3dlsTnryBhV5qkUvK5Yg3dRaV1NXIxYJaIkShrl8XAv4wRNcDJDmO5NYq5eVZ3zgV1nv6xIpZ//dDnnf6Z+g== 831 + dependencies: 832 + "@aws-sdk/types" "3.465.0" 833 + "@smithy/protocol-http" "^3.0.9" 834 + "@smithy/types" "^2.5.0" 835 + tslib "^2.5.0" 836 + 837 + "@aws-sdk/middleware-sdk-s3@3.465.0": 838 + version "3.465.0" 839 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.465.0.tgz#fd417ce7a958066afb5c293b49eacd2f807e853e" 840 + integrity sha512-P4cpNv0EcMSSLojjqKKQjKSGZc13QJQAscUs+fcvpBg2BNR9ByxrQgXXMqQiIqr8fgAhADqN2Tp8hJk0CzfnAg== 841 + dependencies: 842 + "@aws-sdk/types" "3.465.0" 843 + "@aws-sdk/util-arn-parser" "3.465.0" 844 + "@smithy/node-config-provider" "^2.1.5" 845 + "@smithy/protocol-http" "^3.0.9" 846 + "@smithy/signature-v4" "^2.0.0" 847 + "@smithy/smithy-client" "^2.1.15" 848 + "@smithy/types" "^2.5.0" 849 + "@smithy/util-config-provider" "^2.0.0" 850 + tslib "^2.5.0" 851 + 852 + "@aws-sdk/middleware-sdk-sts@3.465.0": 853 + version "3.465.0" 854 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.465.0.tgz#73ad1f0940f924be1141125ceffcf4204c54c9bf" 855 + integrity sha512-PmTM5ycUe1RLAPrQXLCR8JzKamJuKDB0aIW4rx4/skurzWsEGRI47WHggf9N7sPie41IBGUhRbXcf7sfPjvI3Q== 856 + dependencies: 857 + "@aws-sdk/middleware-signing" "3.465.0" 858 + "@aws-sdk/types" "3.465.0" 859 + "@smithy/types" "^2.5.0" 860 + tslib "^2.5.0" 861 + 862 + "@aws-sdk/middleware-signing@3.465.0": 863 + version "3.465.0" 864 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.465.0.tgz#2a040c39bfd6f2528ef9798944b4de2d33d2bdd1" 865 + integrity sha512-d90KONWXSC3jA0kqJ6u8ygS4LoMg1TmSM7bPhHyibJVAEhnrlB4Aq1CWljNbbtphGpdKy5/XRM9O0/XCXWKQ4w== 866 + dependencies: 867 + "@aws-sdk/types" "3.465.0" 868 + "@smithy/property-provider" "^2.0.0" 869 + "@smithy/protocol-http" "^3.0.9" 870 + "@smithy/signature-v4" "^2.0.0" 871 + "@smithy/types" "^2.5.0" 872 + "@smithy/util-middleware" "^2.0.6" 873 + tslib "^2.5.0" 874 + 875 + "@aws-sdk/middleware-ssec@3.465.0": 876 + version "3.465.0" 877 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.465.0.tgz#ca6aff262527f0089a003afa33e901b81908f486" 878 + integrity sha512-PHc1guBGp7fwoPlJkAEaHVkiYPfs93jffwsBvIevCsHcfYPv6L26/5Nk7KR+6IyuGQHpUbSC080SP1jYjOy01A== 879 + dependencies: 880 + "@aws-sdk/types" "3.465.0" 881 + "@smithy/types" "^2.5.0" 882 + tslib "^2.5.0" 883 + 884 + "@aws-sdk/middleware-user-agent@3.465.0": 885 + version "3.465.0" 886 + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.465.0.tgz#2820d55ff7d774a4afe60f85fe88d959171f9052" 887 + integrity sha512-1MvIWMj2nktLOJN8Kh4jiTK28oL85fTeoXHZ+V8xYMzont6C6Y8gQPtg7ka+RotHwqWMrovfnANisnX8EzEP/Q== 888 + dependencies: 889 + "@aws-sdk/types" "3.465.0" 890 + "@aws-sdk/util-endpoints" "3.465.0" 891 + "@smithy/protocol-http" "^3.0.9" 892 + "@smithy/types" "^2.5.0" 893 + tslib "^2.5.0" 894 + 895 + "@aws-sdk/region-config-resolver@3.465.0": 896 + version "3.465.0" 897 + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.465.0.tgz#87c3d2fe96e1e759d818f179f1e72204791145e6" 898 + integrity sha512-h0Phd2Ae873dsPSWuxqxz2yRC5NMeeWxQiJPh4j42HF8g7dZK7tMQPkYznAoA/BzSBsEX87sbr3MmigquSyUTA== 899 + dependencies: 900 + "@smithy/node-config-provider" "^2.1.5" 901 + "@smithy/types" "^2.5.0" 902 + "@smithy/util-config-provider" "^2.0.0" 903 + "@smithy/util-middleware" "^2.0.6" 904 + tslib "^2.5.0" 905 + 906 + "@aws-sdk/signature-v4-multi-region@3.465.0": 907 + version "3.465.0" 908 + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.465.0.tgz#c4c5b00d5998ea8e2a675cc592a0fb5eaa691147" 909 + integrity sha512-p620S4YCr2CPNIdSnRvBqScAqWztjef9EwtD1MAkxTTrjNAyxSCf4apeQ2pdaWNNkJT1vSc/YKBAJ7l2SWn7rw== 910 + dependencies: 911 + "@aws-sdk/middleware-sdk-s3" "3.465.0" 912 + "@aws-sdk/types" "3.465.0" 913 + "@smithy/protocol-http" "^3.0.9" 914 + "@smithy/signature-v4" "^2.0.0" 915 + "@smithy/types" "^2.5.0" 916 + tslib "^2.5.0" 917 + 918 + "@aws-sdk/token-providers@3.465.0": 919 + version "3.465.0" 920 + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.465.0.tgz#e063a30c73878462a5a1542a3eb28ac5e72c5921" 921 + integrity sha512-NaZbsyLs3whzRHGV27hrRwEdXB/tEK6tqn/aCNBy862LhVzocY1A+eYLKrnrvpraOOd2vyAuOtvvB3RMIdiL6g== 922 + dependencies: 923 + "@aws-crypto/sha256-browser" "3.0.0" 924 + "@aws-crypto/sha256-js" "3.0.0" 925 + "@aws-sdk/middleware-host-header" "3.465.0" 926 + "@aws-sdk/middleware-logger" "3.465.0" 927 + "@aws-sdk/middleware-recursion-detection" "3.465.0" 928 + "@aws-sdk/middleware-user-agent" "3.465.0" 929 + "@aws-sdk/region-config-resolver" "3.465.0" 930 + "@aws-sdk/types" "3.465.0" 931 + "@aws-sdk/util-endpoints" "3.465.0" 932 + "@aws-sdk/util-user-agent-browser" "3.465.0" 933 + "@aws-sdk/util-user-agent-node" "3.465.0" 934 + "@smithy/config-resolver" "^2.0.18" 935 + "@smithy/fetch-http-handler" "^2.2.6" 936 + "@smithy/hash-node" "^2.0.15" 937 + "@smithy/invalid-dependency" "^2.0.13" 938 + "@smithy/middleware-content-length" "^2.0.15" 939 + "@smithy/middleware-endpoint" "^2.2.0" 940 + "@smithy/middleware-retry" "^2.0.20" 941 + "@smithy/middleware-serde" "^2.0.13" 942 + "@smithy/middleware-stack" "^2.0.7" 943 + "@smithy/node-config-provider" "^2.1.5" 944 + "@smithy/node-http-handler" "^2.1.9" 945 + "@smithy/property-provider" "^2.0.0" 946 + "@smithy/protocol-http" "^3.0.9" 947 + "@smithy/shared-ini-file-loader" "^2.0.6" 948 + "@smithy/smithy-client" "^2.1.15" 949 + "@smithy/types" "^2.5.0" 950 + "@smithy/url-parser" "^2.0.13" 951 + "@smithy/util-base64" "^2.0.1" 952 + "@smithy/util-body-length-browser" "^2.0.0" 953 + "@smithy/util-body-length-node" "^2.1.0" 954 + "@smithy/util-defaults-mode-browser" "^2.0.19" 955 + "@smithy/util-defaults-mode-node" "^2.0.25" 956 + "@smithy/util-endpoints" "^1.0.4" 957 + "@smithy/util-retry" "^2.0.6" 958 + "@smithy/util-utf8" "^2.0.2" 959 + tslib "^2.5.0" 960 + 961 + "@aws-sdk/types@3.465.0", "@aws-sdk/types@^3.222.0": 962 + version "3.465.0" 963 + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.465.0.tgz#74977008020f3ed2e5fa0d61daef70d1cbfbfc37" 964 + integrity sha512-Clqu2eD50OOzwSftGpzJrIOGev/7VJhJpc02SeS4cqFgI9EVd+rnFKS/Ux0kcwjLQBMiPcCLtql3KAHApFHAIA== 965 + dependencies: 966 + "@smithy/types" "^2.5.0" 967 + tslib "^2.5.0" 968 + 969 + "@aws-sdk/util-arn-parser@3.465.0": 970 + version "3.465.0" 971 + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.465.0.tgz#2896f6b06f69770378586853c97a0f283cbb2e20" 972 + integrity sha512-zOJ82vzDJFqBX9yZBlNeHHrul/kpx/DCoxzW5UBbZeb26kfV53QhMSoEmY8/lEbBqlqargJ/sgRC845GFhHNQw== 973 + dependencies: 974 + tslib "^2.5.0" 975 + 976 + "@aws-sdk/util-endpoints@3.465.0": 977 + version "3.465.0" 978 + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.465.0.tgz#b3800364bd856bdfe94e0a1c72979d1bda27a0b8" 979 + integrity sha512-lDpBN1faVw8Udg5hIo+LJaNfllbBF86PCisv628vfcggO8/EArL/v2Eos0KeqVT8yaINXCRSagwfo5TNTuW0KQ== 980 + dependencies: 981 + "@aws-sdk/types" "3.465.0" 982 + "@smithy/util-endpoints" "^1.0.4" 983 + tslib "^2.5.0" 984 + 985 + "@aws-sdk/util-locate-window@^3.0.0": 986 + version "3.465.0" 987 + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz#0471428fb5eb749d4b72c427f5726f7b61fb90eb" 988 + integrity sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw== 989 + dependencies: 990 + tslib "^2.5.0" 991 + 992 + "@aws-sdk/util-user-agent-browser@3.465.0": 993 + version "3.465.0" 994 + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.465.0.tgz#2cb792c48770fe650cbb2b66ac21a8d65b0ca5ba" 995 + integrity sha512-RM+LjkIsmUCBJ4yQeBnkJWJTjPOPqcNaKv8bpZxatIHdvzGhXLnWLNi3qHlBsJB2mKtKRet6nAUmKmzZR1sDzA== 996 + dependencies: 997 + "@aws-sdk/types" "3.465.0" 998 + "@smithy/types" "^2.5.0" 999 + bowser "^2.11.0" 1000 + tslib "^2.5.0" 1001 + 1002 + "@aws-sdk/util-user-agent-node@3.465.0": 1003 + version "3.465.0" 1004 + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.465.0.tgz#5838e93a0f2102fb555131f40bd454707caba3f9" 1005 + integrity sha512-XsHbq7gLCiGdy6FQ7/5nGslK0ij3Iuh051djuIICvNurlds5cqKLiBe63gX3IUUwxJcrKh4xBGviQJ52KdVSeg== 1006 + dependencies: 1007 + "@aws-sdk/types" "3.465.0" 1008 + "@smithy/node-config-provider" "^2.1.5" 1009 + "@smithy/types" "^2.5.0" 1010 + tslib "^2.5.0" 1011 + 1012 + "@aws-sdk/util-utf8-browser@^3.0.0": 1013 + version "3.259.0" 1014 + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" 1015 + integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== 1016 + dependencies: 1017 + tslib "^2.3.1" 1018 + 1019 + "@aws-sdk/xml-builder@3.465.0": 1020 + version "3.465.0" 1021 + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.465.0.tgz#0914bc0b9708848f1fa509dd6e474e8c691a0cb2" 1022 + integrity sha512-9TKW5ZgsReygePTnAUdvaqxr/k1HXsEz2yDnk/jTLaUeRPsd5la8fFjb6OfgYYlbEVNlxTcKzaqOdrqxpUkmyQ== 1023 + dependencies: 1024 + tslib "^2.5.0" 1025 + 1026 "@babel/code-frame@7.10.4", "@babel/code-frame@~7.10.4": 1027 version "7.10.4" 1028 resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" ··· 5126 dependencies: 5127 "@sinonjs/commons" "^1.7.0" 5128 5129 + "@smithy/abort-controller@^2.0.1", "@smithy/abort-controller@^2.0.14": 5130 + version "2.0.14" 5131 + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.14.tgz#0608c34e35289e66ba839bbdda0c2ccd971e8d26" 5132 + integrity sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw== 5133 + dependencies: 5134 + "@smithy/types" "^2.6.0" 5135 + tslib "^2.5.0" 5136 + 5137 + "@smithy/chunked-blob-reader-native@^2.0.1": 5138 + version "2.0.1" 5139 + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.1.tgz#0599eaed8c2cd15c7ab43a1838cef1258ff27133" 5140 + integrity sha512-N2oCZRglhWKm7iMBu7S6wDzXirjAofi7tAd26cxmgibRYOBS4D3hGfmkwCpHdASZzwZDD8rluh0Rcqw1JeZDRw== 5141 + dependencies: 5142 + "@smithy/util-base64" "^2.0.1" 5143 + tslib "^2.5.0" 5144 + 5145 + "@smithy/chunked-blob-reader@^2.0.0": 5146 + version "2.0.0" 5147 + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz#c44fe2c780eaf77f9e5381d982ac99a880cce51b" 5148 + integrity sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg== 5149 + dependencies: 5150 + tslib "^2.5.0" 5151 + 5152 + "@smithy/config-resolver@^2.0.18", "@smithy/config-resolver@^2.0.19": 5153 + version "2.0.19" 5154 + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.19.tgz#d246fff11bdf8089e85de2e26172ba27a5ff7980" 5155 + integrity sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog== 5156 + dependencies: 5157 + "@smithy/node-config-provider" "^2.1.6" 5158 + "@smithy/types" "^2.6.0" 5159 + "@smithy/util-config-provider" "^2.0.0" 5160 + "@smithy/util-middleware" "^2.0.7" 5161 + tslib "^2.5.0" 5162 + 5163 + "@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.1.2": 5164 + version "2.1.2" 5165 + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz#b0225e2f514c5394558f702184feac94453ec9d1" 5166 + integrity sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw== 5167 + dependencies: 5168 + "@smithy/node-config-provider" "^2.1.6" 5169 + "@smithy/property-provider" "^2.0.15" 5170 + "@smithy/types" "^2.6.0" 5171 + "@smithy/url-parser" "^2.0.14" 5172 + tslib "^2.5.0" 5173 + 5174 + "@smithy/eventstream-codec@^2.0.14": 5175 + version "2.0.14" 5176 + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.14.tgz#e56434ae34be6682c7e9f12bb2f50e73b301914a" 5177 + integrity sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA== 5178 + dependencies: 5179 + "@aws-crypto/crc32" "3.0.0" 5180 + "@smithy/types" "^2.6.0" 5181 + "@smithy/util-hex-encoding" "^2.0.0" 5182 + tslib "^2.5.0" 5183 + 5184 + "@smithy/eventstream-serde-browser@^2.0.13": 5185 + version "2.0.14" 5186 + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.14.tgz#be04544b8d4efc29fa84c2b2d89bcd8a2280495b" 5187 + integrity sha512-41wmYE9smDGJi1ZXp+LogH6BR7MkSsQD91wneIFISF/mupKULvoOJUkv/Nf0NMRxWlM3Bf1Vvi9FlR2oV4KU8Q== 5188 + dependencies: 5189 + "@smithy/eventstream-serde-universal" "^2.0.14" 5190 + "@smithy/types" "^2.6.0" 5191 + tslib "^2.5.0" 5192 + 5193 + "@smithy/eventstream-serde-config-resolver@^2.0.13": 5194 + version "2.0.14" 5195 + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.14.tgz#ab2a2a96b6f5c04cc3c1bebd75375015016f4735" 5196 + integrity sha512-43IyRIzQ82s+5X+t/3Ood00CcWtAXQdmUIUKMed2Qg9REPk8SVIHhpm3rwewLwg+3G2Nh8NOxXlEQu6DsPUcMw== 5197 + dependencies: 5198 + "@smithy/types" "^2.6.0" 5199 + tslib "^2.5.0" 5200 + 5201 + "@smithy/eventstream-serde-node@^2.0.13": 5202 + version "2.0.14" 5203 + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.14.tgz#810780e40810b8d7d4545b9961c0b4626ab9906a" 5204 + integrity sha512-jVh9E2qAr6DxH5tWfCAl9HV6tI0pEQ3JVmu85JknDvYTC66djcjDdhctPV2EHuKWf2kjRiFJcMIn0eercW4THA== 5205 + dependencies: 5206 + "@smithy/eventstream-serde-universal" "^2.0.14" 5207 + "@smithy/types" "^2.6.0" 5208 + tslib "^2.5.0" 5209 + 5210 + "@smithy/eventstream-serde-universal@^2.0.14": 5211 + version "2.0.14" 5212 + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.14.tgz#45d7fc506bd98d5f746b45fe9bfc8e3f09aa147f" 5213 + integrity sha512-Ie35+AISNn1NmEjn5b2SchIE49pvKp4Q74bE9ME5RULWI1MgXyGkQUajWd5E6OBSr/sqGcs+rD3IjPErXnCm9g== 5214 + dependencies: 5215 + "@smithy/eventstream-codec" "^2.0.14" 5216 + "@smithy/types" "^2.6.0" 5217 + tslib "^2.5.0" 5218 + 5219 + "@smithy/fetch-http-handler@^2.2.6", "@smithy/fetch-http-handler@^2.2.7": 5220 + version "2.2.7" 5221 + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.7.tgz#7e06aa774ea86f6529365e439256f17979c18445" 5222 + integrity sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ== 5223 + dependencies: 5224 + "@smithy/protocol-http" "^3.0.10" 5225 + "@smithy/querystring-builder" "^2.0.14" 5226 + "@smithy/types" "^2.6.0" 5227 + "@smithy/util-base64" "^2.0.1" 5228 + tslib "^2.5.0" 5229 + 5230 + "@smithy/hash-blob-browser@^2.0.14": 5231 + version "2.0.15" 5232 + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.15.tgz#be745ea0e79333dbb2d2a26b4be04ce283636c98" 5233 + integrity sha512-HX/7GIyPUT/HDWVYe2HYQu0iRnSYpF4uZVNhAhZsObPRawk5Mv0PbyluBgIFI2DDCCKgL/tloCYYwycff1GtQg== 5234 + dependencies: 5235 + "@smithy/chunked-blob-reader" "^2.0.0" 5236 + "@smithy/chunked-blob-reader-native" "^2.0.1" 5237 + "@smithy/types" "^2.6.0" 5238 + tslib "^2.5.0" 5239 + 5240 + "@smithy/hash-node@^2.0.15": 5241 + version "2.0.16" 5242 + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.16.tgz#babd9e3fb13339507ffcc182834cf10c4df028b1" 5243 + integrity sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg== 5244 + dependencies: 5245 + "@smithy/types" "^2.6.0" 5246 + "@smithy/util-buffer-from" "^2.0.0" 5247 + "@smithy/util-utf8" "^2.0.2" 5248 + tslib "^2.5.0" 5249 + 5250 + "@smithy/hash-stream-node@^2.0.15": 5251 + version "2.0.16" 5252 + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.0.16.tgz#892d211ddc2609c3e5486a5d1b7e4d0423a7fbe9" 5253 + integrity sha512-4x24GFdeWos1Z49MC5sYdM1j+z32zcUr6oWM9Ggm3WudFAcRIcbG9uDQ1XgJ0Kl+ZTjpqLKniG0iuWvQb2Ud1A== 5254 + dependencies: 5255 + "@smithy/types" "^2.6.0" 5256 + "@smithy/util-utf8" "^2.0.2" 5257 + tslib "^2.5.0" 5258 + 5259 + "@smithy/invalid-dependency@^2.0.13": 5260 + version "2.0.14" 5261 + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz#fc898c8cf0c4ceb29bb23c6a90f7522193622e75" 5262 + integrity sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ== 5263 + dependencies: 5264 + "@smithy/types" "^2.6.0" 5265 + tslib "^2.5.0" 5266 + 5267 + "@smithy/is-array-buffer@^2.0.0": 5268 + version "2.0.0" 5269 + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz#8fa9b8040651e7ba0b2f6106e636a91354ff7d34" 5270 + integrity sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug== 5271 + dependencies: 5272 + tslib "^2.5.0" 5273 + 5274 + "@smithy/md5-js@^2.0.15": 5275 + version "2.0.16" 5276 + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.16.tgz#ef1af727ebeb0a24a195904c06a91b946f3ce32d" 5277 + integrity sha512-YhWt9aKl+EMSNXyUTUo7I01WHf3HcCkPu/Hl2QmTNwrHT49eWaY7hptAMaERZuHFH0V5xHgPKgKZo2I93DFtgQ== 5278 + dependencies: 5279 + "@smithy/types" "^2.6.0" 5280 + "@smithy/util-utf8" "^2.0.2" 5281 + tslib "^2.5.0" 5282 + 5283 + "@smithy/middleware-content-length@^2.0.15": 5284 + version "2.0.16" 5285 + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz#0d77cfe0d375bfbf1e59f30a38de0e3f14a1e73f" 5286 + integrity sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng== 5287 + dependencies: 5288 + "@smithy/protocol-http" "^3.0.10" 5289 + "@smithy/types" "^2.6.0" 5290 + tslib "^2.5.0" 5291 + 5292 + "@smithy/middleware-endpoint@^2.2.0": 5293 + version "2.2.1" 5294 + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz#7fc156aaeaa0e8bd838c57a8b37ece355a9eeaec" 5295 + integrity sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg== 5296 + dependencies: 5297 + "@smithy/middleware-serde" "^2.0.14" 5298 + "@smithy/node-config-provider" "^2.1.6" 5299 + "@smithy/shared-ini-file-loader" "^2.2.5" 5300 + "@smithy/types" "^2.6.0" 5301 + "@smithy/url-parser" "^2.0.14" 5302 + "@smithy/util-middleware" "^2.0.7" 5303 + tslib "^2.5.0" 5304 + 5305 + "@smithy/middleware-retry@^2.0.20": 5306 + version "2.0.21" 5307 + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz#7c18cbb7ca5c7fd1777e062b3cbebc57a60bddca" 5308 + integrity sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw== 5309 + dependencies: 5310 + "@smithy/node-config-provider" "^2.1.6" 5311 + "@smithy/protocol-http" "^3.0.10" 5312 + "@smithy/service-error-classification" "^2.0.7" 5313 + "@smithy/types" "^2.6.0" 5314 + "@smithy/util-middleware" "^2.0.7" 5315 + "@smithy/util-retry" "^2.0.7" 5316 + tslib "^2.5.0" 5317 + uuid "^8.3.2" 5318 + 5319 + "@smithy/middleware-serde@^2.0.13", "@smithy/middleware-serde@^2.0.14": 5320 + version "2.0.14" 5321 + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz#147e7413f934f213dbfe4815e691409cc9c0d793" 5322 + integrity sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g== 5323 + dependencies: 5324 + "@smithy/types" "^2.6.0" 5325 + tslib "^2.5.0" 5326 + 5327 + "@smithy/middleware-stack@^2.0.7", "@smithy/middleware-stack@^2.0.8": 5328 + version "2.0.8" 5329 + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.8.tgz#76827e2818654eb5a482ede36a59de6d6db7b896" 5330 + integrity sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q== 5331 + dependencies: 5332 + "@smithy/types" "^2.6.0" 5333 + tslib "^2.5.0" 5334 + 5335 + "@smithy/node-config-provider@^2.1.5", "@smithy/node-config-provider@^2.1.6": 5336 + version "2.1.6" 5337 + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz#835f62902676de71a358f66a0887a09154cf43c2" 5338 + integrity sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA== 5339 + dependencies: 5340 + "@smithy/property-provider" "^2.0.15" 5341 + "@smithy/shared-ini-file-loader" "^2.2.5" 5342 + "@smithy/types" "^2.6.0" 5343 + tslib "^2.5.0" 5344 + 5345 + "@smithy/node-http-handler@^2.1.10", "@smithy/node-http-handler@^2.1.9": 5346 + version "2.1.10" 5347 + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.1.10.tgz#8921a661dfb273a21dd1dff3ad1fe5196ea3c525" 5348 + integrity sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw== 5349 + dependencies: 5350 + "@smithy/abort-controller" "^2.0.14" 5351 + "@smithy/protocol-http" "^3.0.10" 5352 + "@smithy/querystring-builder" "^2.0.14" 5353 + "@smithy/types" "^2.6.0" 5354 + tslib "^2.5.0" 5355 + 5356 + "@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.15": 5357 + version "2.0.15" 5358 + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.15.tgz#7a5069f6bab4d59f640b2e73e99fa03e3fda3cc1" 5359 + integrity sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew== 5360 + dependencies: 5361 + "@smithy/types" "^2.6.0" 5362 + tslib "^2.5.0" 5363 + 5364 + "@smithy/protocol-http@^3.0.10", "@smithy/protocol-http@^3.0.9": 5365 + version "3.0.10" 5366 + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.10.tgz#235ffdcdc3022c4a76b1785dbc6f9f8427859e1f" 5367 + integrity sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg== 5368 + dependencies: 5369 + "@smithy/types" "^2.6.0" 5370 + tslib "^2.5.0" 5371 + 5372 + "@smithy/querystring-builder@^2.0.14": 5373 + version "2.0.14" 5374 + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.14.tgz#3ba4ba728ab10e040b46079afc983c3378032328" 5375 + integrity sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g== 5376 + dependencies: 5377 + "@smithy/types" "^2.6.0" 5378 + "@smithy/util-uri-escape" "^2.0.0" 5379 + tslib "^2.5.0" 5380 + 5381 + "@smithy/querystring-parser@^2.0.14": 5382 + version "2.0.14" 5383 + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz#0e3936d44c783540321fedd9d502aac22073a556" 5384 + integrity sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A== 5385 + dependencies: 5386 + "@smithy/types" "^2.6.0" 5387 + tslib "^2.5.0" 5388 + 5389 + "@smithy/service-error-classification@^2.0.7": 5390 + version "2.0.7" 5391 + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.7.tgz#9ef515fdc751a27a555f51121be5c37006a4c458" 5392 + integrity sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w== 5393 + dependencies: 5394 + "@smithy/types" "^2.6.0" 5395 + 5396 + "@smithy/shared-ini-file-loader@^2.0.6", "@smithy/shared-ini-file-loader@^2.2.5": 5397 + version "2.2.5" 5398 + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz#7fe24f5f8143e9082b61c3fab4d4d7c395dda807" 5399 + integrity sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w== 5400 + dependencies: 5401 + "@smithy/types" "^2.6.0" 5402 + tslib "^2.5.0" 5403 + 5404 + "@smithy/signature-v4@^2.0.0": 5405 + version "2.0.16" 5406 + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.0.16.tgz#51456baa6992120031692e1bf28178b766bf40ac" 5407 + integrity sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg== 5408 + dependencies: 5409 + "@smithy/eventstream-codec" "^2.0.14" 5410 + "@smithy/is-array-buffer" "^2.0.0" 5411 + "@smithy/types" "^2.6.0" 5412 + "@smithy/util-hex-encoding" "^2.0.0" 5413 + "@smithy/util-middleware" "^2.0.7" 5414 + "@smithy/util-uri-escape" "^2.0.0" 5415 + "@smithy/util-utf8" "^2.0.2" 5416 + tslib "^2.5.0" 5417 + 5418 + "@smithy/smithy-client@^2.1.15", "@smithy/smithy-client@^2.1.16": 5419 + version "2.1.16" 5420 + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.1.16.tgz#eae70fac673b06494c536fa5637c2df12887ce3a" 5421 + integrity sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ== 5422 + dependencies: 5423 + "@smithy/middleware-stack" "^2.0.8" 5424 + "@smithy/types" "^2.6.0" 5425 + "@smithy/util-stream" "^2.0.21" 5426 + tslib "^2.5.0" 5427 + 5428 + "@smithy/types@^2.5.0", "@smithy/types@^2.6.0": 5429 + version "2.6.0" 5430 + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.6.0.tgz#a09c40b512e2df213229a20a43d0d9cfcf55ca3e" 5431 + integrity sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g== 5432 + dependencies: 5433 + tslib "^2.5.0" 5434 + 5435 + "@smithy/url-parser@^2.0.13", "@smithy/url-parser@^2.0.14": 5436 + version "2.0.14" 5437 + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.14.tgz#6e09902482e9fef0882e6c9f1009ca57fcf3f7b4" 5438 + integrity sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw== 5439 + dependencies: 5440 + "@smithy/querystring-parser" "^2.0.14" 5441 + "@smithy/types" "^2.6.0" 5442 + tslib "^2.5.0" 5443 + 5444 + "@smithy/util-base64@^2.0.1": 5445 + version "2.0.1" 5446 + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.1.tgz#57f782dafc187eddea7c8a1ff2a7c188ed1a02c4" 5447 + integrity sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ== 5448 + dependencies: 5449 + "@smithy/util-buffer-from" "^2.0.0" 5450 + tslib "^2.5.0" 5451 + 5452 + "@smithy/util-body-length-browser@^2.0.0": 5453 + version "2.0.0" 5454 + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz#5447853003b4c73da3bc5f3c5e82c21d592d1650" 5455 + integrity sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg== 5456 + dependencies: 5457 + tslib "^2.5.0" 5458 + 5459 + "@smithy/util-body-length-node@^2.1.0": 5460 + version "2.1.0" 5461 + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz#313a5f7c5017947baf5fa018bfc22628904bbcfa" 5462 + integrity sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw== 5463 + dependencies: 5464 + tslib "^2.5.0" 5465 + 5466 + "@smithy/util-buffer-from@^2.0.0": 5467 + version "2.0.0" 5468 + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz#7eb75d72288b6b3001bc5f75b48b711513091deb" 5469 + integrity sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw== 5470 + dependencies: 5471 + "@smithy/is-array-buffer" "^2.0.0" 5472 + tslib "^2.5.0" 5473 + 5474 + "@smithy/util-config-provider@^2.0.0": 5475 + version "2.0.0" 5476 + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz#4dd6a793605559d94267312fd06d0f58784b4c38" 5477 + integrity sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg== 5478 + dependencies: 5479 + tslib "^2.5.0" 5480 + 5481 + "@smithy/util-defaults-mode-browser@^2.0.19": 5482 + version "2.0.20" 5483 + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz#efabf1c0dadd0d86340f796b761bf17b59dcf900" 5484 + integrity sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw== 5485 + dependencies: 5486 + "@smithy/property-provider" "^2.0.15" 5487 + "@smithy/smithy-client" "^2.1.16" 5488 + "@smithy/types" "^2.6.0" 5489 + bowser "^2.11.0" 5490 + tslib "^2.5.0" 5491 + 5492 + "@smithy/util-defaults-mode-node@^2.0.25": 5493 + version "2.0.26" 5494 + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz#a701b6b0cc3f2bb57964049ccb0f8d147a8654df" 5495 + integrity sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg== 5496 + dependencies: 5497 + "@smithy/config-resolver" "^2.0.19" 5498 + "@smithy/credential-provider-imds" "^2.1.2" 5499 + "@smithy/node-config-provider" "^2.1.6" 5500 + "@smithy/property-provider" "^2.0.15" 5501 + "@smithy/smithy-client" "^2.1.16" 5502 + "@smithy/types" "^2.6.0" 5503 + tslib "^2.5.0" 5504 + 5505 + "@smithy/util-endpoints@^1.0.4": 5506 + version "1.0.5" 5507 + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz#9e6ffdc9ac9d597869209e3b83784a13f277956e" 5508 + integrity sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw== 5509 + dependencies: 5510 + "@smithy/node-config-provider" "^2.1.6" 5511 + "@smithy/types" "^2.6.0" 5512 + tslib "^2.5.0" 5513 + 5514 + "@smithy/util-hex-encoding@^2.0.0": 5515 + version "2.0.0" 5516 + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" 5517 + integrity sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA== 5518 + dependencies: 5519 + tslib "^2.5.0" 5520 + 5521 + "@smithy/util-middleware@^2.0.6", "@smithy/util-middleware@^2.0.7": 5522 + version "2.0.7" 5523 + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.7.tgz#92dda5d2a79915e06a275b4df3d66d4381b60a5f" 5524 + integrity sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw== 5525 + dependencies: 5526 + "@smithy/types" "^2.6.0" 5527 + tslib "^2.5.0" 5528 + 5529 + "@smithy/util-retry@^2.0.6", "@smithy/util-retry@^2.0.7": 5530 + version "2.0.7" 5531 + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.7.tgz#14ad8ebe5d8428dd0216d58b883e7fd964ae1e95" 5532 + integrity sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q== 5533 + dependencies: 5534 + "@smithy/service-error-classification" "^2.0.7" 5535 + "@smithy/types" "^2.6.0" 5536 + tslib "^2.5.0" 5537 + 5538 + "@smithy/util-stream@^2.0.20", "@smithy/util-stream@^2.0.21": 5539 + version "2.0.21" 5540 + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.21.tgz#290935084e026afae6bacec7481abdae3498ee35" 5541 + integrity sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA== 5542 + dependencies: 5543 + "@smithy/fetch-http-handler" "^2.2.7" 5544 + "@smithy/node-http-handler" "^2.1.10" 5545 + "@smithy/types" "^2.6.0" 5546 + "@smithy/util-base64" "^2.0.1" 5547 + "@smithy/util-buffer-from" "^2.0.0" 5548 + "@smithy/util-hex-encoding" "^2.0.0" 5549 + "@smithy/util-utf8" "^2.0.2" 5550 + tslib "^2.5.0" 5551 + 5552 + "@smithy/util-uri-escape@^2.0.0": 5553 + version "2.0.0" 5554 + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz#19955b1a0f517a87ae77ac729e0e411963dfda95" 5555 + integrity sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw== 5556 + dependencies: 5557 + tslib "^2.5.0" 5558 + 5559 + "@smithy/util-utf8@^2.0.2": 5560 + version "2.0.2" 5561 + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.2.tgz#626b3e173ad137208e27ed329d6bea70f4a1a7f7" 5562 + integrity sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA== 5563 + dependencies: 5564 + "@smithy/util-buffer-from" "^2.0.0" 5565 + tslib "^2.5.0" 5566 + 5567 + "@smithy/util-waiter@^2.0.13": 5568 + version "2.0.14" 5569 + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.14.tgz#b2c8ce5728c1bb92236dfbfe3bf8f354a328c4f7" 5570 + integrity sha512-Q6gSz4GUNjNGhrfNg+2Mjy+7K4pEI3r82x1b/+3dSc03MQqobMiUrRVN/YK/4nHVagvBELCoXsiHAFQJNQ5BeA== 5571 + dependencies: 5572 + "@smithy/abort-controller" "^2.0.14" 5573 + "@smithy/types" "^2.6.0" 5574 + tslib "^2.5.0" 5575 + 5576 "@stdlib/array-float32@^0.0.x": 5577 version "0.0.6" 5578 resolved "https://registry.yarnpkg.com/@stdlib/array-float32/-/array-float32-0.0.6.tgz#7a1c89db3c911183ec249fa32455abd9328cfa27" ··· 6740 dependencies: 6741 "@babel/types" "^7.20.7" 6742 6743 + "@types/bn.js@*": 6744 + version "5.1.5" 6745 + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" 6746 + integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== 6747 + dependencies: 6748 + "@types/node" "*" 6749 + 6750 "@types/body-parser@*": 6751 version "1.19.2" 6752 resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" ··· 6776 integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== 6777 dependencies: 6778 "@types/node" "*" 6779 + 6780 + "@types/elliptic@^6.4.9": 6781 + version "6.4.18" 6782 + resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.18.tgz#bc96e26e1ccccbabe8b6f0e409c85898635482e1" 6783 + integrity sha512-UseG6H5vjRiNpQvrhy4VF/JXdA3V/Fp5amvveaL+fs28BZ6xIKJBPnUPRlEaZpysD9MbpfaLi8lbl7PGUAkpWw== 6784 + dependencies: 6785 + "@types/bn.js" "*" 6786 6787 "@types/eslint-scope@^3.7.3": 6788 version "3.7.4" ··· 7894 resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 7895 integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== 7896 7897 + asn1.js@^5.0.1: 7898 + version "5.4.1" 7899 + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" 7900 + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== 7901 + dependencies: 7902 + bn.js "^4.0.0" 7903 + inherits "^2.0.1" 7904 + minimalistic-assert "^1.0.0" 7905 + safer-buffer "^2.1.0" 7906 + 7907 assert@^2.0.0: 7908 version "2.0.0" 7909 resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" ··· 8013 integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== 8014 dependencies: 8015 dequal "^2.0.3" 8016 + 8017 + b4a@^1.6.4: 8018 + version "1.6.4" 8019 + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" 8020 + integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== 8021 8022 babel-core@^7.0.0-bridge.0: 8023 version "7.0.0-bridge.0" ··· 8294 resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" 8295 integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== 8296 8297 + base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: 8298 version "1.5.1" 8299 resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 8300 integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== ··· 8375 resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" 8376 integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== 8377 8378 + bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.11.9: 8379 + version "4.12.0" 8380 + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 8381 + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 8382 + 8383 body-parser@1.20.1: 8384 version "1.20.1" 8385 resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" ··· 8436 resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" 8437 integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== 8438 8439 + bowser@^2.11.0: 8440 + version "2.11.0" 8441 + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 8442 + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 8443 + 8444 bplist-creator@0.1.0: 8445 version "0.1.0" 8446 resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" ··· 8484 dependencies: 8485 fill-range "^7.0.1" 8486 8487 + brorand@^1.1.0: 8488 + version "1.1.0" 8489 + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 8490 + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== 8491 + 8492 browser-process-hrtime@^1.0.0: 8493 version "1.0.0" 8494 resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" ··· 8543 version "2.0.0" 8544 resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" 8545 integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== 8546 + 8547 + buffer@5.6.0: 8548 + version "5.6.0" 8549 + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" 8550 + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== 8551 + dependencies: 8552 + base64-js "^1.0.2" 8553 + ieee754 "^1.1.4" 8554 8555 buffer@^5.4.3, buffer@^5.5.0: 8556 version "5.7.1" ··· 9833 resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 9834 integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== 9835 9836 + detect-libc@^2.0.0, detect-libc@^2.0.2: 9837 version "2.0.2" 9838 resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" 9839 integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== ··· 9928 dependencies: 9929 path-type "^4.0.0" 9930 9931 + disposable-email@^0.2.3: 9932 + version "0.2.3" 9933 + resolved "https://registry.yarnpkg.com/disposable-email/-/disposable-email-0.2.3.tgz#a21a49717f6034a8ff777dc8eae3b4d994a7b988" 9934 + integrity sha512-gkBQQ5Res431ZXqLlAafrXHizG7/1FWmi8U2RTtriD78Vc10HhBUvdJun3R4eSF0KRIQQJs+wHlxjkED/Hr1EQ== 9935 + 9936 dlv@^1.1.3: 9937 version "1.1.3" 9938 resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" ··· 10084 resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" 10085 integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== 10086 10087 + dotenv@^16.0.3, dotenv@^16.3.1: 10088 version "16.3.1" 10089 resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" 10090 integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== ··· 10151 version "1.4.498" 10152 resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.498.tgz#cef35341123f62a35ba7084e439c911d25e0d81b" 10153 integrity sha512-4LODxAzKGVy7CJyhhN5mebwe7U2L29P+0G+HUriHnabm0d7LSff8Yn7t+Wq+2/9ze2Fu1dhX7mww090xfv7qXQ== 10154 + 10155 + elliptic@^6.4.1: 10156 + version "6.5.4" 10157 + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 10158 + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 10159 + dependencies: 10160 + bn.js "^4.11.9" 10161 + brorand "^1.1.0" 10162 + hash.js "^1.0.0" 10163 + hmac-drbg "^1.0.1" 10164 + inherits "^2.0.4" 10165 + minimalistic-assert "^1.0.1" 10166 + minimalistic-crypto-utils "^1.0.1" 10167 10168 email-validator@^2.0.4: 10169 version "2.0.4" ··· 10845 resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" 10846 integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== 10847 10848 + events@3.3.0, events@^3.2.0, events@^3.3.0: 10849 version "3.3.0" 10850 resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 10851 integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== ··· 11272 resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" 11273 integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== 11274 11275 + fast-fifo@^1.1.0, fast-fifo@^1.2.0: 11276 + version "1.3.2" 11277 + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" 11278 + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== 11279 + 11280 fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: 11281 version "3.3.1" 11282 resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" ··· 11336 version "2.2.0" 11337 resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.2.0.tgz#519a0f849bef714aad10e9753d69d8f758f7445a" 11338 integrity sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg== 11339 + 11340 + fast-xml-parser@4.2.5: 11341 + version "4.2.5" 11342 + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" 11343 + integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== 11344 + dependencies: 11345 + strnum "^1.0.5" 11346 11347 fast-xml-parser@^4.0.12: 11348 version "4.2.7" ··· 12107 dependencies: 12108 function-bind "^1.1.1" 12109 12110 + hash.js@^1.0.0, hash.js@^1.0.3: 12111 + version "1.1.7" 12112 + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 12113 + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 12114 + dependencies: 12115 + inherits "^2.0.3" 12116 + minimalistic-assert "^1.0.1" 12117 + 12118 he@1.2.0, he@^1.2.0: 12119 version "1.2.0" 12120 resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" ··· 12146 dependencies: 12147 "@babel/runtime" "^7.7.6" 12148 12149 + hmac-drbg@^1.0.1: 12150 + version "1.0.1" 12151 + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 12152 + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== 12153 + dependencies: 12154 + hash.js "^1.0.3" 12155 + minimalistic-assert "^1.0.0" 12156 + minimalistic-crypto-utils "^1.0.1" 12157 + 12158 hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: 12159 version "3.3.2" 12160 resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" ··· 12395 dependencies: 12396 harmony-reflect "^1.4.6" 12397 12398 + ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: 12399 version "1.2.1" 12400 resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 12401 integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ··· 12469 once "^1.3.0" 12470 wrappy "1" 12471 12472 + 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: 12473 version "2.0.4" 12474 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 12475 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ··· 14279 jwa "^1.4.1" 14280 safe-buffer "^5.0.1" 14281 14282 + key-encoder@^2.0.3: 14283 + version "2.0.3" 14284 + resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-2.0.3.tgz#77073bb48ff1fe2173bb2088b83b91152c8fa4ba" 14285 + integrity sha512-fgBtpAGIr/Fy5/+ZLQZIPPhsZEcbSlYu/Wu96tNDFNSjSACw5lEIOFeaVdQ/iwrb8oxjlWi6wmWdH76hV6GZjg== 14286 + dependencies: 14287 + "@types/elliptic" "^6.4.9" 14288 + asn1.js "^5.0.1" 14289 + bn.js "^4.11.8" 14290 + elliptic "^6.4.1" 14291 + 14292 kind-of@^6.0.2: 14293 version "6.0.3" 14294 resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" ··· 15258 dependencies: 15259 schema-utils "^4.0.0" 15260 15261 + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 15262 version "1.0.1" 15263 resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 15264 integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 15265 + 15266 + minimalistic-crypto-utils@^1.0.1: 15267 + version "1.0.1" 15268 + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 15269 + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== 15270 15271 "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 15272 version "3.1.2" ··· 15528 resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" 15529 integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== 15530 15531 + node-addon-api@^6.1.0: 15532 + version "6.1.0" 15533 + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" 15534 + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== 15535 15536 node-dir@^0.1.17: 15537 version "0.1.17" ··· 17435 resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 17436 integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 17437 17438 + queue-tick@^1.0.1: 17439 + version "1.0.1" 17440 + resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" 17441 + integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== 17442 + 17443 queue@6.0.2: 17444 version "6.0.2" 17445 resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" ··· 17973 string_decoder "~1.1.1" 17974 util-deprecate "~1.0.1" 17975 17976 + 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: 17977 version "3.6.2" 17978 resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" 17979 integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== ··· 18488 resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" 18489 integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== 18490 18491 + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: 18492 version "2.1.2" 18493 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 18494 integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== ··· 18770 resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" 18771 integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== 18772 18773 + sharp@^0.32.6: 18774 + version "0.32.6" 18775 + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a" 18776 + integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== 18777 dependencies: 18778 color "^4.2.3" 18779 + detect-libc "^2.0.2" 18780 + node-addon-api "^6.1.0" 18781 prebuild-install "^7.1.1" 18782 + semver "^7.5.4" 18783 simple-get "^4.0.1" 18784 + tar-fs "^3.0.4" 18785 tunnel-agent "^0.6.0" 18786 18787 shebang-command@^1.2.0: ··· 19088 resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 19089 integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== 19090 19091 + stream-browserify@3.0.0: 19092 + version "3.0.0" 19093 + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" 19094 + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== 19095 + dependencies: 19096 + inherits "~2.0.4" 19097 + readable-stream "^3.5.0" 19098 + 19099 stream-buffers@2.2.x: 19100 version "2.2.0" 19101 resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" ··· 19112 integrity sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw== 19113 dependencies: 19114 stream-chain "^2.2.5" 19115 + 19116 + streamx@^2.15.0: 19117 + version "2.15.5" 19118 + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.5.tgz#87bcef4dc7f0b883f9359671203344a4e004c7f1" 19119 + integrity sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg== 19120 + dependencies: 19121 + fast-fifo "^1.1.0" 19122 + queue-tick "^1.0.1" 19123 19124 strict-uri-encode@^2.0.0: 19125 version "2.0.0" ··· 19507 resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 19508 integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 19509 19510 + tar-fs@^2.0.0: 19511 version "2.1.1" 19512 resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" 19513 integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== ··· 19517 pump "^3.0.0" 19518 tar-stream "^2.1.4" 19519 19520 + tar-fs@^3.0.4: 19521 + version "3.0.4" 19522 + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.0.4.tgz#a21dc60a2d5d9f55e0089ccd78124f1d3771dbbf" 19523 + integrity sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w== 19524 + dependencies: 19525 + mkdirp-classic "^0.5.2" 19526 + pump "^3.0.0" 19527 + tar-stream "^3.1.5" 19528 + 19529 tar-stream@^2.1.4: 19530 version "2.2.0" 19531 resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" ··· 19536 fs-constants "^1.0.0" 19537 inherits "^2.0.3" 19538 readable-stream "^3.1.1" 19539 + 19540 + tar-stream@^3.1.5: 19541 + version "3.1.6" 19542 + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" 19543 + integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== 19544 + dependencies: 19545 + b4a "^1.6.4" 19546 + fast-fifo "^1.2.0" 19547 + streamx "^2.15.0" 19548 19549 tar@^6.0.2, tar@^6.0.5: 19550 version "6.1.15" ··· 19870 minimist "^1.2.6" 19871 strip-bom "^3.0.0" 19872 19873 + tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: 19874 version "1.14.1" 19875 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 19876 integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 19877 19878 + tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, "tslib@^2.4.1 || ^1.9.3", tslib@^2.5.0: 19879 version "2.6.2" 19880 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 19881 integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== ··· 21203 "@radix-ui/react-context-menu" "^2.0.1" 21204 "@radix-ui/react-dropdown-menu" "^2.0.1" 21205 sf-symbols-typescript "^1.0.0" 21206 + 21207 + zod@3.21.4: 21208 + version "3.21.4" 21209 + resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" 21210 + integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== 21211 21212 zod@^3.14.2, zod@^3.20.2, zod@^3.21.4: 21213 version "3.22.2"